Introducing tcod-base
26 November 2024
In my spare time, I've been developing tcod-base
, a starter kit for building projects with python-tcod
.
As mentioned on the respective GitHub repository pages, python-tcod
is '[a] high-performance Python port of libtcod', and libtcod
is '[a] collection of tools and algorithms for developing traditional roguelikes. Such as field-of-view, pathfinding, and a tile-based terminal emulator.' In turn, tcod-base
provides a starting point for building projects (most likely traditional roguelikes) with python-tcod
.
tcod-base
was primarily inspired by HexDecimal's Roguelikedev tutorial engine repository, but diverges somewhat in its code architecture. Predominantly, the architecture encompasses the concepts/implementations of game
, state
, manager
, world
, action
, and UI
, and organises these like so:
# tree (abridged)
tcod-base/
├── assets/
├── game/
│ ├── actions/
│ ├── managers/
│ ├── states/
│ └── ui/
└── main.py
Meanwhile, features include base implementations of:
- state management
- UI system
- general-purpose event-observer system
- keyboard controls
- map generation
- inventory
If you'd like to try tcod-base
, the README includes installation instructions, and documentation can be found in the docs
directory.