kirby's dead land is a mod that puts kirby in dead cells. it does not redraw him. the real game from 2008, kirby super star ultra, runs hidden inside an emulator, sixty times a second, and dead cells borrows its hero: his jump, his sword, his appetite. to wire one game into another like that, the guest has to be known from the inside. so the cartridge was read, end to end. this is what is in there.

5,996 functions · 157 pieces of program · 42 enemies · 4,096 random numbers · 48 hit records

  1. dead cells starts a frame
  2. the hidden DS runs one frame of kirby's game
  3. the mod reads kirby out
  4. dead cells draws him and takes the hits

every number below was measured on that hidden game, on a workbench copy of the emulator, with nothing on screen.1

a cartridge that is mostly film

the cartridge holds 134 megabytes and the game fills 76 of them. most of that is not game at all. it is fifty-one cutscenes.

61 in 100 bytes of the game are cutscenes.

what the 76 megabytes are, in megabytes
megabytes
cutscenes46.40
every level, in one file10.65
the program5.80
kirby's sprites2.73
a copy to send to a second console1.65
all the sound1.28
menus, enemies and the rest7.57
everything kirby can do, every enemy and every boss, is the bar picked out.

the sound is the neat part. 114 pieces of music and 452 effects fit in 1.28 MB, because nothing in there is a recording: it is sheet music and a few short samples, played live by the console. and the file still carries the names its makers gave each one.

a program that arrives in pieces

a DS has four megabytes of memory. the program alone is 5.8. it cannot all be in memory at once, and it never is: 5.3 of those megabytes are cut into 157 overlays, pieces of program that are loaded when they are needed and thrown out when they are not. every enemy is one. so are the bosses.

this is memory while kirby stands in green greens, the first level:

the program in memory, during play
piecestarts atbyteswhat it is
the core0x02000000291320always there: the system under everything
overlay 230x0207124023744hits and collisions
overlay 240x0207f180131520the level, and what appears in it
overlay 250x020a0080110240the player, whoever it is
overlay 260x020bc180592896kirby: every action and all 24 abilities
overlay 270x0214cd80143552the lists of enemies and bosses
overlay 280x021700a0163424what all enemies have in common
overlay 290x02197f2019680waddle dee
four more chairs0x0219cc0043488room for four other enemies, as the next part tells
the rest0x021a75e02460192bosses when there are any, the second processor's program, and everything the game is working on
all four megabytes, drawn to scale. the hatched stretch is data and a few small pieces left out.

overlay 26 is kirby himself: 2,212 functions in 593 kilobytes. the hero is twice the size of the core of his own game. and at the far end, in 19 kilobytes, sits the smallest thing with a mind in it: a waddle dee.

five chairs for every enemy

each ordinary enemy is a small program of its own, between 1 and 20 kilobytes. and each of those programs was built to sit at one of five fixed places in memory. two enemies built for the same place cannot be in a room together: loading one would write over the other. every room of the original game is musical chairs, with five chairs.

who was built for which chair
chairatbuilt to sit there
10x021a2b00bomber, cappy, kabu, laser ball, moto shotzo, coconut
20x02197f20waddle dee and waddle doo, blade knight, sword knight, walky, chilly, burning leo, plasma wisp, bio spark, capsule j
30x021a4ce0shotzo, grizzo, gim, knuckle joe, jungle bomb, birdon, tac
40x0219f2a0sir kibble, twizzy, gator, scarfy, poppy bros. jr., gip, bandana waddle dee
50x0219cc00noddy, bronto burt, rocky, broom hatter, simirror, wheelie, squishy, lovely, flotzo

so a waddle dee and a blade knight never share a room, anywhere in the game. green greens seats waddle dee and waddle doo, who are one program, then cappy, bronto burt and twizzy: four chairs, one of each.

this matters to the mod. every dead cells enemy near kirby gets a stand-in inside the hidden game, so that the original's own code decides what his sword touches. the stand-ins are all waddle dees, in chair 2. the table says which real enemies could sit beside them, and which never could. one of them was tried, further down.

each enemy also carries a small record of who it is. read out of all of them, and set against kirby's own 76 points of health:2

