SNØ + Steam Deck = ❤️

Alex recently posted a performance update with an accompanying changelog, but I thought I'd just talk briefly why and how we optimized the game and why we decided to use the Steam Deck as our target hardware for our optimizations. The [i]why [/i]is pretty easy: We love smooth gameplay, and anything less than 60 fps was unacceptable to us when it came to SNØ. The gameplay is all about hitting perfect smooth curves and achieving a sense of flow while doing high speed maneuvers. Although the game play good even with some frame drops, it always irked me that a run could be ended by a couple of stuttering frames leading me to crash into a tree I could've avoided. Well, I'm happy to say that I can no longer use that excuse when I crash. The [i]how [/i]is a bit more complicated, but the short of it was that we generate and spawn in new terrain continuously as you ski down the mountain. Our terrain generation algorithm isn't super heavy, but heavy enough that when we ran it on the main thread of the CPU you could easily drop down to 40-50 frames, and in very dense areas even lower perhaps. The solution? Multithreading and parallel processing for calculating the terrain, as well as spacing out spawning of objects. This got rid of 99% of stutter, and the last pieces was some graphics optimization. The Steam Deck was chosen as our target for a a couple of reasons: [olist] [*] First of all, Alex has a Steam Deck. We use it all the time to test stuff, show people our game when they visit our office or if we are out and about talking to people (rare). It ran fine before, but it is always nicer to be able to show people a game that runs super smooth. [*] We like the Deck. [*] It represents a typical computer. Or, ehh-.. it doesn't really, but it also kinda does? Well, it represents an actual goal and we figured if we managed to get it run good on the Deck, then chances were pretty good a lot of "normal" PCs would run it well too. [/olist] But enough talk, what does it look like? I give you, the before and after: Before: [img]{STEAM_CLAN_IMAGE}/45011250/95540bae56d88e1d108ec75b52bb566a32db4b20.gif[/img] After: [img]{STEAM_CLAN_IMAGE}/45011250/d8519e05f36e1467800a16ada1fef2581f61a81a.gif[/img] Now, I realize a couple of super compressed gifs at 20 fps doesn't really do it justice, but if you look at the top left corner, that fps counter and CPU load graph tells it all. The game now runs super smooth, the cooling fan in the Steam Deck has calmed down and battery life has improved! As a bonus, anyone with a lower end PC can also enjoy better framerates (we have already gotten feedback that has significantly improved performance on low end hardware). We hope people will enjoy our hard work, and although it isn't as flashy as new content or features, I believe smooth framerate is a must. Cheers, Christer SG