0% found this document useful (0 votes)
12 views10 pages

SDD Nomi

The document is a Software Design Description (SDD) for the 2D mobile game Flappy Bird, developed using Unity and C#. It outlines the design methodology, system overview, architectural design, and key features of the game, including its scoring mechanism and user interface. The document also includes design models, data design, and a software requirements traceability matrix.

Uploaded by

zaryabkhan227700
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)
12 views10 pages

SDD Nomi

The document is a Software Design Description (SDD) for the 2D mobile game Flappy Bird, developed using Unity and C#. It outlines the design methodology, system overview, architectural design, and key features of the game, including its scoring mechanism and user interface. The document also includes design models, data design, and a software requirements traceability matrix.

Uploaded by

zaryabkhan227700
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/ 10

The Islamia University of Bahawalpur

Department of Computer Science

SOFTWARE DESIGN DESCRIPTION


(SDD DOCUMENT)

for

Flappy Bird
Version 1.0

By
Numan Sohail
S22BDOCS1M01015
Session Spring/ 2022 – 2026

Supervisor
Dr. Syeda Maria Gillani

Bachelor of Science in Computer Science


Table of Contents
Version 1.0..................................................................................................................................................................37
Introduction...........................................................................................................................................................................1
Design methodology and software process model................................................................................................................1
System overview...................................................................................................................................................................1
Architectural design......................................................................................................................................................1
Process flow/Representation.........................................................................................................................................2
Design models.......................................................................................................................................................................2
Data design............................................................................................................................................................................3
Algorithm & Implementation................................................................................................................................................4
Software requirements traceability matrix............................................................................................................................4
Human interface design.........................................................................................................................................................5
Screen images........................................................................................................................................................5
Screen objects and actions....................................................................................................................................5
Appendix I............................................................................................................................................................................. 5
Revision History
Name Date Reason for changes Version
Application Evaluation History

Comments (by committee) Action Taken


*include the ones given at scope time both in doc
and presentation

Supervised by
Dr. Syeda Maria Gillani

Signature
Introduction
This project is a 2D mobile game named Flappy Bird, developed using Unity and C#. It repli-
cates the classic gameplay of navigating a bird through a series of pipes using simple tap con-
trols. The game includes dynamic obstacle generation, real-time scoring, and interactive UI el-
ements like pause, game over, and leaderboard screens..
Design methodology and software process model
Design Methodology:
Object-Oriented Programming (OOP) is utilized to ensure modular, scalable
design via encapsulated game entities such as Bird, Obstacle,
GameManager, and UIManager.

Process Model:
The Incremental Process Model is used to iteratively build game
components like physics, UI, and scoring. This supports better testing, user
feedback incorporation, and feature expansion.

System overview
The game runs on Android and simulates a bird flying through moving pipes. Each successful
pass increments the score. Collision results in game over. The app contains:

Core Features:
• Tap-to-fly mechanic
• Obstacle generation
• Real-time scoring
• Pause & Game Over screens
• Sound effects and animations

Architectural design

A component-based architecture is adopted. Key layers:


• UI Layer: Unity Canvas components, buttons, and panels
• Logic Layer: Handles game state, scoring, and input
• Physics Layer: Unity Rigid body 2D and colliders
• Data Layer (Future): Firebase for leaderboard
+------------------+
| UIManager |
+------------------+

+------------------+
| GameController |
+------------------+

+------------------+
| Bird, Pipes |
+------------------+

Process flow/Representation

Activity Diagrams:
• Start Game
• Tap Input
• Collision Detection
• Scoring
• View Leaderboard (future)
.

Design models

Class Diagram:
• Classes: Bird, Obstacle, GameManager, ScoreManager, UIManager
Sequence Diagram:
• Player taps → Bird Flaps → Collides with Obstacle → Game Over
State Transition Diagram:
• Game States: Idle → Playing → Paused → Game Over

DFD (Context Level):


• Inputs: Tap
• Processes: Update Position, Check Collision, Update Score
• Outputs: Display Score/Game Over

Data design
While the game is mainly event-driven, future versions may use Firebase. Basic local data stor-
age includes:
Typ
Variable Description
e
score int Player's current score
highScore int Highest score stored locally
isDead bool True if bird has collided
birdY float Bird's vertical position

Data Dictionary
Entity Type Description
userId String Unique ID for user
email String User email
Unique brand
brandId String
identifier
productId String Product record ID
orderId String Order record ID
Order status (e.g.
status String
pending, shipped)
Marks featured
featured Boolean
brands/products
Timestam Date of entry
createdAt
p creation
Algorithm & Implementation
Tap Input Handling:
if (Input.GetMouseButtonDown(0)) {
birdRigidbody.velocity = Vector2.up * flapForce;
}
Collision Detection:
void OnCollisionEnter2D(Collision2D collision) {
GameOver();
}

Scoring Mechanism:
void OnTriggerEnter2D(Collider2D col) {
if (col.CompareTag("ScoreZone")) {
score++;
UpdateUI();
}
}

Software requirements traceability matrix


Req. Design Component
Ref Item
No Component Items
FR-01 Tap to Fly InputHandler FlapBird()
Obstacle ObstacleMana
FR-02 GeneratePipes()
Generation ger
FR-03 Scoring ScoreManager IncrementScore()
TriggerGameOve
FR-04 Game Over GameManager
r()
Start/Pause/
FR-05 UI Screens UIManager
GameOver
Human interface design
Main Screens:
• Start Screen: Tap to start
• Gameplay Screen: Score and tap-based control
• Game Over Screen: Score display and restart option
• Future: Leaderboard, Skin selection
Interactive Elements:
• Tap for control
• Buttons for Restart, Quit
• Floating score counter

Screen images

Screen objects and actions


A discussion of screen objects and actions associated with those objects

Appendix I
UML Resources:
• Agile Modeling UML Artifacts
• Unity Documentation for Game Design Patterns
DFD & ER References:
• Software Engineering by Roger Pressman

• Game Development Patterns (Unity)

You might also like