SlideShare a Scribd company logo
SOFTWARE ENGINEERING PROJECT
Dr. Nadeem Ahsan FALL SEMESTER
SOFTWARE ENGINEERING PROJECT
Group Members
• Imran Zabih (Designer,Developer,Leader)
• Zain ul Abiden (Bug Tracker)
• Isfand yar (VC and Analyzer)
• Hamza Karim (Black Box Tester)
• Hasan Waheed (Documentation)
AGENDA
• Project objective
• The project’s complete description
• Software design model
• Software pattern
• Tools
• Summary
PROJECT OBJECTIVE
A crossed platform adventure loop
game
The PROJECT’S COMPLETE DESCRIPTION
• Game logic
• Game components
• Game features
• Functional Requirements
• Non Functional Requirements
• Architecture
• Use Case
• DFD
• Sequence Diagram
GAME LOGIC
• A running loop game of some provided distance in a given
time period including the hurdles and bonus based objects.
• After the initialization of the game the player will get the
timer of 20 seconds by default.During the timer the player
will get full freedom to boost its health in the form owning
energy.
• During the default timer the energy based object will result
in increment of few seconds and at the same time hurdle
based objects decrease few seconds of the time.
• As soon as the remaning time reaches zero the game will
over if the player couldn’t able to reach the desination.
• It is possible to change the models, environment, player
and difficulty level(Further amendment).
GAME FEATURES
• Timers
• Bonus
• Jumping
• Hurdles
• Energy Boosters
• Speed variations
• 3d Enivornement
• Scores
• Third person view
• Role playing game
• Options
• Main Menu
• Sound effects
• Game Levels and different environment
Game Components
• Play Area/Play ground
• Objects
• Characters
• Environment
• Instant bonus objects
Models Used
Functional components
• Score
• Player
• Timer
• Player jumping and ducking
• Pause Menu
• Menus
Non-Functional
• PERFORMANCE REQUIREMENTS
• SAFETY REQUIREMENTS
• SECURITY REQUIREMENTS
• SOFTWARE QUALITY ATTRIBUTES
ARCHITECTURE
Player
Game Logic
Avoid hurdle
object
Collecting
energy(object)
Start Game
End Game
Use Case Diagram
Play game
Pause game
Exit
Score
Sequence Diagram
Player
Initial time 2 sec
Energy
Increment Time
Decrease Time
Hurdle
IF it collide max time
Game over
Data Flow Diagram
Manage Requirements !!!!!
• The vision should be a very concise and informative
description of the essentials of the game
 What is the game about
 What the play does most of the time
 Why is the player doing this
 What is the surrounding environment
 What feelings should the game evoke
• Much like a company’s vision, the project vision is
something that everyone in the team can digest quickly
• If you don’t have a concise, clear vision, the game is too
• undefined and is too risky
SOFTWARE MODEL
• The challenging things regarding development of a
games are the approach of model to decide.
• Currently in the development of games the
developers have moved to adapt contemporary
models.
• The favorite software models for game developers
nowadays are waterfall,sequential,evolutionary and
incremental.
• Therefore, you can’t quite treat it like other
engineering disciplines.
REFERENCE: LASSE JUEL LARSEN, & GUNVER MAJGAAD University of Southern Denmark, Odense, Denmark
SOFTWARE MODEL(Contd)
• The model for our product is a combination of the
waterfall and the iterative software development
strategy.
• Thus,the overall project would be the mixture of two
models.
• We have good idea about what the system should
look like; and what we are going to implement.
SOFTWARE MODEL(Contd)
WHY DUAL MODEL APPROACH USED?
• The implementation of the process divided into sub
modules.
• The smaller segments for design,implementation and
testing.
• Allowing better planning of the time used on
implementating.
• Work like a team to achieve the target.
• “A drop makes an ocean”.
SOFTWARE DESIGN PATTERN
“A general reusable solution to a commonly occurring
problem within a given context in software design.”
• Design patterns represent the best practices used by
experienced software developers.
• Design patterns are solutions to general problems that
software developers faced during software development.
• These solutions were obtained by trial and error by
numerous software developers over quite a substantial
period of time.
REFERENCE: http://www.tutorialspoint.com/design_pattern/
SOFTWARE DESIGN PATTERN(Contd)
• For the game development they are 3 pattern can
used which are at some similar, namely :
 Prototype pattern
 Singleton pattern
 Strategy pattern
