FlappyBird-N64

Clone of Flappy Bird for Nintendo 64 built using the open source LibDragon SDK. Original game design, graphics, and sound effects created by .GEARS

View the Project on GitHub meeq/FlappyBird-N64

Flappy Bird for Nintendo 64

Tap A to flap your wings and fly! The hit iOS game from 2013 is now available on N64!

Screenshots of Flappy Bird menus and gameplay

Navigate a bird through a series of gaps and try not to hit the walls! This simple, one-button game is so easy to play that everyone will want a turn to see how far they can go!

Overview

This project is intended to be a complete example of a simple yet non-trivial game built for Nintendo 64 using the open source LibDragon SDK.

This project is considered “done”, and is no longer being actively developed. It may receive occasional maintenance updates to ensure the code remains compatible with upstream changes in LibDragon.

Features

Known issues

Intentional omissions

Play the game

Download or compile the ROM file and load it as you would any other N64 ROM.

This ROM file has been tested to work on real Nintendo 64 hardware using the EverDrive-64 by krikzz and 64drive by retroactive.

This ROM file should also be compatible with low-level, accuracy-focused Nintendo 64 emulators such as Ares, CEN64 and MAME.

Due to the usage of LibDragon, it is an explicit non-goal of this project to suppport emulators. The goal was to make a game for Nintendo 64, so tautologically:

If it works on the real console but not on the emulator, then the emulator is insufficiently accurate.

Build the ROM

Run make to produce a ROM file from this source tree.

Dependencies

A known-good version of LibDragon will be checked-out as a Git submodule and built as part of the Makefile process.

If you already have a toolchain, the Makefile will respect your existing N64_INST environment variable. Otherwise, the toolchain will be built as part of the project.

See the LibDragon toolchain script for information on prerequisites and dependencies.

Configuration

The Makefile can be configured using the following environment variables:

Versioning

The filename of the ROM will be derived from the current “ROM version”. If the project repository is “clean”, it will reference the current Git tag or commit hash. If the project has uncommitted changes, the version will be marked -dirty (indicating that it is unsuitable for release).

Proper releases will be tagged as vX.Y where X is a major version number and Y is a minor version number.

License

This project’s source code is BSD licensed (c) 2017-2022 Christopher Bonhage.

The graphic and sound assets are subject to the original work’s copyright: Flappy Bird (c) 2013 .Gears
These assets are used for non-commercial purposes with love, care, and respect, but without permission.

LibDragon is Unlicensed public domain software.

“Nintendo 64” is a registered trademark of Nintendo used for informational purposes without permission.