# 08 — Ideas and Further Techniques

A list of techniques and design ideas to push your rooms further.

---

## Vertical rooms

Build rooms with multiple floors connected by ramps or stairs.

- Ramp: a Cube rotated ~20° along the X axis, wide enough to walk on (~3m)
- Upper floor: a raised Plane or flat Cubes
- EnemySpawn on both floors — enemies will use the NavMesh ramp to reach the player
- Bake NavMesh with `NavMeshSurface` — it handles slopes automatically if the angle is walkable (<45°)

---

## Boss-arena feel

Make one large open room feel like a boss encounter:

- Floor at least 30m × 30m (Plane Scale `(3, 1, 3)`)
- High ceiling (Y = 8–10)
- 6–8 enemy spawn points ringing the arena
- 4 Point Lights at corners, each with a different warm/cool tone
- A single grand archway exit with a `MonsterLock` gate

---

## Environmental storytelling

Use decoration to suggest the room's history without text:

- **Library**: tall thin Cubes as bookshelves, small Cubes as books along the shelves
- **Dungeon cell**: wall-mounted Cubes as chains/shackles, small rubble piles in corners
- **Ancient altar**: raised platform (Cube) with a glowing Point Light above it (emissive material or just a tightly-ranged warm light)
- **Collapsed passage**: diagonal Cubes suggesting a cave-in blocking part of the room

---

## Atmospheric lighting tricks

- **Torch bracket**: a thin flat Cube on the wall + a Point Light child with Range 8, Intensity 2, orange colour `(1, 0.5, 0.1)`. Copy-paste 4–6 times around the walls.
- **Ominous centre glow**: one Point Light at floor level (Y = 0.3) with a low intensity purple or deep blue — creates an eerie underlighting
- **Ceiling void**: no ceiling, just walls — gives a high open feel. The game's ambient lighting fills the top.

---

## Combined trap + enemy design

- **Gauntlet**: a long narrow room (40m × 6m) with traps along the path and enemies at the far end. The player must navigate the traps before fighting.
- **Surrounded**: circular room, enemies at the edges, traps forming a ring in the mid-zone. Fighting pushes the player into traps.
- **Trap arming**: the game arms traps when the room loads — they are active from the moment the player enters.

---

## Custom audio

Add an `AudioSource` component as a child of the root object:

1. Right-click root → **Create Empty** → rename `Ambience`
2. **Add Component → Audio → Audio Source**
3. Import an audio file (`.ogg` or `.wav`) into the Project
4. Assign it to the `AudioClip` field
5. Check **Loop**, set **Spatial Blend** to `1` (3D), **Volume** ~ `0.3`

> The audio file will be packed into the bundle automatically. Keep files small (<1 MB) — `.ogg` at 64 kbps works well for ambient sound.

---

## Fog plane

Simulate ground fog with a semi-transparent Plane:

1. Create a Plane as a child of root, just above the floor: Position `(0, 0.1, 0)`, Scale `(2, 1, 2)`
2. Create a material: shader **Standard**, set **Rendering Mode** to `Transparent`
3. Set **Albedo** alpha (A slider) to ~40, colour to dark grey or blue
4. Assign to the fog Plane

---

## Multiple room variants in one pack

Ship 3–5 small room variants in one bundle. The dungeon generator picks one at random each run, so the player sees variety:

- `my-pack_Variant1` — small tight room
- `my-pack_Variant2` — medium open room
- `my-pack_Variant3` — L-shaped corridor room

All in the same bundle, all with the same `AssetBundle` label.

---

## What the game provides vs what you provide

| Provided by the game | Provided by you |
|---|---|
| Enemy models and AI | EnemySpawn positions |
| Trap models and logic | Trap positions |
| Key item model | DoorKeySpawner position |
| Door unlock logic | WhatLockIsNeeded hierarchy |
| Loot items | LootSpawner positions |
| Room theme lighting tint | Your base lights |
| NavMesh agent movement | NavMeshSurface bake |
