3D Game Engine

PalmGine3D

PalmGine3D is a 3D game engine been done in a four month period using a structure based in Unity Engine with the implementation of audio engine Wwise, allowing to create 3D spatial audio with listeners, audio sources and audio reverb zones.

Core Sub-Systems

Module Scene

  1. Manages all the objects in the scene and the components attached to them.

It allows to save and load scenes in binary format.

File System

  1. Manages the folders used during the execution of the engine.

Importer

  1. Imports resources like FBX, PNG, JPEG, audio files, etc. Importer converts them into my own format, which allows to import files faster.

Time Manager

It allows to start, pause and stop the game-mode and manages the delta time of the objects in the scene.


Time manager contains:

  • - Frame_Count. Frame counter since the game started.
  • - Time. Time since the game started.
  • - Time Scale. Scale in which time passes.
  • - DeltaTime. End time in seconds of the last frame.
  • - Real Time Since Start. Seconds since the game began.
  • - Real Time DeltaTime. End time in seconds of the last frame.

Resources Manager

  1. Allows to avoid importing repeated files.

Resources manager works this way:

  • - Imports the file and creates an entry within "library/".
  • - A .meta file is added, which creates a link between both files and contains crucial information depending of the file type like mipmaps, scale, compression, etc.
  • - If the original file is deleted, it is removed from the library.
  • - If the original file is overwritten, it is reimported.
  • - If the original file is moved to another folder or renamed, it maintains consistency.

Audio

Uses Wwise to read and reproduce audio banks.


Main features:

- Audio source management: it handles position, orientation and speed (to account for doppler).

- Interactive music: allow us to change from track to track based on different factors like combat or dialog. Changing tracks must be picking the right moments and instruments, not just fading.

- Reverb: simulate how the audio bounced around.

- Doppler: how sound waves get more compacted / separated if the audio source is moving towards / away from us.

- Audio Effects: chorus, echo, distortion, delay, etc. 

Reverb zone in the inspector.