Preprint draft · October 2026 · not peer reviewed

From Words to Walk Cycles

Learned 2D Generation versus Disposable 3D Proxies for Eight-Direction Pixel-Art Sprites

Pablo BustamanteIndependent researcher · Chile
Fourteen pixel-art characters seen from the front in two rows, each labeled
Fourteen characters generated from one-line ideas, front view, covering twelve body plans. Each one exists as an eight-direction sheet with a four-frame walk cycle, produced without any sprite training data.

Abstract

Top-down pixel-art games and RPGs need every character drawn from eight directions with a walk cycle, and the eight drawings must agree with each other. None of the models we tried produces such sheets for new characters consistently. A pipeline does.

We followed two routes on two machines. Route A, on an NVIDIA RTX 3090, trained three generations of a sprite-sheet generator on 2,984 community sheets: predicting pixel roles instead of colors made creatures legible, but with 2,603 unique designs it memorized after about 30,000 steps. Route B, on an Apple M5, routes a one-line idea through a disposable 3D proxy: a local language model rewrites the idea for one of thirteen body plans, FLUX.2 [klein] draws a concept, Pixal3D lifts it to a mesh, Blender rigs and renders eight directions, and a 3D-aware pixelization reduces each frame. Route B won: no sprite data, no training, eight true directions, about four and a half minutes per creature.

8.3 → 3.4%isolated-pixel noise vs. a naive downscale
53 → 92%visible eyes that stay legible
−33%color distance to the concept drawing
0 spritesof training data needed by Route B
≈ 4.5 minper creature on one Apple M5

The paper

Eight pages in ACM conference format. Click a page to read it.

Page 1 of 8
Paper page

Eight directions, one creature

The PDF can't move, so here they turn. Each creature rotates through the eight directions of a top-down sprite sheet; because every frame is a render of the same mesh, the shape and markings hold in every direction.

Valkyrie centaur turning through eight directions
valkyrie centaur
Fox turning
fox
Beetle turning
beetle
Bat turning with wings spread
bat
Octopus turning
octopus
Fish turning
fish
Naga turning
naga
Four-armed golem turning
four-armed golem
Mushroom turning
mushroom
Ghost turning
ghost
Serpent turning
serpent
Fawn centaur turning
centaur

Walking in all eight directions at once

Valkyrie centaur walking in eight directions
Bat flapping in eight directions
Beetle walking with a tripod gait in eight directions
Fox trotting in eight directions

Method

Five local stages. The 3D model exists only to turn and animate the creature; it is thrown away once the frames are pixelated.

Pipeline: Spanish idea, concept drawing, 3D model, eight rendered directions with depth, and the pixel-art sprite sheet
(a) A two-word Spanish idea is rewritten into an explicit English description for the chosen body plan. (b) FLUX.2 [klein] draws the concept. (c) Pixal3D lifts it to a textured mesh. (d) Blender rigs it and renders 8 directions × 4 frames plus depth. (e) 3D-aware pixelization.
Walk cycles of twelve body plans
One gait rule for every leg count: legs are ranked front to back on each side, and those with even rank + side move together. Two legs alternate, four trot, six make the insect tripod.

Thirteen body plans, no learned rig. Legs are found by slicing the mesh horizontally and looking for blobs near the axis; insect legs, which the shell joins into one blob, are separated by a morphological opening seen from above. Serpents, fish, wings and octopus tentacles are animated by deforming vertices directly.

Pixelization that knows it came from 3D. Eyes are found once in a front render, tied to a mesh vertex and projected into every frame, stamped only when the depth pass says nothing covers them. Legs thinner than 1.4 sprite pixels are inflated in the mesh before animating, so they stay continuous. Inner lines come from depth jumps. All 32 frames share one palette, pulled toward the concept's colors per hue group.

A writer for ideas in any language. FLUX alone turned "valkiria centaura" into a horse. A local 27B model translates the idea and spells out the body plan and its iconic features first.

Results

Fourteen creatures, twelve body plans. Each pixelization component removed in turn, against a naive downscale with the same palette budget.

Fourteen pixel-art creatures, front and side views
Lower is better, except eyes
VariantNoise %FragmentsEyes %Color
Naive downscale8.290.2853.16.54
No cleanup4.940.0391.34.75
No projected eyes3.270.0371.94.50
No concept color3.350.0391.96.16
No feature protection2.880.0391.94.47
Full3.360.0391.94.40
Five creatures under five pixelization variants
Four concept drawings for valkiria centaura: a horse, a pink bear, an armored centaur and a valkyrie centaur with helmet and spear
The same idea four ways: raw prompt, a small writer that did not translate, the 27B writer, and the 27B writer asked for headgear, weapons and a side view.
The fox's 3D model under three speed settings, nearly identical
Where the time goes: network passes, not polygons. Six flow steps and no guidance in the shape flows take the 3D step from 324 s to 203 s with an equivalent mesh.
Close-up of sprites on the grass of the pond scene
The sheets drop straight into an HD-2D scene built with three.js.

Two routes, one winner

Route A learned sprite sheets directly on an NVIDIA RTX 3090 (about 44 GPU hours). Route B used a disposable 3D proxy on an Apple M5. Both ended at the same insight: 3D works as scaffolding, not as the source of the image.

Three generations of a 2D sprite generator with the same seeds: colored noise in r1, coherent small creatures in r2 and r3
Route A, same three seeds across three generations. Each block is one sheet: five directions × four Walk and four Idle frames. Predicting pixel roles instead of colors (r2, r3) turned confetti into creatures, until the model started memorizing.
Route A: learned 2DRoute B: 3D proxy
HardwareNVIDIA RTX 3090Apple M5
Training≈ 44 GPU hoursnone
Sprite data2,984 sheets, non-commercial licensenone
New designsmemorizes after ≈ 30k stepsany idea, any language
Directions5 generated + 3 mirrored8 rendered
AnimationWalk and Idle, learnedWalk, rule-based, 13 body plans
Stylenative, real palettesapproximated by pixelization
Verdictbounded by its datawinner: new, consistent characters today

Outlook

Art direction without fine-tuning. FLUX.2 has not been fine-tuned to lock one visual style; the concepts share a style only through a hidden template. Even so, splitting the problem by body plan and covering as many body plans as possible with automatic rigging works well in practice.

Learned animation. A text-driven animation model for arbitrary skeletons, UniMate, was released the day this draft was written. It has not been tested in this version.

Toward a single model. Route A failed for lack of data, and Route B is a data generator. Its sheets, converted to pixel roles and multiplied by donated real palettes (between 36 and 498 distinct color families per creature from 2,602 donors) and by mirroring, could build large datasets per body plan. With them, Route A's original topology could learn to generate art with walk cycles directly. Today there are not enough samples to do that without a pipeline.

BibTeX

@misc{bustamante2026words,
  author = {Bustamante, Pablo},
  title  = {From Words to Walk Cycles: Learned 2D Generation versus
            Disposable 3D Proxies for Eight-Direction Pixel-Art Sprites},
  note   = {Preprint draft},
  year   = {2026}
}