0% found this document useful (0 votes)
18 views46 pages

Report PRI Game

Uploaded by

Vijaya Adamane
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views46 pages

Report PRI Game

Uploaded by

Vijaya Adamane
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 46

A PROJECT REPORT ON

Premier Race India: The Motorsports Championships


Submitted in partial fulfillment of the requirements for the awards of
degree of

BACHELOR OF ENGINEERING
IN
(COMPUTER SCIENCE & ENGINEERING)

By:
Ms. Vijaya Adamane
Ms. Anuja Panchariya
Mr. Manav Patil
Ms. Aastha Petkar
Mr. Aniket Tandekar

UNDER THE GUIDANCE OF

Prof. C. U. Chauhan

DEPARTMENT OF COMPUTER SCIENCE &ENGINEERING


GOVERNMENT COLLEGE OF ENGINEERING CHANDRAPUR
Year
2023-2024

i
CERTIFICATE OF APPROVAL

Certified that the project report entitled “Premier Race India: The Motorsport
Championship” has been successfully completed by Ms. Vijaya Adamane, Ms. Anuja
Panchariya, Ms. Aastha Petkar, Mr. Manav Patil, Mr. Aniket Tandekar under the guidance
of Prof. C. U. Chauhan from Department of Computer Science and Engineering in
recognition to the partial fulfillment for the award of the degree of Bachelor of Engineering in
Computer Science and Engineering, Government College of Engineering, Chandrapur (An
Institution Affiliated to Gondwana University, Gadchiroli).

Prof. C. U. Chauhan
Head Of Department
Department of Computer Science and
Engineering, GCOE Chandrapur

Prof. Shailendra W. Shende Prof. Chandrapal U. Chauhan


Asst. Prof. Head,
In-charge, Projects Department of Computer Science and
Department of Computer Science and Engineering, GCOE, Chandrapur
Engineering, GCOE, Chandrapur

Dr. P. V. Washimkar
Principal
Government College of Engineering Chandrapur

Signature of External Examiner:


Name:
Date of Examination

ii
DECLARATION

We certify that

a. The work contained in this project has been done by me under the guidance of
my supervisor(s).
b. The work has not been submitted to any other Institute for any degree or diploma.
c. We have followed the guidelines provided by the Institute in preparing the project
report.
d. We have conformed to the norms and guidelines given in the Ethical Code of
Conduct of the Institute.
e. Whenever we have used materials (data, theoretical analysis, figures, and text)
from other sources, we have given due credit to them by citing them in the text of
the report and giving their details in the references. Further, we have taken
permission from the copyright owners of the sources, whenever necessary.

Name Signature of the Students:


1. Ms. Vijaya Adamane
2. Ms. Anuja Panchariya
3. Mr. Manav Patil
4. Ms. Aastha Petkar
5. Mr. Aniket Tandekar

iii
ACKNOWLEDGEMENT

We take this opportunity to express a deep sense of gratitude towards our


guide Prof. Chandrapal U. Chauhan for providing excellent guidance,
encouragement, and inspiration throughout the project work. Without
his/her valuable guidance, this work would never have been a successful
one. He/she is one of the best mentors, we will always be thankful to
him/her.

We would like to extend our special thanks to our Project Coordinator Prof.
Chandrapal U. Chauhan who has helped us directly or indirectly to
complete this project work.

We would like to thank Prof. Chandrapal U. Chauhan, Head of the


department of Computer Science and Engineering. He was very helpful and
encouraging while doing research work.

We would like to thank Dr. P. V. Washimkar, Principal (GCOEC) who has


provided all institutional facilities as and when needed.

We would also like to thank all our classmates for their valuable suggestions
and helpful discussions and our thanks goes to all the people who have
supported us to complete the research work directly or indirectly.

Finally, we are extremely grateful to our parents for their love, prayers, care
and sacrifices for educating us and preparing us for our future.

iv
INDEX

Abstract…………………………………………………………………....vi
List of Figures…………………………………………………………….vii
Chapter 1: Introduction…………………………………………………….1
1. Overview………………………………………………………….... 1
2. Problem Statement…………………………………………………..1
3. Objective…………………………………………………………….1
Chapter 2: Review of Literature…………………………………………....3
1. Proposed system…………………………………………………….5
2. Survey of technology……………………………………………......5
3. Gameplay Frameworks……………………………………………...6
4. Components…………………………………………………………7
5. Controllers…………………………………………………………..9
6. Materials…………………………………………………………...11
7. Detailed Implementation of Racer Game System…………………14
Chapter 3: Work flow & Methodology…………………………………..19
1. Scripting…………………………………………………………...19
2. UI/UX and Level Designing……………………………………….21
3. Level engineering………………………………………………….25
4. Third-party assets………………………………………………….28
5. Logic and functionality……………………………………………29
6. Integrating model………………………………………………….30
7. Testing, Debugging & Deployment……………………………….31
Results and Discussion…………………………………………………...32
Summary and Conclusions……………………………………………….33
References………………………………………………………………..34
Appendix…………………………………………………………………35

v
ABSTRACT

Game Development is the art of creating games and describes the design, development
and release of a game. It may involve concept generation, design, build, test and release.
While creating a game, it is important to think about the game mechanics, rewards, player
engagement and level design and for game development we will be using the Unreal
Engine 5 which provides a robust toolset that includes advanced graphics, physics, and
animation tools. The engine's tools are incredibly powerful and enable developers to
create high-quality games quickly and efficiently. We will be making an arcade racing
game using UE5s Blueprints. The Blueprint Visual Scripting system in Unreal Engine is
a complete gameplay scripting system based on the concept of using a node-based
interface to create gameplay elements from within Unreal Editor. As with many common
scripting languages, it is used to define object-oriented (OO) classes or objects in the
engine. According to case studies blueprint is a game element introduced in Asphalt
Street Storm Racing and brought over to Asphalt 8: Airborne, Asphalt Xtreme, and
Asphalt 9: Legends and we will be making a racing game with different level maps and
different racing modes.

Key Words: - Game Development, Unreal Engine 5, Blueprints Visual Scripting,


Assets system.

vi
LIST OF FIGURES

Sr No Figure No Figure Name Page No

1 3.2.3 Framework Class Relationship 7

2 3.3.1 Camera Actor 8

3 3.3.2 Components 8

4 3.4 Blueprints 9

5 3.4.1 Pawn 10

6 3.4.2 HUD Blueprint 11

7 3.5 Material 12

8 3.5.1 Creating A Material 12

9 3.5.2 The Material Editor 13

