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

1

COMSATS University Islamabad (CUI)

Software Requirement Specification


(SRS DOCUMENT)

For

Battle Royale Origins


Version 2.0

By
Ahmed Kiani CIIT/FA17-BSE-013/ISB
Aoun Raza CIIT/FA17-BSE-022/ISB

Supervisor
Ms. Gulmina Rextina

Bachelor of Science in Software Engineering (2017-2021)


2

Revision History
Name Date Reason for Changes Version
3

Application Evaluation History


Comments (by committee) Action Taken
*include the ones given at scope time both in doc and
presentation
Ok (Dr. Uzair Iqbal) None

Supervised by
Ms. Gulmina Rextina

Signature __________________

Contents
1. Introduction.......................................................................................................................................6
1.1 Purpose.......................................................................................................................................6
1.2 Scope...........................................................................................................................................6
4

2. Overall Description............................................................................................................................7
2.1 Product Perspective...................................................................................................................7
2.2 Operating Environment............................................................................................................7
2.3 Design and Implementation Constraints..................................................................................7
3. Requirement Identification Techniques...........................................................................................8
3.1 Use case Diagram.......................................................................................................................8
3.2 Use case Description..................................................................................................................9
3.2.1 UC-01: Create Steam Profile.............................................................................................9
3.2.2 UC-02: Finding a Match..................................................................................................10
3.2.3 UC-03: Edit Settings........................................................................................................10
3.2.4 UC-04: View In-game Map.............................................................................................11
3.2.5 UC-05: Ability Tree.........................................................................................................12
3.2.6 UC-06: View Inventory....................................................................................................12
3.2.7 UC-07: Leave Match........................................................................................................13
3.2.8 UC-08: Quit Game...........................................................................................................14
3.2.9 UC-09: Using Special Abilities........................................................................................15
3.2.10 UC-10: Using Ultimate Ability........................................................................................16
3.2.11 UC-11: Selecting a Character.........................................................................................17
3.2.12 UC-12: In-game Quests...................................................................................................18
3.3 Storyboarding..........................................................................................................................19
4. Game Mechanism................................................................................................................................20
4.1 Player Movement and Related Animations...........................................................................20
4.2 Game Physics...........................................................................................................................20
4.3 Gravity for Bodies and Objects..............................................................................................21
4.4 Forces (Radial Force, Impulse and others)............................................................................21
4.5 Particle System.........................................................................................................................21
4.8 Character Soul Count..............................................................................................................22
4.9 Character Abilities and Power ups.........................................................................................22
4.10 Artificial Intelligence...............................................................................................................23
5. Functional Requirements................................................................................................................23
5.1 Player Movement and Related Animations...........................................................................23
5.2 Player Interaction....................................................................................................................24
5.3 Using Ability Tree....................................................................................................................24
5

5.4 A.I Implemented Neutral Enemies.........................................................................................24


5.5 Player Inventory......................................................................................................................25
5.6 Customize Gameplay Settings.................................................................................................25
5.7 Finding a Match.......................................................................................................................25
5.8 View Player Statistics..............................................................................................................26
5.9 Send Global Text Chat............................................................................................................26
5.10 Send Global Voice Chat...........................................................................................................26
5.11 Customize Graphic Settings....................................................................................................27
5.12 Customize Audio Settings........................................................................................................27
5.13 Active Quests............................................................................................................................28
5.14 Character Selection.................................................................................................................28
5.15 Special Abilities........................................................................................................................28
5.16 Character’s Ultimate Ability...................................................................................................29
5.17 Soul Gathering Mechanism.....................................................................................................29
5.18 Leaving Match.........................................................................................................................29
5.19 Particle Effects and Explosions...............................................................................................30
5.20 In-game Cinematics.................................................................................................................30
5.21 Ace Legion Victory Screen......................................................................................................31
6. Non-Functional Requirements........................................................................................................31
6.1 Reliability.................................................................................................................................31
6.2 Design Constraints...................................................................................................................31
6.3 Usability....................................................................................................................................32
6.4 Stability.....................................................................................................................................32
6.5 Performance.............................................................................................................................32
6.6 Performance.............................................................................................................................32
7. External Interface Requirements...................................................................................................33
7.1 User Interfaces.........................................................................................................................33
7.2 Software Interfaces..................................................................................................................33
8. References........................................................................................................................................35

1. Introduction
6

Battle Royale Origins is a first-person Action game inspired by the popular Battle Royale genre.
The game revolves around the concept of a single player dominating the battlefield from a
number of other players playing on the same map. This document will include and define all of
the in-depth description of the system features, modules, limitations and the constraints of the
system. This document will also include how the system will be developed.

