Claw Paradise logoClaw Paradise
Devlog banner for Claw Paradise: How we made a real-physics claw machine feel instant in the browser
General
Nov 5, 2026

How we made a real-physics claw machine feel instant in the browser

I love claw machines, so I built Claw Paradise: a 3D online claw machine where every swing, slip and near-miss comes from a live 120Hz physics simulation. Nothing is pre-animated and no result is decided in advance.

The hard part wasn't the visuals. It was making real physics feel responsive and stay fair. Here's the path we took.

1. Physics on the server

The first version ran Godot on the server and streamed the claw and plush positions to the browser. Safe: players can only send "move" and "drop", so nobody can cheat the result. The problem was latency. On a typical mobile connection, it took about 400ms from pressing a key to seeing the claw move. Aiming felt sticky.

2. Predicting the claw (and throwing it away)

Next, we predicted only the claw's horizontal movement in the browser and corrected it when the server confirmed. Latency improved, but the swing looked wrong, so we scrapped it. Better numbers don't always mean better feel.

3. A small physics world for aiming

Then the browser got its own tiny physics world: just the hanging claw and the machine walls, with the same rope forces and damping. Aiming felt natural, but after the drop you still waited on the server.

4. Client runs it, server verifies it

The final design runs the whole round in a browser Worker using the same physics code as the server. The server replays every input from the same random seed and checks the result at checkpoints along the way. Coins, catches and prizes are only ever decided by the server. If the two sides disagree or the connection drops, the game falls back to the server's version. To make this possible, both sides must compute exactly the same result, so we pinned the Godot and WebAssembly compiler versions and enabled cross-platform determinism.

5. Then we tested on real phones

Smooth on desktop, rough on phones:

  • Stop-and-go claw: phones couldn't always keep up with 120 physics steps per second. Playback now follows the phone's real speed with an adaptive buffer.
  • Downloading all machines to play one: 23MB of the 25.5MB main pack was room art for every machine. Each machine now ships its own textures.
  • The deep-sea machine crashed Safari: its first render froze for about 10 seconds. Dropping sky reflections and clearcoat brought it to about 1.5 seconds, and the model pack went from 12MB to 4.6MB.

Lesson learned: "smooth on desktop" and "playable on a phone" are two different things.

Other wins

  • Patched the Jolt physics engine's continuous collision detection to skip parts that can't touch: about 40% faster drops and lifts on our heaviest machine, with the same shapes and forces.
  • Engine and model packs are cached in the browser, so a second visit skips the download.

What you can play today

  • Themed claw machines you can watch live, with in-machine chat
  • A plush collection book
  • Weekly Machine Owner draws
  • Deep-Sea Arena: 1v1 turn-based claw battles with monthly seasons

Try it: https://claw-paradise.com/

Discussion