• After tremodous amount of research drastically we
have chosen singleton design pattern which is
compatible with our scenario for development
strategy.
• Games are a special area of software engineering,but
despite its special nature, it can still apply many of
the lessons of software engineering.
SOFTWARE DESIGN PATTERN(Contd)
• Singleton pattern lies on top of creational pattern.
• It restrict instantiation of a class to one object.
• Problem : Application needs one, and only one,
instance of an object.
• Many runtime game uses this pattern because of the
restriction it contains.
SOFTWARE DESIGN PATTERN(Contd)
WHY SINGLETON Pattern ?
• In our scenario we have made a main class where all the
subclasses are inherited.
• As soon as the invoke of the constructer of the base class
all the method of the subclasses would invoke(OOP
concepts).
• We woud smartly make use the singeleton pattern and
• The main activity of our game is the initialization of the
game environment followed by number of other features
sequentially and parallelly.
SOFTWARE DESIGN PATTERN(Contd)
ALTERNATIVE APPROACH:
As mentioned earlier about patterns which match the game
developement,we could also move to prototype/strategy
pattern.
• Strategy design pattern is used to effectively extend the game
with new features with diverse behaviors.
• Also, different behaviors can be dynamically invoked using
this approach.
• Prototype design pattern can be another excellent
alternatives to keep the flow linear and effective, but it would
be costly as well.
TOOLS & PLATFORM
• DEVELOPEMENT TOOL : UNITY 3D
• Version Controlling TOOL : GitHub
• BUG TRACKING SYSTEM : Bugzilla
• GRAPHICAL DESIGN :
 ADOBE PHOTOSHOP
 ADOBE ILLUSTRATOR
VERSION CONTROL PROCEDURES
The following guidelines followed while using Github
• Performed updates before committing any changes.
• Only commit working code.
SUMMARY
• The scope of the game is wide and loud.
• A cross platform game.
• User friendly and good GUI
• Developing using the Software engineering principles
in mind.
• In the future we would put it on the GOOGLE
PLAYSTORE.
• Plans for the future is to further enhance the game.
• Polish our game programming skills.

More Related Content

What's hot

Car racing game for android
Car racing game for androidCar racing game for android
Car racing game for android
ravijot singh
 
Mobile Game Development in Unity
Mobile Game Development in UnityMobile Game Development in Unity
Mobile Game Development in Unity
Hakan Saglam
 
Phases of game development
Phases of game developmentPhases of game development
Phases of game development
Victor Terekhovskyi
 
Project presentation FPS
Project presentation FPSProject presentation FPS
Project presentation FPS
Shubham Rajput
 
FPS GAME FYP Documentation
FPS GAME FYP DocumentationFPS GAME FYP Documentation
FPS GAME FYP Documentation
Danial Ahmed
 
Game Development Step by Step
Game Development Step by StepGame Development Step by Step
Game Development Step by Step
Bayu Sembada
 
Game dev process
Game dev processGame dev process
Game dev process
Yassine Arif
 
Final project report of a game
Final project report of a gameFinal project report of a game
Final project report of a game
Nadia Nahar
 
Gaming Documentation final
Gaming Documentation finalGaming Documentation final
Gaming Documentation final
MemesTech
 
Game development life cycle
Game development life cycleGame development life cycle
Game development life cycle
Sarah Alazab
 
Street runner final
Street runner finalStreet runner final
Street runner final
Kumar Narayan
 
Final Year Game Project Report - Riko: The Aventurer
 Final Year Game Project Report - Riko: The Aventurer  Final Year Game Project Report - Riko: The Aventurer
Final Year Game Project Report - Riko: The Aventurer
Nusrat Jahan Shanta
 
