Implemented a GAS-based cooldown system and provided corresponding UI support.
Created a mountable Railgun turret. This had a lot of moving parts (figuratively and literally), and I worked very closely with a vfx artist, animator, and sound designer on this feature.
Made loot instanced (with an option of having non-instanced loot for certain pickups).
Integrated a third party plugin, Flying Navigation, which provided a 3D navmesh. I also provided additional support for flying enemies using this by created a 3D EQS item generator.
Implemented many more GAS features. Some of these include a stagger system, a speed boost zone, and fixing a bug present in GAS itself around attribute-based effect durations.
Created animation notify state for target focusing; designers and animators use this to fine tune how long into enemies' animations the player is targeted
Augmented Tasks from Gameplay Ability System plugin to allow design to configure distance/time lerps. Also added improved customizations, such as for collision offsets (used in melee attacks) and navmesh restriction
Reworked end-of-match flow for asynchronous match exit and improved victory/defeat events. Players can use a portal to exit the match once they complete the final objective, and if they quit after completing the last objective, they'll still get credit
Improved efficiency of perception system. Previously, we had used a lot of default values, and all Pawns were considered for perception. Plus, all factions would consider friendly characters for perception (which was only necessary for one corner case). By changing this, I reduced the number of perception traces dratstically; in some levels, the trace count reduced by 90%.
Added mouse pointer targeting, improving abilities and providing technical support for ping system
Using a lot of Unreal profiling tools. On mobile, our memory budget is critical, so I've identified problem assets blueprint functions. I've also worked on some systemic memory improvements, like a level unloading system.
Implemented root status effect, including implementing an animation root motion scaling factor
Debugged various issues, such as failing dialog transitions and crashes
How to profile for memory and performance (and identify problem assets and areas)
Creating new systems that can be used and expanded throughout the project's lifecycle
Balancing configuration vs. runtime complexity to improve the player experience
C++ and Unreal Engine 4
Gameplay Ability System plugin (GAS)
Unreal Insights, Memreport, and Unreal's stat commands
Azaan. This character is a tank with a multi-wall ability, and a teleport projectile ultimate with many animation states. For more details, click here!
Vatu. This character has some technically cool abilities - a chain teleport, a two-press ultimate, and sticky bombs that adhere to surfaces (and will drop from shields). For more details, click here!
Built (and improve!) new Trials of the Realm system. These quests are nested in sections that open up at certain time intervals each patch. I was the primary programmer for this system, so I programmed the UI components, progress tracking, unlock/in progress/lock states, and so forth. Details? Here.
An automated script for setting up each patches' challenges for TotR. This helps save our designers time and prevent possible bugs.
Investigate, debug, and fix crash reports from live clients
Fix live exploits that allow players to cheat - including hacking items and using unreleased characters - and other bugs
Unreal Engine!
Accounting for latency in a client-server environment.
Documentation is important to both make and consult.
Dealing with legacy code in supporting a game that's several years old
How to effectively communicate and work together with others in a remote office environment
C++ and UnrealScipt for Unreal Engine 3
A bit of SQL
Visual Studio (using debugging tools more extensively than I have before)
I graduated from Northeastern University in 2020 with a degree in Computer Science & Game Development. I now work at T-Minus Zero as a Gameplay Engineer - you can see more about my past and present work here.
When I'm not programming, I enjoy Dungeons & Dragons (as a player and a DM - you can check out some of my homebrew campaigns here), running, gaming with friends, and making my own game, Rogumon.
If you make games and are looking for a programmer, send me an email or give me a call. Want more info to help make your decision? Check out my Github, my resume, or email me with any questions.