Update 26.02.18

A shift in focus from features to polishing - but still some goodies to show off.

Server Listby devultj

We've added a few improvements to the server list this week: the ability to search, filter, and sort by headers.
sbox-dev_c4D5JPEMlE.png 539.77 KB

Resource Leaksby Lorenz

Native resources like Materials, Textures, and Models were added to a global index on creation and never released. That's fixed now.

If your game loads a lot of resources at runtime, you should see better performance and stability during longer sessions.

In addition, we now clear the main menu scene when joining a game, freeing up additional memory while in-game.

18_15-40-FunctionalAmoeba.png 356.12 KB

We also added a new overlay overlay_resources 1 that shows the current set of resources in use, which will help us track down leaks in the future.

Prefab Loadingby Lorenz

A bug in prefab dependency resolution was causing almost all prefabs to be fully loaded into memory at startup, and when a prefab loads, so do all the models, textures, and other resources it references... Not good.

We fixed this, prefabs now only load when you actually use them, e.g. spawning them or referencing their GameObjects.

Faster Editor Startupsby Lorenz

Dependency resolution between assets can be expensive and runs on every editor startup, in case files were modified outside the editor (e.g. via git).

Fortunately, we have a caching system that's aware of file modification dates and checksums, which should make dependency resolution really fast. But of course, it turns out we weren't actually hitting that cache for most assets loaded at startup. The result was slow startup times, especially for larger projects.

This is fixed now, startup times should be faster for larger projects and on older systems.

Example startup (My Summer Cottage, ~18k assets):
  • Without optimization (cold start)
    • Assets Refreshed 8,218
    • Duration 24.95s
  • With optimization (cold start)
    • Assets Refreshed 4
    • Duration 1.7s

Physics Buoyancyby Layla

We got a basic buoyancy force calculation now. Things float or sink depending on their density.
543273499-efcab38f-b7c7-4ee6-9dbc-ede171188870.mp4 25.81 MB

Mapping: Vertex Paintby Layla

Scene meshes can now be painted and blended.
sbox-dev_z3bERorXsM.mp4 3.98 MB


Mapping: Mirror Toolby Layla

Another tool from hammer, mirror selected meshes or faces.
sbox-dev_7hxK0ZT1ba.mp4 3.2 MB

Bone Physics Catchupby Layla

There was a problem with physics bones, when teleporting players, they would take forever to catch up, this has now been fixed.
sbox-dev_DF7X6LPmP8.mp4 16.15 MB

Human eye improvementsby MaxL

Unlike the Citizen characters, which use a fully bone-based setup for their eyes & eyelids, our humans mix bones & morphs. I've made them "aware of each other" — and now eyelids are affected by the eye direction.
human_eyelids.mp4 2.94 MB

Hack Week: VR Toolkitby devultj

I've been envisioning a nice VR toolkit that you can download to kickstart VR games. During last week's hack week, that's what I focused on.
sbox-dev_IwSwpkxZ4p.mp4 2.3 MB
A main focus on interactions. You can set up interactables really easily. The one on this gun is an animation parameter between 0-1 with a line constraint.


Summaryby matt

Things have been a bit quieter this month. We're slowing down on the big flashy features - most of the major engine systems are in now and the focus shifted towards making everything feel good.

We've lit a fire under our asses with release, it's forcing us to make decisions - what's in, what's out, what can wait. It's making us focus on the right stuff. Things we'd have spent weeks overthinking are getting solved now or shelved.

We've got a few large doors left to close, mapping has some glaring flaws with interactables that we're actively solving. Sandbox has to be filled with all the fun little things to bring it together.

All in all - our heads are down and shit's getting done.