Introduction to Game Development
Introduction to Game DevelopmentIntroduction to Game Development
Introduction to Game Development
Reggie Niccolo Santos
 
Introduction to Game Development
Introduction to Game DevelopmentIntroduction to Game Development
Introduction to Game Development
Sumit Jain
 
06. Game Architecture
06. Game Architecture06. Game Architecture
06. Game Architecture
Amin Babadi
 
Zombi - Shoot for Survive
Zombi - Shoot for SurviveZombi - Shoot for Survive
Zombi - Shoot for Survive
Divy Singh Rathore
 
An Introduction To Game development
An Introduction To Game developmentAn Introduction To Game development
An Introduction To Game development
Ahmed
 
The complete srs documentation of our developed game.
The complete srs documentation of our developed game. The complete srs documentation of our developed game.
The complete srs documentation of our developed game.
Isfand yar Khan
 
Game development
Game developmentGame development
Game development
RareCoders
 
Introduction to Game Development
Introduction to Game DevelopmentIntroduction to Game Development
Introduction to Game Development
Shaan Alam
 

What's hot (20)

Car racing game for android
Car racing game for androidCar racing game for android
Car racing game for android
 
Mobile Game Development in Unity
Mobile Game Development in UnityMobile Game Development in Unity
Mobile Game Development in Unity
 
Phases of game development
Phases of game developmentPhases of game development
Phases of game development
 
Project presentation FPS
Project presentation FPSProject presentation FPS
Project presentation FPS
 
FPS GAME FYP Documentation
FPS GAME FYP DocumentationFPS GAME FYP Documentation
FPS GAME FYP Documentation
 
Game Development Step by Step
Game Development Step by StepGame Development Step by Step
Game Development Step by Step
 
Game dev process
Game dev processGame dev process
Game dev process
 
Final project report of a game
Final project report of a gameFinal project report of a game
Final project report of a game
 
Gaming Documentation final
Gaming Documentation finalGaming Documentation final
Gaming Documentation final
 
Game development life cycle
Game development life cycleGame development life cycle
Game development life cycle
 
Street runner final
Street runner finalStreet runner final
Street runner final
 
Final Year Game Project Report - Riko: The Aventurer
 Final Year Game Project Report - Riko: The Aventurer  Final Year Game Project Report - Riko: The Aventurer
Final Year Game Project Report - Riko: The Aventurer
 
Introduction to Game Development
Introduction to Game DevelopmentIntroduction to Game Development
Introduction to Game Development
 
Introduction to Game Development
Introduction to Game DevelopmentIntroduction to Game Development
Introduction to Game Development
 
06. Game Architecture
06. Game Architecture06. Game Architecture
06. Game Architecture
 
Zombi - Shoot for Survive
Zombi - Shoot for SurviveZombi - Shoot for Survive
Zombi - Shoot for Survive
 
An Introduction To Game development
An Introduction To Game developmentAn Introduction To Game development
An Introduction To Game development
 
The complete srs documentation of our developed game.
The complete srs documentation of our developed game. The complete srs documentation of our developed game.
The complete srs documentation of our developed game.
 
Game development
Game developmentGame development
Game development
 
Introduction to Game Development
Introduction to Game DevelopmentIntroduction to Game Development
Introduction to Game Development
 

Viewers also liked

Performance and Memory Management improvement applying Design Patterns at Unity.
Performance and Memory Management improvement applying Design Patterns at Unity.Performance and Memory Management improvement applying Design Patterns at Unity.
Performance and Memory Management improvement applying Design Patterns at Unity.
Lucy Gomez
 
3 d password
3 d password3 d password
3 d password
ASHOK KUMAR PALAKI
 
Тарас Леськів “Game Programming Patterns and Unity”
Тарас Леськів “Game Programming Patterns and Unity”Тарас Леськів “Game Programming Patterns and Unity”
Тарас Леськів “Game Programming Patterns and Unity”
Lviv Startup Club
 
EA: Optimization of mobile Unity application
EA: Optimization of mobile Unity applicationEA: Optimization of mobile Unity application
EA: Optimization of mobile Unity application
DevGAMM Conference
 
