3D Terrain Car Racing Game
3D Terrain Car Racing Game
3D Terrain Car Racing Game
Supervisor
MR. Umar Rasheed
Pakistan
Version 1.0.1 By
Supervisor
MR. Umar Rasheed
The candidate confirms that the work submitted is their own and appropriate credit has been
given where reference has been made to the work of others.
Pakistan
A project presented to
By
We hereby declare that this software, neither whole nor as a part has been copied out from any
source. It is further declared that we have developed this software and accompanied report entirely
on the basis of our personal efforts. If any part of this project is proved to be copied out from any
source or found to be reproduction of some other. We will stand by the consequences. No Portion
of the work presented has been submitted of any application for any other degree or qualification
of this or any other university or institute of learning.
--------------------------- ---------------------------
---------------------------------------
Supervisor
---------------------------------------
External Examiner
---------------------------------------
Head of Department
in this chapter. The purpose of this project is to develop a game for the children who sometimes need
to stay at home in some situations just like quarantine time as in that situation they just must stay home
to stay safe. So, for our Final year Project, our group would like to implement a Terrain Car Racing
Game being developed in Unity 3d that can help children to stay home by playing game and avoiding
of being bored. We tried to implement a simple car racing game based on the basic design of terrain.
The main object/ focus of this game is to survive if possible, even that the main car is not reached at
the destination getting high scores in short time with efficient speed while avoiding the obstacles on
the track.
The main theme of our game is to compete with the other opponents in a racing environment, the
player’s goal is to get to the destination as soon as possible while trying to avoid bumping to other cars
or road objects, the final score will be posted according to the finishing position, numbers of bumps
and the time and also the total laps will be counted when the car will cross a road completely. An
important cause to develop a racing game is that by playing this game children will also be protected
from negative impacts of some games just like a shooting game. To develop this project is to aim the
children, those who can easily access the platform and play that game being low cost for them.
In order to meet this goal, we will provide desktop-based game for the racing environment of car. We
will not use more technical language in game so that children get confused. Our game would be simple
but interesting for the children. By playing this game children will also be protected from negative
UNDERGRADUATE FINAL YEAR PROJECT HANDBOOK - FALL 2018 6
impacts of some games just like a shooting game. Our application is a simple racing game that is a
source of fun and enjoyment for children; we are not putting any voice over Internet Protocol because
our application will be offline. Anyone would just download it and start to play.
4 Acknowledgement
All praise is to Almighty Allah who bestowed upon us a minute portion of His boundless knowledge
by virtue of which we were able to accomplish this challenging task.
We are greatly indebted to our project supervisor “MR. Umar Rasheed”. Without their personal
supervision, advice and valuable guidance, completion of this project would have been doubtful. We
are deeply indebted to them for their encouragement and continual help during this work.
And we are also thankful to our parents and family who have been a constant source of encouragement
for us and brought us the values of honesty & hard work.
--------------------------- ---------------------------
PC Personal Computer
Introduction ........................................................................................................................................... 13
1.2.1 Analysis from Literature Review (in the context of your project) ................................. 15
2 Chapter 2....................................................................................................................................... 18
3 Chapter 3....................................................................................................................................... 21
4 Chapter 4....................................................................................................................................... 23
Implementation ..................................................................................................................................... 23
References ......................................................................................................................................... 38
discussing in this chapter. The purpose of this project is to develop a game for the children who
sometimes need to stay at home in some situations just like quarantine time as in that situation they
just must stay home to stay safe. So, for our Final year Project, our group would like to implement a
Terrain Car Racing Game being developed in Unity 3d that can help children to stay home by
playing game and avoiding of being bored. We tried to implement a simple car racing game based on
the basic design of terrain. The main object/ focus of this game is to survive if possible, even that the
main car is not reached at the destination getting high scores in short time with efficient speed while
avoiding the obstacles on the track. The main theme of our game is to compete with the other
opponents in a racing environment, the player’s goal is to get to the destination as soon as possible
while trying to avoid bumping to other cars or road objects, the final score will be posted according
to the finishing position, numbers of bumps and the time and also the total laps will be counted when
the car will cross a road completely. An important cause to develop a racing game is that by playing
this game children will also be protected from negative impacts of some games just like a shooting
game.
5.1 Brief
To develop this project is to aim the children, those who can easily access the platform and play that
game being low cost for them. In order to meet this goal, we will provide desktop-based game for the
racing environment of car. We will not use more technical language in game so that children get
UNDERGRADUATE FINAL YEAR PROJECT HANDBOOK - FALL 2018 13
confused. Our game would be simple but interesting for the children. By playing this game children
will also be protected from negative impacts of some games just like a shooting game.
courses like coding and front end designing by drag and drop method that is used in unity 3d to make
design of any game. As this application will be skill grooming in Computer Science domain. We will
putting any voice over Internet Protocol because our application will be offline. Anyone would just
They range from ultra-realistic which take many factors in focus to make the game as close to the real
things as possible just like Gran Turismo. The existing products are sometimes the games that uses a
larger potential so we identified from all of them that we should make a simple pick up and play game
so we identified from all of them that we should make a simple pick up and play game that can be
played by children as well as all ages in an easy way so that they all can easily download it if they just
have a smartphone and start to play the game by pick and play method.
Model in the Software Development Life Cycle for better and quick solution. We used this model for
quick delivery of a working product and so we also considered this model as a very rational
development method. Following Diagram will show a brief software lifecycle for our solution:
better resultant software engineering and testing techniques. Also, this model generates ongoing
releases of our project, each having small and incremental changes. At each cycle, the project is tested
● The car will move on the roads avoiding the obstacles in the game environment and will complete
game Desert Bus as a satire against the anti-video game lobbying of the early 90s, Desert Bus was
created in 1995 and never saw an official release. In the game, players complete a real-time eight-hour
side of the road, so players must keep their hands on the controller, and swerving will make the bus
engine stall which results in players must start the journey over. The game also can't be paused, and
there is no traffic or NPC interaction. Each eight-hour trip between both cities’ rewards player with
one point. The game resurfaced in 2005 when a former video game reviewer posted his review copy
of Desert Bus to several internet forums. Below is given a real time picture of ‘Desert Bus’s Game
environment.
6 Chapter 2
Software Requirement Specification (SRS)
6.1 Requirement Analysis
The requirement analysis for the Terrain Car Racing game project can be shown in the below section
as following as:
like play mode, exit mode and pause mode. User can exit form game also.
Player
Character
Player will be able to move and run the car on terrain. The basic movements will be controlled by
pressing arrow keys or ASWD keys.
Change View by V button
Player can change the view of movement of car by changing the view of camera. The camera view
will be changed by pressing V button.
Exit Game
The player would be able to exit the game whenever he/she wants.
Pause Game
The player will be also able to pause the game and again play after it is paused once.
o Usability
It will be easy for targeted user to handle and master the controls of this game.
o Interoperability
Different tools (like Maya, unity, photoshop etc.) components are integrated and operates
simultaneously on unity 3D.
o Legal
All credit for models, animations, graphics, pictures etc. will be given to their original
creators at the end of this game.
o Reliability
This game will be reliable until all the conditions for system are met in user’s hardware
7 Chapter 3
Design and Architecture
This Chapter describes the design and architecture of project 3D Terrain Car Racing Game. Chapter
describes system its major components, their relationships (structures), and how they interact with
each other.
represented by a different symbol and contains a short description of the process step. The flow chart
symbols are linked together with arrows showing the process flow direction.
Start
If Yes
If exit button
Main Menu Exit
is pressed
UNDERGRADUATE FINAL YEAR PROJECT HANDBOOK - FALL 2018 22
If No
Play Pause
Exit
Resume
development methodology shortly as Agile Model. It involves iterative and incremental development
approach and to make use of it frequently while developing graphics part of the project. Since it defines
strict and irreversible steps, Waterfall model cannot be applied to our project as changing at any next
level will not be entertained. Performed an object-oriented approach in the project development
8 Chapter 4
Implementation
This chapter will discuss implementation details supported by UML diagrams (if applicable). You will
not put your source code here. Any of the following sections may be included based on your project.
a software application device. A good user interface provides a "user-friendly" experience, allowing
The above screen shows a splash screen first when we start the project.
The above screen shows a scree first before main menu after loading of splash screen. It tells us to
The above screen shows us a main menu screen after pressing at any place on the screen and here we
The above screen shows us a screen after selecting any one car from the choice. In this screen player
is required to select any one target that at what mode he wants to play as like:
• Score Attack (In which player just gets score on running the car)
• Race Mode (In which the player gets two cars and must control the main car having a race.)
• Time Attack (In which the player will have to run the car counting with the time.)
After selecting any one mode, the player will have to select a lap out of two laps.
The above screen shows us a screen having a race mode and two cars which will be having a race
among them and the player will have to control his car.
corner.
The above screen shows us a screen having a track, a speedometer, a map in the right bottom corner
and a score board on the right top corner in which the score will increase when player runs the car.
The above screen shows us a screen having a track, a speedometer, a map in the right bottom corner
and a Lap time and best time board on the right top corner in which the time will increase when
9 Chapter 5
Testing and Evaluation
This chapter may include the following sections. (Students are required to perform the testing both
working as intended. This is also to check that the system meets the requirements stated earlier. Besides
that, system testing will help in finding the errors that may be hidden from the user. There are few
types of testing which includes the unit testing, functional testing and integration testing. The testing
The developer use test data that is separate from test data of the quality assurance team. The goal of
unit testing is to isolate each part of the program and show the individual parts are correct in terms of
requirements and functionality. In this we have tested each module separately just to know that they
Testes By Jahangir
Result Pass
Result Pass
Result Pass
Result Pass
Result Pass
of each of the module is tested. This is to ensure that the system produced meets the specifications and
requirements.
Action Position of Car changes when a player interacts with it using specific
keys
Expected Result Successfully Position Change
Tested By Jahangir
Result Pass
Result Pass
Result Pass
Result Pass
Result Pass
NFR]
terrains of game.
36
Undergraduate Final Year Project Handbook
10 Chapter 6
Conclusion and Future Work
10.1 Conclusion
3D Terrain Car racing game is a Unity 3D game that is a single player PC game and especially
made for those who love to play racing games. This game is an open world game that a player
can enjoy without ever worrying about game’s end. A player must complete the tasks in order
to win the race. The Game will consist of 2 scenes where every scene has its own environment.
There is an ending point in our game. The player will start the game from starting point, and
he will again come to that point at end. This Game is just an initial version, we can further
update it, increase its levels, enhance storyline and make it for different platforms.
• multiplayer
• android version
2. The number of objects that the player can interact with will be increased like:
• Cars
• Bikes
37
Undergraduate Final Year Project Handbook
References
One of the most important link is below 1st link.
• https://www.youtube.com/channel/UCw4pDdg30oKLL8fEedheSCA
• https://www.youtube.com/watch?v=ehDRTdRGd1w&t=2s
• https://assetstore.unity.com/
• https://www.polygon.com/2013/7/10/4510388/why-teller-created-desert-bus-the-worst-
video-game-in-history
• https://www.youtube.com/watch?v=8DMBOLe6ckE
• https://www.storyblocks.com/audio/search/lets+go+sound+effect
38