health, as the cartridge states it
health
bandana waddle dee250
kirby76
grizzo55
sword knight48
rocky42
flotzo32
knuckle joe30
blade knight24
waddle doo18
waddle dee16
shotzo1
a shotzo, the cannon nothing can destroy, has one point of health on paper.
all forty-two, to sort
every enemy record found
enemyhealthswallowed, givesa touch costs kirbychair
bandana waddle dee250nothing74
grizzo55nothing113
sword knight48sword82
rocky42stone105
flotzo32nothing65
knuckle joe30fighter83
moto shotzo26nothing81
blade knight24sword82
chilly20ice82
simirror20mirror75
sir kibble20cutter104
capsule j18jet92
the one filed as magical18nothing72
waddle doo18beam82
a second swimmer16nothing102
a swimmer16nothing72
birdon16wing83
bomber16crash71
broom hatter16nothing75
burning leo16fire102
gator16nothing84
gim16yo-yo83
jungle bomb16bomb83
kabu16nothing71
scarfy16crash74
squishy16nothing65
waddle dee16nothing72
walky16mike72
wheelie14wheel65
cappy12nothing71
noddy12sleep85
plasma wisp10plasma102
a small swimmer8nothing72
bio spark8ninja62
bronto burt8nothing75
gip8nothing74
laser ball8beam61
tac8copy63
twizzy6nothing64
twizzy, second kind6nothing74
coconut1nothing71
shotzo1nothing83
three records, for poppy bros. jr., lovely and one more, were not found. the swimmers share a file and their names are not in it.

what kirby is doing, and how

sixty times a second the game asks one question about kirby: what is he doing? the answer is a number, his action. there are 44. standing is 6, walking is 11, a jump is 13, falling 14, floating 15, being hurt 29 and dying 33.

nearly every action is run by the same five routines. what sets one apart is a single question of its own: which move? a move is the exact way of doing the action. walking has three: plain, with a mouthful, and wading through water. so the game keeps two bookmarks for kirby, the kind of thing he is doing and exactly how, and the second is the one that knows his mouth is full.

fromtowhen
standwalkhold a direction
walkdashtap it twice
dashskidturn round
standjumpA
jumpfallat the top
falllandthe floor
fallfloatA again
landstand6 frames on
standuse the abilityB
use the abilitystanddone
ten of the ways from one action to the next, each seen by pressing the button and watching the number change. a jump is the blue road.

the blue road, measured. kirby leaves the ground in a burst, 10.5 pixels in the first frame, then 8.0, 5.4 and 2.9. after that the game takes about a sixth of a pixel off his speed every frame, until he is falling at 3.5 pixels a frame and it lets him fall no faster.

one jump, every third frame
framepixels off the floor
00
110.5
426.8
734.5
1040.6
1345.2
1648.2
1949.7
2249.7
2548.1
2845.0
3140.3
3436.3
3729.0
4020.2
4310.0
460
up in twenty frames, down in twenty-six. the top is 49.9 pixels, a little over three of the game's 16-pixel tiles. three quarters of a second in all.

twenty-four costumes

to the program, a copy ability is one pointer. when kirby swallows a blade knight, a single routine says goodbye to the old ability, looks sword up in a list, and swaps the table of moves his actions read from. nothing else about him changes. that is why the mod can hand him any ability: it calls that one routine, and the original does the rest.

each ability was then given the same ten presses, alone in an empty room, and every hit it made was written down.3

the hardest single hit of each ability
damage
crash160
hammer80
paint70
cook70
stone50
mike40
parasol28
wing26
ninja25
sword24
wheel23
cutter22
mirror22
fighter22
ice20
fire20
beam18
yo-yo18
suplex16
bomb16
jet14
copy10
plasma8
red is the four abilities that are used up, and hit the whole screen. blue is hammer's upward flip, the strongest thing kirby can do twice. a waddle dee has 16 health.

and this is one of those moves from the inside. what follows is not a picture of the game. it is sword's standing slash as the program sees it: the hit boxes, frame by frame, exactly where the game put them.

a circle on a floor. numbered boxes appear over it, in front of it and behind it in turn, while a smaller box leaves to the right
twenty-four frames, four tenths of a second in the game. kirby is the circle, and the small square in his middle is the only part of him that can be hurt. red is the blade, with what it hits for. blue is the beam that leaves it, at 7 pixels a frame.

the slash starts over his head, comes down in front from above his hat to under the floor, and then, for two frames, there is a box behind him. the follow-through hits too.

a full mouth

the mod gives kirby a second pocket. dead cells has a key for healing, F, which kirby has no use for, so it holds one of the four abilities that get used up: crash, paint, mike or cook. a press lends him that ability through the same routine a swallow uses, lets him fire it, and hands him back his own.

