[go: up one dir, main page]

0% found this document useful (0 votes)
400 views8 pages

Flappy Bird: Team Name: The Brainy Fools

Download as pdf or txt
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 8

FLAPPY BIRD

Team Name: The Brainy Fools

Course Title: Software project lab1


Course Code: SE 2112

Project Supervisor Team Members

Falguni Roy 1. Md Al-Adnan (ASH1825008M)

Lecturer 2. Moonmoon Das (BKH1825027F)

IIT, NSTU 3. Akash Debnath (ASH1825037M)

Submission Date: 09 May, 2019


Introduction
Our software project is Flappy Bird. It’s a game application. The game was designed and built
by Dong Nguyen, a developer who lives in Vietnam. Flappy bird is a side-scroller game where
the player controls a bird, attempting to fly between columns of green pipes. The bird will be
flying until it collisions with a pipe or it fall on ground. It’s a simple game of infinite level type.
It’s a challenging game for all.

Software Project Description


Story

We choose game for our first software project. Actually game is entertaining for anybody and in
leisure time we can spend our time nicely by playing game. The flappy bird game implemented
for only desktop.

Requirements

A requirement is a singular documented physical or functional need that a particular design,


product or process aims to safety. It can be divided into functional requirements and non-
functional requirements.

Functional – 2D animation, objectives selection, moving wall, collision detection, moving


background etc.

Non-functional – We can keep the bird playing by pressing mouse and move it in the space of
pipes.

2D Animation

Animation is a complex subject in game programming. Animation is rapid display of sequence


of images which creates an illusion of movement. Java games are expected to run on multiple
operating systems with different hardware specifications. Threads give the most accurate timing
solutions.

Objective Selection

We create a bird object which is flying until any collision occurred and the bird is flying in the
wall objectives which are begin from top and bottom of the screen.

Moving Wall

The wall moving on and it will come randomly in size and distances. The bird is flying in the
middle of the wall.

1
Collision Detection

When the bird touch the anywhere of a wall it cause a collision. Collision detection is one of
important task of the game. If the bird touch any wall (pipes) the game will end.

Moving Background

The picture used as background image is moving on analogously. We used two same image
which are coming one after another regularly.

Score Counting

Score counting is the interesting for user. By the score the player knows his/her performance. If
the bird cross a pipe without collision or not fall in ground his/her score increment one.

Proposed Process Model


A software process model is a simplified representation of a software process.
Each model represents a process from a specific perspective.

Types of model:

1. The Incremental Development Model.


2. The spiral model.
3. Evolutionary model.
4. The phases of iterative development.
5. The principles of agile methods.
6. The Waterfall Model.

We used evolutionary model in our project. In this way, we accomplish work in a iterative way.

Evolutionary Model

Evolutionary model is a combination of iterative and incremental approach to


software development. The Evolutionary development model divides the development cycle into
smaller, incremental waterfall models in which users are able to get access to the product at the
end of each cycle. Waterfall project management is a sequential, linear process of project
management. It consists of several discrete phases. No phase begins until the prior phase is
complete, and each phase's completion is terminal waterfall management does not allow you to
return to a previous phase. We use this process model.

2
Figure 1: Evolutionary Process Model

Project Team
Team Name: The Brainy Fools

Members: Al Adnan Sami (ASH1825008M)

Moonmoon Das (BKH1825027F)

Akash Chandra Deb Nath (ASH1825037M)

Proposed Timeline and Actual Timeline


Proposed timeline is the timeline which are made by guess in a time bound and actual timeline
means the work history which is make after completed work.

Table 01: Proposed Timeline Table

Task Deadline

Proposal Within 3rd week of January

Requirement Analysis, Specification Within 20th January

Designing, Study Within 3rd March

Coding Within 1st April

Final Testing Within 8 May

3
Table 02: Actual Timeline Table

Task Deadline

Proposal Within 3rd week of January

Requirement Analysis, Specification Within 20th January

Designing, Study Within 3rd March

Coding Within 1st April

Final Testing Within 8 May

Requirements Traceability Matrix


A Traceability Matrix is a document that co-relates any two-baseline documents that require a
many-to-many relationship to check the completeness of the relationship.

Req1 = 2D Animation

Req2 = Objectives Selection

Req3 = Moving wall

Req4 = Collision Detection

Req5 = Moving Background

Req6 = Score Counting

Table 03: Requirement Traceability Table

Requirement Req1 Req2 Req3 Req4 Req5 Req6


Test Case
Test Case 1
Test Case 2 ✔
Test Case 3 ✔ ✔
Test Case 4 ✔ ✔
Test Case 5 ✔ ✔ ✔ ✔
Test Case 6 ✔ ✔ ✔ ✔ ✔ ✔

4
Tools
Language: JAVA

IDE: An IDE (Integrated Development Environment) contains a code editor, a compiler or


interpreter, and a debugger, accessed through a single graphical user interchange (GUI). Our IDE
is Eclipse.

Future Direction
We will add more feature to the game and will change the bird and background scenery
according to user choice. The status and the history will be saved and we show a graph where
user can see his total performance whether it increasing or decreasing.

Software Project Metrics


Code Level

LOC - Line of code in the whole project. The Total number of code lines in whole project.

NCLOC - Non-comment line of code. The line which are not commented and this code
accomplish our objective.

CLOC - Comment line of code. The line of code which are not working to calculate output.

Density of Comments - It means the number of comment line proportion to average code.

Average LOC in a Class - The average number of line of code in each class.

Table 04: Code Level Table

LOC 970

NCLOC 778
CLOC 192
Average LOC 88
Density of Comments 19.8%

Design Level

Package: Package in Java is a mechanism to encapsulate a group of classes, sub packages and
interfaces.

5
Class: A class, in the context of Java are templates that are used to create objects, and to define
object data types and methods.

Package Name: flappyBird

Classes:

1. HomePage
2. MenuPanel
3. GamePanel
4. GameFrame
5. MainBird
6. BirdImage
7. WallImage
8. About
9. Help
10. MenuPage
11. Settings
• Static Variable Percentage : 1.022%
• Methods per class: 7

Collaboration
LOC addition and deletion

Figure 2: Total Collaboration

6
Figure 3: Collaboration of Al Adnan Sami Figure 4: Collaboration of Moonmoon Das

Figure 5: Collaboration of Akash Deb Nath

Software Project Deliverables


1. PowerPoint Microsoft Open XML
2. Project report
3. Softcopy user manual
4. Source Code

Summary
We choice the project to gain proper knowledge to make desktop application. It increased our
knowledge for Object Oriented Language (JAVA).Getting experience java GUI. The another
important issue is, it’s a game application and it will be recreation for all.

Reference

1. https://www.wikipedia.org/flappybirds[Accessed at Jan 17, 2019]


2. https://mashable.com/2014/02/10/flappy-bird-story/[Accessed at Jan 24, 2019]
3. https://www.wired.com/2014/02/flappy-bird/[Accesed at Feb 09, 2019]
4. http://frivetenskapligpublicering.blogspot.se/[Accessed at Feb 23, 2019]

You might also like