Squish Lab - Soft-Body Physics Playground
Squish Lab is an interactive soft-body physics simulator where you control a sentient jelly blob through customizable obstacle courses. Drag the blob to stretch and launch it, then watch as it squishes, bounces, and deforms realistically based on real-time spring physics. Adjust squishiness (stiffness), blob size, and gravity to create unique tactile experiences. Build courses with platforms, circular obstacles, deadly spikes, and bouncer pads, or generate random challenges instantly. Perfect for stress relief, physics education, or anyone who finds poking digital jelly deeply satisfying. The blob has health points avoid spikes to keep your squishy friend alive. Runs entirely client-side with no downloads or signups required.
Blob Health
How to Use This Playground
- Step 1 - Adjust squishiness (0.1-1.0) to control how the blob deforms. Lower values create ultra-soft jelly, higher values make it more rigid and springy.
- Step 2 - Set blob size (30-80px) and gravity (0-2x). Smaller blobs navigate tight spaces, while low gravity creates floaty, dreamy motion.
- Step 3 - Add obstacles: platforms to bounce on, circles to navigate around, spikes that damage health, and bouncers that launch the blob at high speed.
- Step 4 - Click and drag the blob to stretch it, then release to launch. The blob will squish against obstacles, tracking squishes, bounces, and survival time. Use Random Course to generate instant challenges.
Why This Soft-Body Simulation?
Squish Lab uses a spring-mass system where the blob's surface is modeled as 20 connected points arranged in a circle. Each point has velocity and position, and springs pull them toward their rest position based on the stiffness parameter. This creates emergent deformation behavior when the blob hits a wall, points compress unevenly, producing realistic squashing and bouncing without complex mesh deformation algorithms.
The physics engine updates at 60 FPS, applying Verlet integration for point positions and damping to prevent infinite oscillation. Collision detection checks the blob's center against obstacle boundaries, then applies impulse forces that propagate through the spring network. This approach, inspired by games like World of Goo and LocoRoco, balances performance with satisfying tactile feedback you feel the blob's weight and elasticity through visual squishing.
Pro tip: Set stiffness to minimum (0.1) for ultra-jiggly ASMR satisfaction, or max (1.0) for pinball-like bouncing. Combine low gravity (0.2x) with large blob size (80px) for dreamy slow-motion squishing. Place bouncer pads strategically to create chain reactions that launch the blob across the screen. The health system adds light gamification see how long you can keep your blob alive in spike-filled courses!