Great stuff, and bravo for the great work so far!
November 2020 Update - Alpha 4 Complete!
Welcome to the amazingly-ahead-of-schedule November dev update for King under the Mountain! Very good news this month in that everything on the roadmap for Alpha 4 has now been delivered, and a little extra to boot! So without further ado, here's a run-through of what's been changed or added.
The biggest addition is that there is now a full job prioritisation system! A new top level menu, "Priority" has been added which gives you the following new options:
Job priority menu
As you can see in the screenshot, when this menu is open the priorities are shown in-game. Previously settlers would pick whichever the nearest job to them was, in order of the professions that they had activated. Now the same still happens, but respecting the priority assigned to a job first - so all the "Highest" priority jobs will be assigned first, then "Higher" and so on. Finally you'll be able to instruct your dwarves what it is you want completing next! As well as being able to set the priority of jobs waiting to be assigned, such as orders like mining and logging, furniture which creates jobs, like a crafting station, can also have a priority assigned which gets passed on to the jobs it creates. This goes even further in that some rooms like the kitchen and farm plot generate jobs without being specific to any furniture, so those rooms can also have a priority assigned (when interacting with the room/zone) which gets passed on to any furniture that already exists or is set to be constructed. So there's a lot more going on than you might think! I'd love to get some feedback on the way this has been represented in-game, both from the choice of colours which I'm not very sure about, and the use of arrows to represent the priorities too. Oxygen Not Included by Klei (a fantastic game) has a similar system, but uses numbers from 1 (lowest) to 9 (highest) to represent priority. Do you think that would be better here?
There's another equally huge (at least in terms of quality of life for the player) addition in the form of an entirely new management screen to go alongside the existing "Resources" and "Settlers" screens - crafting management!
The crafting management screen
This screen first lists each type of crafting, along with any furniture that crafting can be performed at, and the rooms that furniture can be placed into. Right now, every type of crafting is only performed at a single crafting station which is found only in a single type of room, but the game allows for more complex setups and they could be modded in right now.
Clicking on a type of crafting shows the set of different items or liquids that are produced by that crafting type. These rows allow you to set a total number of items to "maintain" in the settlement, that is, have a total number of items which may or may not be in use. This can be set as a single figure for the whole settlement or scale based on the population as shown. Items are consumed or effectively removed when they are used in furniture construction (such as tools on a workbench) so once this has happened, more will be created. Barrels and cauldrons feel like a special case because once they are placed as furniture, they no longer count as an item, though they appear identical visually, so I'm interested to see if people find this confusing and end up with more barrels and cauldrons than they expect. This row also gives you a total count of how many are currently in your settlement - a more detailed breakdown can be found in the "Resources" screen.
Clicking on one of these item or liquid product rows shows the different crafting recipes that produce the desired output. A crafting recipe is a set of input items or liquids, which get converted into a set of output items or liquids, though currently every crafting recipe only produces a single type of output, but this doesn't have to be the case. Most crafted outputs are produced only by a single recipe, a good example of an exception are wooden planks which can be crafted out of wooden logs or mushroom logs, which are counted and tracked separately, or metal blooms which have specific crafting recipes for specific materials. Any input items which don't use a specific type of material, allow the player to now pick a material to always use in that crafting.
There's also a mini set of priority options for the crafted items and liquids, setting this will set the priority of which crafting recipe is selected next - recipes of the same priority are chosen from randomly, at least for all of the recipes that have their input requirements available. Each crafting station also has a new "Crafting" button to launch this screen filtered to showing everything already expanded for the crafting type it uses.
The crafting types, furniture, crafting recipes and default amounts to produce are all easily moddable, and this screen is a good representation of the mapping from the data files to how they are represented in-game.
Between the addition of crafting management and the priority system, players should now have the tools they need to manage settlements that were getting a bit too complex without them. Being able to manage and prioritise the production of beer in particular should be of great use, as the previous release probably led to an over-abundance of barrels being crafted for most players!
While those two are the main additions (and what was listed on the roadmap), that's not all for Alpha 4! There's even more quality of life improvements in the form of new "Cancel" and "Demolish" options in the build menu.
Build menu with new Cancel and Demolish options
The cancel option works much like its counterpart in the Orders menu - it is used to mass-cancel any queued up constructions (furniture, bridges, doors and walls). Deconstruct is used to set constructed furniture, bridges, doors and walls to be removed. No longer do you have to click on each thing individually and set it to be torn down!
Along with this work on managing constructions, the game now keeps better track of which material was specified to be used by the player in the construction. An earlier update (one that automatically resets material selection when none of that material is available) had broken this functionality, so now that improvement still works alongside the game again correctly respecting any choices by the player. In other words, set a wooden piece of furniture to be constructed with "Any" material and the game will handle it as best it can, potentially even resetting what it has selected initially, but if the player manually chooses a material to use, it will always stick to that selection.
Although there's not much interest in modding yet, I've added a placeholder sprite as a fallback (literally a square with the text "placeholder" on it) which the game will now use if any sprites are unavailable for some reason. This shouldn't happen in the base game, but when attempting to mod something, a modder can easily forget that a change in one place may mean new sprites are required. Until now the game would have rendered nothing or even crashed if these weren't available, but now the placeholder graphic should make it clear where these are needed.
Although I'm making this game as a one-man team for the design and development side of things, it wouldn't be possible without a bunch of very talented freelancers working on the art and music. There's currently a lot going on in the artwork side of things, to get everything produced for King under the Mountain to press on towards the Steam Early Access release. There's even quite a lot that has already been produced which hasn't been revealed yet that I'm very much looking forward to sharing in future updates. This Alpha 4 release does contain one artwork improvement though - the constructed stone and wooden walls:
Old walls on the left, new on the right
These constructed walls, the stone version in particular, were actually my own programmer art of attempting to copy the Prison Architect style for how walls work (although being able to handle a thickness of more than one tile). In fact the very very first code written for King under the Mountain was figuring out these walls and how to render them, as you can see from my channel's very first video from all the way back in 2015.
There's a lot more to come, including overhauling quite a bit of how the environment looks in the game, so look forward to that!
Finally, in the process of writing this update a community member was having issues running the game. After a bit of investigation we figured out that the laptop used no longer had enough memory to start a new game or load an existing one. The additions are adding up! To help with this a little though, a secret feature has been added to let players modify the size of the map when starting a new game. This is done by editing the seed.txt file alongside the game launcher. Previously this was a text file with the number 0 in it only. You can change this to a different number to set the map seed for the random generation, in other words setting it to a number other than 0 will cause the game to generate the same map each time, much like seeds used for random generation in games like Minecraft. This file now contains a second line, which reads "400x300". This corresponds to a map size of 400 tiles wide by 300 tiles tall. You can change this text, and as long as the format is the same (i.e. "XXXxYYY") the game will use that size for the map instead. This was added to let computers without enough memory to generate the current map size still run the game with a smaller map, but you may want to try a larger map too. A word of warning - the minimap does not currently scale properly, the size of the minimap in pixels is the size of the map in tiles, so a very large map will cause the minimap to obscure the whole game. This will be improved in a future release, I just wanted to get something added quickly for the players affected to still be able to run the game. Picking the map size and random generation seed will be built into the UI properly at some point. At some point I'll have to think about optimising the memory use, though ideally the longer I can put that off, the smoother things will be. There is a potentially fun side effect from being able to control the map size, you can now create a tiny "pocket world" as a challenge of playing the game with very limited space and resources.
A small "pocket world"
And that's it for this month and Alpha 4! Alpha 5 should see the remaining very-clearly-missing quality of life improvements in the form of stockpile management and support for multiple saved games/settlements, and then goes on to the lay the remaining groundwork systems - a particle effect system and constructed roofs and flooring - to support the big content additions of alphas 6 through 10. Thank you to all of you sticking with the development of the game! If you haven't done so already, you can wishlist the game on Steam at store.steampowered.com/app/930230/King_under_the_Mountain/ though if you already have access via Kickstarter or Itch.io you will be receiving a Steam key for free!