You are on page 1of 49

THE SOLE SURVIVOR GAME

MOHAMMAD HUMAYUN NASEER


MOHAMMAD QASIM TANVEER

DEPARTMENT OF COMPUTER SCIENCES


COMSATS UNIVERSITY ISLAMABAD, WAH CAMPUS
PAKISTAN

SESSION 2015-2019
THE SOLE SURVIVOR GAME

Undertaken By:

MOHAMMAD HUMAYUN NASEER


REG. NO. CIIT/FA15-BCS-062/WAH
MOHAMMAD QASIM TANVEER
REG. NO. CIIT/FA15-BCS-069/WAH

Supervised By:

Mr. Muhammad Bilal

A DISSERTATION SUBMITTED AS A PARTIAL FULFILLMENT OF THE


REQUIREMENTS FOR THE DEGREE OF BACHELOR IN COMPUTER SCIENCE

DEPARTMENT OF COMPUTER SCIENCES


COMSATS UNIVERSITY ISLAMABAD, WAH CAMPUS
PAKISTAN

SESSION 2015-2019
Dedication

To our beloved parents and helping teachers who supported us in


every step of our life. Without their support, we were unable to
complete our project. We specially thanks to our teachers and
colleagues who always motivated and helped us out in our difficult
times. Thanks to Allah who has blessings upon us and with his help
we were able to complete our project.

__________________________________________________________________________________________
The Sole Survivor i
ACKNOWLEDGEMENTS
All praises, thanks and acknowledgements to Almighty ALLAH, the most
merciful and beneficent, who is entire source of knowledge and wisdom
endowed to mankind, enabled me to carry out my research work. All praises to
our Last Prophet Hazrat MUHAMMAD (Peace Be upon Him), who is forever a
torch of guidance and knowledge for humanity.

I offer my sincerest gratitude to my supervisor, Mr. Muhammad Bilal, As


lecturer, Department of Computer Science, COMSATS University, Islamabad
for her advice throughout my research work. Her observations and comments
helped me to establish the overall direction of the research and to move forward
with investigation in depth. She was always there to offer quite encouragement
by his own extraordinary kindness. I just cannot thank her enough for her
unconditional support.

I am forever grateful to my parents, for their continuous moral support and for
boosting my dedication towards the studies and knowledge.

Many of the acknowledgements of thesis are done at the last minute. My


acknowledgments are no exceptions. It is during this time that one often forgets
to mention some of the biggest inspiration, encouragement and support. Life is
not measured in the number of breaths we take, but in the moments that take our
breaths away; this thesis is a small tribute to all those moments.

__________________________________________________________________________________________
The Sole Survivor
ii
PROJECT BRIEF

PROJECT NAME THE SOLE SURVIVOR GAME

ORGANIZATION NAME COMSATS UNIVERSITY ISLAMABAD,


WAH CAMPUS

OBJECTIVE DELIVER SURVIVAL KNOWLEDGE

UNDERTAKEN BY MOHAMMAD HUMAYUN NASEER,


MOHAMAMD QASIM TANVEER

SUPERVISED BY MR.MUHAMMAD BILAL


LECTURER
COMPUTER SCIENCE
COMSATS UNIVERSITY ISLAMABAD

STARTED ON SEPTEMBER 2018

COMPLETED ON MAY 2019

COMPUTER USED INTEL CORE (i5) 3RD GEN

SOURCE LANGUAGE C#

OPERATING SYSTEM WINDOWS 10

__________________________________________________________________________________________
The Sole Survivor
iii
TOOLS USED UNITY 3D, MAXIMO, AUTO DESK,
PHOTOSHOP,

__________________________________________________________________________________________
The Sole Survivor
iv
ABSTRACT
Unity3D is a powerful cross-platform 3D engine and a user-friendly
development environment. Easy enough for the beginner and powerful enough
for the expert; Unity should interest anybody who wants to easily create 3D
games and applications for mobile, desktop, the web, and consoles. Unity 3D is
used to develop different types of 3d and 2d games for not only the
entertainment purpose but also provide a handsome amount of money to
developer via google play store or by publishing their game.

The name of our project is sole survival game based on unity 3D. Our game
provides a platform of entertainment to user and tell them the worst condition
which happened during survival and train them that how they can manage and
survive. As I have path finding on my enemies, they will not attack until the
player is in a certain range. They might not always be visible to the player as the
scene has many hiding places. This adds a level of fear in the game as you will
not know how close the next enemy is or when they will attack. It contains
several missions which depends on several survival conditions by successfully
completing one mission user will be promoted to next level it gives a
confidence to user. I also included audio, animations, cut scenes and sound
effects to support the atmosphere of the game and make a complete scenario
that shows that how the user stuck in this condition which make this game more
interesting. The game is intended to be used on a PC running windows with a
keyboard, mouse and joystick. Not being a gamer myself I felt like I found a
hidden gem inside the Unity game engine.

