W5 Srs

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 23

Software Requirements

Specification

for

Vertical Platformer Game

Version 1.1

Prepared by

Group Name: W5
Nguyen Quang Duc 20204876 duc.nq204876@sis.hust.edu.vn
Le Hong Duc 20204874 duc.lh204874@sis.hust.edu.vn
Tran Le Phuong Thao 20200604 thao.tlp200604@sis.hust.edu.vn
Hoang Van An 20204864 an.hv204864@sis.hust.edu.vn
Luu Trong Nghia 20204888 nghia.lt204888@sis.hust.edu.vn
La Dai Lam 20204918 lam.ld204918@sis.hust.edu.vn

Instructor: Prof. Trinh Thanh Trung

Course: IT3180E - Introduction to Software Engineering

Date: June 4th, 2023


Software Requirements Specification for Vertical Platformer Game Page ii

Table of Contents
Table of Contents .......................................................................................................................... ii
Revision History ............................................................................................................................ ii
1. Introduction ..............................................................................................................................1
1.1 Purpose ........................................................................................................................................ 1
1.2 Document Conventions ............................................................................................................... 1
1.3 Intended Audience and Reading Suggestions.............................................................................. 2
1.4 Product Scope .............................................................................................................................. 2
1.5 References ................................................................................................................................... 2
2. Overall Description ..................................................................................................................3
2.1 Product Perspective ..................................................................................................................... 3
2.2 Product Functions ........................................................................................................................ 4
2.3 User Classes and Characteristics ................................................................................................. 4
2.4 Constraints ................................................................................................................................... 5
2.5 User Documentation .................................................................................................................... 5
2.6 Assumptions and Dependencies .................................................................................................. 5
3. External Interface Requirements ...........................................................................................5
3.1 User Interfaces ............................................................................................................................. 6
3.2 Hardware Interfaces................................................................................................................... 15
3.3 Software Interfaces .................................................................................................................... 15
3.4 Communications Interfaces ....................................................................................................... 16
4. System Features .....................................................................................................................16
4.1 Grappling Hook Movement ....................................................................................................... 17
4.2 Base and Obstacles Spawning ................................................................................................... 17
4.3 Monster Attack .......................................................................................................................... 18
5. Other Nonfunctional Requirements .....................................................................................18
5.1 Performance Requirements........................................................................................................ 18
5.2 Safety Requirements .................................................................................................................. 19
5.3 Security Requirements............................................................................................................... 20
5.4 Software Quality Attributes ....................................................................................................... 20
5.5 Business Rules ........................................................................................................................... 20
6. Other Requirements ..............................................................................................................21
6.1 Database Requirements ............................................................................................................. 21
6.2 Legal Requirements ................................................................................................................... 21

Revision History
Version Primary Author(s) Reason For Changes Date Completed

Version 1.1 Le Hong Duc, Overall updates from client’s 06/17/23


Hoang Van An, feedbacks
La Dai Lam
Software Requirements Specification for Vertical Platformer Game Page 1

1. Introduction
This Software Requirements Specification (SRS) document outlines our solution to the client's
need for creating a vertical platform game. The topics covered in this document include an
introduction to the client's problem, the team's proposed solution on how the game system should
function, specific system and client requirements, and scenarios for each phase when players
play the game, along with accompanying illustrations.

This section provides a scope description and an overview of everything included in this SRS
document. Furthermore, the purpose of this document is described, document conventions and
references are provided.

1.1 Purpose
The purpose of this document is to give a detailed description of the requirements for the vertical
platform game. It will illustrate the purpose and complete declaration for the development of the
game system. It will also explain system constraints, interface, and interactions with other external
applications. This document is primarily intended to be proposed to a client for its approval and
as a reference for developing the first version of the game system for the development team.

1.2 Document Conventions


In general, this document follows the IEEE formatting requirements. The text in this document is
in Arial font and uses a consistent font size of 11. The document text is single-spaced and
maintains the 1" margins. For Section and Subsection titles, we follow the default IEEE template,
which is bold Times font and has the font size of 18 and 14, respectively.
Furthermore, to clarify the unique terminologies, acronyms, and abbreviations used in the
document, the list below clearly specifies the meanings of these terms.

