paulofmandown / rotLove

Roguelike Toolkit in Love. A Love2D/lua port of rot.js
http://paulofmandown.github.io/rotLove/
Other
258 stars 25 forks source link

Brogue taking a long time to generate #54

Open airstruck opened 7 years ago

airstruck commented 7 years ago

Noticed one of the tests hanging and discovered brogue dungeon generation was taking much longer than everything else combined.

Apparently these dungeons try to place rooms 1000 times, and don't have any "stop conditions" other than max room count, which defaults to 99 (never hit on a normal sized map).

Would recommend changing room count to a more sensible default, or adding some other stop conditions, like percent dug, or doing something like detecting 100 failed room placements in a row (resetting counter on successful placement). As it is, much of the time spent on brogue dungeon generation appears to happen after the dungeon is full.

airstruck commented 7 years ago

Would it be possible to merge Brogue into Digger somehow? If Digger were given an option to generate a Cellular map, an option to "generate loops," and a BrogueRoom feature, how much different from Brogue would it be?

One thing I'm not sure about is the "blob" stuff, is the point of that to mark diggable walls on the cellular map?