30 Sep

Week 26 Recap

Looking Back

Week number 26… half a year I have been working on this project. A lot has happened in that time, even though these past six months appeared to have flown by in an instant. I wish I could have worked more, or more efficiently. However, I realize that everyone has their limitations and I can be no different. I am clearly behind my own schedule but will not accept this as an inevitable failure. There is still a lot that I can and will accomplish.

As for the actual progress since the last update: I have re-designed the task system around conversations and a couple of jobs can now be functionally assigned to settlers. Watch the following clip to see it in action:

Settlers currently start out as gatherers by default. They will seek out and collect freely available resources and drop them off at a nearby storage. In the clip, I make one of the settlers a worker. His job is then to build whatever I had planned and restock any objects which require resources (e.g. the camp fire).

I intend to keep jobs at a high level of abstraction to take the burden of micro-management off the players. You should be more interested in the general well-being of settlers and their loyalty rather than a perfectly efficient economy. The game should take care of that for you.

Looking Forward

Next, I am going to implement more of the jobs and rework the initial settlement quest to correctly reflect the system changes.

Thanks for reading!

16 Sep

Week 24 Recap

Looking Back

This week, I have integrated an open source dialogue system component (Fungus) which has replaced my previous, rough implementation. Starting from my coarse flow chart of last week, I have created a more elaborate dialogue tree for NPC interactions:

WIP Conversation Flow Chart

WIP Conversation Flow Chart

Most of the blocks in the diagram above already have some (or a lot of) logic behind them. A conversation can be started and navigated but most of the actual NPC behavior is not yet triggered. The following screenshot shows a couple of options from the dialogue tree above:

Dialogue Example

Dialogue Example

The conversation UI’s look and feel is still set to the component’s default. Changing that has little priority at the moment, however.

Looking Forward

I did not manage to connect the conversation results to actual behaviors, but I do plan to make that happen next week. It is about time for a new video clip, anyway…

Thanks for reading!

09 Sep

Week 23 Recap

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.

Looking Back

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:

Area Targeting

Area Targeting

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.

Looking Forward

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!)