This project started as an exploration of procedural animation for spider-like creatures, inverse kinematics, and swarm simulations. What it became was something different entirely: a 2D physics platformer built around a yarn ball that swings on knots and gathers thread as it moves through the level. The pivot was unplanned, but the result ended up being a more focused and mechanically interesting game than the original concept ever was.
You can also find it on itch.io.
Early research covered the main approaches to procedural animation in games: procedural locomotion using IK for foot placement and terrain adaptation, animation blending that layers procedural adjustments on top of baked clips, and fully physics-driven characters like those in QWOP or Totally Accurate Battle Simulator. Reference games included Carrion, Rain World, Grow Home, and Overgrowth, which are all titles that each use procedural systems in very different ways. The key technical split that emerged was between CCD (Cyclic Coordinate Descent) and FABRIK solvers, with FABRIK generally handling longer limb chains more effectively.
The first prototypes used a tendril system where the player blob would lunge toward nearby anchor points and pull itself forward using spring joints. It worked in principle but felt wrong in practice. The movement was clunky, gravity mysteriously disappeared on click, and the tendrils were so strong they left no control to the player. Playtesting revealed that players kept getting stuck and the controls felt unresponsive. The spring joints were scrapped in favour of manually applied forces, parameters were retuned, and a camera follow system was added. It was better, but it still just a character controller and not a game.
In order to get a solid game idea I went back to brainstorming based on the tendril prototypes I had made. In the end I landed on a rope/yarn mechanic instead of a many-armed blob monster. So I went to it and rebuild my tendril prototype but this time with yarn in mind.
Playtester feedback made one thing clear: nothing felt like yarn. The rope behaved like a stretchy spring, the thread scraps weren't readable as collectibles, and the core premise of the yarn ball wasn't landing. The decision was made to rebuild the rope system from scratch using Verlet chain physics, giving the thread actual weight and drape. Alongside this, the yarn budget mechanic was introduced: the ball's size and its reach became the same resource. Throwing out a rope unwinds yarn from the ball, shrinking it. Collecting thread scraps grows it back. Suddenly the game had stakes and a read-able identity.
Getting the controls right took several rounds of playtesting and redesign. Early versions required a separate key to knot the rope to an anchor, which players consistently ignored or found confusing. The system was redesigned so ropes knot automatically when their tip touches an anchor, persist for as long as the mouse button is held, and retract cleanly on release. Left and right mouse buttons each control an independent yarn arm, and W/S winds or unwinds both simultaneously. This gave players direct, physical control over their reach and size without needing to think about it explicitly.
The final prototype has zero to do with the procedural animation research it started from. That's okay. The design process took a concept, stress-tested it through building and playtesting, and let it evolve into something that actually worked as a game. What remained was a tight physics mechanic with a clear visual identity, genuine resource management, and room to grow into more complex level design and environmental hazards. The biggest lesson: don't over-refine early technical tests. Build fast, playtest early, and follow what's interesting.
Back to Top