Echo Tiles
Minesweeper, except you're standing inside the grid. Numbers become sound, and the whole room is the board.

The Concept
From flat grid to inhabited space.
Classic Minesweeper is a 2D grid on a screen. Echo Tiles came from asking a simple question: what if you were inside the grid instead? The flat grid becomes a hollow 9×9×9 cube with tiles on every inner surface. You stand in the middle, surrounded on all sides.
A flat 2D grid. Numbers tell you how many mines are adjacent. Safe cells are clicked one by one.

A 3D hollow cube. Tiles on every face, and no numbers. Audio beats take their place.
Reveal all non-mine tiles.
Use audio clues to map the mine locations. Systematically reveal every safe tile without triggering a single mine.
Reveal a mine tile.
One wrong press ends the game. In a space where tiles surround you on all sides, every decision carries weight.
Design Framework
Mechanics, Dynamics, Aesthetics
- Tile reveal via VR sensor gun
- Proximity-based audio beat system
- Recursive safe-tile cascade on empty reveal
- Mine assignment via randomised seeding
- Spatial reasoning in 360° environment
- Listening and counting as primary skill
- Risk/reward tension on each press
- Gradual mapping of the space over time
- Immersion: you're surrounded by the puzzle
- Tension: there's no screen keeping you at a safe distance
- Discovery: each revealed tile changes how the space feels
- Surprise: the audio feedback catches you off guard in a good way
Player Mechanics
The sensor gun.
You hold a custom VR sensor gun in your right hand. Hovering over a tile plays the audio beat pattern that tells you how many mines are nearby. Pressing the trigger reveals the tile.


Hold the sensor gun near a tile. Audio beats play indicating adjacent mine count.
Count the beats, triangulate with neighbouring tiles to build a mental mine map.
Press the trigger. Safe tile cascades open. Mine tile ends the game.
Game Environment
The 3D grid in Unity.




Tile States & Reveal Logic
How tiles behave.




Default state. Tile is unrevealed. No information visible or audible.
Revealed with no adjacent mines. Automatically cascades to reveal neighbouring safe tiles.
Revealed with adjacent mines. Emits audio beats equal to the mine count instead of showing a number.
Triggered tile. Ends the game immediately. Visual explosion effect plays.
User Study Recording
Task-Driven Session: Did the Environment Feel Alive?
Participants were given a single objective: find the key and escape the cell. The session captures navigation pattern, zone dwell time, and whether users voluntarily return to areas already visited.
Audio Feedback System
Numbers become rhythm.
Visual number clues are replaced entirely by spatial audio. Hover over a revealed tile and it plays a rhythmic beat pattern, one beat for each adjacent mine.

Storyboarding / Flow
Designing the experience arc.
Early storyboards mapped the full player journey, from the loading screen through the first reveal, the audio system, and through to win and loss states.
 1.webp)
 2.webp)
-1.webp)
-2.webp)
-3.webp)
-4.webp)
Game Architecture
Four scripts. One system.
The game logic is split across four C# scripts in Unity, each with a single clear responsibility.
Procedurally builds the hollow 3D grid. Places tiles only on inner cube faces, avoiding edges and corners. Grid size is editable per level.
Attached to each tile. Stores the tile's current state (Hidden, Safe, Numbered, or Mine) and passes it to the game manager.
Core logic manager. Seeds mine placement, calculates adjacent mine counts, handles the recursive cascade reveal, and evaluates win/loss.
VR interaction handler. Receives input from the sensor gun, triggers tile reveal actions, and communicates assigned tile properties back to TileData.