Demo gallery

Every game the course has you build, running from this repo's own exercises/ code on its own vendored raylib engine. Nothing here is borrowed from the sibling raylib suites: these are the programs you end up with if you work through the lessons.

Every GIF is committed. Maintainers regenerate them with bb record, which drives screen-grab from scripts/demo_manifest.edn โ€” that file also holds the per-game capture settings and input timelines.

๐ŸŽˆ Phase 1 โ€” Foundations

Bouncing ball

The first thing that moves: one ball, one velocity vector, walls that flip its sign. Lesson

Bouncing ball

Following eyes

Reading input every frame โ€” two eyes that track the real mouse cursor. Lesson

Following eyes

๐Ÿ•น๏ธ Phase 2 โ€” Arcade Classics

Lesson 1 โ€” Pong

W/S move your paddle, the right one is a tracking AI. Lesson

Pong

Lesson 2 โ€” Breakout

A brick grid as data, cleared one collision at a time. Lesson

Breakout

Short on purpose. Breakout's paddle reads a held key, which the capture tool cannot synthesise โ€” it can only tap โ€” so the recorded ball always gets past the paddle. The clip loops on the fall rather than sitting on a frozen board. Played by hand it rallies fine.

Lesson 3 โ€” Snake

The whole snake is a vector of cells; growing is a conj. Lesson

Snake

Lesson 4 โ€” Space Invaders

A marching enemy formation, one bullet in flight at a time. Lesson

Space Invaders

Lesson 5 โ€” Tetris

Pieces as offset vectors, rotation as a coordinate transform. Lesson

Tetris

Lesson 6 โ€” Flappy Bird

A title/playing/over state machine driven by a single key. Lesson

Flappy Bird