libtcod is a free, fast, portable and uncomplicated API for roguelike developers providing a true color console, pathfinding, field-of-view, and a few other utilities frequently used in roguelikes.
This is the easiest way to get the latest stable version of libtcod for any project.
Libtcod is included as a port in Vcpkg. You can install libtcod via Vcpkg and then link the library using a CMake script as you normally do for that package manager.
This is the best option for testing the development versions of libtcod.
You can include libtcod in a project by adding the libtcod repository as a submodule and then adding that directory to a CMake script. You will want to fork this template project if you plan on starting a project with this setup.
It is expected that Vcpkg will be used, but libtcod's CMake script can be configured to compile without using Vcpkg for dependencies. See CONTRIBUTING.md for details on configuring dependencies.
This is not recommend as these releases are unwieldy, are more difficult to update, and are less cross-platform. Do not upload binary files to your projects source repository.
If you are programming in C or C++ then Windows and MacOS binaries are available from the GitHub Releases page.
Various C/C++ sample projects are included within the repository which can be used as examples of various features.
Keep in mind that as a C++ library, you may need to distribute the appropriate runtime with your program such as the Visual Studio 2015 runtimes or else the program will fail to run.
For those who wish to program in Python you can install python-tcod using this installation guide. Once installed you can follow the Python 3 tutorial or you can find Python example scripts on the python-tcod repository.
A alternative version of the Python library (libtcodpy) exists in the binary downloads, but you should avoid using this version as it is not as well maintained.
This is only recommended for libtcod developers. See CONTRIBUTING.md.
The latest documentation is here. Currently it's very incomplete, so most people will want to read the 1.6.4 documentation instead. Python users should use the python-tcod documentation.
libtcod comes with a sample application, implementations of which are provided
in each of
C (samples_c.c),
C++ (samples_cpp.cpp),
and Python (samples_py.py).
This provides a decent overview of the basic features, in an interactive
fashion.
Each should be identical for the most part, so if you are using Windows,
downloading the pre-compiled binaries and running the included samples.exe
which is compiled from the C source code, should be representative of the other
versions.