It can be difficult to decide which output library to use when creating a Roguelike. There are many different ones available. Libraries differ in portability, ease of use, speed, and other factors. This article compares different options.
Curses is a library for I/O to a terminal. It’s quite portable, and applications will often compile on different operating systems with little or no change. It is probably your best choice if you don’t need more than 8 or 16 colors.
Advantages:
Disadvantages:
SDL is a cross-platform multimedia library. It has many features not found in other libraries on this page, and is portable (though it can be hard to install on Windows machines). It has bindings for several languages, including Python.
Advantages:
Disadvantages:
Libtcod allows 16 million colors, and larger consoles than available otherwise. It’s portable, and includes a collection of FOV algorithims, noise generators for Perlin, simplex and wavelet noise, heightmap generators, random name generators, and other roguelike goodies. Unfortunately it takes some time to get used to.
Advantages:
Disadvantages:
RLLib was developed by Nathan Stoddard. It isn’t being developed anymore, because the author is now using Python, but the newest version is available for download, and it might be useful for some games. Note that it is different than Roguelikelib, which happens to have a similar name.
Advantages:
Disadvantages:
This only works with DOS and Windows and hence should not be used for any game required to be portable.
Advantages:
Disadvantages:
It’s possible to call the Windows API functions directly. As you can tell from the name this only works with Windows and is not portable to other platforms.
Advantages:
Disadvantages:
LĂ–VE2D is a Lua graphics framework.
Advantages:
Disadvantages: