Functioneel Ontwerp - T3rabyte/Examen GitHub Wiki

Functional Design

Introduction

The game ACCESS DENIED is being develop on behalf of the Municipality of Amsterdam. ACCESSS DENIED is an Educational trivia game where the player gets multiple missions to complete. This game will be played In an office room where the player completes tasks. Within this game are two types of quizzes and multiple interactable objects with different purposes such as giving tips or setting an account on private.

Target Audience

The game ACCESS DENIED is designed for employees of the municipality of Amsterdam, and individuals who are interested in cybersecurity, data privacy, and online safety. It targets players who want to enhance their knowledge of these topics in an interactive and engaging way. The game appeals to both casual gamers and individuals who have a specific interest in educational or serious games. It can be enjoyed by players of various age groups, including teenagers and adults. The gameplay mechanics and puzzles are designed to be accessible and enjoyable for players with different levels of gaming experience. The game also caters to individuals who work in office environments or have an interest in understanding the potential risks associated with data breaches and the protection of personal data. Whether you're a cybersecurity enthusiast, an office worker, or simply curious about online security, this game offers a unique and informative experience to expand your knowledge and enhance your cybersecurity awareness.

Stakeholders

Client:

  • Gemeente Amsterdam (Municipality of Amsterdam)

Product owner:

  • Teun Bruin
  • Reily nooij

Team

  • Artists
    • Olaf van Egmond (Note Taker)
    • Finley Murronmaa (Scrum master)
    • Reiley nooij
    • Micha Janssen (Lead artist)
  • Developers
    • Miguel Heijmans (Lead developer)
    • Teun Bruin

Description of functions

Core Gameplay

The core gameplay of ACCESS DENIED will be made of Tasks. There will be Two quizzes that the player can choose from (doing both makes it easier to win but only one is required to win) to complete.

The core gameplay focuses on combining educational elements with interactive gameplay mechanics, where players must navigate through tasks and quizzes to foster cybersecurity awareness and protect personal data.

  • Task Completion: Players must complete various tasks before being allowed to go home. These tasks involve quizzes disguised as emails and a work environment, which players must interact with and solve to progress through the game.

  • Quiz Gameplay: Players engage in quizzes presented as emails and a simulated work environment. They need to explore the room, click on different monitors, and interact with objects to answer questions related to cybersecurity risks and data breaches.

  • introduction phone call: we decided to edit the tips system to play all sound files in chronological order at the beginning of a new session so it explains to the player what they have to do once in game which we realised during the usertests that it was was something players really wanted because they didn't know what to do.

  • glowing border around interactable objects when hovering over them: this feature was added to make it clear to the player what objects they need to interact with to do the tasks they need to do which were explained in the introduction phone call. we chose to do this because in usertests although players were explained to what to do they didn't know how to do it and or where.

  • controls page: players weren't aware of the controls so we decided it's best if we added a page that in simple diagrams/images explains the controls to the player and what the controls do.

  • Feedback: if the player makes a mistake they will get feedback on as to why what they selected was wrong through a mock virus popup that has a text field in it containing the explanation.

  • Intro skip: because it could be annoying for those wanting to replay the game many times we decided to add the ability to skip the intro cinematic so the player isn't forced to watch it every. single. time.

  • Exploration and Interaction: The game allows players to explore a room, interact with different elements, such as monitors, phones, and laptops, to gather information, receive tips, and adjust privacy settings. Clicking on objects triggers actions and reveals important details.

  • Problem-Solving: The gameplay involves answering questions related to cybersecurity and data privacy. Players must apply their knowledge (gained through playing the game) and critical thinking to progress through the game and successfully complete tasks.

  • Education and Awareness: The game aims to educate players about cybersecurity risks, data breaches, and personal data protection. It provides informative content, tips, and insights to raise awareness and enhance players' understanding of these topics.

  • In game pause menu: The in-game pause menu offers players the flexibility to pause the game at any given moment. Additionally, it provides convenient options for the player to either return to the main menu or exit the game entirely. This menu empowers players to take breaks, attend to other matters, or simply navigate through the game at their own pace.

The player will Look around a room to interact with relevant Objects. The objects are monitors, a phone, and a laptop. The player can use these objects to complete their tasks to win.

Game Mechanics

Game Flow

Players will select a Game Mode to do their tasks in. The Modes consist of the following:

  • Single Player
  • Multiplayer (WIP)

Objects

Monitor

Phone

Laptop

Interface

Through the interface the player can interact with the game.

graph TD;
    start((Game starts up + cinematic gets shown)) --> mainMenu(user presses multiplayer button);
    mainMenu --> roomList(User gets shown panel with lobbies to join);
    roomList --> |User presses back button| mainMenu;
    roomList --> |User presses dice button| name(Sets random player name);
    name --> roomList;
    roomList --> |User presses join by code button| codeJoin{Is the code input filled?};
    codeJoin --> |No| nothingResponse(Nothing happens);
    codeJoin --> |Yes| joinLobby(Player joins chosen lobby);
    roomList --> |User presses join button of a lobby in the lobby list| joinLobby;
    roomList --> |User presses lobby create button| createRoom(user gets a menu to configurate the lobby);
    createRoom --> |User presses back button| roomList;
    createRoom --> |User presses create confitm button| privateRoom{Is private toggled on?};
    privateRoom --> |No| createOpenRoom(creates open lobby and joins the user as host);
    privateRoom --> |Yes| createPrivateRoom(creates private lobby and shows code to share withn others, also joins the user as host);

Functional Requirements

Start Screen

This will be the very first screen the player will see, from here they can navigate throughout the screen.

ingame pause menu

After receiving feedback from user testing, it became evident that incorporating an in-game menu greatly improved the overall player experience. This menu provides essential options such as pausing the game, returning to the main menu, and quitting the game. This addition eliminates the need for players to resort to alternative methods like using the Alt+F4 key combination to exit the game abruptly.

By implementing an intuitive and accessible in-game menu, we ensure a more seamless and enjoyable experience for the players, allowing them to navigate and control the game according to their preferences.

Gamemodes

This will be where the player can select which game mode they want to do. The tutorial game mode will guide the player through the basics of the game so they are up to speed when they wish to play the full game in the unguided single player mode.

  • Multiplayer (WIP)
  • Single Player

Create/join lobby screen

In this window the player will be able to enter a lobby code to join or create their own. Here they can also enter their display name or use the generate button to get a random name chosen for them. The return button brings them back to the main menu

  • Lobby code
  • Name
  • Create
  • return
  • close game

Lobby details popup

Here the player will be able to enter their lobby name and set it to private if they wish.

  • terug
  • private/unprivate
  • room name
  • close game

Team select

In this window the player will be able to select the team they wish to be on. once the player has selected a team they can click on the start game button. The player can also use the Return button to go back to the lobby create/join screen

  • Hacker
  • Spectator
  • Employee
  • return
  • start game

Close game confirmation

This screen asks the player if they are sure they wish to close the game.

  • yes
  • no

In-Game

this will help the player see where they are looking at

crosshair

Functional UI

This will be the player's most interacted element. True(forward) and false(delete) buttons will be used to answer the quiz. the antivirus will be used to thwart the hacker's attacks by decreasing the chance of getting punished (popup) for a wrong answer. The feedback will ensure the player will learn from their mistake and realise why the answer they chose was wrong.

  • quiz
    • true and false buttons
    • Antivirus
    • popup
      • feedback on incorrect answer
  • Timer
  • mails
    • forward and delete buttons
    • Popup
      • feedback on incorrect answer
  • Social media
    • settings
      • private on/off
    • home