Dev Blog #85: Status Update18 July - NVYVE Studios
Happy Wednesday! We've been a bit quiet lately as we've been investigating some major optimizations, as well as rounding up feedback from the influx of players from the Summer Sale.
One thing is clear - we've still got some work to do on the optimization front, which was outlined in the roadmap we posted a few weeks back. Here's that again, in case you missed it:
This is going to be a bit wordy and a touch technical - follow along if you're interested in the juicy details!
After our Level Streaming part 1 update, we heard a lot of positive feedback that performance had been improved, but many of you were still not getting a smooth gameplay experience.
We're currently working on 2 new features: Level Streaming part 2, and Texture Streaming (which is a built-in feature of Unity 2018.2)
Level Streaming Part 2When we say "Level Streaming", that essentially refers to loading chunks of the game world in-and-out as needed, rather than loading in the entire game world in one massive chunk at the beginning. This has 2 implications - streaming the game improves load times dramatically, and also reduces the amount of memory, CPU, and sometimes even GPU being used during gameplay.
The "Part 1" of level streaming that we integrated recently was limited to props, such as chairs, tables, chests, etc. due to technical limitations on the Unity Engine side at the time. With the fixes that they've implemented over the last few months, we're now able to proceed with "full" level streaming, meaning we can load and unload level geometry (and lighting data!) in real time during gameplay.
There are a couple technical hurdles we still need to clear in order to get this shipping to you guys, but we're digging into it with the Unity folks and are seeing some promising results in testing so far. Level geo and lighting data takes up a great deal of RAM and CPU power, so reducing the amount of this stuff being loaded will yield tasty gains. Stay tuned for more updates on this.
Texture Streaming (AKA Updating Unity 2018.2)The other main optimization point we're looking at integrating in the near future is Texture Streaming. Unreal games have been using this feature for years; you may be familiar with the infamous texture pop-in that sometimes happens when using this technique.
Well, the kind folks over at Unity have recently implemented this into the core of the engine with their recent 2018.2 release. We're SUPER excited about integrating this into PAMELA, since we've got a huge amount of textures in game between all the characters, items, and environment we've crammed in there.
The biggest challenge here is updating the game to Unity 2018.2. Those of you familiar with game development will know that updating engine versions is one of those things that can really make you sweat... with good reason!
Since we're also developing HYPERGUN and it's not live yet, we've been keeping that game running on the latest and greatest (and riskiest!) Unity version, including recently updating to 2018.2. This gives us a good test bed, if you will, for identifying potential hickups before making the significant plunge with PAMELA.
On that front, we've definitely encountered a few red flags. Bug reports have been submitted, work arounds are being investigated, and once we feel a bit more confident, we'll be testing this version with PAMELA. Our testing on HYPERGUN has shown that texture streaming does indeed work quite well, improving loading times and performance even on a smaller, simpler project. This bodes well for the future performance of PAMELA, and may save some of your GPUs in the near future!
So when's the next update coming?Great question! Everything we've discussed above is somewhat in the R&D zone, in that we're testing and working with cutting-edge engine features that have yet to be extensively tested. If it all pans out, these 2 significant optimizations should yield some MAJOR performance improvements across the CPU, GPU, and RAM.
Unfortunately this is also taking a bit longer than we thought it would. Long term, it's definitely best to get these major structural changes done sooner than later, so that we've got a rock-solid foundation to build our Story Update upon later this year. Sadly this does mean in the short term we're stuck being a little sparse with the updates, whie we're getting this all taken care of.
Hope that sheds some light on what we've been up to, and where we're going. All in all we're super excited about what we've got in store this year, and want to thank you all for the great feedback and especially patience while we make sure to do this all properly!
Until then - have fun, and talk soon!