- SRS (Software Requirements Specification): A document of the software system to be


developed that discusses the functional and nonfunctional requirements. It also includes
use cases that describe how users (client analysts) would interact with the software.
- Platformer Game: a sub-genre of action video games where the primary objective is to
navigate the player character between various points within an environment, typically
overcoming obstacles and challenges along the way.
- Vertical Platformer Game: a specific type of platformer game in which the main character
primarily moves in a vertical direction. The gameplay focuses on vertical traversal,
requiring the player to navigate the character upwards or downwards, overcoming vertical
obstacles and hazards.
- Grappling Hook: a tool or mechanic that allows players to shoot a hook or a similar device
attached to a rope or chain. The purpose of the grappling hook is to latch onto surfaces or
objects within the game world, enabling the player to swing, climb, or traverse otherwise
inaccessible areas.
- GHS: abbreviation for Grappling Hook Movement
- BOS: abbreviation for Base and Obstacles Spawning
- MA: abbreviation for Monster Attack
- TBN: abbreviation for To Be Announced
Software Requirements Specification for Vertical Platformer Game Page 2

1.3 Intended Audience and Reading Suggestions


The document is intended for engineers, developers, and project managers. Additionally, this
document is relevant for the client or customer representatives who are involved in reviewing and
approving the requirements for the software system. It is essential for all people involved to have
a clear understanding of the specified requirements to ensure successful development and
implementation of the software.

The remainder of this document includes five chapters and appendixes. The second one provides
an overview of the system functionality and system interaction with other systems. This chapter
also introduces different types of users and their interaction with the system. Further, the chapter
also mentions the system constraints and assumptions about the product. The third and fourth
chapter provides the requirements specification in detailed terms and a description of the different
system interfaces. Different specification techniques are used to specify the requirements more
precisely for different audiences. The fifth chapter deals with non-functional requirements of the
system. The final chapter includes other requirements which may not be included in other
sections.

It is recommended that readers read this document in order. However, readers may choose to
skip to specific sections if they are only interested in a particular topic.

1.4 Product Scope


Our game is a vertical platformer game, which is like a typical platformer game but with vertical
orientation. In this game, the character freely falls and relies on grappling hooks to navigate
between different platforms. Moreover, players must engage in combat with monsters and evade
obstacles.

Our main goal is to create a compelling and satisfying experience for users. In addition to
customer satisfaction, our objective is to increase revenue through sales and advertising. The
game can also serve as a marketing tool to promote other products and services.

During the game, players help the character survive as it falls freely. The character can slow down
by using its hook to hang onto a surface. To fire the hook, players aim and choose the intended
object on the screen. The player's performance can be measured by the time survived or the
distance traveled. There is also a shopping system where players can upgrade the characters'
skills and purchase new items using coins collected during gameplay. Furthermore, users can
play the game on multiple platforms using a single account through synchronization option.
Advertising could be included in the game when necessary to increase profit for clients.

We will build the game on the Unity platform due to its ease of use in the game development
process and its additional features, including multi-platform deployment. Additionally, external
advertising platforms and APIs will be integrated into the game, and an external database will be
utilized to save users' gameplay progress across multiple platforms.

1.5 References
[1] IEEE Software Engineering Standards Committee, “IEEE Std 830-1998, IEEE
Recommended Practice for Software Requirements Specifications”, October 20, 1998.
[2] “Learn Game Development w/ Unity | Courses & Tutorials in Game Design, VR, AR, & Real-
Time 3D.” Unity Learn, https://learn.unity.com/. Accessed 4 June 2023.
Software Requirements Specification for Vertical Platformer Game Page 3

[3] Making an Infinite Runner like Canabalt in Unity - YouTube.


