Tunnel Chasers™ Game Design Document All information regarding game mechanics is found here **Game Characteristics ** The game is to have three major environments: > • An overworld > • Sneaking levels > • Endless runner levels > • Confrontation levels =====Project's Programming Language===== Today, Feb 5th 2023, a technical meeting took place to discuss and determine the __most suitable programming language for the project__. After thorough discussion and examination, the team reached a majority consensus to select **__Lua__** as the programming language of choice. ======Game Mechanics====== =====Overworld===== The Overworld environment is the level selector. Layout is inspired by the CCC school map, it is NOT a replica. Name of the fictional College is **Cornelius Community College**. Accessible buildings listed by level of difficulty: > • **Liebeary** (Sneaking Tutorial) - in reference to the Library > • **Mechung Building** (TunnelRunner Tutorial) - in reference to the Chemung Building > • **The Arena** (Battle Tutorial) - in reference to the Gym > • **Science Building** (Introduces the tunnels) - in reference to the Schuyler Building > • **The Rares** - in reference to the Commons building Non accessible (locked) buildings, just cosmetic: > • The Planetarium - in reference to the Digital Dome > • Reuben Building - in reference to the Steuben Building > • Pearl Hall - in refence to the Perry Hall =====Sneaking Levels===== For the Sneaking Levels it was proposed to change camera perspective from a front view side scroller (similar to platformers) to a top view scroller (similar to Undertale, Earthbound, or Pokemon). The player moves freely within the bounds of the sneaking levels, walking up, down, left, and right. __The controller has a sneaking button, an interaction / item button, an inventory menu button, and a pause menu button.__ **TBD** The Player has the ability to interact with multiple objects and __potentially switches__ **TBD**. Interactable World Objects: > • **Hiding objects**: Player hides inside these. E.g. lockers, desks, etc. > • **Locked and Unlocked Doors**: If the door is locked, the player needs a specific type of key to unlock it. If the Door is unlocked, the player can open it and access the unlocked room. > • **Keypads**: Some doors will require a code to unlock. > __• **Light switches**: Turn on and off lights **TBD**.__ > __• **A special hiding object**, that only Paradox can hide inside of **TBD**__ The Player finds a variety of items scattered around throughout the levels. > • **Keys**: to open locked doors. > • **Coins**: these are scarce around the levels. Coins are used as lifes; whenever the Player is arrested and sent to court, the Player may use the coins to pay a fine and **Continue** where they left off. Otherwise, it's game over and the Player is sent to Jail. > • **Donuts**: the Player can strategically place donuts on the floor to distract Officers from their patrolling paths. > • **First Aid Kit** (used only during arguments): whenever the Player receives damage, the Player can heal themselves as long as they have First Aid Kits. > • **Energy Drink** (used only during chases): During a chase scene, the Player can use an energy drinks to get a temporary speed boost to outrun the chasing Officer. > __• **Lockpick** (Nox ONLY): Can be reused up to five times **TBD**__ In the sneaking levels, the Player encounters **Public Safety Officers**. The PS Officers __patrol__ specific areas inside the buildings, and the Player should try to sneak past them in order to proceed. The Player has a **sneaking ability**, **crouch button**, that will allow them to hide **behind shorter obstacles**. For example: > The Player is placed on the bottom-left corner of a small room. Inside this room there is a long bookshelf that crosses right in the middle, from one wall to the other, waist-high (half the height of the character), and an PS Officer standing right behind it, doing his patrol. In order for the Player to reach the other side of the room, the Player must crouch behind the bookshelf to avoid getting detected by the Officer. If the Player attempts to cross the room without crouching, they will be detected by the Officer. The Player has the ability to **hide** inside specific objects with the **interact button**. For example: > The Player is placed inside a long corridor being patrolled by an PS Officer. The Officer is walking back and forth in front of three tall lockers placed in the middle of the room. The distance the Officer walks past the lockers is enough for the Player to walk behind him and hide inside the lockers. As the Officer changes direction, and walks by the lockers once again, the Player has the opportunity to come out of the locker and reach the other side of the room. The Player has the ability to **equip** one usable item at a time. This overrides the interact functionality of the **interact button**, whatever item is equipped, the Player uses it with the **interact button**. To interact with world objects, **the player must unequip or use the current equipped item**. The Player has an **inventory**, accessible via the **inventory button**, that stores all usable items. The Player **equips and unequips** usable items via the **inventory menu**. There is a **limit** on how many items of each type the Player can carry. The **inventory menu** is displayed as slots on the HUD (**TBD**). __The inventory menu must be considered as a quick access to usable items__, and __**must not interrupt the flow of the gameplay**__. To move through the inventory, press `select + A` to scroll the highlighted slot to the left and press `select + B` to scroll the highlighted slot to the right. To equip the highlighted item, press down while on the inventory menu. To unequip the currently equipped item, press down while on the inventory menu. PS Officers follow specific **patrolling paths** and have **fields of vision (FOV)**. • If the Player steps into their FOV, the Officer will start chasing after them. Otherwise, if the Officer cannot detect the Player, then he will continue with his patrol. • The Player can use Donuts to **distract** PS Officers. If the Officer detects a Donut in his FOV, he abandons his patrol and walks over to the Donut and eat it. Once finished, he returns where **he left off on his patrolling path**. • If the Player is detected by the Officer, the Player still has the chance to outrun the Officer. Once the Officer can no longer see the Player, the Officer will return **exactly** where they left off on their patrol. • If the Officer catches up to the Player, then the Player taken to the **Confrontation System**. During the **Confrontation System** the Player is confronted by the PS Officers, and the Player's __goal is to talk / argue themselves out of trouble__. However, if the discussion is not looking favorable for the Player, the Player also has the __option to attempt escape__. The **Confrontation System** can be considered as a "battle system", similar to Turn Base battle systems from RPGs. The player has the option to "attack" with dialogue, and depending on the **effectiveness **of the dialogue the Player will either "damage" the Officers or themselves. This is how the discussions transpire: * Once the Officer engages the Player, the **argument starts**. * The Officer **makes a random question or accusation** to the Player. * The Officer's dialogue is randomly selected from a **predetermined list**. * The dialogue list is **arranged by difficulty** level. Some Officers have easier dialogue to deal with than others. * The dialogue selected for the Officer comes with a **predetermined list of responses** for the Player. * Each response the Player could make has different **attributes that influence the progression of the argument**. * Some responses