kirby's dead land is my mod that makes kirby playable in dead cells. two earlier articles took it apart: one read the guest, the cartridge of kirby super star ultra, and one read the host, the game it runs inside. this one is about the mod itself: what it is like to play, how its rules were settled one play at a time, and how it got from my computer to a download that anyone with both games can run. it took three weeks, from 3 to 23 october 2026.
the request, on the evening of 3 october, was short. kirby in dead cells, with his own sprites, his own timing, his own physics and every move of every copy ability, and a random ability from any enemy he swallows. and one line that decided everything after it: a sprite swap would not do.
the first night went on the sprites anyway, because they were the part that could be checked. every picture of kirby was read off the cartridge, 20,224 poses in 61 archives, and packed into dead cells' own format as an outfit, the costumes the game's hero can wear. every pixel was compared with the source and none was lost. it was a costume: it looked like kirby and walked like the beheaded, the hero of dead cells, who runs, rolls and swings a sword. kirby's float, his slow jump, the way he leans into a dash: none of that is in a picture. it is code, and copying it from guesses gives something that looks right and feels wrong.
so the next night the real game went in. melonDS, an emulator of the nintendo DS, was built as a library and loaded into dead cells alongside the mod, with the cartridge running inside it and nothing on any screen. on 4 october, a little after midnight, the first run reached the prisoners' quarters: kirby walked, jumped and landed on a platform, moved by the game he was made for. the costume stayed, emptied: dead cells still dresses its hero, and the mod draws kirby over him every frame from the sprites the hidden game lays out.
| the part | comes from |
|---|---|
| kirby's movement, physics and timing | kirby super star ultra |
| every copy ability and every move of it | kirby super star ultra |
| his sprites, his palettes and his sound effects | kirby super star ultra |
| his 76 points of health | kirby super star ultra, kept in step with dead cells |
| the levels, the enemies and the bosses | dead cells |
| items, shields, shops and the forge | dead cells |
| the camera, the music, the saves and the progress between runs | dead cells |
everything in the second column is read from the player's own copies, and changed in memory only. the mod ships none of it.
once kirby could move, the question was what he was allowed to do. two games each have a whole set of rules, and where they meet one of them has to give. in kirby super star ultra each enemy gives a set ability: a sword knight gives sword, a burning leo gives fire. a zombie in the prisoners' quarters gives nothing, because it was never meant to be swallowed. so in the mod every dead cells enemy carries a die with 20 faces, rolled when it comes near kirby, and swallowing it gives whatever came up. the other four abilities are never swallowed, as the next table says. an elite is the exception: it always gives sword, legendary, which hits harder until kirby loses it.
the first rules said kirby could still use dead cells' swords and bows when he had no ability. it lasted three days. playing it, a left click swung the starting sword where kirby should have opened his mouth. since 6 october kirby fights with his mouth, his copy and a shield, nothing else. the rest followed from that one change:
| dead cells has | in a kirby run |
|---|---|
| weapons and skills on the floor, on altars and in shops | ability items: one of the 24 abilities, with its original icon, to be inhaled and swallowed. spitting one out puts it back |
| a weapon's level, quality and affixes | carried by the ability item, and acting on copy attacks: bleed, an arrow shot, a crit |
| the forge | rerolls and upgrades the copy's item, as it does a weapon |
| a shield | kept in every form, and the one thing that parries. one at a time |
| the health flask | gone. kirby eats, and a fountain heals half his health |
| the flask's key | fires crash, paint, mike or cook, abilities that are spent and never swallowed |
| mutations for bows, ammunition and skills | not offered |
| an enemy's arrow or grenade | something to inhale and spit back as a star |
| touching an enemy | harmless both ways, as in dead cells. in kirby's game a touch costs him 7 of his 76 |
losing a copy, to a hit or by choice, drops it as a bouncing star, as in the original. in the mod the star also carries the item, with its level and its affixes, for seven seconds: swallow it in time and nothing is lost. none of these rules was planned whole. each came from a run that felt wrong, and each is written down beside the original rule it bends.
on 5 october kirby felt slow. he was. dead cells is a fast game, built around a hero who crosses a room in a second, and kirby on the DS dashes at about half that speed. his levels were drawn for his pace and dead cells' were not. the beheaded was measured in the game, run by run, and then kirby was made to match him without taking his movement away from his own game.
| kirby on the DS | the beheaded | kirby in the mod | |
|---|---|---|---|
| running | 124 | 236.5 | 236.5 |
| across, in the air | 86 | 236.5 | 236.5 |
| falling | 210 | 403 | 403 |
| the stomp, or the dive | 480 | 900 | 900 |
| up a ladder | 139 | 97.5 | 265 |
| down a ladder | 165 | 97.5 | 315 |
kirby's game still runs every frame, with its own states, animations and collisions. the mod carries the motion of each frame further through open space, by the ratio between the two heroes, stops it a pixel short of walls, and clears it the moment the direction is let go, so he stops and turns at once, as the beheaded does. his jump keeps its height, 50 pixels, but peaks in a quarter of a second instead of a third. the first version left his feet sliding, because his walk was still animated at the DS's pace, so his walk and his dash now play up to 1.67 times faster, and his feet cover the ground they seem to. a setting puts the DS's speeds back, for anyone who wants kirby as he was.
the mod has a lab: a copy of dead cells with its own saves and no window, that presses keys from a script and writes down what each game thinks happened. it checks every fix, but only what someone thought to ask. so i played it, recording the screen, and read every recording back frame by frame.
the first was 97 seconds long, at three in the morning of 4 october. the sword kirby carried was not drawn. the health bar shrank and filled again while its number stayed at 76 of 76. a tutorial asked for a button and never went away. five recordings that day each left a list. from 5 october every change started as an issue, and the issues give the pace of the rest:
| day | closed |
|---|---|
| 2026-10-05 | 2 |
| 2026-10-06 | 22 |
| 2026-10-07 | 7 |
| 2026-10-08 | 16 |
| 2026-10-09 | 2 |
| 2026-10-10 | 4 |
| 2026-10-11 | 4 |
| 2026-10-12 | 3 |
| 2026-10-13 | 5 |
| 2026-10-14 | 12 |
| 2026-10-15 | 4 |
| 2026-10-16 | 4 |
| 2026-10-17 | 17 |
| 2026-10-18 | 0 |
| 2026-10-19 | 0 |
| 2026-10-20 | 6 |
| 2026-10-21 | 9 |
| 2026-10-22 | 8 |
| 2026-10-23 | 8 |
57 of 133 issues were bugs.
most were small and visible: the kind of thing a player sees in a second and a test never asks about. three of them, for the flavour.
a flicker beside a helper. with his helper on screen, kirby was drawn one block of the level away from where he stood, for single frames, six times in thirteen seconds of one recording. kirby's game waits for the screen to be drawn, then moves everyone and lays out the next picture. the emulator's frame ended 71 lines after that wait: enough for kirby alone, often not with a helper, so the level moved under a half-made picture. the frame now ends exactly where the game waits, between two passes.
three pixels of air. on planks and stone kirby stood three pixels above the floor. kirby's game draws his soles three pixels above its own floor line, and dead cells draws its floors on the line. he is drawn three pixels lower now, and nothing else about him moved.
a screen at 75 hertz. on a 75 hz monitor, one picture in five came with no new frame of kirby's game, which runs at the DS's 59.8. kirby stopped dead on those, and on a moving elevator he came away from the platform, by up to 15 pixels. now, between two of his frames, he is drawn between his two last places.
for more than two weeks the mod ran on one computer, set up by hand. making it something other people could run was its own piece of work, and the rule for it was that nothing of nintendo's or motion twin's would ever be in a download. the player brings the cartridge, as a file, and the game, from steam. the mod reads both and changes neither: dead cells is opened read-only, inside a sandbox, with saves of its own, and the player's real saves are backed up and checked unchanged after every game.
| version | date | what it brought |
|---|---|---|
| 0.1.0 | 20 october | the source alone, and an installer for people with a compiler, rust and cmake at hand |
| 0.2.0 | 21 october | a launcher: one file of 15 MB for linux, no terminal |
| 0.2.1 | 21 october | the collector's door, which a run with nothing left to buy could not break |
| 0.3.0 | 22 october | windows, built from the same code |
| 0.3.1 | 23 october | the first fixes from windows 11: a controller with steam's overlay on, a 75 hz screen, the floor |
the launcher looks for steam, for dead cells in the steam libraries and for the cartridge in the usual folders, and checks the cartridge's fingerprint against the one the mod was built on. then it sets kirby up once, in about a minute: it fetches the modding framework, every download checked against its own fingerprint, and draws kirby's 24 ability icons from the player's copy of the game. after that it is one button.


dead cells has dozens of enemies, traps and bosses, and each meets kirby's rules in its own way. the ones tried are written down, run by run; the rest are not. bosses keep their own minds and refuse to be swallowed, as kirby's own bosses do, but no boss has been fought from start to end in the lab. up to 31 enemies can be near kirby at once. it runs on one version of dead cells, 35, and one version of the cartridge, the american first print, because every address the mod reads belongs to those two files. its fixes for windows were played on a windows 11 computer, but the windows download itself has only been checked on linux, under wine. a steam deck has never seen it.
and it is not kirby super star ultra. there is no dream land, no story and no boss with a face. it is kirby, whole, in somebody else's game, which is what was asked for on the first evening.
the mod's source is on github, at nahuelgenchi/kirbys-dead-land, under the GPL, with its journal, every issue and every release.1