Skip to main content
Back to Projects
complete 2026 web-applications

Xalo — Orbital Command

Physics-based satellite orbit game with real Newtonian gravity and multiplayer.

A browser-based orbital mechanics game where players launch satellites from a planet’s surface and manage them to achieve stable orbits within a 5-minute round. Built with real physics—no fake orbits, just F = GM/r².

The Challenge

Launch satellites by dragging from the planet’s surface. The direction and length of your drag determines the launch velocity. Once in flight, satellites follow realistic orbital mechanics—gravity pulls them toward the planet while their velocity carries them forward, creating elliptical orbits.

Your goal: achieve stable orbits before time runs out. Not too fast (escape velocity), not too slow (crash trajectory), just right for a sustainable orbit.

Features

Real Physics

  • Newtonian gravity calculations (F = GM/r²)
  • Two-body gravity system with optional moon
  • Orbit prediction with confidence scoring
  • Circularization burns to stabilize elliptical orbits

Satellite Types

Six different satellite types with varying mass and score multipliers:

  • Standard - Balanced starter satellite
  • Heavy - High mass, harder to launch but worth more points
  • Light - Easy to launch, lower scoring
  • Solar - Renewable energy bonus
  • Relay - Communication satellite
  • Cow - Easter egg special delivery

Multiplayer & Progression

  • Real-time multiplayer via WebSocket
  • See other players’ satellites in your world
  • Daily, weekly, and monthly leaderboards
  • Achievement system
  • Persistent stats and progress

Polish

  • Orbit prediction lines with confidence percentages
  • Procedural audio—all sounds synthesized in real-time using Web Audio API
  • Ambient events: UFO encounters, comets, and surprises
  • Mobile-friendly touch controls
  • Works on desktop and mobile browsers

Technical Implementation

Built with Excalibur.js for the game engine, but rendering is almost entirely custom Canvas 2D via postdraw events. This hybrid approach provides engine features (game loop, scene management) while maintaining full control over rendering.

A native HTML canvas overlay handles all HUD/text rendering to bypass WebGL texture sampling, keeping text crisp on all DPR/resolution screens.

WebSocket multiplayer server runs on Node.js with the ws library, handling player presence, satellite state sync, and server-driven ambient events. Fails gracefully to local-only mode when offline.

All game logic lives in a single ~5,100 line monolithic file—no modules, no build system for the client. Just serve the files with any static HTTP server and it works.

Game Design Philosophy

The game is intentionally designed around real orbital mechanics, not arcade physics. This means:

  • Mass doesn’t affect orbital trajectory (only scoring)
  • Stable orbits require precise velocity vectors
  • The moon adds gravitational perturbations that destabilize existing orbits
  • Predictions show confidence scores because orbital mechanics is hard

It’s a game about the satisfaction of getting the physics right, not button mashing.