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 -------

image

------- Game Object / Component Diagrams -------

Main Menu

image

Main Level / Game

image

End Screen

image

------- 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.

image

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.

image

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

image

NPC Interaction

Handles NPC dialogue and interaction.

Requirements:

  • User Input
  • Canvas GUI
  • Audio Source

image

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

image

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