So i thought my crafting system got its fun sucked out of it so many times i think it will be so plain without fun twist.(minecraft like crafting system)

So i taken my road to search for innovations on rpg crafting system and at end i think i want to work on economy more then on the main crafting system.

So in 2d top down rpg, i got a town that has units called peasants that work. Peasant will perform actions given by town(Harvest resources(Food,wood, stone, iron...), patrol areas, scout land...)

The idea

Sothe basic idea is to make economy, vendors got X in stock and there is none that replenishes over time. So let us say the vendor run out of bow weapons to sell, in order to acquire more, he will need to visit local weapon smith or carpenter(Who ever makes them), and buy bows from them and sell them as second hand. Weapon smith cannot make bow without (Bow frame + string), thus he requires string and wood, which he needs to buy from someone else or hire somebody to work for him and gather those resources for him.

The twist would be that in case there was order from king to deliver all this town wood to other town to help repair it from big fire, and this town has no stockpile of wood left and the merchants are getting robbed by bandits there will be no bows thus the demand / price will sky rocket.

Now making such a complex system is no easy task i am aware, but getting such feel would be great intro immersion that your actions matter on the world would, i think be fun.

If you are stray bandit lord with a small group of bandits and you successfully rob merchants(Or just constant pressure them to scare them from this roads) and burn fields around town or granary, you can starve them out(Make a deal with merchant so he gets monopoly over food and earn crazy amount of gold), careful tho... the town has guards, and may ask for kings army help which are skilled and will probably wipe you or come close to it.

So if i wanted to make such a system, and id have 15 small town that consist of 10 people, 5 large town of 20-30 people, and 1-3 kingdoms that hold 100 people, i think making the system efficient would be number one! task so the game would actually run.

I never did such complex system, but i do no fear the road! at end i will triumph, but id really like to discuss some stuff.

How do i make it efficient?

Since the map size is huge, i need to make the logic kinda simple, but for the area where the player is do following: create actual units(patrols, gatherers, traders...), load terrain for display, collision, logic...for the region where the player is only. Doable but require lot of time.

e.g: I am thinking about making it as such(Town has income of X of type resources Y, it refines X amount of type Y intro Z type, it trades amount X of type Y with town Q in return it gets X of Y, amount of D danger at gather zone, chance C to lose peasants)That is simple to run and i would make game in such way.

If you have efficiency tips, and feeling like sharing, please.

Inspiration and mistakes others made is what i am most interested about.

Such a system would take weeks if not months to get done, and working along side displaying and all details. It would be horrible if i overlook something and mess up in a big way so i made this post to ask if you had experiences you want to share, or if you know a link to a discussion on such topic.

Excuse me on commas and periods i run few times over and i kept founding and fixing them, i decided to stop after 3third time, i value my time, it is understandable, and the point is there. I hope.

I would start with figuring out the production and consumption of food. Determine what formulas work best for you to represent say a game year's worth of food production and consumption with no disruptions and test it out to see if your formula supports the population. Put the formula in a test program, loop through it, and output all the variables to see how they change and verify the effectiveness of the formula. Each iteration of the loop represents whatever period of time you want whether that's a game year, month, day, or hour. Then, when I'm ready to display NPCs in some way, rather than having assorted NPCs implement the formula, I would have the NPCs represent the formula for the period of time that has elapsed.

play a bit of space ranger, the best "real world rpg" with economy ever created

second about efficiency... do you really need to SHOW all that happens in every single city?

because if not... you dont really need much efficiency, you just calculate what to do here and there, even every few seconds, nothing huge for processor...

and even if you want all the world to funcion real time you dont really need to do EVERYTHING at once

the efficiency is easy:

you split the assignment of actions on each cycle (or even few cycles) for each city

this way even if you have 200 cities you only check their job once per cycle

you could even split the check between each citizen... since you dont need the merchant to work while the smith work, while the baker work, you can make them work one by one, or make working simple enough

anyway i dont think its that much work at all for a modern processor, in the end its pretty much a few checks like:

baker has floor?

someone wants more bread?

baker is already working?

for stuff like prices you can adjourn them once in a while, at the end of the day, or week or similar

I guess i will write my first article about the economy system, and how i made it, and all.

Until then, thank you for suggestions so far, quite good ideas to work with.

For now the idea is to make big regions, these regions will hold data like : There are is X peasants from town Y harvesting "Trees" in this region... If unit is in the region i will do graphics for it, and all those good visual stuff, else i will only do behind scenes stuff to keep load off processor.