Perceivable consequence, or why we reworked Iron Roads' new townscreen
9 March 2024

Iron Roads has seen influx of new testers recently, and with them have arrived new perspectives and feedback. This feedback has kicked off a new cycle of worrying, analysing and fixing as we described in our last blog. This time we aren't worried so much about the systems in the game, so much as we are worried about whether we are communicating those systems to players effectively.

A lot of the feedback has been of the form "I had fun playing, but can you explain why X happened when I did Y".

This represents an issue we need to address.

Perceivable Consequence is the formal term for this concept. It was defined by Doug Church as "A clear reaction from the game world to the action of the player" (Errant Signal made a good video essay about it). It is important because for a player’s choice to feel meaningful, it must to be obvious what the consequences of that choice would be. So, without Perceivable Consequence there can be no meaningful choices on the part of the player, and their agency in the world is reduced.

To be clear: I am only discussing management/simulation games here. There are many reasons why one may wish to break this rule in other genres, but they are not relevant here. In management/simulation games, the core loop consists of players observing the state of the game’s system with some goal in mind, thinking about how to achieve that goal, and then making changes resulting from their analysis. It is a design based on the idea that players are able to predict the results of their actions. If not, the game loop falls apart.

This isn't to say it should always be easy to achieve goals, or that there should never be surprises, but ideally any surprise arises due to players’ not yet knowing the game’s full systems, rather than a lack of predictability in the game.

Hidden enemy pushes you off a ledge in Dark souls

To take a non-management game example: anyone who has played Dark Souls has likely been pushed off a ledge by a hidden enemy. It is annoying when it happens the first time, but you respawn, return to that point, avoid the enemy this time, collect the souls you lost and continue - no harm done. However if that enemy were randomly placed, or you weren’t able to recollect your souls, your death would be unpredictable, unavoidable and unfixable. The game would cease to be fun, and instead it would be random and annoying.

This is all well and good, but what does it mean for Iron Roads? We are slowly reworking UI screens, trying to bring all the information you might need about your train network to the surface in a consistent way. If you are struggling to achieve a task, we want you to know why.

For example, this week we worked on town growth.

Very early testers might remember the Economic activity bar on the town information screen. It showed how much was going on in the town, and when it the bar became full, the town would grow. The problem was that it was not at all obvious where these numbers came from. It was a complex equation I was very proud of, and that I thought provided a good growth model for the town. Whether or not this is true was moot. It was far too complex to explain via the UI, so we didn't explain it at all. Players asked what the bar meant, we had no simple answer, so we doubled down on our mistake and hid it.

Clearly this was not our finest hour.

In this update we've replaced the town growth system with something simpler and clearer. The town screen displays the number of passengers and cargo units that arrived in the last hour. Alongside this is a target number of units / hour. When you achieve this rate, the town grows, and a new, higher target is shown. It may not be as sophisticated a growth model as before, but it is more understandable, and hopefully it could be said to be "A clear reaction from the game world to the action of the player". You can see it below.

New Townscreen

There is a lot more to do on this front, but it has been a while since we pushed an update, so we've collected this along with some bugfixes, new scenario level selector art, and other UI tweaks into a release. It is a big change, so as always, feedback is always appreciated!

Please enable javascript

By signing up you agree to our privacy policy