Difference between revisions of "Doryen library"

From RogueBasin
Jump to navigation Jump to search
(Updated latest release)
(Almost a rewrite of the page. Adds python-tcod.)
Line 1: Line 1:
{{library| name = Doryen Library
{{library| name = Doryen Library (libtcod)
|developer = chooseusername
|developer = [[User:HexDecimal|Kyle Benesch]]
|released = May 01 2008 (1.0.0)
|released = May 01 2008 (1.0.0)
|updated = Nov 22 2019 (1.15.1)
|updated = May 21 2021 (1.18.1)
|dependencies = [[SDL]]
|dependencies = [[SDL]]
|status = Stable
|status = Stable
|licensing = BSD License
|licensing = BSD License
|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 = https://github.com/libtcod/libtcod
|site = https://github.com/libtcod/libtcod
}}
}}
{{library| name = Python-tcod
|developer = [[User:HexDecimal|Kyle Benesch]]
|released = 2009-01-31 (1.0.0)
|updated = 2021-06-15 (12.6.2)
|dependencies = [[SDL]], libtcod
|status = Stable
|licensing = BSD License
|language = [[Python]]
|platforms = [[Windows]], [[Mac OS X]], [[Linux]]
|site = https://github.com/libtcod/python-tcod
}}
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[https://github.com/libtcod/libtcod/blob/develop/LIBTCOD-CREDITS.txt] and is now maintained by [[User:HexDecimal|HexDecimal]].


Also known as libtcod, the Doryen Library is the function library built for the Chronicles of Doryen.
It is meant to be an uncomplicated library for roguelike developers.
 
It is 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 33:
* [[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.
[https://libtcod.readthedocs.io/en/latest/ Documentation]


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.6.0.
== 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.


External wrappers also exists for [[D]] and [[Common Lisp]].
[https://python-tcod.readthedocs.io/en/latest/ Documentation]


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.
== 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 ==

Revision as of 01:48, 20 June 2021

Doryen Library (libtcod)
Library project
Developer Kyle Benesch
Released May 01 2008 (1.0.0)
Updated May 21 2021 (1.18.1)
Status Stable
Licensing BSD License
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 2021-06-15 (12.6.2)
Status Stable
Licensing BSD License
P. Language Python
Platforms Windows, Mac OS X, Linux
Dependencies SDL, libtcod
Official site of Python-tcod


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[1] 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

Documentation

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.

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

Doryen library:Reviews