0% found this document useful (0 votes)
26 views30 pages

W5 SWDD

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views30 pages

W5 SWDD

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

Software Design

Document
FOR

Vertical Platformer Game


Prepared by

GROUP NAME: W5

Nguyen Quang Duc 20204876 [email protected]


Le Hong Duc 20204874 [email protected]
Tran Le Phuong Thao 20200604 [email protected]
Hoang Van An 20204864 [email protected]
Luu Trong Nghia 20204888 [email protected]
La Dai Lam 20204918 [email protected]

Instructor: Prof. Trinh Thanh Trung

Course: IT3180E - Introduction to


Software Engineering

Date: July 10th, 2023


Group W5 Software Design Document

TABLE OF CONTENTS

1. INTRODUCTION ....................................................................................... 4

1.1 Purpose ............................................................................................... 4

1.2 Scope .................................................................................................. 4

1.3 Overview ............................................................................................ 6

1.4 Reference Material ............................................................................ 7

1.5 Definitions and Acronyms ................................................................. 7

2. SYSTEM OVERVIEW.............................................................................. 9

2.1. Game Functionality ........................................................................... 9

2.2. Usecase diagram............................................................................... 9

2.3. Core Gameplay and Game Mode ................................................ 15

3. SYSTEM ARCHITECTURE ........................................................................ 17

3.1. Architectural Design ........................................................................ 17

3.2. Decomposition Description ............................................................. 20

3.3. Design Rationale .............................................................................. 21

4. DATA DESIGN ....................................................................................... 21

2
Group W5 Software Design Document

4.1. Data Description .............................................................................. 21

4.2. Data Dictionary ................................................................................ 22

5. COMPONENT DESIGN .......................................................................... 23

6. HUMAN INTERFACE DESIGN ................................................................. 24

6.1 Overview of User Interface .............................................................. 24

6.2 Screen Images ................................................................................. 26

6.3 Screen Objects and Actions ........................................................... 28

7. REQUIREMENTS MATRIX ........................................................................ 29

3
Group W5 Software Design Document

1. INTRODUCTION

1.1 Purpose

The purpose of this document is to provide a comprehensive and detailed


description of the software design for the Vertical Platformer Game. It aims to outline the
architectural and structural aspects of the game system, including its modules,
components, and interactions. By serving as a blueprint for the development team, the
software design document guides them in the implementation of the game system based
on the specified design. The primary objectives of this document are as follows:

• Design Illustration: Clearly illustrate the design choices and considerations


made for the Vertical Platformer Game, allowing clients to visualize the system's
structure and flow.

• Interface Description: Provide a detailed description of the interfaces between


various system components, ensuring clear communication and integration
between different modules.

• Reference for Developer Team: Serve as a reference document for the


development team, providing them with guidance and instructions on how to
proceed with the implementation, ensuring consistency and adherence to the
design specifications.

• Client Approval: Serve as a document that can be reviewed and


approved by the client, ensuring that the software design meets their
requirements and expectations.

1.2 Scope

The scope of this Vertical Platformer Game is to provide players with a unique and
engaging gaming experience by combining the elements of a typical platformer game
with a vertical orientation. In this game, the character freely falls and relies on grappling
hooks to navigate between different platforms. Players are also required to engage in
4
Group W5 Software Design Document

combat with monsters and avoid obstacles throughout the gameplay.

To delve into further detail, this vertical platformer game is a captivating and
challenging gaming application specifically designed to immerse players in its gameplay.
It offers a dynamic environment filled with platformers where players assist the character
in surviving as it falls freely. By utilizing a hook, the character can slow down and securely
hang onto surfaces. To engage the hook, players aim and choose their intended target
on the screen. The game includes various challenges that progressively increase in
difficulty as players progress, alongside obstacles and interactive elements to intensify
gameplay engagement.

By providing this unique vertical platformer experience, the game aims to


captivate players and offer them an immersive and challenging gaming adventure. It
combines elements of skillful navigation, combat, and problem-solving as players
overcome obstacles and strive for success.

The primary goal of the vertical platformer game project is to create an


entertaining and addictive gaming experience that appeals to a wide range of players.
The objectives of the project include:

• Engaging Gameplay: Developing an interactive and engaging gameplay


mechanic that keeps players hooked and encourages them to strive for higher
scores and achievements.

• Challenging difficulty levels: Creating a series of challenges with increasing


difficulty to give players a sense of accomplishment and motivation to keep
playing.

