Thursday, June 04, 2009

New true-color C/C++ roguelike libraries

I recently came across two new roguelike libraries. Both are in an early stage, but are still advanced enough to do the most important : draw colored characters in a window.

The first is tinycurses, a.k.a. "the curses of the future", by EligZero.

Someone finally decided to take curses out of the early 80s and make something usable out of it :P While it doesn't support the whole curses API (and I can certainly not blame his author for that), it brings some new interesting features, the most important being true color support. The nifty thing is that it plans to support both an opengl renderer and a curses renderer, allowing to ease the port of classic roguelikes to the world of true colors, while keeping the telnet compatibility. But it's not simply curses with colors. It has some very innovative features, like the ability to draw up to 7 characters on top of each other. It's a feature that was frequently asked by libtcod users, but I've never been audacious enough to implement it. I'm looking forward to seeing what can be done with it.

The second is even more mysterious and promising, all the more since, as far as I know, it's written by one of the most significant modern roguelike developpers. While libtcod is some kind of layman library (no real const correctness, a very thin OOP design, ...), libneko is intended to use state-of-the-art C++. While it's currently in alpha stage, even less advanced than tinycurses, I definitely keep an eye on it, hoping its authors will sustain the effort.

The good news is that those libraries will help to create even more visually appealing roguelikes. This concurrence is good because libtcod and the roguelike community above all will benefit from it.