Every number on
this page is a starting point, not a rulebook.
How the game draws (currently)
The grid513×513 tiles. One press moves one tile, and the player never leaves dead centre.
Tile size on screenA tile is 20–32 px depending on window height — call it 26. Indoors doubles it. Everything draws pixel-crisp, no smoothing.
The unitThe player stands exactly ONE TILE TALL. Everything else reads against him.
No animationCurrently no animation frames
ShadowsWe've been duplicating the art to make the shadows — but we're open to custom shadow art.
The circleYou see a fog circle around the player — white by day, black at night — and it tightens after dark.
The scale of things
the man MVP
1 tile t
boulder MVP
0.8 t
tree MVP
2.1 t
walker MVP
1.6 t
floater
3.3 t
bug
5.5 t
ruin 4 MVP
4.0 t
ruin 2 MVP
7.1 t
one square = one tile (32 px). Heights: man 1.0 · walker 1.6 · tree ~2.1 · floater 3.3 · bug 5.5 · ruins 4–7.1 tiles.
We've got a mixels problem. Every asset was
drawn at its own density — the walker's PNG is 285 pixels wide but draws at 31 on screen.
So we're working at 32 native pixels per tile: that's where every
suggested canvas below comes from.
And none of these sizes are sacred — the scale itself can totally change. Say the word.
part 1
MVP RESKIN
The man MVP RESKIN
The ruler everything else gets measured with: exactly one tile tall, one pose. Heads up on the current file — the bottom 16 rows are
blank, left over from a painted shadow we removed. Just crop yours to the boots.
His backpack is CSS, not art.
at game size
The player
player.png
| today | 73×90 px · 90 px/tile |
| on screen | 1 tile tall ≈ 26–32 px |
| suggested | 26×32 px |
Suggested: the man 32 px tall on a ~26×32 canvas, cropped to the boots.
Terrain MVP RESKIN
Trees spill slightly past their tile (1.15) so a stand reads as a wood, while
rocks mind their own square. Three tree silhouettes carry the entire map — want a
fourth? One line on our side.
at game size (max)
Tree 1
tree1.png
| today | 107×194 px · 93 px/tile |
| on screen | 1.15 tiles ≈ 29–37 px wide |
| suggested | 37×67 px |
at game size (max)
Tree 2
tree2.png
| today | 130×241 px · 113 px/tile |
| on screen | 1.15 tiles ≈ 29–37 px wide |
| suggested | 37×68 px |
at game size (max)
Tree 3
tree3.png
| today | 118×192 px · 103 px/tile |
| on screen | 1.15 tiles ≈ 29–37 px wide |
| suggested | 37×60 px |
at game size (max)
Boulder
rock.png
| today | 81×70 px · 85 px/tile |
| on screen | 0.95 tiles ≈ 24–30 px wide |
| suggested | 30×26 px |
The walker MVP RESKIN
The star, and the first thing to redraw. Deliberately just over man-height —
the common machine, and the one that carries the searchlight. Keep it one solid
connected shape (the shadow gets masked off the alpha) with a clearly-brightest lamp
cluster: that's where the beam mounts. Teal body, red eye today; a second faction
comes later as a recolour.
at game size (max)
Walker
Robots/walker_blue_alt.png
| today | 285×387 px · 238 px/tile |
| on screen | 1.2 tiles ≈ 31–38 px wide |
| suggested | 38×52 px |
The wrecks MVP RESKIN
Each robot again, switched off: grey, tipped on its side. All three draw 1.4
tiles wide on a one-tile footprint, and the player can search them.
at game size (max)
Walker wreck
Robots/walker_scrap.png
| today | 347×170 px · 248 px/tile |
| on screen | 1.4 tiles ≈ 36–45 px wide |
| suggested | 45×22 px |
at game size (max)
Floater wreck
Robots/floater_scrap.png
| today | 295×171 px · 211 px/tile |
| on screen | 1.4 tiles ≈ 36–45 px wide |
| suggested | 45×26 px |
at game size (max)
Bug wreck
Robots/bug_scrap.png
| today | 250×123 px · 179 px/tile |
| on screen | 1.4 tiles ≈ 36–45 px wide |
| suggested | 45×22 px |
The ruins MVP RESKIN
Eight shells to start, all on one shared 4×4 footprint — only the picture
changes. The flat ones stretch a little wider (up to 4.9 tiles) so they still cover
the block; the suggested sizes do that math for you. The door sits on the south face.
And the count isn't sacred — redraw the ones you like and we'll trim the list.
at game size (max)
Ruin 1
Robots/building_ruins/ruin1.png
| today | 207×238 px · 52 px/tile |
| on screen | 4 tiles ≈ 102–128 px wide |
| suggested | 128×147 px |
at game size (max)
Ruin 2
Robots/building_ruins/ruin2.png
| today | 290×515 px · 73 px/tile |
| on screen | 4 tiles ≈ 102–128 px wide |
| suggested | 128×227 px |
at game size (max)
Ruin 3
Robots/building_ruins/ruin3.png
| today | 248×336 px · 62 px/tile |
| on screen | 4 tiles ≈ 102–128 px wide |
| suggested | 128×173 px |
at game size (max)
Ruin 4
Robots/building_ruins/ruin4.png
| today | 368×303 px · 76 px/tile |
| on screen | 4.86 tiles ≈ 124–156 px wide |
| suggested | 156×128 px |
at game size (max)
Ruin 5
Robots/building_ruins/ruin5.png
| today | 279×256 px · 64 px/tile |
| on screen | 4.36 tiles ≈ 112–140 px wide |
| suggested | 140×128 px |
at game size (max)
Ruin 6
Robots/building_ruins/ruin6.png
| today | 234×327 px · 59 px/tile |
| on screen | 4 tiles ≈ 102–128 px wide |
| suggested | 128×179 px |
at game size (max)
Ruin 7
Robots/building_ruins/ruin7.png
| today | 290×238 px · 59 px/tile |
| on screen | 4.88 tiles ≈ 125–156 px wide |
| suggested | 156×128 px |
at game size (max)
Ruin 8
Robots/building_ruins/ruin8.png
| today | 299×264 px · 66 px/tile |
| on screen | 4.54 tiles ≈ 116–145 px wide |
| suggested | 145×128 px |
Key items (icons) MVP RESKIN
The icons that matter most, seen lying on the snow and in the pickup bubble.
Already 32×32 — redraw at the same size.
at game size
rifle
items/rifle.png
| today | 32×32 px · 32 px/tile |
| on screen | 0.86 tile ≈ 22–28 px |
| suggested | keep 32×32 |
at game size
hatchet
items/hatchet.png
| today | 32×32 px · 32 px/tile |
| on screen | 0.86 tile ≈ 22–28 px |
| suggested | keep 32×32 |
at game size
knife
items/knife.png
| today | 32×32 px · 32 px/tile |
| on screen | 0.86 tile ≈ 22–28 px |
| suggested | keep 32×32 |
at game size
meat
items/meat.png
| today | 32×32 px · 32 px/tile |
| on screen | 0.86 tile ≈ 22–28 px |
| suggested | keep 32×32 |
at game size
bandage
items/bandage.png
| today | 32×32 px · 32 px/tile |
| on screen | 0.86 tile ≈ 22–28 px |
| suggested | keep 32×32 |
at game size
c4
items/c4.png
| today | 32×32 px · 32 px/tile |
| on screen | 0.86 tile ≈ 22–28 px |
| suggested | keep 32×32 |
Interior essentials MVP RESKIN
Step through a door and the tile doubles. Rooms run 6–11 by 4–7 tiles, everything
caps at one tile wide, and the walls aren't art — they're darkness. These pieces carry
the room; the rest can wait.
at game size (indoors)
Door
interior/door.png
| today | 33×49 px · 34 px/tile |
| on screen | 0.97 tiles ≈ 50–62 px indoors |
| suggested | 31×46 px |
Also on ruin exteriors; mirrors.
at game size (indoors)
Fireplace (lit)
interior/fireplace_on.png
| today | 31×42 px · 34 px/tile |
| on screen | 0.91 tiles ≈ 47–58 px indoors |
| suggested | 29×40 px |
The room’s only warm light keys off it.
at game size (indoors)
Fireplace (out)
interior/fireplace_out.png
| today | 31×42 px · 34 px/tile |
| on screen | 0.91 tiles ≈ 47–58 px indoors |
| suggested | 29×40 px |
The game’s only two-state art.
at game size (indoors)
Fridge
interior/fridge.png
| today | 27×55 px · 34 px/tile |
| on screen | 0.79 tiles ≈ 41–51 px indoors |
| suggested | 25×52 px |
at game size (indoors)
Bookshelf
interior/shelf.png
| today | 47×48 px · 34 px/tile |
| on screen | 1.00 tiles ≈ 51–64 px indoors |
| suggested | 44×45 px |
at game size (indoors)
Stairs
interior/stairs.png
| today | 59×81 px · 34 px/tile |
| on screen | 1.00 tiles ≈ 51–64 px indoors |
| suggested | 56×76 px |
Procedural effects — no PNGs involved
All of this is drawn in code, so reskinning it means picking colours,
sizes and densities. Rather see any of it done with sprites? Ask — that's a conversation,
not a wall.
SnowSquare flakes on canvas, 3 depth layers: 3 px @ 0.42, 5 px @ 0.6 (#DDE0E4), 8 px @ 0.95 white. Wind-blown; soft wisps above; a flat white sheet is the blizzard.
The laserOne red rectangle (#FF3C2D), point-clipped at the lamp. Same hue in all phases; geometry escalates: 0.08 t @ 0.3 → 0.20 @ 0.9 → 0.26 blinking → 0.34 + white muzzle flash.
The lampA 2 px #FF2B1A dot + glow, sitting on the machine's own painted lamp cluster.
Aim overlayAll CSS: black crosshair with white glow, Menlo odds text, scope mask. Hits burst warm (#FFB04A); misses ring white.
ExplosionsOrange radial disc (#FFD68A→#EC8A2E→#D6601C), then char. Armed C4 pulses red.
Weather & lightNight = black sheet fading in; fog = radial in the field colour (black at night); firelight = orange wash. All constants.
FontsAnton (subset) for the wordmark moments; Menlo for instruments. A new display font just needs a subset + licence — the build ships offline.
Wolf eyes(phase 2) Two 1 px white squares blinking in the dark. No glow — a halo would bridge the gap.
part 2
ROUND 2
The bigger machines ROUND 2
The floater and the bug — have fun with these. Same rules as the walker: one
solid connected shape, one brightest lamp cluster.
at game size (max)
Floater
Robots/floater_blue_alt.png
| today | 262×289 px · 87 px/tile |
| on screen | 3 tiles ≈ 77–96 px wide |
| suggested | 96×106 px |
The one that looms. Toughest in the game; meant to read over the trees.
at game size (max)
Bug
Robots/bug_blue_alt.png
| today | 292×404 px · 73 px/tile |
| on screen | 4 tiles ≈ 102–128 px wide |
| suggested | 128×177 px |
Biggest walker (~5.5 tiles tall), and the slowest. Crushes trees it passes.
More ruins ROUND 2
Three more shells if you want them — or don't. Fewer is fine.
at game size (max)
Ruin 9
Robots/building_ruins/ruin9.png
| today | 270×277 px · 68 px/tile |
| on screen | 4 tiles ≈ 102–128 px wide |
| suggested | 128×131 px |
at game size (max)
Ruin 10
Robots/building_ruins/ruin10.png
| today | 220×316 px · 55 px/tile |
| on screen | 4 tiles ≈ 102–128 px wide |
| suggested | 128×184 px |
at game size (max)
Ruin 11
Robots/building_ruins/ruin11.png
| today | 290×238 px · 59 px/tile |
| on screen | 4.88 tiles ≈ 125–156 px wide |
| suggested | 156×128 px |
Additional items ROUND 2
The rest of the ground icons, same deal: 32×32, already on spec. Twig, stick and
branch moonlight as forest litter.
at game size
matches
items/matches.png
| today | 32×32 px · 32 px/tile |
| on screen | 0.86 tile ≈ 22–28 px |
| suggested | keep 32×32 |
at game size
twig
items/twig.png
| today | 32×32 px · 32 px/tile |
| on screen | 0.86 tile ≈ 22–28 px |
| suggested | keep 32×32 |
at game size
stick
items/stick.png
| today | 32×32 px · 32 px/tile |
| on screen | 0.86 tile ≈ 22–28 px |
| suggested | keep 32×32 |
at game size
branch
items/branch.png
| today | 32×32 px · 32 px/tile |
| on screen | 0.86 tile ≈ 22–28 px |
| suggested | keep 32×32 |
at game size
wiring
items/wiring.png
| today | 32×32 px · 32 px/tile |
| on screen | 0.86 tile ≈ 22–28 px |
| suggested | keep 32×32 |
at game size
battery
items/battery.png
| today | 32×32 px · 32 px/tile |
| on screen | 0.86 tile ≈ 22–28 px |
| suggested | keep 32×32 |
at game size
boots
items/boots.png
| today | 32×32 px · 32 px/tile |
| on screen | 0.86 tile ≈ 22–28 px |
| suggested | keep 32×32 |
at game size
trousers
items/trousers.png
| today | 32×32 px · 32 px/tile |
| on screen | 0.86 tile ≈ 22–28 px |
| suggested | keep 32×32 |
at game size
coat
items/coat.png
| today | 32×32 px · 32 px/tile |
| on screen | 0.86 tile ≈ 22–28 px |
| suggested | keep 32×32 |
at game size
jumper
items/jumper.png
| today | 32×32 px · 32 px/tile |
| on screen | 0.86 tile ≈ 22–28 px |
| suggested | keep 32×32 |
at game size
hat
items/hat.png
| today | 32×32 px · 32 px/tile |
| on screen | 0.86 tile ≈ 22–28 px |
| suggested | keep 32×32 |
at game size
cloak
items/cloak.png
| today | 32×32 px · 32 px/tile |
| on screen | 0.86 tile ≈ 22–28 px |
| suggested | keep 32×32 |
at game size
scope
items/scope.png
| today | 32×32 px · 32 px/tile |
| on screen | 0.86 tile ≈ 22–28 px |
| suggested | keep 32×32 |
Items — pack art ROUND 2
The other drawing per item, made for the backpack grid. Cells are exactly
48 px and render 1:1, never scaled — a coat spans 2×2 (96×96), a rifle 2×1
(96×48). This set keeps its own density.
at game size (1:1)
matches (pack)
items/matches-pack.png
| today | 48×48 px · on spec |
| on screen | 48 px/cell, 1:1 fixed |
| suggested | keep 48×48 |
at game size (1:1)
twig (pack)
items/twig-pack.png
| today | 48×48 px · on spec |
| on screen | 48 px/cell, 1:1 fixed |
| suggested | keep 48×48 |
at game size (1:1)
wiring (pack)
items/wiring-pack.png
| today | 48×48 px · on spec |
| on screen | 48 px/cell, 1:1 fixed |
| suggested | keep 48×48 |
at game size (1:1)
battery (pack)
items/battery-pack.png
| today | 48×48 px · on spec |
| on screen | 48 px/cell, 1:1 fixed |
| suggested | keep 48×48 |
at game size (1:1)
stick (pack)
items/stick-pack.png
| today | 96×48 px · on spec |
| on screen | 48 px/cell, 1:1 fixed |
| suggested | keep 96×48 |
at game size (1:1)
branch (pack)
items/branch-pack.png
| today | 96×96 px · on spec |
| on screen | 48 px/cell, 1:1 fixed |
| suggested | keep 96×96 |
at game size (1:1)
boots (pack)
items/boots-pack.png
| today | 96×48 px · on spec |
| on screen | 48 px/cell, 1:1 fixed |
| suggested | keep 96×48 |
at game size (1:1)
trousers (pack)
items/trousers-pack.png
| today | 48×96 px · on spec |
| on screen | 48 px/cell, 1:1 fixed |
| suggested | keep 48×96 |
at game size (1:1)
coat (pack)
items/coat-pack.png
| today | 96×96 px · on spec |
| on screen | 48 px/cell, 1:1 fixed |
| suggested | keep 96×96 |
at game size (1:1)
hatchet (pack)
items/hatchet-pack.png
| today | 48×96 px · on spec |
| on screen | 48 px/cell, 1:1 fixed |
| suggested | keep 48×96 |
at game size (1:1)
jumper (pack)
items/jumper-pack.png
| today | 48×96 px · on spec |
| on screen | 48 px/cell, 1:1 fixed |
| suggested | keep 48×96 |
at game size (1:1)
hat (pack)
items/hat-pack.png
| today | 48×48 px · on spec |
| on screen | 48 px/cell, 1:1 fixed |
| suggested | keep 48×48 |
at game size (1:1)
knife (pack)
items/knife-pack.png
| today | 48×48 px · on spec |
| on screen | 48 px/cell, 1:1 fixed |
| suggested | keep 48×48 |
at game size (1:1)
rifle (pack)
items/rifle-pack.png
| today | 96×48 px · on spec |
| on screen | 48 px/cell, 1:1 fixed |
| suggested | keep 96×48 |
at game size (1:1)
scope (pack)
items/scope-pack.png
| today | 48×48 px · on spec |
| on screen | 48 px/cell, 1:1 fixed |
| suggested | keep 48×48 |
at game size (1:1)
cloak (pack)
items/cloak-pack.png
| today | 48×96 px · on spec |
| on screen | 48 px/cell, 1:1 fixed |
| suggested | keep 48×96 |
at game size (1:1)
meat (pack)
items/meat-pack.png
| today | 48×48 px · on spec |
| on screen | 48 px/cell, 1:1 fixed |
| suggested | keep 48×48 |
at game size (1:1)
bandage (pack)
items/bandage-pack.png
| today | 48×48 px · on spec |
| on screen | 48 px/cell, 1:1 fixed |
| suggested | keep 48×48 |
at game size (1:1)
c4 (pack)
items/c4-pack.png
| today | 48×96 px · on spec |
| on screen | 48 px/cell, 1:1 fixed |
| suggested | keep 48×96 |
The rest of the room ROUND 2
Everything else indoors, at the same density. Today's furniture sits at
34 px/tile; redraw at 32 and it lands on a clean 2× indoors.
at game size (indoors)
Floor texture
interior/floor_tile.png
| today | 63×45 px · 34 px/tile |
| on screen | 1.00 tiles ≈ 51–64 px indoors |
| suggested | 59×42 px |
One repeat spans 2 tiles → 64 px wide.
at game size (indoors)
Stove
interior/stove.png
| today | 30×43 px · 34 px/tile |
| on screen | 0.88 tiles ≈ 45–56 px indoors |
| suggested | 28×40 px |
at game size (indoors)
Table
interior/table.png
| today | 29×24 px · 34 px/tile |
| on screen | 0.85 tiles ≈ 44–55 px indoors |
| suggested | 27×23 px |
at game size (indoors)
Chair
interior/chair.png
| today | 16×28 px · 34 px/tile |
| on screen | 0.47 tiles ≈ 24–30 px indoors |
| suggested | 15×26 px |
at game size (indoors)
Couch
interior/couch_sideways.png
| today | 26×39 px · 34 px/tile |
| on screen | 0.76 tiles ≈ 39–49 px indoors |
| suggested | 24×37 px |
The warm seat — shelters from the cold.
at game size (indoors)
Rack
interior/rack.png
| today | 18×44 px · 34 px/tile |
| on screen | 0.53 tiles ≈ 27–34 px indoors |
| suggested | 17×41 px |
at game size (indoors)
Box
interior/box.png
| today | 16×19 px · 34 px/tile |
| on screen | 0.47 tiles ≈ 24–30 px indoors |
| suggested | 15×18 px |
at game size (indoors)
Clock
interior/clock.png
| today | 21×47 px · 34 px/tile |
| on screen | 0.62 tiles ≈ 32–40 px indoors |
| suggested | 20×44 px |
at game size (indoors)
Rug
interior/rug.png
| today | 49×33 px · 34 px/tile |
| on screen | 1.00 tiles ≈ 51–64 px indoors |
| suggested | 46×31 px |
at game size (indoors)
Vinyl player
interior/vinyl.png
| today | 32×28 px · 34 px/tile |
| on screen | 0.94 tiles ≈ 48–60 px indoors |
| suggested | 30×26 px |
at game size (indoors)
Iro
interior/iro.png
| today | 28×23 px · 34 px/tile |
| on screen | 0.82 tiles ≈ 42–53 px indoors |
| suggested | 26×22 px |
Delivery ideas
- Format — PNGs with true alpha, never matted onto white. PNGs are all we
need.
- Density — 32 px per tile is the suggestion, and every card carries a
suggested canvas.
- Facing & names — draw whichever direction you like, name files however you
like. We'll make it work.
- Order — the MVP reskin sections first, then round 2.
- Disagree with something here? Good — say so. Open to anything.