10 3.5.3 Submarin Event Graph 13


The Different Lightning Components Contributing to
11 3.6.4.1 15
Final Image
This BRDF LOBE Shows How Incident Light Can
12 3.6.4.2 16
Scatter Non-Uniformly In All Directions
Point P2 Is Being Rendered, And Depth Recorded In
13 3.6.5 the Direction From The Light source To P2 Is 17
Looking
14 3.6.7 Time Remaining Counter 18

15 4.1.1 Player Car Skeleton 19

16 4.1.2.1 AI Cars with Path Prediction and Self Learning 20

17 4.1.2.2 Path Prediction Script 20

18 4.2.1 PRI -Main Menu 21

19 4.2.2.1 Speed and Gear 22

20 4.2.3.1 Original Red Fort 22

21 4.2.3.2 Our Created 3D Model of Red Fort 22

vii
22 4.2.4.1 Creating New Level 23

23 4.2.4.2 Level Landscaping 23

24 4.2.5 Atmospheric Lightning and Fog 24

25 4.2.6 Plant Foliage Material 24

26 4.2.7.1 Material Instance of a Simple Brick 25

27 4.2.7.2 Level Materials and Textures 25

28 4.3.1 Delhi Map 26

29 4.3.2 Rajasthan Map 27

30 4.3.3 Kashmir Map 27

31 4.4.1 3D Rocks from Quixel Bridge 28

32 4.4.2 Quixel Bridge packages 28

33 4.4.3 3D Plants and Trees from Quixel Bridge 29

34 4.5.1 Checkpoints Logic on Car Movement 29

35 4.5.2 Time Race Level Logic 30

36 4.6 Integration Model 30

37 4.7 Game Logic Testing 31

viii
CHAPTER 1. INTRODUCTION
The aim of this project was to design and develop a Car racing game using Unreal Engine
5. The project was undertaken as a final year project for the purpose of demonstrating the
team's ability to apply concepts and techniques learned throughout their degree program.
The game was designed to provide players with an immersive and engaging experience
through the use of realistic environments, challenging mechanics, and smooth gameplay.

1.1 Overview
The project utilized the latest technology and game development techniques, including
the use of Unreal Engine 5, blueprints and third-party assets to create an existing game
that would showcase the team's technical and creative abilities. Racing games are video
genre in which the players participate in the racing competition.

The final product was a fully functional Car Racing game that offered players an
engaging and challenging experience. We are going to cover some key aspects of car
racing game development. Car racing games are popular among gamers of all ages,
offering and thrilling experience of high-speed races and intense competition. To make
low poly simple arcade Indian themed car racing game using Unreal Engine 5, blueprints
and third-party assets with integrated user interface for players to easily navigate menus,
select game modes, and customizable settings.

The project demonstrated the team ability to apply the concepts and techniques learned
during their degree program to create a high-quality game using Unreal Engine 5,
blueprint and third-party assets. The project provided the team with valuable experience
in game development, including planning, design, implementation, and testing, while
also demonstrating their ability to apply technology to create a high-quality game.

1.2 Objectives
The main objectives of this project are:
• To show how the project is developed.
• To show the details of graphics and design.
• To show how the user can interact with car racing games.
• To connect people with racing games.
• To relief stress of people who are too busy in their work.
• To increase the concentration and focus.

1.2 Purpose and Scope


2.1 Purpose
• The purpose of this game is to survive as long as possible and get to the finish
line in the shortest possible time while avoiding the obstacles on the tracks.
To demo what we finally want to accomplish.

1
• The purpose of this project was the creation of an easy to use, pick up and
play game that could be played by all ages as long as they have their PC. I
will also have to learn the fundamentals of game programming and stick to
the life cycle associated with developing games

• The purpose of this game is set up the requirements for the development of
Car Racing Game.

1.3 Scope
• Racing games are typically non-violent, and they can calm stress in a few
different ways. Choosing easy courses that you've raced before or solo test
laps without the pressure of competition brings low stress, and a good
performance is always rewarding. Taking a beautiful car you can't afford for
a scenic ride somewhere you've never been can melt away few worries after
a long day.

• Surprisingly, intense racing can also reduce stress (in the long run). High-
speed racing with close competition a few times each week can train your
brain to decrease signaling that causes increases in adrenaline, sweat and heart
rate. In turn, you will be better able to control yourself in other real world
stressful situations.

• For you dedicated drivers who practice driving lines and aggressive tactics
before facing your competition, mapping out a plan is essential before a race.

1.4 Technical Requirements


The software requirements specification is produced at the culmination of the analysis
task. The function and performance allocated to software as part of system engineering
are refined by establishing a complete information description, a detailed functional and
behavioral description, an indication of performance requirements and design
constraints, appropriate validation criteria, and other data pertinent to requirements.

Hardware Requirements:

• Processor: Intel i5 10th generation.


• RAM: minimum 4GB (16GB recommended)
• Keyboard, Mouse
• Monitor

Software Requirements:

• Operating System: Windows 10


• Unreal Engine 5
• Gaea
• Blender

2
CHAPTER 2. REVIEW OF LITERATURE

Overview

2.1 R. Kothari, S. Nawar, S. Kothari3, Asst. Prof. J. Jeswani (April 2021), “Game
Development using Artificial Intelligence in Unreal Engine”. IRJET

Excerpt: To develop a sandbox environment where the player character completes


a specific set of objectives to proceed the main goal. The game will simulate combat
from a thirdperson perspective. The player will encounter opponent waves they need
to survive in order to progress. The opponents will be predictable AI which the
player can predict in order to overcome and defeat them. The proposed work can
be divided into ten modules.

2.2 Marvin T. Chan, Christine W. Chan, and Craig Gelowitz. (2015). Development of a Car
Racing Simulator Game Using Artificial Intelligence Techniques. International Journal of
Computer Games Technology

Excerpt: This paper presents a car racing simulator game called Racer, in which
the human player races a car against three game-controlled cars in a three-
dimensional environment. The objective of the game is not to defeat the human
player, but to provide the player with a challenging and enjoyable experience. To
ensure that this objective can be accomplished, the game incorporates artificial
intelligence (AI) techniques, which enable the cars to be controlled in a manner that
mimics natural driving. The paper provides a brief history of AI techniques in
games, presents the use of AI techniques in contemporary video games, and
discusses the AI techniques that were implemented in the development of Racer. A
comparison of the AI techniques implemented in the Unity platform with traditional
AI search techniques is also included in the discussion.

