Author Topic: Simulated Exploration  (Read 19828 times)

0 Members and 2 Guests are viewing this topic.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: Simulated Exploration
« Reply #15 on: April 25, 2016, 03:05:12 PM »
Wait. I already have a universal countermeasure, all potions can have a cooldown. In fact those for restoring vitality already have it, because it was too easy to use them instead of rest. Even if it's one day, you already cannot spam potions all the time.


This is an exellent idea, we might even have a function that checks if an item can be used. This is a bit troublesome for auto-equip method we're using but since I don't recall it ever causing infinite recursions and we had this mechanic for a very long time, we prolly anticipate something like this already.
Like what we're doing?

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: Simulated Exploration
« Reply #16 on: April 25, 2016, 03:19:31 PM »
Hmm... Gismo's design assumes Area (with bg) + logical levels (without bg) while our own design assumed Main Area (with bg) + Sub Areas (with bg). Which one are we rolling with?

==>>
Finished going over old FG code, there are some thing we can use but not much :(

I am going to do the interface first because I need to be able to visualize data structures and reports for a system this complex. Still don't have proper time for coding but I seem to have established a routine that works for me, allowing coding bit by bit.

Once the interface is up and running, I'll start with super simple skeleton code stuff and build up from there.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: Simulated Exploration
« Reply #17 on: April 25, 2016, 03:24:02 PM »
Nah, we can live without separated pics for sub areas.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: Simulated Exploration
« Reply #18 on: April 25, 2016, 03:27:57 PM »
Nah, we can live without separated pics for sub areas.

I loved CWs setup... ok, maybe I'll find a good way to make that optional, if not, we'll just stick with levels.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: Simulated Exploration
« Reply #19 on: April 25, 2016, 03:32:30 PM »
It means more searching for images, while sub locations are not that different from each other.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: Simulated Exploration
« Reply #20 on: April 26, 2016, 12:13:27 AM »
It means more searching for images, while sub locations are not that different from each other.

Yeap, I was thinking that we might revive our super simple walkabout at some point in the future so I liked the moar images idea, but we'll prolly go with something else in the end anyway (when did we ever chose the "simpler" path? :D).
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: Simulated Exploration
« Reply #21 on: February 17, 2017, 05:36:11 AM »
Code: [Select]
{"id": "Burial Grounds - lv 2",
"area": "Northern Route",
"desc": "Inner area of the overgown burial site, where barely any sunlight reach through the trees and where the dark presense feel the strongest.",
"unlocked": false,
"travel_time": 1,
"mobs": {"Dark Mage": [5, [1, 0.2, 2],[1, 1, 1]], "Phantasm": [10, [1, 0.2, 2],[1, 2, 2]], "Skeleton Warrior": [50, [1, 0.3, 4],[2, 3, 3]], "Skeleton": [20, [1, 0.2, 3], [3, 3, 3]]},
"hazard": {"health": 0, "mp": 5, "vitality": 0},
"unlocks": {},
"cash_limit": 120,
"items_limit": 0,
"items": {"Woodcutting Axe": 0.05,"Short Bow": 0.05,"Leather Cape": 0.05,"Dagger": 0.05, "Huntsman Hat": 0.02,"Scarf": 0.02, "Short Sword": 0.22,"Leather Armor": 0.22,"Silver Necklace": 0.2,"Leather Boots": 0.22,"Leather Gloves": 0.22,"Linen Cape": 0.22,"Tanned Leather Boots": 0.26,"Tanned Leather Gloves": 0.26,"Obsidian Choker": 0.22,"Rogue Cape": 0.08,"Running Boots": 0.06,"Bullwhip": 0.1,"Ornate Gladius": 0.1,"Claws": 0.2,"Spiked Collar": 0.22,"Long Sword": 0.24,"Minor Reflector": 0.07,"Slave Shackles": 0.08, "Bone Knife": 0.2,"Darksome Trophy": 0.2},
"img": "content/gfx/bg/locations/fg_areas_burial_2.jpg"
},

Code: [Select]
    {
        "id": "Northern Route",
        "main": true,
        "unlocked": true,
        "img": "content/gfx/bg/locations/fg_areas_northern.jpg"
    }
Alright, about json structure for SE...

1) Mobs field should be changed. First of all, there is a chance to encounter a mob party, with random amount of mobs inside. Then, inside the party, there is a chance to encounter specific mob - using weighted choice. So it should be something like
Code: [Select]
"fight_chance": 25,
"mobs": {"Dark Mage": 5, "Phantasm": 10, "Skeleton Warrior": 50, "Skeleton": 80},
Then we need base level for all mobs in the location. While all mobs should have different levels to make rare ones stronger, we need base level to judge location difficulty. Maybe we will even show it in SE gui to make sure player understands how difficult locations are.
Code: [Select]
"base_mob_level": 30,And then we need differences in mobs level based on base level. So mobs field becomes like
"mobs": {"Dark Mage": (5, 10), "Phantasm": (10, 5), "Skeleton Warrior": (50, 5), "Skeleton": (80, 0)},[/code]Where the second number is bonus to base level. So Dark Mage max level is 30 + 10 = 40.

