00artbook()^
2026 EPIC AI MEGAJAM · THEME: DIRECTOR'S CUT · SIMONE · GIOVANNI · GAIA
02 · THE IDEA
// title = "Kill Your Darlings"

The cut that fights back

Players hated the ending of Kill Your Darlings: the hero dies. The developer shipped Patch 1.1 to take Death out of the game. You are Death, the ending he cut, running through the sequel he improvises around his hero.

The title flips the writers' rule "kill your darlings". The audience's darling is the hero; the developer's darling is Death, his real ending. The ambiguity is on purpose.

Three rules come before everything else:

  1. The fiction is a video game being rewritten. Lines of code, errors, unloaded level pieces, missing textures.
  2. Paper is the look, not the fiction. It decides how models, colours and light look, never what happens.
  3. Two worlds, one cut. The finished dark-fantasy game in coloured paper, and the grey unfinished patch.
Key art concept (fal.ai, Nano Banana 2.1 Edit).
THE STORY
// from the first line to the last

The story

Two storyboards in paper: how the game opens and how it closes. The prologue was later moved to David's real room (see The intro); the ending is the one in the game.

The prologue · first storyboard

The prologue storyboard
  1. Available nowKill Your Darlings on its store page: the hero, Death, three stars.
  2. The commentsAngry comments pile up until they bury the game.
  3. Patch 1.1He tries to cut Death out with scissors and an eraser. Error: she cannot be removed.
  4. The gameYou wake up as Death in the final scene, while he starts to unload it.

The ending · final scene

The ending storyboard
  1. The last sceneThe hero on his knees, Death over him: the ending of the original game.
  2. Yes or NoThe game asks David one last time whether to remove Death.
  3. NoHe clicks No himself.
  4. The cutDeath strikes. The original ending is back.
03 · LOGO
save ^

Logo

A code line typed over the title: the developer's save in a yellow bar, the scythe cutting the hero's shield. The full logo stacks the emblem over the title; the title works alone when space is wide.

animated · end credits, 16:9 hover to play, click for sound
title · transparent
title · on ivory
emblem
patch · grey version
full · on navy
04 · LOGO RULES · ICONS
// don't look at me like that

Use it well

  • Clear space: the height of the save bar on every side.
  • Minimum size: title 240 px wide on screen. Below that, use the emblem or the icon.
  • Backgrounds: navy, night, ivory, or a darkened screenshot. On busy images add a soft dark vignette behind it.
  • Grey version only for the patch world: menus that are "unloaded", the loading state.
  • Don't recolour the letters, stretch the logo, retype the title in another font, or remove the ^ cursor.

Logo, emblem, title font and icons: Gaia with Claude Code, drawn as code (SVG + JavaScript), no image generation.

APP ICON · DEATH IN THE CUT TILE (PATCH GREY / GAME NIGHT)
256
96
48
32
16
ALTERNATIVES · AVATAR, STICKERS, SOCIAL
first version
cut shield
05 · TYPE
font = "Origami Grave"

Typography

SAVE YOUR DARLINGS!
Background
Style
Try
DISPLAY · ORIGAMI GRAVE
ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789 . , : ; ! ? & @ # % À È É Ì Ò Ù

Our own font: strips of folded paper, letters tilting one way and the other, the third letter of each word bigger. Titles only.

CODE · CASCADIA MONO
unload(scene_12)
gravity = off // sorry

Everything the developer types: code lines, HUD, labels on grey blocks, the menu.

TEXT · IBM PLEX SANS
The ending he cut.

Long text outside the game: itch.io page, devlog, this book. Body 18–20 px, Origami Grave from 48 px up.

06 · COLOUR
palette.load()

Colour

copy as
THE ORIGINAL GAME
#11132ENight
#1C1E48Navy · logo ground
#2C1F55Deep violet · Death's robe
#5D42A3Violet · letter border
#3F5C96Shield blue · hero's cloak
#F29A3CCandlelight
PAPER AND LOGO
#EFE6D3Ivory paper · skull
#F2CF4ASave yellow
#D9A03AShield gold
#7A5CC4Scythe handle
#E4E4ECBlade silver
#E46A1EHero's hair
THE PATCH
#E2E2E6Sky
#C9C9CFWalkable
#9C9CA4Walls
#BDB7ADCardboard
CODE · THE ONLY SATURATED COLOUR
#FF766CRemoves
#89FFA0Adds
#FFE66EChanges
#C4C5CCComment
floor.remove() ^ add(wall) ^ gravity = -1 // sorry save ^

