DEV Community

Cover image for SOLSTICE: Planetary Balance
Gaurav Kumar Singh
Gaurav Kumar Singh

Posted on

SOLSTICE: Planetary Balance

June Solstice Game Jam Submission

This is a submission for the June Solstice Game Jam

What I Built

Solstice Balance is an interactive 3D calibration simulator where the player stabilizes Earth's obliquity (target 23.44°) and rotational speed to prevent a simulated thermal collapse.
Players use thruster-style controls to correct tilt and spin while reacting to procedurally generated cosmic disturbances (solar flares, gravitational tides, meteors).
The goal was to make a tactile, physics-driven experience that ties to the June Solstice theme—balancing seasonal geometry with emergent hazards.

Game Demo

Play the live demo: https://solstice-game.vercel.app/
(Recommended: open in a desktop browser for best WebGL and audio support.)

Code

Full source code and development history: https://github.com/gaurav101/solstice-game

How I Built It

  • AI Assistance: Utilized Google Gemini to pair-program, debug complex WebGL contexts, and rapidly iterate on the core physics calculations and WebGL Sound generation.
  • Framework: React + TypeScript with Vite for fast iteration.
  • 3D & Physics: Three.js for rendering and cannon-es for rigid-body physics to simulate tilt, spin, and meteor impacts.
  • Audio: WebAudio-based synth engine and sampled effects for real-time atmospheric feedback.
  • UI: Tailwind CSS for a clean, rapid HUD layout; React state syncs real-time telemetry (score, alignment, RPM) seamlessly with the WebGL loop.
  • Performance Optimization: Employed procedural textures, batched particle systems, and defensive resource disposal to prevent memory leaks across scene restarts.

Notable design choice: The game loop runs inside a single requestAnimationFrame driven effect that cleanly tears down Three/Cannon resources when switching game states to completely avoid leaking WebGL contexts.

Prize Categories

  • Best Google AI Usage: Google Gemini was instrumental in prototyping the initial graphics setup, debugging tricky 3D coordinate transformations, and ensuring the physics-driven gameplay integrated perfectly with React's state management.

Top comments (0)