2.3 David Michalík, Miroslav Jirgl, Jakub Arm and Petr Fiedler. (2021). Developing
an Unreal Engine 4-Based Vehicle Driving Simulator Applicable in Driver Behavior
Analysis—A Technical Perspective. Safety.

Excerpt: Vehicle safety remains a topic of major interest, and diverse assistance systems
are implemented that focus primarily on analyzing the immediate vicinity of the car and
the driver’s control
inputs. In this paper, by contrast, we emphasize understanding the driver’s control
performance via obtaining valuable data and relevant characteristics. To acquire the data,
we employed an inhouse- designed, laboratory-built vehicle driving simulator. This
simulator exploits the Unreal Engine 4 framework to deliver a high level of realism.

3
2.4Michael, Jeanny Pragantha, Darius Andana Haris. (2020). Android Arcade-Style
Racing Game “CarsTime” With Antigravitation Theme. IOP Conference Series:
Materials Science and Engineering.

Excerpt: ‘CarsTime’is an arcade-style racing game with antigravitation theme. This


game is made using Unity3D game engine with C# programming language. This game
is an Android game. In this game, player will race against bots on track that is not bound
by gravity so each car can move even on upside down track. There are three cars that can
be used by players, namely C.car, Sonic and Magnum. There are three stages that player
can choose to play, namely Map Aspal which doesn’t have any additional difficulties,
Map Pasir which makes player’s car move slower and Map Salju which makes player’s
car slippery. There are three items that player can collect or interact while racing, namely
coin which player can collect for buying car, boost can which player can collect to fill
boost meter which can be used when full to increase player’s speed for a certain time,
and boost pad which will increase player’s and bots speed for certain time when touched.
This game is tested by using three methods which are blackbox testing, alpha testing and
beta testing. Based on the testing result, it can be concluded that “CarsTime” has an
interesting racing gameplay with hard difficulty on Map Salju and easy difficulty on Map
Aspal and Map Pasir.

4
CHAPTER 3. PROPOSED SYSTEM

3.1 SURVEY OF TECHNOLOGIES

3.1.1 About Unreal Engine 5:

Unreal Engine 5 is a game engine developed by Epic Games, designed for creating
high-quality video games and other interactive applications. It is the latest version of
the popular Unreal Engine, which has been used to develop many successful games
and applications, including Fortnite, Gears of War, Car racing game and Robo Recall.

Unreal Engine 5 is built with the latest technology, including advanced rendering
capabilities, physics simulation, and dynamic lighting, which allow for highly realistic
and immersive experiences. It also includes powerful tools for game development, such
as visual scripting and a robust code editor with support for C++, Python, and other
programming languages.

One of the most notable features of Unreal Engine 5 is its Nanite technology. which
enables developers to create incredibly detailed and complex environments without
sacrificing performance. Nanite allows for real-time rendering of massive amounts of
geometry, making it possible to create highly realistic landscapes and other
environments.

Unreal Engine 5 also includes powerful tools for creating Al and game logic, as well as
tools for creating cinematics, audio, and other elements of the game experience.
Additionally, it includes support for a variety of platforms, including PC, console, and
mobile devices.

3.1.2 About Blueprints

The Blueprint Visual Scripting system in Unreal Engine is a complete gameplay


scripting system based on the concept of using a node-based interface to create
gameplay elements from within Unreal Editor. As with many common scripting
languages, it is used to define object-oriented (OO) classes or objects in the engine.

This system is extremely flexible and powerful as it provides the ability for designers
to use virtually the full range of concepts and tools generally only available to
programmers. In addition, Blueprint-specific markup available in Unreal Engine's C++
implementation enables programmers to create baseline systems that can be extended
by designers.

3.1.3 Blueprints Visual Scripting

The Blueprint Visual Scripting system in Unreal Engine is a complete gameplay scripting
system based on the concept of using a node-based interface to create gameplay elements
from within Unreal Editor.

5
As with many common scripting languages, it is used to define object-oriented (OO)
classes or objects in the engine. As you use Unreal, you'll often find that objects defined
using Blueprint are colloquially referred to as just "Blueprints."

This system is extremely flexible and powerful as it provides the ability for designers to
use virtually the full range of concepts and tools generally only available to programmers.
In addition, Blueprint-specific markup available in Unreal Engine's C++ implementation
enables programmers to create baseline systems that can be extended by designers.

3.2 Gameplay Framework


Core systems, such as game rules, player input and controls, cameras, and user interfaces
The Gameplay Framework in Unreal Engine provides multiple classes and components
to serve as building blocks for your projects.

▪ Actors are the base class for an Object that can be placed or spawned in a level.
Actors may contain a collection of Actor Components, which can be used to control
how actors move, and how they are rendered. Actors support the replication
of properties and function calls across the network during play.

▪ Cameras represent the player's point of view, such as how the player sees the world.
The Player-Controller specifies a camera class and instantiates a Camera
Actor which is used to calculate the position and orientation the player views the
world from.

▪ The Pawn class is the base class of all Actors that can be controlled by players or
AI. A Pawn is the physical representation of a player or AI entity within the world.
A Character is a special type of Pawn that has the ability to walk around. By default,
there is a one-to-one relationship between Controllers and Pawns; meaning, each
Controller controls only one Pawn at any given time.

▪ Controllers are non-physical Actors that can possess a Pawn or Pawn-derived class
like a Character to control its actions. A Player Controller is used by human players
to control Pawns, while an AI Controller implements the artificial intelligence for
the Pawns they control. Controllers take control of a Pawn with the Possess function
and give up control of the Pawn with the Unpossessed function.

▪ Gameplay Timers create asynchronous callbacks to specific function pointers that


trigger events to be performed after a delay, or over a period of time.

▪ User Interfaces (UIs) and Heads-up Displays (HUDs) are a way of providing
information about the game to the player and in some cases allowing the player to
interact with the game.

3.2.3 Framework Class Relationships


This flowchart illustrates how these core gameplay classes relate to each other. A game
is made up of a Game-Mode and Game-State. Human players joining the game are
associated with Player-Controllers.

6
These ‘PlayerControllers’ allow players to possess pawns in the game so they can have
physical representations in the level. ‘PlayerControllers’ also give players input controls,
a heads-up display, or HUD, and a ‘PlayerCameraManager’ for handling camera views.

FIG. 3.2.3 FRAMEWORK CLASS RELATIONSHIP

3.3 Components

3.3.1 Camera (Camera-Actor)

The Camera represents the player's point of view, such as how the player sees the world.
For this reason, cameras only have relevance to human-controlled players. The Player-
Controller specifies a camera class and instantiates a Camera Actor (AI-Camera-Actor)
which is used to calculate the position and orientation the player views the world from.

