Arcade · SwiftUI + Metal

Twine

Two kites, one hand.

Twine is a one-touch arcade game with a twist that makes your thumb think twice. Hold to lift the indigo kite and let go to let it sink; the vermilion kite repeats every move 0.65 seconds later, mirrored in the lower sky. Flocks of paper birds guard the gaps in both skies, so every input has to suit the kite you see now and the one that will copy it. The world is a Metal renderer of kirie paper cuts on washi, from a dawn shore to rice paddies at noon to a lantern festival at night, under SwiftUI screens built from one theme. It ships with missions, a Daily Run with a ghost kite and a widget, a Kite Shed of shapes and papers, and a StoreKit 2 stall.

  • Arcade
  • SwiftUI + Metal
  • Endless

Every screen, built

Real captures from the iOS Simulator. The menus, the shop and the progress screens ship in the source, not just the board.

  • Title

  • Play

  • Results

  • Progress

  • Kite shed

Title and Play are open. The other 3 screens are part of SwiftPieces Games. It opens every screen, and the full Xcode project to build them.

What you get

  • One input, two kites: the red kite repeats your move 0.65 s later, mirrored in the lower sky
  • Endless flock courses across three sheets of washi, Shore, Paddies and Lanterns, with a tuned difficulty curve
  • Grazes fill the wind for gusts, and a twin graze with both kites lands with a hit-stop and a hanko seal
  • A seeded Daily Run with your best flown back as a ghost kite, plus a Home Screen widget
  • Six kite shapes and eight Japanese papers in the Kite Shed, missions with Kite Club ranks and nineteen achievements
  • Spool packs, a Mission Pass and the Lantern Festival pack in StoreKit 2
  • Every sound synthesised on the device, koto included, and every surface drawn in shaders
  • ContentEndless, with a tuned curve
  • Leaderboards3
  • Achievements19
  • Challenges0
  • Swift8,600 lines in 81 files
  • RequiresiOS 17.0, Xcode 26

Shop

  • Continue tokens (spools)
  • Mission pass
  • Cosmetic pack

Built on

  • GameCore
  • Feel
  • GameServices
  • Shaders
  • GameUI

Presets

  • shore
  • paddies
  • lanterns

Plays

Endless on iPhone and iPad, with VoiceOver menus, Dynamic Type and reduce motion.