Professional Documents
Culture Documents
SNAKE HUNTER 3D Documentation
SNAKE HUNTER 3D Documentation
Submitted by
Waseem Amjad
1441-216052
Submitted to
2018
SNAKE HUNTER 3D
SNAKE HUNTER 3D
ACKNOWLEDGEMENTS
I am grateful and would like to express my sincere gratitude to my supervisor Mam Munazza Mah
Jabeen. For her invaluable guidance, continuous encouragement and constant support in making
this project possible. I really appreciate her guidance from the initial to the final level that enabled
me to develop an understanding of this project thoroughly. Without her advice and assistance, it
would be a lot tougher to completion. I also sincerely thanks for the time spent proofreading and
correcting my mistakes.
Many thanks to Preston University for providing us the opportunity to explore my capabilities
in programming and implementing my ideas to a good use. Having said that it was all possible
Special acknowledgement to all the teachers who have guided me in my life and in my studies
without there guidance I wouldn’t have accomplished any of this and also thanks to all the class
mates who have pushed me out of my shyness and have helped me in facing my fears.
SNAKE HUNTER 3D
DECLARATION
This Final Year Project is presented in partial fulfilment of the requirements for a Masters
of Computer Science Degree in Information Technology. It is entirely my own work and has not
been submitted to any other University or higher education institution, or for any other academic
award in this University. Where use has been made of the work of other people it has been fully
This documentation may be made available within the university Library and may be photocopied
Waseem Amjad
1441-216052
MCS-Batch 113/G1
SNAKE HUNTER 3D
CERTIFICATE
This is to certify that the project entitled, “SNAKE HUNTER 3D" submitted by "Waseem Amjad"
in partial fulfillment of the requirements for the award of "Masters of Computer Science" at the
"Preston University Islamabad" is an authentic work carried out by him under my supervision and
guidance.
To the best of my knowledge, the matter embodied in the project has not been submitted to any
ABSTRACT
This project is about creating developing a 3D game (SNAKE HUNTER 3D), designed and
Developed in Unity3D Tool. This a single player game. Programing Language used for concern
project is object oriented C# and a little bit JS. Project is cross platform and can be builds in number
of platforms like android, iOS, windows phone, PC and Web. Project contains number of modules
with different strategies. Each Module carries the basic concept of Programming fundamental
concepts.
SNAKE HUNTER 3D
CHAPTER 1
SYSTEM REQUIREMENTS SPECIFICATIONS
SNAKE HUNTER 3D
INTRODUCTION
In this section the documentation of this report is specified. It specifies the document convention,
document scope and also provides a suggestion for the readers of the document.
1.1 Purpose
The purpose of this requirement document is to clearly specify the needs of the client, basically
we have good interactive games out there, but I have to focus on the game the users take interest
in which is usually mind relaxing game so I came up with the idea of Snake Hunter.
This Software Requirements Specification (SRS) part is intended to give a complete overview of
3D environment
Natural Effect
The SRS document details all features upon which we have currently decided with reference to the
As the development team is responsible for the SRS document, no ambiguity arises from its usage.
There is a clear distinction, however, between the use of the words “player/gamer” and “character.”
SNAKE HUNTER 3D
The “player” is the human being interacting with the game in the real world, while the “character”
Depending upon the need, other documents may be developed. Its purpose is to
describe the specific functionality the product will provide in response to user and external system
interactions. It tells the developers (and testers) what capabilities they need to make and deliver
from the system’s perspective, and is in effect a translation of the user description into a technical
description. It can contain further iteration on use cases, a list of Functional Requirements
of the system. As a checkpoint, it also provides feedback on how the requested functionality was
understood and defines a specific solution to be able to estimate the effort required to build it. The
Main Headings
Font style is Calibri Light (Heading)
Font size is 18
Bold
Sub Headings
Font style is Calibri Light (Heading)
Font size is 16
Bold
The software requirement specification contains all the detail about the Unity application which
is being developed and its components. it is useful for business and users. The customer will be
SNAKE HUNTER 3D
able to download it from the play store and then can use it on the smart phones/consoles. The
SRS document also gives project managers a way to ensure the game’s adherence to our original
vision. Although the document may be read from front to back for a complete understanding of
the project. it was written in sections and hence can be read as such. For an overview of the
The developer need this to read because this document have basic requirements of the user. Basic
requirements are very necessary so that developer can take care of the basic functions of the users.
By help of this documentation developers made functions related to the required functions.
Users /gamers have help about the products and can see this document as a help to use the product.
Developer
User
Client
This Software Requirements Specification (SRS) describes the functional and nonfunctional
requirement for the project. As we said before the purpose of this research is to provide a virtual
Structured
Graphics
Customer/user interest
Keep the game play as simple as possible system provides friendly environment to its users.
1.5 References
The references for this product are not yet completed but can give some of them. It includes a lot
of study and hard work and guidance from the teachers and seniors.
https://unity3d.com/
General Description
This section includes the perspective of our product and the system environment it requires. It
specifies the QFD (Quality Function Deployment) of our game and also the User Story of it:
Problem:
There is just one game named as Snake Hunter and it is in 2D environment ,which was just a static
Solution:
As a developer I will convert the static graphics environment of 2D Snake Hunter into
The product is unity based application that allows the customer to interact with the application and
get the services of the game that are provided and enjoy playing the game.
SNAKE HUNTER 3D
It should be user-friendly, ‘quick to learn’ and reliable application for the above purpose.
In terms of hardware, Snake Hunter will be compatible with mobile devices (android devices
only) using having touch-operated control, i.e. smart phones. It will be controlled with finger
In the start the menu will appear and after pressing play the game will start the game is function
Start
Pause
Resume
Quality Function Deployment is a technique that translates the needs of the customer into technical
Software engineering process. With respect to our project the following requirements are identified
by a QFD.
Script
Normal Requirements.
Expected Requirements.
Exciting requirements.
SNAKE HUNTER 3D
Gamer can interact with system by giving input (press key to start game) to the system. System
give those inputs to script, if any change occur (if the value is changed) this object send to renders
There is only one user at a time in this software and the user interacts with the game
Gamer is the only one who communicates with the system through playing the game.
The primary requirement is that, the gamer must read the playing procedure provided by
us (developers).
1. Developers (Administrator)
i) The administrators have complete control over all the activities that can be performed
v) Provide security
i) Users are nerds who install the games on their tablets or mobile and enjoy the game.
SNAKE HUNTER 3D
User should have a smart phones /consoles and can download it from the play store and the
install it in for use. Snake Hunter is a mobile gaming application designed specifically for the
Android platform and is functional on both mobile smart phones and tablets.
I am using SDK and JDK files and going to make an Apk file for android and if possible will try
Hardware Constraints
Portability - The application must run on every mobile phone or tablet which supports android
regardless of the operating system environment and shall be independent of specific features of
Security - Since the system does not have any critical data, no security level need to be
introduced.
But if ads will be included that make sure that the customers ads will not be at any harm
SNAKE HUNTER 3D
Note:
This Software Requirements Specification (SRS) describes the functional and nonfunctional
Best 3D Environment
Multiple levels
The system will provide an online hierarchical and cross-linked help system. That describes and
illustrates all system functions. A new user can access the game.
Apart from the OS/platform that the system will run on, Unity game engine will be our dependency.
Note:
The user must have basic knowledge to operate the smart phone, consoles.
1. User interface
2. Hardware interface
3. Software interface
Every game must has a menu so is can be user friendly enough and gamers can easily fulfill their
need. Menu is also an important thing while creating the SRS document section.
Snake Hunter 3D is a mobile gaming application designed specifically for the Android platform
and is functional on both mobile smart phones and tablets. Gaming application data is stored
locally on the game engine elements. Snake Hunter 3D has been developed for Android
developed Version and all subsequent releases. (May be released for more than one platform).
Snake Hunter has been developed using a series of game development tools.
Android Software Development Kit (Android SDK): Software development kit for
applications on the Android platform. We want to release this game in the Android
platform.
Project is a mobile application and in the single mode there won’t be any communication. And
System Features
The system features comprise of different modules, functionality of all modules is different but
I. Directional camera
V. Pause menu
VI. Score
4.1System Feature 1
The options menu is accessible from the title screen and allows the player to configure controls
and graphical settings to suit his/her convenience. This screen is not essential to accessing game-
SNAKE HUNTER 3D
play and is hence of lower priority than the Title Screen or Pause Menu, but constitutes a standard
The player should be able to pause anytime during game-play, and this screen fulfills that
requirement
There will be a score text that will keep track on the score.
Survivor level
Timer level
Note:
As the user downloads and install the application the user screen will appear.
Stimulus/Response Sequences
Step 1: The player accesses the options menu from the title screen. From here, the player chooses
to:
Select “levels”
Select “Exit” to Exit the application // Exit point is the finishing place of the game.
Step 2: The chosen options are written to the game and take effect immediately.
Note:
Functional Requirement
Click on the play button the button will be pressed and the game will be played
Text boxes and floating text should be brief and placed away from UI components so as
Calculate points.
If the player presses the exit button, the game will end and return the player to the phone’s
regular interface.
The game will be provided alongside with multiple backgrounds and these backgrounds will differ
in both complexity and functionalities as well as design. Following are the three main backgrounds
Raining
Snow
Spring
May vary during the development. Will be maintained further with time
SNAKE HUNTER 3D
In single player mode, the game should work at least 30 FPS, so that the game will be fluent. Also,
the game should not crash more than one per one hour playtime. Finally, loading phase of the game
should not take more than 30 seconds; in other words the game should start in 30 seconds after the
user opens it -this requirement is not just about the single player mode but about the game itself.
The system must be to up to the requirements and expectations of all. In case if the files are on two
different systems there is high possibility that the system response in delay time, System must
It won’t be use for accessing the user’s data it should be just for simulation or entertainment
purposes.
5.5 Availability
The application will be available unless it is removed from the mobile market. Check the
functionality of the system at every point. If the error begins then need to remove those bugs step
by step.
Usability
The scope of the product is widespread. People from every age should play the game without any
effort. As the system is easy to handle and navigates in the most expected way with no delays. In
that case the system program reacts accordingly and transverses quickly between its states.
Adaptive
Full Version: This include a full and complete version of the game provided with
Additional features i.e. player’s selection, Scene Selection, Level selection etc.
Appendix A: Glossary
Maps: Predefined generated background image and can be easily in graphical tools.
Normal: Images that specify the realness of object color provided by textures.
User Interface
components
Start Game
Select a Level
Select an
environment
Previous Score
Player Mode
Audio Setting
Exit
Single Background:
Player Raining
Audio Snow
Music Spring
Game mode
Starting page
Game playing
Pause menu
Exit
SNAKE HUNTER 3D
CHAPTER 2
Requirement Elicitation:
Observations:
In our observation unity 3D is the best way of making high level 3D games, The user interaction
with the application is very simple and easy just through one touch, Maintaining high score levels
and providing a dynamic graphical environment with sound and background music, giving
relaxation to your mind from other stuff of daily life, also fasten up and sharp your mind.
Unity includes many built-in components which will expedite the process of game development
Physics Engine
Input Recognition
Object Creation and Transform Manipulation (position and rotation of game objects)
Model Attachment (representing game objects with 3D models from external programs)
Unity3D's build settings simplify the process of transferring our game to the Android mobile
device. After completing the project, or during any intermediary step for testing, we can select
SNAKE HUNTER 3D
Android from the list of options, build the project, and upload it to one of our own devices. A
separate license is required for this functionality, which has already been obtained by one of the
1.1.1 Interviews:
1.1.2 Questionnaires:
Problem:
There is already a game name as Snake Hunter 2d but they are using static image of graphical
Solution:
As a developer I will convert the static graphics environment of 2D Snake hunter into
2.1 Candidates:
People of any age-group and gender from all over the world would be the able to play the game
and enjoy its graphics with sound. Providing users with smooth and simple environment where
SNAKE HUNTER 3D
customer can relax his/her mind. Simple interactivity of user with the application is an smooth and
relaxing environment.
2.1.1 Interface:
There is only one interface provided for the user where he/she will interact with the application
whereas on the other hand only the developer (me) can make changes or add resources upgrade
3. Scope:
Candy Ninja is a single-player strategy game on the Android platform and maybe build for other
platform as well.
Levels
Object
Animation if required
Graphics
SNAKE HUNTER 3D
There will be no basic inputs just user interactivity with the application (Snake Hunter 3D).
Play
Pause
Restart
Level 1
Level 2
Level 3
Level 4
Level 5
How to play
Sound
Music
Snake Hunter 3D is a mobile gaming application designed specifically for the Android platform
and is functional on both mobile smart phones and tablets. Gaming application data is stored
locally on the game engine elements. Snake Hunter 3D has been developed for Android
Snake Hunter 3D has been developed using a series of game development tools.
Unity3D
Autodesk Maya
3D paint
Android Software Development Kit (Android SDK): Software development kit for
applications on the Android platform. We want to release this game in the Android
platform.
7. Feasibility Study
7.1 Technical:
The application must cover all the technical aspects provided by the client
All the scenes with all the features included in it provided with complete dynamic graphical
environment.
SNAKE HUNTER 3D
7.2 Financial:
This game will provide client an financially strong and Effective way of earning from different
7.3 Economic:
This game will provide users an economically strong and an effective way of downloading this
game free from different platforms like Play Store (for android) etc. instead of buying it.
7.4 Social:
The client will be socially strong because the game will be over the network and people
CHAPTER 3
DESIGN PHASE
SNAKE HUNTER 3D
For every enterprise product two key terms of design is very important. They are:
UI (User Interface)
Backend Programming
technical public at, Incorporating business and marketing goals UX design is must. User interface
design is any aspects of a user's interface with a given system, including the interface, graphics,
industrial design, physical interaction, and the manual in most cases, User Interface Design fully
all aspects of a product or service as perceived by users. UX stands for mainly relevant access of
The "back end" is the code supporting that front end (responsible for database access, business
logic etc.).In simple term, application front end is what you see (i.e. the user interface) and
application back end is the application engine that you do not see. The "back end" is the code
supporting that front end (responsible for database access, business logic etc.). For efficient
implementation, to increase user acceptance both two are very important in software industry.
SNAKE HUNTER 3D
In this diagram User is interacting with the system. First the game will initialize. After that Main
Menu will appear. There will be two options. Options and Play. In option menu user can control
the sound and music of the game. When user will select play option. Then select its level of game.
J. Camera
II. Sound
V. Time Text
VI. Score
SNAKE HUNTER 3D
3.3 Camera
Camera is added in the 3D environment in a fixed position where we can see all the objects from
a perfect view.
Camera is fixed
3d environment objects
Background
Snakes
The title screen is the screen the player will see every time upon playing the game. Through this
interface, the player can choose to start a new game, play from saved data, or adjust the options.
Since the title screen is the “hub” for all activities in the project, it must be included.
Step 1: The player launches the game from their portable device.
SNAKE HUNTER 3D
Step 2: The start screen loads and appears, prompting the player with three buttons: “Play
Step 3: The player presses one of the buttons, triggering its respective function.
REQ-1: The title screen must load and appear every time the game is launched.
REQ-2: If the player quits the game during any stage of a level, they must be returned to the
title screen.
REQ-3: If the player presses the exit button, the game will end and return the player to the
REQ-4: If the player completes the game, the game will end and return the player to the title
screen.
The level selection screen is the primary way for the player to choose between different levels.
The game is separated into narrative chapters, inside of which are multiple levels. The hierarchy
holds true for the level select screen as well. Because this screen constitutes the player’s main
Step 2: The player selects one of the levels or returns to the title screen.
SNAKE HUNTER 3D
There is no need to unlock the levels, the levels are already unlocked because both levels are
The player should be able to pause anytime during game-play, and this screen fulfills that
requirement. The pause menu also allows the player to navigate between game-play and the level
selection and title screens. The portable nature of the console renders player convenience
Step 1: The player presses the pause button on the game-play interface.
Step 2: The level pauses, drawing up the pause menu which prompts the player with two
Step 3: The player presses one of the buttons, triggering its respective function.
SNAKE HUNTER 3D
REQ-1: The “Restart” option must return the player to the level menu
REQ-2: The “Back” option must continue the game without any change to the character’s vector
or the state of the level from the moment of the pause action
The options menu is accessible from the title screen and allows the player to configure controls
and graphical settings to suit his/her convenience. This screen is not essential to accessing game-
play and is hence of lower priority than the Title Screen or Pause Menu, but constitutes a standard
Step 1: The player accesses the options menu from the title screen. From here, the player chooses
to:
Step 2: The chosen options are written to the game and take effect immediately.
REQ1: Sound will be enabled when “On” is selected and disabled when “Off” is selected.
REQ3: Player will be directed back to the Title Screen when “Home” is selected
The final destination of our game's operation will be the Android mobile device. However, Unity
will be responsible for both the construction of the game and its integration within the Android
framework.
Unity includes many built-in components which will expedite the process of game development
Physics Engine
Input Recognition
SNAKE HUNTER 3D
Object Creation and Transform Manipulation (position and rotation of game objects)
Model Attachment (representing game objects with 3D models from external programs)
Unity3D's build settings simplify the process of transferring our game to the Android mobile
device. After completing the project, or during any intermediary step for testing, we can select
Android from the list of options, build the project, and upload it to one of our own devices.
Class Diagram:
UML Diagram: