Projects

Pinball Lab

Three original pinball tables for iPhone, each one pushing further than the last.

  • Beta on TestFlight
  • iOS
  • SwiftUI
  • SpriteKit
  • Blender
  • Python
Join the TestFlight beta

There's no public TestFlight link yet.

View on GitHub (opens in a new tab)

Screenshots

  • Pinball Lab home screen listing its three tables, Orbit Pinball, Grey Invasion and Cthulhu Rising, each with a Play button.
    The tables
  • Orbit Pinball: a neon blue space table with three planet bumpers, drop targets, slingshots and flippers.
    Orbit Pinball
  • Grey Invasion: a farm field at night with flying saucer bumpers, two green ramps, a red barn and cows.
    Grey Invasion
  • Cthulhu Rising: a dark green 3D-rendered table with a clear ramp, a wire ramp, three bumpers and a ritual circle.
    Cthulhu Rising

The tables

  1. Orbit Pinball

    Where it started. One screen with flippers, planet bumpers, slingshots, drop targets, a wormhole, a skill shot and ball save.

  2. Grey Invasion

    A table taller than the screen, with a camera that follows the ball. Two ramps, multiball, three waves of flying saucers and a Mothership finale. All the art is drawn in code, and a robot "Shot Lab" plays shots on its own to measure how hard each one is.

  3. Cthulhu Rising

    Every part modelled and rendered in 3D in Blender. A clear ramp the ball climbs, a swaying Cthulhu toy, a spinner, a magnet and an up-kicker. A three-act story tuned with a game simulator that played thousands of games, and its own synthesized sound set.

How it's built

No game engine: just Apple's own frameworks, with Blender for the art and Python for the sounds and the tuning.

  • SwiftUI + SpriteKit, no game engine. Runs at 120 fps on ProMotion iPhones.
  • Table art rendered in Blender at a 22° oblique angle, so the art lines up with the physics.
  • Sounds synthesized in Python (numpy), plus CC0 Kenney impact sounds.
  • Python simulators and an in-app robot used to tune the rules and shot difficulty.
  • Game controller support (Xbox, PlayStation, MFi).
  • Built with Claude.

Requirements

  • iPhone
  • iOS 27

Credits