Unity Internals: Memory and Performance
Unity Internals: Memory and PerformanceUnity Internals: Memory and Performance
Unity Internals: Memory and Performance
DevGAMM Conference
 
Dfd examples
Dfd examplesDfd examples
Dfd examples
Mohit
 

Viewers also liked (6)

Performance and Memory Management improvement applying Design Patterns at Unity.
Performance and Memory Management improvement applying Design Patterns at Unity.Performance and Memory Management improvement applying Design Patterns at Unity.
Performance and Memory Management improvement applying Design Patterns at Unity.
 
3 d password
3 d password3 d password
3 d password
 
Тарас Леськів “Game Programming Patterns and Unity”
Тарас Леськів “Game Programming Patterns and Unity”Тарас Леськів “Game Programming Patterns and Unity”
Тарас Леськів “Game Programming Patterns and Unity”
 
EA: Optimization of mobile Unity application
EA: Optimization of mobile Unity applicationEA: Optimization of mobile Unity application
EA: Optimization of mobile Unity application
 
Unity Internals: Memory and Performance
Unity Internals: Memory and PerformanceUnity Internals: Memory and Performance
Unity Internals: Memory and Performance
 
Dfd examples
Dfd examplesDfd examples
Dfd examples
 

Similar to Software Engineer- A unity 3d Game

GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...
GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...
GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...
Gerke Max Preussner
 
Шлигін Олександр “Розробка ігор в Unity загальні помилки” GameDev Conference ...
Шлигін Олександр “Розробка ігор в Unity загальні помилки” GameDev Conference ...Шлигін Олександр “Розробка ігор в Unity загальні помилки” GameDev Conference ...
Шлигін Олександр “Розробка ігор в Unity загальні помилки” GameDev Conference ...
Lviv Startup Club
 
Unity 3D VS your team
Unity 3D VS your teamUnity 3D VS your team
Unity 3D VS your team
Christoph Becher
 
Maximize Your Production Effort (English)
Maximize Your Production Effort (English)Maximize Your Production Effort (English)
Maximize Your Production Effort (English)
slantsixgames
 
Making A Game Engine Is Easier Than You Think
Making A Game Engine Is Easier Than You ThinkMaking A Game Engine Is Easier Than You Think
Making A Game Engine Is Easier Than You Think
Gorm Lai
 
Procedural Processes - Lessons Learnt from Automated Content Generation in "E...
Procedural Processes - Lessons Learnt from Automated Content Generation in "E...Procedural Processes - Lessons Learnt from Automated Content Generation in "E...
Procedural Processes - Lessons Learnt from Automated Content Generation in "E...
Luke Dicken
 
Unit 13 Pecha Kucha
Unit 13 Pecha KuchaUnit 13 Pecha Kucha
Unit 13 Pecha Kucha
Peter McCarthy
 
From Web to Mobile with Stage 3D
From Web to Mobile with Stage 3DFrom Web to Mobile with Stage 3D
From Web to Mobile with Stage 3D
Jean-Philippe Doiron
 
East Coast DevCon 2014: Game Programming in UE4 - Game Framework & Sample Pro...
East Coast DevCon 2014: Game Programming in UE4 - Game Framework & Sample Pro...East Coast DevCon 2014: Game Programming in UE4 - Game Framework & Sample Pro...
East Coast DevCon 2014: Game Programming in UE4 - Game Framework & Sample Pro...
Gerke Max Preussner
 
"How To Race Squirrels" at Develop Conference in Brighton, 21st July 2011
"How To Race Squirrels" at Develop Conference in Brighton, 21st July 2011"How To Race Squirrels" at Develop Conference in Brighton, 21st July 2011
"How To Race Squirrels" at Develop Conference in Brighton, 21st July 2011
Playniac
 
Creating great Unity games for Windows 10 - Part 1
Creating great Unity games for Windows 10 - Part 1Creating great Unity games for Windows 10 - Part 1
Creating great Unity games for Windows 10 - Part 1
Jiri Danihelka
 
