Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

115 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wheel of Fortune - Mobile Roulette Game

A mobile roulette/wheel-of-fortune game built with Unity where players spin the wheel to collect rewards — but must decide when to walk away before losing it all.

Gameplay

Players spin a reward wheel across escalating zones. Each spin offers a chance to win increasingly valuable rewards, but every wheel also contains a bomb slice that wipes out all collected rewards.

  • Regular Zones: Spin the wheel with a mix of reward slices and one bomb slice. Rewards improve as zones progress.
  • Safe Zones (Every 5th zone): A silver spin with no bomb — guaranteed rewards, no risk.
  • Super Zones (Every 30th zone): A golden spin with special high-value rewards and no bomb.
  • Collect & Leave: Players can collect all earned rewards and exit when the wheel is not spinning, at safe or super zones.
  • Bomb Hit: Lose all accumulated rewards — unless you choose to revive.
  • Revive System: After a bomb hit, spend gold to continue from where you left off (bomb-free next spin). Out of gold? Watch an ad to revive for free.
  • Tap to Skip: Tapping the wheel during a spin skips the animation and instantly reveals the result.

The core loop is simple: spin for more, or walk away with what you have.

Features

  • Configurable wheel slices via Unity Editor (rewards, quantities, visuals per zone)
  • Escalating zone system with regular, safe, and super zone types
  • Smooth wheel spin animation with LitMotion
  • Responsive UI supporting multiple aspect ratios (20:9, 16:9, 4:3)
  • TextMeshPro for all text rendering
  • Give up / Revive system with gold currency and ad-based fallback
  • Clean, SOLID-principled architecture

Tech Stack

  • Engine: Unity 2021.3.45f2 LTS
  • Language: C#
  • UI: Unity UI (Canvas - Screen Space) with TextMeshPro
  • Animation: LitMotion
  • Async: UniTask
  • Messaging: MessagePipe
  • DI: VContainer
  • Architecture: SOLID principles, OOP

Project Structure

See Project Structure for the full directory layout and architecture overview.

UI Conventions

Rule Detail
Canvas Scaler Scale With Screen Size — Expand
Dynamic Elements Named with _value suffix (e.g., text_reward_count_value)
Naming Root-general to specific: ui_image_spin_silver
RaycastTarget Disabled on non-interactive Image components
Animators Placed on child transforms, not root
Anchors & Pivots Properly set for multi-aspect support
Sprites Sliced mode in Image components
Button Binding Set via OnValidate — no editor-assigned UnityEvents
Images No stretching — use sliced or preserve-aspect

Documentation

  • Item Database — ScriptableObject-based reward item registry, editor tooling, and DI integration
  • Wheel Database — Weighted 8-slice wheel configuration, zone-based generation engine, and editor tools
  • Config Management — Centralized editor tool for auto-discovering and managing all ScriptableObject configs

Gameplay

gameplay_demo.mp4

Download video

Screenshots

20:9 (2400x1080) 16:9 (1920x1080) 4:3 (1440x1080)
20:9 16:9 4:3

Build

Download the latest APK from the Releases page.

How to Run

  1. Clone the repository
  2. Open the project with Unity 2021.3.45f2 LTS
  3. Open Assets/Roulette/Scenes/SC_MainMenu.unity
  4. Press Play

Tested On

  • Unity Editor (Play Mode)
  • Android 15 — Samsung Galaxy A16

License

This project is for demonstration purposes.

About

A mobile roulette/wheel-of-fortune game built with Unity where players spin the wheel to collect rewards — but must decide when to walk away before losing it all.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages