Play

The best programming games, ranked for learning

For learning to think like a programmer, the Zachtronics games are the best there are, and the order matters. Ranked by how directly they train programming: TIS-100, Shenzhen I/O and EXAPUNKS (you write real assembly), then SpaceChem, Infinifactory, Opus Magnum and MOLEK-SYNTEZ (you program with spatial machines), then Last Call BBS (a grab bag). Factorio and Satisfactory train something different: whole systems.

Updated

The ranking

RankGameWhat you programWhy it teaches
1TIS-100Assembly for a grid of tiny nodes with one register eachParallelism and message passing with almost nothing; brutal constraints
2Shenzhen I/OMicrocontrollers in a made-up assembly, wired on a circuit boardReal-time I/O, state machines, and a printed datasheet to read
3EXAPUNKSAgents that move between hosts and edit filesConcurrency, files and processes, closer to real systems code
4SpaceChemTwo waldos on a grid, in a visual languageSynchronization and pipelines, very hard late game
5Opus MagnumArms on a hex gridOptimization: cost, cycles and area trade off against each other
6Infinifactory3D factory blocksSpatial planning and timing; the friendliest start
7MOLEK-SYNTEZMolecule assembly with emitters on a hex gridA tighter, harder cousin of Opus Magnum
8Last Call BBSA collection of small games on a 90s PCVariety; ChipWizard Professional is circuit layout

Every game has histograms: after you solve a puzzle you see how your cycles, cost and size compare with everyone else's. That is the real teacher. Go back and optimize.

What order to play them in

Not the ranking. Start with something you will enjoy so you keep playing. The cracked.guide Play track runs them alongside the reading, one at a time: TIS-100 from week 1, Shenzhen I/O from week 11, EXAPUNKS from 19, SpaceChem from 31, Infinifactory from 46, Opus Magnum from 64, then Factorio, MOLEK-SYNTEZ, Satisfactory and Last Call BBS, each with a checkpoint like "solve the first 12 puzzles". If you want the gentlest start instead, many players recommend Opus Magnum or Infinifactory first.

What about the others?

Zachtronics also made Eliza, a visual novel with no puzzles, and solitaire collections; Jonathan Blow's advice (see his advice) explicitly leaves out the visual novel. Zachtronics announced in 2022 that it was closing, and Last Call BBS was its final game. For systems thinking at scale, see Factorio and Satisfactory for programmers. Prices for every game, including the bundle that covers all eight Zachtronics titles, are on the gear page.

Do games actually make you a better programmer?

On their own, no game teaches you to build software. What they do train is the core loop: understand a constrained machine, plan, test, debug, and then optimize against a measurable target. Played next to real work (an interpreter, Knuth's MIX exercises) they make that loop faster and more fun. Why the path has a Play track at all.

Questions

What is the best Zachtronics game for programmers?

TIS-100 or Shenzhen I/O, because you write actual assembly code. EXAPUNKS is the most like real systems programming.

Which Zachtronics game should I play first?

TIS-100 if you want pure programming, Infinifactory or Opus Magnum if you want the gentlest start.

Is TIS-100 harder than Shenzhen I/O?

Many players find TIS-100 harder because each node holds so little code, though Shenzhen I/O's later puzzles are tough too.