__________________________________________________________________________________________
The Sole Survivor
v
TABLE OF CONTENTS

1
Introduction...............................................................................................................................1
1.1. Purpose of this document............................................................................................2
1.2 Overall Introduction....................................................................................................2
1.3 Scope of this document...............................................................................................2
1.4 Overall Description.....................................................................................................2
1.5 Back Story...................................................................................................................3
1.7 Operating Environment...............................................................................................3
1.8 Technology suggested.................................................................................................4
1.9 Report layout...............................................................................................................4
2 Literature Review...................................................................................................................5
2.1 Background..................................................................................................................6
2.2 Business Context.........................................................................................................6
2.3 History.........................................................................................................................7
2.4 Main Elements in SOLE SURVIVOR (FPS)..............................................................7
2.5 The Unity 3D Platform................................................................................................7
2.6. Soldiers & Terrain Architecture..................................................................................7
2.8 Similar System Information........................................................................................8
2.9 User Characteristics.....................................................................................................8
2.10 User Problem Statement..............................................................................................8
3 Requirements..........................................................................................................................9
3.1 Functional Requirements...........................................................................................10
3.1.1. Main Menu.........................................................................................................10
3.1.2 Terrain................................................................................................................10
3.1.3 Characters...........................................................................................................10
3.1.5 Play Game..........................................................................................................10
3.1.6 Volume...............................................................................................................10
3.1.7 Game Completed................................................................................................10
3.1.8 Pause Game........................................................................................................10
3.1.9 Quit Game..........................................................................................................10
3.1.10 Fight/Defeat Enemies.........................................................................................10
3.1.11 Health System....................................................................................................10
__________________________________________________________________________________________
The Sole Survivor
vi
3.1.12 Player Movement...............................................................................................11
3.1.13 Aim and Sight....................................................................................................11
3.1.14 Intelligent Enemy AI..........................................................................................11
3.1.15 Graphics, animation and sound engineering......................................................11
3.1.16 Data requirements..............................................................................................11
3.1.17 User requirements..............................................................................................11
3.1.18 Environmental requirements..............................................................................11
3.2 Non-functional Requirements...................................................................................12
3.2.1 Performance / Response Time Requirements....................................................12
3.2.2 Security Requirements.......................................................................................12
3.2.3 Safety Requirements..........................................................................................12
3.2.4 Compatibility......................................................................................................12
3.2.5 Reliability...........................................................................................................12
3.2.6 Maintainability...................................................................................................12
3.2.7 Reusability..........................................................................................................12
3.2.8 Portability requirement.......................................................................................13
3.2.9 Platform..............................................................................................................13
3.3 Hardware Requirements............................................................................................13
4 Design and Architecture.......................................................................................................14
4.1 3D Viewer.................................................................................................................15
4.3 Scripting & Game Object..........................................................................................16
4.4 System Architecture..................................................................................................16
4.5 Hardware Constraints................................................................................................16
4.6 Graphical User Interface (GUI) Layout....................................................................17
5 Testing..................................................................................................................................22
5.1 Testing..........................................................................................................................23
5.2 Aim of Testing...............................................................................................................23
5.3 Unit Testing....................................................................................................................23
5.4 Limitation of Unit Testing.........................................................................................24
5.6 Usability Testing.......................................................................................................24
5.7. White-Box Testing....................................................................................................24
5.8. Integration testing..........................................................................................................25
5.9. User Testing..................................................................................................................25
6 Diagrams..............................................................................................................................26
6.1. Use case Diagram..........................................................................................................27

__________________________________________________________________________________________
The Sole Survivor
vii
7 Conclusion............................................................................................................................30
7.2 Advantages................................................................................................................31
7.3 Further development or research...............................................................................32
8 References............................................................................................................................33

__________________________________________________________________________________________
The Sole Survivor
viii
List of Figures and Tables
Figure 4.1.......................................................................................................................................15
Figure 4.2.......................................................................................................................................15
Figure 4.3.......................................................................................................................................16
Figure 4.4.......................................................................................................................................17
Figure 4.5.......................................................................................................................................18
Figure 4.6.......................................................................................................................................19
Figure 4.7...................................................................................................................................…19
Figure.4.8.......................................................................................................................................20
Figure 4.9.......................................................................................................................................20
Figure 4.10.....................................................................................................................................21
Figure 4.11.....................................................................................................................................21
Figure 6.12 Diagram Use Case......................................................................................................27
Figure 6.13 Sequence Diagram......................................................................................................28
Figure 6.14 Activity Diagram........................................................................................................29

