Game Vision
The game world serves as a new navigation layer on top of existing Chapter features. Instead of browsing static menus, students walk through interactive zones, tap buildings to access features, and see other students exploring alongside them in real-time. Key design principle: The game enhances navigation without replacing functionality. Every existing feature (course search, accommodation, careers, messaging) remains exactly as built - the game simply provides a more engaging way to access them.Four Game Hubs
The game world adapts to each student’s journey stage, presenting different hubs based on theirEnrollmentStatus:
1. Careers Hub (Prospects)
Career Exploration
Interactive buildings for each career sector (Healthcare, Engineering, Business, Arts, Tech)
University Fair
Virtual booths for every UK university with full detail views
Career Arcade
SpriteKit mini-games for career discovery and skills assessment
Course Discovery
Search kiosks and category buildings for course exploration
2. Offer Holder Hub (Deciding)
Five Islands
One island per UCAS choice from the student’s shortlist
Comparison Central
Interactive scale building for comparing offers
UCAS Tracker
Journey timeline building showing application progress
Q&A Café
Chat with current students about courses and universities
3. Firm Choice Hub (Preparing)
Campus Preview
Detailed map of the student’s firm choice university
Societies Fair
Interactive stalls for every society at their university
Preparation HQ
Checklist building for pre-arrival tasks
What's Next Office
Guidance building for settling in and next steps
4. Campus Life Hub (Enrolled)
Library & Lecture Halls
Study spaces with timetable integration and class resources
Student Union
Events board, society desks, and campus feed access
Your Room
Customizable personal space in student accommodation
Sports Centre
Team rooms and fixtures board for university sports
Technical Architecture
Hybrid SwiftUI + SpriteKit
The game uses a layered architecture that maintains SwiftUI’s navigation while adding a SpriteKit game layer:Scene Management
TheGameManager singleton bridges SpriteKit scenes with SwiftUI:
- Scene Switching: Automatically loads the appropriate hub scene based on
EnrollmentStatus - Feature Overlays: When players tap buildings, existing SwiftUI views appear as overlays
- State Persistence: Player position, progress, and customization saved to Supabase
Zone-Based Design (Phase 3)
Each hub is divided into multiple interconnected zones:- Compact Scenes: Small, focused areas instead of one massive world
- 2.5D Backgrounds: AI-generated artwork with depth and perspective
- Zone Transitions: Smooth fades between zones via boundary arrows or exit areas
- Independent Multiplayer: Each zone has its own Realtime Presence channel
Game Features
Real-Time Multiplayer
See other students exploring the same zones in real-time via Supabase Realtime Presence
- See avatars of other students walking around
- Chat via proximity bubbles (messages appear above avatars)
- Tap profiles to view student details, add friends, or send DMs
- Privacy controls (public, friends-only, school-only, or solo mode)
Avatar Customization
Students create Bitmoji-style avatars with:- Body: Skin tone selection
- Hair: Multiple styles and colors
- Face: Eye styles, face shapes
- Outfit: Tops, bottoms, shoes (with university-branded merch for offer holders)
- Accessories: Glasses, hats, items
- Pets: Companion animals that follow the player
AvatarRenderer to composite body parts into a single sprite with natural walk/run animations.
XP & Progression
Students earn XP by:- Exploring new buildings (+5 XP)
- Completing features (+10 XP)
- Finishing mini-games (variable XP)
- Unlocking new zones (+20 XP)
Quest System
Structured guidance through the game world:Performance Optimizations
Terrain Rendering
Single pre-rendered texture for ground (grass, paths, water) - one draw call
Viewport Culling
Hides off-screen decoration nodes to reduce render load
Polygon Collision
Precise pathfinding around obstacles using visibility graph A*
Player Limiting
Max 30 visible players, sorted by proximity to local player
Navigation Integration
The game replacesChapterHubView (the widget cards screen) while preserving all tabs:
- Hub tab: Shows the game world
- Search tab: Direct course/uni search (unchanged)
- Feed tab: Campus feed (unchanged)
- Calendar tab: Timetable for enrolled students (unchanged)
- Connect tab: Messages and groups (unchanged)
Building Interactions
Buildings in the game world map to existingAppDestination routes:
Database Schema
The game adds four tables to Supabase (existing tables unchanged):player_progress
player_progress
Tracks current hub, level, XP, unlocked zones, achievements, and last position
player_avatars
player_avatars
Stores avatar customization (skin tone, hair, outfit, accessories)
player_last_position
player_last_position
Fallback position for reconnection (Presence handles live positions)
minigame_scores
minigame_scores
Leaderboards for Career Arcade and other mini-games
Platform Support
- Minimum: iPhone 12, iOS 16+
- Optimized for: Portrait and landscape (dynamic zoom-to-fit on rotation)
- App bundle: < 100MB (SpriteKit is lightweight, AI sprites compressed)
The game uses native SpriteKit - no Unity, no external game engines, no UIKit
Success Metrics
After full implementation, students will:- Open Chapter and see a living game world instead of static widget cards
- Tap-to-walk around zones, exploring buildings
- Tap a building to access the same features they’d normally navigate to via menus
- See other students walking around, chat in proximity, and build connections
- Experience their entire education journey - from career discovery to campus life - as an immersive game
Every underlying feature (course search, accommodation, careers, messaging) remains exactly as built. The game is a navigation layer that makes Chapter feel like a world, not an app.