0% found this document useful (0 votes)
62 views25 pages

Flappy Bird Document

Flappy bird game

Uploaded by

sharmakhushi0431
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
62 views25 pages

Flappy Bird Document

Flappy bird game

Uploaded by

sharmakhushi0431
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 25

Abstract

The simple Flappy Bird Game project is written in


Python. The project file contains asset files, python scripts
(flappybird.py). The gameplay Graphics is good enough
and the controls are simple for the users. Talking about
the gameplay, it’s one of the most addictive and played
games for all. All the playing methods are too simple just
like the real one. All you have to do is just try to stay in
the middle of the screen until long green pipes appear in
front of you. Here, the user has to control the bird
flapping up, down using Spacebar, without touching pipes
in order to score game points. This means the more you
pass through green pipes, more will be the game points. A
simple GUI is provided for the easy gameplay. The
gameplay design is so simple that user won’t find it
difficult to use and navigate.
This simple flappy bird game provides the simplest
gameplay of flappy bird.
Introduction

On February 10th, 2014, the creator of Flappy Bird, a


popular sidescrolling game for mobile devices, removed
the game from mobile application stores (Apple, Android,
etc.). The reason for the removal was due to the game
becoming “an addictive product” that had “become a
problem” (Nyugen). Currently Flappy Bird is only
available to those who downloaded the game before its
deletion from application stores or through a fancreated
website, flappybird.io. This final project aims to
implement this popular and exciting game in hardware.
Previous implementations of this game, such as the
original mobile app or fancreated online version, exist in
software form. As a result, bringing this game into the
hardware realm truly distinguishes our project from
previous implementations of Flappy Bird. In the
preexisting softwareimplemented versions of this game, a
small bird must hop to avoid obstacles in the form of
green pipes that scroll across the screen from right to left.
The user taps the screen or clicks a button to make the
bird jump up, but otherwise the bird is constantly falling.
Due to the counterintuitive control scheme, which
required the user to remain vigilant, constantly monitoring
the bird’s path of movement during the game, Flappy Bird
became renowned for its difficulty and infuriating
controls. Our goal is to implement our own version of the
game on an FPGA (Nexys 4 DDR) and make the game
more interesting and difficult by incorporating a vision-
tracking element that requires the player to jump in order
to control the onscreen bird protagonist. Specifically, the
visiontracking component will look for a bright object
placed over the player’s face (a “beak” in the form of a
paper party hat), and then use the coordinates of this said
object as input for the player coordinates to the game.
Therefore, a large change in the player’s vertical position,
as monitored by the visiontracking component, will
trigger a hop for the player’s onscreen character. By
incorporating this visiontracking specific control screen,
player’s movements will be continually tracked, resulting
in greater emphasis on the player’s attention and
engagement within the the game. Additionally, during
game play, the player’s face will be layered onto the bird
sprite, allowing for a truly personalized experience.
Stretch goals of this project include implementing our
project on two FPGAs connected via serial link to create a
multiplayer experience and dynamic calculations that
allow rotation of the bird sprite during jumps. The ideal
outcome would be to deliver an aesthetically pleasing and
physically engaging game that demonstrates successful
implementation of the game integrated with the vision-
tracking component.
Concepts and principles
1 System Overview The project can be
visualized in four major blocks as shown in
Figure 1: object tracking, gameplay logic, audio,
and video display. Figure 1: The high level
design of the game 2.2 Design Decisions and
Motivation The primary motivation for this
project is to make a well designed and
physically engaging game that emphasizes and
personalizes user experience. Completion of this
project requires full functionality of every
module. As a result, we require that each of the
four critical blocks be independent of the others,
allowing for streamlined parallel development
and comprehensive testing of the modules. For
object tracking purposes, the player is required
to wear a “beak”, a brightly colored party hat
over their nose and mouth, similar to a mask.
The purpose of the physical “beak” is to provide
an object of high contrast that allows us to
easily determine the location of the player’s face
(Figure 2 below). The visiontracking component
will look for a bright object placed over the
player’s face (the “beak”), and then use the
coordinates of this object as input of the player
coordinates to the game. As a result, any large
changes in the vertical coordinates of the player
will be detected as a jump control sequence,
which will cause the onscreen character to
consequently jump within the game. Figure 2:
“Beak” on player face At the highest level, the
project will track the player’s face for vertical
changes during gameplay and output sound
effects (Audio Out) and video graphics (VGA
out) where relevant. Depending on the player’s
vertical movement, the game logic processing
block will change and update the sound and
graphics. The vision/object processing block
takes input from the OV7670 camera and
processes the incoming video stream to
determine the location of the “beak” and then
sends the location coordinates to the game logic
block. The game logic block uses an input
button to start the game, and uses a combination
of physics and saved previous player location
states to determine when to jump. Additionally,
the game logic block handles the location of
new obstacles, and controls the movements of
the bird. If the bird collides with an obstacle, it
ends the game. The game logic then sends
position data of objects, specifically the player
face and obstacle location coordinates, to the
video block, and also tells the audio block what
sound effects to play. The video block takes
input of the player face coordinates to be able to
retrieve the player face sprite from BRAM and
also takes in the object positions to convert them
into image representations. All of this
information is then sent over to VGA to be
displayed. The audio block plays sound effects
based on events determined by the game logic.

Problem Domain
Flappy bird was originally released as a mobile
game where you tap the screen to make the bird
fly. If the bird hits the pipes or the edges of the
screen, the game ends and the player needs to
restart.
In this tutorial, we have made a computer
version of the game where the bird will be
controlled using the up key or the space bar.
We will be using Python language for writing
the code. We will also be using Pygame. which
is a cross-platform set of Python modules
designed for writing video games.

It includes computer graphics and sound


libraries designed to be used with the Python
programming language. Pygame is suitable to
create client-side applications that can be
potentially wrapped in a standalone executable.

Problem Analysis
Dong Nguyen grew up in Vạn Phúc, a village near Hanoi
He discovered video games by playing Super Mario Bros.
as a child and began coding his own at age 16. At 19,
while studying programming at a local university, he won
an internship at Punch Entertainment, one of the few
video game companies in Vietnam. While using the
iPhone, he found that its most popular games such as
Angry Birdswere too complicated, and wanted to make a
simpler game for people who are "always on the move".
Flappy Bird was created and developed by Nguyen in two
to three days. The bird character, Faby, was originally
designed in 2012 for a cancelled platform game.The
gameplay was inspired by the act of bouncing a ping pong
ball against a paddle for as long as possible.Initially the
game was significantly easier than it became in the final
version, however Nguyen said he found this version to be
boring and subsequently tightened up the difficulty.He
described the business plan of a free download with in-
game advertisements as "very common in the Japanese
market".
Nguyen believes that contemporary Western games are
overly complex. His company, describes its games as
"heavily influenced by retro pixelated games in its golden
age. Everything is pure, extremely hard and incredibly fun
to play".
Hardware and Software
Requirement
●Modern Operating System:
o Windows 7 or 10
o Mac OS X 10.11 or higher, 64-bit
o Linux: RHEL 6/7, 64-bit (almost all libraries
also work in Ubuntu)
●x86 64-bit CPU (Intel / AMD architecture)
●4 GB RAM
●5 GB free disk space
Method to build Flappy Bird
game in python

m
Some images of the result:

You might also like