Climberreport
ClimberreportClimberreport
Climberreport
LuckyTolani1
 
Unreal Engine Basics 01 - Game Framework
Unreal Engine Basics 01 - Game FrameworkUnreal Engine Basics 01 - Game Framework
Unreal Engine Basics 01 - Game Framework
Nick Pruehs
 
Beyond agile - Pitfalls & misconceptions when working with SCRUM & Co | Ralf ...
Beyond agile - Pitfalls & misconceptions when working with SCRUM & Co | Ralf ...Beyond agile - Pitfalls & misconceptions when working with SCRUM & Co | Ralf ...
Beyond agile - Pitfalls & misconceptions when working with SCRUM & Co | Ralf ...
Ralf C. Adam
 
Mallory game developmentpipeline
Mallory game developmentpipelineMallory game developmentpipeline
Mallory game developmentpipeline
KarynNarramore
 
West Coast DevCon 2014: Game Programming in UE4 - Game Framework & Sample Pro...
West Coast DevCon 2014: Game Programming in UE4 - Game Framework & Sample Pro...West Coast DevCon 2014: Game Programming in UE4 - Game Framework & Sample Pro...
West Coast DevCon 2014: Game Programming in UE4 - Game Framework & Sample Pro...
Gerke Max Preussner
 
Hybrid Game Development with GameSalad
Hybrid Game Development with GameSaladHybrid Game Development with GameSalad
Hybrid Game Development with GameSalad
mirahman
 
Project presentation
Project presentationProject presentation
Project presentation
Harsh Sharma
 
Game Modding Lecture 2
Game Modding Lecture 2Game Modding Lecture 2
Game Modding Lecture 2
Charles Palmer
 
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
gamifi.cc
 

Similar to Software Engineer- A unity 3d Game (20)

GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...
GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...
GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...
 
Шлигін Олександр “Розробка ігор в Unity загальні помилки” GameDev Conference ...
Шлигін Олександр “Розробка ігор в Unity загальні помилки” GameDev Conference ...Шлигін Олександр “Розробка ігор в Unity загальні помилки” GameDev Conference ...
Шлигін Олександр “Розробка ігор в Unity загальні помилки” GameDev Conference ...
 
Unity 3D VS your team
Unity 3D VS your teamUnity 3D VS your team
Unity 3D VS your team
 
Maximize Your Production Effort (English)
Maximize Your Production Effort (English)Maximize Your Production Effort (English)
Maximize Your Production Effort (English)
 
Making A Game Engine Is Easier Than You Think
Making A Game Engine Is Easier Than You ThinkMaking A Game Engine Is Easier Than You Think
Making A Game Engine Is Easier Than You Think
 
Procedural Processes - Lessons Learnt from Automated Content Generation in "E...
Procedural Processes - Lessons Learnt from Automated Content Generation in "E...Procedural Processes - Lessons Learnt from Automated Content Generation in "E...
Procedural Processes - Lessons Learnt from Automated Content Generation in "E...
 
Unit 13 Pecha Kucha
Unit 13 Pecha KuchaUnit 13 Pecha Kucha
Unit 13 Pecha Kucha
 
From Web to Mobile with Stage 3D
From Web to Mobile with Stage 3DFrom Web to Mobile with Stage 3D
From Web to Mobile with Stage 3D
 
East Coast DevCon 2014: Game Programming in UE4 - Game Framework & Sample Pro...
East Coast DevCon 2014: Game Programming in UE4 - Game Framework & Sample Pro...East Coast DevCon 2014: Game Programming in UE4 - Game Framework & Sample Pro...
East Coast DevCon 2014: Game Programming in UE4 - Game Framework & Sample Pro...
 
"How To Race Squirrels" at Develop Conference in Brighton, 21st July 2011
"How To Race Squirrels" at Develop Conference in Brighton, 21st July 2011"How To Race Squirrels" at Develop Conference in Brighton, 21st July 2011
"How To Race Squirrels" at Develop Conference in Brighton, 21st July 2011
 
