Mazes #155

Merged
StevenRS11 merged 11 commits from mazes into mazes 2014-04-15 11:46:00 +00:00

11 Commits

Author SHA1 Message Date
SenseiKiwi
fa629db4fe Progress on Maze Generation
* Implemented link creation based on link plans
* Improvised an implementation of door placement in DefaultDoorDecorator
for testing purposes. I'll provide a better version later.

Known issues:
1. Doors with one-way links to other rooms will generate a return door
at the destination. The return door doesn't actually lead back, it leads
to a new pocket. Need to disable pair generation for doors in mazes.
2. Consider weighing sections by the door capacity to avoid putting a
lot of doors into a small section. Also double-check that room selection
within sections is unbiased.
2014-04-15 07:40:44 -04:00
SenseiKiwi
77abcbb148 Progress on Maze Generation
* Increased the chance of decorating unprotected rooms from 1/4 to 1/3.
* Made minor optimizations to the box building function.
* Added some important arguments to BaseDecorator.decorate(). Also
updated all decorators as a result of this change.
* Implemented TorchDecorator so that mazes have light sources in them.
2014-04-15 05:14:38 -04:00
SenseiKiwi
f867f16d1d Fixed Maze Bug
Fixed a minor bug that affected maze decorators.
2014-04-15 01:46:39 -04:00
SenseiKiwi
bce329c8fb Added Maze Decorators
Added Decorators for use in mazes. I've added several decorators but all
of them are stubs for now.
2014-04-15 01:35:14 -04:00
SenseiKiwi
81b48158bd Progress on Maze Generation
* Finished implementing link planning for mazes. Doors aren't placed yet
because that's up to Decorators and those haven't been implemented yet.
* Added bounding walls to mazes.
* Added decay effects to mazes.
2014-04-14 22:24:59 -04:00
SenseiKiwi
906faf44eb Tweaked Maze Section Generation
Tweaked maze section generation to use a random MAX_DISTANCE for
including rooms in a section. Also changed the code to perform room
removals as sections are processed rather than deferring them to the
end. Deferring removals would cause the algorithm to detect holes from
rooms that were going to be removed. This made section generation much
stricter than necessary.
2014-04-13 16:17:42 -04:00
SenseiKiwi
53b5591149 Partial Implementation of Doors in Mazes
Made progress on implementing the placement of doors in mazes. Still
incomplete.
2014-04-11 19:28:05 -04:00
SenseiKiwi
f92020323f Partial Implementation of Doors in Mazes
Started implementing the placement of Dimensional Doors in mazes.
Currently, a design is guaranteed to have enough space for some doors.
MazeDesigner still needs more code to plan out which rooms will have
doors and where those doors will lead.
2014-04-08 06:40:45 -04:00
SenseiKiwi
935070e436 Minor Change
Minor correction to a comment in DirectedGraph
2014-04-08 06:34:45 -04:00
SenseiKiwi
5210de2e71 Hacked PocketBuilder to Generate Mazes
Made a minor change to PocketBuilder so that mazes generate instead of
regular pocket dimensions. I'm only doing this to test dungeon
generation - it'll get switched back once mazes are ready.
2014-04-07 09:39:10 -04:00
SenseiKiwi
d5e5e12cf9 Refactored Maze Generation to use RoomData
Rewrote portions of our maze generation code to use RoomData. This
provides an object that unifies all room data instead of having it
spread across various data structures and linked loosely by hash maps.
We'll need this to implement the remaining generation features.
2014-04-07 09:25:20 -04:00