Difference between revisions of "Output libraries"
m (Moved the more useful library (curses) up to the top and changed the tone of the text to be a little more objective.) |
(→RLLib) |
||
Line 24: | Line 24: | ||
== RLLib == | == RLLib == | ||
RLLib | RLLib was developed by [[Nathan Stoddard]]. It isn't being developed anymore, because the author is now using [[Python]], but the newest version is [http://nathanstoddard.com/rllib/rllib.shtml 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: | Advantages: | ||
* 16 million colors | * 16 million colors | ||
* Mouse support, an [[RNG]], config file support | * Mouse support, an [[RNG]], config file support | ||
Line 33: | Line 32: | ||
* Allows access to individual pixels, and drawing characters at any position on the screen | * Allows access to individual pixels, and drawing characters at any position on the screen | ||
* A simple message printing system | * A simple message printing system | ||
* Relatively easy to use | * Relatively easy to use | ||
* Hexagon support | * Hexagon support | ||
Line 39: | Line 37: | ||
Disadvantages: | Disadvantages: | ||
* Not | * Not easily portable to platforms besides [[Windows]] and the [[X Window System]]. | ||
== conio.h == | == conio.h == |
Revision as of 20:58, 18 May 2009
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
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:
- Portable
- Relatively easy to use
Disadvantages: Only allows up to 8 foreground colors and 8 background colors. (It's possible to get 8 more foreground colors by using the bold attribute.)
libtcod
Libtcod allows 16 million colors, and larger consoles than available otherwise. It's portable, but unfortunately it takes some time to get used to. (Can someone add more to this? I'm not really familiar with libtcod.)
Advantages:
- Portable
- 16 million colors
- Many capabilities besides a command-line interface, like mouse support and a configuration file parser, and advanced features such as perlin noise
Disadvantages:
- A little hard to learn
- The default font is hard to read, especially on large screens
RLLib
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:
- 16 million colors
- Mouse support, an RNG, config file support
- Doesn't rely on any additional libraries
- Allows access to individual pixels, and drawing characters at any position on the screen
- A simple message printing system
- Relatively easy to use
- Hexagon support
- Simple graphics support
Disadvantages:
- Not easily portable to platforms besides Windows and the X Window System.
conio.h
This only works with DOS and Windows and hence should not be used for any game required to be portable.
Advantages:
- Easy to use
Disadvantages:
- Unportable
Windows API Calls
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:
- Fast
Disadvantages:
- Very hard to use
- Completely unportable