https://www.youtube.com/playlist?list=PL6ynPcXXvDY-dMil96IHEI8wvHO3MmQc1. Accessed 4
June 2023.
[4] I Created the PERFECT Grappling Hook... and You Can Too! UNITY 2D – YouTube.
https://www.youtube.com/watch?v=dnNCVcVS6uw. Accessed 4 June 2023.
[5] Endless Runner Tutorial – YouTube.
https://www.youtube.com/playlist?list=PLm5RHDVbzPLMhwr4AEK79YAmMWFsjOl1B.
Accessed 15 June 2023.

2. Overall Description
In the previous section, we state our purpose as well as scope of the product. To provide a
comprehensive understanding of the game and its functionalities, this section delves into the
product perspective, user classes, constraints, and user documentation. The product perspective
section provides an overview of the game and its characteristics. It highlights that the game is a
standalone product developed using Unity, designed to operate autonomously on Android and
iOS devices. The game includes functions such as hooking, gravitational effect, and object
generators. User classes and characteristics are described, including casual gamers, long
distance runners, longest lasting players, and bonus collectors. Constraints involve hardware and
software requirements, compatibility, and internet connection for synchronization. User
documentation includes a tutorial accessible on the title screen. The section concludes with
assumptions and dependencies.

2.1 Product Perspective

The game itself is not a continuation of any predecessor, it is also not a replacement for certain
existing systems. The game is a new product which is implemented by using a game development
tool Unity. The application is designed to be self-contained and operates autonomously on
devices running the Android or iOS operating systems. It does not rely on or interact with any
external applications for its functionality.
Given the vast number of games available on smartphones and tablets nowadays, the process of
learning how to play can be quite complex. Our objective is to ensure that users understand the
gameplay at first glance. We achieve this by implementing a tutorial interface that appears each
time the user launches the application. To enhance user experience, we have avoided character
stories that may be annoying. Therefore, players will not need to search for a skip button to initiate
or resume gameplay. Instead, players can focus on gaining points, which are calculated based
on factors such as distance traveled, time, and bonus points received during gameplay. To
provide players with new experiences, we have developed a shopping system where users can
purchase various equipment and skins. Additionally, unlike the initial version of Flappy Bird, our
game allows players to pause the game at any moment. We have included a pause button to
enable this functionality. This feature has no negative impact on the user experience; in fact, it
enhances it.
Software Requirements Specification for Vertical Platformer Game Page 4

2.2 Product Functions

- Hooking. Character is equipped hooks that allow him to slow down his free fall and avoid
obstacles. This is a mechanism that allows players to cling to bases that appear when
falling from above.
- Gravitational Effect. This is one of the central mechanics of our game. Players will fall
freely when not clinging to objects.
- Object Generators. While the character is falling, there should be a mechanism to spawn
items. Generators can generate objects including traps, bases, monsters, or obstacles.
Generators produce objects independently; bases and traps, for example, will have
distinct generation procedures. The generators will also be adjusted to the game's
difficulty.
- Title Screen or Main Screen. The first viewable screen upon starting up the application,
containing several buttons. These buttons include the starting button to start a new game,
setting button for options, quit button to exit the application and a button to display tutorials.
- Shopping Menu. Within this menu, players will encounter a booth-like interface where
they can browse and purchase various items, including additional health, skins, or
equipment. The interface will display the players' available funds, allowing them to make
purchases accordingly. Players will only be able to buy products that are priced equal to
or below their current balance.
- Pause Menu. During the game play, a button always appears in the corner so that the
player can pause at any time. When the game is paused, the player will have access to
the Pause Menu. Several options such as restart/continue, volume setting, sensitivity
setting, or exit the game will be displayed.

2.3 User Classes and Characteristics


Our gameplay is innovative and unfamiliar with other regular product systems. As a result, prior
gaming experience will not significantly impact a player's ability to enjoy the game. It is designed
to be accessible to individuals of all ages and skill levels. Nevertheless, like any game with a
substantial fan base, there will naturally be a distinction between casual players and more
dedicated, hardcore players. The characteristics distinguishing players will include:
- Casual Gameplayers. This user class refers to players who are playing for leisure and
relaxation. Casual game players may include individuals of various age groups and
backgrounds.
- Long distance runners. This class is the first type of hardcore players. Their objective is
to run as far as possible. They play games more frequently than other regular gamers.
- Longest lasting players. Like long distance runners, players of this class try to get the
longest survival time of a game. Their turn may be longer than that of regular players. They
are therefore expected to play for considerable amounts of spare time.
- Bonus collectors. The participants in this class aim to gain the most bonus points. There
is a reward system in the game that may be used to buy items. As a result, one
characteristic of this set of gamers may be that they enjoy trying out different features and
equipment.
Software Requirements Specification for Vertical Platformer Game Page 5

