Introduction
Return to Main
Floor Layout
Floor Offsets
Player Starting Position
Filling the Map
The Elevators
No Touch Zones
Floor Creation
The Root Path
Filling Solo Holes
Fire
The Generators
Locking Trill
Shops and Computers
Pushable Walls
The Puzzles
Grate Traps
Cupboard Traps
Doors
Raiser Walls
Wall Holes
Encounters
Mines and Cupboards
Grates and Fire Hydrants
Wall Decorations
Holes
Fake Walls and Spinners
Outside a Base

Floor Layout

The first thing the map generator does is to decide how the floors are going to be layed out in the map. The 64x32 cells map is separated into sections where each section is a block of 16x8 cells.

The first step is to decide which floor level each section represents.

To allow the player to understand the game at a relaxed pace, the generator is written to gradually increase the complexity of a map. To this effect, the first 5 maps have restrictions on which sections can be used.

Map 0: Sections 1, 2, 5 and 6
Map 1: First row of sections, plus sections 6 and 7
Map 2: First two rows of sections, plus sections 10 and 11
Map 3: First three rows of sections
Map 4: First three rows of sections, plus sections 14 and 15

For those familiar with SuperCC or MapGen, you will notice that map 0 is actually using sections 2, 6 and 10. The programmer decided to hardcode these sections since the originally generated map is not as intuitive. Here is a Steem snapshot of the original map if its floor sections wouldn't have been hardcoded. As the very first base, you will find it harder mainly because the first power socket is in a room full of encounters

After randomly selecting the number of floors the map will have (a number between 2 and 5, but forced to 1 for the first map), the generator will set itself as being in creation of level 1 floors. It picks a random floor section and set it as being floor level 1. It will then randomly pick an adjacent floor section connected to our current floor section and assign it the same floor level. If the picked adjascent floor section exceeds the edge of the map (for example, it's at section #12 and decides to use the section to the right), the generator will set itself as being in creation of the next floor level and pick a random floor section again. It will do this until it has reached the top floor.

Now at the top floor, the generator randomly seek an undefined floor section. When found, it's assigned a floor level identical to a randomly selected adjascent section. The generator does this until all floor sections are defined.

Map 17.3 has the floor layout defined as follow: