Technical Design - mangokip/EscAPEism GitHub Wiki
Software / Tools
- C++
- Unreal Engine 5.6
- Aseprite
- Blender
- FruityLoops Studio
- KidPix4 Deluxe
For Windows 10/11
------- Scene State Diagram -------
------- Game Object / Component Diagrams -------
Main Menu
Main Level / Game
End Screen
------- Game Object List -------
Player (Prefab):
This is Earl, the Orangutan that you are playing as.
Player Tag
Required Components:
- Transform
- Rigid Body
- Collider
- User Input
- Player Collisions
- Life Count
- Audio Source
Related GOs:
- Children -> Main Camera, Texture Mesh
- Associations -> Canvas, Level Manager
Earl Texture Mesh (Prefab):
This is the texture mesh used for Earl's model.
Required Components:
- Transform
- Mesh
- Animator
Related GOs:
- Parent -> Player
Mystery Girl (Prefab):
This is a story related NPC who will only be able to be talked to for story elements.
Required Components:
- Rigid Body
- Collider
- Player Collisions
- Audio Source
Related GOs:
- Children -> Texture Mesh, NPC Manager
- Associations -> Canvas, Main Level Scene
Mystery Girl Texture Mesh (Prefab):
The texture mesh for her model.
Required Components:
- Transform
- Mesh
- Animator
NPC Manager
Detects interaction with an NPC and their location
Required Components:
- Transform
- User Input
Related GOs:
- Associations -> Canvas
Main Camera:
Third person POV for Earl.
Required Components:
- Transform
- Camera
- Audio Listener
Related GOs:
- Player
Platforms (Prefab):
What the player has to traverse by jumping / standing on. Varied in shape and size / movement
Ground Tag
Required Components:
- Transform
- Animator
- Collider
- Texture Mesh
End Door (Prefab):
A door at the end of the main level that signifies the end.
Goal Tag
Required Components:
- Transform
- End Door Collision
- Collider
- Animator
- Texture Mesh
Canvas:
GUI Functionality
Required Components:
- Canvas
- Rectangle Transform
- GUI Label
- GUI Image
Related GOs:
- Associations -> Main Camera
Pause Menu:
GUI for pausing.
Required Components:
- GUI Image
- GUI Button
Related GOs:
- Parent -> Canvas
Main Level Scene:
Level Management Tag
The main overarching level of the demo that the player is traversing through.
Required Components:
- Level Manager
- Pause Menu
Related GOs:
- Associations -> Canvas
Ending Cutscene:
Scene Management Tag
Triggered when the player reaches the End Door and opens it.
Required Components:
- End Cutscene Manager
Game Over Screen:
Scene Management Tag
Triggers when the player dies after having 0 lives left.
Required Components:
- Game Over Manager
Settings Menu:
Scene Management Tag
Shows various options for the player to toggle.
Required Components:
- Settings Manager
Main Menu
Scene Management Tag
Handles all interactions with the main menu screen.
Required Components:
- Main Menu Manager
------- Component List -------
User Input
Handles player input to move model
Requirements:
- Rigid Body
Provided by the Engine, but will be tweaked for production.
Life System
Handles player life count
Requirements:
- Level Manager Game Object
- Canvas Game Object
- Player Collision
If the player is detected to not have any collision with platforms, and is at a specific height below the lowest platform in the world for more than 3 seconds, then the player is off the stage and loses a life.
Player Collisions
Handles collisions from the engine collider to detect if player is on a platform and not falling below a certain threshold. This will also prevent the player from walking through irregular parts of the platforms such as a wall. Also detects NPC collision
Requirements:
- Life System
- Audio Source
NPC Interaction
Handles NPC dialogue and interaction.
Requirements:
- User Input
- Canvas GUI
- Audio Source
NPC Spawning
Handles NPC placement.
Requirements:
- Level Manager
End Door Collision
Detects if player reached the end of the world, which is a door object.
Requirements:
- Level Manager
Pause Menu
Handles when the player needs to suspend gameplay.
Requirements:
- GUI Label
Main Level Scene
The overarching world the player is traversing, a single stage. This will also contain rules and check for if the player has reached the end.
Requirements:
- GUI Label
- Ending Cutscene Game Object
Main Menu
Handles main menu input and display
End Screen
Displays after ending cutscene is over
Game Over
Displays when player life count hits the negatives
Settings
Displays when the player needs to change settings from the main menu or pause menu
Transform (Provided by UE5)
Changes data of player and platforms
Rigid Body (Provided by UE5)
Handles player model physics
Requirements:
- Location
- Spin
Collider (Provided by UE5)
Detects player collision with platforms
Requirements:
- Location
Audio Source (Provided by UE5)
References to audio and SFX / Music
Requirements:
- Audio Asset
Texture Mesh (Provided by UE5)
Image / model asset for player and platforms
Requirements:
- Location
- Texture Mesh Asset
Applicable through UE5, but produced in Blender for player and in engine for platforms.
Animator (Provided by UE5)
Controls animations for player and platforms
Requirements:
- Controller
- Texture Mesh Animations
Camera (Provided by UE5)
Third person lens for the player to traverse
Audio Listener (Provided by UE5)
Tracks audio for game
Canvas Renderer (Provided by UE5)
Draws GUI elements
Requirements:
- Render Camera
GUI Label (Provided by UE5)
Displays text for GUI
GUI Image (Provided by UE5)
Displays image for GUI
Requirements:
- Sprite Asset
Rectangle Transform (Provided by UE5)
The canvas will use this to track player location in reference to platforms
GUI Button (Provided by UE5)
Button GUI for player
Requirements:
- On Click
- Location