__________________________________________________________________________________________
The Sole Survivor
ix
Chapter 1

Introduction
Introduction
___________________________________________________________________________

1.1. Purpose of this document


This report is to communicate information and data that has been collected and compiled
during experimentation and research. This report covers a wide range of topics that were part
of the said research work, to address a specific audience. It is intended to summarize the
results of the project, research work associated to it in a final document. It constitutes the
feedback from experimentation and information collected from different sources related to
the topic. This final report is a document that includes success, lessons that have been learned
and performance of the apparatus as well as participants throughout the project.

1.2 Overall Introduction


This software is mainly intended to be used by any user. This Document is intended to give a
complete overview of our Project “THE SOLE SURVIVOUR” including the action flow,
initial user interface and story involved. The document details all features upon which we
have currently decided with reference to the manner and importance of their implementation.
Our project goal is to stimulate a real time environment in which a player can experience and
learn that how to survive. We tend to show the players a side of survival never seen before in
any recently released FPS games. This game is targeted directly towards any age of people
who love to play shooting and survival games.

1.3 Scope of this document


This document describes all the requirement of the project. The purpose of this project is to
provide virtual image of both structured and unstructured information. THE SOLE
SURVIVOUR is an FPS Game based on PC platform. The player progresses to different
phases but going through crossing through different hurdles.
 This game will require creativity and design different environments. We are working
mainly on the story, phases, objects and characters.
 The game will be compatible with visual and control configurations. It will run on PC and
Android phone.

__________________________________________________________________________________________
The Sole Survivor
2
Introduction
___________________________________________________________________________

1.4 Overall Description


Our project is set in a 3D simulated environment with an FPS perspective like an arcade
shooter. Story is told chronologically till the climax of the game and having optional contents
like additional difficulty levels. In this game a player run through environment and player can
kill different enemies in different environments and fulfill the objectives. Game will have
multiple levels. To complete the game the player must complete all levels one by one. Our
game will be responsive so that it can support all types of resolution.

1.5 Back Story


Three army jets were 1000 miles off course when they were attacked by anti-aircraft missiles.
They crashed on a glacier and all the soldiers will die except the user and now user is stuck
in a jungle with cold temperature and for survive user have to pass different levels but
gathering wood by killing wood man and make fire and hunt some animals for eating purpose
and after this he have to face some gangsters and at the end he have to stole the key of a car
from the military camp and reached to the car and mission will be successful.

1.6 Functionalities of the system


The main functionalities of our application are:

 The game will have a single player.


 Interface will be user friendly.
 The user will destroy enemies by shooting.
 The user will fulfill the different objectives.
 The user should maintain health during game.
 The use will be promoted to next level after killing the enemies.
 The user can change setting of the game.

1.7 Operating Environment


The system will work only on Window platform. Unity3D is a powerful cross-platform 3D
game engine and a user-friendly development environment. Easy enough for the beginner and

__________________________________________________________________________________________
The Sole Survivor
3
Introduction
___________________________________________________________________________

powerful enough for the expert. Unity should interest anybody who wants to easily create 2D
& 3D games for mobile, desktop, the web, and consoles.

1.8 Technology suggested


1. Unity 3D
2. Maximo Develop
3. Photoshop
4. Auto Desk

1.9 Report layout


This report is organized in a way to cover all essential points which can be required to make
this record a self-exploratory one. The report is split into following chapters.
i) Chapter 01 entitled Introduction briefly describe the purpose, functionalities and
operating environment of the project will be discussed. I will also include the
technology used to create the project and how it helped to benefit my game.

ii) Chapter 02 entitled Literature Review shows the overview and description of
project.

iii) Chapter 03 entitled Requirement shows the functional and non-functional


requirements of the project will be discussed as well as the structure and classes of the
project. Then the implementation of the project will be described with details of the
testing process it undertook.
iv) Chapter 04 entitled Design and the Architecture shows the design and system
functionality of overall project.

v) Chapter 05 entitled Testing shows the white box, user, unit and other testing of the
project.

vi) Chapter 06 entitled Diagrams shows the Use cases and other required diagrams for
the project.

vii) Chapter 07 entitled Conclusion show advantage, disadvantage and further


improvement in the future.

__________________________________________________________________________________________
The Sole Survivor
4
Introduction
___________________________________________________________________________

viii) Chapter 08 entitled Reference. Reference link

__________________________________________________________________________________________
The Sole Survivor
5
Chapter 2

Literature Review
Literature Review
___________________________________________________________________________

2.1 Background
The games industry has had much growth in recent years. It is a great industry to get
involved in as it allows creativity, innovation and freedom for developers and hobbyists.
They get a chance to experiment with all forms of media including sound design,
environment design and programming.

