Difference between revisions of "Doryen library"

From RogueBasin
Jump to navigation Jump to search
(more info)
(Update versions and fix GitHub links)
 
(36 intermediate revisions by 14 users not shown)
Line 1: Line 1:
The Doryen Library is the function library built for the chronicles of doryen.
{{library| name = Doryen Library (libtcod)
|developer = [[User:HexDecimal|Kyle Benesch]]
|released = 2008-05-01 (1.0.0)
|updated = 2023-05-26 (1.24.0)<ref>[https://github.com/libtcod/libtcod/blob/main/CHANGELOG.md Libtcod changelog].</ref>
|dependencies = [[SDL]]
|status = Stable
|licensing = BSD License<ref>[https://github.com/libtcod/libtcod/blob/main/LICENSE.txt Libtcod license].</ref>
|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]]
|site = https://github.com/libtcod/python-tcod
}}
== The Doryen Library ==


It is an uncomplicated library for roguelike developers.
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 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
* bsp toolkit
    * advanced configuration file parser
* heightmap toolkit
    * fast generic container with array/list/stack interfaces
* pathfinding toolkit (A* and Dijkstra)
    * bsp toolkit
* antialiased and [[Unicode]] font support
    * heightmap toolkit
* custom/dynamic font characters mapping
    * pathfinding toolkit
* PNG images support
    * compression toolkit
* customizable name generator with 20 predefined syllable sets
    * antialiased font support
 
    * custom/dynamic font characters mapping
== Python-tcod ==
    * PNG images support
 
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.


It currently has bindings for [[C]], [[Cpp]] and [[python]] languages.
== See also ==


A partial binding exists for [[C#]] through [[Libtcod-net]].
* [[Doryen library:Reviews]]
* [https://libtcod.readthedocs.io/en/latest/ Libtcod C/C++ documentation]
* [https://python-tcod.readthedocs.io/en/latest/ Python-tcod documentation]


[http://jice.nospam.googlepages.com/thedoryenlibrary Homepage]
== 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