For basic examples on how to work with Cameras, refer to Using Cameras. For an
example of how to layer animations onto cameras, refer to the CameraAnim
feature documentation.

All of the camera's behavior and properties are set up in the ‘CameraComponent’.
The ‘CameraActor’ class primarily acts as a wrapper for the ‘CameraComponent’, so that
the camera can be placed directly in the level rather than within another class. When
using a ‘CameraComponent’ in the Editor, you can navigate to Details > Camera
Settings to set whether the camera is in Perspective or Orthographic mode.

7
FIG 3.3.1 CAMERA ACTOR

The vertical field of view (FOV) can be set for perspective mode, and the width in world
units can be set for orthographic mode. For both modes, the aspect ratio can be designated
and preset aspect ratios for common devices and display types are provided.
You can add Post process effects to the camera, and it is possible to scale the strength of
the post process effects.

3.3.2 Components (Actor-Components)


Components are a special type of Object that Actors can attach to themselves as sub-
objects. Components are useful for sharing common behaviors, such as the ability to
display a visual representation, play sounds. They can also represent project-specific
concepts, such as the way a vehicle interprets input and changes its own velocity and
orientation. For example, a project with user-controllable cars, aircraft, and boats could
implement the differences in vehicle control and movement by changing which
Component a vehicle Actor uses.

Actor Component is the base class for all Components. Since Components are the only
way to render meshes and images, implement collision, and play audio, everything the
player sees or interacts with in the world when playing the game is ultimately the work
of some type of Component.

FIG 3.3.2: COMPONENTS

8
There are a few major classes to understand when creating your own Components: Actor
Components, Scene Components, and Primitive Components. Actor
Components (class Actor-Component) are most useful for abstract behaviors such as
movement, inventory or attribute management, and other non-physical concepts. Actor
Components do not have a transform, meaning they do not have any physical location or
rotation in the world.

3.4 Controllers
Controllers are non-physical Actors that can possess a Pawn (or Pawn-derived class like
Character) to control its actions. A Player-Controller is used by human players to control
Pawns, while an AI-Controller implements the artificial intelligence for the Pawns they
control. Controllers take control of a Pawn with the Possess function, and give up control
of the Pawn with the Unpossessed function.

FIG 3.4: BLUEPRINTS

Controllers receive notifications for many of the events occurring for the Pawn they are
controlling. This gives the Controller the opportunity to implement the behavior in
response to this event, intercepting the event and superseding the Pawn's default
behavior. It is possible to make the Controller tick before a given Pawn, which minimizes
latency between input processing and Pawn movement.

By default, there is a one-to-one relationship between Controllers and Pawns; meaning,


each Controller controls only one Pawn at any given time. This is acceptable for most
types of games, but may need to be adjusted as certain types of games - real-time strategy
comes to mind - may require the ability to control multiple entities at once.

3.4.1 Pawn

The Pawn class is the base class of all Actors that can be controlled by players or AI. A
Pawn is the physical representation of a player or AI entity within the world. This not
only means that the Pawn determines what the player or AI entity looks like visually, but
also how it interacts with the world in terms of collisions and other physical interactions.
This can be confusing in certain circumstances as some types of games may not have a
visible player mesh or avatar within the game.
9
Regardless, the Pawn still represents the physical location, rotation, etc. of a player or
entity within the game. A Character is a special type of Pawn that has the ability to walk
around.

FIG.3.4.1 PAWN

By default, there is a one-to-one relationship between Controllers and Pawns; meaning,


each Controller controls only one Pawn at any given time. Also, Pawns spawned during
gameplay are not automatically possessed by a Controller.

3.4.2 User Interfaces and HUDs

Guides and information for artists and programmers creating user interfaces such as
menus and HUDs

The way in which the game communicates and interacts with the player is extremely
important. User Interfaces (UIs) and Heads-up Displays (HUDs) are the games' way of
providing information about the game to the player and in some cases allowing the player
to interact with the game.

Unreal Engine 4 provides multiple means of creating UIs and HUDs. The Canvas class
can be used to draw directly to the screen at a low level, overlaid onto the world.

The game's Interface is used to convey information to the player and provide a means of
prompting the user for directed input. A game interface generally consists of two main
elements: the heads-up display (HUD)

User Interfaces refer to menus and other interactive elements. These elements are usually
drawn overlaid on the screen much like the HUD, but in certain circumstances they could
be part of the game world itself rendered onto a surface in the world. The most obvious

10
examples of UIs are the main menu displayed when the game starts up or the pause menu
shown when the player has paused the game. However, other UIs may be displayed
during play. These could be used to show dialog between characters in the game or in
more complex situations, such as in an RTS or RPG, they may be integral to the game
play itself allowing the player to choose weapons, armor, units to build, etc.

The HUD is the base object for displaying elements overlaid on the screen. Every human-
controlled player in the game has their own instance of the AHUD class which draws to
their individual Viewport. In the case of split screen multiplayer games, multiple
Viewports share the same screen, but each HUD still draws to its own Viewport. The
type, or class, of HUD to use is specified by the game type being used.

FIG 3.4.2: HUD BLUEPRINT

3.5 About Materials

If you look closely at the submarine, you’ll see it has a checkerboard on its surface instead
of a proper appearance. To give the submarine color and detail, you will create a material.

What is a Material?
A material determines how the surface of something looks. Fundamentally, a material
defines four elements:

Below is an example of three materials. They have the same color but separate attributes.
Each material has a high value for its respective attribute. The other attributes are set to
zero.

• Base Color: The color or texture of a surface. Used to add detail and color
variations.

• Metallic: How “metal-like” a surface is. Generally, a pure metal will have the
maximum Metallic value whereas fabric will have a value of zero.

• Specular: Controls the shininess of nonmetallic surfaces. For example, ceramic


would have a high Specular value but clay would not.

• Roughness: A surface with maximum roughness will not have any shininess. It’s
used for surfaces such as rock and wood.

11
FIG. 3.5 MATERIAL

3.5.1 Creating a Material


Close the submarine blueprint and return to the Content Drawer, select the Materials
folder and click the green Add button. A menu will appear with a list of assets you can
create. Click Material.

FIG.3.5.1 MATERIAL

3.5.2 Material Editor

Name the material Submarine Material and then double-click the file to open it in the
material editor.

12
FIG.3.5.2 THE MATERIAL EDITOR

The material editor has several panels:


