You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
At every zone, the player spins the wheel which contains multiple reward slices and one bomb.
Each spin either adds a reward to the player's inventory or triggers the bomb, wiping everything.
Before spinning, the player may choose to walk away and collect all rewards gathered so far — but only on safe or super zones.
Rewards scale with each zone, making deeper runs more valuable but riskier.
Core Mechanic
Description
Spin
Tap Spin to randomly land on a reward or the bomb
Bomb
Hitting the bomb loses all collected rewards; game can be restarted
Leave
Available only on Safe and Super zones — collects all rewards and ends the run
Zone Scaling
Reward amounts multiply each zone, increasing risk and reward together
Wheel Swap
Each zone type uses a different wheel with its own reward pool
🗺️ Zone System
The game progresses through an infinite sequence of zones with three distinct types:
Zone Type
Interval
Wheel
Bomb?
Can Leave?
Normal
Every other zone
🟤 Bronze
✅ Yes
❌ No
Safe
Every 5th zone
⚪ Silver
❌ No
✅ Yes
Super
Every 30th zone
🟡 Golden
❌ No
✅ Yes
The Zone Tracker HUD shows the current position within the zone sequence, highlights upcoming Safe and Super zones, and displays zone badges for at-a-glance navigation.
🎡 Wheels
Each wheel is a ScriptableObject with reward slots that are fully configurable from the Unity Editor without any code changes.
Wheel
Type
Risk
🟤 Bronze Wheel
Normal zones
Contains bomb — high risk
⚪ Silver Wheel
Safe zones (every 5th)
No bomb — risk-free spin
🟡 Golden Wheel
Super zones (every 30th)
No bomb — premium rewards
🎁 Rewards
All reward cards are ScriptableObjects assignable per wheel slot.
Reward amounts scale linearly with zone number, so the deeper the run, the greater the payout.
Collected rewards are tracked in an inventory panel on the main screen.
On a bomb hit, the entire inventory is wiped. On a confirmed leave, all collected rewards are displayed in a final result panel.
Event
Outcome
🎁 Land on reward
Reward added to inventory; advance to next zone
💣 Land on bomb
All rewards lost; restart prompt shown
🚪 Leave (Safe/Super)
All collected rewards shown; run ends
🏗️ Architecture
The project follows a layered architecture with clear separation between data, logic, and presentation.
Layer
Namespace
Responsibility
Data
VertigoGamesCaseStudy.Data
ScriptableObjects, value types, enums (Reward, Wheel, GameState)
Manager
VertigoGamesCaseStudy.Manager
Game logic (SpinManager, ZoneManager, InventoryManager, GameStateMachine)