2.4 Constraints
The game product is designed to run on touchscreen devices such as smartphones or tablets. To
install the game, devices must be running the Android or iOS operating systems. Certain minimum
hardware and software specifications need to be met, including requirements for storage, RAM,
processors, and operating system versions. Devices that do not meet the minimum RAM and
storage requirements may experience crashes. The smoothness and overall gameplay
experience will be influenced by the specifications of the RAM and processor.

Additionally, compatibility may not be available for some earlier versions of the operating systems.
Internet connection serves as a constraint for synchronization. Since the game is synchronized
across devices using individual accounts, an Internet connection is necessary. When a player's
devices are not connected to the Internet, the game can be played in offline mode, but
synchronization between devices will not occur.

2.5 User Documentation


A tutorial on how to play the game will be available to all users on the title screen. Users will be
able to access the tutorial multiple times, rather than just once. This tutorial serves as a
comprehensive documentation that guides users in learning how to play the game, buy things in
the shopping menu, and synchronize their progress across different devices.

2.6 Assumptions and Dependencies

It is assumed that users will use touch-enabled Android or iOS smartphones that meet the
minimum requirements to play this game. If the phone does not have sufficient hardware
resources for the app, for example, because the user has shared resources with other
applications, the program may not perform precisely as intended or at all.
We also assume that no external software will be utilized with malicious intent, such as cheating,
as it can impact the fairness and overall experience for other players. It is important to note that
the program cannot guarantee proper functioning if the user intentionally employs software that
disrupts the system.

3. External Interface Requirements


The External Interface Requirements section outlines the various interfaces that the game
interacts with, including the user interface, hardware interface, software interface, and
communication interfaces. These interfaces play a crucial role in determining how the game
interacts with users, the devices it runs on, the software it integrates with, and the
communication capabilities it supports. Understanding these requirements is essential for
ensuring a seamless and intuitive user experience, compatibility with different devices and
systems, and effective communication between the game and external components.
Software Requirements Specification for Vertical Platformer Game Page 6

3.1 User Interfaces

Figure 1. Start Screen

When the user opens the vertical platformer game


application, they will be greeted by the initial
screen shown in the figure. This screen features
four main buttons: PLAY, How to Play, Options,
and Exit. These buttons are designed to navigate
the user to various other screens within the
application.
Software Requirements Specification for Vertical Platformer Game Page 7

Figure 2. How To Play Screen

When the user taps the How to Play button on


the Start Screen, the application will transition to
the How to Play Screen. This screen is designed
to provide the player with all the necessary
information about the vertical platformer game.
It includes details about the functions of the
game characters, instructions on moving the
sprite, collecting coins, fighting monsters,
adjusting settings, and purchasing items.

At the bottom of the screen, two buttons are


present: BACK and START. The BACK button
allows the user to return to the Start Screen,
while the START button initiates the gameplay
by transitioning to the Play Screen.
Software Requirements Specification for Vertical Platformer Game Page 8

Figure 3. Options Screen

When the user taps the Option button on the


Start screen (Figure 1), the application will
transition to the Option Screen. On this screen,
the user can adjust the volume and sound levels
by interacting with the slider scroll.

Additionally, the user has the option to enter


their nickname in a designated text field and
choose the desired difficulty level of the game
from a drop-down menu. Like the How to Play
screen, the Option Screen also features two
buttons at the bottom: BACK and START. The
BACK button allows the user to return to the
Start Screen, while the START button enables
the transition to the Play Screen, initiating
gameplay.
Software Requirements Specification for Vertical Platformer Game Page 9

Figure 4. In-game Screen