1. Viewport: Contains a preview mesh that will display your material. Rotate the
camera by holding left-click and moving your mouse. Zoom
by scrolling your mouse wheel.
2. Details: Any node that you select will have its properties displayed here. If a node
isn’t selected, the panel will show the material’s properties instead.
3. Material Graph: This panel will contain all your nodes and the Result node. Pan
by holding right-click and moving your mouse. Zoom by scrolling your mouse
wheel.
4. Palette: A list of all the nodes available to your material.

3.5.3 Rotating the Propeller


Open the Submarine Blueprint. To start scripting, switch to the Event Graph tab

FIG 3.5.3: SUBMARIN EVENT GRAPH


13
Making an object rotate is so simple you only need to create one node. Right-click a space
on the graph to bring up a menu of available nodes. Search for Submarine Material.
Rotate the submarine Motor component. Select AddLocalRotation (submarine_Motor).

Note: If the node isn’t listed, uncheck Context Sensitive at the top right of the menu.

3.6 Detailed Implementation of Racer Game System

3.6.1. Player-Controlled Car Module

The player-controlled car module consists of four sub modules: (i) the body, (ii) the
wheels, (iii) the heads-up-display (HUD), and (iv) the player controller script. The body
of the car is the 3D model that the player sees in the game environment; this sub module
also contains the colliders, which enable the car to collide with objects in the game
environment. The wheels of the car contain wheel colliders, which enable the wheels to
make contact with the road and drive the car forward. The wheels sub module also
contains a script which animates the rotation of the wheels as the car moves. The HUD
component of the car is controlled by the HUD script, which handles displaying the
current speed, position, and lap of the car to the player. Lastly, the sub module of the
player-controller script, called PlayerCarController, handles the user input from the
keyboard and applies the appropriate steering, accelerating, and braking output levels of
the player-controlled car.

3.6.2. Game-Controlled Car Module


The game-controlled car (or the AI-controlled car) consists of four sub modules: (i) the
body, (ii) the wheels, (iii) the trigger area, and (iv) the AI controller script. The body and
wheels of the game-controlled car are identical to the body and wheel components of the
player-controlled car. The trigger area component of the car is controlled by the
CarSensor script and detects when a wall enters into the trigger area. When this happens,
the AI controller script is informed so that it would slightly adjust its control of the car.
The AI controller script, called AICarController, contains all the implemented AI
techniques and algorithms that handle the driving of the game-controlled car so that it
can effectively race against the player-controlled car.

3.6.3 Graphics

In accordance with the evolutionary software development model, we wanted to postpone


as much work related to graphics as possible, until we had come so far in the development
that it was time to put focus on graphics. The XNA framework provided us with the major
part of the basic functionality to render our game29. This allowed us to render our game
with minimal allocation of developer time before we got started on the graphics of the
game. Although, to give our game its own look, our usage of this basic functionality later
had to be exchanged for more advanced alternatives where we had more control over
how the game was being rendered.

14
3.6.4 Lights and Rendering

To capture the very complex behavior of light in the real world so that a computer may
simulate it, relatively simple models are needed. One extensively used idea is to break up
light into three components; ambient, diffuse and specular. The ambient component is
the color of the light that has bounced on the surroundings numerous times before
reaching the destination point whose color is currently being computed. The diffuse
component is the color of the light that contributes to a surface’s base color. Finally, the
specular component is the color of the reflection of light on a surface33.

FIG 3.6.4.1: THE DIFFERENT LIGHTNING COMPONENTS CONTRIBUTING


TO THE FINAL IMAGE

Since it makes little sense to have a light source with different colors for different material
properties, only one color is normally used for all of light source’s components. However,
the material of a surface is modelled in part by these three components as well. The
diffuse component of a material is lit by the diffuse component of a light. Similar
reasoning holds for the specular and ambient components33.

Another essential part of modelling the behavior of real light is how it is affected when
it comes in contact with a surface. One cannot assume that the light bounces off with the
same angle as the incident angle. More care needs to be taken when dealing with
computer graphics. Of course each individual photon cannot possibly be traced through
the entire scene in real- time with the computational power of a modern computer, and
actually no light is traced in any way by a regular rasterizing renderer22. Instead, when
a fragment of a surface is being rendered, all of the incident light is assumed to come
directly from the light source (except for the ambient light), and the amount of outgoing
light in all directions from the fragment is determined by a BRDF.

15
The BRDF is supposed to capture the surface’s way of scattering the incident light, since
this one point that is being rendered actually represents a small area that may not be
completely flat, which would be a requirement for the light to simply bounce off the
surface with the same angle as the incident angle 30.

FIG 3.6.4.2: THIS BRDF LOBE SHOWS HOW INCIDENT LIGHT CAN
SCATTER NON-UNIFORMLY IN ALL DIRECTIONS

3.6.5 Shadows

Shadows are highly important for a good sense of realism. If objects that occlude the light
would not cast shadows onto other objects in a scene, an observer is likely to quickly pick up
on that something is wrong39. Variance Shadow Mapping40 was selected for computing the
shadows in our game.

Shadow Mapping is a technique commonly used in games to cast shadows. The basic idea is
to record how far the light from a specific source reaches, and then compare this to the length
between the light source and the actual fragment being rendered. More specifically, one starts
with rendering the scene from the view of the light source, but for each pixel, a depth value
is stored instead of a color The texture produced is called a depth map, or more commonly,
shadow map. This means that for any point in the scene, a depth has been recorded in the
direction from the light source approximately to that point, and this depth represents how far
the light reaches towards the point before something stops it. For any point that is closer or
just as close to the light source as the recorded depth, the point must be in light. If on the
other hand, the point is further away from the light source than the recorded depth, this must
mean that some other object is occluding the light, and this point must be in shadow.

16
Fig 3.6.5: POINT P2 IS BEING RENDERED, AND THE DEPTH RECORDED IN
THE DIRECTION FROM THE LIGHT SOURCE TO P2 IS LOOKED UP. THE
DEPTH IN THIS CASE IS THE DISTANCE FROM THE LIGHT SOURCE TO
POINT P1, MEANING THAT THE LIGHT STOPS THERE AND DOESN’T
REACH P2.

3.6.6 Player data

When the game has started, for each game update, the players send the position,
orientation (rotation) and velocity of their car to the server. When the server receives this
information from a client, it starts by updating its local re- presentation of the client’s car,
and then forwards the information to all the other clients. And likewise, when the clients
receive player data from the server, they update their local representation of the player
cars with this information.