As there has been an explosion of the new ‘Indie’ market of games, the gaming industry
now allows smaller-scale games to be developed and released more freely than in the past.
Today it has become so easy to create a game. A large studio is no longer needed, and the
freely available tools make it so simple to create an idea from the comfort of your own
home. Indie games show more innovation and developers are willing to take risks on their
games. ‘Indie’ games also have a large market base with many of the games being released
on PC, Android etc. Currently there is a massive increase in the popularity of not just indie
games, but particularly innovative indie horror games. I put a lot of research into trying to
find out what users want from a game. I had to decide between a first-person shooter or a
third person shooter, and what type of environment would be best to build my game. I
finally decided to go with a FPS in a horror and shooting style environment. I decided to go
with a 3D game over a 2D game as I think it makes the game that extra bit challenging and
interesting.

2.2 Business Context


Video games are more than just fun; they're big business. The research firm Gartner predicts
that video game sales top $74 billion worldwide per year approximately and according to an
estimate, it will reach $112 billion by 2015. Video game development is a computer and
mathematics-heavy field that spans the entirety of the many aspects involved in creating a
video game. This includes everything from conception and storyline to graphic design and
programming.

Our game is intended for PC based platform systems, which is abundantly used almost in all
digital devices such as computers, laptops (for laptop and computer android emulator). This
game targets everyone. After analyzing the scope of 3d games over the internet we have
come to an educated guess that if our game downloads reach to about 50,000 we may be

__________________________________________________________________________________________
The Sole Survivor
7
Literature Review
___________________________________________________________________________

talking about 50 thousand rupees per month, which in our opinion is a good starting point of
the popularity of our game.

2.3 History
Poor testing and bugs allocation are the ultimate mistake that leads to fail the design. User
can’t be able to play games in a specific way. Scale is the most common mistake that
everyone does while interior designing. Forgetting to give each game a purpose or point to
focus on. So, we prepare this game application, to make the information hiding simpler and
user friendly. Our 3D game application is bit innovative than others, in 3D game application,
user can easily understand and play any game in the initial stage with one to two try.

2.4 Main Elements in SOLE SURVIVOR (FPS)


The creation and development of SOLE SURVIVOR (FPS) is a rather challenging task with
many different aspects that should be taken into consideration. The most important are the
requirements’ analysis, the architectural design, the planning of the exhibits’ presentation,
the user interaction, the programming process and the evaluation of the final product.

2.5 The Unity 3D Platform


Unity is a cross-platform game engine developed by Unity Technologies and is used to
develop video games and virtual applications for PC, consoles, mobile devices and websites.
This platform was preferred for the development of the SOLE SURVIVOR (FPS) since it
was considered as the most suitable and appropriate. This engine offers a plug-in which is
compatible to all known browsers. Unity is also able to export the applications and games
that are developed as independent applications for mobile devices. The most important
advantage of Unity is that it gives the opportunity to the user to write and develop his own
scripts or use the ones that it offers. The game engine’s scripting is built on Mono, the open-
source implementation of the .NET Framework. Programmers can use Unity Script which is
based on JavaScript, C# or Boo that is based on Python

__________________________________________________________________________________________
The Sole Survivor
8
Literature Review
___________________________________________________________________________

2.6. Soldiers & Terrain Architecture


The soldier is a 3D asset which consist of different animation like walking, idle and shooting.
Terrain architecture consists of 3D volumetric describing the area in which game is designed.
Basically, it includes the enemies, Fps controller, building and other 3D assets.

2.7 Sounds Effects


Sound enhances the immersion in the game. It can be:
 Background music and Ambient sounds
 Different Sound effect for weapon firing and assets animations.
 Various other sounds (example, step sound for animated characters).

2.8 Similar System Information

This product doesn’t have any relationship with any other product, and it is intended to be a
stand-alone.

2.9 User Characteristics

The user will experience different user characteristics in this game.

The main user characteristics are as follows: -


 Object will move forward, backward, left and right.
 Object will sprint.
 Object will jump.
 Object will shoot.
 Object will perform action
 Object will get key
 Object will kill another object.
 Object will get different objectives.
 Object will use different weapons.

__________________________________________________________________________________________
The Sole Survivor
9
Literature Review
___________________________________________________________________________

2.10 User Problem Statement

No specific problem is of focus, but the user will face a serious FPS drop or lagging issues
while using old GPU’s.

__________________________________________________________________________________________
The Sole Survivor
10
Chapter 3

Requirements
Requirement
s
___________________________________________________________________________

3.1 Functional Requirements


This section shows the basic needs for the game in order to have the game up and running in
the time that is required.

