0% found this document useful (0 votes)
61 views

Shooting Game With Unity Engine.

The document discusses developing a game using the Unity engine. It outlines the requirements, design, implementation and testing of the game. The project aims to create an educational game to teach players about treasure hunting.

Uploaded by

Dushyant Sharma
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)
61 views

Shooting Game With Unity Engine.

The document discusses developing a game using the Unity engine. It outlines the requirements, design, implementation and testing of the game. The project aims to create an educational game to teach players about treasure hunting.

Uploaded by

Dushyant Sharma
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/ 27

A Project Report

on
Game Development
Using
Unity Engine

Submitted in Fulfillment of the Requirement for the Degree


of
Master of Computer Applications
Invertis University, Bareilly

Project Coordinator Submitted By


Ms. Shivangi Ghildiyal Dushyant Sharma
Assistant Professor 20220204071

Invertis Institute of Computer Applications, Invertis University, Bareilly Page 1


CERTIFICATE

This is to certify that DUSHYANT SHARMA student of Master of Computer


Applications, 4 th Semester of Invertis University, Bareilly has successfully completed
his project work entitled “ Game Development using Unity Engine “ for the partial fulfill-
-ment of the requirement for the degree of Master of Computer Applications, session 2023-24.

Ms. Shivangi Ghildiyal Dr. Archana Saxena Prof. Manish Gupta

(Project Guide) (HoD, MCA) (Dean Management)

Full Name & the Signature of the External Examiner

Invertis Institute of Computer Applications, Invertis University, Bareilly Page 2


ACKNOWLEGDEMENT

I extend my thanks of Department of Computer Applications, Invertis University,


Bareilly who has given me opportunity to work on this Project.

Today I am feeling a great sense of Excitement on my way to successfully complete my


project on “ Game Development using Unity ” under the guidance of “Ms. Shivangi
Ghildiyal”.

I sincerely thank him for responding great confidence and faith in my work and being with
me to encourage and guide me to successful project completion.

I should also like to thank Dr. Manish Gupta, Dean Management for their valuable
suggestions.

Thank You

Signature of the Candidate

Dushyant Sharma

Invertis Institute of Computer Applications, Invertis University, Bareilly Page 3


INDEX
1. Introduction of project Page No 9
2. Problem definition Page No 10
3. System Analysis & Feasibility Study Page No 11
4. Scope of the Proposed System Page No 12
5. System Requirements Page No 13
a. Hardware Requirements Page No 13
b. Software Requirements Page No 14
i. Front End Page No 14
ii. Back End Page No 14
6. System Logical Design Page No 15
a. Data Flow Diagram Page No 15
b. Data Dictionary Page No 16
c. ER Diagram Page No 20
7. Input Screen Page No 21
8. Output Screen Page No 24
9. Testing Page No 25
a. Test Cases Page No 25
b. Test techniques Page No 26
10. Implementation Page No 27
11. Limitations & Future Scope Page No 29
12. Bibliography Page No 30

Invertis Institute of Computer Applications, Invertis University, Bareilly Page 5


LIST OF FIGURES

1. Hierarchy Page No 21
2. Unity Editor Page No 21
3. VS Editor Page No 22
3. Game Export Page No 22
3. Blender Editor Page No 23
3. Actual Game Page No 23
3. Main screen Page No 24
3. Gameplay Page No 24
3. Test Case 1 Page No 25
3. Test Case 1 Page No 25
3. Test Case 1 Page No 25
3. Test Case 2 Page No 26
3. Test Case 2 Page No 26
3. Test Case 3 Page No 26

Invertis Institute of Computer Applications, Invertis University, Bareilly Page 7


INTRODUCTION

Video game development is the process of creating a video game.


