All screenshots come from the libtcod sample source code.
Makes your C/C++/Python game code easily portable on Windows and Linux. Third party ports also exists for other systems and languages.
Keyboard and mouse input
The keyboard module supports both turn-by-turn and real time games.
True color console
Don’t limit yourself to monochrome or 16 color roguelikes. True colors create a whole world of new visual possibilities. Check the Projects page to see some examples.
Antialiased bitmap font support
Antialiasing makes it possible to have better looking fonts, even when you’re using characters as small as 8×8.
Sub-cell resolution & SDL callback
Use a few special characters within a font to simulate pixels half the size of a console cell or directly apply SDL post-processing on the image.
Several unicode bitmap fonts are included.
High quality pseudo-random number generation
Using Complementary Multiply With Carry or Mersenne twister algorithm.
Advanced plain text configuration file parser
Configuration files use a human readable format with built-in support for many types of properties including color, dice, ...
BMP and PNG image support
You can blit images onto your console background.
Perlin noise toolkit
Support for Perlin, simplex and wavelet noises.
Tools to generate heightmaps. Check out the YouTube video, to see it in action.
A field of view toolkit
- Basic raycasting.
- Recursive shadowcasting.
- Diamond raycasting.
- Precise permissive fov.
- Restrictive shadowcasting a.k.a. MRPAS.
Path finding toolkit
Using A* or Dijkstra algorithms, with either a builtin map data structure or your own internal data structure through function callbacks.
For regions, cities, dungeons building. See this article.
Compression support through zlib
Useful to reduce the size, and loading/saving time of save games.
Flexible name generator
Highly customizable syllables based name generator. Comes with 20 predefined syllables sets including Celtic, Norse sounding names and Region/Cities dedicated sets.