03 / Force

ANTS!

An ant-scale game where players drag objects, pull together, and recover after being knocked down.

  • Grabbing & hauling
  • Multiplayer physics
  • Ragdoll recovery
Independently DevelopedImplementation reviewed in codeRecorded in Roblox Studio
RECORDED IN THE GAME
An ant bites and hauls a ladybug, then drags a sugar cube.

I made these hobby projects independently, including the builds, UI, gameplay, and supporting code. Libraries and adapted techniques are credited where relevant.

ABOUT THE GAME
ILLUSTRATION · NOT GAMEPLAY

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.

  1. 01 / Check the grabCompare the proposed bite point with the object’s actual surface.
  2. 02 / Combine the grabbersUpdate the tethers and hauling behavior as ants join or leave.
  3. 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

STUDIO DEMONSTRATION
An ant is knocked flying, tumbles, and recovers straight into a walk.
RECORDED IN THE GAME
An ant climbs a wall, crosses the ceiling upside down, and comes back down.

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 code
Technical 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 code
Technical 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

Gravity Dash