Difference between revisions of "Doryen library"

From RogueBasin
Jump to navigation Jump to search
(C# and Mac are problematic)
(Update versions and fix GitHub links)
 
(9 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{library| name = Doryen Library
{{library| name = Doryen Library (libtcod)
|developer = Jice, Mingos
|developer = [[User:HexDecimal|Kyle Benesch]]
|released = May 01 2008 (1.0.0)
|released = 2008-05-01 (1.0.0)
|updated = Aug 29 2012 (1.5.1)
|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 Sharp|C#]]
|language = [[C]], [[C++]]
|platforms = [[Windows]], [[Haiku]], [[Linux]], [[Mac OS X]]
|platforms = [[Windows]], [[Haiku]], [[Linux]], [[Mac OS X]]
|site = http://roguecentral.org/doryen/libtcod
|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 ==


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 and colored tiles
* 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)  
* inbuilt support for [[dice]] (string parsing, rolling)  
Line 24: Line 35:
* [[FOV|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 syllable 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. (Previously a separate project, [https://code.google.com/p/libtcod-net/ libtcod-net]). Unfortunately, C# bindings are only available for the older 1.5.1b1 beta release, not the latest stable version, 1.5.1.
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 ==


Mac OS X users of the current in-development version 1.6 will need to look to [https://github.com/podiki/libtcod-mac/ libtcod-mac]. The current stable release 1.5.1 includes Mac support.
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.


[http://doryen.eptalys.net/data/libtcod/doc/1.5.1/index2.html?c=true&cpp=true&cs=true&py=true&lua=true Documentation]
== See also ==


== See also ==
* [[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 />


[[Doryen library:Reviews]]
[[Category:Open source]]
[[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