Option 5: Game Boy. The bot is now a 4-shade, 24×24-pixel sprite in a tiny scrolling platformer. It auto-plays; tap the controls to take over.

**Real hardware limits.**
The screen is 160×144 pixels with 4 shades. Nothing is faked above that resolution.

**The bot is a metasprite.**
It's 9 tiles of 8×8 pixels glued together into 24×24. Hardware sprites topped out at 8×16, so bigger characters were always assembled from pieces.

**The sprite sheet below the screen**
highlights the frame currently on screen. Watch it jump between idle, roll, rise and fall.

**Controls:**
◀ ▶ roll the bot, A jumps. Auto play resumes 4 seconds after you let go.

**Jumping keeps the principles from option 1.**
The bot squashes for 4 frames before take-off, and again on landing.

**LCD ghosting was a flaw, and it shaped design.**
The original screen was slow to change, so fast motion smeared. Some games used that blur on purpose: flickering a sprite every other frame produced a see-through "ghost."

**Only 4 shades, and one is transparent.**
Sprite colour 0 is invisible, so the bot really has 3 shades plus its outline doing all the work. That's why the rim is the darkest shade.

**The eyes had to be redrawn by hand.**
Scaling the smooth capsule eyes down to 24 pixels gave broken, uneven lines. Each eye is a 2-pixel-thick diagonal stroke, and a blink is a 3-pixel horizontal dash. Pixel art is re-drawing, not shrinking.

**Palettes:**
"Pea green" is the 1989 original. "Pocket grey" and "Backlit teal" follow later models. "Colour palette" shows how a later colour model could re-tint old greyscale games at boot.

**Metasprite layout**
```
┌────┬────┬────┐ each box = one 8×8 tile │ T0 │ T1 │ T2 │ 9 tiles × 16 bytes = 144 bytes per frame ├────┼────┼────┤ 11 frames ≈ 1.6 KB │ T3 │ T4 │ T5 │ ├────┼────┼────┤ screen layers, back to front: │ T6 │ T7 │ T8 │ BG (scrolls) → sprites → window (fixed HUD) └────┴────┴────┘
```

**How 1 pixel is stored (2 bits)**
```
shade: 0 = lightest 1 2 3 = darkest bits: 00 01 10 11 8 pixels = 2 bytes (one low-bit plane, one high-bit plane)
```

**Animation state machine**
```
┌──── A pressed ────▶ SQUASH ──▶ RISE (vy<0) ──▶ FALL (vy>0) IDLE ◀──┤ │ │ ▲ └── ◀/▶ held ──▶ ROLL (frame = angle ÷ 90°) │ │ └──────────────────────── SQUASH ◀── landed ───────────┘ └─ random ▶ BLINK / LOOK
```

**Critical thinking:**
4 roll frames make the face jump 90° at a time. Does that look worse than smooth rotation, or does the choppiness make it read more clearly as "game"? When do limits improve style?

**Lateral thinking:**
cross-stitch, mosaic tiles, knitting charts and LED billboards are all pixel art with different limits. Could the Game Boy sprite sheet become a cross-stitch pattern or a Lego mosaic with no changes?

**First principles:**
with only 4 shades, how do you choose which pixels get the outline, the highlight and the dither? Could you write the rules down so a machine chooses as well as a pixel artist?

- How did games get sound out of the same hardware?
- What changes when we move to 8-bit NES colour?

B. Early gaming (1972–1995)

#5 Game Boy sprite

Share: /e/grokbot-animation/5/