Dash
A single screen, a character you steer, a hazard that sweeps, three coins to gather. Your first finishable NES game in 6502 assembly — built one technique at a time on the NMI game loop, from a blank screen to a title, two levels, sound and a win.
What you’ll build
A single screen on the NES: a small character you steer left and right, a hazard that sweeps across the playfield, and three coins to gather. Time your jump over the sweep, take all three coins and the level turns; misjudge it and you lose a life. It has a title screen, two levels, a tune, and the small stings and blinks that make a screen feel like a game — a complete, finishable thing, not a demo.
No scrolling, no camera — one static screen, the way the earliest cartridge games worked. Everything that moves, moves because you moved it or the game’s loop did: the character under the D-pad, the hazard on its sweep, the coins winking out as you take them.
How it’s taught
Seventeen units. The first sixteen build the game — see your character on screen, read the controller, drive everything from the NMI (the NES’s once-a-frame heartbeat), then add the hazard, collision, coins, a score, lives and a title. The last unit, The Last Yard, adds levels, a tune, two stings and a blink — and the fixes that turned a nearly-game into a winnable one.
Every unit produces working, runnable code, and each technique arrives only when the game needs it: OAM sprites and DMA to draw, controller reads to steer, the NMI loop to time it all, collision and score to make it a game.
Where it sits
Dash is the first finishable game on the NES assembly track, built directly on Meet the Machine. It teaches the shape every later NES game keeps — a title, an NMI-driven loop, sprites under DMA, input, collision, and a win and a loss to bracket the play. Your first NES release, and the foundation the rest of the track builds on.
Unit roadmap
The Game
Build a small, finishable runner: a sprite you steer through obstacles, with score, lives and a title screen.
The Last Yard
Levels, a tune, two stings, a blink — and the fixes that made the game winnable