All projects

live ยท Oct 2026 to present

Bloxy Fall Flat

A wobbly-ragdoll physics co-op puzzle game on Roblox with 20 compact levels, grabbable props and drivable cars.

  • Roblox Studio
  • Luau
  • Claude Code
  • Blender (props, lobby, VFX flipbooks)
  • Stud UI kit (licensed)
  • Node publish tools
  • StudioTestService
  • Figma (lobby UI drafts)

My role

I directed the game and did the playtesting myself, giving exact feel feedback (for example 'grabbables must feel light'). Claude Code sessions wrote the Luau code and tools using our roblox-game-forge skill, supervised by an 'Architect' Claude session. It is published under the Mr Chow Studios group.

What it is

Bloxy Fall Flat is a Human Fall Flat style game on Roblox. Your character is a floppy physics body with arm grips: you grab crates and planks, pull levers, carry things with a friend and drive cars through 20 short levels. The idea grew out of the physics body from our earlier game Throw Your Body.

The game was scaffolded on 2026-10-09, had 20 levels and Blender props live by 2026-10-10, and was made public on 2026-10-11 under our studio group with a server size of 12. The live build documented in the project log is v85, which added Blender-made toon effects and a crane-hook showcase in level 3.

Most of the engineering is about making physics feel good and stay honest between players: who owns a grabbed prop, how two players share a car, and how to keep grabbing from freezing.

How it was built

  1. Concept and validationIntake, concepts, market research (cached Roblox search results for 'fall flat', 'wobbly', 'ragdoll puzzle', 'grab' and similar on 2026-10-10) and a validation note were written first under docs/.
  2. Project structureGame code lives in src/ServerScriptService/FallServer (Main.server, Grab, Machines, LevelService, Checkpoints, Progress, Shop, FunProps, and a Levels folder with L01 to L20, Lobby and a shared Kit) and src/ReplicatedStorage/FallShared (Config, Ragdoll, Movers, Catalog, Sounds, plus client scripts for Grab, Movement, Hud, ShopUI, WorldUI and Juice).
  3. Ragdoll body and grabbingThe body is a ragdoll with arm reach and grip forces tuned in Config (REACH_*, GRIP_FORCE, HANG_*, CLIMB_* keys). The grab freeze fix made grips join a part only after the server says 'granted' and network ownership is steady; a joined hand that loses ownership lets go.
  4. Machines and levelsEach of the 20 levels is its own module built from a shared Kit. Levers, platforms and movers are wired by the Machines and Movers modules. The compact v4 level spec keeps routes around 260 to 300 studs (level 20 is 477) with empty walks of 25 studs or less.
  5. CarsVersion 3 wheeled cars (CAR_SPEED 30, downforce, ballast, speed-scaled steering) share one throttle and one steer lever so two players can drive together; an assist angle measured from look direction relative to the car stops the passenger from tipping it.
  6. Art and effectsThe lobby and props were built in Blender (art/blend/bff-props.blend, FBX batch export, a mesh upload tool) and the lobby is a single Blender asset. Five toon effect flipbook sheets were rendered headless with tools/vfx/bff_vfx.py and played by pooled emitters (40 sprites a second at most).
  7. UIAll UI uses the licensed Stud UI kit through the shared ForgeClient UIKit modules; lobby UI drafts were made in Figma first. Shop and HUD captures were taken on iPhone 14, Galaxy A06 and PC 1920x1080 simulators.
  8. TestingA two-client StudioTestService run checked carry and car sharing with 17 of 17 checks passing on the fifth run, and found a real bug (the assist angle read car motion as a turn). A set-piece audit and solvability report cover levels 1 to 20; day-to-day feel testing is done by me.
  9. Publish pipelinetools/publish-saved.mjs runs code-marker checks, confirms zero test and debug leftovers, confirms HttpService is off, and runs tools/live-smoke.mjs, a headless Luau run that builds the lobby and all 20 levels, steps Machines and checks every car motor, before publishing.
  10. Launch assetsStore thumbnails and an icon were generated from in-game captures (docs/launch/thumbnails) and a short promo clip set with voice-over lines and music loop was assembled under clips/.

Decisions and why

Bigger levels mean more stuff to do, not more distance.
Long empty walks were boring in tests; empty stretches are capped at 25 studs.
The server verifies hand-overs of grabbed parts, and props rest server-owned.
Letting clients own everything caused grab freezes and teleport glitches.
Stable, not sluggish feel: calm the twitch but keep climbing brisk.
Owner feedback after playtests; grabbables must feel light was raised three times.
No long or multi-client playtests (owner rule from 2026-10-19).
They are slow and heavy on the PC; the owner's own testing is the real-input evidence.

Hardest problems

Grabbing could freeze the player.
Grips now join only after a 'granted' reply and steady network ownership; a joined hand that loses ownership lets go. Verified 3 of 3 trials solo and in a two-client run.
Two players sharing one car fought over it.
One throttle and one steer lever; the second player becomes an assist on steering with the angle taken from look direction relative to the car.
Props and cars teleported or snapped back after ownership changes.
Props rest server-owned, respawn carries only the vehicle's own model and wheel/body no-collide was added (progress.md fixes list).
Default-texture burst effects looked cheap.
Replaced with Blender-rendered toon flipbook sheets driven by pooled ParticleEmitters.

Numbers

Levels20 (L01 to L20 modules plus lobby)2026-11-06
Live buildv852026-10-11
Server size12 players2026-10-11
Two-client test result17 of 17 checks on run 52026-10-11
VFX flipbook sheets52026-10-11
Checkpoint screenshotsabout 25 in docs/evidence/checkpoints2026-11-06

Timeline

  • 2026-10-09Project scaffolded.
  • 2026-10-1020 levels and Blender props live in Studio; playtest sweep and set-piece solvability reports.
  • 2026-10-11Activated public under Mr Chow Studios; v85 with Blender toon VFX and L03 pit showcase; two-client physics test 17 of 17.
  • 2026-10-12Morning test list written for owner testing.
  • 2026-10-19Rule set: no long or multi-client playtests.

What I took from it

  • Physics games live or die on ownership rules: deciding who owns each part and when removed most freezes and snaps.
  • A headless smoke test that builds every level catches a lot before the owner has to open Studio.
  • Owner feel feedback in exact words ('grabbables must feel light') is more useful than a bug list.

Links