Flappy Bird
I. Background
According to the global media company, Forbes, video games has attained new
heights during the pandemic. There was an influx of people in their sixties searching for
games in their platform among teenagers. Its popularity dispels the stereotypes and
misinformation surrounding video games which in return, making the gaming community
bigger. It also created a boost for game developers, especially those that are within the
indie sphere.
II. Introduction
Casual is one of the most popular genre in video games. Its simplicity and easy
to follow rules welcomes all types of players. Flappy Bird was one of the most popular
game in mobile phones in 2013 with 90 million downloads on google and apple
playstore. It is a game that features a yellow bird that flies through the screen with green
pipes as obstacles. The player must tap their screen to keep the bird flying help it pass
through the pipes. Failure to do so leads to game over.
In this study, we aimed to research and dissect the game mechanics of Flappy
Bird and recreate the game through the use of java. And to relate it to the lessons that
has been discussed in bject oriented programming.
III. Objectives
1. Create sprites and objects using the paint method.
2. Create movement with the player sprite, obstacles and background.
3. Apply the concept of OOP.
IV. Description
The game is set in a 1000 x 650 frame with a blue background. The player is
represented by a yellow sprite. The green columns is set as the obstacle, which the
player has to avoid once the game starts. The score is updated every time the player
successfully passes a column. If the player collides with the column, it will lead to game
over and the final score will be shown in the screen.
V. Mechanics
Fly. The yellow sprite moves by clicking any mouse button or by pressing the space bar
on the keyboard.
Evade. The player must avoid the columns as the fly to the screen.
Figure 1
Figure 1 shows the player sprite “mid-air” as it avoid the green columns. The score is placed on
the top left of the screen and updates whenever the sprite passes the screen.
Figure 2
Figure 2 shows the game over screen if the player sprite collided with the columns. Their total
score is shown at the bottom of the screen.
VI. Conclusion
In consideration with the objectives of the study, the following conclusions were
derived:
1. The renderer class and repaint method was successfully used to create the player
sprite, the background and the columns or pipes.
2. The movement of the columns were achieved by putting them in an array and creating
formula whereas their x position gets reduce overtime. The player sprite’s movement on
the other hand, is done by creating gravity by incrementing its y position when it’s idle,
and decrease it’s y position when the jump method is called.
3. The concepts of object oriented programming was applied to the creation of flappy
bird, timer, random, renderer and rectangle objects. It is also applied through abstraction
with the use of action listener, key listener and mouse listener.