Doryen library
Doryen Library (libtcod) | |
---|---|
Library project | |
Developer | Kyle Benesch |
Released | May 01 2008 (1.0.0) |
Updated | May 21 2021 (1.18.1) |
Status | Stable |
Licensing | BSD License |
P. Language | C, C++ |
Platforms | Windows, Haiku, Linux, Mac OS X |
Dependencies | SDL |
Official site of Doryen Library (libtcod) |
Python-tcod | |
---|---|
Library project | |
Developer | Kyle Benesch |
Released | 2009-01-31 (1.0.0) |
Updated | 2021-06-15 (12.6.2) |
Status | Stable |
Licensing | BSD License |
P. Language | Python |
Platforms | Windows, Mac OS X, Linux |
Dependencies | SDL, libtcod |
Official site of Python-tcod |
Also known as libtcod, the Doryen Library is a collection of utilities originally built for The Chronicles of Doryen by Jice. The library has received many contributions from the community[1] and is now maintained by HexDecimal.
It is meant to be an uncomplicated library for roguelike developers.
Features :
- windowed or full screen console with true color support
- Mersenne twister and Complementary Multiply With Carry random number generator
- inbuilt support for dice (string parsing, rolling)
- Bresenham line drawing toolkit
- Perlin, Simplex and Wavelet noise generator
- field of view toolkit with 5 different algorithms
- image toolkit with support for rotation/stretching and subcell resolution blitting
- mouse support
- bsp toolkit
- heightmap toolkit
- pathfinding toolkit (A* and Dijkstra)
- antialiased and Unicode font support
- custom/dynamic font characters mapping
- PNG images support
- customizable name generator with 20 predefined syllable sets
Python-tcod
Python-tcod is the official Python port. This port was able to fix significant performance issues with the previous ports by using NumPy arrays to pass data to the C library. This library is backwards compatible with the original Python bindings "libtcodpy" which have been deprecated.
Other ports
Since C is relatively easy to port the Doryen Library is sometimes ported to various languages. The simplistic language bindings included with libtcod other than C++ are no longer maintained.