Game systems case study
Quiz Cruise
Gameplay systems · UI · Content pipeline · Booth tooling
Fuel-limited racing meets hot-reloadable tech quizzes — engineered for booth events where content and difficulty must change without shipping a new build.
Gameplay
Core loop: drive → fuel drains → grab coin → quiz → refill / boost → resume.
Overview
Built for walk-up play
Quiz Cruise couples Realistic Car Controller Pro (RCCP) vehicle physics with custom C# systems for fuel, quiz flow, coin spawning, vehicle selection, ambient traffic, billboards, and booth settings. The product goal was not a sim racer — it was a reliable arcade loop that tests tech literacy under time pressure.
A Unity 6 booth racing game where fuel drains while driving. Players collect quiz coins, answer multiple-choice tech questions loaded from a Word document, and compete on a shared leaderboard — designed for walk-up event play with operator-tunable difficulty and hot-reloadable content.
Constraints
Booth / walk-up UX
Players must understand the loop in seconds — no long tutorials.
Content ownership
Organizers need to change questions without a Unity rebuild.
Fairness under pressure
Fuel and quiz timing must feel reachable, not punishing.
Dual vehicles
Truck and Skyline share one track without fighting for control.
Operator control
Fuel drain, speed caps, and assists must be tunable on-site.
Public release
Branding and quiz content had to stay generic and sponsor-ready.
Solution
Decisions that define the loop
- 01
Fuel-as-timer
Urgency tied to driving style instead of a pure lap clock.
- 02
Waypoint quiz coins
Coins spawn ahead on the path when fuel is low — reach and answer.
- 03
External Questions.docx
Runtime parse with hot-reload polling so booth staff can swap banks live.
- 04
Session model
3 questions × 4 sessions = 12-question race pool, unique when the bank allows.
- 05
Booth tooling layer
Name/team entry, vehicle toggle, settings, leaderboard, results, JSONL scores.
- 06
Rescue path
Empty fuel can trigger a last-chance quiz if sessions remain.
Development process
How it was built
01Base race + vehicle stack+
Unity 6 + URP with RCCP. Snow-mountain track with waypoints. Stabilized truck vs Skyline feel — AWD torque direction, input bindings, hill/release behavior — so both vehicles were booth-usable.
02Fuel & coin loop+
Replaced infinite drive with a fuel timer tied to speed and throttle. Playtests forced iteration: longer base fuel, gentler drain, earlier spawn threshold, closer waypoint offset. Quiz score scales rewards (3/3 full + boost, 2/3 full, 1/3 half).
03Quiz content pipeline+
Questions authored in Word for non-developer editors. Runtime loader searches exe / StreamingAssets / editor paths — newest mtime wins. QuizSystem polls (~3s) and hot-reloads. Content iterated to high-school tech literacy with an in-code fallback bank.
04Booth / operator tooling+
Main menu with identity fields, vehicle toggle, and results overlay. Settings for fuel timing, drain multipliers, speed caps, truck knobs, and assist toggles. Settings revisions migrate PlayerPrefs without wiping unrelated tweaks. UI leaderboard clear kept separate from on-disk JSONL quiz scores.
05World, presentation & release+
Ambient traffic with ground-snapped NPCs, replaceable roadside billboards, and a public scrub that removed company IP. Shipped as Quiz Cruise v0.1.0 with tooling scripts for question docs and public assets.
Playtest → fix
Iteration under pressure
Fuel too aggressive
Raised capacity, lowered drain multipliers, spawned coins earlier and closer on the waypoint chain.
Quiz difficulty swing
Replaced toddler-level and then overly advanced banks with high-school tech literacy.
Public release scrub
Removed company branding; added sponsor placeholder ads and generic intro art.
Vehicle select UX
Menu toggle + persisted preference; only the selected vehicle activates on the primary spawn.
Architecture
Key C# systems
FuelSystem
Capacity, speed/throttle drain, uphill reduction, bar UI, empty → rescue or end.
PCCoinSpawner
Arms on low fuel, places coin N waypoints ahead, max 4 coins per run.
QuizSystem
Run pool, 3-question sessions, pause (timeScale), keyboard UI, rescue entry.
QuizDocxLoader
Multi-path search, newest-file-wins, parse A–D options + ANSWER lines.
BoothGameSettings
Persisted operator tuning with revision migration across updates.
BoothLeaderboardManager
Pre-run UI, apply settings, top-N board; clear list vs disk DB.
PlayerVehicleDualSwitcher
Preferred vehicle preference; activate one, disable the other.
HillAssist
Speed caps, temporary boost, rescue penalties, recovery toggles.
RaceGameSetup
Auto-wires systems when a scene already has a RaceManager.
Technical environment
- Engine
- Unity 6000.4.0f1 · URP 17.4
- Language
- C#
- Vehicles
- RCCP (BCG_RCCP)
- Input
- Unity Input System (Both)
- Target
- Standalone Windows booth PC
- Content
- Open XML .docx (ZIP + XML parse)
- Persistence
- PlayerPrefs · JSONL quiz scores
Trade-offs
Engineering judgment
Fuel-as-timer
Why: Instant urgency for booth play.
Trade-off: Needs careful tuning or coins feel unreachable.
DOCX over JSON-only
Why: Organizers already know Word.
Trade-off: Heavier parse; stricter formatting rules.
Polling hot-reload
Why: Simple and reliable across Windows paths.
Trade-off: Slight delay vs FileSystemWatcher edge cases.
Pause with timeScale = 0
Why: Clean quiz focus during questions.
Trade-off: UI/input must run on unscaled time.
One active vehicle
Why: Avoid dual RCCP controller conflicts.
Trade-off: Scene must manage both prefabs via the switcher.
Settings revision migrate
Why: Booth machines keep old prefs across updates.
Trade-off: Migrations must be additive and explicit.
Outcomes
What shipped
- Playable booth loop: sign-in → vehicle → race → quiz → results → leaderboard
- Content updatable after build via Questions.docx
- Operator-tunable fuel and speed without code changes
- Dual-vehicle support on a shared track and quiz systems
- Public GitHub snapshot for portfolio / sharing
Skills
Demonstrated here
Roadmap
What I'd improve next
- Booth analytics (session heatmaps, miss rates by question)
- Gamepad-first quiz navigation presets
- Stronger first-time onboarding bumper
- Automated Questions.docx format validation
- WebGL or lighter kiosk build profile
- Formal difficulty tiers in the booth menu
Explore the source
Unity game repo and marketing site for Quiz Cruise.