Software Engineer- A unity 3d Game
-
Upload
isfand-yar-khan -
Category
Software
-
view
212 -
download
1
Transcript of Software Engineer- A unity 3d Game
SOFTWARE ENGINEERING PROJECTDr. 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 PROCEDURESThe 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.