one moment broke it: kirby with his mouth full. asked what he is doing, the game answers standing, because a full mouth keeps the action numbers of standing, walking and jumping. so the mod saw a kirby standing still, and lent him the crash. if he swallowed then, the swallow won. on the workbench he came out of it with the swallowed ability, and the crash in his pocket was lost.

the game itself is never fooled. kirby's record keeps a byte that the original reads before it picks how he stands: 1 for an empty mouth, 2 for a full one. and the move it then picks, the second bookmark from earlier, is a different one. the mod reads both now, and F waits for the mouth to be empty.

the byte has two more values, for water: 4 with an empty mouth, 5 with a full one. the mod checked only for the 2, so in a pool F could still lend the crash to a full mouth. the fix checks for the 5 as well.

what the mod reads of kirby, five moments
kirbyactionthe mouth bytemove
standing61021314d8
mouth full6202131508
after the spit61021314d8
in water64021314f0
mouth full, in water6502131520
the action says standing all five times. only the byte and the move know about the mouth, and about the water. a move is named by where it sits in memory.

and this is the same moment in the mod, in one of its test runs, against a real dead cells zombie.4

kirby, pink and round, with his mouth wide open, pulling a glowing green zombie towards him
kirby standing with his cheeks puffed out, a splash of dark red on the wall behind him
kirby with an empty mouth again, and a yellow star flying away from him to the right
kirby lifted over a white ball that swells out from where he stood, yellow stars flying off in every direction
five seconds of one run. a kirby inhales the zombie. b his mouth is full. F is pressed here, and for the 80 frames the mouth stays full nothing happens. c he spits the zombie out as a star. d F again: the lent crash goes off, and when it is spent kirby is himself again.

the same move can tell more than the mouth: whether kirby is wading, and which of an ability's attacks he is making. the mod asked it only about the mouth, until the two fixes that follow.

the bottom of a pool

kirby and the hero of dead cells do not move at the same pace. so on dry floor the mod lets the original take every step, then carries kirby a little further the same way, until he covers the ground dead cells' hero would. in water it leaves the original's pace alone.

a pool deep enough to swim in has a floor, and kirby can walk along it. to the game that is still walking, action 11, the same number as a stroll in the sun. only the move is different: the wade. so the mod saw a walk and hurried him along the bottom, 1.79 pixels a frame where the game had him at 0.94, with his legs sped up to match.

the wade has a pace of its own. coming in from a run, kirby starts it at 0.375 pixels a frame, gains 3/64 of a pixel every frame, and settles at 0.9375: 56 pixels a second, where a walk on dry floor is 1.375. the fix reads the move, and leaves the wade at the game's own pace, as the mod already did with swimming.

pixels a frame along the bottom of a pool, as kirby wades in from a run
framethe gamethe mod, before the fix
10.420.81
20.470.90
30.520.99
40.561.07
50.611.16
60.661.25
70.701.34
80.751.43
90.801.52
100.841.61
110.891.70
120.941.79
130.941.79
140.941.79
before the fix kirby waded 1.91 times as far as the game moved him, every frame, and once up to speed, faster than the game lets him walk on dry floor. measured with the emulator alone, in a pool built for the test: in all 177 frames of the wade, the fixed mod moves him exactly as far as the game does.
kirby in a blue diving mask with a little snorkel on top, walking along the floor of a pool of pink water
kirby without the mask, jumping up out of the pink water, with a splash under him and a small yellow star beside him
the fix in one of the mod's test runs, in a pool of a dead cells level. a kirby wades along the floor, in the diving mask the game gives him under water: 117 frames, at a median of 0.9375 pixels a frame, the game's own pace. b he jumps out, and the mask is gone.

one press, one attack

an ability's attacks are moves too. each of the twenty-four abilities keeps its moves in a table of its own, and the twenty-four tables sit side by side in memory, from cutter's to sleep's, below the moves that every kirby shares. so the move answers two questions at once: is kirby attacking, and with which attack?

to learn how a press turns into an attack, each ability was given the button standing, held down, in the air and from a dash, and every move was written down. a press starts an attack on the frame it is made, or a frame later for fighter. a press made in the middle of an attack is kept until the attack can take its next step: sword's next slash came five, seven or ten frames after it. some attacks go on by themselves, like beam's whip after its wind-up, or cutter's blade coming back. and many presses in the middle of an attack do nothing at all.

that matters because in the mod an ability comes as a dead cells item, and an item can carry extras, such as an arrow that flies with every attack or a cut that bleeds. the mod spent them at every press of the button, even at a press that started nothing. the fix spends them when the game starts an attack for a press. a press waits as long as the attack runs, and ten frames more.

