What a ride this last month has been… Sometimes, our lives just unravel in an instant. Priorities shift and we just need time to get our shit together. I will spare you the usual philosophical musings about misery, change and human resilience. Suffice to say, I got back to working, albeit only little, this week.
I started out re-visiting the gathering task issue: players must be able to instruct settlers to gather resources and drop them off at a suitable storage. First, I wanted to define a target area for gathering jobs and them somehow add a modifier for the target resource. I outlined the prototype interface for that in week 10. Here’s a look at the very rough implementation of a target area:
However, when looking at the required programming effort I also took a step back and considered the players’ interaction with such a system (being a few weeks off a project provides a new perspective). I realized that it would be horrendously tedious to set up dozens of tasks this way. This also goes against the principle of indirect control which the entire game is supposed to be built upon.
So… where does that leave us? Basically, I will scrap the task system (certainly the UI part) in favor of a more intuitive and fuzzy way. Tasks will, at least in the early stages of settlements, be given directly to settlers via conversations. E.g. “I need you to build stuff I have planned and keep it repaired. Follow me to the area around which you are supposed to work. Ok, here we are and this is how much you will get to keep doing that. Alright?”. Later on, this should be delegated to taskmasters, i.e. dedicated staff under players’ control which automatically keep things running according to the parameters set out by the player in charge. This will also provide a layered hierarchy of loyalty, which players need to look out for. The guard captain, for example, might develop his own ambitions if he is given too much freedom in running things.
For now, I have done some work on the task definition system, from which I will try to salvage as much as possible. Additionally, I have drafted a rough flow chart for conversations which helps in the definition of the upcoming, more complex, conditional conversation trees.
Next week I will improve the conversation system and try to get some of that complexity into it. Lots of very specific state variables will be relevant, e.g. when should an NPC follow, what influences task rewards. I hope to be able to show some exemplary interactions in the next update.
Thank you for reading and until next week (for real!)