One problem with multiplayer games on connections with high latency is that it can result
in jittering and jumpy/freezing behavior on data shared over the network. In a racing
game, the car could appear to jump from different positions between frames, because the
position data of the car is taking too long to travel on the network. This however, is solved
by interpolating and taking qualified guesses of the position at each frame, by taking into
account the positions from previous frames.

This implementation worked out smoothly and very straight forward, and from what we
could tell, the interpolation via the physics engine worked surprisingly well.

3.6.7 Game round timer


Until late in the development, we did not have any specific type of game round. More
precisely, the game did not have an end. To solve this, we added a timer that when
reaching zero, ended the game and returned the gamer to the game lobby screen. We
accomplished this by letting each client/server have a timer each, but that was only started
when the server sent a special message.

The timers on the client side filled only a graphical purpose, while the timer on the server
was the only one that could end the game. This was done in such way to avoid sending
to much unnecessary information over the network to just synchronize the clock.

17
FIG 3.6.7: TIME REMAINING COUNTER

3.6.8 Sound

The graphical aspect of the game definitely was one our top priorities, but even though
we focused much on blowing the players’ visual mind, music and sound effects in the
game were also features we wanted to include. We felt that visual effects lost some of its
context without corresponding audio effects, and that sound therefore was necessary in
the game to offer the player a complete experience.

3.6.9 Sound Effects

In order to find sound effects that matched the graphical dittos, we had to search through several
different sound banks. The largest sound bank, which provided us with sounds like the electronic
engine, was Digiffects58, a sound bank provided by many companies in different countries,
including Swedish “Ljudproduktion AB”. We also took great use of many public sound banks on
the Internet: FindSounds59, and PacDV60.

Even though we were satisfied with many of the sound effects we found from different
sound banks, we still had problems finding good sound effects for collisions. By
recording our own sound effects, we felt like we were adding a more personal touch to
the game, besides the fact that we needed collision sound effects.

3.6.10 Background Music


Just as sound effects, different types of music can also be found on the Internet. For
example, PacDV, provided not only sound effects, but a variety of different instrumental
music tracks as well. Even though some of the tracks were possible to have in our game,
we felt that we wanted more famous background music, which could possibly give the
user a nostalgic feeling. We choose to use background music from an old game called
Turtles, which was released on Super Nintendo Entertainment System.

18
CHAPTER 4: WORK FLOW & METHODOLOGY

4 SCRIPTING:
A scripting language or script language is a programming language that is used to
manipulate, customize, and automate the facilities of an existing system. It is usually
interpreted at runtime rather than complied. Scripting languages are also referred to as
very high-level programming languages, as they operate at a high level of abstraction, or
as control languages, particularly for job control languages on mainframes. In this
context, the term script refers to a small program in such a language; typically, contained
in a single file, and no larger than a few thousand lines of code.

4.1.1 Setting up a Controller and Pawn


The first step is setting up a controller and pawn. A pawn represents the player or AI-
controlled character in the game. To set up a pawn we created a Blueprint Class with a
base class Pawn. Inside its blueprint we added components to the pawn, such as a Skeletal
Mesh for the visual representation of the character, collision components for interaction
with the environment.

Then, added a ‘CameraComponent’ to the Blueprint of actor that is playerPawn and


attached it to the actor to define the camera's position and orientation. It is fixed so if
player turns then camera will move accordingly.

FIG 4.1.1: PLAYER CAR SKELETON

A controller is responsible for controlling a pawn or group of pawns. To set up a


controller we created a new Blueprint Class: PlayerController. Inside the Blueprint editor,
we implemented input handling logic to control the pawn's movement, camera, and other
actions. It is used for input events like "Axis Move" or "Axis Turn" to handle player
inputs.

19
4.1.2 AI Car Model

It starts with creating a new Blueprint Class for the AI car. It includes setting up
acceleration, steering, braking, and handling for the AI cars, defining checkpoints and
paths for it to follow, and implementing logic for decision-making.

FIGURE 4.1.2.1: AI CARS WITH PATH PREDICTION AND SELF-LEARNING

AI cars to act as competitors for the player by adjusting parameters such as speed,
aggression, and skill level to manage overtaking and precision. AI perception is used to
detect nearby obstacles, other vehicles, and track boundaries. These cars learn the path
with each lap and gets better than previous.

FIGURE 4.1.2.2: PATH PREDICTION SCRIPT

20
4.2 UI/UX AND LEVEL DESIGNING:

User interface (UI) engineering is the design of user interfaces for the game, with the
focus on maximizing usability and the user experience. It is a paramount in ensuring
players are fully immersed in the thrilling and fast-paced gameplay. UX encompasses
every aspect of the player's interaction with the game, from the moment they launch it to
the exhilarating moments of crossing the finish line. The handling and responsiveness of
the car controls significantly impact the UX. Precise and intuitive controls allow players
to feel connected to their vehicles

4.2.1 In-Game Menus

We designed In-Game Menus to serve as accessible interfaces, enabling players to adjust


settings and manage gameplay seamlessly without interrupting the race. These menus
were crafted to include options such as pausing the game to fine-tune settings such as
graphics and controls, facilitating actions like restarting or quitting races, and seamlessly
resuming gameplay. Additionally, players were provided to fine-tune race parameters,
including adjusting difficulty levels and weather conditions, with the aim of enhancing
their overall racing experience.

FIG 4.2.1: PRI MAIN MENU

4.2.2 HUD and Score Progression System

The HUD (Heads-Up Display) are featured to a comprehensive array of essential


elements to provide players with real-time information during races. A speedometer was
prominently displayed, indicating the vehicle's current speed and lap counter tracked
progress throughout the race. The Score and Progression system was implemented to
track players' performance and advancement throughout the gameplay experience. A
scoreboard was created to display and time remaining.

21
FIG 4.2.2.1: TIME REMAINING COUNTER

FIG 4.2.2.2: SPEED AND GEAR

4.2.3 3D Model Creating


Created 3D model of Indian architecture reminiscent of the iconic Red Fort (for Delhi
Map) using Blender and Unreal Engine 5. Initially, we gathered reference images of the
Red Fort from various angles to understand its intricate details using Google Earth. Then
we set the scenes in Blender, we ensured proper scales and units. Starting with a simple
cube, we sculpted the basic shapes of the Red Fort, employing Blender's versatile
modeling tools such as extrusion, scaling, and rotation. Adding architectural elements
like arches, domes, and windows, we focused on maintaining accurate proportions and
intricate details to enhance realism. Other 3D models were also created like Road, Traffic
Maintenance Models, Barriers, etc.

