Manual

Speedy Bird manual

How Speedy Bird is built: a ReactLynx game for Android, iOS, and the Web, its engine, its hosts, and its release pipeline.

DocumentsREADME.md

Speedy Bird is Flappy Bird with one change: every pipe you clear makes the game 1% faster. I built it to learn Lynx, ByteDance’s cross-platform UI framework, so the same ReactLynx code runs as a native Android app, a native iOS app, and in the browser. This manual explains how it is put together, with links to the source for every claim.

Start here

  1. Play it. The home page runs the game in your browser. It is the ReactLynx app itself, the same bundle code as the native apps, running in Lynx’s web runtime.
  2. Run it locally. Getting started installs the toolchain and starts the dev server, the website, and the native hosts.
  3. Read the engine. Game engine covers the rules, the main-thread frame loop, and the bridge to each host.
  4. Build a host. Native host apps builds the Android and iOS apps and runs their tests.

What is in the box

Part What it is Where
Game ReactLynx components, a pure rules engine, a main-thread frame loop src/
Android host Kotlin app that loads the bundle and plays sound with SoundPool android/
iOS host Swift app with a generated Xcode project and UI tests ios/
Web host A <lynx-view> page that runs the real bundle in a browser web-host/
Website and manual This Astro site, with the Lynx build on the home page docs/

Status

Android and iOS build in CI; Android is linted and its APK checked for the current bundle and every sound, and the iOS app runs UI tests on a simulator. iOS archives are unsigned, so the iOS app is not distributed through the App Store. The web build plays in any modern browser.