A vast world awaits in all-new, dark fantasy action-RPG, Lords of the Fallen. As one of the fabled Dark Crusaders, embark on an epic quest to overthrow Adyr, the demon God.

The game has seen several successful trailers so far:

  1. Announcement Trailer showcased at gamescom Opening Night Live 2022.
  2. Gameplay Teaser Trailer showcased at The Game Awards 2022.
  3. Technical Showcase Trailer showcased at State of Unreal during GDC 2023.
  4. Gameplay Reveal Trailer.
  5. Gameplay Showcase Trailer showcased at Future Games Show 2023.
  6. Extended Gameplay Presentation.
  7. Official Story Trailer showcased at gamescom Opening Night Live 2023.
  8. Official Overview Trailer.
  9. Official Launch Trailer.
  10. Official Accolades Trailer.


The game has successfully launched on PC, PlayStation 5, Xbox Series X/S, and Steam Deck on Friday, 13th October 2023, so you can buy it now.

Within just 10 days of it release, the game had surpassed one million copies sold, and managed to pass the 120k viewers mark on Twitch.

Responsibilities

  • Make the game work from the networking perspective, while dealing with several aspects of the game:
    • Matchmaking:
      • Revamped our invasion matchmaking while utilizing Online Beacons.
      • Supported custom matchmaking by key.
      • Made sure our ping calculation system that ensures clients are matchmade with good ping to the server works as expected.
    • Customization System:
      • Custom serialization (and compression) of data over the network to achieve atomic replication of data types not supported by Unreal Header Tool.
      • Properly enabled players to tint their armor pieces at runtime.
    • Save/Serialization System:
      • Completely held back clients from serializing/deserializing the state of world placed Actors, which previously led to very nasty undefined behaviors.
    • Rune System: Revamped the way our rune system works in both single and multiplayer, while fixing very unintuitive bugs along the way.
    • Gameplay Ability System: Fixed several gameplay abilities not performing properly over the network, and made one from the ground up.
    • Character Movement:
      • Fixed an engine bug that targets simulated clients on a listen-server having very low animations play rate.
      • Fixed jittery movement and animations on local clients while playing multiple fast root motion animations in a row.
      • Effectively found and applied the commit fix for a 5.1 engine bug where simulated proxy characters on dynamic rotated movement bases end up in the wrong location while playing animated root motion.
      • Properly switched between movement modes, such that no weird issues happen.
    • Level Streaming:
      • Made sure that game state is retained on clients and is resilient against level streaming, such that it’s always in sync with the server.
      • Properly fixed a very rare engine bug where streamed levels would fail to load contained Actors on clients, usually under non-optimal network conditions.
    • UI:
      • Fixed visually breaking issues with different in-game menus, and a bunch of memory leaks.
      • Supported the creation of a dedicated, self-contained multiplayer settings menu.
      • Supported user-facing text localization.
    • Animation:
      • Fixed de-synchronized animations on server and clients.
      • Effectively cooperated on the fix for the issue where on client animation frames were skipped, and Character bones were not refreshed, due to the server/host looking away, causing hit detection to fail miserably.
    • Audio: Fixed countless audio bugs, where audio wasn’t being played properly across the network for all connections of interest:
      • Made sure to force sending a network update when calling an unreliable multicast RPC within dormant Actors.
      • Verified we don’t play audio directly inside GameplayAbilities, and instead use GameplayCues for that.
    • Level Design: Implemented level design oriented tools to enhance the workflow of the level design team:
      • Added an auto-fit outline around invasion areas so they are easily identifiable.
      • Added Map Checks to invasion areas, to alert for malformed setup when placed in levels.
  • Profiling and optimizing game’s network bandwidth using Networking Insights:
    • Effectively identified and disabled replication on many Objects and properties that didn’t need it.
    • Effectively skipped data replication for connections that were able to conclude that data from elsewhere.
    • Utilized Oodle Network plugin to manually compress serialized network data for improved player experience.
    • Seamlessly moved bandwidth-unfriendly data from Character to Player State, which replicates less often, and is persistent during the session lifetime.
  • Profiling and optimizing game’s server CPU performance usage using Timing Insights:
    • Effectively reduced the number of Actors reported by the NetBroadcastTickTime stat.
  • Made editor tools, that simplified and enhanced my workflow:
    • Made a simple editor tool that scans all our project’s Blueprint assets, and inclusively finds all replicated Objects, in hopes of optimizing them.
    • Made a simple editor tool that triggers serialization on Blueprint assets, so that references to Gameplay Attributes can be seen in the reference viewer, to better understand how to optimize their owning Attribute Sets.
  • Participated in the process of interviewing candidates for the Network Multiplayer Lead developer role:
    • Reviewed a written test that was sent to them which helped pinpointing their strengths and weaknesses.
    • Made sure they have an overview experience of networking in general, and the Tribes networking model in specific.
    • Made sure they have an inclusive understanding of Unreal’s client-server model and guarantees.
    • Took decisive decisions with a lot of caution.
  • Participated in the post-mortem process of our game’s release to better pinpoint what was done right, and what could have been done better on all aspects:
    • Went over what makes the multiplayer aspect of a game a potentially successful one.
    • Addressed several flaws in the team’s communication and work pipeline aspects that hopefully will be done right for the next title.
  • Took part in reviewing the code changes/contributions of other coders:
    • Ensured code changes are resilient to data races, the bane of every multiplayer game.
    • Ensured code changes stick to our coding standards and conventions, to maintain a unified standard within our codebase.

Media