..p...p...p...p...p...p...p...p...p...p...p...p...p...p...p.
                                                            
..1111222222333333333311112222223333333333111122222233333333
                                                            
..x...x.....x.........x...x.....x.........x...x.....x.......
four seconds of sword with the emulator alone, the button pressed every sixteen frames. fifteen presses, nine slashes, nine items spent. the press made in the middle of each second slash waits for the third, and in each long third slash two presses go by with no new slash. in the game the same fifteen presses spent the item nine times, where before the fix they had spent it fifteen.
kirby in a green cap swings a sword at a glowing green zombie, and a burning arrow bursts out of the swing toward it
kirby in a green cap at the end of a swing, one burning arrow just leaving him and another striking at the right edge, under a red health bar, with dark blood on the wall behind
the same test in the game, with the fix. a zombie with thirty thousand points of health stands in front of kirby, and the sword's item carries an arrow and a bleed. a a slash, and its arrow. b two arrows on their way, and the zombie bleeding.

what a hit is made of

every creature in the game starts from four bytes.

a creature's first four bytes
fieldbyteswhat it holds
class1what kind of thing this is, 0 to 59
copy ability1what kirby becomes if he swallows it
health2how much it starts with

here are two enemies, as they are stored:

00 00 10 00
00 14 10 00
one byte apart. 14 is twenty in hexadecimal, and ability twenty is parasol.

that second byte is the whole of kirby's most famous trick. it is also the byte the mod writes on its stand-ins, which is how a dead cells zombie can taste of sword.

dice with 4,096 faces

everything left to chance in the game, 86 places in the program, goes through one routine of two lines:

seed = (seed * 61 + 1401) & 0xFFF;  // twelve bits
return (seed * n) >> 12;            // 0 to n - 1
sn+1=(61⁢sn+1401)mod4096
the same thing, as a formula.

try it. with the seed at 0, the next seed is 1,401, and a die of six faces thrown with it shows 3.

the two numbers are well chosen: the seed walks through all 4,096 values before it comes back to the first. but 4,096 is very few. the whole future of the game's luck is a loop that short, and whoever knows where the seed stands knows every throw to come.

one sixtieth of a second

a DS draws 59.83 frames a second. in each one its main processor has 560,190 ticks to spend, and when the work is done it sleeps until the next. standing still in green greens, kirby's game is mostly asleep.

35 in 100 ticks of a quiet frame are spent working.

and almost none of the working part is kirby.

where the instructions of a quiet frame are run
share
the core73.7%
the level17.9%
the player3.9%
hits and collisions2.4%
the lists of enemies1.6%
kirby's actions and abilities0.3%
the largest piece of the program does a third of a percent of the work. the rest is housekeeping: one routine in the core, the one that makes the list of sprites to draw, is 6.7% alone.

then the room fills. in the mod, each dead cells enemy near kirby is one more stand-in for the original to look after, and kirby may have a helper walking beside him. this is how full the frame gets:

how much of a frame is used, kirby swinging a sword with a helper beside him
stand-inson averagethe worst frame in twentythe worst frame
040.3%47.6%57.1%
847.7%61.3%94.8%
1654.0%67.2%84.1%
2460.6%88.0%100%
3163.8%83.8%100%
six seconds of play at each size of crowd. from twenty-four on, the worst frames do not fit.

when a frame does not fit, the original does what every console game of its time did: it lets the picture go by and finishes the work in the next one. on a DS that is a moment of slow motion, a lag frame. in the mod it was worse. dead cells went on drawing while the hidden game was half way through its sums, and kirby was shown one tile away from where he stood: a flicker. the mod now waits for the original to finish, which is right, and is still a stutter.

so, an experiment. the console in the mod is not real. its processor can be told it is twice as fast.

frames that did not fit, in 360
stand-ins, with a helperthe real speedtwice the speed
1600
245not run
3120

the part that makes it usable: with no crowd, and with a crowd of eight, kirby's path through six hundred frames is the same at both speeds, byte for byte. a faster processor changes nothing until the moment the slow one would have dropped a frame.

the emulator's bill

dead cells has 16.7 ms for each of its frames, and the hidden console is paid out of that. it can be run two ways. an interpreter reads the game's instructions one at a time and acts each one out, every time it meets it. a recompiler translates a stretch of them into the host machine's own language once, and runs the translation from then on. the mod used the first, and since 14 october it uses the second.

