
This image captures much of this month. It may seem like little, but I assure you it was not.
But let’s take it step by step:
This month began with the implementation of new cinematics and tutorials. Everything was going smoothly until I reached the cinematic where the first citizens arrive on the island. I was very satisfied. Along the way, I also cleaned up and refined many existing systems and created various useful ways for the game to communicate important information to the player.
However, as I started working on the first tutorials for managing citizens and the city, an annoyance grew within me hour by hour. Damn it, I had programmed every behavior of these citizens. I knew exactly when and how they would do everything. But that was not what I wanted from the start. I wanted something unpredictable, even for me as the developer, something that would prevent citizens from simply doing A, B, and then C because that is how it was programmed.
So midway through the month, I decided to scrap what I had done with my Context System and move to a more robust and well-known approach. This brings an endless array of possibilities. I decided to switch to AI based on GOAP, Goal-Oriented Action Planning. On top of that, I also focused on creating a specific Octree for this project. Let me explain.
Previously, if we wanted a citizen to build a structure, the building to be constructed would be placed on the map. It would then notify the Context Manager that X citizens were needed for the construction. These citizens would be assigned to a Context and given a Task, which would generate jobs defined by the Task. However, if at some point in development we decided that wood for building houses could also be gathered from debris of destroyed houses, this information and behavior would have to be explicitly added.
With GOAP, this is no longer necessary. Now, when a building is added, it searches the Octree for a suitable citizen and assigns them a Goal. For example, the Goal might specify that the building needs 100 wood to be completed. The GOAP solver will then look for the nearest Action to the citizen that, in its definition, indicates it provides wood. The citizen will execute that Action because it satisfies the Goal assigned to them. This happens without directly scripting what the citizen should do. Only the Actions need to be scripted, but in an atomic and independent way, detached from the final Goal.
Apologies if I got too technical, but I hope the idea is clear.
Now I need to convert all previous logic to this new system. I trust this will not take too long and then I can return to the main development of the story, tutorials, and quests.
But that is not all that happened this month.
You have probably noticed the rework of the game’s art here on Steam. Do you like it? Let me know your thoughts in the comments.
The logo is temporary. I hope to rework it in the coming months, but it will stay as it is for now.
Additionally, there has been a massive improvement to the day-night cycle. Daylight duration has been significantly increased, now covering 75% of a full day. The transition between day and night is much smoother and the nighttime lighting has been adjusted to improve visibility and enhance the overall atmosphere.


To conclude, the project is progressing and I am increasingly happy with how it is shaping up. I cannot wait to reach the demo milestone to hear your thoughts and then get to work on making it even better. As I mentioned earlier, I am forging ahead with the implementation of tutorials, quests, and the journey from arriving on the island to just before unlocking our little Pet.
Keep following the project and if you have any doubts, questions, or even just want to chat about it, do not hesitate to comment or write in the dedicated Steam community.
Thank you again and remember to always be good little deities!
