The Spectrum Retreat

March, 2020 - June, 2020

The Spectrum Retreat is a one-level game based on the actual The Spectrum Retreat by Dan Smith made in an in-college engine called Overlord Engine. The main mechanic was rebuild from scratch based on watching videos of the game and first-hand experience with the game. A big difference is the representation of held color. In my iteration the player holds up a cube that contains the color. When switching colors, particles also appear. The shader was also remade from scratch.

Used Skills

Development Process

  • Creating the player

    The first step was to create the player controller so you could move around and have the different animation states. To find a model and animations, I used Mixamo. For physics, I had to rely on PhysX.

  • Creating the main mechanic

    The next step was developing the main mechanic, the color switching from the cubes. This was quite tough as I misremembered how the game did it. I initially thought the state was saved, but the game actually resets the entire level. In my version, I change the actual ownership of the attached colors.

  • Creating the colored gates

    The final mechanic to add was the colored gates / floors. With the main mechanic already finished, it was just a matter of comparing colors. The code was able to be kept clean and make this as easy as possible.

  • Creating the level

    The final step was to create a level using these mechanics. I blocked and tweaked it all out in Blender and then exported the model to import into the engine.

Struggles

Wrong scales

When retrieving the animated mesh from Mixamo and converting the data to something the engine understood, the scale was incredibly wrong. The mesh was multiple times bigger than it should've been hence why I needed to reduce the scale in-engine.

Creating the cube shader

The shader was quite harder to create as we couldn't visualize it easily in the engine. I decided to create it in UE4 which worked quite well. I then converted it to HLSL, but it needed some modifications as the shader functions worked slightly differently.

PhysX in Overlord Engine

The engine itself contained several bugs that were outside of m control to fix and had to be worked around to be able to make the mechanics function correctly.

Order of transparency

I also had to write a simple workaround to have the transparency of the gates look the same as in the game. I just kept re-ordering the gates based on the distance to the player which worked well enough for this project.

Trailer

Images