PuTTY and the Crawl servers work together to server you Crawl in pure ASCII. And that’s how a lot of people like it! It does have some advantages:

  • People watching you play live see exactly what you see. When you are not using ASCII, your output must be “stripped” (converted) to ASCII for people watching. This is not automatic; your audience must press “s” to activate stripping.
  • People watching ttyrecs (“movies”) of your past games will always see something… reasonable! Ignoring various “ifs” and “buts,” only ASCII play guarantees that your records of your game will look right for your audience, with no work for them.

Even as an ASCII lover, you may want to set a pretty font, like Consolas or Lucida Console, and save your eyes by upping the font size to the biggest that your screen can handle — maybe 14 points. To do that, go to Window > Appearance > Font Settings > Change….

But maybe you fell in love with the look of the Windows console version and would prefer to use the same on the server. You can! Here’s how:

  • In your Crawl options on the server, add the following line: char_set = IBM
  • In PuTTY, set Window > Translation > Received data assumed to be in which character set to CP437

Many people instead prefer a second pretty character set, Unicode. To use Unicode characters:

  • In your Crawl options on the server, add the following line: char_set = unicode
  • In PuTTY, set Window > Translation > Received data assumed to be in which character set to UTF-8

Finally, you may wish to customize the character set. For example, let’s say you love the Unicode charset and the Lucida Console font, but you hate the empty square character for doors (Windows’ way of saying “I don’t have this character, sorry”). You can fix this! To customize a certain character, add this line:

cset_(name of character set) = (name of thing): (character to use)

So in our door-fixing example, we would use:

cset_unicode = door_closed: +

(Lucida Console is missing a lot of Unicode glyphs, so here we took the easy way out by using +… but read on.)

You can find the list of names of things to use for (name of thing) here.

If you need a character that you can’t represent in your current PuTTY font, you can tell Crawl its Unicode code instead. You can find a table of Unicode codes for example here. For example, if you can’t easily type €, but you wish to end the rampage of American monetary imperialism in the roguelike world by using € for money, you check the table, discover that € has the code 8364, and use:

cset_unicode = item_gold: 8364

OK, that was our silly example. Now for two serious ones! Let’s say we use Lucida Console font and we’re curious about Unicode, but we can’t live without IBM-like floor tiles, and + signs as doors just aren’t good enough for us. No problem! Here we go:

cset_unicode = door_closed: 9632
cset_unicode = floor: 8226

For reduced frustration when seeking glyphs that are really available in your favorite font, you can use the Windows Character Map accessory to find the character you want and then read its hex code at the bottom of Character Map. You can use the hex code directly in Crawl’s options by prefixing it with x, e.g. “x0040″ for “@.” To seek available glyphs by description instead of by picture — for example, that floor tile was easily found by seeking “bullet” — you can use a subpage of this page here.

Happy (and pretty) Crawling!