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.

21 days · 287 commits · 133 issues closed · 24 copy abilities · 5 releases

kirby on a plank floor in the prisoners' quarters opens his mouth wide and inhales, swells up full, ducks to swallow, flashes inside a blue ring and stands up holding a wooden hammer over his head. a green zombie climbs out of the floor beside him, and he swings the hammer down onto it in a burst of blood, with an 89 floating up
  1. he inhales what the lab set in front of him
  2. a mouthful
  3. down, and he swallows
  4. the copy, in a flash
  5. hammer
  6. a zombie climbs out of the floor
  7. the swing
  8. 89, on dead cells' scale
kirby's game decides every pose, the swallow and the swing. dead cells decides the zombie, the blood and what the hit is worth.

a costume is not kirby

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.

who does what
the partcomes from
kirby's movement, physics and timingkirby super star ultra
every copy ability and every move of itkirby super star ultra
his sprites, his palettes and his sound effectskirby super star ultra
his 76 points of healthkirby super star ultra, kept in step with dead cells
the levels, the enemies and the bossesdead cells
items, shields, shops and the forgedead cells
the camera, the music, the saves and the progress between runsdead 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.

two games, one set of rules

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.

kirby beside a round red icon of a parasol lying on the floor. he inhales it, swells up, spits it back out as a burst of yellow stars and it lands where it was. he inhales it again, ducks to swallow, flashes in a blue ring and stands up as parasol kirby, a red and white parasol over his head
  1. the item goes in
  2. spat out, as a star
  3. back on the floor
  4. in again
  5. swallowed
  6. the flash
  7. parasol
an ability item, which was a weapon before kirby walked into the level. it is swallowed like an enemy and spat like one.

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, as kirby plays it
dead cells hasin a kirby run
weapons and skills on the floor, on altars and in shopsability 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 affixescarried by the ability item, and acting on copy attacks: bleed, an arrow shot, a crit
the forgererolls and upgrades the copy's item, as it does a weapon
a shieldkept in every form, and the one thing that parries. one at a time
the health flaskgone. kirby eats, and a fountain heals half his health
the flask's keyfires crash, paint, mike or cook, abilities that are spent and never swallowed
mutations for bows, ammunition and skillsnot offered
an enemy's arrow or grenadesomething to inhale and spit back as a star
touching an enemyharmless 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.

a room of the prisoners' quarters. kirby stands beside the parasol item, under dead cells' card for it: parasol i, copy ability, strikes with a parasol and floats down slowly beneath it, colorless. the first weapon slot at the bottom left holds a sword the same room a moment later. kirby holds a parasol over his head, the item is gone from the floor, and the first weapon slot at the bottom left shows the parasol's icon
before and after the swallow. the card is dead cells' own, written for the ability, and the copy takes the item's place in the slot a weapon would hold.

as fast as the beheaded

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.

speeds, in pixels of dead cells a second
kirby on the DSthe beheadedkirby in the mod
running124236.5236.5
across, in the air86236.5236.5
falling210403403
the stomp, or the dive480900900
up a ladder13997.5265
down a ladder16597.5315
kirby's running is his dash, his fastest. on ladders he is faster than both: at either of the other speeds, climbing still felt slow.

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.

kirby standing on planks leans forward, kicks up a puff of dust and dashes right past a sack of gold and a lamp, into a stone wall, where a small yellow star bounces off
  1. he leans into the dash
  2. dust, as on the DS
  3. the wall, and a star
a dash at the beheaded's speed, with kirby's own lean, dust and bump. the picture follows him, so the room slides by.

played, recorded, fixed

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:

issues closed, day by day
dayclosed
2026-10-052
2026-10-0622
2026-10-077
2026-10-0816
2026-10-092
2026-10-104
2026-10-114
2026-10-123
2026-10-135
2026-10-1412
2026-10-154
2026-10-164
2026-10-1717
2026-10-180
2026-10-190
2026-10-206
2026-10-219
2026-10-228
2026-10-238
the first week is the rules, the second the speed of the hidden game, the third the launcher and windows. 18 and 19 october closed nothing.

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.

anyone's copy, not mine

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.

five releases
versiondatewhat it brought
0.1.020 octoberthe source alone, and an installer for people with a compiler, rust and cmake at hand
0.2.021 octobera launcher: one file of 15 MB for linux, no terminal
0.2.121 octoberthe collector's door, which a run with nothing left to buy could not break
0.3.022 octoberwindows, built from the same code
0.3.123 octoberthe 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.

the launcher's first screen, dark blue with a castle at the bottom: let's get kirby ready. four checks on the right, steam installed, dead cells installed from steam, v35, a found copy of kirby super star ultra waiting to be confirmed, and the sandbox helper
the launcher's last screen: ready to play, a pink play button, and three marks under it, dead cells v35, rom verified, saves backed up
the launcher's first screen and its last, in version 0.3.1. its art is its own, drawn for it: nothing on it comes from either game.

what it cannot do yet

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

words

copy ability
the power kirby takes from what he swallows: a sword, a flame, a hammer. kirby super star ultra has 24.
elite
a stronger version of an ordinary dead cells enemy, larger and glowing, that drops better loot.
outfit
a costume for the beheaded in dead cells: the same hero, other pictures.
sandbox
a room a program is run in that lets it see only what it is given. here it is bubblewrap, on linux.
the beheaded
the hero of dead cells: a headless body moved by a mass of green cells, with a flame where its head was.

notes

  1. the frames of the mod at play were taken on 25 october 2026 from its lab, the build of 17 october, in dead cells 35 on linux: fifteen pictures a second, cropped, not scaled. the speeds were measured in the same lab, kirby's and the beheaded's, on 5 october. the counts of commits, issues and releases are github's, on 25 october. my own recordings stay private; what they showed is in the mod's journal. the launcher's pictures are the ones on its release page.