1.1 Purpose

In the present era gaming has become a huge part of the entertainment industry. Game
developers tend to release new games into the market so that the players can play and enjoy them
in order to relieve themselves from the stress of the routine. This game will tend to provide the
players with the same gameplay experience that games of the similar genre provide by utilizing
luxurious hardware requirements. Players will be able to play and experience the gameplay to the
fullest with better ping rates, decent graphics and an overall immersive gameplay experience to
top it off.

1.2 Scope

The game provides the player a multiplayer experience to play on a single map alongside other
players. The players will be able to compete with one another for the title of the Ace legion by
dominating the battlefield. The included map will be based on a semi medieval theme with a
touch of some modern-day structures to give it a unique battlefield for the players. All the related
functionalities present in the modern-day multiplayer FPS gaming titles that enhance the
gameplay experience for the players will be a considerate part of ‘Battle Royale Origins’.
7

2. Overall Description

2.1 Product Perspective

This game will provide the players a multiplayer gameplay experience based on the trending
battle royale genre. The game is powered by Unreal Engine 4 and is a First-Person Shooter. In
many multiplayer gaming title players face many issues that make them unplayable and hence
forth ruin the experience, this project aims to consider those factors and improve them to provide
the players with a better gameplay experience.

2.2 Operating Environment

The proposed game will be only available for Windows OS. The minimum requirements for the
game will be as following:
 Minimum 8 GB of DDR3 RAM
 NVidia GTX 960 or an equivalent AMD GPU
 Core i5 4th Gen 3.1 GHz~ or an equivalent AMD CPU
 Windows 10 or later

2.3 Design and Implementation Constraints

CO-1: The game shall be designed and implemented for Windows 10 OS.
CO-2: The game shall be powered by The Unreal Engine 4 and henceforth will be restricted to
utilize all the assets for commercial use provided they are not sold or utilized as a under the tag
of personal creation.
CO-3: The game shall be designed in C++ due to its support for the development engine.
CO-4: The game shall utilize the DirectX API’s due to their compatibility as well as their support
for the NVidia GPU’s. Utilizing Vulkan a cross platform API is an alternative but there is less
support for NVidia GPU’s as a drawback.
8

3. Requirement Identification Techniques

Following are the techniques that are used for identifying and deriving the functional
requirements for the system.

3.1 Use case Diagram


9

3.2 Use case Description

3.2.1 UC-01: Create Steam Profile

