Procedural.

It’s been a really productive week–lots of code cleanup, which always feels so nice. Since refactoring doesn’t make for very interesting dev blogging, my goal for today was to have something new to show. And with just a few extra hours of work…

Soulcaster3 2014-11-21 17-08-10-33When this room layout engine is more robust, I’ll do a more thorough post explaining how it works. You can tell what’s going on if you stare at it…

Just in case you’re interested, here’s what today looked like for me:

5:09 PM 11/21/2014
+ only tag floor candidates if they neighbor an empty square
+ add control for maximum iterations in shaper
+ prevent applying pattern where merge is only for same tile or empty
+ add second iteration of pattern merging
+ pattern only attaches itself to entrance
+ floor only added to entrance
+ layout/patterns deterministic based on room seed
+ decay deterministic based on room seed
+ property selector that lets maximum phase be set for generation
+ visualize empty tiles for floors filled
+ clear debug hud when switching between editors
+ debug hud font smaller
+ smaller font for room tester GUI
+ fix screen metrics when going back to editor from action 
+ room tester defaults to large room with doorway at bottom
+ create control switcher class.
2:01 PM 11/21/2014
12:36 PM 11/21/2014
+ return randomized entry in list extension method
+ test shaper uses all transforms
+ testshaper that just adds a regular pattern
+ merge patterncollection into patternprovider
+ move applypattern into customroom
+ construction phases check for custom rooms
+ add enum for construction phases
+ restore F1 to test with room tester
+ document custom room class
+ rename factory methods for making room instance, custom room, etc.
+ clean up room creation and init
+ document room related classes
+ test monster spawning
+ restore summoning behavior
+ merge roominstance and arena into roominstance
8:05 AM 11/21/2014

Leave a comment

Your email address will not be published. Required fields are marked *