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)