Meadow

On ASCII games

I've been playing games ever since I can remember, but I didn't have the luck to stumble on text-only (often called ASCII1) games until early in college when doing my Software Engineering major (so, around 2012).

It all started when I stumbled upon Dwarf Fortress2, a game where you control a group of dwarves and your goal is that of having them thrive by building production and economical systems, all through a simple text-only UI. It's more or less similar to other Real-Time Strategy games like the popular Age of Empires, but the depth of the simulation is breathtaking (and the goal of the game is not to win, but to have fun).

I think this was one of the first things that actually drew me to this game. As a fledgling programmer I was (and still am) completely awestruck3 by how every tiny bit of the world has rules that govern it: from the flow of liquids in a three dimensional block world to the internal feelings of the dwarves, to the worms and newts scurrying around your map, all of them with their own motivations and procedures for accomplishing them.

I quickly started to appreciate the effects that the text-only interface was having, both for me as well as for the developers. For me, once I learned to understand what every glyph meant4, it allowed my imagination to fill in the blanks between the simple representation of the entities, picturing the action in my mind's eye as it happened, being able to visualize complex engineering contraptions used to pump lava into a lava pit, or drunken cats having kittens and causing a catsplosion.

The appreciation for the developer-side of text interfaces didn't come until I started to play around with making similar games myself. Nice graphics are nice, but creating them is extremely time consuming, especially for a perfectionist like myself. Using simple text frees you completely from having to worry about creating sprites for everything in your game, and instead allows you to focus on the actual mechanics and gameplay. Sure, there's still quite a bit of design involved since the graphical limitations also mean you need to put in extra effort into making sure the game is understandable to players, but overall you can trust that they know what you mean. Sort of like writing a book without adding pictures.

After spending some time with Dwarf Fortress I started looking for other similar games that would afford a similar level of immersion. I discovered there are many many such games, but the one that probably had the most impact on me was a little game called NetHack.

Behind the deceptively simple text UI NetHack hides a fiendishly complex set of behaviors and strategies necessary to beat the game. I don't remember where I read it but it is said that if you can imagine doing something then there's probably a way to do it in NetHack.

I remember once, when I was first learning how to progress in the game, I was (unwisely) playing in a statistics lecture. I met a goblin mother (or maybe it was a kobold?) and her son. I talked to the mother who told me she and her son were living there, and then I tried talking to the son. To my dismay instead of talking I attacked and killed the poor young goblin. Not knowing what else to do and curious about what would happen I went ahead and ate the corpse since I thought it would help me recover some health (I'm a monster, I know). To my surprise once I did this the mother started crying and hitting me, telling me I was a monster. I did not expect this complex chain of cause and effect to happen. I guffawed at the absurdity of what had happened, causing the whole lecture room to silently stare at me for a good 10 seconds.

And this is what I think is the best thing about ASCII games. The flexibility they afford is just unparalleled, using the graphics engine of the player's imagination. It is possible to attain such flexibility in traditional games where there is a sprite for every possible state of every entity, but it requires a lot more effort.

When looking at yourself (the player) in an ASCII games you will see a @, but you'll know in your mind's eye what kind of armor you're wearing, what race you're, whether you're missing an arm or not. All transmitted by the lowly @.


  1. ASCII stands for American Standard Code for Information Interchange, and basically defines a set of characters that computers know how to work with (mainly alphanumeric characters and a few symbols). Even though ASCII game have ASCII in the name, they usually use a larger set of characters (e.g. UTF-8) that describe more symbols, and as such offer more freedom when designing graphical elements.↩

  2. Dwarf Fortress has recently had a Steam release that includes proper tile graphics and better menus. I bought it to support the creators but haven't really played it yet!↩

  3. One of my dreams has always been that of taking a peek at the codebase and, in so doing, attain nirvana.↩

  4. To be fair, I also cheated a bit since it is possible to play vanilla Dwarf Fortress with tilesets that make it much easier to know what every cell of the map contains. For more info see Lazy Newb Pack.↩

#videogames #wordvomit