A major influence to this project both mechanically and visually, Tarn Adams’ Dwarf Fortress has been in development for almost twenty years. In this case study I will look at the three ways the game communicates dialogic and character information – through its event log, its ‘thoughts and preferences’ page, and its gameworld interface.
The Gameworld Interface
Dwarf Fortress is a top-down ‘dwarf management’ game, featuring heavy use of procedural generation and simulation. Its chief mode of interaction is via designating digging and build orders for a group of pioneering dwarves – players cannot instruct individuals to perform tasks directly, and dwarves are free to respond to their own needs and motivations (food, sleep, booze, not being eaten).
In order to facilitate the great depth of its simulation, the gameworld of Dwarf Fortress (at least without the help of a community-made tileset) is represented by ASCII symbols. This can be extremely confusing for new players, not least because – despite the simplicity of its graphics, the visual gameworld actually contains a lot of narrative and game-state information. Depth is communicated by blurred tiles; inclines by up and down-facing chevrons. Multiple items can also occupy the same tile, and the game will cycle through which sprite to display – a solid blue tile indicates that the object or entity is wet, of course! Dwarves in ‘strange moods’ will have their sprite interrupted with a flashing exclamation point. Dwarves who are wounded flash red; if two entities are in combat their sprites can occupy the same tile, which flashes between them.

If the game is unpaused, all of this information is processed as close to max frame rate as the computer can handle, and after a while begins to make a certain sense. A text readout even appraises the player of highly critical events: the changing of seasons, the arrival of visitors or packs of wild animals, mining breakthroughs, births, deaths and strange moods.
Beyond the graphical representation of the gameworld, there is also the interface – the means by which the gameworld is framed, and how the player is connected to it (Jorgenson, 2013). In Dwarf Fortress, this takes the form of a number of superimposed, highly ludic ‘frames’, almost in the manner of an early GUI for a home computer. Available commands are displayed in windows, but with the push of a few buttons even more information is made available to the players. For example, while the game is paused players are able to use the ‘k’ key to ‘look at’ the contents and status of each and every tile. This tool can be used for a quick refresher – does ‘g’ mean goblin or goose, for example? – or for in-depth examinations of a stockpile of trading goods. The ability to both watch the simulation run through the real-time graphical gameworld and pause it to uncover more is a good solve to representing systems with deep layers of information.
The Event Log
Probably the most-referenced (and memed) piece of UI in Dwarf Fortress is the Event Log, accessible through pressing L from the main screen. This records the notable events mentioned in the gameworld’s readout, but also functions as a combat log of (often hilariously) microscopic scope.

In order to view the event log, players must pause the gameworld, after which they are free to scroll through the pages of narrativised combat data that the game has recorded. While the time signature of combat as it is rendered in game is very ‘scenic’ (one action per turn, physics modelled with some degree of accuracy), scrolling through the hyper-detailed event log while the game is paused feels much more like a deep-dive ‘stretch’.
Thoughts & Preferences
The thoughts and preferences panel, accessible by examining the profile of any living entity in the gameworld, contains some of the most detailed procedural information that Dwarf Fortress is capable of generating. The citizens of the player’s fortress carry the most information, as shown below:

A single dwarf is made up of a multitude of the following variables:
- Thoughts – thoughts give narrative shape to how a dwarf reacts to their surroundings, and events within their fortress. These thoughts, if experienced often enough, will turn into memories, which can affect the mood of a dwarf and change its beliefs!
- Familial Status – unsurprisingly, this lists their familial relationships and objects of worship.
- Civilisation Membership – this details, in order, which civilisations, groups and fortresses they have held membership with.
- Age and date of birth – Dwarf Fortress simulates an entire world from its creation, so every dwarf has a birthday!
- Physical description – some of this is flavour, but much of it is subtly gameplay-critical – more muscle and fat means more mass for fighting; fat dwarves survive longer when starved. It also displays any injuries a dwarf has sustained.
- Physical attributes – attributes are the most traditionally RPG-like element of the Thoughts & Preferences screen: strength, agility, toughness, endurance, recuperation and disease resistance. They pertain to the core navigation, combat and fortress construction loops of Dwarf Fortress.
- Preferences – this is a nice list – being exposed to something a dwarf likes (be that a certain type of booze or a certain colour) will give them a greater chance of having a positive thought, which of course keeps them happy. The inverse is true for things the dwarf dislikes though!
- Mental attributes – far more variegated than physical attributes, mental attributes mostly just affect the duration and outcome of certain skills.
- Beliefs – beliefs, along with facets, dictate the needs of dwarves, and are organised into cultural (those shared with their current civilization or group) and personal. High belief values can unlock progression in certain conversational skills, whereas low values can block that progression.
- Goals – though it is not entirely understood how goals affect dwarves’ behaviour, that they have pretty 1-to-1 gameplay outcomes (creating a masterwork weapon, mastering a skill, having a family) suggests that they give a high chance of positive thoughts and happiness upon completion.
- Facets – facets determine the dwarf’s propensity for experiencing certain thoughts. For example, a dwarf might have a high propensity towards romance might be more likely to enter relationships. Dwarves with high differential facets are also more likely to form grudges. Like beliefs, high or low facets can block or enable progression in certain conversational skills.
- Needs – these can connect to Goals or Preferences, but speak to the immediate status of the dwarf more than the long-term, and heavily shape its actions.
Now, all of the above are contained within the game in the form of numbers (usually between -50 and 50 or 0 and 100), but they are also paired with a string that gets output to this thoughts and preferences panel. By obscuring the numerical information behind procedurally generated sentences, Dwarf Fortress heightens a player’s narrative involvement (Calleja, 2011) – if they wish to pick a particularly productive job for a dwarf, for example, they will literally need to get to know them and their history!
Much like the event log, game time is suspended in order for the player to parse this information. The time signature of the thoughts and preferences panel could be said to be ‘stretch’ as well – a sort of internal monologue moment that steps the player away from the real-time narrative, to dig deeper into a dwarf’s past experience and current feelings. However, the UI also uses colour – not only to differentiate between information types, but also to draw the player’s eye towards particularly new or relevant information. For instance, thoughts are rendered in white, but fade into grey the older they are. Wounds appear red; shaken beliefs are coloured brown. This gives the player a palpable sense of the connection between narrative past and present in Dwarf Fortress – Jayemanne’s diachrony (2020) – something that other games often struggle to achieve.
Conclusion
While I don’t expect to be able to even scratch the surface of DF’s procedural complexity, the layout and time signatures of its narrative information – immediate, key activity being displayed through readouts and animation, but more detailed information (about both the past and present) requiring effort on the part of the player both to change the game’s time signature and invest in parsing themselves – has given me a lot of ideas for Chekhov’s Gone!
References
Calleja, G. (2011) ‘Emotional involvement in digital games.’ International Journal of Arts and Technology. 4. pp 19 – 32.
Jayemanne, D. (2020) “Chronotypology: a Comparative Method For Analysing Game Time” in Games and Culture Vol 15, Issue 7.
Jorgenson, K. (2013) Gameworld Interfaces. Cambridge MA: MIT Press.