Light Puzzle Mechanic
I created the light-leading puzzle mechanic present in the game. Starting from an emitter, it hinders the player from walking through where the light stretches and activates a receiver to open a door. You can push objects in front of it to block it and reflect the light with a mirror.
In total there are 3 components that together builds the mechanic:
Emitter, mirror and receiver.
These three components work individually with a pooled light-ray-object. The emitter sends out these objects in a given direction. The mirror takes in a light-ray from one direction and sends out light in another direction. The receiver (surprisingly) receives a light-ray and activates an event to open a door.
An early version of the laser using raycasts. To start emitting, there needed to be an object in the way of the emitter for the raycast to hit, to calculate a distance for the laser.
The system was later changed to not rely on raycasts, as we decided to keep away from Unity's collision system and use our TileMap and an event system instead.
Since the game was tile-based, we saw a need for an easy and quick way to work with the tiles in a level. Together with another programmer, I helped creating a TileMap-system for the game to use and build upon. The TileMap acted as a manager for the current level's tiles.
With functions such as setting and getting the tiletype on a given coordinate or finding the distance a light-ray should stretch, made this class very handy to have.
I made the UI for Kurtis - both the menus and the in-game UI - together with an artist in the group. Functionally the menus are different canvases that through a manager activate and deactivate each other on button clicks.
The in-game UI are also made this way using a manager to keep track on all the UI-components and only showing the chosen menu.