about summary refs log tree commit diff
path: root/package.yaml
diff options
context:
space:
mode:
authorGriffin Smith <root@gws.fyi>2019-12-30T16·31-0500
committerGriffin Smith <root@gws.fyi>2019-12-30T16·31-0500
commite76567b9e776070812838828d8de8220c2a461e7 (patch)
tree40a801de9684b39a3258f4f33f121b14dd407a64 /package.yaml
parent6f427fe4d6ba9a03f122d15839298040a7cfb925 (diff)
Add dungeon level generation
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
Diffstat (limited to 'package.yaml')
-rw-r--r--package.yaml6
1 files changed, 6 insertions, 0 deletions
diff --git a/package.yaml b/package.yaml
index 72eb0d32a669..32a402f3fdad 100644
--- a/package.yaml
+++ b/package.yaml
@@ -30,14 +30,19 @@ dependencies:
 - containers
 - data-default
 - deepseq
+- fgl
+- fgl-arbitrary
 - file-embed
 - filepath
 - generic-arbitrary
 - generic-monoid
 - generic-lens
 - groups
+- hgeometry
+- hgeometry-combinatorial
 - JuicyPixels
 - lens
+- linear
 - megaparsec
 - MonadRandom
 - mtl
@@ -49,6 +54,7 @@ dependencies:
 - raw-strings-qq
 - reflection
 - Rasterific
+- streams
 - stache
 - semigroupoids
 - tomland