๐Ÿฐ 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.

Share this project:

Updates