Upgrading to Engine Version 4.21

In the middle of 2016 we originally began the development of Ship of Heroes with the then-current version of the Unreal Engine, version 4.11.3.  As development proceeded, we upgraded our engine version several times, and each upgrade brought new features, but also required a considerable effort by our coders and artists to adapt and upgrade our game code and art to the new version.  For the last nine months we’ve been developing exclusively in UE 4.18.  But it is important to keep upgrading the engine version we use, right up to launch, because Epic Games keeps adding great new stuff into the Unreal Engine, and we want to take advantage of what they give to us.

Optimizing Ship of Heroes for MMO gameplay is key engine feature

We usually upgrade by one version at a time and also stay one version behind the most current Epic release.  But after nine months without an engine upgrade, we faced a choice of whether to jump 4.19, which would be the normal progression or to double jump to 4.20.  But we decided to do something different and to jump directly UE 4.21.2, advancing three engine versions at once, because of several features we would gain that are in 4.21.2, including the Replication Graph feature, which will allow us to code some significant server-side optimizations for Ship of Heroes.

A female hair model in two colors adapted from the Paragon asset provided by Epic Games

Our skilled coders and artists have done engine upgrades many times before, and we usually take a moment and tell all of you what the advantages on the new version are going to be.  And once again, we’re going to provide the top-level summary, but moving from 4.18 to 4.21 means that we have integrated over 400 improvements into the game code, many of which are visible to our dev team but are not visible to our players.  Some of the most important upgrades that you’ve be able to see or hear us discussing and reacting to are the following:

  • Dynamic Resolution supports linking resolution to FPS for console games made in UE. We are not building a console game, and we already have a custom version of this feature coded and working in SoH, but having DR as an engine feature helps us optimize.
  • Advances to the Niagara FX system in terms of realism. It’s possible that we may use both Niagara and PopcornFX in our FX, depending upon the situation, so this gives us options, including with powerset creation.
  • We can pull the art and FX assets that Epic gave to the community from their game, Paragon, and re-use or re-create them in our MMORPG. While the costumes from Paragon are not directly useable in Ship of Heroes, they do give us advanced 3D concept art to work with, and also some really cool hair models (that we still need to extract and optimize for our purposes).
  • The Replication Graph feature allows a significant reduction in server work for the kind of instanced missions that will be our bread and butter. We still need to code this capability specifically to our game, as it does not deliver results “out of the box.”  This is a tool specifically designed for high-volume multiplayer games.  Thank you, Epic!
  • The introduction of the Proxy LOD system in version 4.19 is an extension of their Hierarchical LOD system, the system we use to help reduce draw calls and improve LOD performance over long range. This will be an especially welcome improvement during some of our Beta events later this year.
  • In Epic’s 4.21 version of their Unreal Engine, they added a feature to detect and mitigate DDOS attacks. While we will need some time to figure out how to integrate it with SoH, we believe that this may ultimately improve both the security and performance of the game during a potential DDOS attack. Of course, we hope we don’t ever need such a thing, but historically DDOS attacks have taken down MMOs before and we would prefer to avoid the experience.
  • Finally, Epic has given us a year’s worth of bug fixes, LOD enhancements, animation improvements, Sequencer upgrades, and debugging tools that our dev team is looking forward to adding to SoH.

Another hair model in two colors adapted from the Paragon asset provided by Epic Games

We think it is important in terms of transparency that our community should know what engine version we’re using and why.  Since changing versions requires a week or more of work from the dev team while other development projects are waiting, you should be able to hear why we are doing what we’re doing. We know you’re waiting for SoH to launch, even as a Beta version, and this sort of major effort by the dev team matters a lot, both for what we’re doing now and for how the game will perform later.

Third hair model in two colors adapted from the Paragon asset provided by Epic Games

As we approach our end of the year Beta launch, we have to consider carefully at how many additional engine upgrades we’re going to make.  So the performance of UE 4.21 matters a lot to us, and to all of you.

An example of a male hair model provided by epic Games from their Paragon game.