Flappy Bird
Flappy Bird
Lab Report
Submitted by
“MyStrix”
Naeem Sarker-[41220300432]
Fatema Bosri-[41220300335]
Mahdin Islam Mukim-[41220300405]
Kazi Naznin-[41220300442]
Fall2023
1
Letter of Transmittal
Dear Ma'am ,
We are very pleased to present to you our lab report titled ‘Flappy Bird’ as
required by NUB for this course titled “ Software Development 1 (CSE
1290)”. It was indeed a great opportunity for us to work on this project to
actualize our theoretical knowledge into practice. Now we are looking forward
for your kind appraisal of our report.
Finally, we would like to thank you for giving us the opportunity to pursue our
studies on your guidance.
Yours sincerely,
2
Student’s Declaration
We hereby declare that this lab report titled ‘Flappy Bird’ is our original
work. It has never been presented previously or concurrently for any other
purpose, either by us or by any other student. We also declare that there is
no plagiarism or data falsification and materials used in this report from
various sources have been duly cited.
3
Abstract
This project aims to develop a web-based Flappy Bird game using HTML,
CSS, and JavaScript. The game will recreate the classic mobile game
experience, allowing players to control a bird character through a side-
scrolling environment, avoiding obstacles and accumulating points. The
project will emphasize engaging gameplay, user-friendly controls, and a
responsive design adaptable to various screen sizes.
4
Acknowledgments
The successful completion of this Flappy Bird game project would not
have been possible without the invaluable support and contributions of
numerous individuals and resources. We extend our sincere gratitude to
our project mentor, [project mentor's name], for providing unwavering
guidance, encouragement, and constructive feedback throughout the
entire development process. Their expertise and insights were
instrumental in shaping the project and ensuring its success. We also
acknowledge the dedication of our project team members, [team
members' names], who played a crucial role in every aspect of the
project, from brainstorming ideas to implementing game mechanics and
refining the user interface. Their teamwork, collaboration, and
willingness to go the extra mile were instrumental in bringing the
project to life. Additionally, we express our gratitude to the abundance
of online resources, tutorials, and open-source libraries that provided
valuable guidance and inspiration during the project's development.
These resources helped us navigate technical challenges, explore
creative solutions, and stay up-to-date with the latest web development
trends. Furthermore, we recognize the contributions of the vibrant open-
source community for developing and sharing the tools and technologies that
made this project possible. The availability of these tools and the
contributions of countless developers enabled us to focus on the creative
aspects of the game and bring our vision to fruition. We extend our thanks
to everyone who has provided support, encouragement, and feedback
throughout the project's development. Your contributions have made a
significant impact on the success of this project.
5
Table of Contents
Letter of Transmittal…………………………………………………………………………..2
Student’s Declaration …………………………………………………………………………3
Abstract………………………………………………………………………………………..4
Acknowledgments ……………………………………………………………………………5
Chapter1:Project Overview ………………………………………………………………...…9
1.1 Introduction ...………………..
…………………………………………………………...10
1.2 Project Overview………………….……………….……...……………………………...10
1.3 Objectives ………………………………………………………………………………..10
1.4 Concept ...………………………………………………………………………………...11
1.5 Technical Stack .……………….…………………………………………………….
…...11
1.6 Technical Feasibility .……………………………….……………………………………
11
Chapter2: Requirement Engineering ……………………………………….…….………….12
2.1 Requirements Engineering ……….……………………………………………….
……...13
2.2 Functional Requirements .……………..……………………………………….………...13
2.3 User Requirements .…………….…………………...……………………………………
13
2.4 Non-Functional Requirements …………….
……………………………………………..14
Chapter3:System Planning………………………………….………………………..………15
3.1 Project Scheduling Chart ...……………..….…………………………………………….16
Chapter4:Designing .……………….………………………………………………………...17
Chapter 5: Conclusion ………………………………………………..……………………...20
5.1 Conclusion ………….………...………………………..………………………………..21
References ………….………………………………………………..……………………...22
6
Table of Figures
7
List of Tables
8
Chapter 1: Project Overview
9
1.1 Introduction
Flappy Bird is a classic mobile game that has captivated players worldwide with its
simple yet addictive gameplay. In this project, we aim to recreate the Flappy Bird
experience by developing a web-based version of the game using HTML, CSS, and
JavaScript.
The goal of this project is to create a functional and engaging Flappy Bird game that can
be played on web browsers. The game should replicate the core mechanics of the original
Flappy Bird, including:
● Scoring System: Points are awarded for each pair of pipes successfully passed.
The goal is to accumulate as many points as possible before encountering an
obstacle.
1.3 Objectives
● Faithfully recreate the classic Flappy Bird experience in the web browser.
10
● Utilize modern web technologies and showcase coding skills.
● Implement subtle gameplay variations and unique features.
● Ensure smooth performance across devices and browsers.
1.4 Concept
It founds that our project Flappy Bird is technically feasible. Here Hardware
and software feasibility is given below.
11
Printer Visual Studio Code
CPU
Hard disk
RAM
Keyboard
Mouse
12
2.1 Requirements Engineering
Flappy Bird is a popular mobile game where players guide a bird through a
series of obstacles without hitting them. The game is simple but addictive,
and it has been downloaded millions of times.
This document outlines the requirements for a web version of Flappy Bird.
The web version should be as close to the original mobile game as possible,
but it should also take advantage of the capabilities of the web platform.
The web version of Flappy Bird should have the following functional
requirements:
● The game should have the same gameplay as the original mobile
game.
● The game should have different levels of difficulty.
13
● The game should have a menu screen where players can start a new
The following use cases describe how users will interact with the web
version of Flappy Bird:
● The user can choose to play again or return to the menu screen.
The web version of Flappy Bird should have the following non-functional
requirements:
14
● The game should be compatible with all major web browsers.
● The game should be responsive and should look good on all devices.
● The game should be addictive and should keep players coming back
for more.
15
3.1 Project Scheduling Chart
Time Week
16
Chapter 4: Designing
17
Figure 4.1 Home page
18
Figure 4.2 Starting
19
Figure 4.4 Game over
Chapter 5: Conclusion
20
5.1 Conclusion
The web version of Flappy Bird is a fun and challenging game that can
be enjoyed by people of all ages. By following the requirements
outlined in this document, developers can create a high-quality web
game that is faithful to the original mobile game.
21
References
Chen, K., 2015. Deep reinforcement learning for flappy bird. CS 229 Machine-Learning
Final Projects.
Sahin, A., Atici, E. and Kumbasar, T., 2016, July. Type-2 fuzzified flappy bird control
system. In 2016 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE) (pp. 1578-
1583). IEEE.
Vu, T. and Tran, L., 2020. FlapAI bird: training an agent to play flappy bird using
reinforcement learning techniques. arXiv preprint arXiv:2003.09579.
22