s&box is now open source under MIT license, you can get it on GitHub and build the engine however you want.
Obviously this isn't the Source 2 code, that's up to Valve to open source if they want. For us Source 2 is providing lower level systems, all our high level systems are C# like the entire editor, networking, scene system, UI, and way more..
What this means is you can view, modify, copy any of our code to help improve s&box with pull requests, or maintain your own fork for your standalone games, or even just take the code for your own engine.
It might seem odd from a business perspective to make an engine and give it away for free with no royalties and to give all the code away under open source. But we're a bunch of nerds that love what we're creating, we want everyone to use it in whatever way they want, we want to provide opportunities.
Open source is great for the game dev ecosystem, engines like Godot are awesome, we should have more of it because everyone wins.
Wanted to take a look into issues on terrain, LOD chunks would have some seams around transitions, now it's all fixed. While at it I decided to do a bit of dessert and implemented a technique to avoid obvious tiling by rotating segments of the texture. Still experimental and we will tailor it to our needs but I think it solves one of the big issues of having a wide terrain
When breaking a prop the gibs didn't spawn on clients - only on the host. That was fine but they weren't networked, so clients couldn't see them. That's now fixed.
Also, when creating a model with gibs you can now define whether the gib should be client-side. If it's client-side, it'll only spawn on the client.
We've completely rewritten how we handle memory allocations in our native (C++) code. This allowed us to remove a lot of complex code and unlocks some helpful memory debug tools like Address Sanitizer and Allocation Tracing for us.
We also switched our custom allocator from jemalloc to mimalloc.
What does this mean for you? Nothing really, performance is still the same, high-level functionality is the same.
Changes like this aren't always obvious, and it's fair to wonder why we bother. But they're pretty important because they make our code easier to maintain and will help us debug leaks, crashes, and other issues faster down the line.
The play mode changes were a bit of a shit show, they were a huge change under the hood and had a lot of edge cases. The team came together and fire fought a ton of bugs.
Fixed VR not rendering
Fixed envmaps not rendering
Fixed swapchains leaking when resized
Fixed TextEntry not working in-game or in-editor
Restored GameEditorSessions, so undo, selection etc. can all be linked 1:1 with scenes again
Fixed cursors sometimes getting stuck
Fixed size selection not working
It's not perfect still, but it was a large move from C++ to C#, now it's open for everyone, we can maintain it and change it's behaviour properly now, that's the goal for all our remaining C++ systems.
This will help a lot with bugs. The community can pitch in and help, especially when it came to the bigger security issues discovered here and there. Thanks guys!