Now, we don't have to make every Dark Mage lvl 40, in fact it might be too predictable. Instead it can be randint, so the level will be from 30 to 40. And in case of Skeleton it's always lvl 30.

If there will be bosses with high, fixed levels, we will introduce a special field for them, since they shouldn't be encountered all the time anyway, while mobs field assumes that encounters are unlimited.

The remaining numbers in the mob field used to show how thing escalate when exploration takes enough time, making mobs stronger over time. They are not needed. We still can make mobs stronger over time, but they all will use the same logic, there is no need to make it unique for every single mob.

2)
Code: [Select]
"hazard": {"health": 0, "mp": 5, "vitality": 0},Hazards can also support penalties to AP. Since AP is widely used in SE, hazard": ("AP": -1) may reduce it by one every turn, so it would take much more time to explore the location.

3) Different locations have different sizes, ie require different time to be explored. By default it could be 100, but also can be changed manually by
Code: [Select]
"location_size": 50,
4)
Code: [Select]
"cash_limit": 120,
"items_limit": 0,
Since explorations are limited by time (max 2 weeks or something), there is no need to limit stuff like this. It would make sense if we limit inventory inside SE, but we don't.

5) Events, items and gold.

As I imagine it, there should be events inside SE, and items and gold should be obtained mostly, if not only, via events.

For example, party found a chest with randint(A, B) gold inside which requires X agility to be obtained.
So I create somewhere an event called chest_1 with all required logic and lines which we need to show in the log.
Then in location json I write
Code: [Select]
"events": {"chest_1": [A, B, X] }Maybe I also write the chance to find this event, maybe it will be checked right inside the event.
Then I create an event where party finds a healing shrine or something, and everyone restore A health.
So then we get
Code: [Select]
"events": {"chest_1": [A, B, X], "healing_shrine": [A] }
And so on. Unless you have a better idea how to handle it.

6) Unlocking.
Code: [Select]
"unlocks": {"area_1": 0.4, "area_2": 0.9, "area_3": 1},The numbers represent how much the area should be explored to unlock these areas.
If we want some kind of secret areas, then it probably should be done via events.
« Last Edit: February 17, 2017, 05:47:14 AM by DarkTl »

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: Simulated Exploration
« Reply #22 on: February 21, 2017, 02:33:55 AM »
1) We might want bosses as well. Maybe also mob drops? If you want to mess with that.

2) AP... I found that converting AP to some form of "Job points" is practically a must. We can always convert back.

3) Noted, if not already there.

4) You prolly misunderstood the fields. They limit what you can find, not the total limit. Like you will never find more than 120 gold per one iteration of OLD SE (1 AP per character spent). New SE does not use this at all. Same with items, it's basically a limit for the price of random items.

5) Ok, I think we talked about this in the chat.

6) Yeap. This one is a must as well.


I'll resume coding for pytfall tonight, gonna start tiers/jobs/balancing thing implementation. If only to write skeleton code to make sure my plan is sound. I can either hack on that (assuming that it is sound) or code SE first so you can start designing content.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: Simulated Exploration
« Reply #23 on: February 21, 2017, 08:53:25 AM »
Maybe also mob drops? If you want to mess with that.
Dropping something other than gold is problematic. If we allow items to freely drop from mobs, soon they will depreciate.

They could drop something less useful, like crafting ingredients - we have tons of such icons in db. But that requires crafting of some kind in the first place, preferably interesting one. That's way post beta.

Offline CherryWood

  • Hero Member
  • *****
  • Posts: 643
Re: Simulated Exploration
« Reply #24 on: March 16, 2017, 04:10:24 PM »
I'm still interested in working on this type of content, so If you decide on how the new fields should look, just give a word and I try to update the locations for it, even if just for a test.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: Simulated Exploration
« Reply #25 on: March 16, 2017, 04:38:02 PM »
I'm still interested in working on this type of content, so If you decide on how the new fields should look, just give a word and I try to update the locations for it, even if just for a test.

Heu!

We still don't know what to update them to... SE is operational and most of the (new) interface is working for it. So you can basically just setup a JSON as you see fit in this thread, include Dark's stuff from above and after a bit of discussion, we can ok the design for beta and all the locations can be updated to it.
Like what we're doing?