Lots to get through this month thanks to developing King under the Mountain full time now!
In the last dev update I had just started on Alpha 6 and the first feature added for this was fire(!), as a reminder, here’s a look at it:
There was one very large reason fire was only added as part of this Alpha, and the reason is that it also brought with it weather into the game – perhaps most importantly rain to extinguish those pesky fires outside. Dwarves, quite understandably, get a little upset at walking or working in the rain, but they’re particularly upset about being forced to sleep in the rain (wouldn’t you be?). Here’s a look at the visuals of rain in the game:
The rain effect is done entirely using the particle effect system added in the more recent dev updates. I was worried that this many particles in use at once may have some performance impacts but it would seem that the similarity of the particles allows the graphics pipeline to render a large number of them at little cost.
Rain also pushes the player to finally have a reason to build their settlement either underground/within the mountain, or at the very least in rooms with a roof constructed overhead. There is the happiness malus mentioned above, but more importantly than this it introduces a new system called oxidisation, which is perhaps most important for things made of iron – rusting. Prolonged exposure to rain for an item made of iron or steel will now eventually turn into rusted iron, turning a reddish-brown colour, and eventually this too will degrade further and completely destroy the item or furniture! Fortunately this only applies to items or furniture where iron is the primary material – a wooden barrel with iron hoops will not be destroyed, though the hoops themselves will eventually turn to the rusted iron colour. Much more so than the unhappiness at being outside, I’m pleased to introduce a realistic mechanic which forces the player to seek shelter in the long term.
In addition to iron turning to rust, copper also oxidises, but not in the destructive way that iron does. Instead, copper forms a turquoise/green patina on its surface which also acts as a barrier to further oxidisation (unlike rust which permeates through the metal). Here’s an example of the different colours of these in the game:
There’s a more extreme version of rain in the form of thunderstorms, which in addition to rain also have a chance for lightning to strike somewhat regularly. A lightning strike will be attracted to trees, or failing that other entities in the game world rather than open spaces. A lightning strike has a high chance to start a fire! For the most part these fires will immediately be extinguished by the falling rain, though in some rare situations the rain may stop before the fire is extinguished, or even rarer in summer you may come across a “dry thunderstorm” which has no rain but also rarely still causes lightning strikes – one to be on guard for!
The other major weather system is snow, which works for the most part similar to rain, though I wanted a more striking visual effect in the game. In addition to the falling snow using a similar particle effect to the rain, there’s two other additions: a replacement for the ground texture where the ground gets covered in snow rather than showing grass or dirt or similar, and a shader effect to give an impression of snow that has fallen onto entities. As every entity in the game also has a matching set of normal map sprites, defining the direction each part of the surface is pointing (mostly for lighting information), I made use of this to write another shader which considers a global amount of snowfall, and uses this to render a white snow effect on the “upper” parts of the sprites, increasing in amount as the snowfall increases. Look out for that in this demonstration of the overall snow effect:
Along with less visually striking weather effects (cloudy weather and winds mostly), the different weather types are now defined (and moddable like everything else), where in addition to being able to define the actual weather types, there’s an extra level of configuration where there’s a concept of “daily weather” defining which weather types you may encounter on any given day (think of it like the forecast for that day – mostly sun, mostly cloudy, some rain etc.) and these daily weather forecasts are defined by season. To those of you not aware, I’m from northern England, somewhat infamous for always being wet and grey, so unfortunately for everyone else that’s the kind of weather that’s reflected in the game! Put another way, the current and only biome in the game is supposed to reflect a kind of northern European climate, leaning in to Norse culture for the history of dwarves in fantasy literature. When the game introduces other biomes, no doubt they will have their own climate with different weather, but for now you’ll have to put up with the kind of weather I’m used to seeing!
For the longest time, I’ve wanted winter to be much more of a challenge in the game than it currently is. For now the snow is still mostly visual rather than being particularly punishing (though there is one big thing to look out for – if you’ve not built beds indoors by the time winter comes around, your dwarves might freeze to death from sleeping outside!). The next step would be to have the river freeze over in winter, but right now that would be far too punishing as the player isn’t able to secure a sizable water supply that would not freeze very easily. That’s changing soon though, as a big part of alpha 7 is bringing the ability to move water around through pipes and irrigation channels, pumped in by a water pump, which should give the player the tools needed to be able to survive the river freezing over in particularly cold days during winter.
Fire and weather effects were the main part of alpha 6, so it was released this month and a few bugfixes for it have gone out too. That’s not all that was added though – one of the best features is that upon starting a game, the player is now able to select exactly where on the map they would like their settlement to begin – no more rerolling the map for that ideal start location! Beyond this were some smaller bug fixes, a tidyup of the sprites for male dwarves eyebrows (they were a slightly different colour to their hair previously) and also the addition of new hair and beard styles for the dwarves (slowly building towards the long-awaited design a settler backer reward) so look out for those too.
And with that, alpha 6 was completed, so it’s on to alpha 7! The initial major part of alpha 7 brings together mechanisms, pipes, channels and a rework to allow liquids to flow dynamically in the game world so I’ll surely be bringing full details of that in next month’s update. That’s not all though, I’m hoping I’ll finally be able to share some of the “Add a farmable crop” kickstarter rewards which will be part of the next release, and especially the wide range of natural wildlife which are due to be added to the game (themselves containing a number of addition thanks to kickstarter backer rewards). So I’ll see you then, and in the meantime the best place to get involved with game’s community is the King under the Mountain discord server!