Hover a colour to see where it lives, click to copy it. Left: the original game. Right: the patch, where the only colour left is code.

PAIRINGS · TEXT ON BACKGROUND, WITH CONTRAST
07 · CODE LINES
// the developer's voice

Code lines

The developer never appears: only what he types. Every line is a solid rounded bar in its family colour with a glow, dark monospace text, the ^ cursor at the end and a progress line underneath. While it's being typed, a dashed thread points to what it will change.

floor.remove()^
add(platform)// for him
gravity = -1// oops
// floor.remove()Cut with the scythe: it turns into a grey comment, splits in two and falls.
Click a line to cut it: the change is undone.
scene_01 · room 1 (blockout)
platform (to add)
floor_01
floor_02
floor_03

What each line does in game: red removes (the floor unloads: grey, wireframe, gone), green adds (the dashed outline becomes real), yellow changes the rules. Cut a line and its change is undone. Left: mockup 15, the chosen look.

08 · PAPER
material = paper

Folded paper, flat faces

Low-poly models with sharp flat faces and one shared paper texture. Backgrounds are flat layered cut-outs with real shadows between layers. Animation is stepped, like paper stop-motion: 12 poses per second.

Expect cardstock, not hand-folded origami: the concepts are more polished than what the engine renders.

In game: the choir loft of the crypt, room 1.
09 · TWO WORLDS
unload(scene_1)

Before and after the patch

⟷
patch · blockout
original game
drag the cut
Concept: the original game, coloured paper, candlelight.
Concept: the patch. The only colour left is code.
Unloading in three stages: grey, wireframe, gone.
BACKGROUNDS IN LAYERS · THE SAME HILLS, NIGHT AND PATCH
Night: sky, hills and cathedral, cemetery. In game each layer has its own scale and parallax.
The patch: the same layers in grey, with wireframe in the distance.
THE FINAL SCENE · THREE STATES
The window with Death and the hero.
The same scene in wireframe.
The window emptied of its two figures.
10 · DEATH
player = death

Death

The ending that gives meaning to the rest. Deep violet pleated robe, ivory skull, scythe with a violet handle and a silver blade. She floats: no legs.

Violet on a night-blue world reads poorly: always give her a lighter rim or a light behind.

In-game model and animation (float forward). Drag to turn her around.
Model sheet.
3D model: front, three quarters, profile.
HER SOUNDS · pick one: it plays with its action
  • Death
  • JumpS_Morte_Salto
  • DashS_Morte_Scatto
  • GlideS_Morte_Planata_Loop
  • LandS_Morte_Atterraggio
  • HitS_Morte_Colpita
  • Falls out, unloadedS_Fuori
  • RespawnS_Ripartenza
  • Scythe
  • Swing in the airS_Falce_Vuoto_01
  • Cut a lineS_Falce_Taglio
  • Push after a cutS_Falce_Spinta
  • The note of the cutS_Falce_Codice_Nota_01
0.0 s
11 · THE HERO
hero.tired = true

The hero

The audience's darling. Normal proportions, orange hair, light armour, blue cloak. In every room he runs from Death, a little more tired each time.

♫ sounds
In-game model and animation (run). Drag to turn him around.
Model sheet.
Fit and tired.
Shield.
DAVID
DEV_ID: OK. I'll kill it myself.

David

The director. He made Kill Your Darlings, and its ending: the hero dies. He signs as DEV_ID, a pun on David and developer_id.

Players hated the ending, so he gave in and shipped Patch 1.1 to take Death out of the game. The game won't let him: Death cannot be removed. So he does it by hand, room by room, while you run. He loves the hero too. In the end he nearly gets rid of Death, then stays true to himself and keeps the original ending.

We never see him in the game: only his cursor, his code and his comments. In the intro we see him from behind, at his desk.

HIS MOOD, ROOM BY ROOM
  1. calm only removes
  2. annoyed adds, the door runs away
  3. panicking changes the rules, makes mistakes
  4. protective defends the hero with everything
  5. quiet stops writing
HOW HE TALKS
  • Code is an action: floor.remove(), add(wall), level.length += 20.
  • Comments are feelings: // sorry, // oops. In English, lower case, short, a little guilty.
  • Errors are the game's voice, not his: Death cannot be removed.
♫ sounds
David at his desk, from behind
David in the intro: never his face.
patch_1_1.cpp · DEV_ID
12 // sorry
13 // don't look at me like that
14 // he deserved better
15 unload(final_scene)
16 // I'll kill it myself
Keys and comments are the game's own desk sounds.
12 · PROPS · THE ORIGINAL GAME
scene.props

