BedroomLAN

Tilde~A: Alexios' Homepage

RGA: The Roguelike Graphics Adapter

This is a branch of the X11 terminal emulator unicode-rxvt (itself a branch of the rxvt terminal) with several modifications to make it more useful for Roguelike development, as well as BBSing. It has 512 user-defined colours, uses Unicode fonts, can report all keyboard and mouse events (not just characters pressed), and is still a full-fledged terminal emulator.

This is a branch of the X11 terminal emulator unicode-rxvt (itself a branch of the rxvt terminal) with several modifications to make it more useful for Roguelike development, as well as BBSing. The RGA evolved from numerous, older revisions of a CGA/EGA/VGA framebuffer emulator written for the graphical version of Kareltima III. The acronym is obviously derived from IBM's 80s fetish for naming graphics cards X Graphics Adapter. In this case, RGA is the Roguelike Graphics Adapter. Keep your tongue firmly in your cheek as you pronounce this. It offers a number of features useful in Roguelike development:

  • Unicode (using the UTF-8 encoding). With the right fonts (which come free with most X11 installations), you can have thousands of glyphs at your fingertips.
  • Enhanced keyboard support. Applications can receive detailed information about key presses, including dead keys and modifier keys (like Shift, Control and Alt).
  • Mouse support. Okay, most terminals have this built-in.
  • 512 colours instead of the traditional 16 (or, on more modern terminals, 256).
  • Used with the right fonts, you can get a 1:2 character cell aspect ratio, which helps in anticipating and reducing spatial distortions in roguelikes (where, typically, one horizontal step is shorter than a vertical or diagonal one, because of the non-square character grid).

The RGA understands the standard X3.64 terminal directives, just like rxvt. In addition, a couple of them have been extended to support more colours, and a couple of non-standard ones were added to control additional behaviour.

To facilitate roguelike development, certain other features that come as standard on terminal emulators (like resizing the window) have been disabled by default.

Screenshots

A 3D colour triangle using the 512-colour palette and just a few of the dozens of block characters in Unicode. Including the background, 110 colours and 9 visible Unicode characters are shown here.
256-colour demo showing a 6×6×6 colour cube plus various colour ramps.
512 colours in the form of an 8×8×8 colour cube.
A demo of various available Unicode characters.
Displaying a PNG image in a 160×50 text terminal.

Download