๐Ÿฆ€ Crab Soccer

Rocket League meets the ocean floor

A browser-based 3D soccer game built with Three.js and Blender. Drive crabs up walls, scuttle sideways at boost speed, dodge-flip into the ball, and score goals in an underwater arena. No download required โ€” just click and play.

โ–ถ Play Latest (v8) โ†“ All Versions
8
Versions
12
Days of Dev
2
Players Local
3
Movement Modes
0
Downloads Required

The Story

Crab Soccer started as a joke question: "What if Rocket League, but crabs?" Dylan and Craw (an AI agent running on OpenClaw) started building it in February 2026 from an RV in San Diego, powered by solar panels and Starlink.

The first version was one-shotted in a single session โ€” a basic Three.js scene with a box-shaped "crab" and a ball in a walled arena. It worked. It was terrible. It was fun.

From there, each version added something new: real crab anatomy, sideways scuttling physics, Blender-modeled arenas, split-screen multiplayer, surface-following raycasting (crabs can drive up walls and across ceilings), dodge-flipping, boost mechanics, and a settings GUI that lets you tune every parameter in real time.

The entire game runs in a single HTML file. No build tools, no bundler, no server required. Open the file, play the game. That constraint forced creative solutions and kept scope honest.

How the Crab Got Its Legs

The Blender pipeline was one of the more interesting challenges. Dylan researched crab rigging by watching YouTube tutorials on crustacean animation, then used Google's Gemini to transcribe and summarize the key techniques. He took reference screenshots from FrontRidge 3D tutorials on arthropod rigging โ€” focusing on how to set up bone hierarchies for multi-jointed legs that move naturally.

Behind the Scenes: The Rigging Pipeline

The crab model started as FrontRidge mesh references, assembled in Blender via Python scripts running headless on the server. The rig uses a bone hierarchy for 10 legs (5 per side) with IK constraints so the legs plant naturally on surfaces. The final model (crab_v2.glb, 558KB) was exported for Three.js with team-colorable materials โ€” each crab's shell lerps 45% toward its team color with a 15% emissive glow.

Reference tutorial that inspired our rigging approach:

Behind the Scenes: Surface-Following Physics

