Inspiration

We wanted to bring the addictive simplicity of idle clicker games to VR/mobile, reimagining the classic cookie-clicking experience as a social, immersive world in Meta Horizon Worlds.

What it does

Cookie Capitalist is an idle clicker game where players tap cookies to build their empire. The core gameplay includes:

  • Cookie Tapping: Tap the giant cookie to earn cookies, with satisfying visual popups showing earnings
  • Dunk Multiplier System: Swipe down to "dunk" the cookie into milk, activating streak multipliers (2x → 4x → 8x → 16x) that reward fast clicking
  • Automated Production: Purchase upgrades like Clickers, Grandmas, Farms, and Factories that passively generate cookies over time with visible progress bars
  • Tier Progression: Upgrades unlock tier bonuses at milestones, increasing production speed
  • Offline Earnings: Return to find cookies earned while away via the Welcome Back modal
  • Interactive Onboarding: A mascot named "Coogie" guides new players through tutorials with spotlight effects and step-by-step instructions

How we built it

We used TypeScript for game logic and NoesisGUI (XAML) for the 2D UI layer:

  • Backend.ts: Server-authoritative game state, handling cookies, upgrades, leaderboards, and persistent storage via PPV (Player Persistent Variables)
  • Controller_player.ts: Local client handling mobile gestures (swipe detection), raycast-based cookie clicking, and camera positioning
  • Noesis_cookie.ts: Cookie UI with tap animations, floating +cookie popups, dunk mechanics, and multiplier glow effects
  • Noesis_shop.ts: Shop interface with upgrade cards, production timers, and purchase validation
  • Noesis_overlay.ts: HUD displaying cookie count, CPS, navigation tabs, and milk background animations
  • Noesis_onboarding.ts: Tutorial system with chat bubbles, spotlight focusing, and step-by-step guidance

Challenges we ran into

  • Synchronizing client-side production timers with server state while maintaining smooth UI updates
  • Implementing the multiplier streak system with proper timeout management and visual feedback across multiple UI layers
  • Making swipe gestures work reliably on mobile while preventing input conflicts with XAML UI elements

Accomplishments that we're proud of

  • The satisfying dunk mechanic with escalating multipliers and glowing visual feedback
  • Smooth 24-finger "Clicker" ring animation entirely driven by XAML
  • Comprehensive onboarding that teaches gameplay without overwhelming new players
  • Seamless offline earnings calculation and welcome-back experience

What we learned

  • How to bridge Horizon's TypeScript runtime with NoesisGUI's XAML binding system
  • Managing shared vs local execution modes for proper multiplayer state
  • Optimizing UI updates with throttled broadcasts and client-side prediction

What's next for Cookie Capitalist

  • More upgrade types and prestige mechanics
  • Multiplayer features like cookie trading and competitive leaderboards
  • Seasonal events and limited-time cookie varieties
  • VR-specific interactions for desktop players

Built With

Share this project:

Updates