• Intuitive Controls: Designing user-friendly controls that are easy to understand and
responsive, ensuring a seamless and enjoyable gaming experience.

• Visual Appeal: Implementing visually appealing graphics, animations, and sound


effects to enhance immersion and captivate players.

Furthermore, The Vertical Platformer game offers several benefits to both players
and stakeholders involved in its development:
5
Group W5 Software Design Document

• Entertainment and Enjoyment: Players can experience a fun and engaging


gameplay experience, providing them with entertainment and a means to relax
and unwind.

• Skill Development: The game encourages players to improve their hand-eye


coordination, reflexes, and problem-solving skills as they navigate challenging
levels and overcome obstacles.

• Business Opportunities: The successful development and release of the vertical


platformer game can open potential revenue streams through game sales, in-
app purchases, or advertising.

1.3 Overview

This Software Design Document (SDD) presents the proposed software and system
designs for the development of a vertical platformer game, addressing the client's
requirement for an engaging and captivating gaming experience. The document
outlines the team's approach to designing the game system, including its functionality,
interactions, and specific requirements. It also provides detailed diagrams for each
aspect of the game's design, encompassing system architecture and data component
designs.

The topics covered in this document include an introduction to the software design
problem, a system overview, system architecture, data design, human interface design,
and a requirements matrix. This section provides a scope description and an overview of
all the components included within this software design document. Furthermore, the
document describes the purpose of its creation, provides document conventions, and lists
references for further information and guidance.

6
Group W5 Software Design Document

1.4 Reference Material

This section includes a compilation of reference materials that can assist the
development team in understanding industry best practices, design patterns, coding
guidelines, and other relevant information. Here is the list of reference materials:

[1] IEEE Software Engineering Standards Committee, “IEEE STD 1016-1987, IEEE
Recommended Practice for Software Requirements Specifications”, December 4, 1998.

[2] “SOICT Game Thesis Template”, SOICT, June 2022.

[3] Template bài tập lớn nhập môn công nghệ phần mềm, Prof. Nguyen Thi Thu Trang,
November 2020.

[4] “Dirty Bomb Game Design Document”, Slash Damage, November 9, 2012.

[5] “Daily Tracker Software Design Document”, AMA Education System, December 16,
2021.

[6] “Race’n’Chase Game Design”, DMA Design, March 22, 1995.

1.5 Definitions and Acronyms

The following table defines all terms, acronyms, and abbreviations we will use
throughout this software design document.

Acronyms and Terms Definition

SWDD (Software Design A detailed technical document that describes


Document) the design of a software system. It provides a
comprehensive overview of the architecture,
components, modules, interfaces, and
interactions of the software, serving as a

7
Group W5 Software Design Document

blueprint for its development.

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

8
Group W5 Software Design Document

2. SYSTEM OVERVIEW

In this section, we will provide an overview of the system, including functionality


requirements and use case diagrams. These elements will assist readers in comprehending
the overall scope of the Vertical Platformer game project and gaining a comprehensive
understanding of its functionality.

2.1. Game Functionality

In this subsection, we present a list of required and optional functions for our
project. For a more comprehensive understanding and detailed information, please refer
to the previous report on software requirements specifications.

Required functionality Optional functionality

• Vertical platformer game • Shopping System

• Vertical falling • Synchronization

• Using grappling hooks for moving • Advertisement embedded

• Attacking monsters using


grappling hooks and avoiding
obstacles

2.2. Usecase diagram

Usecase diagram provides a visual representation of the different use cases,


actors, and their relationships. In this section, we will provide a usecase diagram for the
Vertical Platformer game illustrating the various interactions and functionalities of the
system from the perspective of different actors as well as detailed usecase specification.

9
Group W5 Software Design Document

Usecase diagram:

Figure 1: Usecase Diagram

Usecase description:

• Login Usecase:

Usecase: UC 1.1 Usecase name Login

10
Group W5 Software Design Document

Actor User

Description The user logs in to the system so that the money and high score
can compare with other players.

Prior No
condition(s)

Priority Optional

Basic flow 1. User accesses the Login page from Homepage.


2. User enters the username in the text field, then presses
submit button. The system will check whether the username
exists.
3. The system will go back to the Homepage if the username is
valid.

• View leaderboard usecase:

Usecase: UC 1.2 Usecase name View Leaderboard

Actor User

Description User views the top ranking of other players’ achievements.

Prior condition(s) User has already logged in

Priority Optional

Basic flow 1. User clicks to the Leaderboard button.


