1.
1 Functional requirements
1.1.1FR01: Login
Req. No Functional Requirements
FR01-01 Users shall be able to log in using Firebase authentication, with support
for Google account login and Guest login.
FR01-02 The login system shall verify user credentials with Firebase for Google login and
provide access to the game upon successful authentication.
FR01-03 If Google login fails, the user shall receive a notification about the error (e.g.,
incorrect email or network issue).
FR01-04 Upon successful Google login, the user’s progress and inventory shall be loaded
from the Firebase database.
FR01-05 Users logging in as a Guest shall access the game without requiring
authentication, but their progress and inventory shall not be saved.
Table 1 FR01 Login
1.1.2FR02: Launch Game
Req. No Functional Requirements
FR02-01 Crimson shadows shall connect to the database at the start for data retrieval,
ensuring player data is properly loaded.
Table 2 FR2 Launch game
1.1.3FR03: Load Game
Req. No Functional Requirements
FR03-01 A loading screen with a progress bar shall be displayed when transitioning to the
main menu and before starting a new level to enhance the user experience.
Table 3 FR03 Load Game
1.1.4FR04: Display Main Menu
Req. No Functional Requirements
FR04- A "Play" button shall be provided that takes the user to the level selection screen.
01
FR04- A "Settings" button shall allow users to configure sound (on/off) and volume slider
02 (low/high).
FR04- A "Quit" button shall be provided that prompts the user with an option to either exit
03 the game or continue playing.
FR04- A "Help" button shall be provided to guide the user with instructions or controls of
04 the game.
FR04- An "About" button shall be provided to give the game story background, explaining
05 the plot, characters, and setting.
FR04- A "Credits" button shall be provided to give credit to the development team,
06 including developer, artist, designer, and other contributors.
Table 4 FR04 Display main menu
1.1.5FR05: Select Level
Req. No Functional Requirements
FR05-01 The level selection screen shall display the levels in sequence, with locked levels
and unlocked levels indicated.
FR05-02 Users shall be able to select a specific level or replay a previously completed level.
Table 5 FR05 select level
1.1.6 FR06: Play Game
Req. No Functional Requirements
FR06-01 Users shall be able to start a level after selection.
FR06-02 The gameplay screen shall show the player's health, help, objective, inventory and
exit.
FR06-03 Players shall be able to collect items like vervain, enchanted stones, and sword to
progress.
Table 6 FR06 Play game
1.1.7 FR07: Progress Levels
Req. No Functional Requirements
FR07-01 Users shall unlock the next level upon completing all objectives of the current
level.
FR07-02 Each level shall have a set of objectives to be completed in order to proceed.
Table 7 FR07 Progress levels
1.1.8 FR08: Input System
Req. No Functional Requirements
FR08-01 Kyara shall respond to user inputs appropriately, performing actions such as
movement, interaction, and other gameplay mechanics based on the player's
commands.
FR08-02 The control scheme shall include the ability to walk, attack, jump, climb, interact
with items, and access the inventory.
Table 8 FR08 Input System
1.1.9 FR09: Day-Night Cycle
Req. No Functional Requirements
FR09- A day-night cycle shall be implemented, affecting vampire behaviour (e.g. vampires
01 are only seen in night).
FR09- Certain game events shall be restricted to specific times of the day (e.g. scavenging
02 opportunities may be limited during the night).
Table 9 FR09 Day-night cycle
1.1.10 FR10: Enemy AI
Req. No Functional Requirements
FR10-01 Enemy vampires shall follow AI behaviour depending on the time of day.
FR10-02 Enemies shall react to Kyara's proximity and attack when near.
FR10-03 AI shall allow for evasion, chasing, and die when attacked.
Table 10 FR10 Enemy AI
1.1.11 FR11: Collectibles and Power-ups
Req. No Functional Requirements
FR11- Collectibles such as Vervain, enchanted stones, sword, and blood packs shall be
01 scattered throughout the game world.
FR11- Vervain shall be used to kill acting as a critical item for survival.
02
FR11- Enchanted stones shall grant Kyara increased speed and health.
03
FR11- Blood packs shall restore Kyara’s health and are essential for maintaining her
04 survivability.
Table 11 FR11 collectibles and Power-ups
1.1.12 FR12: Pause Menu
Req. No Functional Requirements
FR12-01 Players shall be able to pause their game from pause button
FR12-02 A music button shall be available for turning on and off music.
FR12-03 A resume button shall be provided to resume from where game was
paused.
FR12-04 A quit button shall be provided that allows the user to exit to main menu.
FR12-05 A restart button shall allow user to start the game level from start.
Table 12 FR12 Pause Menu
1.1.13 FR13: Win/Lose Conditions
Req. No Functional Requirements
FR13-01 Players shall win a level by completing all objectives and surviving from
vampires.
FR13-02 Players shall lose if their health falls to 0, requiring a restart.
Table 13 FR13 Win/Lose Condition
1.1.14 FR14: Quit Game
Req. No Functional Requirements
FR14-01 Users shall be able to quit the game by clicking on the exit button in the main
menu.
Table 14 FR14 Quit Game
1.1.15 FR15: Voice-Over and Audio
Req. No Functional Requirements
FR15-01 Voice-over narration shall be implemented in cut scene to enhance storytelling and
immersion.
FR15-02 Environmental sounds shall be integrated for a realistic and immersive atmosphere.
FR15-03 Sound effects shall be provided for key interactions such as collecting items,
throwing Vervain.
Table 15 FR15 Voice-Over and audio