Unannounced Co-Op Game
Ubisoft: Red Storm Entertainment
Unreal Engine 5 | Team of 9 | Aug. 2025 - Mar. 2026
I contributed as a Technical Game Designer on a prototype team with 2 other TD’s, 2 gameplay programmers, the Creative Director, Associate Game Director, and 2 producers to create a Helldiver’s 2-like PvE Online Co-Op game in the setting of a Ubisoft Fantasy IP.
I prototyped replicated melee and ranged player hero abilities using Blueprints, the Gameplay Ability System, and C++; implemented the logic for a total player team limit and created a Spectator Cam game mode; and contributed to combat and mission design.
Top Skills
Blueprints, Gameplay Ability System, C++, Animation, Blender, Perforce, Miro, Agile Methodologies
Prototyped Hero Abilities, Game Modes, and Missions
As a team, we started by brainstorming a list of magic abilities that our characters could use in our horde combat encounters.
I identified that a lot of our ideas for spells required a “Cone Spray” component, hit detection in the shape of a cone extending away from the player out of their wizard’s staff.
Following this observation came the decision to make hero ability “building blocks”, essentially the base mechanics in a hero skills system that would be iterated on with different attributes to make the final versions of bespoke magic abilities.
To create the Cone Spray building block, I first created the G.A.S. Ability Blueprint and Gameplay Tag to activate it. I added the Ability to a development skills loadout, then started building out the mechanic using Blueprints. I added a “Multi-Cone Trace By Channel” node in C++ to our Blueprint Function Library and activated it in in my ability in the direction of the player’s control rotation. I created an obviously debug hot pink Niagara System of Splatoon-like spraying particles in a cone shape, which I activated using the same information as the cone trace. The cone spray ability applied a DoT Gameplay Effect to any character it hit.
Another building block I made was creating a “Receive Gravity” base character ability. To apply a replicated magnetic force to characters, a hero ability just needed to activate this ability (which was granted in the base character class) on its hit target and pass in the direction it wanted them to be pulled towards. I used this to make a prototype a new version of Zarya’s black hole ultimate attack from Overwatch.
I also created two new Gameplay Ability Target Data classes and Blueprint node in C++ for our BFL for use in our games player abilities: one for In-Game Items, which would tell the player’s inventory system what item it was picking up and what equip animation to use; and one to directly pass in the Vector2D value of the player’s Controller Input when activating a Combat Ability.
Set Multiplayer Team Size Limit and Created Spectator Game Mode
For a long time, when playtesting the game, we’d have four people join the game, and one of them would stream their gameplay on Teams.
Using Blueprints, I edited the logic where players join a server session to determine if 4 players already existed in the game, and if they did, the 5th+ player would possess a Spectator Pawn class I created. Spectators could fly freely around the game world, or press buttons to teleport back and forth between the active players.
In the next iteration, I would have moved this logic from where players join a session to activate from an updated “Active Players” variable in the game’s state, so Spectators would instantly spawn and possess a character when a 4th active player left.