‹ Back to Blog

Case Studies · 2026-05-22

Indie Spotlight: Bullet Girl: Zombie Defense's Hunt for an AI Sprite Animation Tool

Bullet Girl: Zombie Defense launched on Steam in April 2026, a pixel-art tower defense game where a squad of girls holds the line against zombie hordes. Getting those friendly units to walk convincingly was harder than t...

Indie Spotlight: Bullet Girl: Zombie Defense's Hunt for an AI Sprite Animation Tool

Squad holding the line as the zombie horde rolls in.

A two-frame walk cycle problem

Bullet Girl: Zombie Defense launched on Steam on April 28, 2026. It's a pixel-art tower defense game from Sojourner.Game, built in Godot 4.6.1, where you command a squad of five girls across ruined cities, forests, deserts, and laboratories against endless waves of zombies. Deploy melee units to hold the front line, position ranged units behind them, manage your energy, and survive long enough to unlock more characters and CG rewards.

Trying three AI tools for the job

The game's art budget is tight. Ten units total (five friendly, five enemy), and for each one, just five frames of animation: two for walking, two for attacking, one for getting hurt. That count is normal for the genre. The problem the developer hit during testing was that two frames of walking just wasn't enough for the friendly units.

Walks, attacks, and the rest of the pipeline

The enemy zombies were fine. Godot's built-in visual effects (motion shaders, subtle squash and stretch on the unit's movement tween) did enough work to mask the stiffness of a two-frame loop. The undead are supposed to lurch, so two frames was acceptable.

The squad is holding the line

The friendly units were the problem. The Policewoman, the Maid, the Gothic Girl, the Athlete, and the Bunny Girl all looked stiff during their walk cycles. Two frames couldn't carry it.

Where to find Bullet Girl: Zombie Defense

The fix was more frames. The question was how to generate them without spending the rest of the project hand-drawing in-betweens.

Zombie sprite frames. Two frames plus Godot's motion shaders was enough for the undead.

Image-to-video AI tools looked like the right approach: feed in a character sprite, get back a short animated clip, slice it into frames, drop it into the sprite sheet. The catch was finding one that could do clean walk cycles on a pixel-art character without adding extra steps that ate up the time savings. The developer tried three of them before settling on one.

The first attempt was Google's Veo. The results were unusable for sprite animation:

The second was Seedance 2.0. The raw output quality was excellent, on par with what Ludo produced, but the workflow penalty was severe. To get a usable sprite sheet, the developer had to generate a video, screenshot the right frames one by one, remove the backgrounds, then assemble the sheet by hand. That's a lot of manual cleanup per character, multiplied by five.

The third was Ludo. The friendly units' walk cycles came out natural on the first pass for four of the five characters. The Maid's posture was the only one that read as slightly off, and that was acceptable for shipping. The sprite-sheet output landed in a format the developer could drop straight into Godot, with no intermediate frame-extraction step.

Friendly unit walk-cycle sprite sheet generated with Ludo, ready to drop into Godot.