Fortune Cookie Game
by Areesha Maqsood
A playful one-button game built on Umfeld — eat a cookie bite by bite to reveal German words of motivation. A prime study in single-button input design, procedural geometry deformation, and portable console deployment.
Project Overview & Concept
HALB GLÜCK (Half Luck) is a single-button interactive experience created by Areesha Maqsood at Hochschule für Künste Bremen (The Small Computing Group, WS 2025/26). The project concept stems from a bite-sized brownie containing a paper slip with German words of affirmation.
The title Halb Glück reflects the philosophy that while half of success may depend on luck, the remaining half relies on personal motivation and effort. The game transforms this idea into a simple, uplifting loop: press a button to eat the cookie, release crumbs, and reveal randomized motivational messages.
Procedural Cookie Deformation & Particle System
The application uses procedural shape drawing and vector math to simulate realistic eating mechanics:
- Polar Coordinate Geometry (
drawCookie()): The base cookie is generated via 200 resolution steps around a circle. When a bite is taken,getBiteFactor(angle, bite)recalculates boundary vertex distances dynamically based on angle and bite depth. - Crumb Scattering (
cookieCrumbs): Every bite scatters 10 randomized crumb particles calculated outward along the bite angle vector. - Audio Sampler Feedback (
Sampler): Each bite reloads and plays localized bite audio (bite.wav) through Umfeld’s audio sampler subsystem.
Expanding Paper Animation & Dynamic Text Engine
Once 6 to 9 bites are taken and the cookie is completely consumed:
- Circular Paper Expansion: A smooth radial animation (
paperRadius) expands outward from the center, decorated with pink dot accents. - Dynamic Word Wrapping: The selected fortune string is dynamically split into individual words and wrapped across multiple lines based on
textWidth()measurements to ensure text stays neatly within the circular paper boundary. - German Umlaut Support: Built with a custom font atlas (
SourceCodePro-Regular.ttf) supporting German special characters (äöüÄÖÜß).
Single-Button & Portable Console Porting
- Single-Button Control: Designed specifically for one-button hardware interaction (Button A on handheld controllers, or mouse clicks for desktop fallback).
- R36S / Rocknix Deployment: Configured for the R36S / R36XX handheld retro console running Rocknix OS (
640x480VSync mode), cross-compiled via CMake toolchains and deployed over Wi-Fi viascp.