An experiment building a Roguelike with libtcod and Python
Find a file
Eryn Wells 635aea5e3b Add cellular atomata to the map generator finally!
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.
2023-03-05 18:40:02 -08:00
.vscode Add pytest unit tests 2023-02-18 10:49:35 -08:00
erynrl Add cellular atomata to the map generator finally! 2023-03-05 18:40:02 -08:00
first_steps Move first steps scripts to their own directory 2022-05-12 09:02:53 -07:00
fonts Some messing around with fonts and BDF files from long ago 2023-02-08 08:36:44 -08:00
test Add a test for RectangularRoom.wall_points 2023-02-19 18:18:40 -08:00
.gitignore
.pep8 Add a pep8 code style configuration file 2023-02-08 08:34:46 -08:00
.pylintrc Tell the linter to allow pt as a variable name 2023-02-09 16:07:45 -08:00
bsp_visualizer.py
ca.py Add cellular atomata to the map generator finally! 2023-03-05 18:40:02 -08:00
going_rogue.code-workspace Ignore .venv directory in the VSCode workspace 2023-02-18 10:40:55 -08:00
logging_config.json Enable UI debug logging 2023-03-05 13:35:35 -08:00
Makefile Update the Makefile to use .venv as the virtual env directory 2022-05-08 08:54:54 -07:00
README.md
requirements.txt Add pytest unit tests 2023-02-18 10:49:35 -08:00

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.