Difference between revisions of "Doryen library"

From RogueBasin
Jump to navigation Jump to search
(Update versions and fix GitHub links)
 
(30 intermediate revisions by 13 users not shown)
Line 1: Line 1:
{{library| name = Doryen Library
{{library| name = Doryen Library (libtcod)
|developer = Jice
|developer = [[User:HexDecimal|Kyle Benesch]]
|released =  
|released = 2008-05-01 (1.0.0)
|updated = Mar 22 2009 (1.4.1)
|updated = 2023-05-26 (1.24.0)<ref>[https://github.com/libtcod/libtcod/blob/main/CHANGELOG.md Libtcod changelog].</ref>
|dependencies =  
|dependencies = [[SDL]]
|status =  
|status = Stable
|licensing = BSD License
|licensing = BSD License<ref>[https://github.com/libtcod/libtcod/blob/main/LICENSE.txt Libtcod license].</ref>
|language =  
|language = [[C]], [[C++]]
|platforms = [[Windows]], [[Haiku]], [[Linux]], [[Mac OS X]]
|site = https://github.com/libtcod/libtcod
}}
{{library| name = Python-tcod
|developer = [[User:HexDecimal|Kyle Benesch]]
|released = 2009-01-31 (1.0.0)
|updated = 2023-07-10 (16.1.1)<ref>[https://github.com/libtcod/python-tcod/blob/main/CHANGELOG.md Python-tcod changelog].</ref>
|dependencies = [[SDL]], libtcod
|status = Stable
|licensing = BSD License<ref>[https://github.com/libtcod/python-tcod/blob/main/LICENSE.txt Python-tcod license].</ref>
|language = [[Python]]
|platforms = [[Windows]], [[Mac OS X]], [[Linux]]
|platforms = [[Windows]], [[Mac OS X]], [[Linux]]
|site = http://thedoryenlibrary.appspot.com
|site = https://github.com/libtcod/python-tcod
}}
}}
== The Doryen Library ==


Also known as libtcod, the Doryen Library is the function library built for the Chronicles of Doryen.
Also known as libtcod, the Doryen Library is a collection of utilities originally built for [[Doryen|The Chronicles of Doryen]] by [[Jice]].  The library has received many contributions from the community<ref>[https://github.com/libtcod/libtcod/blob/main/LIBTCOD-CREDITS.txt Libtcod credits file], has a list of notable contributors.</ref> and is now maintained by [[User:HexDecimal|HexDecimal]].


It is an uncomplicated library for roguelike developers.
It is meant to be an uncomplicated library for roguelike developers.


Features :
Features :
* windowed or full screen console with true color support
* windowed or full screen console with true color support
* support for custom character sets using bitmap fonts
* Mersenne twister and Complementary Multiply With Carry [[random number generator]]
* Mersenne twister [[random number generator]]  
* inbuilt support for [[dice]] (string parsing, rolling)
* Bresenham line drawing toolkit
* Bresenham line drawing toolkit
* Perlin noise generator
* Perlin, Simplex and Wavelet noise generator
* field of view toolkit  
* [[FOV|field of view]] toolkit with 5 different algorithms
* image toolkit with support for rotation/stretching  
* image toolkit with support for rotation/stretching and subcell resolution blitting
* support for turn by turn and real time games
* mouse support
* mouse support
* advanced configuration file parser
* fast generic container with array/list/stack interfaces
* bsp toolkit
* bsp toolkit
* heightmap toolkit
* heightmap toolkit
* pathfinding toolkit
* pathfinding toolkit (A* and Dijkstra)
* compression toolkit
* antialiased and [[Unicode]] font support
* antialiased font support
* custom/dynamic font characters mapping
* custom/dynamic font characters mapping
* PNG images support
* 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.
== See also ==


It currently has bindings for [[C]], [[Cpp|C++]] and [[python]] languages.
* [[Doryen library:Reviews]]
* [https://libtcod.readthedocs.io/en/latest/ Libtcod C/C++ documentation]
* [https://python-tcod.readthedocs.io/en/latest/ Python-tcod documentation]


A binding exists for [[C#]] through [[Libtcod-net]].
== References ==
<references />


[http://roguecentral.free.fr/libtcod/doc/doc.php Documentation]
[[Category:Open source]]

Latest revision as of 13:58, 19 August 2023

Doryen Library (libtcod)
Library project
Developer Kyle Benesch
Released 2008-05-01 (1.0.0)
Updated 2023-05-26 (1.24.0)[1]
Status Stable
Licensing BSD License[2]
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 2023-07-10 (16.1.1)[3]
Status Stable
Licensing BSD License[4]
P. Language Python
Platforms Windows, Mac OS X, Linux
Dependencies SDL, libtcod
Official site of Python-tcod


The Doryen Library

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[5] 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.

See also

References