Banished is a town-building survival simulation game, as described by its creator Luke Hodorowicz, founder of the one-man studio Shining Rocks Software. In Banished, you build a small village for your community, exiled from their homeland. You need to micro-manage food, firewood, clothes, tools and general supplies. Your most important currency is the people themselves who are not fillers, but rather are the center of the attention in Banished: They need to be fed, warm and happy. Meet these criteria, and you see your community grow and prosper. Otherwise, starvation, harsh winters and sadness will make sure your population declines at a steady pace.
My goal in Banished is to provide the right infrastructure to ensure the community prospers. This is done more in a preemptive manner rather than a reactive manner. You don’t wait for your people to starve before you thinking about gathering food. As the community grows, the infrastructure gets more complicated with more needs requiring to be catered for. This can mean having planned for multiple structures to be built, crops to be harvested, and roads to be paved, simultaneously. And sometimes, you want something to happen before something else: to prioritize.
Tools available to the user:
The game’s AI follows a pattern of orders in the way they were given. For example, if you request for a house, a town hall and a blacksmith to be built, then the community’s Builders will build the house, the town hall and the blacksmith in that order. However, the game allows you to prioritize tasks independent of when they were requested by using the Priority Tool, which I would like to focus on in this article.
You first select the arrow, then select the area that you want your villagers to give absolute priority to. As described in Banished’s wiki page, if you want to change the order in which the buildings I mentioned above will be built, you highlight them in a different order. In this case, for example, you decide to build the blacksmith first, then the house, and finally the town hall. So you highlight those buildings in the new order, and wait for your villagers to get on with the tasks.
The game has an AI that goes beyond the mere “Builders build, Farmers farm”. For example, Farmers perform as Labourers when it is winter and it is impossible to harvest the fields. To give an example that is tied in to our re-ordering scenario above, Builders will gather wood, stone and iron alongside Labourers until there are enough resources to start building the requested structures.
However, once the re-ordering has happened, the player will notice something strange happening. Instead of building the order of Blacksmith > House > Town Hall, the community’s Builders will tackle the tasks in reverse order, by building the Town Hall > House > Blacksmith. However, if at any point the player adds another structure (e.g. Church) to the lot, that building will be built last, as per the first rule which was buildings are built in the order they are requested.
This counter-intuitive behaviour can be explained with a few technical terms and examples. When requesting buildings to be built, a list is created, which follows the First In, First Out (FIFO) rule. When using the priority tool, whatever the player selects is pushed to the top of the priority list. However, if multiple selections are made, every new pick pushes everything that was previously highlighted further down the list. In other words, if you wanted to have Builders perform the tasks in the intended order, you would have to make your selection in reverse order, or First In, Last Out (FILO). Simply put: Highlight Town Hall > House > Blacksmith to have Builders create the Blacksmith > House > Town Hall. Think of the priority tool as a “Set as First” button in a layers panel in Photoshop. Every time you make a selection, it goes on top of the priority list, and the rest is pushed down.
The problem is, the “priority list” is invisible to the player. I assume it is a design choice not to have feedback for the player in order to avoid players setting up a series of 500 orders, unpausing the game and then going to make dinner, to come back an hour later to find that everything is going according to plan. But that same lack of feedback makes the use of FIFO and FILO very confusing and hard to guess for new players, as it is not even explained in the wiki. To make matters worse, the AI has its own rules. So if you add a request for a house to be built, it will be built after the “list” is done, as discussed above. However, if you add a request for wood to be gathered, then there is a high chance your Builders will drop everything and go gather the wood themselves rather than finish the buildings. It is not random behaviour, but it may seem so as the machinations of the AI are not immediately clear. The lack of consistency between the tools that the players uses and the seemingly erratic (while actually very well hard-coded) behaviour of the AI can cause quite a lot of frustration.
One option would be to add a “Make top priority” button on building tooltips (that includes food and resource gathering sites). This would achieve exactly the same functionality as the Priority tool, but would ensure a more intuitive use because it would only allow the player to make one selection. The player would be aware that they are making something the top priority every time they would click on the arrow.
The other option would be to have the priority tool follow the FIFO order, which is more intuitive. Feedback could be given to the player by having the highlighted zones remain highlighted, with an order number next to them (and that highlighting’s visibility could be toggled). As such, a priority list for a set of given orders could be made and managed, which does not defeat the design choice of not giving feedback to the players about all possible orders.
My opinion as a player:
Banished provides the innovation of the Sims “people” management at a much larger scale in a city-building simulation. Rather than the people being fillers, they are what make or break a session. The survival idea is very well executed, and I am really enjoying the game. Given the fact that it is a one-man studio, I am very impressed at the level of detail and the way the mechanics are really working together to deliver a really fun experience!
Disclaimer: Shining Rock Software is fully aware of the issues and a patch is being worked on at the time of writing.
Cover image © ptibrun