3.1.1. Main Menu: The game has a proper main menu where the player can decide what
option they would like to invoke.
3.1.2 Terrain: The game has three different terrain where the characters can exist. It
should have realistic physics including gravity, wind and borders.
3.1.3 Characters: The game have a set of characters who will either act as the
Artificial intelligence or the player character.
3.1.4 Weapon: The player provided with different weapons and ammunition to kill and
damage an enemy.
3.1.5 Play Game: The player can select the play game option from the
main menu. After clicking play game button the three difficulties levels options
appear. The user clicks any options according to their chose and play the game.
3.1.6 Volume: The player can adjust the volume of the background audio.
A button is presented on the main menu setting screen.
3.1.7 Game Completed: The player should be able to complete the game and receive
recognition from the game that it is over. The player should complete the game
once
they have collected the key and get the car. When the player fulfills all the
objectives of the game it will load the game over screen which will then
bring them back to the main menu where they can decide to play again or quit.
3.1.8 Pause Game: The player can pause the game. The player will press
the ESC button or press the pause button in the pause menu which display on
screen which will pause the game and give the player the option to continue,
restart and quit the game.
3.1.9 Quit Game: The player should be able to quit the game and stop playing.
3.1.10 Fight/Defeat Enemies: The player should be able to shoot and kill enemies in
the game. These enemies will make the game more challenging as the player will
need to pass them. The player can fight them or attempt to run away from them.
3.1.11 Health System: The player must be able to lose health when attacked by
enemies. When the player has run out of health, they will have to send to quit
__________________________________________________________________________________________
The Sole Survivor
12
Requirement
s
___________________________________________________________________________

menu screen from there the player can deiced rather restart the level again or
return to main menu.
3.1.12 Player Movement: The player should be able to move the controllable
character. The character can be moved using the movement keys and they can
jump, aim, shoot, reload and preform the action.
3.1.13 Aim and Sight: The player should be able to aim the gun and look down the
sight of the gun. This is achieved by pressing the right mouse click.
3.1.14 Intelligent Enemy AI: The game has multiple enemies which attack the player.
By seeing user and by recognize him. When the user has defeated these enemies,
user must fulfill the mission requirement which is different for every mission.
3.1.15 Graphics, animation and sound engineering: The system will constantly render
textures and models. Graphics will need to be realistic to provide the user with a
believable world. The game should also have suitable animations to compliment
the realism of the graphics including walking, running, attacking etc. I feel that
audio will help to complete this 3D environment. Background music to set the
scene, footsteps, and gun shots should be incorporated.
3.1.16 Data requirements: All data is passed in the background. These are variables that
monitor the positions of both the player and the enemy and keep track of the
player’s health. Information is only saved during a game.
3.1.17 User requirements: The user requirements are used to describe what the user will
need in order to run and play the game. The user must have a computer or laptop
capable of running a modern version of the Windows operating system (must be
Windows XP or higher) and the graphics card requirements will vary depending
on the type of game. As this project consists of simple graphics, the standard
graphics cards in the users’ PC should be able to run the game. No internet access
will also be required for the user to play game. When the game is compiled, it is
built into an executable file which is separate from Unity which will benefit the
user as they will not be required to download and install Unity if they want to play
the game. The user must also have a computer, keyboard, mouse or joystick and
speakers/headphones to play the game.
3.1.18 Environmental requirements: To play the game, the users will need a Windows,
Linux or Mac operating system environment but the game was designed to use on
__________________________________________________________________________________________
The Sole Survivor
13
Requirement
s
___________________________________________________________________________

the Windows platform. This application will run on a computer or laptop capable
of running a modern version of the Windows operating system (must be Windows
XP or higher).

3.2 Non-functional Requirements


Non-functional requirements are the requirement that specifies criteria that can be used to
judge the operation of a system, rather than specific behaviors.

3.2.1 Performance / Response Time Requirements


It is important to ensure that the game does not suffer any graphical or performance
problems as this can lead to a frustrating game play. The game needs to run at a
consistent frame rate to ensure that the graphics and animations remain smooth.
The response time of the game should be immediate so that when the player
initiates an action in the game, the results will be immediate. The player will need
precision for jumping and attacking, so the response time for input methods must be very
quick.

3.2.2 Security Requirements


The player will need to ensure that they have the proper security privileges on their machine
to allow them to install and run the game.

3.2.3 Safety Requirements


Once the system is closed without saving the game, the application data is lost. So, the user
must save the system before closing it.

3.2.4 Compatibility
The subjected system will be currently developed for Unity3D platform only. The system
shall work on the newer version of Unity3D as well.

3.2.5 Reliability
The system should never crash or hang, other than as the result of an operating system error.

3.2.6 Maintainability
All code will be fully documented. Each function will be commented with pre- and post-
Conditions. All program files will include comments concerning authorship and date of last
change. The code will be modular to permit future modifications. These will be stored in a
separate data file rather than embedded in the program code.

