An experiment building a Roguelike with libtcod and Python
Use the new map generator mechanism to generate rooms via cellular atomata. Create a new CellularAtomatonRoomMethod class that uses the Cellular Atomton class to create a room. Add a FreefromRoom class that draws a room based on an ndarray of tiles. Along the way I discovered I have misunderstood how numpy arrays organize rows and columns. The numpy array creation routines take an 'order' argument that specifies whether arrays should be in C order (row major) or Fortran order (column major). Fortran order lets you index arrays with a more natural [x, y] coordinate order, and that's what the tutorials I've read have shown. So I've been using that. When I was developing the Cellular Atomaton, I wrote some code that assumed row- major order. I think I want to move everything to row-major / C-style, but that will take a bit more time. |
||
|---|---|---|
| .vscode | ||
| erynrl | ||
| first_steps | ||
| fonts | ||
| test | ||
| .gitignore | ||
| .pep8 | ||
| .pylintrc | ||
| bsp_visualizer.py | ||
| ca.py | ||
| going_rogue.code-workspace | ||
| logging_config.json | ||
| Makefile | ||
| README.md | ||
| requirements.txt | ||
Going Rogue
An experiment building a Roguelike with libtcod and Python
libtcod is a library that provides a bunch of useful routines for building
Roguelikes. There are C++ and Python interfaces.
There are Python docs.
I also found a "make a Roguelike with libtcod" tutorial on Rogue Basin.