Three.js game · Portrait mobile

ORBIT DODGE:
A THREE.JS SPACE ARCADE GAME

Orbit Dodge is a free Three.js 3D browser game. Swap between two orbit rings around a cute planet, dodge asteroids and grab gems. Built with WebGL.

· Game overview · Hosted by Indie Forge Studio

Orbit Dodge: a small rocket circles a smiling low-poly planet on glowing orbit rings among asteroids (Three.js 3D browser game)

⚒ By Indie Forge Studio

Phones: tap anywhere to swap orbit · Desktop: Space or Enter · P pause · M mute

What Is Orbit Dodge?

Orbit Dodge is a free portrait 3D space arcade game for phones and desktop. Your rocket circles a cute low-poly planet on two orbit rings. Tap to swap rings, dodge the incoming asteroids and grab gems for combo points as the speed ramps up. Your best score is saved on your device.

It is a Three.js game that runs as a 3D browser game on WebGL, developed by Shane Brumback and hosted by Indie Forge Studio. It is free with no download or sign-up.

How to Play Orbit Dodge

  • Swap orbits: tap (or press Space) to jump between the inner and outer orbit ring.
  • Dodge asteroids: rocks fly in from every side. One hit ends the run.
  • Collect gems: each gem is worth 25 points times your gem combo, up to x10.
  • Keep the combo: let a gem fade away uncollected and the combo resets.
  • Survive: your orbit speed and the asteroid rate ramp up the longer you last. Tap to restart instantly.

Controls: Phones: tap anywhere to swap orbit · Desktop: Space or Enter · P pause · M mute

How Orbit Dodge Is Built with Three.js

Orbit Dodge is plain JavaScript with no build step. It loads Three.js r160 as an ES module from a local copy of three.module.min.js and draws everything with a single THREE.WebGLRenderer. All the 3D models are built in code from Three.js primitives, so there are no 3D model files to download. Here is what the game code actually does:

  • The planet is an IcosahedronGeometry with per-vertex colors blended between two shades, plus a face built from small sphere, circle and half-torus meshes.
  • The two orbit rings are thin TorusGeometry meshes, and a THREE.Sprite with a radial-gradient CanvasTexture gives the planet its glow.
  • The rocket is a small THREE.Group of cone and box meshes, and its trail is a BufferGeometry line with vertex colors and AdditiveBlending.
  • Asteroids use a low-detail IcosahedronGeometry and gems use an OctahedronGeometry, lit by hemisphere, directional and point lights.
  • Sound effects are made on the fly with the Web Audio API (AudioContext oscillators) instead of audio files, and your best score and mute setting are stored in localStorage.

Code from Orbit Dodge

These short snippets are copied straight from the game's source code.

Swapping rings

A tap just flips which ring the ship is on and plays a quick tone.

function swap() { S.ring = 1 - S.ring; core.beep(S.ring ? 520 : 760, 0.07, 'triangle', 0.05, S.ring ? -120 : 160); }

From games/orbit-dodge/game.js, lines 67–67

Moving the ship around the planet

Each frame the ship's angle advances, and its radius eases toward the selected ring, so a swap glides smoothly instead of snapping.

    const sp = mode === 'play' ? S.speed : 0.7;
    S.ang += sp * dt; S.r += ((S.ring ? R_OUT : R_IN) - S.r) * Math.min(1, dt * 14);
  }
  shipPos.set(Math.cos(S.ang) * S.r, 0.05, Math.sin(S.ang) * S.r);

From games/orbit-dodge/game.js, lines 90–93

Touch and mouse input (shared core.js)

One pointerdown listener on the game frame handles taps and clicks alike, ignoring the pause and mute buttons, and wakes the Web Audio context on the first touch.

  frame.addEventListener('pointerdown', (e) => { if (e.target.closest('.icon-btn')) return; C.audio(); e.preventDefault(); primary(); });

From games/orbit-dodge/core.js, lines 51–51

Built for Mobile and Portrait Play

Orbit Dodge is designed for phones held upright. The game runs in a 9:16 portrait frame, and on desktop it plays in a centered portrait frame. Input uses pointer events, so the same code handles touch and mouse, with keyboard controls on desktop.

To keep it smooth on phones, the renderer caps the device pixel ratio, and the game pauses itself when you switch tabs or apps. Phones that support it give a short vibration as feedback.

Play Orbit Dodge

Free, in your browser, no download. Hosted by Indie Forge Studio.

More games: Browse all 3D games

Frequently Asked Questions

How do I play Orbit Dodge?

Your ship orbits the planet automatically. Tap the screen, or press Space or Enter, to swap between the inner and outer ring. Dodge the asteroids and fly through gems.

How does scoring work?

You earn points every second you survive, faster as speed ramps up. Gems add 25 points times your gem combo, up to x10. Missing a gem resets the combo.

Is Orbit Dodge free and does it work on phones?

Yes. It is free, needs no download and is built portrait-first for phones. On desktop it plays in a centered portrait frame.

Is my best score saved?

Yes. Your best score is saved in your browser with localStorage, so it is still there next time you play on the same device.

Can I turn the sound off?

Yes. Tap the speaker button or press M to mute. Your choice is remembered.

Is Orbit Dodge built with Three.js?

Yes. Orbit Dodge is a Three.js 3D browser game rendered with WebGL, so it runs in any modern web browser on desktop or mobile with no download or install.

Who hosts Orbit Dodge?

Orbit Dodge is developed by Shane Brumback and hosted by Indie Forge Studio. You can play it free on its game page.

Can I learn to make a game like this?

Yes. Browse the free Three.js tutorials.

Browse Games by Genre

Free browser games by Shane Brumback, grouped by genre: FPS, Educational, Arcade, Board game, Sport, Fantasy and Simulation. Each game keeps its release category too.

FPS Games

Educational Games

Board game Games

Sport Games

Fantasy Games

Simulation Games