Development is undertaken by a game developer, which may range from
one person to a large business. Traditional commercial PC and console
games is normally funded by a publisher and take several years to
develop. 2-dimensional JAVA games can take less time and can be
produced cheaply by individuals and small developers. The 2-
dimensional JAVA game industry has seen a rise in recent years with the
growth of new online distribution systems and the mobile game market.
The first video games were developed in the 1960s, but required
mainframe computers and were not available to the general public.
Commercial game development began in the 1970s with the advent of
first generation video game consoles and home computers. Due to low
costs and low capabilities of computers,a lone programmer could develop
a full game.

However, approaching the 21st century, ever-increasing


computer processing power and heightened consumer expectations made
it difficult for a single developer to produce a mainstream console or PC
game. The average price of producing a video game slowly rose from
US$1–4 million in 2000 to over $5 million in 2006, then to over $20
million by 2010.

Mainstream PC and console games are generally developed in phases.


First, in pre-production, pitches, prototypes, and game design documents
are written. If the idea is approved and the developer receives funding, a
full-scale development begins. This usually involves a 20–100 person
team of various responsibilities, such as designers, artists, programmers,
testers, etc.

Invertis Institute of Computer Applications, Invertis University, Bareilly Page 9


PROBLEM STATEMENT

Video game culture is a worldwide new media subculture in entertainment


domain formed by video games and it has exponentially increased in
popularity over time, while having a significant influence on popular
culture. Increasing internet culture and mobile games have also helped
video games evolve. As the gaming sector becomes more & more social
with multiplayer and online capability, gamers find themselves in growing
social networks. Playing video games can both be entertainment as well as
competition, as the trend known as electronic sports has become more
widely accepted. Video games based on movies or comics are widely
popular as well, as the players can visualize themselves in the scenario and
control them.

Video games while entertaining also acting as a key player in creating


awareness of social responsibility in the community / education purpose /
enhancing capability of human mind etc.
Innovative games bridge the gap between theory and practice and provide
practice opportunities for real-world experience in a safe and fun
environment that is diversely rich with opportunity for immediate feedback.

There is a lot of enthusiasm in the field of gaming industry in the North


Eastern region,especially Mizoram where the youth is motivated and
excited to take up gaming as a career choice. Mizoram organizes many
events such as Cosplay and Comicon. A combination of soft skill, artwork,
education system increases the in-game learning in better pace.
Methodology like Game-based learning allows kids to develop cognitive,
social and physical skills simultaneously. The knowledge and skills
acquired through game-based learning are retained longer than information
from other learning methods

Invertis Institute of Computer Applications, Invertis University, Bareilly Page 10


SYSTEM ANALYSIS AND FEASIBILITY STUDY

In the era of rapid development of science and technology where there has
been an extensive development of computer games, The scope of this thesis
is discussing the research on a computer game called “Treasure Hunt“, and
it will establish whether a computer game is helpful and has any advantage
in learning as opposed to other traditional teaching methods. The aim of this
document is to let players interested in the history of Chinese currency learn
more about it, and also to check the memory of the players through the real
results of the survey we have conducted.

The thesis is also describing how to


analyze and evaluate the result by the game and surveys to see if computer
games can be considered as a helpful teaching aid. The game is a 3D single
player game. The main platform of game is creating in Unity3D .According
to the survey results, the entertaining and teaching effectiveness of the game
education is working very well. Thus the author can conclude: computer
games can be really helpful in education.

Invertis Institute of Computer Applications, Invertis University, Bareilly Page 11


OBJECTIVE AND SCOPE OF PROJECT

Objective: The objective of this Project is to create a 3D Third-Person


Multiplayer shooting game using Unity Engine and Photon. Here's a
breakdown of the objective and scope:
I. Multi Player
II. Mobile based
III. 3-Dimensional platform
IV. Multiple level
V. Action-based
VI. 2D platform for GUI and menu systems
VII. Testing for 0 bugs in game
VIII. Written in C# using Unity Libraries.

Scope:

Advantages:
1. Have fun in no time.
2. Problem solving skill.
3. Imagination and creativity.
4. Interaction with people.

Disadvantages:
1. Lack of hobbies.
2. Addiction
3. Excessive gaming can effect Eye Sight.