2. The system will display the top ranking of the players with the
highest score.
3. (Optional) User clicks to exit button to back to Homepage.

• Synchronization usecase

11
Group W5 Software Design Document

Usecase: UC 1.3 Usecase name Synchronization

Actor User

Description User save his best performance and the remaining money using his
username. The score and bonus points will be saved and used in
another device with his username.

Prior User has already logged in.


condition(s)
User’s device is connected to the Internet.

Priority Optional

Basic flow 1. User clicks to the Synchronization button.


2. The system will check the connection to the database and
update the user’s highest score and money.

• Purchase Items usecase:

Usecase: UC 1.4 Usecase name Purchase Items

Actor User

Description User goes to shopping system and buys items which price less than
number of moneys of that user.

Prior condition(s) No

Priority Optional

12
Group W5 Software Design Document

Basic flow 1. User clicks to the Shopping button.


2. The system will display a new page. In this page, the player
can buy things which price less than the money remaining.
The system processes and deducts the points.
3. (Optional) User applies purchased item for next gameplays
by pressing that item.
4. (Optional) User backs to Homepage by pressing quit button.

• Watch a video usecase:

Usecase: UC 1.5 Usecase name Watch a video

Actor User

Description User watches an advertisement video to gain more bonus points.


Bonus points are rewarded only if the user finishes all content of the
video.

Prior No
condition(s)

Priority Optional

Basic flow 1. From the Homepage, user clicks to the Shopping button ->
Watch Ad button.
2. The system will display a short video, and the user has to
wait until the video finishes.
3. The system adds an amount of money for users.
4. (Optional) User goes backs to Homepage by pressing quit
button.

• Registration usecase:

Usecase: UC 1.6 Usecase name Registration

Actor User

Description User creates a new username which can be used for


synchronization across devices.

13
Group W5 Software Design Document

Prior condition(s) User’s devices need to connect to the Internet.

Priority Optional

Basic flow 1. User clicks to Login -> Register from the Homepage.
2. User enters the new account username in the text field. The
system will check whether the username already existed.
3. Then, the system will automatically go back to the Login
page. Users can use the newly created username to login or
back to Homepage.

• Logout usecase:

Usecase: UC 1.7 Usecase name Logout

Actor User

Description User logs out from his account to enter Anonymous mode.

Prior condition(s) User needs to already log in.

Priority Optional

Basic flow 1. User clicks to the Logout button.


2. The system will log out and the user will be in Anonymous
mode.

• Change settings usecase:

Usecase: UC 1.8 Usecase name Change settings

Actor User

14
Group W5 Software Design Document

Description User changes the settings according to his preferences such as


increasing the sound, reducing the background music.

Prior condition(s) No

Priority Optional

Basic flow 1. User clicks the Settings button in the Homepage.


2. The system will display a new page. Users can change the
settings on this page.
3. The system will apply the settings modified by the user.
4. (Optional) User presses quit button to go to Homepage.

• Play game usecase:

Usecase: UC 1.9 Usecase name Play game

Actor User

Description User enters the gameplay.

Prior No
condition(s)

Priority Optional

Basic flow 1. User presses on the play button on the Homepage.


2. The system will change the scene to gameplay scene, where user
can interact with other objects.

2.3. Core Gameplay and Game Mode

In this section, we will present about core gameplay and game mode.

Core Gameplay

15
Group W5 Software Design Document

• Falling mechanic: Character will be fallen vertically because of the effect of


gravity. However, the character can slow the falling speed by using the hook to
hang himself in any base.

• Grappling hooks: Character will be equipped grappling hooks and hooks can
be reused multiple times. The grappling hooks can be used in some situations:

o The character uses hooks to hang himself on the base to slow down and
change direction. Users need to press on the screen region where the base
appears. If not, the hook cannot be launched. Users can press anywhere on
the screen to disable the hook.

o The character uses hooks to attack monsters. Players need to press on the
region of the monster to launch the hook. Whenever the hook touches the
monster, it will come back to the character. The direction of falling will not
be changed.

It is important to note that in the case of clinging on base, the hook will be
disabled automatically after a short time if the player do not perform the
second press on the screen.

• Base (horizontal platformer) generator mechanic: The base is generated


automatically and randomly. The character will not be damaged in case
touching the base. Moreover, the base allows the hook to cling to it for several
times.

• Obstacles mechanic: In the way of falling, obstacles are spawn and grappling
hooks are not working on obstacles, so the player needs to avoid them. The
game will end if the character collides with one obstacle.

