---
# System prepended metadata

title: '[Archived]Detox Technical Design Document'
tags: [Detox]

---

# [Archived]Detox Technical Design Document
<details>
    <summary>NamingConventions</summary>
    
Variables: camelCase, i.e.,`bool readyPlayerOne;`
Functions: PascelCase, i.e., `void Start();`
Classes: PascelCase `class Menu`
Folder/File names: PascelCase, i.e., `AnimatorControllers`; `PlayerPrefab`
Art Asset names: PascalCase with Initials, i.e., `Tall_Bush_SK`

</details>

<details>
    <summary>FileStructure</summary>    
    
* Assets
    * Animations
        * BellPlant
        * Fairy
        * ManaSeeds
        * PlantEater
    * AnimatorControllers
    * Editor Default Resources
        * FMOD
    * Gizmos
        * FMOD
    * Materials
        * Environment
        * General
        * ItemDrops
        * PlayerEnemy
        * ProceduralGeneration
        * TestMats
    * Models
        * Environment
        * Items
        * PlayerEnemy
        * Test
    * PhysicsMaterial
    * Plugins
        * FMOD
    * Prefabs
        * Character
        * Enemies
        * Environment
        * Gameplay
        * Inventory
        * ProceduralGeneration
        * RewiredManager
        * Test
        * VFX
    * Presets
        * `Lightweight Render Pipeline Presets`
    * Rewired
        * `Rewired Data and Documentation`
    * Scenes
        * MenuScenes
        * Menus
        * TestScenes
    * Scripts
        * Camera
        * Character
        * Crafting_Inventory
        * Editor
        * Enemy
        * Environment
        * Health
        * Menus
        * Misc
        * Particles
        * ProceduralGeneration
        * `ReadOnlyField.cs`
    * Settings
        * `LWRP Settings`
    * Shaders
        * AreaColorTesting
        * Healing
        * PipelineTesting
        * ProcGenGround
        * Water
    * Sprites
        * CraftedItems
        * ItemDropIcons
        * MenuSprites
        * Prototype
    * StreamingAssets
        * `FMOD Banks`
    * Terrains
    * TextMesh Pro
    * Textures
        * Environment
        * Items
        * Skybox
    * VFX
        * Attack
        * Sprites
        * Test
        * Vignette
    
</details>

<details>
<summary>File Specification</summary>

* Animations
    * File Format: .Anim
* Models
    * File Format: .FBX
* Scripts
    * File Format: .cs
* Sounds
    * File Format: .wav
* Sprites
    * File Format: .png

</details>

<details>
<summary>Tools</summary>

* Target Platform: PC
* GameEngine: Unity
* Third Party Controllers Compatible (Optional)
    * Nintendo Switch® Pro Controller
    * Playstation 4® Controller
    * Xbox 360® Controller
    * Xbox One® Controller
* Third Party Tools 
    * Rewired - Unity Asset Store
    * FMOD
</details>

<details>
<summary>Architecture</summary>

* Major Gameplay Systems
    * Inventory and Crafting System
    * Dangerous Environment (Environment harms player)
    * Healing "Enemies"
* Backend Systems
    * Procedural Generation
* Gamestates/flow
    * Main Menu State
        * Start Game Button
        * Quit Button
            * Confirmation Screen
                * Quit Button
                * Cancel Button
    * Pause Menu State
        * Main Menu Button
        * Restart Button
            * Confirmation Screen
                * Restart Button
                * Cancel Button
        * Quit Button
            * Confirmation Screen
                * Quit Button
                * Cancel Button
    * Game State
    * Controls State
    * Settings State
        * Sliders
            * Volume Slider
            * Camera Slider
            * Movement Slider
        * Buttons
            * Confirm Button
            * Exit Button
    * Credits State
     

* Input/Controls

|          Action                    |Controller|Keyboard|
|:-----------------------------|:--------------:|:------------:|:-------------:|:--------:|:---------:|
|<span class="text-nowrap"><i class="fa fa-crosshairs fa-spin fa-fw"></i> **Fire**</span>               |Right Trigger| Left Mouse Click|
|<span class="text-nowrap"><i class="fa fa-play fa-spin fa-fw"></i> **Movement**</span>           |Left Stick|WASD|
|<span class="text-nowrap"><i class="fa fa-circle-o-notch fa-spin fa-fw"></i> **Camera Rotation**</span>       |Right Stick|Mouse Move|
|<span class="text-nowrap"><i class="fa fa-cog fa-spin fa-fw"></i>**Pause**</span>       |Start|Escape|
|<span class="text-nowrap"><i class="fa fa-th-list fa-fw"></i> **Open Inventory**</span>               |Select/Back| E|
|<span class="text-nowrap"><i class="fa fa-arrow-right fa-spin fa-fw"></i> **Cycle inventory**</span>               |D-Pad| Arrow Keys|
|<span class="text-nowrap"><i class="fa fa-lock fa-spin fa-fw"></i> **Lock-On and Lock off Enemy**</span>               |Left Trigger| Right Mouse Click|
|<span class="text-nowrap"><i class="fa fa-unlock fa-spin fa-fw"></i> **Cycle Lock-On Enemies**</span>               |Right and Left Bumpers| Mouse Scroll|
|<span class="text-nowrap"><i class="fa fa-tachometer fa-spin fa-fw"></i> **Dash**</span>               |A| Space|
</details>

<details>
<summary>Technical Risks</summary>

* Procedural Map Generation

</details>


###### Tags: `Detox`