MULTIPLAYER SHOOTER GAME
USING GODOT
A PROJECT REPORT
Submitted by
KAMESH J (110717104016)
PRAVEEN R (110717104031)
YUVARAJ P (110717104048)
SAI YESHWANTH R (110717104050)
In partial fulfilment for the award of the degree
Of
BACHELOR OF ENGINEERING
IN
COMPUTER SCIENCE AND ENGINEERING
90,Usha Garden,Kannigaipair,UthukottaiTaluk,ThiruvallurDistrict-601102
ANNA UNIVERSITY:CHENNAI-600025
APRIL-2021
BONAFIDE CERTIFICATE
This is to certify that this report entitled “MULTIPLAYER
SHOOTER GAME USING GODOT” is a bonafide record of
Praveen R(110717104031) Yuvaraj P(110717104048) KameshJ
(110717104016) SaiYeshwanth R(110717104050) who carried out
the project work under our supervision
Signature Signature
Dr.P.Subhashini Dr.P.Subhashini
Head of the Department, Supervisor,
Professor, Professor,
Department of Computer Science Department of Computer Science
And Engineering, And Engineering,
J.N.N Institute of Engineering, J.N.N Institute of Engineering,
Kannigaipair,Thiruvallur-601102. Kannigaipair,Thiruvallur-601102.
Submitted for the university viva voice held on.......................
INTERNAL EXAMINER EXTERNAL EXAMINER
i
ACKNOWLEDGEMENT
First and foremost, I express my sincere gratitude to our beloved
Chairman Shri. S. Jayachandran, B.Sc., B.L., and also heartfelt thanks to
our Vice Chairman Mr.Naveen Jayachandran,M.S., for providing us
necessary facilities for the completion of our project.
We thank our Principal Dr.A.V. Mayakkannan, M.E., Ph.D., for the
encouragement provided with the congenial environment essential for us to
complete this project.
We take this opportunity to express our gratitude to our Head of the
Department Dr.P.Subhashini, M.E., Ph.D., and all the faculty members in
the department of Computer Science and Engineering for giving us continuous
encouragement for completing our project.
With immense pleasure and heartful gratitude, we express our sincere
thanks to the project supervisor and guide Dr.Jayaram, M.E, Professor, in
the department of Computer Science and Engineering for his encouragement
and valuable guidance for the successful completion of this project.Finally, we
would like to thank our parents and friends for their constant support and
encouragement throughout this semester.
ii
4
ABSTRACT
Game development is the process of using graphics libraries, game engines and
image editing software to display images on the screen and let the player manipulate the
images on the screen to create experiences and tell the player a story . There are two
types of 2D games : top-down camera approach and 2D front of the scene camera
approach . In top-down camera approach the camera is placed in the ceiling position so
that the player is viewing the images from the top so the manipulations are done in all
four directions i.e. north, south, east, west. The player has full view of the whole level.
It is a 2D offline multiplayer game, A host can create a game and members can
join in that room same as other games but in our game host is disconnected due to any
network traffic issue or etc ,players can still stay and play in the lobby and during the
gameplay ,if any players disconnected as a same way they can also join at anytime and
points will be stored and they can continue the game wherever they left with the same
point. In this game we used top view camera angle, we can change the character
combat system like a player can use a magical spells for attack, this game basic concept
is to fight a players with in a laboratory using various types of spells we build this game
in GODOT engine using GDSCRIPT.
iii.
5
TABLE OF CONTENTS
CHAPTER TITLE Page No.
Certificate
Declaration
Acknowledgement
Abstract
1 INTRODUCTION 8
1.1 System Overview
1.2 Objective
1.3 Existing System
1.4 Proposed System
2 LITERATURE SURVEY 13
2.1 Introduction
2.2 Related Work Results
3 SYSTEM ANALYSIS & DESIGN 17
3.1 Introduction
3.2 System Architected
3.3 Advantages in Proposed System
3.4 E-R Diagrams
3.4.1 Flow Diagrams
3.4.2 DFD Symbols
3.4.3 Activity Diagram
3.4.4 Use Case Diagram
4 HARDWARE AND SOFTWARE 27
REQUIREMENTS
6
5 PROJECT DESCRIPTION 29
5.1 Problem Definition
5.2 Overview of the Project
5.3 Software Requirements Specification
5.3.1 Purpose
5.3.2 An overall description
5.3.3 Specific Requirements
6 CONCLUSION AND FUTURE 31
ENHANCEMENT
7 APPENDICES
7.1 Appendix A
7.2 Appendix B
Screenshots
REFERANCES
7
CHAPTER -1
8
INTRODUCTION
1.1 SYSTEM OVERVIEW
In this project, presentation of an “MAGIC SPELLS” is an 2D offline multiplayer
game, This Game is built for the purpose providing magical experience ,In this host can create a
game and members can join in that room .But in our game if host is disconnected because of any
network issue, it will automatically select second player as a host, other players can still stay and
play a game in lobby. if any players disconnected in the same way they can also join at anytime
and points will be stored and they can continue the game where they left with the same point. In
this game we used top-view camera angle and we used different types of combat system like
magics for attack. The basic of game is to players fight in the laboratory using magics.
1.2 OBJECTIVE
.
The main objective of our project is to make a player to feel the different Gameplay
experience not same as other games and creating a various features for our game. We plan to
create a log to store the players scores and developed our game in GODOT engine because it
is one of the light weight engine and adding a various music for every action. We create a
different modules for our game like log, player,scores. We used programming language name
called GDSCRIPT. it is a own language for GODOT.This language syntax is same as
python. Players scores will be stored for every in and out from a Game.
9
1.3. EXISTING SYSTEM
In our project, existing system contains normal 2d multiplayer game with a combat system
and weapons like guns .In the existing system if host is disconnected the server will closed so
game will Over. Each game contains a same combat system like others and if players will
remove from the server they will lost the score what they scored and they can’t continue the
game where they left.
1.4. PROPOSED SYSTEM
We proposed many features compared to the existing systems . our main concept of
the game is to use a magical powers for attacking a other players , There are many spells each
spells possess a different powersand players can experience magical world experience.In other
games if host disconnected game will lost and other players in a game will be automatically
removed so we overcome that defect ,In our game players can still play a game even after the
host is disconnected and it will automatically select second player as the new host and players
can still play with same score.score will be stored in the log we created.Removed player can
join at anytime with same score,this will give a player to play with other players Compatatively.
10
FLOW CHART
Create Menu Join
Create Join in
server server
Lobby
In this flowchart how the player can create a lobby or how the player can join created
lobby, from menu if user give create it will create a new game otherwise if user give join it
will join in already created game.
11
CHAPTER 2
CHAPTER 2
12
LITERATURE SURVEY
1.1 INTRODUCTION
Literature survey compiles significant research published on a topic by
A credited scholars and researchers, Surveys scholarly articles, books, dissertations,
conference proceedings, and other sources, Examines contrasting perspectives,
theoretical approaches, methodologies, findings, results and also conclusions.
Reviews critically, analyzes, and synthesizes existing research on a topic; and,
performs a through “re” view, “overview”, or “look again” of past and current
works on a subject, issue, or theory.
1.2 RELATED WORK RESULTS
Computer games are today an important part of most children’s leisure lives
and increasingly an important part of our culture as a whole. We often, as adults,
watch in amazement as children dedicate hours to acting as football coaches,
designers of empires, controllers of robots, wizards and emperors. In the past,
computer games have been dismissed as a distraction from more ‘worthy’ activities,
such as homework or playing outside .but we can adopt themselves to how much of
time they have to spend. There is lots of games are there like shooting games even
13
2d and 3d but every game is not success and lots of games with success like mini
militia etc, we are providing different Features than that games, mini militia has a
many positive sides and they are using military armors and guns. But we used
different weapons. Game development is the process of using graphics libraries,
game engines and image editing software to display images on the screen and let
player manipulate the images on the screen to create experiences and tell the player
a story.Player can feel the different types of combat skills using magics.
Interactive gameplay with multiple spells to attack the opponents, a player
can get a point by killing others. If host disconnected game will not end. We have a
different modules for our game like log,player,scores. We used programming
language name called GDSCRIPT. it is a own language for GODOT. This language
syntax is same as python. Players scores will be stored for every in and out from
Game.
14
CHAPTER 3
15
CHAPTER – 3
SYSTEM DESIGN AND ANALYSIS
3.1. INTRODUCTION
Our main goal is to make a player to feel the different gameplay experience not
same as other games and creating a various features for our game. We are creating log to store
a players scores , We developed our game in GODOT engine because it is one of the light
weight engine and adding a various music for every action. We have different modules for
our game like log, player, scores. We used programming language name called GDSCRIPT. It is
a own language for GODOT. This language syntax is same as python. Players scores will be
stored for every in and out from a Game.
But in our game if host is disconnected because of any network issue, it don’t delete a game
automatically select second player as a host, Other players can still stay and play a game in
lobby, if any players disconnected in the same way they can also join at anytime and points will
be stored and they can continue the game where they left with the same point, In this game we
used top-view camera angle and different types of combat system like magic for
attack , This game basic is to players fight in the laboratory using magic.
Game development is the process of using graphics libraries, game engines and image
editing software to display images on the screen and let the player manipulate the images on the
screen to create experiences and tell the player a story.
16
3.2 SYSTEM ARCHITECTED
Create Menu Join
Create Join in
server server
Lobby
3.3 ADVANTAGES IN PROPOSED SYSTEM
We have proposed many features compared to the existing systems . Some of the
advantages are mentioned below .
1) If user disconnected they can join anytime without losing any points.it does not available
in other games.
2) Player can feel the different types of combat skills using magics.
3) Interactive gameplay with multiple spells to attack the opponents, a player can get a
point by killing others.
4) If host disconnected game will not end it will automatically select another host.
17
3.4 E-R DIAGRAMS
The relation upon the system is structured through a conceptual ER-Diagram, which not
only specifics the existing entities, but also the standard relations through which the system
exists and the cardinalities that are necessary for the system state to continue.
The Entity Relationship Diagram (ERD) depicts the relationship between the data objects.
The ERD is the notation that is used to conduct, the date modeling activity the attributes of
each data object noted, is the ERD can be described resign a data object description.
The set of primary components that are identified by the ERD are
Data object
Relationships
Attributes
Various types of indicators
The primary purpose of the ERD is to represent data objects and their Relationships.
3.4.1 FLOW DIAGRAMS
A data flow diagram is a graphical tool used to describe and analyze the movement of data
through a system. These are the central tool and the basis from which the other components are
developed. The transformation of data from input to output through processing, may be
described logically and independently of physical components associated with the system.
18
These are known as the logical data flow diagrams. The physical data flow diagrams show the
actual implements and movement of data between people, departments and workstations. Full
description of a system actually consists of a set of data flow diagrams. Using two familiar
notations Yourdon, Gane and Sarson notation develops the data flow diagrams.
Each component in a DFD is labeled with a descriptive name. The process is further
identified with a number that will be used for identification purpose. The development of
DFD’S is done on several levels. Each process in lower level diagrams can be broken down
into a more detailed DFD in the next level. The lop-level diagram is often called context
diagram. It consist a single process bit, which plays a vital role in studying the current system.
The process in the context level diagram is exploded into another process at the first level
DFD. The idea behind the explosion of a process into more process is that understanding at
one level of detail is exploded into greater detail at the next level. This is done until further
explosion is necessary and an adequate amount of detail is described for analysts to understand
the process. Larry Constantine first developed the DFD as a way of expressing system
requirements in a graphical form, this lead to the modular design. A DFD is also known as a
“bubble Chart” has the purpose of clarifying system requirements and identifying major
transformations that will become programmed in system design. So it is the starting point of
the design to the lowest level of detail. A DFD consists of a series of bubbles joined by data
flows in the system.
19
3.4.2 DFD SYMBOLS
In the DFD, there are four symbols
1. A square defines a source (originating) or destination of system data
2. An arrow identifies data flow. It is the pipeline through which the information flows
3. A circle or a bubble represents a process that transforms the incoming data flow into
outgoing data flows.
4. An open rectangle is a data store, data at rest or a temporary repository of data.
Source or Destination of Data
Data Flow
Data Store
A process that transforms the data
flow
20
3.4.3 ACTIVITY DIAGRAM
Start
MENU
CREATE: JOIN: Join in
Create a created
server server
Game
Make next
Player as
host
Others join in
same
host
21
3.4.4 USE CASE DIAGRAM
PLAYER 1
CREATE
Player 2
JOIN
Player 2 as new
host
After player1
disconnected
NEW
HOST
Player 3
MAKE
HOST
Player 1 creates a game
Player 1 and player 2 will join in that game.
After host disconnected it will select a new host.
Whether it is any player.
Game will continue as it is.
22
CHAPTER 4
23
CHAPTER – 4
HARDWARE AND SOFTWARE REQUIREMENTS
HARDWARE REQUIREMENTS
Computer with good working condition.
Computer with windows OS.
Minimum of 2GB Ram.
SOFTWARE REQUIREMENTS
GODOT ENGINE :
This is the main component based on which the whole project is based. It is the one of the
lightweight game development platform. This platform offers the latest and best tools for
developing, launching 2D games and also 3D games. it is a free and open source game engine
released under MIT license.
INKSCAPE:
Inkscape is a free and open source vector graphics editor ,it offers a rich set of features
and widely both artistic and technical illustrations such as cartoons ,logo etc., this application
was used to create pixel art images which forms the main art assets of our game.
GDSCRIPT:
GDScript is a high level, dynamically typed programming language used to create
content. It uses syntax similar to python, its goal is to be optimized for and tightly integrated
with Godot Engine, allowing great flexibility for content creation and integration.
24
CHAPTER 5
25
CHAPTER - 5
PROJECT DESCRIPTION
5.1 PROBLEM DEFINITION
Game development is the process of using graphics libraries, game engines and image
editing software to display images on the screen and let the player manipulate the images on the
screen to create experiences and tell the player a story. There are two types of 2D games: top-
down camera approach and 2D front of the scene camera approach. In top-down camera
approach the camera is placed in the ceiling position so that the player is viewing the images
from the top so the manipulations are done in all four directions i.e. north, south, east, west.
Player has full view of the whole level. In 2D front of the scene camera approach the camera is
placed in front of the scene. A scene is the placement of all game attributes to create a scenario.
In this approach the player only sees that much part of the screen which can be captured by the
camera at any given time. The concept of this type of camera placement is that the level is
gradually introduced to the player by moving the camera on the X axis in both the directions.
Furthermore we will be using procedural generation to create variety in level design and loot
Placement . Loot is the magic spells that will be used to give the player a variety of attacking
Skills . In this game a player can control the avatar using a traditional input device like
keyboard.
26
5.2 OVERVIEW OF AN PROJECT
It is a 2D offline multiplayer game, A host can create a game and members can join in that
room same as other games but in our game if host is disconnected due to any network traffic
issue or etc, players can still stay and play in the lobby and during the gameplay , if any players
disconnected as the same way they can also join at anytime and points will be stored and they
can continue the game wherever they left with same point.
5.3 SOFTWARE REQUIREMENTS SPECIFICATION
5.3.1 PURPOSE
Our main purpose of our project is to save the time in growing tomato plants. The
information given by us will be very helpful to them to grow their plant faster and healthy. Our
project has done for the purpose of vertical farming and greenery areas.
5.3.2 AN OVERALL DESCRIPTION
The main objective of our project is to make a player to feel the different gameplay
experience not same as other games and creating a various features for our game. We are
creating log to store the players scores , We developed our game in GODOT engine because it
is one of the light weight engine and adding a various music for every action. We have a
different modules for our game like log, player, scores . We used programming language name
called GDSCRIPT. it is a own language for GODOT. This language syntax is same as
python . Players scores will be stored for every in and out from a Game.
27
1. Interactive UI: The user should see the home screen, which will have an option for create a
lobby and join the lobby and settings tab. The settings tab will let the user adjust the sound
settings.
2. Freedom of Connectivity: The user will get the option to join a game at anytime without
Lose of data.
3. Exploration and item collection: Interactive gameplay with multiple spells to attack the
opponents , Player can get a point by killing others.
4. Procedural Generation: The player can boost up his points by the combo attacks and bonus
points for other activities.
5.3.3 SPECIFIC REQUIREMENTS
1) Our project does not need much hardware requirements . Our maximum amount of
work is done through only by software requirements.
2) We used GDscript for the backend is same as python.
28
6 CONCLUSION AND FUTURE SCOPE:
This game will take the player on a journey of adventure and different magical gameplay
through multiple scenarios. This system can be expanded in the feature by adding more
laboratory maps and spells, Future versions of GODOT engine will bring more features and
opportunities to increase the efficiency of the code and add more features.
7 APPENDICES:
7.1 Appendix A
29
7.2 Appendix B
30
31
REFERANCES:
1.chterbosch, L., Pierce, R., & Simmons, G. (2008). Massively multiplayer online role-
playing games: The past, present, and future. Computers in Entertainment (CIE).
2.Anderson, B. (2010). MMORPGs in support of learning: Current trends and future uses.
In Van Eck (Ed.), Gaming and cognition: Theories and practice from the learning sciences
(pp. 55e81). United States: IGI Publishing.
3.Bell, M. W., Smith-Robbins, S., & Withnail, G. (2010). This is not a gameesocial virtual
worlds, fun, and learning. In Researching learning in virtual worlds. Bennerstedt, U.,
Ivarsson, J., & Linderoth, J. (2012). How gamers manage aggression: Situating skills in
collaborative computer games. International Journal of Computer-Supported Collaborative
Learning, 7, 4 3 e61.
4.Binkley, M., Erstad, O., Herman, J., Raizen, S., Ripley, M., Miller-Ricci, M., et al.
(2012). Defining twenty-first century skills. In P. Griffin, B. McGaw, & E. Care (Eds.),
Assessment and teaching of 21st century skills (pp. 17e66). Australia: Springer.
32
33