The Aesthetics of Roguelikes.

Typography

The knowledge of the aesthetic, user-friendly and successful use of fonts is called typography. While there are numerous books and websites on this topic in relation to print and screen design, there don’t exist similar works on effective typography in text based computer games, esp. roguelikes. Well, this is no surprise, of course. However, this article tries to give some general hints one should keep in mind when developing a roguelike.

The first line we have to draw is between real console roguelikes which run without a graphical environment and roguelikes which need a GUI, like Windows, X or Aqua. The latter either use TrueType or OpenType fonts or they depend on premade letter tiles, so actually graphics. Console roguelikes have the potential to run everywhere, while pseudo ASCII roguelikes can profit of a greater choice and a better display of letters.

Console Roguelikes

24, 25 or 50 lines? This is the first interface decision a developer of a console roguelike has to make. Games with 24 lines will run in almost every terminal emulation, games with 25 lines mostly, too, but games that require 50 lines to be displayed correctly can cause some problems. Ironically mainly when executed within a graphical environment.

The more lines are used, e.g. for displaying larger parts of the world at one time, the smaller the font will be. When in a non-graphical environment, mostly the built-in font of the computer or the terminal is used; as this font was created especially for this certain »resolution«, it’s mostly quite readable. However, when using a terminal emulation in Windows, KDE, Gnome, MacOS or any other GUI, the player himself has to care about a proper font display. Unfortunately, using a 80×50 game in a typical desktop environment (where parts of the screen are covered by a taskbar and/or title bars of windows) and with a resolution of less than 1000 pixels in the vertical direction forces the player to use a very small font. These may look not only ugly, but may also become unreadable for the eyes after a certain amount of playing time.

So an 80×50 console roguelike can lead to the paradox situation that it can only hardly played within a typical desktop environment running on a modern computer. Of course it would be possible to just use a real console, but many players like to play roguelikes while having open other programs and windows.

It would surely be a good idea that roguelikes which can run with 50 lines don’t require more than 25 lines. It could be done in a similar way commercial computer games do it. When the resolution is low, reduce the amount of interface elements or decrease their overall size. When the resolution is high, display additional information or increase the size of the elements. It is not very hard to write flexible output routines which adjust themselves automatically to different terminal sizes.

GUI Roguelikes with TrueType Fonts

Roguelikes written for a graphical environment and using the standard forms of this environment have the possibility to use nearly every out of the installed fonts. Want a roguelike in Comic Sans? Well, it will be ugly, but it will be possible. You want a game in Times New Roman 40pt? Just make it so.

Happily nowadays there exist many fonts which have been created especially for screen output under graphical environments. Rather famous are for example Georgia, Lucida Sans, Verdana, Tahoma or Trebuchet MS. These fonts look good even in smaller sizes. When thinking about font use in a game, consider always to use one of these fonts (although there exist some other which are as good as these; no, Courier New does not belong to them).

Graphical Roguelikes with ASCII Bitmaps

The best balancing between freedom of font choice and safety of displaying the font is available to roguelikes which use a graphical tile engine for displaying letters. A complete alphabet is available in one bitmap file and the program blits small parts of this file to the screen, depending on the letter which has currently to be drawn.

The developer has the total control over the font used in this bitmap and he can be sure that it will look exactly the same on the player’s PC and his own computer. However, this involves a certain responsibility. If the developer selects a font which is objectively hard to read, the player has no possibility to change it, except editing the bitmap file.

Colors

Except you are developing a game or a version for blind people, you should use colors to help the player with recognizing the different characters and their meanings. This is independent from the selected font.

Beware that colors in console roguelikes may look different depending on the operation systems or the settings of the terminal. So always test the look of your game under all environments you are releasing for.

Avoid the use of too many colors at the same time. This would be confusing and, even worse, exhausting. Try to choose a small, but efficient subset of all available colors. This advice is especially true for roguelikes in graphical environments, because there you theoretically can choose from millions of colors.

Finally, keep in mind that there might be colorblind players of your game.1 If you are trying to have a somehow realistic coloring, mainly green grass and red blood, but also blue water or yellow gold could be problematic. In that case, you might think of making colors configurable or use symbolic instead of realistic means of colors.

To test how your game will look for achromates, you can make a screenshot of your game and store it on a server. Then you can use sites like Colorblind Web Page Filter to see your screenshot with colorblind eyes.

Mario Donick

 

1 Thanks to Billy Bissette (see comments on this article) for making me aware of this topic.

 

Comment #1 by Billy Bissette
(2007-03-20, via r.g.r.d)


Under »Colors«, while you make a passing remark about blindness, you skip the almost always forgotten concern of color blindness. (Though the advice of not going overboard on the number of different shades combined with the not-mentioned idea of giving some customizability to the player may be a workable solution.)

You mention two important points I really forgot to talk about in the text. Thanks for the addition!

 

If you would like to comment on this article, use the form below. Your comment will be reviewed and activated as soon as possible.

Your name:


Your mail:


Your comment: