
Dungeon Division is a mobile dungeon management game where you hire monsters as staff and use them to stop raiding adventurer parties. I settled on pixel art from the start (EP.02), and I've been drawing the characters with PixelLab, an AI pixel art tool (EP.03).
The more characters the game had, though, the more something looked off when they shared a screen. This post covers October 7 to 11, when I sorted that out: 62 commits, 15 of them on the 7th alone. Art is the main subject this time, so there are a lot of before-and-after images. All of them are comparison screens I saved to the repo back then, or art that went into that day's commits.
The adventurers looked like they came from another game
My UI review notes from September 30 include the line "adventurers look like a different art style from the staff (monsters)." At first I assumed the pixel technique was different. So I measured it on the first idle frame: outline thickness, pixel cluster size and color count were almost the same on both sides.
The difference was in the character design. Adventurers were anime-style humans with big heads and big eyes, about 2.5 heads tall, covered in gold trim. Staff are creatures with all kinds of silhouettes. The sizes were off too. An adventurer filled about 85% of its cell while a Common staff member filled 65 to 70%, so on the same screen the adventurers stood around 25% bigger. Big, detailed faces kept pulling the eye to their side.
The catch was that I couldn't redraw them yet. I was at my PixelLab usage limit, and on September 29 I'd decided to "patch things for now with existing assets and code-driven effects instead of waiting for new art." On October 7 I moved to a new plan with 10,000 generations a month, the limit was gone, and I started on the backlog that morning.
Using the staff art as the reference
First I picked the reference. Instead of designing new adventurers, I reused the exact prompt I'd used for the 130 staff: thick navy outlines, a slightly big head, small simple eyes, a limited bright palette, cel shading. For the style reference image I used the first idle frame of a goblin staff member. I also drew them at 72 pixels and doubled them, like the staff, so one pixel would be the same size on screen.
The first test failed. I figured calmer colors and thinner outlines would make them stand out less, but they drifted further from the staff. So the second test used the staff prompt almost word for word. In the comparison below, the bottom row is the staff I used as the reference.

Side by side, the gap was obvious. The original adventurers had several levels of highlight on a single sword; the new ones have big chunky shapes and simple faces, like the staff. I ran the second test through a battle screen comparison too, then rolled it out to the rest.
Redrawing 54 characters in one day
There are six adventurer classes (warrior, knight, rogue, archer, mage, priest), three looks per class and three tiers per look, so 54 in total. All of them were replaced in one commit at 1:47 that afternoon.
What I cared about most was keeping each one the same person as the tier goes up. Generate every tier separately and the face changes every time. So I only generated tier 1 from scratch (picking between two seeds), then used the edit feature on the tier 1 image to "upgrade the gear" for tiers 2 and 3. For a warrior, tier 2 gets chain mail, two pauldrons and a short cape; tier 3 gets gold-trimmed plate, a red cape and a glowing weapon.

Tiers show up in more than the gear. The aura under their feet used to follow the party's grade, and I switched it to follow the adventurer's tier: a silver-blue ring at tier 2, a gold ring with a pillar of light at tier 3. Archer arrows go from wooden to steel to glowing gold, and mage shots from a small purple orb to a swirl to a big comet, each drawn per tier. Tiers 2 and 3 also get a trailing second projectile.
At 2:42 p.m. the same day I also redrew the six adventurer busts used in story dialogue in the new style. They had been side views cropped from the battle sprites.
Dev notesWhy I kept the generation settings in a JSON file
For the adventurers I committed the prompts and packing rules in a single generation.json. It holds:
- The shared tail text (the style instructions), descriptions for all 18 looks, and the tier 2 and 3 edit text for each class
- Fixed text added to every edit: same face, hair and skin, same body size and pose, side view facing right, transparent background
- Text and frame counts per animation: idle 4, attack 8, hit 4, death 8. The attack-only clip is 12 frames on a 108 px canvas
- Rules for picking sheet cells from the generated animation: 6 evenly spaced frames out of 9 for attack, frames 2 and 3 pushed back a few pixels for hit, 5 out of 8 for death
With that file, I could regenerate a single look later under the same conditions as the rest. I logged usage too. The adventurers alone took about 1,290 generations: 244 for tests, 135 for base art, 350 for tier edits, 378 for animations, 48 for projectiles and auras, and the rest thrown away. I'd checked beforehand that each image generation or edit costs 5, so I could budget for it.
The logo lasted five minutes
That morning I also worked on the first-impression screens. I removed the fake English lettering that AI had drawn into six story images and replaced it with demon runes, and added new art for the prologue's personnel order scene. For the title I put up a logo with gold pixel lettering and an approval stamp. I committed it at 10:14 and reverted it at 10:19. It covered too much of the background, and the blocky letters didn't go with the UI font. The original emblem with a font-based title read better.
540 gear icons: the element wasn't in the art
After the adventurers, I started on gear icons at 3 p.m. One of the fun parts of this game is taking gear from defeated adventurers and putting it on your staff, but the icons made it hard to tell gear apart.
There were only 72 icons: 18 base items times 4 rarities. Rarity showed in the art, but the element didn't. A fire sword and a water sword had the same picture, and only a tiny element icon in the corner of the card told you which. The names didn't care about element either; every sword was "Warrior's Sword."
So I split the job across visual axes. Rarity is the amount of ornament and the metal (silver, purple-tinted silver, gold). Element is the material and engraving of the body. Tier is the T3 badge on the card. For elements I changed the material, not only the color: heated iron with flame engraving for fire, blue steel with wave engraving for water, wood and vines for nature, white metal for light, black iron and spikes for dark. Gold for light would have clashed with Legendary, and purple for dark would have clashed with Epic, so I avoided both on purpose.

