Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 24

1

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

ANFAAS QURESHI (19BCG10017)


Sidharth Jain (19BCG10007)
Durvankur Dama(19BCG10052)
Nitin (19BCG10072)

Under the Guidance of


Dr. Vikas Panthi

 SCHOOL OF COMPUTING SCIENCE AND ENGINEERING


VIT BHOPAL UNIVERSITY,
BHOPAL – 466 114, INDIA
 
1

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

PAGE NUMBERS CONTENT

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)

11 -15 Proposed Work


1. A brief of proposed Approach (11 -15)
2. Advantages of the proposed system (15)

15 Software and hardware requirements


1. Software Requirements (15)
2. Hardware Requirements (15)

16-18 UML Diagrams


(16-18)

19 Screenshots of your application


(19)

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

B.) A Brief About Existing Work


We have divided our existing work in following parts:
1. Logo Design and Trailer Video.
2. Environment Design and Set Up:
 Assets Used
3. Core Mechanics and Movements:
 Player
 Enemy
 Car
 Train
4. UI Design and UI Coding:
 Start Menu
 Option/ Settings Menu
 Pause Menu
 Credits Menu

1. Logo Design and Trailer Video:


Logo plays a very important role in game design and represents the overall idea of game at
one glance. Trailer video of game on the other side gives a little broad idea about game play
and game world of a particular game. We have created game video using powtoons and
filmora. Logo has following ideation behind its look, and has been made in canvas:
1. The golden border is taken inspiration from Kingsman where it signifies look of a spy or
agent.
2. White colour specifies ability of DE agents to hide themselves and kill their enemy.
3. Circular dots in the logo specifies that player i.e. DE Agent needs always to be in an alert
position so that player can perform various actions accordingly.

LOGO

2. Environment Design and Set Up


 Assets Used:
1

1. Ultimate FPS creator pack


2. Abandon Train Environment pack
3.Unity Standard Assets
4.Car Model
5.Player and Enemy Model (mixamo)
6.3-d animated rigged humanoid models.
7.Weapons (gun)
8.Free UI Pack

3. Core Mechanics and Movements


1.) Train Implementation
Spawn and movement  
The Train movement in APOSTLE is simply made using inbuild TRANSTATION function
in unity, we have also added a spawn on trigger object so that train can spawn after the
trigger hits. 
Code –for train to spawn at positiontrain. 

Code –for train to spawn at train positioning

For train movement –code

Explosion animation on train 


After the trigger hits by the player in the car the trigger has OnTriggerEnterCollsion() 
In this function we add the code for explosion 
We first add an explosive 3d model  
1

explosive 3d model

Now we add animator to the 3d object


 

Now we add particle system to the crate.


 
 

Now attach the explosion script to this particle prefab.


 
1

Working of train movement video  


https://drive.google.com/file/d/1aK3I17rmE3pDKEVu2QxrVJROKEU5W6V2/view?
usp=sharing 
Video of explosion particle system  
https://drive.google.com/file/d/1pEE05fmpFc43SJoZ9y0HcyOkaNRofyuI/view?usp=sharing 
 

SpawnPoint Class

2.) Car Implementation


Import car model  
The first step we did was to import the car model from blender to unity with light probes, 

Car Model

Next, we use the car controller for unity script  


1

Car Controller
The snippet for the above inspector menu is  

Script for car controller

Then we added the rigid body to the car  

Rigid body component

3). Player Implementation


Spawn and movement  
1

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   

MAIN CHARACTER (DRUG ENFORCEMENT AGENT)


Next, we add the character controller script from unity to the character with animator and
all other char animation imported from mixamo: 

Adding script to animations of main character

Now add the animation and animator  


 

Animator window

Now add animator:
1

Animator Layers

Now make transition on animator:

Transition on Animator

Character in game view: 

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

4.) UI Design and UI CODING:


1. Start Menu

Main Menu Design and child elements


1

Start Menu Script for play button and Quit button


2. Options Menu

Option Menu Design and child elements

Script for Volume control.


1

Script for Video Quality


3. Pause Menu

Pause Menu Design and child elements.


4. Credits Menu

Credits Menu Design

Limitations of existing work


1

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.

Iterative Design Development Life Cycle Model

A brief about proposed approach


We started with deciding basic point i.e. our game requirements at initial with set of various
ideas and setting our final deadline as 8th October to reach to a workable game model that
works on our ideation perfectly.
ITERATION DESIGN GAME DEVELOPMENT CYCLE-1
We started process of making our game with thinking of idea and its documentation.
Documentation consists of game idea, rules of game, winning and losing condition of player
and game play as followed by sketching out initial game idea on paper:
1

ITERATION DESIGN GAME DEVELOPMENT CYCLE-1


ITERATIVE DESIGN GAME DEVELOPMENT CYCLE 2
In second time, we found that we need to change our environment as we faced problems to
get all assets for beach island environment creation that followed the following process:
1

ITERATIVE DESIGN GAME DEVELOPMENT CYCLE 2

ITERATIVE DESIGN GAME DEVELOPMENT CYCLE 3


At third time of iteration, we focused on what are the parts that are still left to be done and
what are the parts that need modification. At the same time we need to keep in mind the fun
element and simplicity of game is maintained and it look good whether in terms of lighting ,
cameras or environment map itself.
1

ITERATIVE DESIGN GAME DEVELOPMENT CYCLE 3

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.

Advantages of proposed system


1. Provided closure look about where we are going wrong and allowed easy reversal of whole
process in case of any mistake, so it saves time and cost.
2. Provided a closure towards deciding our game objective and making it bug free at the time
mistake is detected easily.
3. Get to learn use of various technology and at the same time we learned how to implement
it.
4. This whole process made us learn to do a good team work, how to manage a team and
work together.

HARDWARE AND SOFTWARE REQUIREMENTS:


Hardware:
 Processor: Intel Core i5 8th Gen
 RAM: Minimum 4GB
 GPU: NVIDIA GTX GeForce 1050Ti
 Monitor: Minimum 1024 x 768
 Display with more than 256 colors
 Keyboard and Mouse
 Sound card with speakers
 Internet Speed: Minimum 1 Mbps
Software:
 Unity
 Visual Studio Community 2017
 Mixamo
 Canvas and Photoshop

UML DIAGRAMS:
1

STATE TRANSITION DIAGRAM


1

Player and enemy controller class: AUTO GENERATOR

footsteps item manager and camera look script uml


Enemy: State Transitions
 Following to:
 Attacking:
 Player is in bot’s line of sight
 Player is close to bot
 Patrolling:
 Player is too far from Enemy
 Defending to:
 Following:
 Player is closer to enemy than Player is to loot
OR
 Player is too far from loot or bot is very close to loot
 Attacking to:
 Following:
 Player is not in line of sight of bot
OR
 Player is far from bot
 Patrolling to:
 Following:
 Player is at a close distance
OR
 Player is in line of sight of bot
 Cover to:
 Patrolling:
 Bot has recovered health and is far from Player
OR
 Bot is low on health and Player is near
1

 Following
 Bot has recovered health and is near Player.

State transition diagram of enemy

UML Representation of Implemented Classes


1

UML Representation of Implemented Classes of Enemy


1

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/#/

You might also like