Professional Documents
Culture Documents
The Sole Survivor Game: Mohammad Humayun Naseer Mohammad Qasim Tanveer
The Sole Survivor Game: Mohammad Humayun Naseer Mohammad Qasim Tanveer
SESSION 2015-2019
THE SOLE SURVIVOR GAME
Undertaken By:
Supervised By:
SESSION 2015-2019
Dedication
__________________________________________________________________________________________
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 am forever grateful to my parents, for their continuous moral support and for
boosting my dedication towards the studies and knowledge.
__________________________________________________________________________________________
The Sole Survivor
ii
PROJECT BRIEF
SOURCE LANGUAGE C#
__________________________________________________________________________________________
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
___________________________________________________________________________
__________________________________________________________________________________________
The Sole Survivor
2
Introduction
___________________________________________________________________________
__________________________________________________________________________________________
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.
ii) Chapter 02 entitled Literature Review shows the overview and description of
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.
__________________________________________________________________________________________
The Sole Survivor
4
Introduction
___________________________________________________________________________
__________________________________________________________________________________________
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.
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.
__________________________________________________________________________________________
The Sole Survivor
8
Literature Review
___________________________________________________________________________
This product doesn’t have any relationship with any other product, and it is intended to be a
stand-alone.
__________________________________________________________________________________________
The Sole Survivor
9
Literature Review
___________________________________________________________________________
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.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.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.9 Platform
The platform will be windows based that will require a computer and an operating system to
work on.
__________________________________________________________________________________________
The Sole Survivor
15
Chapter 4
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.
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.
__________________________________________________________________________________________
The Sole Survivor
18
Design and Architecture
___________________________________________________________________________
Figure 4.3
__________________________________________________________________________________________
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.
__________________________________________________________________________________________
The Sole Survivor
26
Testing
___________________________________________________________________________
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.
__________________________________________________________________________________________
The Sole Survivor
27
Testing
___________________________________________________________________________
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
___________________________________________________________________________
Figure 6.12
__________________________________________________________________________________________
The Sole Survivor
30
Diagrams
___________________________________________________________________________
Figure 6.13
__________________________________________________________________________________________
The Sole Survivor
31
Diagrams
___________________________________________________________________________
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.
__________________________________________________________________________________________
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