milliseconds to run one frame of the hidden game
kirby alone31 stand-ins and a helper
interpreter, as the mod ran it2.413.71
recompiler1.311.71
recompiler, unseen screen not drawn0.931.24
one machine, one evening. kirby's six-hundred-frame path was the same under the interpreter and the recompiler, in all three scenes tried.

the last row is a small thing with a large effect. the mod draws kirby itself, from the sprites the original lists, so most of the time nobody looks at the picture the hidden console paints. not painting it saves more than a quarter of what is left.

drawing kirby has a smaller bill of its own. after every frame the mod reads the list of sprites the game wants on screen, 128 of them in a kilobyte, and the 512 bytes of their colours. it read them the way the game's own processor does, one byte at a time: 1,024 knocks on the door for the list alone. the fix copies each one whole.

millionths of a second to read, from a script
a byte at a timewhole
the list of sprites, 1,024 bytes3.620.41
their colours, 512 bytes2.020.40
the best of five runs of two thousand reads each. in the game, over two minutes of play, the mod's reading went from 42.1 to 38.7 millionths of a second a frame: three millionths saved, out of the 16,700 that dead cells has. small, and about what was expected. nothing else in the frame moved by more than one run can tell.

forty-eight hit records

whatever can hit or be hit in kirby's game borrows a record for it: its four sets of hit boxes and its health, 580 bytes. the records come from one pool, which the game fills with forty-eight at the start of every stage. for the rooms of the original, it was enough.

a stand-in holds one record, for its body, and every hit borrows one more for about seven frames, while the enemy flinches. thirty-one stand-ins, one swing of the sword that hits twenty-four of them, and the pool is empty. the twenty-fourth flinch was handed a record that is not there, address zero, and the game wrote the enemy's health into it all the same.

what came next depended on how the console was run. the game itself tells the processor never to write there, and the interpreter, which keeps that rule as the console does, stopped the processor for good: the hidden game froze in the middle of the fight, and dead cells went on around a kirby who could no longer move. the recompiler does not check the rule. it let the write land in the processor's own fast memory, and six bytes of a routine kept there were quietly overwritten. it was never seen running in play, which is luck, not design.

the mod's answer changes not one instruction of the original. it lets the game build its forty-eight at the start of a stage, then makes sixty-four more, two for every stand-in, out of memory the room does not use, and puts them at the end of the pool. the game hands them out as its own.

the fewest records left free, in one attack on 31 stand-ins piled up
records
the game's 48, one sword swing0
112, the same swing48
112, crash80
112, the worst of 96 attacks44
the first ran out, one record short. the 96 attacks are every ability, with the button tapped, held, and with up and with down, four seconds each.
kirby in a green cap, holding up a sword, beside three piles of glowing green zombies with red health bars over them and blood on the wall behind
the test that found it, run again with the fix, on the interpreter: thirty-one zombies in three piles, and the first swing hits thirty. frames that ended with the hidden game's work unfinished: 7, against 3,264 before the fix, when every frame after that swing was one.

a real enemy in the empty chair

one idea in the list below was first set aside without a try: real enemies in the chairs the stand-ins leave free, so that a dead cells enemy tasting of fighter could be a real knuckle joe. the reasons were good on paper. the stand-ins are never drawn, so a real enemy would be as invisible as the waddle dee it replaced. and it would bring everything the stand-in was set up not to have: its own attacks, its own touch that hurts and its own way of dying.

then it was tried. in green greens, where the hidden game runs, chair 3 is the free one, and chair 3 is where knuckle joe, gim, jungle bomb, birdon and tac were built to sit. the game has a routine that gets an enemy ready, its program into its chair and its pictures into sprite memory, the way a new room does. it was called in the middle of play for each of the five, and a stand-in's record was told to be that enemy. each was in place within two frames, its program the same as the cartridge's to the last byte, and the mod took it for a stand-in like any other. then kirby stood still 42 pixels away for five seconds, and tried to swallow it.5

five seconds beside a real enemy, then a swallow
enemyhurt kirbyswallowed
knuckle joeyes 76 to 50no
gimyes 76 to 66yes yo-yo
jungle bombnoyes bomb
birdonnoyes wing
tacnoyes copy
knuckle joe, tamedyes 76 to 60yes fighter
the stand-innoyes fighter
beside each swallow, the ability it gave. knuckle joe hit kirby ten times for 2 and once for 6, and the inhale could not take him. gim's yo-yo hit once, for 10. tamed, with the waddle dee's program in place of his own, knuckle joe made no attack and could be swallowed, but his touch still hurt kirby twice, for 8 each. the stand-in is the mod's own: a waddle dee given fighter's byte, in chair 2.