Figure 4.2.3.1 Original Red Fort -Source Google Maps

22
Figure 4.2.3.2: Our created 3D model of Red Fort

4.2.4 Creating the Level

By navigating through the menu, selecting "File," then "New Level," and then configured
the various parameters of level like map size, type, spline type, etc. Utilizing the landscape
tool, sculpted the terrain, ensuring it harmonized with our design concept by adjusting its size
and shape accordingly. We also used Gaea for creating height-maps of the desired level.

Figure 4.2.4.1: Creating new level

Figure 4.2.4.2: Level Landscaping

4.2.5 Creating Lighting and Atmosphere

Illuminated lighting and atmosphere manipulating light sources to evoke specific moods
and atmospheres. Various lighting techniques such as directional lights, point lights,
skyLight, atmospheric fog, clouds were created to balanced brightness and shadows to
accentuate architectural details and enhance visual interest.

23
Figure 4.2.5: Atmospheric Lighting and Fog

4.2.6 Creating Game Environment

Through the integration of static meshes, including rocks, trees, buildings, and various
props sourced from both the Unreal Engine Marketplace and custom-made assets from
external modeling software like Blender and Maya, we enriched the environment,
infusing it with vitality. Foliage and vegetation were placed using the foliage tool,
embellishing the terrain with trees, bushes, grass, and other flora to enhance realism in
respective of their atmosphere.

Figure 4.2.6: Plant foliage material

4.2.7 Creating Material Layers


Using Quixel Bridge material and Gaea layered the different materials for various objects
and ground. The material is layered so that it will show sedimentation of various soil
layers with height map. The materials of Trees and their barks were set to give the Indian
look to environment.

The changes in texture and smoothness of ground are tempered to give the soil realistic
look so that it will have more quality in players sight and will blur as the distance
24
increases.

Figure 4.2.7.1 Material Instance of a simple brick

Figure 4.2.7.2: Level materials and textures

4.3 LEVEL ENGINEERING

Creating Indian-themed levels for a game is an exciting endeavor that allows for the
exploration of India's diverse culture, landscapes, and architecture. Let's elaborate on the
level maps you've created:

In our game we created following level maps:


1. Delhi Map
2. Rajasthan Map

25
3. Kashmir Map

FIG 4.3.1 : DELHI MAP

1. Delhi Map:
Description: The Delhi Map transports players to the bustling capital city of India,
known for its rich history, vibrant culture, and architectural wonders. The level is divided
into various sections, each representing iconic landmarks and neighborhoods of Delhi.
Key Features: Red Fort Section: Players navigate through the majestic Red Fort, a
UNESCO World Heritage Site, marveling at its imposing red sandstone walls, intricately
carved arches, and lush gardens.
Challenges: Players encounter obstacles such as navigating through crowded streets,
dodging traffic, and overcoming hurdles inspired by Delhi's unique urban landscape.
Visuals: The level features vivid and detailed graphics, showcasing the architectural
beauty, cultural diversity, and dynamic atmosphere of Delhi.

2. Rajasthan Map:
Description: The Rajasthan Map immerses players in the royal state of Rajasthan,
renowned for its majestic forts, opulent palaces, and colorful heritage. The level captures
the essence of Rajasthan's desert landscape, rich history, and vibrant traditions.
Key Features: The palace is a five-story structure, with four floors submerged
underwater when the lake is full. Only the top floor remains above the water level, giving
the palace its distinctive appearance of floating on the lake.
Challenges: Players face obstacles such as traversing rugged terrain, avoiding
sandstorms, and outmaneuvering opponents in camel races inspired by Rajasthan's desert
heritage. Visuals: The level showcases vibrant colors, intricate designs, and ornate
architecture, capturing the opulence, elegance, and grandeur of Rajasthan's royal
heritage.

26
3. Kashmir Map:
Description: The Kashmir Map transports players to the picturesque paradise of
Kashmir, renowned for its breathtaking natural beauty, serene lakes, and snow-capped
mountains. The level offers a serene and tranquil experience amidst lush valleys and
pristine landscapes
Key Features: Dal Lake Tranquility: Player’s glide across the serene waters of Dal Lake,
surrounded by majestic mountains and floating gardens, as they soak in the tranquility
and beauty of Kashmir's iconic lake.
Challenges: Players encounter challenges such as navigating treacherous mountain
paths, overcoming obstacles in snow-covered landscapes, and competing in high-speed
ski races, inspired by the adventurous spirit of Kashmir's outdoor activities.
Visuals: The level features stunning vistas, serene landscapes, and vibrant colors,
capturing the pristine beauty and ethereal charm of Kashmir's natural wonders.

These Indian-themed level maps offer players a captivating journey through India's
diverse landscapes, rich heritage, and cultural landmarks, providing an immersive and
unforgettable gaming experience.

FIG 4.3.2: RAJASTHAN MAP

FIG 4.3.3: KASHMIR MAP

27
4.4 THIRD-PARTY ASSETS:
Third-party assets, which are sourced from outside developers or companies and
integrated into the game to enhance its visual appeal, include 3D models, textures, car
models and race tracks, immersive sound effects and music tracks, or sophisticated code
snippets for gameplay mechanics. We expedite the development process to provide
players with a polished and captivating gaming experience by utilizing these third-party
assets. We used 3D models of trees, rocks, cliffs, billboards, and street maintenance
objects like traffic cones and street lights imported using Quixel-Bridge a Ureal Engine
plugin.

From Unreal Engine Marketplace used following assets:


1. Vehicle Variety Pack
2. City Sample Vehicle
3. Modular Building Set
4. City Sample Crowds
5. Quixel Bridge 3D Models

FIG 4.4.1: 3D ROCKS FROM QUIXEL BRIDGE

FIG 4.4.2: QUIXEL BRIDGE PACKAGES

28
FIGURE 4.4.3 3D PLANTS AND TREES FROM QUIXEL-BRIDGE

4.5 LOGIC AND FUNCTIONALITY:

In game development, logic and functionality are the backbone of creating immersive
and engaging interactive experiences. Logic encompasses the intricate set of rules and
algorithms governing the behavior of the game, dictating everything from player input
responses to win/loss conditions. Developers meticulously design gameplay logic to
ensure a seamless and enjoyable experience, scripting events, defining mechanics, and
implementing artificial intelligence for lifelike character behaviors. On the other hand,
functionality refers to the interactive features that bring the game to life, encompassing
user interfaces, physics engines for realistic movement, sound and music integration, and
networking capabilities for multiplayer experiences. Achieving a delicate balance
between sophisticated logic and smooth functionality is essential to crafting a successful
game, where players are not only challenged by the intricacies of the game world but also
seamlessly immersed in its interactive elements.