Props

The original game · the crypt of the final scene

Every model as it is in the game, exported from Unreal, on the start-menu crypt in grey. Each one was generated from an image made for that object alone (three quarters, neutral light, already in paper style), then turned into a model: where we kept that concept, it shows in the corner. Pick a model and orbit around it.

  • The hero's tombSM_Sepolcro_Eroe
  • AltarSM_Altare
  • CandelabrumSM_Candelabro
  • Candles on booksSM_Candele_Libri
  • Heap of candlesSM_Cumulo_Candele
  • ChandelierSM_Lampadario
  • LanternSM_Lanterna
  • OrganSM_Organo
  • StatueSM_Statua
  • BannerSM_Stendardo_E
  • NicheSM_Nicchia
  • PortalSM_Portale
  • Window frameSM_Vetrata_Cornice
  • Death's scytheSM_Falce
  • Cloak shred, flagSM_Mantello_Brandello_Bandiera
  • Cloak shred, snaggedSM_Mantello_Brandello_Impigliato
  • BrazierSM_Braciere
  • GargoyleSM_Gargoyle
  • Funerary angelSM_Angelo_Funerario
  • BarrelSM_Botte
  • CrateSM_Cassa
  • RubbleSM_Macerie
  • Weapon rackSM_Rastrelliera
  • Iron fenceSM_Cancellata
  • Broken columnSM_Colonna_Spezzata
  • SarcophagusSM_Cripta_Sarcofago
  • Twin windowSM_Cripta_Bifora
  • Crypt nicheSM_Cripta_Nicchia
  • PillarSM_Cripta_Pilastro
  • BalustradeSM_Cripta_Balaustra
  • StairsSM_Cripta_Scale
  • LandingSM_Cripta_Pianerottolo
loading…
concept · click to enlarge
drag to orbit · scroll to zoom · right-drag to pan
The hero's tombSM_Sepolcro_Eroe
AltarSM_Altare
CandelabrumSM_Candelabro
Candles on booksSM_Candele_Libri
Heap of candlesSM_Cumulo_Candele
ChandelierSM_Lampadario
LanternSM_Lanterna
OrganSM_Organo
StatueSM_Statua
BannerSM_Stendardo_E
NicheSM_Nicchia
PortalSM_Portale
Window frameSM_Vetrata_Cornice
Death's scytheSM_Falce
Cloak shred, flagSM_Mantello_Brandello_Bandiera
Cloak shred, snaggedSM_Mantello_Brandello_Impigliato

The patch · what he builds in a hurry

Rooms 2 and 3: objects of the original game copied in a hurry, dummies in T-pose, pieces left unfinished. The magenta checkers are missing textures, on purpose. Here on the start-menu crypt in colour. Pick a model and orbit around it.

  • Copied treeSM_Albero_Copia
  • Copied gravestoneSM_Lapide_Copia
  • T-pose dummySM_Manichino
  • BellSM_S3_Campana
  • Bell tower, lying downSM_S3_Campanile_Sdraiato
  • GateSM_S3_Cancello
  • TrestleSM_S3_Cavalletto_200
  • Long trestleSM_S3_Cavalletto_400
  • StumpSM_S3_Ceppo
  • WreathSM_S3_Corona
  • Upside-down cryptSM_S3_Cripta_Capovolta
  • Tomb slabSM_S3_Lastra_Tombale
  • Reward slabSM_S3_Lastra_Premio
  • Roof tilesSM_S3_Tegole
  • Grave edgeSM_S3_Bordo_Fossa
loading…
concept · click to enlarge
drag to orbit · scroll to zoom · right-drag to pan
Copied treeSM_Albero_Copia
Copied gravestone, texture missingSM_Lapide_Copia
T-pose dummySM_Manichino
BellSM_S3_Campana
Bell tower, lying downSM_S3_Campanile_Sdraiato
GateSM_S3_Cancello
TrestleSM_S3_Cavalletto_200
StumpSM_S3_Ceppo
WreathSM_S3_Corona
Upside-down cryptSM_S3_Cripta_Capovolta
Tomb slabSM_S3_Lastra_Tombale
Reward slabSM_S3_Lastra_Premio
Roof tilesSM_S3_Tegole
Grave edgeSM_S3_Bordo_Fossa
ROOMS
level.mood = developer.mood

The world follows his mood

Five rooms, one mood each. Left the concept, right the room as it is in the game.

