๐ฐ Die Another Cake ๐ซ
"The name's Bond... Sugar Bond."
๐ก Inspiration
I wanted to blend the nostalgia of classic N64 arena shooters like GoldenEye 007 with a satirical twist on modern consumption. The result? Die Another Cake.
Our inspiration stems from the "Big Sugar" industry's mission to sIeten everything in sight. I thought, "What if Iaponized sugar was literal?" Thus, a game was born where the ammo is delicious, but the consequences are heavy. It's a chaotic, fun-loving critique of calorie-loading, wrapped in a low-poly spy thriller aesthetic.
๐ฎ What it does
Die Another Cake is a multiplayer FPS (First-Person Sweet-thrower) where the goal isn't to kill, but to overindulge.
- Sweet Arsenal: Instead of bullets, you launch donuts, cakes, and pastries.
- The Fatness Meter: Forget health bars. Your goal is to raise your opponents' Fatness Meter to 100%.
- Sugar Coma: Once a player hits 100%, they don't dieโthey fall into a deep, food-coma slumber (Knockout), giving you the win.
- Arena Chaos: Fast-paced, arcade-style movement inspired by classic 90s shooters.
๐ ๏ธ HowI built it
We leveraged a modern web stack to bring this 3D experience to the browser:
- Frontend: React with TypeScript for robust component logic.
- 3D Engine: Three.js and React Three Fiber to render our sugary world and entities (
GameCanvas.tsx,MeshGenerators.ts). - Game Logic: Custom systems for input handling (
InputSystem.ts) and entity synchronization (EntitySync.ts) to keep the multiplayer mayhem smooth. - AI Integration: Gemini API (
geminiService.ts) to power dynamic, witty commentary and game state analysis. - Build Tooling: Vite for lightning-fast development and optimized production builds.
๐ง Challenges we ran into
- Syncing the Sugar: coordinating 3D projectiles and player movement across the network (
EntitySync.ts) without lag was a tough cookie to crumble. - The "Feel" of Fatness: Tuning the physics so that getting hit by a giant donut felt weighty and impactful without ruining the fast-paced "GoldenEye" movement speed.
- Procedural Pastries: Generating 3D meshes for food items (
MeshGenerators.ts) that looked tasty but were low-poly enough to keep frame rates high.
๐ Accomplishments that I am proud of
- Successfully creating a playable, multiplayer 3D shooter entirely in the browser.
- Flipping the script on standard FPS tropesโreplacing violence with gluttony is surprisingly fun!
- Integrating AI not just as a tool, but as a "narrator" that reacts to the game state.
๐ง What I learned
- Managing complex 3D state within the React rendering cycle.
- The importance of immediate feedback in arcade games (visual pops when "eating" a projectile).
- How to use AI creatively to enhance gameplay atmosphere rather than just generating code.
๐ What's next for Die Another Cake
The kitchen is just heating up! Here is our recipe for the future:
- ๐๏ธ Custom AI Narration: Dynamic, "Sportscaster" style voiceovers that react to sick shots and close calls in real-time.
- ๐ฉ Candy Workshop: A customization suite where users can decorate their own projectile pastries with sprinkles, frosting, and toppers.
- ๐๏ธ AI-Generated Levels: Using Gemini to design new arenas on the fly based on user prompts (e.g., "A level made entirely of gingerbread").
- ๐ฅ Instant Replay: AI-generated highlight reels showing off the final "Knockout" shots in cinematic slow motion.
I really had fun making this project. My kids enjoyed seeing it too. I want to further work on this so they can play it with their friends. Right now they are into game dev on scratch.mit, and I wanted to show them what they can make.
Log in or sign up for Devpost to join the conversation.