image.png184.39 KBWe're getting closer to release, so we want to start being more open about what's coming next. We've put together a public roadmap - think of it less as a strict plan and more as a big wishlist of high-level features we're excited to work on.
It's not everything. It's not a promise. It's the stuff we're genuinely pumped about and want you to know is on our radar.
You can upvote items you care about and leave comments - so if something matters to you, let us know.
We signed the new license with Valve this week, allowing us to allow people to export games from s&box's editor and ship them as standalone games on Steam without paying us anything. This has been a bit of a complicated journey, but with a lot of reassurance and compromises, we've got there.
We still have work to do on our end. We need to create a license between Facepunch and the people shipping games, then double and triple check everything is legit, but I wanted to share this progress with the community so they know that Valve did the bizzo.
When it's ready we'll be piloting it with a few select people. The first out the door is likely to be My Summer Cottage.
We've added a couple of new commands to help out with diagnosing network traffic this week. By turning on net_diag_record 1, waiting a couple of minutes, then running net_diag_dump, the game will export out a text file showing you all the network traffic over that time.
It'll show you Sync Var traffic, RPCs (in and out), and per-connection traffic. It should help you to diagnose your networking bottlenecks. Quite useful for headless clients where you don't have access to the network overlay.
Select-all in mapping mode used to select all game objects, that's not what we want, instead it now selects all mesh elements depending on the selection mode.sbox-dev_y7K0BlYQJQ.mp44.6 MB
The morph API now has control over the blend time between animation driven morphs and game override morphs, allowing you to turn it off completely and switching to your morph override instantly. sbox-dev_C68Pu49qYz.mp41.66 MB It also blends in and out properly now.sbox-dev_twlssuUCpa.mp41.32 MB
In mapping mode when hovering and selecting mesh elements, props would block the selection. To fix this we needed to support getting all hits along the trace when tracing render meshes.sbox-dev_0wUETa6PoP.mp43.93 MB
566306424-d7e51666-3cfa-40a7-bc93-ee70ad483682.mp42.28 MB Here's a first batch of fixes for the new in-game demo recording feature. Highlights are that we can now record objects changing parent, can capture ragdolls, and have much better support for cloud assets in the movie.
Cubemap rendering crashed like a fucker and ballooned VRAM, leaking descriptor sets and overflowing transform buffers by rendering too much in one frame.image.png6.99 KB We fixed it, Envmap updates are handled much more sanely now.
On top of that, we added a hint so cameras using envmap probes don’t trigger texture streaming. Since envmaps have to scan the entire map, they were previously forcing the streamer to load everything instead of just what you can actually see.
This means a Mount can create interactive prefabs (like Buttons, Doors, NPCs, ect) from the entity data it has instead of *just* being used as a lifeless model.
Here's how you can use PrefabBuilder in your own Mount:
public class MyPrefabLoader(string baseFile, string outputPath) : ResourceLoader<GameMount>
{
PrefabFile _prefab;
protected override object Load()
{
var builder = new PrefabBuilder()
.WithName( outputPath );
using ( builder.Scope() )
{
var go = new GameObject();
// Add whatever gameobjects/components you want based on the given baseFile
}
_prefab = builder.Create();
return _prefab;
}
protected override void Shutdown()
{
PrefabBuilder.Destroy( _prefab );
_prefab = null;
}
}
There aren't many weeks left until the doors open, so we're heads down making sure everything's ready.
There's always going to be things we could be doing better. At some point you just have to say "this is the release" and do it. So that's what we're doing.
Right now the focus is simple - rounding off as many sharp edges as possible from a player's perspective. How do we make that first experience as good as it can get? What games do we point new players to so they have a great time right away, and want to stick around and explore?