top of page
AoN2Title.png

MORE INFO

COLOR PALETTES (AND DUNGEON TILES):
 

In the spirit of procedural generation, the game utilizes Echodream's palette indexing to create ten unique color palettes, one of which is selected at random when a dungeon spawns. There are also two sets of dungeon tiles (the floors and walls), one of which is randomly selected with the palette.

ROOM LAYOUTS:
 

The ​non-event rooms have randomized shapes and architecture. Again, the layout is planned in screen-sized chunks (384 x 216 world units). Non-event rooms are given a random size between 1x1 and 2x2 (in screen-sized chunks).

​

Rooms larger than 1x1 select randomly from five architectural patterns without replacement until all the patterns have been selected, at which point the patterns are all reshuffled. There are fewer than ten non-event rooms, ensuring that no pattern repeats more than once. (1x1 rooms select from a separate set of layouts, but the method is otherwise the same.)

In 2x2 rooms, one of the four chunks is filled with bricks, making the rooms L-shaped:

​

Each chunk has a small percentage chance (10-15%) of being either containing a patch of water with fire breathing fish OR a cluster of coin blocks instead of the room's selected architecture.

CONSTRAINTS:
 

There are many constraints that a dungeon layout much adhere to, and the majority of layouts are rejected. Full disclosure - I did not save the source code to this game, so I'm going off memory, but here is a partial list or reasons a layout can be rejected:
 

1. The generator backs itself into a corner

​

    When building the path, the generator picks random sides and positions for the room exits. It's possible for the path to get stuck in a situation where it needs to add an exit, but the room has no open side. So, if at any point the generator looks for an open side and fails 10 times, the layout is rejected and the generator starts over.

​

2. Too much water or too many coins

​

    As I mentioned, each chunk in a non-event room has a      chance of containing water or coin blocks. The            generator keeps a count of how many are generated, and     if it goes past a certain number (I think 5 is the         max) the layout is rejected.

​

3. Not enough water or coins

    There is also a minimum number of water and coin           chunks required for a dungeon layout to be accepted       (probably 2 or 3)

​

​4. Entrance to the large, loop-shaped room is placed on      the top or bottom of the room

​

    This was sort of an ad-hoc solution to an issue that     came up in playtesting. The entrance to the loop is       randomly placed on one of the sides. But the room has      a pattern of spikes on the floor, and it happens to       place a set of spikes directly in front of the             entrance if it's on the top or bottom of the room. It     was possible to avoid them, but almost everybody hits     them. The easiest solution was to simply reject           dungeon layouts that place the entrance on the top or     bottom of the room. Dungeon layouts only take a           fraction of a second to generate anyway.

bottom of page