BLOCKDECK Jeep HorrorAll gamesContact

FLYING GAME

Clumsy Bird Game

The Clumsy Bird game uses one lift action, changing pipe gaps and a step-based score. This guide documents the MelonJS demo's controls, timing and source behavior.

  • Flying
  • Reflexes
  • Open source
Clumsy Bird gameplay screenshot
Game preview · source linked below
Clumsy Bird game cover

FLYING GAME

Play Clumsy Bird online

Guide a small bird between rows of pipes in Ellison Leão's browser game built with MelonJS.

Selecting Play connects to Ellison Leão / Clumsy Bird, which may use its own storage or network services. Game privacy details.

CL
Clumsy BirdGitHub Pages · GPL-3.0

Game guide

How to play Clumsy Bird

Created by Ellison Leão, the Clumsy Bird game is a short reflex challenge built with MelonJS. The bird keeps its horizontal position fixed at 60 pixels while paired pipes move toward it. Each fly input lifts the character, gravity pulls it down between inputs, and contact with a pipe or the ground ends the attempt.

Game typeSide-scrolling reflex challenge
ControlsSpace, click or touch
ProjectEllison Leão
  1. Start from the title screen. From the title screen, the demo accepts Enter, Space or the left mouse button. A touch device shows a tap-to-start prompt.
  2. Time each lift. A short Get Ready phase appears before the pipes start. Once they move, use Space, a left-click or a tap inside the canvas to send the character upward.
  3. Return after a collision. When the attempt reaches its ending screen, Enter, Space or a click returns to the title screen. Use a second start input there to begin a fresh run.

Controls, pipes and scoring

On desktop, start a run with Enter, Space or the left mouse button. On touch screens, tap when prompted. The Get Ready image fades for about two seconds before the pipe generator starts, so an input during that brief setup is not part of live play.

Once play begins, press Space, left-click or tap inside the canvas for each lift. Press M to mute or unmute the audio. The bird remains near the left edge, which means the useful visual cue is the height of the next opening as the pipes approach.

If a lift sends the character too high, allow gravity to lower it before tapping again. Near the ground, act early enough for the upward movement to take effect. Because the pipes arrive at changing heights, the same tap interval will not fit every opening.

How one run works

During an attempt, gravity grows between fly inputs while every pipe pair travels left toward the bird. An invisible hit area moves with the pair; crossing it removes that marker and adds one step. The displayed total therefore records cleared gaps rather than seconds survived.

Contact with a pipe or the scrolling ground stops the run and starts the ending animation. The game-over screen reports the current Steps total and the saved Higher Step result. Returning to the title and starting again resets the current total for the next attempt.

What one lift changes

A fly input resets gravity force to 0.2 and starts a 50-millisecond move toward a point 72 source pixels above the bird. Between lifts, gravity grows by 0.2 on each update and pulls downward. These values belong to the game's internal coordinates; automatic canvas scaling means they are not physical screen pixels.

The bird remains at horizontal coordinate 60 as scenery approaches. Its sprite can rotate up to minus 30 degrees and down to 35 degrees. Input changes height and angle, never horizontal position, so read the next opening vertically and correct one lift at a time.

How pipes and scoring zones move

Each obstacle has an upper pipe, lower pipe and invisible scoring marker. The source moves pipes left with velocity 5 and creates another set after 92 update counts. Those are engine constants, not seconds: display scaling and the update loop affect the motion viewers see.

The marker travels with its pair. Crossing it safely removes the marker and raises Steps by one. Passing part of the pipe image gives no fractional credit, and waiting adds nothing. The wrapping ground moves left with velocity 4; its repeating art creates motion while its collision boundary remains hazardous.

Collision shape and reset state

The visible bird sprite is 85 by 60 source pixels, while its configured collision ellipse is 71 by 51 with a five-pixel offset on each axis. Transparent edges of the image therefore do not define the exact contact test. Scaling changes how large both appear on screen, so use these numbers to understand the source rather than to estimate a gap with a ruler.

Starting the play screen resets score and steps to zero, clears the new-high flag and places the bird at horizontal coordinate 60 and vertical position 100 units above the viewport midpoint. This reset explains why a returned title screen keeps the saved higher result but a new game begins with no current steps.

A practical timing example

Suppose the bird is below the next opening's center while the pipe remains several character widths away. Lift once, then watch the upward correction as gravity begins building again. If the character remains low, lift again; if it reaches the upper half, wait and let gravity lower it.

Near the top pipe, avoid a fixed rapid rhythm. Every lift targets the same relative rise while openings have different heights. Near the ground, act before the sprite reaches the collision line because it does not teleport upward. This applies the verified movement rules, but no sequence guarantees success as each opening changes the timing.

From title screen to game over

A fresh Clumsy Bird game begins on the title screen. Enter, Space, left click or touch starts play, resets the current score and places the bird near the left. The Get Ready graphic fades over 2,000 milliseconds; its callback then starts play and adds the pipe generator.

Crossing source coordinate minus 80 at the top, touching a pipe or hitting the ground ends the attempt. Pipe and ground collisions request 500 milliseconds of viewport vibration when supported. Game over saves Steps, compares Higher Step and records a new high only when the current result is greater. Returning to the menu does not start another run.

Input, sound and display troubleshooting

If Space scrolls the outer page, select Play and focus the embedded canvas. On a phone, tap inside the game after the title prompt. During play, pointer input maps to Space. M toggles mute. The project supplies MP3 and OGG audio, though autoplay rules may keep sound silent until interaction.

The project configures a 900 by 600 viewport and asks MelonJS to scale it while preserving ratio. A narrow screen can show a smaller canvas without changing internal values. For a blank frame, allow external GitHub Pages frames and use Reload. Blockers, network filters or an unavailable host may stop the Clumsy Bird game before its canvas check. If the canvas reports missing HTML5 support, try a current browser or the source link.

Version and source boundaries

This page loads Ellison Leão's GitHub Pages demo and describes state, controls and constants visible in its public source. GitHub marks the repository archived and read-only as of August 2019; it declares GPL-3.0, and its README calls the project a MelonJS clone in the Flappy Bird format.

Blockdeck supplies the surrounding guide and Play gate. The canvas, art, scoring and saved high result come from the external project. The source link below remains the authority for its version history and license.

Questions about the flying demo

Who created Clumsy Bird?

Ellison Leão created this open-source MelonJS port of the Flappy Bird format. This page embeds the developer's published demo and links to the archived public repository.

How does scoring work?

The run total increases when the bird crosses the invisible scoring area between a pair of pipes. A collision with a pipe or the ground ends the current attempt.

Why are the controls not responding?

Start from the title screen, wait through the brief ready phase and focus the embedded canvas. During the live run, use Space, a left-click or a tap for the next fly input.

Why does the demo stay blank?

Select Reload in the toolbar. The player comes from the creator's external GitHub Pages site, so a browser or network rule that blocks external frames can prevent it from appearing. If reloading does not help, open the original project below.

Clumsy Bird source and MelonJS

The embedded demo is served from Ellison Leão's GitHub Pages site. The archived public repository describes the project as a MelonJS title, links to the same online version and provides its code under GPL-3.0. Blockdeck keeps the creator and source visible and provides no modified download.

Open the original Clumsy Bird project ↗

Play again or choose another game

Ready to play the Clumsy Bird game? Return to the player. To swap flight timing for tile planning, try the 2048 game online, or browse all Blockdeck games.