• Monster mechanic: The monsters spawn independently of bases and obstacles.


These monsters are allowed to move in horizontal direction. It means that the
difficult level will increase, compared with stable monsters’ version.

• Money mechanic: The money will appear on the way down. The character
collects them by touching them with his body, not the grappling hook. Each
collected money item has value of 1. All the money will be added to the user’s
account after the game is ended.

16
Group W5 Software Design Document

Game Mode

We implement some play modes so that players can choose between two different
modes to play. Any players can play in Anonymous mode and use a username to
switch to play with his account.

• Playing in Anonymous mode: The highest score, all purchased items, and the
points remaining are only saved in the current device. Users cannot save and
synchronize across devices. Moreover, viewing leaderboard option will be
disable in this mode. The shopping system and settings are still accessible.

• Playing with an account: To play in this mode, any user has to have an account
that is a username. They also need to log in before performing any operation.
Playing in this mode has more benefits. Users save their top performance and
bonus points. All items will not be lost when users play on another device. The
leaderboard option will be accessible so that users can find them here. The
synchronization option is not automatic. It means that players must manually
save their profile by pressing the synchronization button.

It is important to note that the difficulty of the core gameplay stays the same when
users switch between two game modes.

3. SYSTEM ARCHITECTURE

3.1. Architectural Design

We provide a UML Package Diagram to illustrate the major subsystems, data


repositories, and their interconnections.

17
Group W5 Software Design Document

Figure 2: The Package Diagram

Modules that are connected by a dashed arrow represent the relationship between
these modules: a package depends on another package. For example, Player is one
of modules that need assistance from Terrains, the arrow is considered as dependency
notation.

There are two types of dependency in our system. The dependency with <<access>>
indicates that one package requires assistance from one or more functions of another
package. The dependency with <<import>> illustrates that functionality has been
imported from one package to another.

In our system, we use an external system named Firebase. The external system can be
used as a small database to store users’ username, their highest score, and their
properties.

18
Group W5 Software Design Document

About the collaboration of subsystems:

• Game Manager needs helps of Hooks and Player to manage the character and
objects during the gameplay.

• Player and Hooks need to access to Terrains so that they can manage the
collision between obstacles and them, for example, the collision between hooks
and Base (subsystem of Terrains) or the collision between the character and
Money (subsystem of Terrains).

• The player has a dependency on the Shopping manager because the


Shopping manager contains the information about skins, equipment of the
character.

• The Ads manager and shopping manager require assistance from Start Screen
Manager to refresh video and the money remaining, respectively.

• All three subsystems: In Game Manager, Database management, and Start


Screen manager depend on the usage of the external firebase system to
manage, update players’ accounts, and request list of top performance.

19
Group W5 Software Design Document

3.2. Decomposition Description

Figure 3. Level 0 Data flow diagram

We decided to give a functional description. Figure 3 illustrates the level-0 Data Flow
Diagram of our game system. The structural decomposition diagram is showed in Figure 4

Figure 3. The Structural Decomposition Diagram.


20
Group W5 Software Design Document

The structural organization of the system will be divided into two main components
Gameplay and Environment, corresponding to two scenes in the gameplay and in the
lobby, respectively. There are subsystems inside Gameplay: Player and Terrain. The terrain
will include objects’ modules, including Base, Money, Monster, and Obstacle. The
Environment contains several subsystems: Shopping system, Database manager, Audio
manager, and User Interface manager.

3.3. Design Rationale

In fact, we have already considered that the architecture of In Game Manager and Start
Screen Manager should be the same. The In Game Manager will manage objects and/or
events during the gameplay, while Start Screen Manager controls in the lobby. However,
we noticed that events and objects behave entirely differently during gameplay than
they do on the main screen.

We have also come up with an idea to merge hooks and the player because people
and hooks always move together. In some contexts, “hooks are fired” has the same
meaning as the character fires the hook. However, there are some cases in which hooks
and the character behave completely differently. For example, in the collision of hooks
and humans with monsters or money (belonging to Terrains). By the contradictory, we
decide to go with the architecture proposed in Section 3.1.

4. DATA DESIGN

4.1. Data Description

For the game project, we used a database from cloud computing service to store users’
information after they had completed registration. The entries of user table consisted of
simple information like username, password, achievement, etc., and these data help
users to login their accounts in different devices. For more specific, we decided to use
Firebase as a storage for user authentication purposes because it was both easy to get
familiar with and very popular for online authentications.

A game contains not only lots of graphics components, such as images for backgrounds

