DEV Community

IdleCultivation
IdleCultivation

Posted on

Animating a character that has no animation frames

Development covered 10 Jul 2026 to 15 Jul 2026 (commit dates).

Hand-drawn walk cycles are out of reach for this project. Every character is one painted pose, sometimes two if there is a side view, and that is the whole budget. So walking has to be produced by moving that single image around in ways that read as gait, and this stretch was about a dozen passes of getting that wrong before getting it right.

Every early version looked like floating

The first attempt did what everyone's first attempt does: bob the sprite up and down, lean it slightly into the direction of travel, oscillate both with the step cadence. It reads as hovering. The character does not walk, it drifts along a sine wave with a slight tilt, and no amount of tuning the amplitudes fixed it.

Reducing the numbers made it worse in a specific way. Turn the motion down far enough not to look silly and the character glides, which is the failure the motion existed to prevent. There is a narrow band between wobbly and dead, and the whole band looks wrong, which is usually the sign that the parameter is not the problem.

The pivot was the problem

A walking person does not move their head much. The head travels along a fairly smooth line and the feet do all the work underneath it. Every version I had built rotated and bounced the sprite around its middle, which puts the head through the largest excursion in the frame. That is what the eye was rejecting, and no amplitude fixes it because the shape is wrong.

Pivoting the sway at the head, so the bottom of the sprite swings and the top stays put, changed the read completely. Suddenly the same maths that looked like hovering looked like stepping. After that the numbers made sense to tune: the foot swing wanted a third of what I thought, the vertical bounce wanted less than that, and the cadence wanted to be about half as fast as it felt right to type.

One more shape change earned its keep. The bounce was built on the absolute value of a sine, which has a cusp at the bottom, so every footfall landed with a tiny kink. Squaring a sine instead gives the same double bounce with a smooth trough, and the character stopped ticking.

The last piece was not motion at all: a small puff of dust on each footfall. Contact is what sells weight, and a single particle at the right moment does more for the illusion than any of the curves above it.

The general lesson is one I would like to remember longer than a month. When tuning a parameter makes something worse in both directions, stop tuning it. You are looking at the wrong term.

One story, four homes

The other big job was less visual and more structural. The game has a hundred or so main story quests and they were authored for a specific sect, naming its master, its halls, its senior disciples in the prose. That is fine as long as everybody joins that sect. Players do not.

The alternative most projects reach for is writing the whole line again per faction, which multiplies the cost of every editorial pass by the number of factions and guarantees three of them rot. What went in instead is a small set of slots inside the copy. A quest says the sect, the master, the elder, the hall, and each of those resolves at reading time to whatever is true for the player. One authored story, and it belongs to whichever gate you walked in through.

The interesting cost is not technical. It is that authored prose gets slightly more careful: a sentence that leans on a specific name has to work with any name, so the writing skews a little toward roles and away from personalities. That is a real loss and I think a fair trade, because the alternative is four texts of which one is loved and three are stale.

The last detail is that these slots resolve per language, not per string. Titles and honorifics do not survive being pasted into a sentence written for another language, so the substitution happens on each translated line independently. Anyone who has tried to build a sentence out of parts across languages knows why. It rarely ends with a sentence.

Playable today: Idle Cultivation Game.

Top comments (1)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.