Professional Documents
Culture Documents
Apostle Project Report
Apostle Project Report
Infinite GAMES
A Mini Project Report
Submitted in Partial Fulfilment for the award of
BACHELOR OF TECHNOLOGY
IN
COMPUTER SCIENCE AND ENGINEERING
(Specialization in Gaming Technology)
By
23 March 2021
ABSTRACT
The goal of our project is to make a 3D PC platform game using UNITY Game Engine along
with Visual Studios and Mixamo. The main ideation behind our game is to make students
learn conversion in number system from binary number to decimal number with fun and
playing concepts. We have used technologies like Ray-casting, SD Pipeline and Shallow-D,
collider, rigid body component, state machine, lods, controller, input manager in unity. For
our game, we have also used A star algorithm to create enemy actions in unity. As result we
have created a fun, enjoyable and learning based 3D game.
1
TABLE OF CONTENTS
1 - 11 Introduction
1. Game Overview and Objective (1)
2. The brief about existing work (Logo
design, Core mechanics, UI Design,
Environment Design) (2-11)
3. Limitations of the existing work (11)
20 Conclusion (20)
References (20)
1
INTRODUCTION
Apostle is a 3-D shooting game made for PC platform. The game is more focused on
mechanics part rather than assets creation and graphic part. The report discusses about the
overview of our game project along with game play and overall game development process.
Game Overview
The player character in the game is Drug Enforcement Agent (DE Agent) that tries to chase
enemies i.e. smugglers in the game and find hidden drugs and kill enemies, during the loot
player has to solve computer code in order to destroy hidden drugs whenever detected. The
puzzle is to convert 3-digit binary number into decimal number.
A.) Objective
Game Objectives:
1. To trigger player in the game to perform some set of actions such as run, jump, aim, shoot
and walk.
2. To make player experience fun elements while playing the game in form of fear of losing,
fiero and happiness of winning, feeling the fantasy world, feeling of being powerful etc.
Learning Objective:
1. To make player learn how to solve number conversion problems from three-digit binary
number to decimal number in an enjoyable way while playing the game and getting rewards.
2. To create awareness in children about bad impact of drugs and to show adults about the
consciousness of smuggling of drugs.
Player Objective:
1. To chase the enemy.
2. To find and destroy hidden drugs by solving computer code each time drug is found by the
player.
3. To kill enemies i.e. smugglers in the game.
4. Try to win the game.
1
LOGO
explosive 3d model
SpawnPoint Class
Car Model
Car Controller
The snippet for the above inspector menu is
THE player is made with a sophisticated 3d fps controller. It is a static 3d controller and has a
height adjustment on its base so it snaps to variation in terrain easily.
CHARECTOR SETUP
Import the 3d model – with T pose
Animator window
Now add animator:
1
Animator Layers
Transition on Animator
4
Changed Game View
4.) Enemy Implementation:
1
The enemy bot navigation implemented in Apostle is based on a simple finite state machine
and Unity’s in-built Navigation Meshes. The bot pathfinding uses a navigation agent in the
bot’s different states for path finding around the pre-baked navigation mesh.
The implementation works using 5 states for an Enemy. The state affects where the bot tried
to path find to, attacking, bot animation…etc. These states being:
Patrolling:
The bot moves around to random patrolling points placed in different parts of the map
Following:
The bot follows the player up to a certain distance
Attacking:
The bot moves up close to the player and attacks them
Cover:
The bot moves towards Covering points spread across the map while trying to stay
away from the player
Defending:
The bot moves towards the loot location until its closer to the player than the loot or if
the player moves away from the loot location
1. Only one player can play at a time i.e. the game is single player game NOT A
MULTIPLAYER GAME.
2. As our main focus in this project was game mechanics the assets used in the game are pre
made assets that are available free in the asset store of Unity and also Player and Enemy are
not originally made by us, we have used pre made characters for both from Mixamo.
3. Post processing can’t be done in this game.
4. We have used A STAR Algorithm for scripting and making enemy actions, therefore
enemy can perform only limited set of actions and cannot perform other actions like crouch
etc.
POPOSED WORK
In this game development process, we have used iterative design game development lifecycle
model as it has outsized impact in gaming. We have started with the basic initial steps and
further evolved in the process through success and failure that made us realize at each step
where we are going wrong and where we are going right. We will discuss how the whole
development process helped us to create an APOSTLE game with core mechanics that is fun
to play and at the same time learnable for the players.
Technologies we learned and implemented during this whole process in our project:
1. Ray-casting is used that gives more accuracy to the player while aiming and shooting i.e.
causes no shooting error as ray emitted due to ray casting is more effective that bullet
collision while shooting.
2. We have made 3-d controller script so that it never stuck and adjusts with height easily.
3. Lighting used in the game is baking light that provides more visual and pleasing effects to
the scenes and runs fast.
1
4. S D Pipeline and Shallow-D is used so if we want to code for mobile, we can code it easily
without dropping any frames.
5. We have provided keyboard as well as gamepad controller that allows flexibility to the
players.
6. Virtual gamepad is also given so that one can play using mobile screen buttons.
UML DIAGRAMS:
1
Following
Bot has recovered health and is near Player.
CONCLUSION:
We are grateful to our respected Program Chair Dr. Chandan Kumar Behra and our Faculty
Mentor Dr. Vikas Panthi l for giving us such a great opportunity to bring the very best out of
us.
From this project, we have learned about the importance of teamwork and how to collaborate
in creating a game from an idea using the design, principles of SDLC and GDLC
necessary for the completion of the same. Also, we have come across the following:
In making this project we faced many problems and technicalities about the environment
setup, we changed the theme from sand and beach to abandon railway station. Also we
changed the game from online multiplayer to a single player since we had less time to work
around this step, so, we created the enemies as a CPU AI, this saved a lot of crucial time in
making the game.
We have learned team work, how to perform and do better with the team and team
management skills throughout this project. We conclude this project with a vote of thanks to
our professor, teammates, and unity incorporation for helping us and being so supportive
throughout the process.
Thank you!
REFERENCES:
Unity tutorials
Unity Assets Store
How to do (YouTube Tutorials)
Brackeys (YouTube Tutorials)
https://www.mixamo.com/#/