Repository navigation
True Room Over Room
True room over room allows multiple playable rooms to occupy the same horizontal position at different heights.
In a traditional sector-based engine, one 2D area normally represents a single space between one floor and one ceiling. Tilky Engine allows a sector to contain multiple vertical layers, making it possible to create one room directly above another.
Every sector has a 2D shape that defines its horizontal boundary. Inside that shape, the sector can contain multiple floor layers.
Each layer has:
- Its own floor height
- Its own ceiling height
- A floor texture and colour
- A ceiling texture and colour
All layers share the same 2D sector shape. Their different height ranges determine which room is above or below another.
For example:
| Layer | Floor height | Ceiling height |
|---|---|---|
| Lower room | 0 |
40 |
| Upper room | 50 |
90 |
This creates two rooms in the same horizontal area. The lower room occupies heights 0–40, while the upper room occupies heights 50–90.
The space between 40 and 50 is filled with a wall and separates the two rooms.
First, create a sector normally using one of the Sector Mode drawing tools.
Right-click the sector to select it and open its Inspector. The first floor layer represents the original room.
Configure its heights, for example:
-
Floor Height:
0 -
Ceiling Height:
40
Use the sector Inspector’s option for adding another floor layer. Configure the new layer so that it begins above the first room:
-
Floor Height:
50 -
Ceiling Height:
90
The sector now contains two separate rooms using the same 2D footprint.
Assign the floor and ceiling textures and colours for each layer individually.
If the lower ceiling and upper floor use the same height, the two layers meet directly:
- Lower ceiling:
40 - Upper floor:
40
You can leave a vertical gap between them if you want the structure separating the rooms to have thickness:
- Lower ceiling:
40 - Upper floor:
50
The lower room’s ceiling and the upper room’s floor can use different textures and colours.
Adding another floor layer does not automatically create stairs or a passage between the rooms. It only creates the stacked spaces.
To let the player travel between them, you must build a connection using additional sectors around it.
The connecting sectors must have heights that line up correctly with the lower and upper rooms.
Right-click the sector or select it from the Hierarchy to reopen its Inspector.
From there, you can:
- Add or remove floor layers
- Change each layer’s floor and ceiling heights
- Assign different floor and ceiling textures
- Change surface colours
- Configure the lighting applied inside the sector
Because every layer uses the same sector boundary, moving one of the sector’s walls changes the shape of every room in that stack.
If the upper room needs a different horizontal shape, create separate surrounding geometry instead of adding it as another layer of the same sector.
The Map Editor is a top-down 2D editor, so rooms directly above one another occupy the same area on the canvas. Select the sector and use its Inspector to examine its individual layers.
This can initially make true room-over-room geometry difficult to visualise. It becomes much easier to understand when viewed in 3D.
Save the level and open the Runtime Editor to inspect:
- Whether both rooms appear at the correct heights
- Whether the separating surfaces render correctly
- Whether connecting sectors line up with each layer
- Whether movement and collision work correctly
Stacked rooms are separate until you build a route between them. Adding another layer alone does not create stairs or an opening.
Check that corridors, stairs, or slopes meet the correct floor height. A connection intended for the upper room should not line up with the lower room by mistake.