File Exchange

image thumbnail


version (126 KB) by Mingjing Zhang
MATLAB replica of the viral mobile game "Flappy Bird"


Updated 04 Apr 2016

GitHub view license on GitHub

Flappybird for MATLAB
Author: Mingjing Zhang

As one of the most popular games on app stores before being taken down, Flappy Bird does not need any further introduction. Now, it has come back alive, on MATLAB.

This implementation is intentionally made to replicate the user experience of the original game, with all physical dimensions of objects being identical. The gravity and 'jumping pulse' are also carefully adjusted so that they match the original as closely as possible.

*MATLAB R2014a is recommended for this game to achieve the best graphical performance

Simply execute flappybird.m. Alternatively, you can install "Flappy Bird.mlappinstal" as a MATLAB app.

Spacebar/Return/Uparrow/W/ -> Jump/Start game/Restart game;
ESC -> Quit Game.

This game app features a few technique breakthroughs that I utilize in a game for the first time. For instance, the bird sprite is represented as a SURFACE object, as opposed to an IMAGE object, so that it can easily rotate at any angle.

** If you encounter any problem, or have any suggestions / feedbacks, please drop a comment down below. **

Enjoy the endless flapping!

Comments and Ratings (50)

Herib Puga

Anyone else have an issue with this causing MATLAB to crash when you lose the game?

It's so fun if you change some parameters in the code.

scor pioor

amazing game, even though i never play it!

Ngoc Doan

Jie Liao

Carlos Romo

Asmaa Saleh

xi zig


Jian Li


Is there any way to change the bird into another surface image?

ding chen

very Good

K. Kojima

K. Kojima

Nice work

jian zhing


Han Feng


Here is one implementation of automatic control with this Flappy Bird application.

It is surprising that a simple P-only controller can do very well.


nice. This should be selected by mathworks as featured


I like this game,I believe I can always fly.

Wonderful work Mingjing Zhang :)

Nice game,but hard not to collide

I hate my life now. Thanks.

Great work! Thank you! This is a good example to learn creating small but funny games in Matlab.



dat nguyen


jacky chen


David Barry

Good effort!

You need a slight modification to your code if you are packaging as an app. You need to make sure that the main fuction which you package returns a figure handle so that the app removes itself from the path when you close it.


@Rabih have you use the pacakage of this submission by downloading "Download Submission"?
Or I think you have problem with your directory. Because matlab couldn't load *.mat file

i was thinking of doing this, but kept it a fantasy. This is a work of passion and skill. Awesome Job!


it doesn't work in matlab R2012 a. I get:
Error using load
Unable to read file sprites2.mat: No such file or directory.

Error in flappybird/initVariables (line 276)
Sprites = load('sprites2.mat');

Error in flappybird (line 94)


the game is very similar with the original one on the iphone. Thank you for your efforts. And I suggested this app to my friends already.


wow! u actually did this?? amazing! ...and funny!

Ligong Han


Ligong Han

It is hard to believe you took the time to make this. Funny! :)

Interesting! :)


Reinserted the description deleted by system after migrating to github

Migrated to github

Updated a note clarifying that MATLAB 2014a is the best environment for this game.

Oct 10, 2014
* Tested with R2014b

MATLAB Release Compatibility
Created with R2014a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Inspired: pab47/FlappyBirdController, SpriteKit Framework

Discover Live Editor

Create scripts with code, output, and formatted text in a single executable document.

Learn About Live Editor