Input System

As a part of my Unity-Toolbox that I am working on, I have implemented the customization for keyboard controls. It can be used dynamically for different projects.

You can view the whole file here.

At the start, two dictionaries are defined. One keeping track of the changes and one to read data on reset.

Resetting and setting keybindings requires the path, such as "<Keyboard>/escape" and the name of the action and control. The action name is user defined, where as the control name specifies what is supposed to bound. While movement can be stored as a 2D Vector , with "Movement" as the action name and "Up", "Down", "Left", "Right" as the control names, a single key does not have a defined control name.

In the end, the set dictionary will be used to persist the data as a JSON formatted string.

(Virtual) Reality

The second game project I did with eight others out of my current university. The goal was to create a prototype of a game, given a set of themes. It is a murder mystery/horror game with puzzle elements in which the player is caught between two realities. The 'real' world set in the players room and the ingame world in which a crime has to be solved. The ingame world is accessible via a futuristic VR headset in its beta phase and therefore bringing unforeseen consequences. The gameplay is dialog heavy, requiring you to talk to the npcs and searching for clues.

I have been the sole programmer, while also being relevant for sound and general design. A few of my tasks have been:

  • A multiway tree, designed for multiple dialog options and storytelling (later reimplemented with the NodeGraphProcessor for my Unity-Toolbox)
  • A blur and glitch shader written with Shaderlab and HLSL
  • Interaction with different object types
  • Using preferences for dynamic controls and volume settings
  • Learning music theory and writing lofi beats

To the left is a showcase of the glitch shader used in the project. The shader itself is higly customizable, which is why the video shows four different settings, going from low to high. The setup has been created as another submission for my university.

The video contains flashing lights that may trigger epilepsy.

Aviation: Fly Through Time

This is the first prototype of a game we, as a group of nine, had to complete. It had to have a grounded design in context of aerospace. Our idea was to create top down arcade style levels for a selection of flying vehicles. A preview of the Spitfire level can be seen on the left. As this was the first project, a lot of time has been used to get to know Unity and its possibilities. The new Input System for expample had been a challenge to use as it still was incomplete as of that time, requiring workarounds, but resulting in dynamic control settings, which have been used and improved for (Virtual) Reality too and showen above. Another challenge has been the non intellegent AI for the enemies. Although it did not end up perfectly, it had been adequate for our first project.