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

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

You might also like