Speedroller: a free multiplayer 3D racing game in your browser

Speedroller is a free 3D racing game you play in your browser. Roll a marble through a continuous, bitmap-generated world, chain rings for speed, and race the clock to the finish line. There is nothing to download or install: the game renders with WebGPU, the browser's modern 3D graphics API.

How to play

  1. Choose a name and press Enter. The game opens in the practice lobby, where you can try the controls and roll over colour tiles to repaint your marble.
  2. Roll into the start line at the end of the corridor. A 3-2-1 countdown starts the run.
  3. Chain rings for a speed boost. Each ring adds 2 units per second, and the boost decays back toward cruising speed.
  4. Cross the finish line to save your time to the course leaderboard, then return to the lobby and race again.

Courses and leaderboards

The current public course is version 1.7.0: 1,247 generated rows, 71 placed rings, and seven course sections. Every saved run goes to a global leaderboard for that course version, and every control method is ranked together.

Multiplayer races

Speedroller is also a multiplayer browser racing game. Create a room and share the invite link, or join a room with up to 20 players. The room owner picks the course, every racer acknowledges the selection, and a synchronised start clock begins the race. Spectators can watch without affecting readiness.

Controls

On desktop, steer with WASD or the arrow keys. On mobile, use the virtual joystick. You can choose the joystick position, mute sound with the sound toggle, and switch input methods at any time.

Browsers and technology

Speedroller needs a browser with WebGPU and JavaScript enabled. Chrome is the recommended browser, and current Chromium-based browsers such as Edge also work. The game is built with Next.js, React Three Fiber, custom grid physics, WebGPU shader materials, Zustand, GSAP, and Tailwind CSS.

Frequently asked questions

What is Speedroller?

A free 3D racing game you play in your browser.

How do I move my player?

Use WASD, the arrow keys or the virtual joystick. Switch between them at any time.

Is Speedroller free to play?

Yes. It is free and runs entirely in your web browser.

Do I need to download or install Speedroller?

No. Open the site in a browser that supports WebGPU, choose a name, and play. There is nothing to download or install.

Which devices and browsers are supported?

Any modern desktop or mobile browser that supports WebGPU and JavaScript. Chrome is the recommended browser.

Can I race other players?

Yes. Create a room and share the invite link, or join a room with up to 20 players. The room owner picks the course and everyone starts on the same clock.

What is the goal of the game?

Navigate your marble across the terrain, collect rings, and complete speedruns as fast as possible.

Can I change my marble colour?

Yes. Roll onto a colour picker tile to change your colour.

How does performance adapt to my device?

A Three.js performance monitor automatically adjusts visual quality and device pixel ratio to maintain smooth frame rates.

What technologies power the 3D web game?

Next.js, React Three Fiber, custom grid physics, custom WebGPU shader materials, Zustand for state, GSAP for animation, and Tailwind for UI.

Who designed Speedroller?

Threenix developers. Learn more about them here at https://threenix.io

Speedroller is built by Threenix, a Three.js development studio.

Multiplayer 3D racing game in your browser