top of page
Maelstrom: Pro Gallery

MAELSTROM

Aug 2018-Apr 2019

Maelstrom is a PC 2D-sidescrolling puzzle platformer. It has the player take on the role of a fugitive hero, whom is breaking out of imprisonment from an evil demon lord by using its telekinetic powers.

This project was part of my GAM 200/250 project in Digipen. Done in a team of 5, I was the technical lead and was in charge of the game's engine architecture, editor, gameplay and scripted events.

Maelstrom: Text

DEVELOPMENT

Maelstrom was made using a custom component based game engine written in C++ and used OpenGL as its graphics API. The interface of the engine was done with Dear ImGui which allowed functionality such as system profiling, resource management and many others.

Screenshot (475).png
Maelstrom: Text

ENGINE FEATURES

The engine was designed to be as easy to use as possible. Such as allowing users to drag assets anywhere on the computer and into the application window. Doing so will allow the asset to be imported into the engine's asset folder. The resource manager in the editor will also display all files in real time. 

​

The engine also has an archetype system where game objects could be saved as templates. I also created a parenting system which allowed the designer to group multiple objects together. I also used windows dialog boxes to create, save and load levels. 

​

The game was also optimized such that it would still run smoothly despite having near to 1000 game objects in the single level.

Screenshot (478).png
Maelstrom: Text

EDITOR

The hierarchy window displays all the game objects in the current scene. The inspector displays the information of the selected game object and allows for adding/deleting of components. 

​

Each component's class holds the definition of its values and layout in the inspector. This allows for users to change the component's values and have it be reflected in the scene view. 

​

In the hierarchy, users can drag and drop a game object onto another to parent it to the other. Child game objects will have their transformations modified based on their parent. 

Screenshot%20(479ssda)_edited.jpg
Maelstrom: Bio

©2020 by Wong Wei Liat Dexter. Proudly created with Wix.com

bottom of page