Epic's Fortnite is growing to be a resounding success, especially after the debut of the Battle Royale mode (which has attracted the ire of Bluehole, as you might recall). In fact, Epic announced yesterday that over seven million gamers have played Fortnite already, though it's important to remind that the Battle Royale mode is now accessible for free.
Thanks to over 7 million of you who have played Fortnite! We want to keep the Battle Bus flying, so Duos and Supply Drops are available NOW. pic.twitter.com/sRx767u4aG
— Fortnite (@FortniteGame) October 4, 2017
Epic is also the maker of what's arguably the most popular third-party engine right now, the Unreal Engine 4. While developing their third-person MOBA Paragon, they were able to further optimize the engine for everyone else. The same is now happening with Fortnite and the upcoming optimizations will affect both client and server, with a particular eye towards consoles where Epic was able to develop several tweaks to improve the memory footprint.
Once these optimizations roll out, hopefully other Unreal Engine 4 powered games featuring big online worlds (Dark and Light, Citadel: Forged With Fire, Conan Exiles, PLAYERUNKNOWN'S BATTLEGROUNDS just to name a few) can use them to improve performance.
We used the Hierarchical LOD (HLOD) feature in the engine, backed by Simplygon, to combine regions of the map into single low-poly meshes that could be drawn in a single draw call when viewed from a distance. Those tools already exist – we use them in Paragon – but we needed to make changes to allow our artists to be more efficient.
The way the map was broken up so that artists could collaborate on it didn’t mesh well with our HLOD tools. We made some changes to HLOD to better support that workflow and added a commandlet to rebuild all HLODs in the map that could run overnight rather than requiring artists to rebuild HLODs locally. (Will be in 4.19)
Here are some of the console improvements, which will ship in 4.18:
[XboxOne + PS4] Improved our low-level memory tracking tools to better identify potential memory optimizations.[XboxOne + PS4] More efficient volume texture updates, which reduced peak memory by 240MB+.[XboxOne] Added options for different render target layouts to maximize bandwidth utilization on the GPU depending on what rendering features are enabled.[XboxOne] Reduced memory overhead in D3D12 descriptor heaps, and saved 120MB.[XboxOne] Allocated and freed render targets on-the-fly to reduce memory usage by 100MB+.[PS4] Optimized how we handle the texture streaming and defragmentation pools, saving 300-400MB.While working on Battle Royale we identified some issues with input latency in the engine that particularly affected 30Hz games. We were able to make improvements to thread synchronization, reducing latency by around 66ms (the reduction will be around half that in a 60Hz title) to address this problem. These changes make a noticeable improvement to the feel of the game, making it more responsive and easier to aim. (Will be in 4.19)