2009
06.24

libtcod tries to provide the easiest API for most usual tasks in roguelike development. You can request for new features on the library
forum.

Main features *

(*) The screenshots come from the samples included with the library

portable

Makes your C/C++/python game code easily portable on windows and linux. Third party ports exists for other system and languages.

keyboard and mouse input

The keyboard module support 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 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 in the font to simulate pixels twice smaller than the console cell or directly apply SDL post-processing on the image.

unicode support

Several unicode bitmap fonts included.

high quality pseudo-random number generator

Using Complementary Multiply With Carry or Mersenne twister algorithm.

advanced plain text configuration file parser

Config files use a human readable format with builtin support for lots of variables types including colors, dices, …

bmp and png images support

You can blit images on your console background

Perlin noise toolkit

Support for Perlin, simplex and wavelet noises.

heightmap toolkit

Tools to generate heightmaps. Click on the screenshot to see the video.

field of view toolkit

Support for algorithms : * 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.

BSP toolkit

For regions, cities, dungeons building. See
this article.

compression support through zlib

Mainly for savegames.

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.