Whether handling collision detection, character animations, or multiplayer networking,


the synergy between logic and functionality defines the essence of a well-crafted and
enjoyable gaming experience.

FIGURE 4.5.1: CHECKPOINT LOGIC ON CAR MOVEMENT

29
FIGURE 4.5.2: TIME-RACE LEVEL LOGIC

4.6 INTEGRATING MODEL:

Integrating models in game development involves the seamless incorporation of 3D or 2D


assets, such as characters, environments, and objects, into the game engine. Models serve
as the visual representation of the game's elements, contributing to the overall aesthetic and
immersive quality of the virtual environment. Game developers utilize modeling software,
like Blender or Maya, to create these assets, considering factors such as polygon count,
texture quality, and animation rigging. Once the models are crafted, they are integrated into
the game engine, where their functionalities and interactions are defined through scripts
and logic.

FIG. 4.6 INTEGRATION MODEL

30
The integration process also involves optimizing models for performance, balancing
visual fidelity with the game's technical requirements. Successful model integration is
essential for delivering a visually captivating and coherent gaming experience, where the
artistry and functionality of these digital assets converge to create a compelling and
interactive virtual world for players to explore.

4.7 TESTING, DEBUGGING AND DEPLOYMENT:

In game development, the phases of testing, debugging, and deployment are integral to
ensuring a polished and stable gaming experience. Testing involves systematically
evaluating various aspects of the game, including gameplay mechanics, graphics, and
user interfaces, to identify and rectify potential issues. This process encompasses unit
testing for individual components, integration testing to assess the collaboration of
different elements, and user acceptance testing to gauge player experience. Debugging
follows testing, addressing identified issues through the identification and correction of
errors in the source code. Game developers employ debugging tools and techniques to
enhance performance, fix glitches, and refine the overall functionality of the game. Once
testing and debugging are satisfactorily completed, the game is ready for deployment.
Deployment involves packaging the finalized game for distribution across platforms,
ensuring compatibility and adherence to platform-specific guidelines. This phase also
includes considerations for marketing, release strategies, and ongoing support, marking
the culmination of the development cycle and the transition to delivering the gaming
experience to a wider audience. A thorough and well-executed testing, debugging, and
deployment process is crucial for releasing a high- quality and enjoyable game to players
worldwide. We used the V-model of software engineering to develop the PRI.

FIGURE 4.7 GAME LOGIC TESTING

31
CHAPTER 5. RESULTS & DISCUSION
The development methodology employed for PRI: Premier Race India has yielded
exceptional results, culminating in a polished and immersive gaming experience that
celebrates Indian culture while captivating players with engaging gameplay, stunning
visuals, and seamless functionality across platforms.

By meticulously setting up controllers, pawns, and AI behaviours, the game achieves


a smooth and responsive gameplay experience, allowing players to seamlessly navigate
through the vibrant Indian-themed levels. The integration of third-party assets for
enhanced visuals and sound effects further enriches the gaming experience, immersing
players in the sights and sounds of India's diverse landscapes and architectural
wonders.

The design of intuitive UI/UX elements, including in-game menus and HUDs,
enhances accessibility and ease of navigation, ensuring that players can quickly and
intuitively interact with the game interface. This attention to detail in UI/UX design
contributes to a seamless and immersive gaming experience, keeping players engaged
and immersed in the game world.

The crafting of Indian-themed levels with meticulous attention to detail showcases the
rich cultural heritage and diversity of India, transporting players to iconic destinations
such as Delhi, Rajasthan, and Kashmir. Each level is carefully designed to capture the
distinct allure and splendor of India's landscapes, architecture, and cultural landmarks,
providing players with a visually stunning and culturally immersive experience.

The implementation of logic for gameplay mechanics and functionality ensures that
the game offers a compelling and rewarding experience for players. Whether racing
through the bustling streets of Delhi, navigating the desert terrain of Rajasthan, or
skiing down the snow-capped slopes of Kashmir, players are challenged and
entertained by a variety of gameplay scenarios and challenges.

32
CHAPTER 6. CONCLUSION

1. Developed meticulous methodology for PRI: Premier Race India


2. Focused on seamless fusion of captivating gameplay, stunning visuals, and
immersive celebration of Indian culture
3. Meticulously set up controllers, pawns, and AI behaviors for smooth and
responsive gameplay
4. Integrated third-party assets for enhanced visuals and sound effects
5. Designed intuitive UI/UX elements for effortless navigation and enhanced
accessibility
6. Crafted Indian-themed levels with meticulous attention to detail, showcasing
vibrant landscapes and architectural wonders
7. Implemented logic for gameplay mechanics and functionality, delivering a
compelling and rewarding experience
8. Rigorous testing and debugging phases to ensure highest standards of quality
and performance
9. Resulted in a polished and stable gaming experience exceeding player
expectations

33
CHAPTER 7. REFERENCES

• R. Kothari, S. Nawar, S. Kothari, Asst. Prof. J. Jeswani (April 2021), “Game


Development using Artificial Intelligence in Unreal Engine”. IRJET

• Marvin T. Chan, Christine W. Chan, and Craig Gelowitz. (2015). Development


of a Car Racing Simulator Game Using Artificial Intelligence Techniques.
International Journal of Computer Games Technology

• David Michalík, Miroslav Jirgl, Jakub Arm and Petr Fiedler. (2021).
Developing an Unreal Engine 4-Based Vehicle Driving Simulator Applicable
in Driver Behavior Analysis—A Technical Perspective. Safety.

• Michael, Jeanny Pragantha, Darius Andana Haris. (2020). Android Arcade-


Style Racing Game “CarsTime” With Antigravitation Theme. IOP Conference
Series: Materials Science and Engineering.

• https://dev.epicgames.com/documentation/en-us/unreal-engine/unreal-engine-
5-3- documentation

• https://docs.quadspinner.com/

• https://docs.blender.org/manual/en/latest/

34
CHAPTER 7. APPENDIX

7.1 Approval of Paper

7.2 Published Journal

35
7.1 Certificates of Publication

Certificate 1. Prof. C. U. Chauhan

Certificate 2. Mr. Aniket Tandekar

36
Certificate 3. Mr. Manav Patil

Certificate 4. Ms. Vijaya Adamane

37
Certificate 5. Ms. Aastha Petkar

Certificate 6. Ms. Anuja Panchariya

38

You might also like