Difference between revisions of "Doryen library"

From RogueBasin
Jump to navigation Jump to search
(update features)
m (Update versions, fix changelog ref.)
(19 intermediate revisions by 11 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 = Oct 06 2009 (1.4.2)
|updated = 2022-01-07 (1.20.1)<ref>[https://github.com/libtcod/libtcod/blob/develop/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/develop/LICENSE.txt Libtcod license].</ref>
|language = [[C]], [[Cpp|C++]], [[Python]]
|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 = 2022-01-07 (13.3.0)<ref>[https://github.com/libtcod/python-tcod/blob/develop/CHANGELOG.md Python-tcod changelog].</ref>
|dependencies = [[SDL]], libtcod
|status = Stable
|licensing = BSD License<ref>[https://github.com/libtcod/python-tcod/blob/develop/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
|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/develop/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++]], [[C#]], [[D]] and [[python]] languages.
== Python-tcod ==


Wrappers exists for [[C Sharp|C#]] through [[Libtcod-net]], [[D]] and [[Common Lisp]].
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.


[http://doryen.eptalys.net/data/libtcod/doc/1.4.2/index.html Documentation]
== 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 ==
== 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]]

Revision as of 08:55, 4 February 2022

Doryen Library (libtcod)
Library project
Developer Kyle Benesch
Released 2008-05-01 (1.0.0)
Updated 2022-01-07 (1.20.1)[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 2022-01-07 (13.3.0)[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