Deep Dive

In Aria Math, you are placed in an empty white void and have to make your way through it, one puzzle at a time. Each button is linked to a set of walls or tunnels that can be opened or closed. Using those and the Level Design; each room ends up as a simple puzzle in a moody atmosphere.
On top of this, there are secondary ambiance elements like eyes that look at you but darken your screen if you look at them, a bright light that you can snuff out if you so wish, and some environmental lightning-like effects.

Weird Setting, Good Affordance

Liminal and Incomprehensible, but pretty

Those were the words that guided several aspects of the game, including the visuals and game design.
Not directly horror, but disturbing, liminal environments that stay pretty. Elements should be familiar but distorted: Giant light projectors rotating in the air, eyes following you and darkening your vision, floating neon buzzers modifying the playfield…

Look into my eyes.

Screen-space reflections on textureless white walls, single-colored rooms, strange rectangular shapes; everything is meant to be weird but readable.

Affordance still needing to triumph over liminality, there is only one interact button, all meaningful interactions are done with the neon buzzers, each “receiver” has neon colors next to it and also a unique shape to help with colorblindness, most of the buttons are in direct line of sight of what they activate, etc.

The whole game is basically playable in greyscale

Camera-based Feeling and UX

The primary goal of Aria Math was to train myself at doing better Camera-based and Character-based feedbacks: Movements, rotations and FOV changes that aim at some kind of immersion.
All in solo and under a month as part of a school project.

Roll, Pitch, even a little left-right sway when moving.

This melds well with the voluntary incomprehensibility of the main Character:
I added left-right movement swaying when moving forward, dynamic speed changes even in straight lines, “glitches” consisting of sudden chromatic aberration flashes or rotations, etc…

Technical Unreal Usage

Another goal of the project was to tryout more technical-oriented usages of Unreal Engine: Automation through Construction Script, Heritage, Curves…

All buttons in the game are children of a BP_PressableButton class containing automatic linking for all receivers (Walls, Stairs, Tunnels, etc.), as well as the neon Lights and Decals. It creates a Dynamic Material Instance, modifying the light color, and saves all of it for animations when pressed.

Select the neon lights, decals and wall-like receivers, and the Button will automatically assign them the right color.
Nowadays I would allow to change the icon directly through the Button with a Texture though!

This Button class has children classes for specific idle behaviors: Looking at the player, floating upwards, floating with all kinds of rotations, etc…
The same applies for the Walls, Stairs and Tunnels: It is one base class containing the animation timeline, haptic feedback component and global logic, with child classes containing the specific block placements and animation timings.

On top of that, most of the parameters that aren’t single float values are exported as Curves for better tweaking.

The 3 different button types: Whirling, Bobbing and Following.