21
Group W5 Software Design Document

or 2D design models for character’s appearance but also many packages to help the
developers build the game. In our project, as we used Unity to develop a game, this
application enables us to store and organize the majority of data within project folders.
Furthermore, we also stored some physical parameters or settings for the game in our
defined scripts to ensure that the game can run properly.

4.2. Data Dictionary

Name Data Description Range of


type value

User_name String User account name 1-50


characters

User_password String User account password 1-50


characters

User_high_score Integer The highest score that user can get 0-9999

User_money Integer The amount of money that user 0-9999


collected

Player_score Integer The score user get while playing 0-9999

Player_velocity Float The fall down velocity of player 0-100

Player_acceleration Float The fall down acceleration 0-10

Grappling_cooldow Integer Time between 2 consecutive 0-2


n shoots

22
Group W5 Software Design Document

GrapplingHook_len Integer The maximum distance the hook 1-100


gth can reach

Player_size Float The size of characters 1-15

Bases_size Float The size of bases 1-10

Monsters_size Float The size of monsters 1-10

Coins_size Float The size of coins 1-10

Obstacles_size Float The size of obstacles 1-10

Monsters_moving_r Float The range the monsters can move 0-10


ange

Skin_price Integer The price of skins 50-1000

Music volume Integer The volume of background music 0-10

5. COMPONENT DESIGN

In this section, we take a closer look at what each component does in a more systematic
way.

• Grappling Hook: Users can shoot grappling hook to a desired base by clicking on
it, and the hook will be shot in a straight line from user to the base. The character
will have momentum after the hook reaches the destination, which makes the
character swing around the attached point for an interval until the friction forces
stops them. When the character is holding the base, users can tap to the screen to
immediately release and continue free falling. If they do not choose to release, the

23
Group W5 Software Design Document

grappling hook will automatically release after a fixed duration. The length of the
grappling hook is also restricted to a certain number to make the game
challenging in some situations, which mean the user must smartly choose the
shooting time to avoid game over happens.

• Bases and Obstacles: Using the algorithm, the bases will appear appropriately to
help the player easily overcome obstacles. As the players go further down, but still
winnable.

• Monsters: Monsters are quite like obstacles as its advent is to kill players and users
must dodge it. However, monsters can move in horizontal direction, which makes
it’s difficult to avoid it, yet users can kill it using grappling hooks by correctly aiming
to it and shooting the hooks.

• Login system: The system enables users to create accounts, save their progression
in a cloud database, and continue playing on different devices.

• Shopping: While falling, the characters can collect coins to buy things in the store.
The stores allow users to spend their money on buying new equipment like new
skin, and it does not have any prerequisites to buy any skins.

• Advertisement: The advertisements can grant users some excellent rewards after
watching sponsored videos

6. HUMAN INTERFACE DESIGN

6.1 Overview of User Interface

For a vertical platform game, our system is designed to provide a range of features and
functionalities to meet the user’s perspective. It aims to be intuitive and user-friendly,
allowing users to accomplish tasks efficiently. In this section, we give an overview of the
functionality of the system and how users can utilize it to complete expected features,
along with the feedback information displayed.

24
Group W5 Software Design Document

• Game Controls: The system provides intuitive touch-based controls optimized for
mobile devices. Users can use tapping gestures on the screen to control their
character’s movements and actions.

• Character Movement: The system triggers the free fall state of character
automatically at specific time in the game. This allows the character to descend
rapidly without using input. Users can utilize the grappling hook by touching on the
screen. The grappling hook helps decrease the velocity of character, change
direction, latch onto bases to gain more observations, overcome obstacles, or fight
monsters.

• Difficulty Increase: The system can implement this functionality to provide a


progressively challenging experience for users. The system can gradually increase
the overall speed of the game, making it more challenging for users to time their
observations on the below environment and grapple hook accurately. Moreover,
the system can increase the number of obstacles and monsters, which makes their
appearance denser. This requires improved reflexes and precision from the users to
avoid or defeat.

• Rewards: The system places coins throughout the vertical game in the air. Users
can guide their character to collide with these coins during gameplay. The system
assigns a value or point system to each coin collected. Each coin collision adds to
the currency balance of user, contributing to their overall progress and potential
rewards. Furthermore, the system allows users to voluntarily choose to watch
advertisements in exchange for rewards. Users can opt-in to view ads at their
discretion, without interruption the gameplay experience.

