Boost System

A boost system I made for Urban Nightmare. The player can press a button to cancel out of a wall climb to gain some speed. However, when testing, if the player attempted to boost to early when climbing, the wall climb would immediately cancel and you would slam into the wall. To remedy this, I check how far into the animation montage you are. If it's too soon, the input gets queued up, the animation speeds up, and you'll automatically boost after finishing the climb. You can also queue up a boost by attempting to boost just before entering a wall climb. This ensures that the players inputs aren't simply eaten and tossed out.

Map Generator

A Tile-based map generation system I made in Unity for my roguelike. First, I send a few crawlers around to make a series of coordinates that represent where rooms can spawn. Then I call the CreateGrid function that sorts through that array deciding what type of room gets spawned there. Since larger rooms can take up multiple coordinates, I have to first decide which coordinates are occuppied by what rooms and ensure no two rooms overlap before I begin spawning them, otherwise I risk generating overlapping rooms.

Wander Algorithm

My implementation of the wander algorithm I made for my Unity roguelike. I couldn't settle on how I wanted certain aspects of the movement to be, so I settled on just making it an option for the designer (that designer being me).

Skill System

A Skill system I made for my Unreal RPG. This is the generic form of the skill usage system. I wanted it to be easy to make new skills, or to implement skills with unique properties that have to be made in code, so I made a handful of functions that can be easily overridden. Otherwise, much of what makes skills work can be decided upon by a designer by making new objects and adjusting various properties in a data table.

A* Algorithm

An implementation of the A* algorithm I made in OpenFrameworks for a game AI class. Though there are still a few little edge cases where the boid doesn't move perfectly, I'm really happy with how it turned out.