__________________________________________________________________________________________
The Sole Survivor
14
Requirement
s
___________________________________________________________________________

3.2.7 Reusability
As there is always room of improvement, the subjected project will be of great help to bring
further versions in the same as well as different environment.

3.2.8 Portability requirement


Users can play the game through their PC or laptop. They can also copy it onto a storage
device such as a memory stick and take the game with them if they wish. As I am using
Unity3D, the game can be built to run using the Unity 3D kit. The 3D kit allows users to play
the game.

3.2.9 Platform

The platform will be windows based that will require a computer and an operating system to
work on.

3.3 Hardware Requirements


The SOLE SURVIVOR is a PC based game which will be applicable soon on PC. The
expected size of the game will be less than 500 MB. It will need core i5 processor to run the
application smoothly. There should be at least 500 MB free space of hardware, due to future
updates. And of course, graphics card will be required for the application to open

__________________________________________________________________________________________
The Sole Survivor
15
Chapter 4

Design and Architecture


Design and Architecture
___________________________________________________________________________

Designer And architecture View


The application was built using the Unity 3D game

Engine. The functions to build and animate objects,

characters and scenes are supported in Unity. These

are known as Game Objects. Unity supports

JavaScript and C# but Unity differs from other

Programs as it doesn’t just consist of classes and

Interfaces. It users the hierarchy, where Game

Objects are arranged and can be parented to other

Objects and an inspector view where you can scale,

Rotate and move objects and assets. You can also

assign materials, colliders and scripts to an object Figure 4.1

in the inspector view to give the object interactivity. These are the scripts attached to my
main fps camera which control my shooting, audio and visuals.

4.1 3D Viewer
The Scene View has a set of navigation controls to help you move around
quickly and efficiently. The Scene Gizmo is in the upper-right corner of the
Scene View. This display the Scene View Camera’s current orientation,
and allows you to quickly modify the viewing angle and projection mode

Figure 4.2

__________________________________________________________________________________________
The Sole Survivor
17
Design and Architecture
___________________________________________________________________________

The Scene Gizmo has a conical arm on each side of the cube. The arms at the forefront are
labelled X, Y and Z. Click on any of the conical axis arms to snap the Scene View Camera to
the axis it represents (for example: top view, left view and front view). You can also right-
click the cube to bring up a menu with a list of viewing angles. To return to the default
viewing angle, right-click the Scene Gizmo and click Free.

4.2 Graphics, animation and sound engineering

The system will constantly render textures and models. Graphics will need to be realistic to
provide the user with a believable world. The game should also have suitable animations to
compliment the realism of the graphics including walking, running, attacking etc. I feel that
audio will help to complete this 3D environment. Background music to set the scene,
footsteps, and gun shots should be incorporated.

4.3 Scripting & Game Object


Scripts are essential to create function and behavior in the game. This is where you tell an
object what you want it to do, what animations to play or to perform different actions on
different conditions. The game object is an empty object in which we put the script and the
object which perform such action.

4.4 System Architecture

__________________________________________________________________________________________
The Sole Survivor
18
Design and Architecture
___________________________________________________________________________

Figure 4.3

4.5 Hardware Constraints

 OS: Windows 08 or higher.


 Processor: Dual core Intel or AMD at 2.8 GHz or higher.
 Memory: 4 GB RAM.
 DirectX: Version 11.
 Graphic Card 01 GB or higher

4.6 Graphical User Interface (GUI) Layout


Our GUI main menu contain play, setting and exit option and further these options lead to
other options on GUI.
For our main menu we wanted to capture the background story of our game. We felt a main
menu would capture the essence of the game and also user friendly. The main menu features
the game title and button options to choose from. There are options to play the game, setting
and quit

__________________________________________________________________________________________
The Sole Survivor
19
Design and Architecture
___________________________________________________________________________

Figure 4.4
Buttons change position on clicking due to the animation, so the user knows they are more
interactive with the button and it is doing something.
When you click on the play button it will open three select level buttons (Fig 4). The setting
button will open a new window with sound on of and easy medium hard and also allow us to
switch between day and night (Fig 4). quit button will exit the game.

Figure 4.5
__________________________________________________________________________________________
The Sole Survivor
20
Design and Architecture
___________________________________________________________________________

When we select any level game will be started and player will play all the missions one by
one. If player died, then failed screen will be emerged and we will have two options either we
retry or jump to our menu to play all our again.

__________________________________________________________________________________________
The Sole Survivor
21
Design and Architecture
___________________________________________________________________________

Figure 4.6

Figure 4.7

After completing first level, new levels will be unlocked. User can also change game settings
including game mode, visual setting & sound settings and can be able to post their feedback
at google play store.

