The primary piece of the backbone for the custom game engine we built DREAD IT in that I made was the physics engine. It's 2D and supports both circular and polygonal rigid bodies of varying mass and friction. Additionally, I used a special type of line collider for the tile map that auto-generates on scene load and makes it impossible for objects to clip through the map.
Since the main gameplay of DREAD IT involves being chased by a monster, it was imperative that we had pathfinding for the game to work. I took responsibility for integrating it using A* as my first technical role for this project. Alongside the basic A* pathfinding using a grid with rubber banding and smoothing, I also implemented some basic terrain analysis to make paths suit gameplay better.
Since we didn't have a dedicated artist on the team until late in development, we needed to find a programmatic approach to scary visuals for the monster. This is where I came up with "Particle Rigs," a system similar to 3D animation rigs used to emit particles in a humanoid shape with fluid motion.
In DREAD IT, the depth of gameplay comes from the arsenal of traps the player has to use against the Shades. In order to make traps that were able to interact with the environment and each other, we decided to implement puddles that could transmit electricity. I created a system for making puddles that could be generated at runtime where the player placed their traps and use the map information to fill up rooms correctly without spilling under walls.
In order to convey the narrative backbone of DREAD IT to the player, I implemented our dialogue system, with features such as the dialogue box and dialogue triggers to blend narrative into the gameplay.
I created our dynamic camera system, with a few different types of cameras that include features such as smooth following, camera shake, and zooming.