Performance and Optimisation Update!

Solium Infernum

Take the Infernal Throne in this hellish turn-based grand strategy game. The Prince of Darkness has vanished, leaving Archfiends to conspire: muster your legions while intoning dark sorceries, devilish schemes, and machiavellian plots. Who will be the new ruler of Hell and ascend the Throne?

Hi Archfriends! Luke here, I’m the technical director at League of Geeks. It’s not long now until you can get your hands on Solium Infernum.. We’re less than 24 hours away from launch! [img]{STEAM_CLAN_IMAGE}/42983950/7bd6ff195723884aa4ee3af15f7ca9b664e17b4d.png[/img] In the meantime, I wanted to swing by and proudly report that we’ve made huge strides with our optimisation and performance! This couldn’t have been possible without the help of our Hellraisers and all of you who provided us with various data points, thank you so much! So let me dive into it! [h2]Updated System Requirements[/h2] First up, we’ve updated our Minimum Specs for the game on our steam page. The games industry can be a little inconsistent with defining system requirements, but you will find [b]both[/b] our [i]Minimum[/i] and [i]Recommended[/i] Specs for playing Solium Infernum available on the Steam page now, complete with what settings those specs were benchmarked at. [h3]Minimum Specs[/h3] Minimum requirements are considered the line where – if any lower – the performance would be distracting to the basic gameplay experience. [b]For us at LoG, we defined this minimum as running at 'Low' quality settings, at a resolution of 1920x1080 at 30 frames per second.[/b] [list][*] Requires a 64-bit processor and operating system [*] OS: Windows 10 64-bit [*] Processor: Intel® Core™ i5-7400 [*] Memory: 8 GB RAM [*] Graphics: NVIDIA® GeForce® GTX 1050 Ti [*] DirectX: Version 11 [*] Storage: 8 GB available space[/list] [h3]Recommended Specs[/h3] Recommended requirements are the line where the vast, vast majority of Steam users can experience the full, glory of Solium Infernum as intended. This isn’t necessarily [i]everything at crazy ultra high levels on the biggest monitors and a bajillion FPS[/i], but rather where there are no compromises to players experiencing our vision. [b]We defined that as running at ‘High’ quality settings, at a resolution of 2560x1440 at 60 frames per second.[/b] [list][*] Requires a 64-bit processor and operating system [*] OS: Windows 10 64-bit [*] Processor: Intel® Core™ i5-10400 [*] Memory: 12 GB RAM [*] Graphics: NVIDIA® GeForce® RTX 2060 [*] DirectX: Version 11 [*] Storage: 8 GB available space[/list] These are the current specs for launch and we expect them to remain here for the foreseeable future, but we are still iterating on our optimisation and performance so you may see performance improvements as some post-launch quality of life patches surface. Our goal, naturally, is to make Solium Infernum as accessible as possible with our given resources. [h2]How has Solium Infernum’s Performance Improved?[/h2] Since the Multiplayer Weekend, we’ve been working hard on responding to all the feedback we’ve received, especially for performance and stability! To date, there have been almost [i]4000 commits (updates to our codebase and in-game assets)[/i] since the multiplayer weekend! In short, you should find that performance has improved [i][b]a lot[/b][/i]. We’ll briefly overview some of the things we’ve done to optimise Solium Infernum below. More broadly, when comparing the Multiplayer Weekend build with the Launch Build on Ultra quality settings, the average frame rate has increased from ~33 FPS to ~80 FPS! An improvement of well over 100%. We’re really proud of this – and the team has worked incredibly hard to achieve the new specs! You can see our analysis tools running a comparison of the Multiplayer Weekend build and our current release candidate here. [img]{STEAM_CLAN_IMAGE}/42983950/c0c65bcffc7287300b1a209b33252d64e342edb9.png[/img] [i]Note: P95 is short for ‘95th percentile’, etc![/i] [i]Note ^2: running the frame rate analysis tool will reduce the framerate as well (~10FPS) however because it does it to both the comparison is still valid.[/i] [h3]Quality Settings[/h3] Our quality settings during the Multiplayer Weekend were very much in progress. Most folks found that shifting to “Low” didn’t really offer a lot of improvements to performance beyond VRAM usage, which typically won’t provide a better framerate. Aside from the top level Low, Medium, High and Ultra settings, players will now have the ability to customise Solium Infernum for the experience they prefer based on their hardware, whether that’s higher resolution, fidelity or frame rate. [img]{STEAM_CLAN_IMAGE}/42983950/9fc44fecdca93e50cb7e8ebc7440038d551a0ef1.png[/img] [h3]Textures, textures, textures…[/h3] Solium Infernum is a game with a LOT of incredible high quality 2D art. Maybe counter intuitively, 2D textures are often more expensive than 3D when it comes to games. So this was a huge focus of our optimisation pass. First we did an audit of every texture in the game, reducing their resolution based on their maximum on-screen size and as a result halved the memory footprint of the entire game’s texture budget. We also created a new bespoke decal renderer that offered greater flexibility and performance. Our engineers also went through a process of “atlasing” some of our textures, which is the process of combining multiple textures into a single larger texture, and then only displaying the bit you need to when you use it. In some circumstances this process can be a big performance improvement. [img]{STEAM_CLAN_IMAGE}/42983950/a372a19491a63698a369ff7b1ab546469713b8a6.png[/img] [h3]Other Improvements[/h3] There were so many other performance improvements and optimisation work we’ve done in the past month, but we’d like to call out a few that we are particularly meaningful: [list][*] Making sure the game board can loop back on itself is some serious technical magic, and expensive! So there was further optimisation of some of our board wrapping rendering techniques, in particular how we combine various cameras together for the final frame. [*] Adding more multithreading and asynchronous features for AI as well as auto-saving. [*] Optimised noise textures and rendering methods for the game’s fog/clouds to improve GPU performance. Roughly 300% more efficient! [*] 487 individual VFX assets were manually (yes, one by one, by hand!!!) updated and optimised to reduce particle capacity and overdraw, without loss of quality. [*] And we’ve integrated a number of bespoke features like a static fallback for animating cards and archfiends, among other little tricks of the trade and safety mechanisms. [*] Our systems administrator, Adrian, also built a bank of PCs at the studio with the weirdest build combinations comparable to our min spec to utilise for testing. Super helpful! [/list] This was such a big effort from our engineering, art and tech-art teams to ensure that Solium Infernum is as accessible and performant as possible for launch. We really hope it translates well into your playthroughs when we go live in a few days! Now it’s worth stating the obvious here… the infernal nature of PC software development is that [i]every single PC[/i] is a unique combination of parts, drivers and software. So while many improvements have been made and if you’re playing our game at or above min spec you’re extremely likely to have a good time, we can’t catch every single performance quirk or bug for every individual player’s setup ahead of launch. [b]So if you do encounter any issues you feel you shouldn’t or encounter performance below the expectations we’ve set here, send an in-game bug report and we’ll take a look! [/b]They go straight to the dev team and we read and triage every single one. Oh and lastly, don’t forget to update your drivers before descending into Solium Infernum! See you in Hell... Tomorrow! <3 Luke and the LoG Squad -------------------------------------------------------------------------------------------------------------- [i]If you've made it this far, thanks for following along. We intend to share more posts like this, detailing the development process as it unfolds and exploring the unique challenges the privilege of re-imagining a cult classic like Solium Infernum for new (and old!) audiences holds.[/i] [i]For now, you can join the [url=https://bit.ly/LeagueOfGeeksDiscord][b]League of Geeks Discord community[/b][/url] for all the infernal news and discussion.[/i] [i]P.S. You can support us and our re-imagining of Vic's "diamond in the dark" by Wishlisting Solium Infernum on Steam, if you haven't already. Wishlisting tells the all-great Steam algorithm that people like what they’re seeing and gets us in front of more eyes.[/i] https://store.steampowered.com/app/1893810/Solium_Infernum/