Thank you for everyone that has helped us during this period - the developer preview is now closed!
The developer preview has been invaluable to the development of s&box, putting the engine in front of it's core audience from day 1 - you guys telling us what you love and what is shit has turned the engine into what it is today.
We'll be open again on Steam on the 28th April for $20.
I've merged the UI batcher, which means UI will render much much faster now.
You can expect major performance improvements in your user interfaces(which is almost every game) with some users reporting up to 54% more FPS while on the menu.
Batching
Previously we would render each panel individually as we traversed the DOM. The GPU would paint each individually which worked fine for a while. But as complexity grew, the number of individual draw that your GPU would execute would affect performances.
We can now, in the best case scenario, draw everything all at once.
Discovery Page
Our discover page went down from 1080+ draw calls to only 5.
This is what your GPU was doing before. Each line is a draw call.image.png19.85 KBAnd this is after.
Overall, this was a much needed improvement as the complexity of games and user interfaces grew. We plan on working on this a bit more to optimize other aspect of our UI pipeline.
We've made it easier to search by putting a nicely accessible search bar in the middle of the navbar: image.png92.9 KBThis is pretty basic, and we'll improve it over time - but we're hoping it makes it easier to find the games you want to play.
Our floating point serialization had a precision bug that caused values to appear changed even when they hadn't been touched, leading to noisy git diffs. This is now fixed and you should no longer see large unexpected diffs like this one in your scenes or prefabs.15_09-50-StrictSnowyowl.png65.74 KB
This week we made a bunch of improvements to prefab editing.
Faster: Less memory allocation and wasted work when editing prefabs.
Cleaner diffs: Nested prefab operations no longer regenerate all GUIDs.
Missing prefabs: instances with deleted prefab files now show as "broken" instead of throwing an error; data is restoreed if the prefab file comes back.07_15-49-WhiteSloth.png5.55 KB
Bug fixes: Reverting nested prefabs no longer wipes parent overrides; creating a prefab from a GameObject correctly restores positions.
Ambient Occlusion is currently the biggest bottleneck in low end systems.
We shipped a few optimizations to SSAO, it's using Hilbert Tree instead of Blue Noise, this allows us to use less brute forced samples to resolve the same perceptual result.
On top of that we are using Float16 logic instead of Float32 on it now, which should have a considerable speedup in some GPU families.
There's more to do with this but it's better to ship it in small, quick iterations, being able to use proper Motion Vectors and a good bilateral upsampler should reduce the need to do brute forcing greatly.
The documentation has been getting a lot of love, we have a lot of great content on there but the discoverability and flow was non obvious. I've been rearranging it all, polishing up the Getting Started, adding more top level sections as well as "hub" pages. There's been a lot of community contributions already too since we open-sourced it last week! image.png58.76 KB
For a long while now, if a dedicated server networked a GameObject with a Texture reference, it was nulled out and never sent. This is because servers don't load texture data, which makes sense. But because of that we were never registering them in our managed engine.
So we're registering them now -- this doesn't mean you can start reading texture data on the server, you can't. However, networking these resources will work as intended now.
It's the end of an era with the developer preview closing - 5 years ago we got Source 2 and we almost immediately opened up to developers, letting them try out the toolset from when there was very little, so we could see what was great and what wasn't.
This feedback loop was vital to get to where we are, seeing people want to push the boundaries of Source 2 further and further until we ended up rewriting half the engine from entities into the convenient scene system we all love today.
A huge thank you to everyone in the community who've participated along all the way, and helped define what s&box is today.
Everything we do is to provide opportunities for the next generation of developers, be it with our Play Fund, cosmetic creators, open sourcing, or exporting standalone games royalty-free to Steam.
We're only a couple of weeks away now, we're running out of loose ends to tie up, we're pretty confident now, we know what we're offering and what we're not offering, there's no over promising, we're excited to cross the line and start a new cycle of development, and continue to evolve alongside everyone.