Game

OrbitPuzzles

OrbitPuzzles Game

About The Game

OrbitPuzzles is a challenging physics-based puzzle game where players design orbital systems by strategically placing celestial bodies like planets, moons, and asteroids. Your goal is to achieve specific configurations, such as completing a certain number of orbits without colliding with the central star or escaping the system.

Built completely natively in Kotlin, OrbitPuzzles features a highly stable custom $O(N^2)$ N-body simulator using Velocity Verlet integration and Plummer softening. Time pauses during the DESIGN phase so you can carefully position your bodies and adjust velocity vectors, and then flows in the RUN phase to test if your orbital mechanics hold up.

The visual experience pairs 3D rendering powered by Google Filament with 100% Jetpack Compose UI. Each celestial body is rendered using custom procedural texturing, creating an infinite variety of planets and stars without relying on massive texture files, while glowing trails and UI overlays provide real-time telemetry and feedback.

Features

  • Custom Physics Engine: Precise N-body simulation leveraging Velocity Verlet integration for long-term orbital stability, complete with Plummer softening to gracefully handle extreme close encounters.
  • Design & Run Phases: A tactical approach where time pauses for planning, allowing you to fine-tune your planetary setup, vector forces, and solve the orbital puzzle before unleashing the simulation.
  • Procedural 3D Planets: Google Filament integration using mathematically generated equirectangular albedo maps ensures every celestial body looks unique while keeping the app footprint small.
  • Hybrid Rendering: A flawless blend of native 3D physics rendering under beautifully layered, real-time 2D UI overlays drawn with Jetpack Compose Canvas.
  • Progressive Challenge: Navigate a wide array of levels with distinct budgets and goals. The internal `OrbitTracker` system accurately tallies revolutions regardless of elliptical eccentricity.

Gallery