In the Play Screen, the sprite (character) is


positioned at the center of the screen. Once the
player touches the screen, the game begins. By
default, the sprite is affected by gravity unless
the user adjusts the settings or selects an
appropriate value corresponding to the chosen
difficulty level on the Option screen. As a result,
the sprite freely falls along the vertical direction
of the device.

In the background of the screen, various static


terrains such as ground bases and boughs are
automatically generated, following the style of
an endless runner game. Located at the bottom
left of the screen, the application provides the
user with radio buttons to select the action mode
of the sprite: a hook for grappling the terrain and
a bullet for attacking monsters.

At the top of the screen, three components are


displayed. The first component is a text display
that shows the current score (calculated based
on the sprite's displacement) and the amount of
money (calculated by summing the collected
coins). The second component is a status bar
that provides real-time information on the
player's health and the number of bullets in their
inventory, with a fixed maximum limit. The third
component consists of two buttons that allow the
player to access the shopping or options panel.
Software Requirements Specification for Vertical Platformer Game Page 10

Figure 5. Grappling Hook Feature

The user has the option to choose a grappling


hook by selecting one of the radio buttons
located at the bottom left of the screen. When
the user touches the screen, a rope is rendered
in the direction of the launch and attaches to the
edge of a ground base or a branch of a tree. As
a result, the sprite's velocity decreases, allowing
the user to have a clearer view of the
surrounding environment and navigate through
obstacles by adjusting the horizontal position.
Software Requirements Specification for Vertical Platformer Game Page 11

Figure 6. Fighting Monster Feature

Like the Grappling Hook feature (Figure 5), the


user can choose a gunning bullet by selecting
one of the radio buttons located at the bottom
left of the screen. When the user touches the
screen, a bullet is fired in the direction of the
launch and hits the monster, reducing its health
points. If the monster's health points reach zero,
the monster will disappear. This feature enables
the user to avoid encounters with monsters
while maintaining their horizontal position.
Software Requirements Specification for Vertical Platformer Game Page 12

Figure 7. Getting Money Feature

The application generates coins at random


positions throughout the gameplay. When the
sprite collides with a coin, the coin disappears,
and the text display at the top of the screen,
indicating the money, updates in real-time to
reflect the number of coins collected by the
sprite.
Software Requirements Specification for Vertical Platformer Game Page 13

Figure 8. Option panel

Like the Option Screen (Figure 3), when the


user presses the option button located at the
top of the Play Screen, the Option panel will
overlay the main screen. This panel provides
options for the user to adjust the volume and
sound levels.

Furthermore, there are three additional


buttons: PAUSE, RESTART, and EXIT. The
PAUSE button allows the user to temporarily
freeze the movement of the sprite, while the
RESTART button resets the game to its initial
status. The EXIT button enables the user to
quit the application entirely.
Software Requirements Specification for Vertical Platformer Game Page 14

Figure 9. Shopping panel

When the user presses the shopping button


located at the top of the Player screen, the
Shopping panel overlays the main screen.
This panel displays the updated value of the
current money and presents a scrollable panel
containing all available items along with their
respective prices. The user has the option to
purchase any item that enhances the player's
health or power, provided that the item's price
is lower than the current amount of money.

The Shopping panel includes two additional


buttons: Watch Ads and PLAY. If the user
selects Watch Ads, a randomly selected
advertisement from the database is displayed
on the subsequent screen. By watching the
advertisement, the user can earn an award.
On the other hand, if the user selects PLAY,
the game will resume, and the purchased item
will be applied to the player's abilities or
attributes.
Software Requirements Specification for Vertical Platformer Game Page 15

3.2 Hardware Interfaces


In the context of vertical platformer game, the interfaces between the software product and the
hardware components can be described in terms of logical and physical characteristics:

- Supported Device Types


The game software intends to support some device types, such as mobile devices
(smartphones, tablets). Each device type may have specific hardware requirements and
capabilities that the software needs to be compatible with.

- Data and Control Interactions


The software interacts with hardware components for data input and control. This includes
receiving user input from devices such as touchscreens.
The software interprets these inputs to control the game’s characters, objects, and
movements. Additionally, the software may output visual and audio data to hardware
components such as displays, and speakers.

- Communication Protocols
The software establishes communication with hardware components using specific
communication protocols. Examples of these protocols include widely used standards such
as Wi-Fi or LTE, which enable the software to connect to networks and receive
advertisements for commercial purposes.

- Performance Optimization
The software needs to consider the performance of hardware in terms of capabilities and
limitations. It may utilize techniques such as optimizing critical code sections by reducing
redundant computations, optimizing game assets such as images and audio files by
compressing them without sacrificing quality, or minimizing memory allocations during
gameplay. This ensures smooth gameplay, high frame rates, and efficient resource
utilization.

- Compatibility and Portability


The software needs to be designed to work with different hardware configurations and
operating systems. It may support various operating systems (Android, iOS) and adapt to run
on different platforms (smartphone, tablet).

3.3 Software Interfaces


There are some considerations to describe the connections between the game software and other
specific software components.

- Database
Game Data Storage: The game may interact with a database to store and retrieve player
data, such as scores, achievements, game process, and assessed history.

- Operating System
▪ Minimum requirements of a 2.3.3 Android OS version.
▪ iOS 8 or later OS version.

- Game Engine
Software Requirements Specification for Vertical Platformer Game Page 16

▪ Unity (version 2021.1.3)

- Integrated Commercial Components


If the game includes in-app purchases, it needs to specify the integration with payment
gateways or platforms like PayPal, Visa Credit Card, or Apple Store/Google Play Store.

- Data Items or Messages


▪ Player Input: The game receives user input, such as touchscreen gestures.
▪ Game Events: The game may generate events, such as collision detection, sprite
movement, or difficulty level increasing, which can be passed to other software
components or trigger specific actions.
▪ Audio and Visual Output: The game produces audio and visual output for the user
to experience the gameplay.

- Services and Communications


▪ Networking: Since the game includes watch advertisement, it may require
communication with server-side components through APIs.
▪ Third-Party APIs: If the game may integrate with external services like social media
platforms (Gmail, Facebook) to specify the APIs used and the nature of
communication.

3.4 Communications Interfaces


The communications requirements for the game product may vary depending on its specific
features and functionality.

• Online Leaderboards and Social Integration


If the game may expand features like online leaderboards, social media integration, or
sharing capabilities, it may require communication with web services or APIs provided by
platforms like Gmail, Facebook. Communication can be facilitated through SDKs provided by
the respective platforms.
• Data Transfer and Synchronization
If the game involves transferring data between client and server or synchronizing game states
across multiple devices, appropriate communication protocols and synchronization
mechanisms need to be implemented.
• Security and Encryption
If sensitive data like the user account is transmitted or stored, communication security
measures should be implemented. This can include using secure communication protocols
like HTTPS, encryption algorithms for data protection, and user authentication mechanisms
to ensure access to online features.

4. System Features
Building upon the previous section that discussed the external interface requirements of the
game, this section focuses on the system features that enhance the gameplay experience. These
Software Requirements Specification for Vertical Platformer Game Page 17

features include the Grappling Hook Movement, Base Spawning, and Monster Attack, which
contribute to the interactive nature, challenge, and progression of the game.

4.1 Grappling Hook Movement

4.1.1 Description and Priority

Throughout the game, the users can change their direction using a grappling hook, so this
feature has high priority. On the one hand, such features provide users with diverse ways to
enjoy free-falling games which usually let users perform jumping actions only (rating 6/9), yet it
demands the developers to carefully control the appropriateness of the physical interactions to
prevent bad user experience (rating 6/9).

4.1.2 Stimulus/Response Sequences


A user could change the current direction by simply tapping on a point on the screen. The
character is gradually pulled to the nearest base and then continues to free-fall after reaching
the destination. Thereby, the user successfully changes their moving directions.

4.1.3 Functional Requirements

• GHM-1: To avoid granting users too much power, the length of the grappling hook must be
restricted to a suitable value.
• GHM-2: There must be a cooldown time between each user using the grappling hook. It
will ensure that the user will not manipulate the hook to slow down by continuously tapping
on the screen.

4.2 Base and Obstacles Spawning

4.2.1 Description and Priority

To make the game harder bit by bit, we introduced two kinds of object: first, obstacles that
cause game over if character collide, and second, bases that characters can use grappling
hooks to dodge these obstacles and pass through it without receiving any consequences. The
bases provide users multiple ways to experience the main equipment, grappling hooks, so the
advent of these objects should have high priority. Managing the base spawning may become
the key to controlling the game difficulty (rating 5/9), but it must be programmed smartly unless
it may cause an error that dodging these bases is impossible (rating 6/9).

4.2.2 Stimulus/Response Sequences

After the users start playing the games, these objects will appear deliberately to block the
players’ movement. Direct collision with these objects immediately leads to the end of the game,
so the users must attempt to dodge them to survive.

4.2.3 Functional Requirements

• BOS-1: The bases must appear according to an algorithm to both provide a way for users
to change their direction and concurrently become a challenge for users.
Software Requirements Specification for Vertical Platformer Game Page 18

• BOS-2: The obstacles also appear according to an algorithm to both provide a way for
users to change their direction and concurrently become a challenge for users.
• TBD

4.3 Monster Attack


Building upon the previous section that discussed the external interface requirements of the
game, this section focuses on the system features that enhance the gameplay experience.
These features include Grappling Hook Movement, Base Spawning, and Monster Attack, which
contribute to the interactive nature, challenge, and progression of the game.

4.3.1 Description and Priority

The difficulty of the game must be increased over time, and potential options include the advent
of monsters and the fight between them and users. Since there is a wide range of ways to make
the game hard progressively, the priority of this feature should be medium. While adding a
variety of monsters can improve the user graphical experience (rating 5/9), such features can
become a challenge for developers to optimize the display smoothness and to maintain winning
feasibility (rating 6/9).

4.3.2 Stimulus/Response Sequences

As the users go further downward, there are monsters that take the players down. The monsters
may cause damage to the player, and the game is over if they fail to dodge it.

4.3.3 Functional Requirements

• MA-1: The position of both bases and monsters must be placed smartly to ensure that the
players can successfully overcome them.
• MA-3: The monsters can be killed using players’ equipment, and the monster may leave
some kind of rewards after player kill the monsters. The rewards may give the users some
money for shopping.
• MA-2: There must be time between two consecutive monster’s shots to benefit the players
dodging such bullets.

5. Other Nonfunctional Requirements


Continuing the exploration of nonfunctional requirements for the game, this section delves into
various aspects that contribute to the performance, safety, security, software quality attributes,
and business rules of the software system. These requirements ensure that the game delivers
an optimal user experience, adheres to safety guidelines, protects user information, and meets
industry standards. Additionally, business rules related to in-app purchases, advertising
integration, player restrictions, and account security are outlined to ensure fair and secure
gameplay.

5.1 Performance Requirements


In terms of performance requirements, we will define how well the software system accomplishes
certain functions under specific conditions. Therefore, our software can include some
performance requirements such as:
Software Requirements Specification for Vertical Platformer Game Page 19

• The screen of the app is expected to refresh each 0.02 second so the minimum frame rate
should be 50 FPS.
• To reduce and keep the memory in the reasonable size, the app must be limited in the
number of objects that can be rendered on the screen at once time. This number depends
on the difficulty of the current state but must keep in moderation. For example, in the first of
the game, the bases for player to hook are more than the obstacles but later, the obstacles
become more, and the bases are less.
• The users do not want to wait for the app for a long time to launch so the app is expected
that the maximum time it should take for the game to load is about 30 seconds.

5.2 Safety Requirements

• Virtual Violence:
Prior to engaging in shooting scenes involving grappling hooks or guns, the violence
depicted is fictional and should not be replicated in real life.
The use of firearms or grappling hooks outside the game environment can cause harm,
injury, or legal consequences, and users must exercise caution and follow real-world safety
protocols when handling such objects.
• Protection Against Harmful Imitation:
The game shall include a safety disclaimer cautioning players against imitating or attempting
any dangerous actions or stunts depicted in the game, such as swinging from real-life
structures or attempting to use grappling hooks without proper training or equipment.
The game shall discourage players from mimicking the use of firearms, emphasizing that
real firearms should never be used by individuals without proper training, licenses, and
adherence to applicable laws.
• Visual Safety:
The game's visuals do not include rapid flashing or intense imagery that could trigger
seizures or cause discomfort to players. All visual effects and animations are designed in
compliance with established safety guidelines to prioritize user safety.
• Auditory Safety:
The game's audio does not include sudden or excessively loud sounds that could startle or
cause discomfort to players. Audio levels should be balanced, and an option to adjust or
mute the volume should be provided to prevent potential hearing damage.
• Target User Age Range:
Ten years and above - The game's mechanics and content, including the use of grappling
hooks, combat with monsters, and the presence of shooting scenes, suggest that it is
suitable for players who are at least 10 years old or older. This age range is typically capable
of understanding and engaging with more complex gameplay mechanics and can handle
the mild fantasy violence portrayed in the game.
Software Requirements Specification for Vertical Platformer Game Page 20

5.3 Security Requirements

• Confidentiality:
The game should protect sensitive user information such as login credentials and personal
data from unauthorized access.
• Integrity:
The game should ensure that user data is not modified or corrupted during transmission or
storage.
• Authentication:
The game should require users to authenticate themselves before accessing certain
features or data.
• Authorization:
The game should ensure that users have the appropriate permissions to access certain
features or data.
• Non-repudiation:
The game should ensure that users cannot deny having performed an action.

5.4 Software Quality Attributes

• Availability:
The game shall be accessible to players 24/7, allowing them to play at their convenience.
• Portability:
The game is compatible with multiple platforms, including iOS, and Android. The game's
system requirements shall be defined and communicated to ensure compatibility with a wide
range of devices, specifying minimum hardware and software specifications.
• Reliability:
The system is trustworthy, and it is consistently good in performance. It can also be stated
as the system performs the function without any failure under certain conditions and
specified period.
• Robustness:
The game shall handle exceptional or erroneous inputs gracefully, preventing crashes or
unintended behavior. The game shall recover from any unexpected errors or disruptions
within 10 seconds, allowing the player to resume gameplay seamlessly.
• Usability:
The game has intuitive controls and menus, allowing players to navigate and interact with
ease. The average time required for a new player to understand the basic gameplay
mechanics and controls shall not exceed 10 minutes.

5.5 Business Rules

• In-App Purchases:
Players can purchase virtual items, power-ups, or additional content using in-game currency
(coin).
• Advertising Integration:
Software Requirements Specification for Vertical Platformer Game Page 21

The game may display targeted advertisements during gameplay for users’ purpose, which
maybe be disabled through an in-app purchase.
• Player Restrictions:
Players must follow the game's terms of service and community guidelines, which prohibit
cheating, harassment, or any behavior that disrupts the gameplay experience.
• Account Security:
Players are responsible for maintaining the security of their game accounts and must not
share their login credentials with others.

6. Other Requirements
Besides the nonfunctional requirements discussed earlier, this section delves into the specific
database requirements of the game. It addresses the need for a robust database system to
store and manage player data while ensuring concurrent operation support and data integrity.
Additionally, it emphasizes the game's adherence to legal requirements, safeguarding
intellectual property rights, and ensuring compliance with data protection and online safety
regulations.

6.1 Database Requirements

• The game shall utilize a database system to store and manage player data, including user
profiles, progress, achievements, and in-game purchases.
• The database shall be capable of handling concurrent read and write operations to ensure
smooth gameplay experiences for players simultaneously.
• The database system shall have built-in data backup and recovery mechanisms to prevent
data loss in case of system failures or errors.

6.2 Legal Requirements


• The game shall comply with applicable laws, regulations, and industry standards, including
those related to intellectual property rights, data protection, and online safety.
• Any third-party assets, such as images or audio, shall be properly licensed and credited to
avoid copyright infringement issues.

You might also like