I tested with 60 icons for swords, shields and necklaces, and 30 minutes later committed all 18 items, 360 icons. Names changed so the element comes first, like "Flame Sword" and "Wave Shield." I also tried a backing plate per tier behind each icon (wood, iron, obsidian and so on) and pulled it 13 minutes later. The T# badge already showed the tier, so it was redundant. For T6, the endgame gear, I made a separate set of 180 icons with a red star crest and a red glow, and added "Showdown" to the front of their names. The Guild Showdowns where that gear drops are in EP.07.
That day I spent about 1,800 PixelLab generations on gear icons and about 900 on T6. At the end of the day I had 5,839 of the month's 10,000 left.
Effects that blew out to white
October 8 and 9 went to new battle art for the four guildmasters. On September 30 I'd decided to draw the guildmasters fresh rather than reuse adventurer art, and now that the adventurer style was settled, I could draw them in it. Each guildmaster got separate art for attacks, pattern telegraphs, phase changes and defeat, plus four guild crests and a battle room per guild. The commit message at 9:11 p.m. on the 9th reads "all four guildmasters done."
On the 10th I fixed the effects.
When a shared light or dark skill effect went off, the screen turned white. The cause was the prompt. These effects had been made with phrases like "bright white core" and "dazzling flash," so 10 to 27% of each frame was a white blob, and any character where it landed disappeared.

I kept the size and frame counts and only changed the art. Light became hollow gold rings of light, rune circles and see-through pillars. Dark became purple spikes, smoke and shadow swirls. Any white pixels that were left got tinted pale gold. I recorded battles with the same seed and measured how much of the battlefield was white: the worst moment went from 17.7% to 9.8%, and the second batch from 12.3% to 5.3%. I remade six water and nature effects the same way, taking those from 11.1% to 4.7%. Last, I repainted four staff auras that loop every 0.8 seconds. That's 21 effects in all, for about 175 generations.
The same day I fixed the dungeon floor backgrounds. Every floor was using the same picture, only mirrored and darkened. I made two more variants per theme with different props. A cave floor might get mushrooms, roots and puddles, or mine beams, bones and broken crates. Now you can go down six floors without seeing the same one twice.

Attack animations where the body changed shape
That night I worked on the staff attack animations. In the attack clips for the first nine Common staff, a white blob popped up and vanished over a mushroom's head, and a gargoyle's wings grew several times larger mid-swing. The AI animation was changing the body's shape halfway through the motion.

I changed the method. From the first frame, I made two key poses first (wound up, and striking), split the motion between them into three segments, and generated each segment with its start and end frames locked. That way the staff member keeps their own body while moving. I erased any floating effects that appeared during generation. I tried it on nine first, then 50 minutes later did the other 36 Commons, and the next morning all 45 Rares the same way.
Dev notesWhy the new clips didn't show up in the game
After finishing the Rares, I checked in the game and could barely see the new motion. I timed it: the wind-up lasted 0.33 seconds at 1x and 0.17 at 2x, and at 3x it was skipped entirely. Melee staff also started sliding forward at 30% into the wind-up, so your eye followed the sliding body instead of the limbs.
So I made the wind-up show for at least 0.2 seconds of real time at any speed. Melee staff now stand still for the first 55% of it before moving in.
For the Rare clips I added a cleanup step as well. Rares often came out with colored light or slash trails baked in, so I removed color blobs that weren't in the key poses and bright pixels outside the palette. One drake grew to 1.6 times its size when I made its key poses, so I redid its stance.
What came after
This work wrapped up about ten days later. On October 17 I removed the size difference between adventurer tiers. A display scale (1.0, 1.05, 1.10) stacked with per-look corrections, so the same face grew anywhere from 1 to 18% depending on tier, and feedback from playing stage 4-1 said they looked forcibly enlarged. Now an adventurer keeps the same body size at every tier, and the tier only shows through gear, auras and projectiles.
On the 18th I replaced the attack clips for the 90 Epic and Legendary staff the same way. While doing that I noticed a few looked like thin, realistic animals that didn't fit the house style, so I redrew 7 Epics and 10 Legendaries with thick outlines, stocky bodies and big heads. That evening, every staff member except bosses got real idle, hit and death animations. Before that, I'd been faking them by tilting and shifting a single idle frame. Where the AI made a row flash on hit, or a death that didn't actually fall over, I threw it out and kept the old version.
Key commits, Oct 7 to 11 and Oct 17 to 18, 2026
- Runes in story art, title logo, prologue personnel order art
- Title logo reverted
- All 54 adventurers restyled, per-tier auras and projectiles
- Six adventurer dialogue busts
- 60 test gear icons with element materials
- 360 gear icons
- 180 T6 gear icons
- White blobs removed from light and dark effects
- Dungeon floor background variants
- Attack animations for nine Common staff
- Attack animations for 45 Rare staff
- Attack wind-up visible at every battle speed
- Adventurer size fixed across tiers
- Idle, hit and death animations for all staff
Looking back
With an AI pixel art tool, one image takes a few minutes. But once hundreds of those images piled up, they didn't look like one game. Most of what I did in these five days was less about adding new art and more about pulling existing art toward a single reference. Looking back, the most useful things were the small records: one reference image, one prompt log, one before-and-after screen at each step. Those comparison screens are also what made this post possible.
The release build I submitted for review on October 21 has all of this art in it. You can see more screens on the game page (Korean). The next post is about the days when saves kept getting tangled up.

NOW AVAILABLE
Dungeon Division
Heroes are intruders, monsters are staff. Save Dungeon No. 7 from being shut down.
Available on the Korean App Store (iPhone/iPad), with English in Settings. Android is not out yet.