Use Case UC - 01
ID:
Use Case Create Steam Profile
Name:
Actors: Player
Description: User shall be able to create a new Steam profile in order to be connected to the
steam server’s API to play online.
Trigger: Clicking the ‘Steam’ shortcut icon from the Desktop or the start menu will initialize
the Steam Client Bootstrap.
Preconditions: 1. The user must have a valid and accessible Email address.
2. The Steam Desktop application must be installed on the PC.
3. The user must have an internet connection.
Postconditions: 1. The user will have a steam profile.
2. The user will be able to launch the game via the client bootstrap.
3. The user will be able to play the game with friends.
Normal Flow: 1. Start the game by clicking on the game icon
2. Clicks on “Story Mode” button.
3. Roam around map.
Exceptions: Incomplete Installation (#) Errors.
Includes:
Assumptions: 1. The user understands basic technicalities and English language.
2. The user understands how to create a profile.
3. Player understands how to verify his/her account via Email.

Notes and Issues:


10

3.2.2 UC-02: Finding a Match

Use Case UC - 02
ID:
Use Case Finding a Match
Name:
Actors: Player, Host Server
Description: User shall be able to find a match and play it with other players looking for a match
as well.
Trigger: Clicking the ‘Find Match’ button in the main menu.
Preconditions: 1. The player must have initialized the game.
2. The player is in the Main Menu.
3. The player has clicked on the ‘Find Match’ button.
Post conditions: 1. The user client will start finding a match and the player will join a match when
it is found.
Normal Flow: 1. Start the game by clicking on the game icon.
2. Find a match by selecting the ‘Find Match’ button from the Main Menu.
3. Wait for the Match to load up.
Exceptions: 1. The Match fails to load due to server issue.
2. The server times out and the search for match is started again.
Includes:
Assumptions: 1. The user understands basic technicalities and English language.
2. The user understands how to navigate in the Main Menu.
3. The user has played one or more multiplayer games.

Notes and Issues:

3.2.3 UC-03: Edit Settings

Use Case UC - 03
ID:
Use Case Edit Settings
Name:
Actors: Player
Description: User shall be able to view and modify the different settings for the game such as
resolutions and graphics adjustment, modifying controls and other related settings.
Trigger: Selecting the ‘Settings’ option from the Main Menu
Preconditions: 1. The player must have started the game
2. The player must have internet connectivity
Post conditions: 1. The player will open up the settings panel to modify them.
Normal Flow: 1. Start the game by clicking on the game icon.
11

2. Selecting the settings button from the Main menu.


3. The user will be able to make changes to the game settings.
Exceptions:
Includes:
Assumptions: 1. The user has basic knowledge to navigate the main menu of a game.
2. The user understands tweaking different settings for the game.
3. The user understands the technical options readily available to be modified in
the settings.
Notes and Issues:

3.2.4 UC-04: View In-game Map

Use Case UC - 04
ID:
Use Case View In-game Map
Name:
Actors: Player
Description: The user shall be able to view the in-game map during the match to help navigate
the battleground.
Trigger: Pressing the key bound to the Map button.
Preconditions: 1. The game must be initialized.
2. The player must be in a match.
3. The player must have a valid key bound to the ‘Map’ button.
Postconditions 1. The player shall be able to view an enlarged Map of the battleground.
2. The player shall be able to navigate the map for points of interests.
3. The player shall be able to close the map by pressing the same key used to open
it.
Normal Flow: 1. The player starts the game.
2. The player starts the match.
3. When in a match the player presses the key bound to ‘Map’ to open it.
Exceptions:
Includes:
Assumptions: 1. The player understands how to navigate the map.
2. The player has a basic knowledge of in-game maps in battle royale games.
3. The player understands the points of interest on the map.

Notes and Issues:

3.2.5 UC-05: Ability Tree


12

Use Case UC – 05
ID:
13

Use Case Ability Tree


Name:
Actors: Player
Description: The user shall be able to place unlocked spells from the ability tree into their
inventory slots. The Ability tree will be required to call upon using the in-game
currency (Souls) which then will provide the player with the option to upgrade the
existing spells or replace them with new ones available.
Trigger: Pressing the key bound to the ‘Ability Tree’ button to call the Ability tree.
Preconditions: 1. The game must be initialized.
2. The player must be in a match.
3. The player must have sufficient In-game currency (Souls) to call the Ability
tree.
4. The player must have a valid key bound to the ‘Ability Tree’ button.
Postconditions 1. The player shall be able to access the Ability Tree.
2. The player shall be able to upgrade or unlock new spells.
3. The player shall be able to close the Ability Tree by pressing the same key used
to call it.
Normal Flow 1. The player starts the game.
2. The player finds a match.
3. Player Gathers enough in-game currency (Souls) to call upon the ability tree.
4. When in a match the player presses the key bound to ‘Ability Tree’ to open it.
Exceptions:
Includes:
Assumptions: 1. The player understands how to interact with the game objects.
2. The player has played one or more games involving a skill tree.
3. The player can visualize and understand the icons in the Ability Tree.

Notes and Issues:

3.2.6 UC-06: View Inventory

Use Case UC – 06
ID:
Use Case View Inventory
Name:
Actors: Player
Description: The user shall be able to view the special abilities placed within the inventory slots
as well as the total soul count the player has.
Trigger: Pressing the key bound to the ‘Inventory’ button.
Preconditions: 1. The game must be initialized.
2. The player must be in a match.
3. The player must have a valid key bound to the ‘Inventory’ button.
Postconditions 1. The player shall have a popup screen which will allow the player to view or
remove the special abilities and manage his inventory slot space.
14

2. The player shall be able to navigate the map for points of interests.
3. The player shall be able to close the map by pressing the same key used to open
it.
Normal Flow: 1. The player starts the game.
2. The player finds a match.
3. When in a match the player presses the key bound to ‘Inventory’ to open it and
close it the same way.
Exceptions:
Includes:
Assumptions: 1. The player understands the concept of managing an in-game inventory.
2. The player has a basic knowledge of what the icons in the inventory represents.
3. The player has a basic knowledge of games with an inventory system.

Notes and Issues:

3.2.7 UC-07: Leave Match

Use Case UC – 07
ID:
Use Case Leave Match
Name:
Actors: Player, Host Server
Description: The user shall be able to leave the match resulting in abandoning the match causing
a cool down timer before the player is allowed to play another match.
Trigger: Clicking the ‘Leave Match’ button from the in-game Pause Menu when in a Match.
Preconditions: 1. The game must be initialized.
2. The player must be in a match.
3. The player must leave the match by selecting the ‘Leave Match’ button from the
pause menu when in the match.
Postconditions: 1. The player shall have a popup box with the option to return to the game or face
an abandon penalty.
2. The player shall be returned to the Main Menu if the player accepts the abandon
penalty.
3. The player will have a cool down before the next match can be played.

Normal Flow: 1. The player starts a match.


2. The player finds a match.
3. When in a match the player presses the Escape key to open the ‘Pause menu’
and leave the match.
4. The player is provided with the option to ‘Return to the Match’ or face an
‘Abandon Penalty’.
5. If the player cancels the action then he is returned to the match.
6. If the player leaves the match and returns to the Main Menu then there will be
an abandon penalty before the next match can be played.
15

Exceptions:
Includes:
Assumptions: 1. The player knows how to navigate the in-game menu.
2. The player has played multiplayer games before and understands the
consequences of leaving a match.
3. The player understands that once the match is left there is no joining it back.

Notes and Issues:

3.2.8 UC-08: Quit Game

Use Case UC – 08
ID:
Use Case Quit Game
Name:
Actors: Player
Description: The user shall be able to quit the game and go back to the desktop.
Trigger: Clicking the Quit Game button from the Main Menu or by pressing the Alt+F4 keys.
Preconditions: 1. The game must be initialized.
2. If the player is in a match then he must ‘Leave the Match’ or complete it.
3. The player must click the ‘Quit Game’ button from the Main Menu.
Postconditions 1. The player shall have a popup box with the option to exit the game or go back.
2. The player shall return to the Desktop if he chooses to Exit the game.
3. The player shall return to the game if he/she chooses to cancel the process.
Normal Flow: 1. The player starts the game.
2. The Main Menu loads up in the front.
3. The player chooses to Quit the game from the Main Menu.
4. The game closes and the player return to the Desktop.
Exceptions:
Includes:
Assumptions: 1. The player understands how to close a running game.
2. The player knows that closing the game will also close all of the related game
services.
3. The player understands that if he/she forcefully quits the game while in a match
then an abandon penalty will be charged and all the Realtime progress of the
match will be discarded.
Notes and Issues:
16

3.2.9 UC-09: Using Special Abilities

Use Case UC – 09
ID:
Use Case Using Special Abilities
Name:
Actors: Player
Description: The user shall be able to use the special abilities that he/she has unlocked from the
Ability tree by using the souls. The unlocked abilities can also be upgraded using the
Ability Tree and can be viewed in the Inventory.
Trigger: Pressing the key/keys bound to the ‘Special Ability’ button.
Preconditions: 1. The game must be initialized.
2. The player must be in a match.
3. The player must have unlocked the Special Ability from the Ability Tree.
4. The player has a valid key bound to the ‘Special Ability’ button.
5. The player has equipped the required ‘Special Ability’ form the ‘Ability Tree’.
6. The Ability is not on cooldown.
Postconditions: 1. The Special Ability will perform its programmed action and effect.
2. The Special Ability will go on a cooldown before it can be used again.
3. The player will be able to swap the currently present Special Ability/Abilities
with other Special Ability/Abilities available in the Ability Tree.
Normal Flow: 1. The player starts a match.
2. The player finds a match.
3. When in a match the player Calls upon the Ability Tree.
4. The player places the unlocked Special Abilities into his/her Inventory.
5. When the player uses the Special Ability/Abilities they go on a cooldown for a
certain duration.
6. The player can also replace the currently existing Special Ability/Abilities with
other Special Ability/Abilities available in the Ability Tree. The cooldown for
the used abilities previously will not reset until the duration is completed.
Exceptions:
Includes:
Assumptions: 1. The player knows how to handle/use the abilities of the character.
2. The player has played multiplayer games before and understands different
terminologies such as ‘cooldown’, ‘swap ability’ etc.
3. The player understands the concepts of the ‘Souls’ that resemble to the other in-
game currencies in other games opting to the similar concept.
Notes and Issues:

3.2.10 UC-10: Using Ultimate Ability

Use Case UC – 10
ID:
Use Case Using Ultimate Ability
Name:
17

Actors: Player
Description: The player shall be able to use the Ultimate ability of the character (Legion) he/she
is playing with in the match.
Trigger: Pressing the key bound to the ‘Ultimate Ability’ button.
Preconditions: 1. The game must be initialized.
2. The player must be in a match.
3. The player has a valid key bound to the ‘Ultimate Ability’ button.
4. The Ultimate Ability is not on cooldown.
Postconditions: 1. The Ultimate Ability will perform its programmed action and effect.
2. The Ultimate Ability will go on a cooldown before it can be used again.
Normal Flow: 1. The player starts a match.
2. The player finds a match.
3. The player uses the Ultimate Ability in combat or randomly.
4. Once the player uses the Ultimate Ability it will go on a cooldown for a certain
duration.
5. The Ultimate Ability can be used again when the cooldown duration is up.
Exceptions:
Includes:
Assumptions: 1. The player knows what action the Ultimate Ability will perform.
2. The player has played a game where the playable characters have certain
abilities.
3. The player understands that the ability cannot be used simultaneously before the
cooldown duration is up.
Notes and Issues:

3.2.11 UC-11: Selecting a Character

Use Case UC – 11
ID:
Use Case Selecting a Character
Name:
Actors: Player
18

Description: The player shall be able to select a playable character (Legion) once the character
selection screen appears after the Match is found. There will be a certain time period
to select a character (Legion) before it expires and picks a random character
(Legion).
Trigger: Selecting a character (Legion) from the Character Selection screen and clicking the
‘Pick’ button.
Preconditions: 1. The game must be initialized.
2. The player must be in a match.
3. The player picks a character (Legion) within the time duration or a random
character (Legion) shall be selected.
Postconditions: 1. The player shall enter the match with the character (Legion) he/she has picked.
2. The player shall be able to use the Ultimate Ability specified to that character
(Legion).
3. The player shall be able to hear the dialogues and voices specified to that
character (Legion).

Normal Flow: 1. The player starts a match.


2. The player finds a match.
3. The player is redirected to the Character Selection screen.
4. The player selects a character (Legion) and presses the Pick button on the
screen before the time run out.
5. If the time runs out a random character (Legion) shall be selected for the player
to play with.
Exceptions:
Includes:
Assumptions: 1. The player knows how to select a character from the character selection screen.
2. The player has played one or more multiplayer games featuring a character
selection screen.
3. The player understands that a random character will be selected if no character
is picked and the timer runs out.
Notes and Issues:

3.2.12 UC-12: In-game Quests

Use Case UC – 12
ID:
Use Case In-game Quests
Name:
19

Actors: Player
Description: The player shall be able to take on in-game quests in real time.
Trigger: Pressing the key bound to the ‘Interact’ button.
Preconditions: 1. The player starts a match.
2. The player finds a match.
3. The player interacts with an NPC to accept the quest.
Postconditions: 1. The player accepts the quest
2. The player completes the quest successfully.
3. The player dies or fails the quest.
4. The player receives the reward upon completing the quest.

Normal Flow: 1. The player starts a match.


2. The player finds a match.
3. The player selects a playable character.
4. The player is in the game map.
5. The player interacts with an NPC.
6. The player accepts the quest.
7. The player completes the quest, dies or fails it.
8. The player receives the reward accordingly.
Exceptions:
Includes:
Assumptions: 1. The player knows how to navigate the in-game menus.
2. The player has played multiplayer games before and understands the
consequences of leaving a match.
3. The player understands that once the match is left there is no joining it back.

Notes and Issues:

3.3 Storyboarding

The storyboard of the game will help understand the concept of the game in terms of both
its concept as well as the features. The storyboard will include the different phases of the
game as they will take place. Below are the illustrations of Battle Royale Origins
storyboard.
20
21

4. Game Mechanism

As for every other developed software there are its functional requirements that make it
full of functionalities that make it useable. In the same way for a game there are its
mechanics that are referred to the features and functionalities included within it that make
it playable.

Some of the game mechanisms used in Battle Royale Origins are:

4.1 Player Movement and Related Animations

The player will be able to navigate through the map using the assigned keys on the input
device. The player will be able to move, jump, crouch, prone as a part of the basic
movement set, as these are the basics expected of an FPS game.

4.2 Game Physics

The Game Physics will comprise of all the laws of physics as they are in real life with
some exceptions such as no damage upon freefall. This will make the game more fun to
play. Apart from that the game will provided an approximation of the Physics
which exists in the real world. The objects within the game will act upon the laws of physics to
make the game seem like the real-world simulation with a touch of fantasy.

4.3 Gravity for Bodies and Objects

As in the real-life Gravity being the force which pulls everything towards the center
keeping everything intact. The gravity in-game will prevent the rigid bodies and other
22

objects from breaking down from too much gravitational force. Similarly, the gravity
will prevent the rigid bodies and objects from flying off into the air when certain actions
such as jumping are performed.

4.4 Forces (Radial Force, Impulse and others)

These are the forces that determine certain factors as how much impulse or outwards
force will be generated when any blast or explosive force is produced. For some spells or
ultimate abilities of some Legions for that matter there will always be an explosive force
i.e. the Radial force and the impulse required to make that effect look realistic and
powerful to visualize a destructive and powerful attack.

4.5 Particle System

The Particle system is one of the core elements in a game that puts life into it. Without
the particle effects the game will seem rather dull and unrealistic in terms of its graphics
and the gameplay feel. These particles will be present in the game in various forms of
smoke, dust, sun shaft, water particles and many other instances in the game that will
make the gameplay experience livelier and realistic.

4.6 Object Colliders

As discussed in the previous document, the Object colliders will accomplish multiple
tasks at once. For instance, colliders will but bounds around a solid object model such as
a building to prevent the player from going directly through it as a glitch. Similarly, the
colliders will prevent players from passing directly through the other solid objects in the
map by creating bounds or colliders for them. In cases like two objects colliding with one
another such as a launched attack from one player’s side towards an enemy will cause
him/her to take damage as a result of the collider acting as a hit box.

4.7 Pathfinding
In a game apart from the player there are other NPC’s (Non-Playable Characters) that add
to the livelihood of the game making it seem more real and interactive towards the player.
The Pathfinding technique is one of the techniques that falls under the category of AI. As
the NPC’s in the game are not controlled by the player instead they are made Artificially
Intelligent to perform various things on their own. One such thing is making them move
around the map either freely or bound to a certain radius. But what will happen if there
23

are obstacles or other obstructions that might halt their movement or collide with them
making them stuck at a certain point. This is where the Pathfinding allows the NPC’s to
identify the obstacles based on their colliders to change their path i.e. finding their path to
the destination with the help of Artificial Intelligence. All the NPC’s that will be
interactive with the player will be programmed with the AI for Pathfinding.

4.8 Character Soul Count

Many of the games revolve around the concept of different in-game currencies that are
used for various purposes such as buying upgrades, unlocking new things or other
purposes that add to facilitate the player in the game. Battle Royale Origins will feature
the use of ‘Souls’ as its real-time in-game currency to help the player as he advances
through the match. The player with the most souls will not be the victor but he/she will be
able to unlock various special abilities or perks that will help overwhelm the enemy
players. As mentioned above the souls will be a real-time currency and will not be
available to the player after the match ends. They will be obtainable via various methods
such as completing quests, slaying enemies or the neutral enemy camps available
throughout the map.

4.9 Character Abilities and Power ups

In many games the developers tend to equip the players with some extra abilities that
help them in certain situation ranging from passively contributing to an increase in their
stats or in combat. In the game each playable character (Legion) will be equipped with an
Ultimate Ability that will prove useful in certain situations mostly to help the player
survive and dominate the battlefield. Apart from the Ultimate Ability there will a number
of Special Abelites for the player to choose from that will be available to unlock and
equid as the Match progresses. There will be limited slots in the Inventory to place the
Special Abilities in. For both the Ultimate Ability and the Special Abilities there will be a
cooldown once they are used to prevent the player from spamming them and making the
game unfair. Once the cooldown in up the player can then use them again.

4.10 Artificial Intelligence

Artificial Intelligence has become more popular in the present era games. This is because
it brings the game to life by allowing the player to be surrounded by an interactive
environment that does everything on its own, from basic movements to an interactive
combat Artificial Intelligence does it all. In Battle Royale Origins the Neutral Enemies
24

residing in their camps will be programmed with AI to respond to certain situations such
as when they will detect a player in their grounds. If they have a quest to offer the player
then they will interact accordingly. If they want to kill the player then they will begin to
attack the player. All of this will be performed by the Neutral Enemies on their own with
the help of just AI at the back. The pathfinding technique mentioned above is also an
implementation of Artificial Intelligence.

5. Functional Requirements

5.1 Player Movement and Related Animations

Identifier FR – 01
Title Player movement and Related Animations
Requirement The player shall be able to move the character (Legion) in the
desired direction until stopped or interrupted by the user. Along
with basic movements other actions/animations such as
jumping, crouching or going prone etc. will also be a part of the
characters movements.
Source User
Rationale To allow the player to roam freely throughout the map and
animate the character model according to the Action he/she is
performing.
Restrictions and Risk
Dependencies
Priority High

5.2 Player Interaction

Identifier FR – 02
Title Player Interaction
Requirement The player shall be able to interact with the Ability Tree for
unlocking/upgrading Special Abilities. Also, interaction with Neutral
Enemies for Quests will be a part of player interaction.
25

Source User
Rationale To Interact with the with the required objects within the game as a part
of an added functionality for the player.
Restrictions and Risk
Dependencies FR – 01
Priority High

5.3 Using Ability Tree

Identifier FR – 03
Title Using Ability Tree
Requirement The player shall be able to call upon the Ability tree with the required
souls and interact with it for the purpose of unlocking/upgrading various
Special Abilities
Source User
Rationale To allow the player to acquire useful Special Abilities that will help him/
her at various stages of the match such as in combat or with the player
stats.
Restrictions and Risk
Dependencies FR-02, FR-17
Priority High

5.4 A.I Implemented Neutral Enemies

Identifier FR – 04
Title AI Implemented Neutral Enemies
Requirement The player shall be able to combat the Neutral Enemies across the map
or take on any Quests that they have to offer for extra rewards.
Source User
Rationale Freedom to Interact to with the Neutral Enemies either through combat
or another approach.
Restrictions and Risk
Dependencies
Priority High

5.5 Player Inventory

Identifier FR – 05
Title Player Inventory
Requirement The player shall be able to unlock/upgrade Special Abilities and place
26

them in the inventory slots to be used.


Source User
Rationale To allow the player to store the Special Abilities each with its own
benefits in order to help the player use them when he requires them.
Restrictions and Risk
Dependencies
Priority High

5.6 Customize Gameplay Settings

Identifier FR – 06
Title Customize Game Settings
Requirement The player shall be able to tweak various settings that will impact the
overall gameplay experience for him/her in terms of the game
performance as well as other factors such as mouse sensitivity, key
bindings etc. that will impact the players combat.
Source User
Rationale To enable the user to modify the existing Game Settings with his own
preferences so that he/she is comfortable with them.
Restrictions and Risk
Dependencies
Priority High

5.7 Finding a Match

Identifier FR – 07
Title Finding a Match
Requirement The user shall be able to play online with other real players. The players
will be put in a lobby till the required number of players arrive and the
Match will commence.
Source User
Rationale Allowing the player to look for a match with other players in the game
looking to do the same.
Restrictions and Risk
Dependencies
Priority High

5.8 View Player Statistics

Identifier FR – 08
27

Title View Player Statistics


Requirement The player shall be able to view his statistics including the Health, Soul
Count, Attack Damage, Armor, cooldown of Abilities (Special and
Ultimate).
Source User
Rationale Helping the player keep track of his different statistics to ensure he/she
goes into a combat fully prepared.
Restrictions and Risk
Dependencies
Priority High

5.9 Send Global Text Chat

Identifier FR – 09
Title Send Global Text Chat
Requirement The player shall be able to type in a text message which will be
communicated to all the players in the match. There will be a cooldown
before the next message can be typed by the same player.
Source User
Rationale This will enable the players to communicate amongst one another as
well as taunting one another.
Restrictions and Risk
Dependencies FR-07
Priority High

5.10 Send Global Voice Chat

Identifier FR – 10
Title Send Global Voice Chat
Requirement The player shall be able to say anything in his microphone for a limited
duration which will be communicated to all the players in the match.
There will be a cooldown before the next voice chat can be transmitted
by the same player.
Source User
Rationale This will enable the players to communicate amongst one another as
well as taunting one another.
Restrictions and Risk
Dependencies FR-07
Priority High
28

5.11 Customize Graphic Settings

Identifier FR – 11
Title Customize Graphic Settings
Requirement The user shall be able to modify the different graphical presets for the
game that will make the game more visually appealing at the cost of
more hardware consumption. Different settings such as Resolution,
Texture Quality, Enable/Disable Vertical Sync and Draw Distance etc.
will be some of the modifiable graphical settings.
Source User
Rationale To enable the user to change the graphic settings for a better
performance or better visuals as he/she requires.
Restrictions and Risk
Dependencies
Priority High

5.12 Customize Audio Settings

Identifier FR – 12
Title Customize Audio Settings
Requirement The user shall be able to adjust the various sound settings available for
the game including the overall sound.
Source User
Rationale To enable the user to adjust the sound intensity that makes him
comfortable.
Restrictions and Risk
Dependencies
Priority High

5.13 Active Quests

Identifier FR – 13
Title Active Quests
Requirement The player shall be able to undertake several quests readily available
across the map that will be assigned to the player by some of the NPC’s.
Source User
Rationale To provide the player with the facility to gather extra souls as an income
29

from undertaking these quests and at the same time eliminating some of
the players that are a part of those quests.
Restrictions and Risk
Dependencies
Priority High

5.14 Character Selection

Identifier FR – 14
Title Character Selection
Requirement The player shall be able to select one of the characters (Legions) from
multiple characters available on the character selection screen when the
player finds a match.
Source User
Rationale To allow the player to pick a character that suits his gameplay style.
Restrictions and Risk
Dependencies FR-07
Priority High

5.15 Special Abilities

Identifier FR – 15
Title Special Abilities
Requirement The player shall be able to equip any unlocked abilities from the ability
tree and use them when required by him/her. The special ability will go
on cooldown after it has been used.
Source User
Rationale To allow the player to utilize any of the equipped special ability for
situations like combat which will help in eliminating other players.
Restrictions and Risk
Dependencies
Priority High

5.16 Character’s Ultimate Ability

Identifier FR – 16
Title Character’s Ultimate Ability
Requirement The player shall be able to use the ultimate ability in certain scenarios
30

that will provide the player an edge. The ultimate ability will go on
cooldown after it has been used.
Source User
Rationale To allow the player to utilize the ultimate ability for situations like
combat which will help in eliminating other players.
Restrictions and Risk
Dependencies
Priority High

5.17 Soul Gathering Mechanism

Identifier FR – 17
Title Soul Gathering Mechanism
Requirement The player shall be able to gather/farm for souls by eliminating other
players, eliminating neutral enemies and by doing side quests.
Source User
Rationale Souls will allow the player to set up the ability tree, unlock/upgrade
special abilities. The soul count will increase or decrease based on the
number of souls the player gathers or spends.
Restrictions and Risk
Dependencies
Priority High

5.18 Leaving Match

Identifier FR – 18
Title Leaving Match
Requirement The player shall be able to leave a match he/she is playing at any time
but with an abandon penalty.
Source User
Rationale Allowing the player to disconnect from a match he/she has started at any
point of the match but with the downsize of an abandon penalty.
Restrictions and Risk
Dependencies FR-07
Priority High
31

5.19 Particle Effects and Explosions

Identifier FR – 19
Title Particle Effects and Explosion
Requirement The player shall be able to use the special/ultimate ability some of which
will cause explosions and various particle effects.
Source User
Rationale Allowing the player to experience enhanced graphics firsthand in the
form of visually appealing and somewhat realistic particle and explosion
effects.
Restrictions and Risk
Dependencies
Priority High

5.20 In-game Cinematics

Identifier FR – 20
Title In-game Cinematics
Requirement The player shall be able to trigger various cinematics scenes based on
certain scenarios/events.
Source User
Rationale Enabling the player to experience realistically rendered cinematics
scenes based on some of the actions that will trigger them to play.
Restrictions and Risk
Dependencies
Priority High

5.21 Ace Legion Victory Screen

Identifier FR – 21
Title Ace Legion Victory Screen
Requirement The player shall be able to trigger the ace legion victory screen when
he/she is the last player standing on the battlefield.
Source User
32

Rationale The will allow the player to know that he/she is victorious and all the
other players have been eliminated from the map.
Restrictions and Risk
Dependencies
Priority High

6. Non-Functional Requirements

6.1 Reliability

Identifier NFR1
Title Reliability
Requirement 1. The game shall provide a reliable connection between the
Client and Server end to prevent unnecessary disturbances.
2. In case of any crash, game will be loaded from the last
checkpoint

6.2 Design Constraints

Identifier NFR2
Title Design Constraints
Requirement 1. The game shall be developed in the programming Language
C++
2. The game shall be implemented in the Unreal Engine 4

6.3 Usability

Identifier NFR3
Title Usability
Requirement 1. The game shall have an interface similar to the current era
Battle Royale Games to reduce ambiguity for players.
33

2. The key bindings will be similar to the existing Battle Royale


Games/FPS games to reduce confusion.

6.4 Stability

Identifier NFR4
Title Stability
Requirement 1. The game shall provide a stable connection form the client to
the sever side and vice versa with no or minimum latency
issues.
2. The client side shall be able to receive the response to their
ticks with no or minimal latency issues.

6.5 Performance

Identifier NFR5
Title Performance
Requirement 1. The game shall run well and perform as intended on medium
end systems.
2. The game shall provide better performance results based on
the increase in hardware specifications.

6.6 Availability

Identifier NFR6
Title Availability
Requirement 1. The game server shall be available at all times except for the
maintenance period
2. The game shall provide better performance results based on
the increase in hardware specifications.

7. External Interface Requirements


34

7.1 User Interfaces

Main Menu

7.2 Software Interfaces

Unreal Engine 4
35

Blender

Visual Studio
36

8. References

1. https://creately.com/diagram/example/i2aslpzq1/Minecraft%20Multiplayer%20Maze
%20Game

2. https://docs.unrealengine.com/en-
US/Engine/UMG/HowTo/CreateMainMenu/index.html

You might also like