__________________________________________________________________________________________
The Sole Survivor
22
Design and Architecture
___________________________________________________________________________

Figure 4.8

Figure 4.9

__________________________________________________________________________________________
The Sole Survivor
23
Design and Architecture
___________________________________________________________________________

Figure 4.10

Figure.4.11

__________________________________________________________________________________________
The Sole Survivor
24
Chapter 5

Testing
Testing
___________________________________________________________________________

5.1 Testing
Testing defines the status of the working functionalities of any system. Through testing
software, one can’t identify the defects in it but can analyze the performance of software and
its working behavior. By testing the software, we can find the limitations that become the
conditions on which the performance is measured on that level. Game testing is a software
testing process for quality control of games. Once code is generated, software must be tested
to uncover as many errors as possible before delivery to the customer. Testing was very
important for this project and many different forms of testing have been carried out to ensure
that the software acts as expected in all situations as well as ensuring that the requirements
have all been successfully met.

5.2 Aim of Testing


The main aim of testing is to analyze the performance and to evaluate the errors that occur
when the program is executed with different input sources and running indifferent operating
environments. In this project, we developed a 3D games application based on Unity which
focuses on game. The main aim of testing in this project is to find the compatibility issues as
well as the working performance when different sources are given as the inputs.

5.3 Unit Testing


Unit testing is the approach of taking a small part of testable application and executing it
according to the requirements and testing the application behavior. Unit testing is used for
detecting the defects that occur during execution. When an algorithm is executed, the
integrity should be maintained by the data structures. Unit testing is made use for testing the
functionality of each algorithm during execution. Unit testing is just one of the levels of
testing which go together to make the “big picture” of testing a system. It complements
integration and system level testing. It should also complement (rather than compete with)
code reviews and walkthroughs. Unit testing is generally seen as a “white box” test class.
That is, it is biased to looking at and evaluating the code as implemented, rather than
evaluating conformance to some set of requirements.

__________________________________________________________________________________________
The Sole Survivor
26
Testing
___________________________________________________________________________

5.4 Limitation of Unit Testing


Unit testing is limited to test only the functionality of the units. It can’t identify integration
errors, performance problems and system problems. Unit testing can show the errors which
occur in the units when the testing runs. It may not display the errors that currently are
absent.

5.5 Path Finding Testing


The grid graph was scanned to show all walkable areas. We checked that the areas we wanted
to be un-walkable were marked as obstacles and I tested this by bringing my player into
objects marked obstacles and seeing if the enemy entered these areas.

5.6 Usability Testing


Usability testing was used to identify how players would interact with the overall look of the
game. We gave the game to a few of my friends and asked them what they thought of my
game menu and scenes

As our terrain was so large players didn't really know where to go and ended up avoiding
most of the enemies in the game. We started to wonder what stops a player from not
exploring the map to its potential and just going straight for the main boss character. We
decided to make a path that goes around my map. We used objects to block out shortcuts, so
you can't steer of course. This involved a lot of testing as we constantly had to test the paths
and make sure they couldn't be avoided.

5.7. White-Box Testing


We used white box testing to test my logical paths through my game using specific sets of
conditions and loops. I started my game from the very first scene and played it through to end
to test if scenes connected the way they should. Scenes are connected by conditions that are
met such as selecting a button on a menu, to waiting a certain number of seconds or to
winning the game. The goal of the white box testing was to ensure that every possible
condition that could have been met was.

__________________________________________________________________________________________
The Sole Survivor
27
Testing
___________________________________________________________________________

5.8. Integration testing


Integration testing was next after Unit testing. It was unrealistic just to test individual aspects
of the game. Multiple processes within the game needed to be tested working in conjunction
with each other. I tested to see if all my different code and game objects worked seamlessly
together and didn't overlap.

5.9. User Testing


As we are the developer of this game sometimes it might be easy for us to miss something so
simple. It is a good idea to get someone else to play the game and give feedback. We asked a
few family members and friends to test the beta version of our game. All had a different skill
level, some were excellent gamers, some had programming experience, and some didn't even
know how to turn on a computer. The idea of this was to evaluate how the game performed
when an average user who wasn’t the developer tried to interact with the software.

Overall the feedback was positive but there were a few small problems such a lag. This is a
problem in gaming but as my project was so large and many users had old or not top of the
range model laptops there was very little, we could do about this.

This feedback showed that novice gamers needed more support in controls. We added a small
control panel to the game screen so if any of the buttons were forgotten, they were easily
visible without having to go back to the main menu. We made this panel small, so it would
provide help but not distract more experienced gamers.

__________________________________________________________________________________________
The Sole Survivor
28
Chapter 6

Diagrams
Diagrams
___________________________________________________________________________

6.1. Use case Diagram


