COLUMN: @Play: Brought to You Today by the Letter....
['@ Play' is a kinda-sorta bi-weekly column by John Harris which discusses the history, present and future of the Roguelike dungeon exploring genre.]
Usually, when I talk about roguelike games here, it's in the context of being a kind of old-school Dungeons & Dragons simulator. This is an awesome thing all to itself, for reasons covered previously. Yet there are other attributes of the games that differ from D&D, or indeed any other RPG, either pen-and-paper or computer.
One of the most entertaining of these, if one has followed the evolution of the genre far enough, turns out to be a direct result of one of roguelike gaming's major limitations. While some have moved on to using simple graphics to represent the dungeon and its inhabitants, most roguelikes still at least have the option of using ASCII characters to represent the playing field. And the method of representation is one of the aspects of the genre that ties it back to Rogue: line-drawing characters for walls, an at-sign for the player, and letters for the monsters.
Letters for the monsters. Oh, the troubles that spring from this simple idea.
First problem: there are only 26 letters.
One of the many tiny, sparkling shards of awesomeness embedded in Rogue's thick hide is how it turns the limitation on monsters into a theme. The first level of rogue has a handful of monsters: Bats, Jackals, Snakes, Hobgoblins and Kobolds. Every level after the first introduces one new monster until Dragons enter the game on level 22. I submit that it is no coincidence that the Amulet of Yendor appears on level 26.
But Rogue, for its coolnesses, is still a fairly short and simple game. Most games these days want to offer more opponents than just 26. And so the great bestiary proliferation began.
Now those games that offer more than 26 monsters have to come up with some way to represent the new monsters. There are three ways this is done. The oldest, going back to the lost roguelikes, is to treat uppercase and lowercase monsters as different species. Nearly all of them do this now, but it still limits the opponent types to 52. The second was is to use different colors to distinguish between monsters, and this is also pretty common. A DOS-style terminal is capable of displaying 16 different colors, although one of them is black. 15 * 52 is 780 beasties, which sounds like a lot, although for other reasons we'll get to shortly still isn't enough.
The final idea was to allow a few symbols in there to add a few more creatures to the mix. Nethack uses @ symbols to represent humans and ampersands (&) for demons, along with a few others. In that game colons are lizards, semi-colons are sea monsters, and apostrophes are golems. We are not quite sure what system was used for assigning these; the secretive Devteam hasn't said anything about it, although there is certainly a chance that there is some pattern at work. Fiendishly, both Nethack and Angband use the same symbols as game terrain to represent hidden monsters. Nethack ghosts are represented in-game by spaces, and Angband trappers use the same character as the floor. Angband mimics use the same characters as object types lying on the floor.
There are other letter-like symbols that could be used, if one is willing to poach characters from other languages. The basic ASCII alphabet doesn't have any of those, but extended ASCII and Unicode support them. This isn't as helpful as one might suppose, however; the advantage to ASCII is its universality, and furthermore, the primary advantage of using letters if that monsters are more easily recognizable by using the first letter of their name to represent the foe. Most players speak English, and there just aren't many monsters iconic enough for inclusion that use diacritical marks on their first letters.
Yet, despite all these options, it's still not enough for some games. Nethack, in particular, has a scheme whereby monster letters (upper- and lower-case considered separately) indicate a general monster type, and color depicts species. A comment in the source code notes the pattern behind these: monsters with an elemental affinity are to use an appropriate color (red for fire, white for ice), and leader or royal monsters are purple. Yet under this system there are some monsters that appear identical on an ASCII display. The most troublesome result of this happens near the end of the game, when the player reaches the elemental plane of Earth. Upon entry, the first two monsters the player meets are always another reincarnation of the Wizard of Yendor and an elflord, both represented by a purple "@". The elflord is a middle-level foe, not dangerous to a player who has literally been to hell and back, but the Wizard could be quite a pest.
Second problem: Finding monsters for the less-common letters
Fitting all the monsters into 26 letters isn't exactly easy, but worse is finding monsters for the less-common letters of the alphabet.
ADOM is maybe the game least burdened by these considerations. While it does try to conform the monsters into families represented by particular letters, there are many letters that don't obviously match family names. Grues are 'x'es, while humans are generally '@' barbarians are 'K's, bugbears are 'g', bears are 'N', golems are 'Y', sea monsters seem to be 'A', and so on.
I've been thinking a bit about this problem myself, and started compiling a list of monsters that begin with different letters. A few letters are easy. It turns out there are an abundance of G monsters: Gnome, Griffin, Gargoyle, Gremlin, Gorgon, Golem. V, a fairly uncommon letter, has more monsters than one might expect: Vampire, Vrock and Vortex.
A few letters are troublesome, in particular: J, K, Q, X, Y and Z. It is entirely because of the letter Y that the Yeti appears in so many roguelike games. The difficulty of finding good monsters for K, Q and Y, ultimately, was responsible for the beginnings of a roguelike tradition: the inclusion of weird monsters in order to fill out the whole alphabet.
To elaborate: the first versions of Rogue borrowed much of the opposition from Dungeons & Dragons. Later revisions switched out some of those monsters for a more idiosyncratic set. The rumor is that this was done in order to foil Rog-O-Matic, the early Rogue-playing borg, but to me it seems at least possible that it was to distance the game from D&D around the time the game was being sold commercially by Epyx.
When the monsters were changed, they had to find new monsters for some of the hard-to-fill letters. This was the point that Lewis Carroll's Jabberwock became a Rogue monster, as did the Quagga, an extinct relative of the zebra, the Kestral, a type of falcon one might not expect to find underground, and my personal favorite, the Xeroc, replacing mimics. (Think about that name for a moment, in relation to copying things.)
| Artist's rendering of a Yeek |
Not even Angband is immune to this. One of that game's trademarks is a race of very-low-level humanoids called Yeeks, which actually originated in Moria. Yeeks are something of an unofficial mascot for the games, a race of monsters that are comically weak. According to the deleted Wikipedia page on them, they're called Yeeks because that's the sound they make when stepped on. Yeeks have a kind of popularity in Angband culture; the basic game includes the King and Prince of the Yeeks (Boldor and Orfax) as unique monsters, and variants add the Yeekish Queen and President.
Some recent variants even make Yeeks a playable race. Being so weak, they gain experience levels rapidly, but unfortunately they must live with a -5 to Luck. Why would that be? Because, if you were born a Yeek, it's not exactly like the laws of chance were on your side.
| Letter | Rogue V4 | Rogue V5 | Nethack l-case | Nethack u-case | Angband l-case | Angband u-case |
|---|---|---|---|---|---|---|
| A | Giant Ant | Aquator | Insect | Angel | Ant | Angel |
| B | Bat | Bat | Blob | Bat | Bat | Bird |
| C | Centaur | Centaur | Cockatrice | Centaur | Centipede | Canine |
| D | Dragon | Dragon | Dog | Dragon | Minor Dragon | Major Dragon |
| E | Floating Eye | Emu | Eye | Elemental | Eye | Elemental |
| F | Violet Fungi | Venus Flytrap | Feline | Fungus | Feline | Dragon Fly |
| G | Gnome | Griffon | Gremlin | Gnome | Golem | Ghost |
| H | Hobgoblin | Hobgoblin | Humanoid | Giant | Humanoid | Chimera |
| I | Invisible Stalker | Ice Monster | Imp | (invisible creature) | Icky Thing | Insect |
| J | Jackal | Jabberwock | Jelly | Jabberwock | Jelly | Snake |
| K | Kobold | Kestral | Kobold | Keystone Kop | Kobold | Killer Beetle |
| L | Leprechaun | Leprechaun | Leprechaun | Lich | Louse | Lich |
| M | Mimic | Medusa | Mimic | Mummy | Mold | Hydra |
| N | Nymph | Nymph | Nymph | Naga | Naga | (unused) |
| O | Orc | Orc | Orc | Ogre | Orc | Ogre |
| P | Purple Worm | Phantom | Piercer | Pudding | Lesser Person | Major Person |
| Q | Quasit | Quagga | Quadruped | Quantum Mechanic | Quadruped | Quylthulg |
| R | Rust Monster | Rattlesnake | Rat | Rust Monster | Rodent | Reptile |
| S | Snake | Snake | Spider | Snake | Skeleton | Spider |
| T | Troll | Troll | Trapper | Troll | Town Resident | Troll |
| U | Umber Hulk | Black Unicorn | Unicorn | Umber Hulk | Lesser Demon | Greater Demon |
| V | Vampire | Vampire | Vortex | Vampire | Vortex | Vampire |
| W | Wraith | Wraith | Worm | Wraith | Worm | Wraith |
| X | Xorn | Xeroc | Xan & Bugs | Xorn | (unused) | Xorn |
| Y | Yeti | Yeti | Light | Yeti | Yeek | Yeti |
| Z | Zombie | Zombie | Zruty | Zombie | Zombie | Hound |
Others:
Nethack: commercial-at: Human or Elf, space: Ghost, colon: Lizard, semi-colon: Sea Monster, apostrophe: Golem, Amphersand: Demon
Angband: period: Lurker, comma: Plant Monster, dollar-sign: Creeping Coins, various symbols: Mimic
Sources:
The Rogue Vede-Mecum:
http://www.monmouth.com/~colonel/rvm.html
Wikihack:
http://nethack.wikia.com/
Angband monster spoilers:
http://www.thangorodrim.net/spoilers/monsters0.html
The ampersand demons above come from the Geoduck Tileset, a clever Nethack modification that makes monster graphics tiles into appropriately-customized ASCII versions.
Image of a quagga (R.I.P.) from the Wikipedia entry on that animal.
Image of Fobby (shamelessly pawned off as a Yeek) is from Earthbound, copyright by Nintendo. Used here because Earthbound is awesome. Pic stolen from Fobbies Are Borange.