Creating great Unity games for Windows 10 - Part 1
Creating great Unity games for Windows 10 - Part 1Creating great Unity games for Windows 10 - Part 1
Creating great Unity games for Windows 10 - Part 1
 
Climberreport
ClimberreportClimberreport
Climberreport
 
Unreal Engine Basics 01 - Game Framework
Unreal Engine Basics 01 - Game FrameworkUnreal Engine Basics 01 - Game Framework
Unreal Engine Basics 01 - Game Framework
 
Beyond agile - Pitfalls & misconceptions when working with SCRUM & Co | Ralf ...
Beyond agile - Pitfalls & misconceptions when working with SCRUM & Co | Ralf ...Beyond agile - Pitfalls & misconceptions when working with SCRUM & Co | Ralf ...
Beyond agile - Pitfalls & misconceptions when working with SCRUM & Co | Ralf ...
 
Mallory game developmentpipeline
Mallory game developmentpipelineMallory game developmentpipeline
Mallory game developmentpipeline
 
West Coast DevCon 2014: Game Programming in UE4 - Game Framework & Sample Pro...
West Coast DevCon 2014: Game Programming in UE4 - Game Framework & Sample Pro...West Coast DevCon 2014: Game Programming in UE4 - Game Framework & Sample Pro...
West Coast DevCon 2014: Game Programming in UE4 - Game Framework & Sample Pro...
 
Hybrid Game Development with GameSalad
Hybrid Game Development with GameSaladHybrid Game Development with GameSalad
Hybrid Game Development with GameSalad
 
Project presentation
Project presentationProject presentation
Project presentation
 
Game Modding Lecture 2
Game Modding Lecture 2Game Modding Lecture 2
Game Modding Lecture 2
 
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
 

Recently uploaded

LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
lorraineandreiamcidl
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Undress Baby
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
kalichargn70th171
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
pavan998932
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 

Recently uploaded (20)

LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 

