Difference between revisions of "Doryen library"

From RogueBasin
Jump to navigation Jump to search
(Organize links and sections, add references to changelogs and licenses.)
(Update versions and fix GitHub links)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
{{library| name = Doryen Library (libtcod)
{{library| name = Doryen Library (libtcod)
|developer = [[User:HexDecimal|Kyle Benesch]]
|developer = [[User:HexDecimal|Kyle Benesch]]
|released = May 01 2008 (1.0.0)
|released = 2008-05-01 (1.0.0)
|updated = May 21 2021 (1.18.1)<ref>[https://github.com/libtcod/libtcod/blob/develop/CHANGELOG.md Libtcod changelog].</ref>
|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<ref>[https://github.com/libtcod/libtcod/blob/develop/LICENSE.txt Libtcod license].</ref>
|licensing = BSD License<ref>[https://github.com/libtcod/libtcod/blob/main/LICENSE.txt Libtcod license].</ref>
|language = [[C]], [[C++]]
|language = [[C]], [[C++]]
|platforms = [[Windows]], [[Haiku]], [[Linux]], [[Mac OS X]]
|platforms = [[Windows]], [[Haiku]], [[Linux]], [[Mac OS X]]
Line 13: Line 13:
|developer = [[User:HexDecimal|Kyle Benesch]]
|developer = [[User:HexDecimal|Kyle Benesch]]
|released = 2009-01-31 (1.0.0)
|released = 2009-01-31 (1.0.0)
|updated = 2021-06-15 (12.6.2)<ref>[https://github.com/libtcod/python-tcod/blob/develop/CHANGELOG.rst Python-tcod changelog].</ref>
|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
|dependencies = [[SDL]], libtcod
|status = Stable
|status = Stable
|licensing = BSD License<ref>[https://github.com/libtcod/python-tcod/blob/develop/LICENSE.txt Python-tcod license].</ref>
|licensing = BSD License<ref>[https://github.com/libtcod/python-tcod/blob/main/LICENSE.txt Python-tcod license].</ref>
|language = [[Python]]
|language = [[Python]]
|platforms = [[Windows]], [[Mac OS X]], [[Linux]]
|platforms = [[Windows]], [[Mac OS X]], [[Linux]]
Line 23: Line 23:
== The Doryen Library ==
== The Doryen Library ==


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]].
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.
It is meant to be an uncomplicated library for roguelike developers.

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