Invertis Institute of Computer Applications, Invertis University, Bareilly Page 12


HARDWARE AND SOFTWARE TO BE USED

Creating a 3D Multiplayer Shooting Game using Unity typically involves a


combination of hardware and software components. Here's a breakdown of
what you might use:

Hardware:

1.Computer: You'll need a computer or a server to host the system. This


could be a desktop, laptop, or a dedicated server machine depending on the
scale of your project.

2.Networking Equipment: If your system will be accessed over a network,


you'll need networking equipment such as routers, switches, and cables to
establish connections between computers.

3.Storage: Depending on the scale of the project, you may need storage
devices such as hard disk drives or solid-state drives to store data related to
the Employee Management System.

4.Peripheral Devices: These include input/output devices like keyboards,


mice, monitors, and printers which might be used for interacting with the
system or producing reports.

Invertis Institute of Computer Applications, Invertis University, Bareilly Page 13


Software:

1.Unity 3D: Unity 3D allows developers to develop games for various


platforms, including PC, Mac, iOS, Android, and more. Unity 3D is also
used for architectural visualizations, training simulations, and other types of
interactive media.

2.Photon Pun 2: Photon Unity Networking (PUN) is a Unity package for


multiplayer games. Flexible matchmaking gets your players into rooms
where objects can be synced over the network. RPCs, Custom Properties or
"low level" Photon events are just some of the features. The fast and
(optionally) reliable communication is done through dedicated Photon
server(s), so clients don't need to connect one to one.

3.Blender: Blender is the free and open source 3D creation suite. It supports
the entirety of the 3D pipeline—modeling, rigging, animation, simulation,
rendering, compositing and motion tracking, even video editing and game
creation.

4.Visual Studio: Visual Studio Code is a streamlined code editor with


support for development operations like debugging, task running, and
version control. It aims to provide just the tools a developer needs for a
quick code-build-debug cycle and leaves more complex workflows to fuller
featured IDEs, such as Visual Studio IDE.

5.Operating System: The choice of the operating system depends on your


preference and the requirements of your project. Java is platform-
independent, so you can develop and run Java applications on various
operating systems like Windows, Linux, or macOS.

Invertis Institute of Computer Applications, Invertis University, Bareilly Page 14


SYSTEM LOGICAL DESIGN

1. Data Flow Diagram:

Invertis Institute of Computer Applications, Invertis University, Bareilly Page 15


2. Data Dictionary:

Asset: Shorthand for anything that goes into a video game – characters,
objects, sound effects, maps, environments, etc.
Bug: Any development issue that makes a game unenjoyable, unstable, or
unplayable in its current state.
Cinematics/cutscenes: Segments of a game that are not controlled by the
player. These are usually used to draw attention to major story points.
Code: Computer languages used for creating and defining functionality in
software. Unity uses C# (C Sharp) for coding games.
Collision: The action of two objects coming together and touching/striking
one another in-game.
Collision detection: A process that determines when and where an object will
“collide” with another object in-game.
Console: A type of personal computer specifically built for gaming. Sony
PlayStation, Microsoft Xbox, are all examples of consoles.
Cross-platform: Something that can work or be used on different platforms.
Terrain: Anything that creates the environment in a video game.
Texture: A visual wrapping placed around GameObjects, such as the skin on
a character.
UI/GUI: User interface / graphical user interface. Menus, inventories, and
other non-game interactive systems on-screen.
Visual scripting: A method of organizing and generating code visually,
where developers can create and connect graphical nodes to organize
different GameObjects, events, programs, etc.

Invertis Institute of Computer Applications, Invertis University, Bareilly Page 15


Debug: Finding and removing bugs in a game. Sometimes referred to as
“bug-bashing.”

Demo: A proof-of-concept version of a game, typically released to the public


for promotional and/or feedback purposes.

Event: A game action that is completed through user input. When a player
presses a button on their controller and the on-screen character jumps, this is
considered an event.

