An eight-lesson course in 65C02 assembly game programming on 3ric — the from-scratch Apple-II-class machine that runs in your browser. Start at Hello, 3ric and build up to a playable Space Invaders. Every lesson comes with a small, fully-commented program you can run with one click, edit in the in-browser editor, and re-share. No install, no account. Read the lessons in order — each one reuses the routines from the last.
Hello, 3ric
Your first program end-to-end: type it, assemble it, run it. Print text with the ROM’s character-out routine.
New: the assembler, COUT, the run loop.
The text screen
Write straight to screen memory: draw a border, center a title, and lay out a HUD on the 40×24 text grid.
New: screen memory, the interleaved row map, direct writes.
Reading the keyboard
Steer a hero around the screen with W/A/S/D. Build the read-a-key, erase, move, redraw loop every game uses.
New: the keyboard at $C000, bounds, the input loop.
Color with lo-res
Flip into 40×48 lo-res color, write a reusable plot
routine, and steer a color-cycling block.
New: soft switches, the lo-res two-pixels-per-byte layout, 16 colors.
Motion & collision
A ball that moves on its own and bounces off all four walls — your first real game loop with velocity.
New: the game loop, velocity, reflecting at boundaries, timing.
Randomness & scoring
Catch-the-food: a random target, collision, and a live score in a text HUD below the graphics.
New: an LFSR random generator, mixed mode, drawing a number.
Space Invaders
Put it all together: a marching alien fleet, a cannon, a bullet, collision, score, and win/lose screens.
New: a game state machine, a fleet stored as data, edge-reverse motion.
Hi-res & next steps
A peek at 280×192 high-resolution graphics, then a map of the shipped games to read and remix from here.
New: hi-res mode, interleaved rows, precomputed address tables.