Hotah Technical Design Document

This document outlines the different technical modules of the 2.5D platform game Hotah.
Aspect ratio: 16/9

High-level modules

  • Game menu
  • HUD
  • Language handling
  • Character controller
  • Camera controller
  • Game controller
  • Event triggers
  • Sound manager
  • Particle effects
  • Shaders and camera effects
  • Persistence manager
  • Other research

Module breakdown

Game menu

  • Main menu...
  • MenuControllerScipt.cs


  • Currently there is no HUD. However special "tooltips" should be implemented.
  • GUIControllerScipt.cs

Language handling

  • Danish and english.
  • LanguageControllerScript.cs

Character controller

  • Handle player controls in different forms.

Abstract controller

  • Handling common properties. Get move input.
  • AbstractPlayerControllerScript.cs

Human controller

  • Shooting arrows, interaction and jumping.
  • HumanPlayerControllerScript.cs

Wolf controller

  • Push boulders.
  • WolfPlayerControllerScript.cs

Eagle controller

  • No gravity, rotate depending on velocity,
  • EaglePlayerControllerScript.cs

Fish controller

  • No gravity in water, rotate depending on velocity.
  • FishPlayerControllerScript.cs

Camera controller

  • Follow player and handle distance changes depending on velocity and setting.
  • CameraControllerScript.cs

Game controller

  • Handle game states and control logic.
  • GameControllerScript.cs

Event triggers

  • ...

Sound manager

  • Allow 3D sound playback on a position. Allow 2D sound playback. Randomization, looping and fading.
  • SoundManagerScript.cs

Particle effects

  • Water.
  • Smoke.
  • Arrow hits.

Shaders and camera effects

  • Make it look like a 3D cave painting.

Other research

  • Ropes.
  • Vegetation.


Code Structure
Unity Project Structure