it went the way the paper said. a real enemy brings its own program, and the program fights kirby, while the dead cells enemy over it is fighting him too. nobody would see it do so: at the two moments it was checked, the hidden game's list of sprites had no entry for knuckle joe, and none for the stand-in. tamed with the stand-in's program, it gives the ability the stand-in already gives, and keeps a touch of its own. and the free chair seats one kind of enemy, where up to thirty-one dead cells enemies at a time each taste of an ability of their own. the routine stays written down, for a day the mod needs something only a real enemy has, such as one of its sounds.

what it changes in the mod

the first three went into the mod on 14 october, on by default: the translation, the faster processor and the unpainted screen. in the game itself, one run each, the hidden game's frame went from 2.8 ms to 1.5 ms with kirby walking alone, and from 3.6 ms to 1.8 ms among twenty zombies. three more were built and tested the same day, and went in that evening. of the last three, two were built and tested that night and went in on 15 october, and the third was tried and set aside.

nine ideas, and where each one stands
ideawhere it standswhat it showed
translate, do not interpretin the modabout half the cost of every frame, and the same kirby
a processor twice as fastin the modno frame of the original left unfinished, even in a crowd of 31
do not paint what nobody seesin the mod0.4 ms a frame
read the move, not only the actionin the mod, for the mouththe mod asks the game whether kirby's mouth is full, instead of guessing from his pose
read the move for the restin the moda wade at the game's own pace, a full mouth under water, and the item spent once an attack
a bigger pool of hit recordsin the moda crowd no longer freezes the hidden game, or writes over its program
less bookkeepingin the modthe mod's own work of pairing zombies with stand-ins, among 31 of them: from 0.51 ms a frame to 0.35
read the sprites wholein the modthree millionths of a second a frame
real enemies in the empty chairstried, and set asidea real knuckle joe fought kirby unseen, and tamed, gave only what a stand-in gives

how it was read

  1. unpack the cartridge its first bytes say where the program, its 157 overlays and its 1,886 files are.
  2. take the program apart every piece that is in memory during play, turned back from numbers into instructions: 5,996 functions, with a note of who calls whom and who reads what.
  3. doctor the emulator a private copy that counts every instruction it runs, stops at any address, and says who touched a given byte.
  4. guess from the reading, then make the game prove it press a button, and watch for the number that changes.
  5. write down only what was seen

the disassembly, the doctored emulator and the cartridge stay private. what is here is what they said.4

changes

words

frame
one picture on the screen, and all the work the game does to get to the next: about a sixtieth of a second.
hit box
the rectangle a game tests instead of the drawing. a sword hits when its box overlaps an enemy's, whatever the pixels show.
interpreter
an emulator that reads the guest's instructions one by one and acts each out. simple, exact, and slow.
lag frame
a frame in which the game did not finish its work in time, so the screen showed the old picture again.
move
the exact way kirby does what his action says. walking has three, and every attack of an ability is one. the game names a move by where its description sits in memory.
overlay
a piece of a program kept on the cartridge and loaded into memory only while it is needed. several can be built for the same place, as long as they are never needed together.
recompiler
an emulator that translates the guest's instructions into the host's own, once, and then runs the translation.
stand-in
an enemy of the original game, placed where a dead cells enemy is, so that kirby's own code can find something to hit.

notes

  1. nothing here was judged by playing. the hidden game was run with no window, from a saved moment in the first level, and its memory read after each frame. the frames of the mod come from its own test runs, which press the keys by script, with no window either.
  2. health, the ability given and the cost of a touch are the numbers stored in each enemy's program. only waddle dee's were watched being put to use.
  3. with nobody to hit, a throw has nothing to throw and a charge is let go early, so suplex and plasma show less than they can do.
  4. the strip of the slash was drawn by a script, from boxes the game reported. the nine frames of the mod at play come from its test runs: dead cells drew them, the rooms, the water, the zombies and the arrows from its own files, and kirby from the sprites the hidden game listed. they are cropped and doubled, with no smoothing.
  5. the wade, the presses and the real enemies were measured with the emulator alone, from a saved moment in green greens, on floors and pools laid out by the tests. the real enemies were loaded by calling the game's own routine between two frames, from a hook in the emulator, and kirby's health was read after every frame. the reads of the sprites were timed from a script. the numbers from the game come from the mod's own test runs.