Company: The Multiplayer Group
Engine: Unreal Engine 4
Role: Game Programmer
Genre: Armoured warfare-themed, hero vehicle based multiplayer online game.
About My Work in This Project
I joined the team right in the middle of the development proccess, so I was given the oportunity not only to fix bugs in existing systems, but to expand them and develop new ones.
This were my main contributions to the project:
- I performed optimization works on several Blueprints in the game, which mainly involved profiling and nativizing them.
- I worked on the Visibility system of the game, where:
- I optimized its network usage by using Fast Array Serialization for transfering visibility results from server to clients.
- I added memory states to have some “memory” about the previous check results (like if target was recently visible when is not currently visible), which was later used for several abilities in the game.
- I implemented game score system observers pattern for custom scoring events.
- I implemented player stats Mods inside GAS using observers pattern, with all configuration done in a designer friendly, single data asset (per mod)
- Passive
- Triggered: can go on/off based on a condition
- Scaling: once the starting condition is met, they increase/decrease their bonus based on a dynamic parameter
- I worked on assets pipeline, managing and loading assets depending on the context of the game (in game / in front end), saving up memory and improving loading speed by avoiding loading unnecessary assets.
- I worked on player customization menus, where I implemented systems like:
- Hero podiums system (loading config to pawns, focus logic, light rigs)
- Progress tree (Tech Tree)
- Camera logic for customization slots focus (with per slot data overrides and capacity to play montages for ease of view of slot)
- Party members heroes view
- Preview logic for various emote types
- Decals system
- I achieved project-wide data rename refactors without causing issues and data loses.