Software Engineer- A unity 3d Game

  • 1. SOFTWARE ENGINEERING PROJECT Dr. Nadeem Ahsan FALL SEMESTER
  • 2. SOFTWARE ENGINEERING PROJECT Group Members • Imran Zabih (Designer,Developer,Leader) • Zain ul Abiden (Bug Tracker) • Isfand yar (VC and Analyzer) • Hamza Karim (Black Box Tester) • Hasan Waheed (Documentation)
  • 3. AGENDA • Project objective • The project’s complete description • Software design model • Software pattern • Tools • Summary
  • 4. PROJECT OBJECTIVE A crossed platform adventure loop game
  • 5. The PROJECT’S COMPLETE DESCRIPTION • Game logic • Game components • Game features • Functional Requirements • Non Functional Requirements • Architecture • Use Case • DFD • Sequence Diagram
  • 6. GAME LOGIC • A running loop game of some provided distance in a given time period including the hurdles and bonus based objects. • After the initialization of the game the player will get the timer of 20 seconds by default.During the timer the player will get full freedom to boost its health in the form owning energy. • During the default timer the energy based object will result in increment of few seconds and at the same time hurdle based objects decrease few seconds of the time. • As soon as the remaning time reaches zero the game will over if the player couldn’t able to reach the desination. • It is possible to change the models, environment, player and difficulty level(Further amendment).
  • 7. GAME FEATURES • Timers • Bonus • Jumping • Hurdles • Energy Boosters • Speed variations • 3d Enivornement • Scores • Third person view • Role playing game • Options • Main Menu • Sound effects • Game Levels and different environment
  • 8. Game Components • Play Area/Play ground • Objects • Characters • Environment • Instant bonus objects
  • 10. Functional components • Score • Player • Timer • Player jumping and ducking • Pause Menu • Menus
  • 11. Non-Functional • PERFORMANCE REQUIREMENTS • SAFETY REQUIREMENTS • SECURITY REQUIREMENTS • SOFTWARE QUALITY ATTRIBUTES
  • 13. Use Case Diagram Play game Pause game Exit Score
  • 14. Sequence Diagram Player Initial time 2 sec Energy Increment Time Decrease Time Hurdle IF it collide max time Game over
  • 16. Manage Requirements !!!!! • The vision should be a very concise and informative description of the essentials of the game  What is the game about  What the play does most of the time  Why is the player doing this  What is the surrounding environment  What feelings should the game evoke • Much like a company’s vision, the project vision is something that everyone in the team can digest quickly • If you don’t have a concise, clear vision, the game is too • undefined and is too risky
  • 17. SOFTWARE MODEL • The challenging things regarding development of a games are the approach of model to decide. • Currently in the development of games the developers have moved to adapt contemporary models. • The favorite software models for game developers nowadays are waterfall,sequential,evolutionary and incremental. • Therefore, you can’t quite treat it like other engineering disciplines. REFERENCE: LASSE JUEL LARSEN, & GUNVER MAJGAAD University of Southern Denmark, Odense, Denmark
  • 18. SOFTWARE MODEL(Contd) • The model for our product is a combination of the waterfall and the iterative software development strategy. • Thus,the overall project would be the mixture of two models. • We have good idea about what the system should look like; and what we are going to implement.
  • 19. SOFTWARE MODEL(Contd) WHY DUAL MODEL APPROACH USED? • The implementation of the process divided into sub modules. • The smaller segments for design,implementation and testing. • Allowing better planning of the time used on implementating. • Work like a team to achieve the target. • “A drop makes an ocean”.
  • 20. SOFTWARE DESIGN PATTERN “A general reusable solution to a commonly occurring problem within a given context in software design.” • Design patterns represent the best practices used by experienced software developers. • Design patterns are solutions to general problems that software developers faced during software development. • These solutions were obtained by trial and error by numerous software developers over quite a substantial period of time. REFERENCE: http://www.tutorialspoint.com/design_pattern/
  • 21. SOFTWARE DESIGN PATTERN(Contd) • For the game development they are 3 pattern can used which are at some similar, namely :  Prototype pattern  Singleton pattern  Strategy pattern • After tremodous amount of research drastically we have chosen singleton design pattern which is compatible with our scenario for development strategy. • Games are a special area of software engineering,but despite its special nature, it can still apply many of the lessons of software engineering.
  • 22. SOFTWARE DESIGN PATTERN(Contd) • Singleton pattern lies on top of creational pattern. • It restrict instantiation of a class to one object. • Problem : Application needs one, and only one, instance of an object. • Many runtime game uses this pattern because of the restriction it contains.
  • 23. SOFTWARE DESIGN PATTERN(Contd) WHY SINGLETON Pattern ? • In our scenario we have made a main class where all the subclasses are inherited. • As soon as the invoke of the constructer of the base class all the method of the subclasses would invoke(OOP concepts). • We woud smartly make use the singeleton pattern and • The main activity of our game is the initialization of the game environment followed by number of other features sequentially and parallelly.
  • 24. SOFTWARE DESIGN PATTERN(Contd) ALTERNATIVE APPROACH: As mentioned earlier about patterns which match the game developement,we could also move to prototype/strategy pattern. • Strategy design pattern is used to effectively extend the game with new features with diverse behaviors. • Also, different behaviors can be dynamically invoked using this approach. • Prototype design pattern can be another excellent alternatives to keep the flow linear and effective, but it would be costly as well.
  • 25. TOOLS & PLATFORM • DEVELOPEMENT TOOL : UNITY 3D • Version Controlling TOOL : GitHub • BUG TRACKING SYSTEM : Bugzilla • GRAPHICAL DESIGN :  ADOBE PHOTOSHOP  ADOBE ILLUSTRATOR
  • 26. VERSION CONTROL PROCEDURES The following guidelines followed while using Github • Performed updates before committing any changes. • Only commit working code.
  • 27. SUMMARY • The scope of the game is wide and loud. • A cross platform game. • User friendly and good GUI • Developing using the Software engineering principles in mind. • In the future we would put it on the GOOGLE PLAYSTORE. • Plans for the future is to further enhance the game. • Polish our game programming skills.