1
calmonly removes

The final scene, unloaded behind you while you learn to cut his lines.

Concept.
In game. The gate at the end of room 1.
2
annoyedadds, the door runs away

A copy-pasted graveyard: he adds enemies and platforms to slow you down.

Concept.
In game. add(enemy) // copy
3
panickingchanges the rules, makes mistakes

Missing textures, upside-down pieces, errors you can use as shortcuts.

Concept.
In game. Magenta checkers: textures missing on purpose.
4
protectiveprotects the hero with everything he has

The hero’s fortress. He unloads it piece by piece: 21 of its 26 lines are unload().

// room4.cut()restore(room4)^

Our own director’s cut, reversed: cut on 13/11 to finish the other rooms, put back in the game on 15/11 at 15:17.

Concept.
In game. unload(hero_fortress): cannot unload, in use.
5
quietstops writing

Two characters and the void: the quiet room before the end.

Concept.
In game. The stairs of room 5.
THE REAL WORLD
DEV_ID: OK.

The developer's room

Before the game, thirty seconds in the real world: David's desk, the night his game came out.

  1. THE ENDThe last screen of Kill Your Darlings: the hero dies. That is his ending.
  2. Available nowHe publishes the game.
  3. 3.0 starsThe reviews come in: "The hero shouldn't die." "DEATH TO DEATH."
  4. The commentsThey scroll faster and faster, all saying the same thing. One says it liked the ending, and gets buried.
  5. Patch 1.1He types "Removed: Death." Error: Death cannot be removed.
  6. OK."DEV_ID: OK. I'll kill it myself." Cut to the game: you wake up in the final scene as he starts unloading it.
THE LOOK

The intro leaves the paper world for a moment: a flat "2.5D theatre" in ink blue, with the monitor's light as a cone of hard planes. Few details, dark posters with a single silhouette. David has human proportions and we never see his face.

Neither realistic nor cartoon. Screens are drawn as code and keyed onto the monitors, so their text stays sharp.

Style reference.
THE STORYBOARD · ONE FRAME PER SHOT
THE INTRO, AS IT IS IN THE GAME

30 seconds, sound on.

17 · SOUND
play(sound)

How the world sounds

The developer sounds like a desk, the world sounds like a video game, and they never mix. One melody in three moods, and no music in the last room. The characters’ own sounds are on their cards: Death, the hero, David. Pick a sound: it plays with its action.

  • The level and the code
  • Line: removesS_Riga_Tolto
  • Line: addsS_Riga_Aggiunto
  • Line grabbedS_Riga_Presa
  • Line pastedS_Riga_Incollata
  • Piece goes greyS_Pezzo_Grigio_01
  • Piece goes wireframeS_Pezzo_FilDiFerro_01
  • Piece unloadedS_Pezzo_Sparito
  • Piece restoredS_Pezzo_Ripristinato
  • Low gravity zoneS_Zona_Leggera_Entra
  • Heavy gravity zoneS_Zona_Pesante_Entra
  • The door runs awayS_Porta_Scorre
  • End-of-room doorS_Porta
  • Room 1 gateS_Varco
  • CheckpointS_PuntoDiRipresa
  • Music
  • Theme, fullS_Musica_Pieno_Loop
  • Theme, strippedS_Musica_Spoglio_Loop
  • Theme, tenseS_Musica_Teso_Loop
  • Theme, tense, muffledS_Musica_TesoFiltrato_Loop
  • CrescendoS_Musica_Crescendo
  • ClosingS_Musica_Chiusura
  • Start menuS_Menu_Fondo_Loop
  • End creditsS_Musica_Titoli_Attacco
0.0 s

Death · Scythe · Code & level · The developer's desk · Music: 33 sounds exported from the game, each with its action. Interactive in the HTML version.

18 · DOWNLOAD
export(brand_kit) // option A

Take it with you

Click a card to download it. Hover the logo and the cover to see them move.

19 · IN USE
ship() // option B

On itch.io

thegamer-dude.itch.io/save-your-darlings
01the_story()^

Players hated the ending of Kill Your Darlings: the hero dies. The developer shipped Patch 1.1 to take Death out of the game. You are Death, the ending he cut.

02how_to_play()^

Behind you he deletes the level. Ahead of you he writes code: red removes, green adds, yellow changes. One scythe, one swing: cut the line, undo the change.

Download Now
in the jam's games list
Save Your DarlingsYou are the ending he cut.

Hover the cover in the list: on itch it animates the same way.