8 playable now

Games, built and measured

Games you can play, and the honest state of the rest.

Every game here is mine, apart from the mini golf and the football: those two are my son Jacob's, built when he was nine. Most of them run in this page; two run on hardware or a desktop runtime and never will. Each one says which it is, what it needs, and where the code lives.Build sizes come from a real build of each repository on 2026-07-31, not from repository size. The games served from a live Netlify host were re-measured against that host instead: Jacobs Golfspill and QubeSolve on 2026-08-16, and 3Doodle, My Football Game, Monkey Tug of War, Gimme My Cake and Drone Lips on 2026-08-21.

These run in your browser, from this page.

Press play and they load. Nothing starts on its own.

  • Playable now

    Browser mini golf

    Jacobs Golfspill

    This one is not mine. My son Jacob made it when he was nine: his idea, his game. I talked him through the instructions, and he did the fixing himself. It is a browser mini golf challenge in HTML5 canvas and vanilla JavaScript - click or drag to aim, then release to shoot.

    Engine
    HTML5 Canvas and vanilla JavaScript
    Input
    Mouse or touch
    On a phone
    The live build is a canvas game that accepts click or drag aim.
    Built size
    17 KB hosted (702 B HTML, 14.9 KB JS, 1.4 KB CSS), measured 2026-08-16
  • Playable now

    3D Rubik's Cube solver

    QubeSolve

    A 3D Rubik's Cube solver and interactive puzzle built with Three.js. Rotate and manipulate the 3D cube, input any state, and follow step-by-step optimal solving solutions.

    Engine
    TypeScript and Three.js
    Input
    Mouse or touch
    On a phone
    Interactive 3D canvas runs in modern mobile and desktop browsers.
    Built size
    Hosted on Netlify, measured 2026-08-16
  • Playable now

    Two-player canvas football

    My Football Game

    This one is Jacob's as well. My son made it when he was nine: his idea, his game, and his own fixes once I had talked him through the instructions. It is a canvas football match - one player against the AI, or two players sharing one keyboard. An online mode ships with it too, but the Socket.IO server it dials no longer answers, so the local modes are the ones to rely on.

    Engine
    Canvas 2D, with Socket.IO behind the online mode
    Input
    Keyboard, with on-screen touch controls
    On a phone
    Touch controls are built in; two players on one keyboard needs a desktop.
    Built size
    36 KB transferred from the live host (1.9 KB HTML), 154 KB decoded
  • Playable now

    Classroom mental arithmetic

    Monkey Tug of War

    A Flutter and Flame classroom game: answer the arithmetic faster than the other side and pull the rope your way. Built for a browser and meant for a shared screen.

    Engine
    Flutter and Flame
    Input
    Touch or tap keypad
    On a phone
    Runs in any browser; the Flutter payload is still a few megabytes on a phone connection.
    Built size
    774 KB transferred from the live host, 2.6 MB decoded, plus the CanvasKit renderer the page pulls from a Google CDN
  • Playable now

    Reach for the cake with your hands

    Gimme My Cake

    A three-dimensional scene you play with your hands: MediaPipe reads the webcam and your grasp flicks cake to the crying baby, and a drag-and-flick mode carries machines without a camera. It is by far the heaviest thing here, so open it on a connection that can take it.

    Engine
    Vite, Three.js and MediaPipe Hands
    Input
    Webcam hand tracking, with mouse and touch
    On a phone
    Needs HTTPS and camera permission, and it is a 33 MB download - unkind to a phone connection.
    Built size
    32.7 MB transferred from the live host, of which one 29.5 MB model file is nearly all of it, plus MediaPipe from a CDN
  • Playable now

    Fly a drone with your face

    Drone Lips

    MediaPipe tracks facial landmarks and turns them into flight input, so the drone answers your expression rather than a controller. It flies forward on its own; you steer it through the diamonds and past the enemies with your face.

    Engine
    Astro, React Three Fiber and MediaPipe Face
    Input
    Webcam face tracking
    On a phone
    Written with a phone camera in mind; needs HTTPS and camera permission.
    Built size
    201 KB transferred to open the page, then about 10 MB once you press start - almost all of it the MediaPipe face model
  • Playable now

    Draw, and keep what you drew

    3Doodle

    A drawing canvas for children: pick a colour, a brush size, and a tool, sketch an outline, then press Generate 3D and the result lands in the gallery beside the canvas. The live build carries its own back end, so a doodle is stored rather than lost on refresh.

    Engine
    Vite and React, with an Express, Drizzle and Postgres back end
    Input
    Mouse or touch drawing
    On a phone
    A mobile drawing layout ships with it.
    Built size
    140 KB transferred from the live host (2.1 KB HTML, 126 KB JS, 12 KB CSS), 493 KB decoded
  • Playable now

    Kids world creator

    MandelBro

    This was an idea project: a prototype made to test whether the concept held up, not a finished game. Pick a character, describe the world you want, and build it from one of six templates: blocky caves, sky defence, racing, retro arcade, ocean, or galaxy. The simplified build runs entirely in your browser with no account and no network calls.

    Engine
    HTML5 Canvas
    Input
    Mouse or touch
    On a phone
    Works on phones; the template grid is easier to read on a larger screen.
    Built size
    74 KB, single self-contained file

Real games that a browser cannot run.

One lives on a circuit board and one is a desktop Java application. They are listed because they are mine, not because you can click them.

  • Documented only

    Reflexes, on real hardware

    Reaction Game

    A reaction-timing game written in C for a microcontroller, with physical buttons and lights. It is a real, finished game; it simply does not live in a browser.

    Engine
    C on a microcontroller
    Input
    Physical buttons
    On a phone
    Not applicable - this one runs on a circuit board.
    Built size
    0.8 MB source

    It runs on hardware, not in a browser. The repository is the honest record.

  • Documented only

    Course work, in Java

    Tetris

    Carlos's own implementation from a course where the teacher supplied an example. The code is his; it is a desktop Java application, so it is listed here rather than embedded.

    Engine
    Java on the desktop
    Input
    Keyboard
    On a phone
    Not applicable - desktop Java.
    Built size
    1.8 MB source

    Desktop Java does not run in a browser. Excluded for shape, not for authorship.