DEV BLOG #159 - LET IT SNOW
8 of December, 2017
Wait, what? Snow? In Crest?! Yes! This week has been all about water, in its liquid as well as in its solid form.
You will read a lot about Crest’s water system in this blog. What that means in short: We redirected almost all resources to improve the performance issues Crest has to make it run much smoother.
What does the water have to do with the performance issues? Although invisible to you at the moment, water is the main resource in Crest. Every island consists of thousands of tiles and each tile has it’s own water-level, which gets constantly updated by the system. This worked fine in the beginning, when there was only one island and not so much stuff happening in the world, but it didn’t scale well over time and needs to be reworked now.
I’ve been spending this week with working on the new feedback for the water system. It’s always been hard to see how the water works in Crest, and since it’s such a critical resource we want it to be more clear.
In real life clouds dump their water on the mountains as snow, which later melts and become rivers. There’s not as much snow on the African continent as on others and this is where a bit of abstraction comes in. We’d rather have an easy to understand game than 100% realism. The mountain works like a batter, the more snow there is the more water can be “taken” to the rivers by nature. Below you can see a mockup of this new system.
This week has been all about doing mockups for UI in the game. We’re doing some small changes to make it easier to navigate and understand it, making it more convenient for the players to use it.
For example, below, you can see the new mockup to the left which will be replacing the current spider chart to the right. The new system with bars will make it easier for players to just throw a glance at the City Needs, to immediately know which need is in danger.
This week the other programmers and I sat down to figure out how we should fix the water system. The water system has always been kind of broken, and we’ve tried to fix it several times to no avail. So this time we decided to rethink it from the ground up.
The solution we came up with should allow for more dynamic changes of the environment, and should be a lot less demanding on performance. So I’m very happy about that. We’ll see how well it works once it’s actually implemented :)
I participated on the discussion for the new water system during the beginning of the week and I think the new changes will make a big difference to the game, which I’m personally excited about.
The programming stuff for me this week included updating migration for both followers and animals in Crest. The followers now migrate only from commandments by the player and not by their free will. The animals now migrate to new habitats based on a grid layout on the islands. The reason for this is to have more control over where animals migrate compared to before, where a lot of randomization was used.
Another reason is for optimization. For example, when a herd of antelopes wants to migrate, we can search through each center tile in the grid and make basic assumptions where they don’t want to move, for example the jungle or how far they can migrate. Then we can search the area around the center tile and make other more specific assumptions.
These updates on the migration system are just on a early stage and may be updated later. However, the new water system will have a big impact on migration for followers and animals and therefore we want to have a lot of control when we later have to create a good balance.
This week I have been cooperating with Johannes W to fix the migration of animals. At first I started to increase the affect herbivores have on their environment. If the number of animals in a habitat gets too big, they will drain the soil for resources. When they can no longer find food, they will try to find a new area for their habitat.
The result is that we will see animals moving more across the island. And where the herbivores move, the carnivores will follow. The aim is to get islands that feel more dynamic and ever-changing. I still need to wait for the reworked water system before I can finish, since it is so closely tied to how animals eat and find suitable habitat areas.
At the start of this week I was mostly involved in design discussions. One major discussion was regarding the water system in Crest and how to improve it to affect gameplay and performance in positive ways. We found a solution that should do both.
At the end of the week I have been reworking the season system to allow for harsh and mild conditions. This required a rework of how seasons are queued and changed. It can now be balanced more easily and dynamically.
This week have been busy for me, I don’t think that I have been involved in so many different things in one week before. It all started with the redesign of the water system because it has never really worked properly, this will make the nature part of Crest have more consequences.
We also discussed the new look of the city needs since the spider chart could be a bit difficult to read at times, hopefully the changes will make it more clear to the player what is going on.
After we had finished those discussions, I moved on to make the design for the berry bushes. We want to pace the game in the beginning a bit better because farms are too powerful. It feels more natural to have a hunter/gatherer society at first and then evolving into farming when they got enough knowledge. I hope this will make it more interesting, as with all the things that we have planned to fix.
This week I have been busy with introducing a new planning platform and making sure that everything is up to date and that everyone understands how to use it. It will be an iterative process in how we will be handling everything going forward but the team seems to like it so far.
Have a nice weekend!