Difference between revisions of "Doryen library"

From RogueBasin
Jump to navigation Jump to search
(Update versions and fix GitHub links)
 
(17 intermediate revisions by 10 users not shown)
Line 1: Line 1:
{{library| name = Doryen Library
{{library| name = Doryen Library (libtcod)
|developer = Jice, Mingos, Donblas
|developer = [[User:HexDecimal|Kyle Benesch]]
|released =  
|released = 2008-05-01 (1.0.0)
|updated = Aug 21 2010 (1.5.1b1)
|updated = 2023-05-26 (1.24.0)<ref>[https://github.com/libtcod/libtcod/blob/main/CHANGELOG.md Libtcod changelog].</ref>
|dependencies = [[SDL]]
|dependencies = [[SDL]]
|status = Stable
|status = Stable
|licensing = BSD License
|licensing = BSD License<ref>[https://github.com/libtcod/libtcod/blob/main/LICENSE.txt Libtcod license].</ref>
|language = [[C]], [[Cpp|C++]], [[Python]], [[C#]]
|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://doryen.eptalys.net/libtcod
|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 and Complementary Multiply With Carry [[random number generator]]  
* inbuilt support for [[dice]] (string parsing, rolling)
* Bresenham line drawing toolkit
* Bresenham line drawing toolkit
* Perlin, Simplex and Wavelet noise generator
* Perlin, Simplex and Wavelet noise generator
* field of view toolkit with 5 different algorithms
* [[FOV|field of view]] toolkit with 5 different algorithms
* image toolkit with support for rotation/stretching and subcell resolution blitting
* 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 (A* and Dijkstra)
* pathfinding toolkit (A* and Dijkstra)
* compression toolkit
* antialiased and [[Unicode]] font support
* antialiased and unicode font support
* custom/dynamic font characters mapping
* custom/dynamic font characters mapping
* PNG images support
* PNG images support
* customizable name generator with 20 predefined syllables sets
* customizable name generator with 20 predefined syllable sets


It currently has bindings for [[C]], [[Cpp|C++]] and [[python]] languages.
== Python-tcod ==


Wrappers for [[C Sharp|C#]] are now built in as an official package.
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.


External wrappers also exists for [[D]] and [[Common Lisp]].
== Other ports ==


[http://doryen.eptalys.net/data/libtcod/doc/1.5.1/index2.html?c=true&cpp=true&cs=true&py=true&lua=true Documentation]
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 ==
== See also ==


[[Doryen library:Reviews]]
* [[Doryen library:Reviews]]
* [https://libtcod.readthedocs.io/en/latest/ Libtcod C/C++ documentation]
* [https://python-tcod.readthedocs.io/en/latest/ Python-tcod documentation]
 
== References ==
<references />
 
[[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