Age | Commit message (Collapse) | Author | Files | Lines |
|
Seems relatively harmless
|
|
Add a dungeon level generator, which:
1. generates an infinite sequence of rectangular rooms within the
dimensions of the level
2. removes any duplicates from that sequence
3. Generates a graph from the delaunay triangulation of the centerpoints
of those rooms
4. Generates the minimum-spanning-tree of that delaunay triangulation,
with weights given by line length in points
5. Adds back a subset (default 10-15%) of edges from the delaunay
triangulation to the graph
6. Uses the resulting graph to draw corridors between the rooms, using a
random point on the near edge of each room to pick the points of the
corridors
|
|
Add a Door entity and an Open command, which necessitated supporting the
direction prompt. Currently nothing actually puts doors on the map,
which puts a slight damper on actually testing this out.
|
|
When generating cave levels, remove all but the largest contiguous
region from the resulting level.
|
|
To avoid the character being able to go OOB.
This is something we had in the Rust version but I hadn't ported over yet
|
|
Randomly select a position in the largest contiguous region of the
generated level in which to place the character at startup time.
|
|
Add a cellular-automata-based cave level generator, plus an
optparse-applicative-based CLI for invoking level generators in general.
|