Starting in v7, crabs use raycasting to follow surfaces โ€” meaning they can drive up ramps, along walls, and even across ceilings. The physics system casts rays downward (relative to the crab's orientation) to find the nearest surface, then aligns the crab to it. Combined with AABB safety bounds and a 2m/frame max step, this prevents the map-clipping that plagued earlier versions. The result: crabs feel like they have magnetic feet.

Behind the Scenes: Arena Design

The arena was built in Blender as two variants: crab_arena_v1.glb (basic box with goals) and crab_arena_v2.glb (beveled corners, ramps, protruding goalposts). Dimensions: 52m ร— 31.2m ร— 15.6m with 3m beveled edges and goals at 6m wide ร— 3.5m tall ร— 4m deep. The bevels are critical โ€” without them, crabs get stuck in 90ยฐ corners. With them, they smoothly transition from floor to wall.

Built by an AI and a Human in an RV

This project is a collaboration between Dylan (human, Lunaria Unlimited) and Craw (AI agent, running 24/7 on a Linux VM). Dylan handles game design, playtesting, Blender modeling, and creative direction. Craw handles code generation, physics tuning, browser automation, and version management. The entire development happens through conversation โ€” Dylan describes what he wants, Craw builds it, they iterate.

Every version of this game is playable below. You can see the progression from "box with a ball" to "crabs driving on ceilings" in real time.

Version History

Every version is playable. Click through to see how the game evolved.

LATEST

v8 โ€” The Merge

February 15, 2026

The best of everything combined. v8 merges v4's camera system (5 modes including split-screen) with v7's GLB models and surface-following physics. Full 2-player local multiplayer with team colors, goal detection, scoreboard, timer, and a comprehensive settings GUI organized into Crab, Ball, Physics, Camera, Arena, and Game sections.

  • Blender-modeled crab + arena (GLB format)
  • Surface-following raycasting โ€” drive up walls and ceilings
  • 2-player local multiplayer with team colors
  • 5 camera modes: overhead, P1 chase, P2 chase, ball follow, split screen
  • 3 movement modes: Walk (wide), Scuttle (boost+forward), Strafe (boost+lateral)
  • Double-jump dodge with directional flip
  • Goal nets, collision physics, scoreboard + timer
  • lil-gui settings panel with save/load presets
๐Ÿ“ธ Screenshot coming soon โ€” play it to see!
โ–ถ Play v8
V7

v7 โ€” GLB Models & Surface Physics

February 14, 2026

The Blender breakthrough. Replaced procedural geometry with proper GLB models exported from Blender. Introduced surface-following raycasting so crabs stick to any surface. The arena got beveled corners and protruding goalposts. Fixed the infamous "airborne deadlock" bug where crabs would get stuck in mid-air after a dodge.

  • First version with Blender-exported GLB models
  • Surface-following raycasting physics
  • Arena v2 with beveled corners and ramps
  • Fixed jump/dodge map-clipping with AABB safety bounds
  • Team coloring: 45% lerp toward team color + 15% emissive
  • Organized settings GUI: ๐Ÿฆ€๐ŸŸ๏ธโšฝ๐ŸŒŠ๐Ÿ“ท๐ŸŽฎ
๐Ÿ“ธ Screenshot coming soon
โ–ถ Play v7
V6

v6 โ€” Procedural Crab Model

February 12, 2026

Gave the crab a real body โ€” procedurally generated in Three.js with articulated legs, claws, eye stalks, and carapace. Added underwater particle effects (bubbles, caustics). The crab actually looks like a crab now instead of a colored box.

  • Procedural crab with articulated legs and claws
  • Underwater particle effects
  • Improved visual fidelity
โ–ถ Play v6
V5

v5 โ€” Physics Refinement

February 11, 2026

Focused on making movement feel right. Tuned acceleration curves, ball bounce physics, and wall interactions. The ball started behaving more predictably โ€” less "random bouncing," more "I meant to do that."

โ–ถ Play v5
V4

v4 โ€” Camera System & Full Anatomy

February 10, 2026

The camera update. Added 5 camera modes including split-screen for 2-player. Built a full anatomical crab model (procedural). Added the underwater theme that defines the game's aesthetic โ€” deep blue arena with caustic lighting effects.

  • 5 camera modes: overhead, P1 chase, P2 chase, ball, split screen
  • Full anatomical crab model
  • Underwater theme with caustic lighting
  • 2-player local on one keyboard
โ–ถ Play v4
V3

v3 โ€” Movement Modes & Dodge

February 8, 2026

The movement breakthrough. Three distinct modes that change how the crab drives: Walk (wide turning, classic car feel), Scuttle (boost + forward, crab rotates sideways โ€” the signature move), and Strafe (boost + lateral movement). Added double-jump dodge with directional flip, directly inspired by Rocket League's dodge mechanic.

  • 3 movement modes: Walk, Scuttle, Strafe
  • Double-jump dodge with directional flip
  • lil-gui settings panel with named presets
  • The version that proved the concept is fun
โ–ถ Play v3
V1

v1 โ€” The Original

February 5, 2026

Where it all started. A Three.js scene with a box-shaped crab, a sphere for a ball, and four walls. Basic WASD movement, basic physics. Built in a single session. Ugly as sin. Immediately addictive.

  • Basic Three.js scene
  • Box crab, sphere ball, walled arena
  • WASD movement
  • The proof that crabs + soccer = fun
โ–ถ Play v1
PROTOTYPE

Car Soccer โ€” Pre-Crab Era

February 4, 2026

Before crabs, there were cars. The original prototype that proved browser-based Rocket League is possible. Quickly abandoned once someone said "what if crabs though."

โ–ถ Play Prototype

Tech Stack

๐ŸŽฎ
Three.js
3D rendering, physics, game loop
๐ŸŽจ
Blender 3.0
Crab rig, arena models, GLB export
๐Ÿฆด
FrontRidge Rigging
Arthropod bone hierarchy reference
๐Ÿ“
lil-gui
Real-time parameter tuning
๐Ÿค–
OpenClaw
AI agent (Craw) for code generation
โ˜€๏ธ
Solar + Starlink
Built from an RV in San Diego

Test Builds

Isolated test modules used during development. These aren't full games โ€” they're tools we used to iterate on specific mechanics.

Arena Test (v7) Movement Test (v3)

What's Next