• Scoring and Progression: The system tracks the progress of the user and scores the
total distance the character can move for each play turn. It displays the current
score, high score status, and the currency balance of user on the screen to
provide feedback and motivate users to achieve better distances.

• Feedback Information: The system provides feedback to the user through various
means:

25
Group W5 Software Design Document

o Visual Feedback: Visual cues, animations, and effects are displayed on the
screen to indicate successful actions, interactions with the environment, and
the overall game state. This can include dynamic character movements
swinging motions, or visual indicators for attaching the grappling hook.

o Auditory Feedback: Sound effects and background music enhance the


gaming experience. Users receive audio feedback for actions link launching
the grappling hook, collecting coins, or colliding with obstacles, which
provides an immersive audio environment.

o Progress Updates: The system displays the distance and money covered by
the character and updates the score based on the performance of the
user. This feedback encourages users to improve their skills and achieve
higher scores.

o Game-over Messages: If the player fails by colliding with obstacles and


monsters, the system may display a dialog suggesting a retry or returning
main screen.

6.2 Screen Images

Displaying screenshots of the interface from the user’s perspective helps provide a visual
representation of the user experience. These screenshots, which are created for practical
uses, allow viewers to understand the layout, elements, and interactions within the
interface.

26
Group W5 Software Design Document

Figure 5: Start Screen Figure 6: In-game Screen

Figure 7: Game-over Dialog Figure 8: Leaderboard Screen.

27
Group W5 Software Design Document

6.3 Screen Objects and Actions

In a vertical platform game, several screen objects play important roles in shaping the
gameplay and user experience. In this part, we will discuss some key screen objects and
the associated actions found in our game.

- Player. The free-falling sprite represents the main character or player-controller


entity in the game.

o Gravity-based descent: The sprite falls due to gravity, requiring the player to
control its descent and avoid obstacles.

o Launching the hook: The player can initiate the grappling hook action by
tapping in specific direction on the screen.

o Attaching to bases: The grappling hook can attach to bases or platforms,


allowing the player to temporarily slow down the descent of sprite by
creating tension.

o Attacking monsters: When the sprite uses hook to defeat a monster, which
potentially eliminates it from the game and collects a value of money.

- Obstacle. Obstacles are environmental elements that pose challenges or risks to


the player.

o Colliding with the sprite: The player-controlled sprite collides with obstacles,
which can result in ending the game.

o Respawning: Obstacles are respawned to random positions, ready to pose


a challenge to the player again.

- Monsters. Dynamic monsters are enemy entities that hinder the player’s progress
and pose threats.

o Colliding with the sprite: Contacting with monster’s results in ending the
game, which similarly to the action of obstacles.

28
Group W5 Software Design Document

o Moving ability: Monster may have moved ability to create dynamic


environment, which help to add strategic elements to gameplay.

- Bases. Platforms or bases provide safe zones for the player to attach by grappling
hook.

o Respawning: Bases may serve are respawn points in the next environment,
allowing them to reposition automatically, without designing the pre-
determined map.

o Destroying: Due to the large number of generated bases, destroying


redundant bases will help reduce the necessary memory when running
game application.

These screen objects and associated actions interact to create the gameplay
experience in a vertical platform game. The skill and strategy of the player in controlling
the free-falling sprite, navigating through obstacles, dealing with monsters, and utilizing
bases play vital roles in progressing through the game and achieving high performance.

7. REQUIREMENTS MATRIX

Requirement Functional Requirement How adaptable

GHM-1 The length of the grappling Define parameter for the


hook must be restricted to a length of grappling hook
suitable value

GHM-2 There must be a cooldown Define parameter for the


time between each user cooldown time of grappling
using the grappling hook
hook

BOS-1 The bases must appear Increase the maximum


according to an algorithm
number of objects can be
to both provide a way for
users to change their spawned after passing
direction and concurrently certain time (go deeper).
become a challenge for

29
Group W5 Software Design Document

users The position of the objects


will not be placed too close
BOS-2 The obstacles also appear to each other and do not
according to an algorithm
to both provide a way for allow multiple objects of the
users to change their same type to appear when
direction and concurrently
spawning. By doing this, we
become a challenge for
users mostly prevent deadlock
situations from happening.
MA-1 The position of both bases
and monsters must be
placed smartly to ensure
that the players can
successfully overcome
them

MA-2 The monsters can be killed The grappling hook can kill
using players’ equipment, the monster when they
and the monster may leave
collide.
some kind of rewards after
player kill the monsters. The
rewards may give the users
some money for shopping

30

You might also like