ownsandbox·ARCADE

Games our students build, not games they play.

Every one of these is a real project from the programme, playable right here in the browser. They get harder in the same order a student meets them — a first game loop at eight, a dungeon that builds itself at sixteen. Nothing to install.

24 GAMES8 IN 3D4 STAGESAGES 8–18
Circuit Racer in play
3DStage 2 · PythonAGES 11–13

Circuit Racer

Six glowing gates round an oval. Beat your own best lap, with a computer car for company.

What it took to build: Acceleration and friction as plain arithmetic — no physics engine anywhere in the file.

Three.jsVanilla JSOne HTML file
PLAY →
Block Stacker 3D in play
3DStage 2 · PythonAGES 11–13

Block Stacker 3D

Seven shapes, one well. Turn them so they fit and clear the row.

What it took to build: Rotating a shape with matrix maths instead of writing out every position.

Three.jsMatrix rotation
PLAY →
Rock Paper Scissors vs AI in play
Stage 2 · AI CreatorAGES 10–13

Rock Paper Scissors vs AI

It guesses your next move — and it gets better the longer you play.

What it took to build: What training data really is, and why a confident guess is still a guess.

Pattern tablesProbability
PLAY →
Tower Defence 3D in play
3DStage 3 · TrackAGES 13–16

Tower Defence 3D

Enemies follow the road. You decide what is waiting at the bends.

What it took to build: Targeting, economy and trade-offs — three towers that are each bad at something.

Three.jsWebGLRaycasting
PLAY →
Pixel Run in play
Stage 3 · TrackAGES 13–16

Pixel Run

Run, jump, stomp. A side-scroller with the level written as a grid of characters.

What it took to build: Tile collision one axis at a time, variable-height jumps, and why the camera lags the player.

Canvas 2DTypeScriptTile maps
PLAY →
Archive of the Walls in play
3DStage 4 · CapstoneAGES 15–18

Archive of the Walls

A scroll-driven 3D documentary about the world of Attack on Titan — the walls, the nine Titans and the whole story.

What it took to build: One scrubbed GSAP timeline driving a whole WebGL world: every chapter is just data the camera tweens to.

React Three FiberGSAP ScrollTriggerGLSL shaders
PLAY →
Flight Sim in play
3DStage 4 · CapstoneAGES 15–18

Flight Sim

A little aeroplane over a scattering of islands. Nothing to crash into — just fly.

What it took to build: Four forces and the trade between them: climbing costs speed, speed buys lift.

React Three FiberZustandTypeScript
PLAY →
Voxel World in play
3DStage 4 · CapstoneAGES 15–18

Voxel World

Endless blocky ground that builds itself as you walk and disappears behind you. Dig in, build back.

What it took to build: Greedy meshing — a flat 16×16 field of grass reaches the GPU as one rectangle instead of 256.

React Three FiberGreedy meshingSimplex noise
PLAY →
Sandbox World in play
3DStage 4 · CapstoneAGES 15–18

Sandbox World

A world made of blocks. Walk in as a character you can see, dig it up, build it back.

What it took to build: Why you cannot just draw every cube — only the faces touching air ever reach the screen.

Three.jsChunk meshingNoise terrain
PLAY →
Dungeon Depths 3D in play
3DStage 4 · CapstoneAGES 15–18

Dungeon Depths 3D

A dungeon nobody designed. Every floor is built by the program as you arrive.

What it took to build: Procedural generation and one breadth-first search shared by every monster.

Three.jsBFS pathfindingInstancing
PLAY →
Maze Runner in play
Stage 1 · StartAGES 8–10

Maze Runner

Three mazes designed by a student, against the clock.

What it took to build: Level design, timers and keeping a best time.

Scratch-style
PLAY →
Catch the Falling Stars in play
Stage 1 · StartAGES 8–10

Catch the Falling Stars

Stars fall, the basket moves, and it speeds up as you score.

What it took to build: A score, lives, and the first game loop a child ever writes.

Scratch-style
PLAY →
Interactive Story in play
Stage 1 · StartAGES 8–10

Interactive Story

Characters talk, you choose, and there are three different endings.

What it took to build: Branching choices — the first time a program depends on a decision.

Scratch-style
PLAY →
Turtle Race in play
Stage 1 · StartAGES 8–10

Turtle Race

Two turtles, random speeds, and a finish line.

What it took to build: Randomness, loops, and why the same code gives a different race.

Python Turtle
PLAY →
Block Stacker in play
Stage 2 · PythonAGES 11–13

Block Stacker

The flat version — the well, the seven shapes, the ghost piece.

What it took to build: Same rotation maths, drawn with a 2D context.

Canvas 2D
PLAY →
Adventure Quest in play
Stage 2 · PythonAGES 11–13

Adventure Quest

A temple of eight rooms, four items and doors that check your bag.

What it took to build: A list and a dictionary, shown live on screen while you play.

Data structures
PLAY →
Mini Kart Race in play
Stage 3 · TrackAGES 13–16

Mini Kart Race

Three laps against three computer karts. Hit the boost arrows, stay off the grass, finish first.

What it took to build: Steering with grip and drift, laps that count only the right way round, and rivals that brake for corners.

Canvas 2DSpline tracksRacing AI
PLAY →
Fruit Slicer in play
Stage 3 · TrackAGES 13–16

Fruit Slicer

Swipe through the fruit as it flies up. Miss three and it is over — and never slice a bomb.

What it took to build: Testing a swipe against moving circles, gravity in two lines, and combos that reward one long cut.

Canvas 2DCollision mathsWeb Audio
PLAY →
Night Run in play
Stage 3 · TrackAGES 13–16

Night Run

Run, jump the pits, land on the crawlers. Reach the flag.

What it took to build: Tile collision, camera follow, and a jump that has to feel fair.

CanvasTile mapsPhysics
PLAY →
Dino Dash in play
Stage 3 · TrackAGES 13–16

Dino Dash

She runs on her own. You choose when to jump and when to duck.

What it took to build: An endless world generated as it scrolls, with difficulty that ramps.

CanvasProcedurallocalStorage
PLAY →
Snake Duel in play
Stage 3 · TrackAGES 13–16

Snake Duel

Two snakes, one grid. Play a friend, or the computer.

What it took to build: An opponent that looks ahead for food and avoids dead ends.

CanvasGame AI
PLAY →
Tower Defence in play
Stage 3 · TrackAGES 13–16

Tower Defence

The flat version of the 3D game — same rules, drawn in 2D.

What it took to build: Exactly the same logic behind a different renderer.

Canvas 2D
PLAY →
Space Invaders in play
Stage 3 · TrackAGES 13–16

Space Invaders

The arcade classic — waves that drop lower every time you clear one.

What it took to build: Arrays of enemies, collision detection and a difficulty curve.

Canvas
PLAY →
Dungeon Depths in play
Stage 4 · CapstoneAGES 15–18

Dungeon Depths

The flat version — rooms, corridors, torchlight and monsters.

What it took to build: The same generator and the same search, seen from above.

Canvas 2DBFS
PLAY →