03 / Force
ANTS!
An ant-scale game where players drag objects, pull together, and recover after being knocked down.
Playback is unavailable. Open the original capture.
I made these hobby projects independently, including the builds, UI, gameplay, and supporting code. Libraries and adapted techniques are credited where relevant.
Grab objects and pull together
Ants grab objects or other creatures using physical tethers. More ants joining changes the hauling behavior. Struggling or letting go changes the interaction again.
How several ants share one object
The server checks where an ant is trying to grab, combines the active grabbers, and updates the hauling behavior. It also decides how the object’s physics should be shared across players.
- 01 / Check the grabCompare the proposed bite point with the object’s actual surface.
- 02 / Combine the grabbersUpdate the tethers and hauling behavior as ants join or leave.
- 03 / Assign physics ownershipSolo drag: the dragging player. Multiple grabbers or release: automatic selection.
A simplified explanation based on the project code.
Shared hauling, physical knockdowns, and getting back into the game.
Grab and haul together
Grab an object, bring in another ant, and change how it moves as players join or let go.
Ragdolls and recovery
An ant can tumble, recover, and return to player control while its procedural legs remain part of the animation.
MORE FROM THE GAME
Short gameplay demonstrations
Playback is unavailable. Open the original capture.
Playback is unavailable. Open the original capture.
Have a feature in mind?
Tell me what you want players to be able to do. I can discuss the implementation and answer detailed questions about this project.
Discuss your project ↗How it works — optional technical details
01 / IMPLEMENTATION
Checking grabs and coordinating multiple players
The server checks grabs and updates behavior when ants join or leave.
Reviewed in project codeTechnical details
GrabService runs a server heartbeat simulation around RopeConstraints, aggregate item/creature state, and struggle/tear-off logic. For item grabs, the server re-derives the nearest valid bite point and rejects implausible disagreement. publishItem and publishCreature recompute shared state as claimants change. Solo drag can assign ownership to the dragging player; multi-ant hauling and release return items to automatic network ownership.
Limitations
Item ownership follows Roblox’s own automatic selection, so the server does not always simulate the item. Grab validation is a narrow geometric check, not a complete anti-cheat.
02 / IMPLEMENTATION
Keeping the legs working during a ragdoll
The body can ragdoll while the legs keep their procedural animation; recovery returns player control.
Reviewed in project codeTechnical details
Including client-posed legs in the server ragdoll skeleton caused stale server transforms to overwrite leg IK. RagdollAdapter excludes leg parts from that skeleton and keeps them anchored on the server. The body uses server physics while clients continue posing the legs. Recovery explicitly restores the player’s network ownership; NPC bodies remain server-owned.
Limitations
The fix splits which system controls each part, instead of asking two systems to drive the same parts at once.
NEXT PROJECT / Space