AYOUB.*[ARCADE]

Flappy Bird

Score0
Best0
Runs0

ENGINE SPECIFICATION // ARCHITECTURAL GUIDE

How to play Flappy Bird

Controls for Flappy Bird
KeysAction
Space / W / ↑ / Click / TapFlap
PPause

On phones and tablets, use the on-screen tactile D-pad under the viewport.

About Flappy Bird

Flappy Bird is a one-button game. Your bird falls under gravity, and every flap gives it a fixed upward kick. Pairs of pipes scroll in from the right, and you fly through the gap between each pair. Touching a pipe, the ground or the top of the screen ends the run at once. There are no lives.

Almost any input flaps: Space, W, the up arrow, a click or tap on the game, a swipe, or any on-screen button. R restarts and M mutes.

Scoring, levels and tips

  • Each pipe you clear is worth one point.
  • There are no levels; difficulty rises every second you survive. Pipe speed grows by 30% of its starting value per second, pipes spawn closer together, and the gap shrinks from 9 units to a minimum of 5. The bird is 0.8 units tall.
  • Each new gap is placed at a random height.
  • Gravity is 14 units per second squared, a flap sets your upward speed to 7.2 units per second, and falling speed is capped at 12.
  • Your best score and total number of runs are saved in your browser.
  • Tip: a flap replaces your vertical speed rather than adding to it, so double-tapping doesn't climb faster. It just restarts the same arc.
  • Tip: the speed-up is tied to time, not score, so the first pipes are the slowest and widest. Use them to find your rhythm.

How it's built

This version is written from scratch in TypeScript on an HTML canvas, with no game framework. Physics, pipe spawning, collision and scoring live in a world module with no canvas or DOM code, so the logic can be checked without a browser. The 48 by 32 unit playfield is drawn at 15 pixels per unit and stepped at a fixed 60 Hz inside requestAnimationFrame.

Collision is an axis-aligned box test between the bird and each pipe. Sound is synthesised with the Web Audio API, including a score chime that rises in pitch as your score climbs, and the game pauses itself when you switch tabs.

This is an unofficial tribute written from scratch for the browser. It is not affiliated with or endorsed by the owners of the original game.