Comments
Are "k" monsters really that hard to find? Hmmm. Kirin, Kappa, Kelpie, Kraken... Kikimora? Maybe not the best-known of mythical creatures, but more obvious choices than the Kops. (There are ki-rin & krakens in Nethack, of course, but neither uses the letter.) The kirin could alternatively have provided a "q", since the Chinese name (in pinyin) is qilin...
A kappa could be an interesting roguelike monster, actually. I don't know if any major game includes one.
Posted by: Tim May | July 19, 2008 10:23 AM
The thing is, to fill in those letters, one usually must go into increasing obscure foregin folklore monsters or make something up. Kappa might be interesting as another prankster monster, granted.
Posted by: John H. | July 19, 2008 5:53 PM
I don't think anyone who has played Amiga Moria will forget the Little Lavender Leprechauns and their Large cousins...
That and Dark and Stormy Knights show how much word play is a part of the roguelike tradition (I know you've commented on this previously).
Posted by: Andrew Doull | July 19, 2008 6:33 PM
There are two more variations of color that are ingored, that push the count above 15*whatever.
The first is cycling colors for a single character. This can be found in Angband for "multi-hued" creatures like Multi-hued dragons. Earlier implementations had these creatures only change color with each key-press, which led to potential risk of mis-identifying a monster at first sight. Other implementations had such characters cycle on a timer independent of keypress, reducing such risk.
An Angband variant also brought in an increased color palette. While you obviously cannot get away with using every possible shade for different creatures, as people would have difficulty telling close shades apart, you could squeeze in more distinctly identifiable creatures in addition to getting a better display in general.
Posted by: Baines | July 19, 2008 6:55 PM
great column... learning about yeeks makes this a goood week!
Posted by: Cibbuano | July 20, 2008 5:04 PM
Baines, that's a good catch. ADOM uses a similar color-changing trick with its "karmic" beings.
Posted by: John H. | July 20, 2008 8:27 PM
The artist's rendering of a Yeek is a Fobby from Earthbound? Genius. Great column!
Posted by: Mike | July 21, 2008 5:50 AM
Not an original quip, but funny and true. Roguelike: a game in which one kills letters and takes their punctuation.
Posted by: Cyru | July 21, 2008 8:01 PM
«[T]o fill in those letters, one usually must go into increasing obscure foregin folklore monsters or make something up. »
Granted.
Anyway, thinking about this column reminded me of a webcomic, which after a couple of days of searching I finally tracked down:
http://www.rockpapershotgun.com/2008/05/18/strafe-left-the-formative-years-30/
No "q"s or "k"s on there, either...
Posted by: Tim May | July 24, 2008 4:36 PM
In my roguelike of choice, Ragnarok/Valhalla, they get over the Z problem by creating the zardon, a spindly little brown thing with a coincidental resemblance to my own name and a head shaped like Juggernaut's helmet that could shoot psychic blasts at you from anywhere on the level. What really made them unique was that they could actually hurt the player more than the player character, since they interrupted the cute little bip-bip-bup-bup of normal combat with a deafening FWEEEEEEP every five steps. And then you find a room with three zardons and a monster that can stun you.
Posted by: Zordran | July 25, 2008 10:16 PM
zardons, eh? Devious. Hmm, I wonder if anyone's ever considered putting Zardoz in as a god in a roguelike....
That comic looks familiar, I think I saw it too when it was first posted. Good find!
Posted by: John H. | February 4, 2009 12:50 AM