I’ve just found your awesome game by accident (checking CastleStory blog video) and I spent rest of the day reading everything. I can see great potential, so I feel obligated to help with ideas.
My idea is not to hire new people, but to create place for them in your settlement.
So you create a job, set it’s duties, reward, rights, amount of people who can take it, formation, ect… Then each unemployed person (i.e. newcomer who came with caravan) calculate risk and reward of every job available in town. He either take it or leave the town (if he thinks that somewhere else live is better).
*example 1
Job | name: worker | amount: 10 | formation: militia infantry
Duty:
- carrying objects | place: east district | time: 8am-8pm | duration: mon-frid
- combat training | place: main training ground | time: 8am-8po | duration: sat-sun
Alarms: - Enemy near town | don’t leave the town
- Enemy at the gate | army yourself and join your formation
Reward: - bed | group: east district poor beds
- money | STR*10
- alarm equipment | type: melee, armour, helmet, shield | location: east armoury*
*example 2
Job | name: smith | amount: 2 | formation: castle militia crossbowman
Duty:
- working in smithy | place: high castle smithy | time: 8am-8pm | duration: mon-frid
- combat training | place: castle training ground | time: 8am-8po | duration: sat-sun
Alarms: - Enemy near town | don’t leave the town
- Enemy at the gate | don’t leave the castle
- Enemy in castle | army yourself and join your formation
Reward: - bed | group: castle smithy
- money | STR10 | DEX10 | INT5 | blacksmithing10 | armourcrafting10 | weaponcrafting10 | bowcrafting5 | precise works5
- alarm equipment | type: melee, armour, helmet, crossbow | location: east armoury*
After seeing such opportunity, a person calculate:
- whole settlement living value: how safe is it an how much is settlement currency worth (how much actual food, clothes and housing he can get with it)
- how much work he need to do, how safe is his workplace (how many people died nearby in the past)
- how risky is his militia formation (how good equipment, how many died in the past), how safe and comfortable is his home,
- how big is reward: how much money he gets, how safe and comfortable is his house
Each person know his value, based on skills and attributes, so the formula is:
[reward value - personal value * (work time + 1/4 spare time) - risk value]
If it’s positive, person takes the job.
If he find a job that suits him best, but is already occupied by someone less proficient, he takes his place. And old employee have to search for new job.
Sometimes, once per week maybe, each employee revise his and other available jobs and eventually switch it.
Sounds complicated and a lot to set up? Maybe a bit. But you have to do it only once per some time, and if you do it well you make your population nearly automatic. It can even works with birth-aging-death system.
More in-detail explanations:
- Job name is set manually, just for you to recognize it. It’s generated automatically based on main duty if you don’t set your own
- Amount is the maximum number of people who can do this job. it can be set as permanent value, or based on something (i.e. link it to workshop size, amount and price of food, amount of spare beds, ect.)
- Formation is the military formation the person have to join in case of training or call to arms. Everyone need to be tied to some formation (those too valuable or weak to fight will just get order to hide in safe place)
- Duty is what that person have to do. You select from list of possible tasks like: building, mining, training, ect.
- Place determine boundaries of each persons work. Any need for his job behind boundaries will be ignored. You can set it as constant area or proximity from person.
- Time determine how long person has to work. When work-time starts person start walking toward workplace.
- Duration is just to coordinate multiple duties over time (i.e. different tasks for farmer during summer and during winter)
- Alarms determine if and how person should react certain alarm. Alarm types are set globally, but not every citizen need to care about most of them.
- Each bed belongs to one or few groups. Job can limit possibilities to find bed outside of certain group (i.e. if you don’t want your worker to sleep too far away from his workplace)
- Money is awarded based on how good someone is at certain job. But money is just and abstract number, determining how much each person can take from your stockpile. So the real reward value for person is [bed comfort value + food value + clothes value]
- Bed comfort value is based on many things: how safe it is (how many and how far are guard outposts, how far from the gates, how close and how often people dies nearby, ect.) how much furniture and decorations there are in the room, how big is the room, how many people share the same room, how close to food source, how close it is to some attractions (taverns, churches), ect. Price people pay for their bed is based on comfort value and manually set multiplier (for whole town - imagine it as tax rate)
- Food value is how nutritious and varied is the food. Nutritious is constant for each type of food (i.e. potatoes have 2) while variety is based on type of food (i.e. potatoes=1 fish soup=3), but each type counts only onece (i.e. 5 portions of potatoes still counts as 1 variety). Additional variety points are granted for each food genre present in the meal (vegetables, grains, meat, fruits, dairy)
- Equipment value is universal for each item (i.e. open helmet is always and everywhere worth 20), but modified for each job and formation (i.e. melee fighters value helmets a lot more than archer, blacksmiths value leather apron more than fisherman)
- How people spend their money:
- They spend nearly everything they earned that day
- They divide earned this day money evenly between three catecories: food money, housing money, equipment money. Then they add all stored money to equipment money.
- They check if they can afford enough cheapest nutrions (i.e. 5 portions of potatoes) then they check if they can change part of it for something better (i.e. one portion of potatoes to cabbage) they continue until food money is gone, then go and eat.
- They look (within limitations set by job) for suitable house that is closest but below their housing money, and stay there.
- They check what part of their equipment is the worst (i.e. you don’t provide any helmet during call to arms), then check if there is any available at the marked within their budget, then buy it. Then they check for second most needed part of equipment, and continue till they check all parts.
- All money that left after shoppin goes to storage.
- Money sink is required to prevent filling the market with goods that nobody wants to buy, It can be done either by time decaying (i.e. every midnight each item has chance to loose quality), or usage wearing (i.e. every taken hit has chance to lower armour quality). Of course well made items are way harder to destroy than cheap mass production. And epic items are nearly eternal.
- Alarm equipment is limit of which and where person can take weapons in case of alarm or training. He can take his own personal items if they are better and if they fit set limitations. People will buy themselves weapons just like they buy clothes.
- There can be hundreds of available items in your settlement, and setting their price manually to avoid depleting stockpile would take hours. Your task there setting one variable: price multiplier = for how long do you want your stockpiles to last = how much should settlers be able to buy each day. It’s your choice wherever you want to hoard more items or to make population happier. So the prices of various goods and services should be calculated automatically based on:
- Basic item/service value (i.e. food value, bed value, equipment value)
- Amount of certain goods
- Amount of other similar goods (i.e. other types of food)
- Population size (10 swords for 5 people is a lot, 10 for 200 not so much)
- Average payment
i.e. In town with few but good tailors clothes will be generally expensive (only few people sewing, low stockpile) but difference between bad and good quality will be small (good tailors make more good clothes than rags)
It turned to be quite wall of text, but I just love creating them. Hope anybody reads it, and maybe implement as mod one day.