Fortnite Gameplay Framework

the core base behind the gameplay

Event Router

Overview

  • Made V2 of a core event routing system that enables all disciplines to work faster while making cleaner code by heavily decoupling complex gameplay setups.
  • I closely worked with several stakeholders from the Engine, UEFN (Unreal Editor for Fortnite) and Gameplay to build a system that best suited our current needs.

Usages

  • The system is currently being used by UEFN/Creative Mode to replace its channels system with a much more robust approach that performs efficiently even for the most demanding content creators.
  • It’s also being used as the main communication method of the questing system of the game.
  • In addition, it’s used by surrounding teams like Harmonix and Psyonix as the base gameplay event exchange mechanism for new experiences

Impact

  • In the case of Fortnite:
    • It enables the team to most effectively bridge the gap between gameplay and UI code, eliminating most of the coupling and the complexity that it previously had.
    • It allowed the creation of a better and more comprehensive questing system that will let the quest team create quests without having to pollute the codebase with several unrelated code chunks in random parts of the codebase
  • In the case of surrounding experiences, it will allow fast iteration for new experiences like Fortnite Impostors, without having to closely couple objects with each one of the parts that constitute them (UI, Audio, Cinematics, Analytics, Gameplay)

Specialized Skills/Expertise

  • Ability to work with several stakeholder teams to define the best architecture for a system, heavily driven by its main use cases.
  • Ability to architect systems from the high level, identifying and focusing on implementing the key features and offering a solid base without getting caught up in details.
  • Able to architect core framework systems that are solid enough to become the base of surrounding systems without any perf or maintainability tradeoffs

New Engine Feature Dog-Fooding

Overview

  • While on the Fortnite Game Framework Team I worked with several people on the Unreal Engine team to bring several brand new Unreal Engine features to Fortnite Including:
    • State Tree
    • Enhanced Input
    • Game Feature Plugins
  • To widely adopt these features in the Fortnite team:
    • I identify and work on a dog-fooding feature that could be used as a testing ground before we completely migrate to new tech.
    • As I work in the dog-fooding feature, I collaborate with engine team to evolve and change the engine feature based on our specific needs.
    • To completely reduce risk, I make sure there’s a toggle mechanism that can change between the old and new systems so that we can hot swap them if anything doesn’t go according to plan.
    • Finally, I make sure to work with Engine Team to define what the best way to use the tech is and directly apply it in the dog-food project so that we have a solid example to use for next use cases.
  •  

Impact

  • The introduction of these new technologies has a big, positive, impact in development of future game features, making them cleaner, more performant and modular.
  • By working on a real-world use case, the engine feature also evolves and offers more functionality once used by external licensees.