• Alexios
  • asp
  • forks
  • roguelikes
  • bbsing
  • C++
  • Posix
  • X11
  • Windows

This is a branch of the X11 terminal emulator unicode-rxvt (itself a branch of the rxvtterminal) with several modifications to make it more useful for Roguelike development, as well as BBSing.

Historically, it arose out of the need for a moder modern terminal for my ASP roguelike engine project. It evolved from numerous, older revisions of a CGA/EGA/VGA text mode 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 modern terminal emulators have this built-in, but you probably never noticed.

  • 512 colours instead of the traditional 16 (or, on more modern terminals, 256). 512 is a power of 3, which makes it easier to calculate colours without complex look-up tables and adjusting colours (e.g. for when the dungeon gets darker) is a lot easier and better looking than with a colour palette that's not a power of 3.

  • 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.


The RGA showing a 3D colour triangle

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

256-colour demo showing a 6×6×6 colour cube plus various colour ramps.

8×8×8 colour cube

512 colours in the form of an 8×8×8 colour cube.

Unicode character demo

A demo of various available Unicode characters.

Displaying a PNG image

Displaying a PNG image in a 160×50 text terminal.


The AS:P RGA Roguelike Framebuffer

If you use a Debian-like Linux distribution, you could download from the BedroomLAN Debian Repository, or view all contents of the project's directory (more versions etc.) in the repository.