Clone wiki

libtcod / Features


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.

Unicode support

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.


Heightmap toolkit

Tools to generate heightmaps. Check out the YouTube video, to see it in action.


A field of view toolkit

Supported 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

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.