Game designer: One who designs the aesthetic and structure of a game.

Game developer: One who turns a game design into a playable game through
coding and in-engine asset creation.

Game engine: Software that offers tools and features to game developers in
order to build their games professionally and efficiently.

Localization: Translating a game into multiple languages.

Model: A fully 3D asset in a video game that is created by adding textures


and other features to a mesh.

Multiplatform: Compatible with more than one kind of hardware or operating


system.

Physics: Utilizing real-life laws of physics in games to make movement and


environmental behaviors more realistic.

Playtesting: Playing through each new build of a game in order to find bugs,
ensure gameplay flow, and explore potential opportunities for improvement.

Invertis Institute of Computer Applications, Invertis University, Bareilly Page 17


Asset Store: A Unity website that lets you download pre-made assets for use
in your game development projects. Unity developers can also publish their
own pre-made assets to the Asset Store for other developers to use.
C Sharp (C#): The coding language used to create scripts within Unity. C
Sharp is primarily responsible for the functionality of a game, going beyond
the limitations of general game development tools to help developers tailor
and perfect gameplay.
Component: Something that is attached to a GameObject to alter its
functionality.
Editor: The dashboard on which all of Unity’s functionality is made
available to its users.
GameObject: Characters, props, and scenery in Unity.
Hierarchy window: A window in the Unity Editor that displays all
GameObjects currently being used in your Scene.
Inspector window: The window in which you can view and edit the
properties and settings of almost everything that appears in the Unity Editor,
including assets, GameObjects, and the Editor itself.
Instance: A specific version of a GameObject created from a template and
modified to carry specific traits and behaviors that differentiate it from its
original form.
Instantiation: The creation of an instance.
Materials: Editor objects that store the properties of surfaces in Unity, such
as texture, shader, and colour tint settings.
Package: A container that holds any combination of Assets, Shaders,
Textures, icons, and scripts that enhance various parts of your project.

Invertis Institute of Computer Applications, Invertis University, Bareilly Page 18


Package Manager: A feature within the Unity Editor that allows you to
download and install add-ons and enhancements (packages) for the Unity
Editor.

Perspective camera: A camera view that projects objects according to their


actual placement and distance on screen, giving viewers a sense of their
real-world positions. This is commonly used for fully 3D titles.

Prefab: A typically customized, reusable version of a GameObject.

ProBuilder: A Unity feature that enables designers to build, edit, and


texture custom 3D geometry for in-scene level design.

Project window: Effectively the file finder in Unity. This is where you will
be able to dive into your Scene, Asset, Prefab, and other folders.

Rigidbody: A component in Unity that lends a GameObject the ability to


react to its environment through physics.

Runtime: The rendered, platform-specific output (e.g., for iOS, Android,


Oculus or PlayStation 4) from a Unity project.

Scene: The entire editable area in which a game can be built.


Environments, props, obstacles, NPCs, menu functions and more can be a
part of each Scene in Unity.

Timeline: A feature in Unity for creating cinematic content, game-play


sequences, audio sequences, and complex particle effects.

UIElements: A unified UI editing tool in Unity. As of Unity 2020.1, this is


known as the UI Toolkit.

Invertis Institute of Computer Applications, Invertis University, Bareilly Page 19


3. ER Diagram:

Invertis Institute of Computer Applications, Invertis University, Bareilly Page 20


INPUT SCREEN

Hierarchy:

Unity Editor:

Invertis Institute of Computer Applications, Invertis University, Bareilly Page 21


Visual Studio Editor:

Game Export:

Invertis Institute of Computer Applications, Invertis University, Bareilly Page 22


Blender Editor:

Actual Game:

Invertis Institute of Computer Applications, Invertis University, Bareilly Page 23


OUTPUT SCREEN
Game Main Screen:

Actual Gameplay:

Invertis Institute of Computer Applications, Invertis University, Bareilly Page 24


TESTING
Test Case : 1 (Single Player)

Invertis Institute of Computer Applications, Invertis University, Bareilly Page 25


Test Case : 2 (Multi Player)

Invertis Institute of Computer Applications, Invertis University, Bareilly Page 26


IMPLEMENTATION

1. Planning and Conceptualization:


Before diving into development, it’s crucial to plan and conceptualize
your game idea. This stage involves defining the game mechanics,
creating a compelling storyline, and designing the game’s characters and
environments. Consider creating concept art, storyboards, and design
documents to solidify your vision.

2. Setting up Unity:
Download and install the latest version of Unity from the official Unity
website (unity.com). Once installed, create a new Unity project and
configure the project settings based on your target platform and
requirements.

3. Creating Game Assets:


Game assets include 2D or 3D models, textures, animations, audio files,
and more. You can create assets using external software like Blender or
use Unity’s built-in tools like ProBuilder for design. Import the assets
into your Unity project and organize them in a logical folder structure.

4. Scene Design and Level Building:


In Unity, scenes represent different levels or sections of your game. Use
Unity’s Scene View to create and arrange game objects, including
characters, props, and terrain. Utilize the Unity Editor’s tools to position
and scale objects, adjust lighting and camera settings, and create
interactive elements.

5. Scripting and Gameplay Programming:


Unity uses C# as its primary scripting language. To add functionality and
interactivity to your game, write scripts that control player movement,
object interactions, AI behavior, game rules, and more. Unity provides a
rich API and documentation to assist you in implementing game logic.

Invertis Institute of Computer Applications, Invertis University, Bareilly Page 27


6. User Interface (UI) Design:
Designing an intuitive and visually appealing user interface is essential for
a great player experience. Use Unity’s UI system to create menus, buttons,
dialog boxes, and other UI elements. Implement event handlers and UI
animations to enhance usability and engagement.

7. Audio Integration:
Sound effects and music play a vital role in enhancing the atmosphere and
immersion of your game. Import audio files into Unity and use the Audio
Mixer to control audio levels and apply effects. Write scripts to trigger
sound effects based on gameplay events or user interactions.

8. Testing and Iteration:


Regularly test your game throughout the development process to identify
and fix bugs, tweak gameplay mechanics, and optimize performance.
Unity provides a Play mode, allowing you to test and iterate on your game
within the Unity Editor. Conduct playtesting sessions with a focus group
to gather feedback and make necessary adjustments.

9. Optimization and Performance:


Optimize your game to ensure smooth performance on target platforms.
This includes optimizing asset sizes, reducing draw calls, implementing
efficient algorithms, and utilizing Unity’s performance profiling tools.
Regularly monitor frame rates and memory usage to identify and resolve
performance bottlenecks.

10. Publishing and Distribution:


Once your game is polished and ready for release, prepare it for
publishing. Build your game for the desired platform, such as PC, mobile,
console, or web. Follow the platform-specific guidelines to package your
game and create necessary app store listings or distribution packages.
Consider marketing and promoting your game to reach a wider audience.

Invertis Institute of Computer Applications, Invertis University, Bareilly Page 28


LIMITATIONS AND FUTURE SCOPE

Demand for developers in the gaming industry has increased by 50% in a


couple of years. The gaming industry's expansion has exploded as the
internet and web applications become increasingly integrated into our daily
lives. Yes, imagine a day without the internet! Products from gaming
companies are coming to our smartphones and computers, where we spend
more and more time.

Working in the gaming industry can be one of the


lucrative career options in 2023. Games that people play every day need to
be built, updated, and maintained by someone. As a result of their high
salaries, game developers are in high demand all over the world. Many
people, particularly gamers, find the career path of game development
appealing.

Invertis Institute of Computer Applications, Invertis University, Bareilly Page 29


REFERENCE/BIBLIOGRAPHY

Reference:
 http://unity3d.com
 http://fourm.unity3d.com
 Unity Documentation
 Youtube
 Photon Documentation
 Blender Documentation

Invertis Institute of Computer Applications, Invertis University, Bareilly Page 30

You might also like