A use case is a methodology used in system analysis to identify, clarify, and organize
system requirements. Use case diagram represents the overall scenario of the system. A
scenario is nothing but a sequence of steps describing an interaction between a player and
system.

Figure 6.12

__________________________________________________________________________________________
The Sole Survivor
30
Diagrams
___________________________________________________________________________

6.2 Sequence Diagram


Sequence diagram shows the workflow or sequential execution of our system. Sequence
diagram provides a graphical representation for how a task is accomplished by passing a
instruction.

Figure 6.13

__________________________________________________________________________________________
The Sole Survivor
31
Diagrams
___________________________________________________________________________

6.3 Activity Diagram

Activities diagram provide a visual documenting sequence of task making up a single


activity. They especially are useful for activities governed by conditional logic, and flow of
event running concurrently

Figure.6.14

__________________________________________________________________________________________
The Sole Survivor
32
Chapter 07

Conclusion
Conclusio
n
___________________________________________________________________________

7.1 Conclusions
From using the game, we have concluded that it is pure user friendly and help to relief a
person from stress giving him sometime from his hectic life. The game helps in giving a
person some peaceful time and entertainment as well. One of our main purpose is to teach
user how he can survive in grueling situations like fights against savages, animals and
weather.

Player can use tactics to heal the hurdles. Each game will be a different experience because
player may use different. Our aim is for the people to have an enjoyable experience. The
process we used is well fitted to projects that need fast specified results. We believe that our
working method enables us to achieve more features in our game than if we used a more pre-
planned method. With our method, developers can get started directly with game specific
features, and do not need to think about structure and writing general code. For larger
projects, we think that planning and having a good structure, become even more important.

7.2 Advantages
In our opinion there are many advantages to creating this type of project. It is a chance to do
something different, step outside my comfort zone and learn how games are created. We
liked that we had full freedom with the creativity of the game, and we could implement it
with our vision in mind. Another advantage was the experience of coding in C# in previous
college modules. This was a benefit to me as this is the language we used to code in Unity.
We were pleasantly surprised with how much coding experience we managed to pick up. As
someone who always struggled a bit with coding, we tried to challenge our self by fixing
errors without online help. We were able to fix these errors and after a while we were able to
write whole scripts without help. This is something I did not expect to happen, and it has
made me more confident and eager to create more games in the future.

Lots of FPS tutorials were available online and this made it easy to get inspiration and get our
project off the ground. The genre of game that we chose did not limit us and we were free to
make it as realistic/simple as we desired. We incorporated elements that were not planned
like intractable objects, locked doors and object animation. The asset store was also a huge

__________________________________________________________________________________________
The Sole Survivor
34
Conclusio
n
___________________________________________________________________________

help in getting realistic models into my game. It also gave us more time as we did not have to
make these models from scratch. We really enjoyed creating the scene and making the GUI
for the project. It was a chance to be creative and test out different ideas.

7.2 Disadvantages
There are some disadvantages associated with the development of a FPS game. It was evident
during development that this type of game is extremely large and complex to develop thus
requiring a substantial amount of time to even get it to a playable state.
This lack of knowledge also proved to be a challenge again when it came to the requirements
specification aspect of the project. The biggest disadvantage for me was not realizing the
effort it takes for a laptop with a basic graphics card to run a project of this size. My laptop
constantly crashed when we try to run Unity. This has made the creation of my game very
difficult.

7.3 Further development or research


There are many ways that this project can be expanded in the future. I could create a new
world with new characters and have the storyline continue. I could make the game more
challenging by adding in a more difficult enemy to defeat, adding more levels or by adding in
obstacles to overcome like timers, missions etc. I could expand on weapons and have the
option to switch weapon while playing the game. As I did not have time to incorporate a save
feature, this is something I would implement in the future.
We are planning to upload this game on google play store after some updates. With the help
of google adds it will help us financially.
I feel that I have not limited my options with the style of game I have chosen. The
possibilities are endless, and the story can be developed. I can re-use the environment in as
many levels as I wish.

__________________________________________________________________________________________
The Sole Survivor
35
Chapter 08

References
Conclusio
n
___________________________________________________________________________

8.1. References

 https://en.wikiversity.org/wiki/Technical_writing_Types_of_User_Documentation
 https://online.visual-paradigm.com/diagrams.jsp#diagram:proj=0&type=ActivityDiagram
 https://www.researchgate.net/publication/280883956_INDEPENDENT_GAM
E_DEVELOPMENT
 https://code.tutsplus.com/tutorials/introduction-to-unity3d--mobile-10752

__________________________________________________________________________________________
The Sole Survivor
37
Conclusion
___________________________________________________________________________

__________________________________________________________________________________________
The Sole Survivor 38

You might also like