Signs
We now have signs. They're crafted like any other item, and placed like any other item. They observe the rules of tool cupboards, so if it's within the radius of your cupboard then only those authorised will be able to change the text. But you can also lock the text, so no-one will be able to edit it (not even you).
They come in multiple sizes, some of which are default craftable and some that will require you to find a blueprint. They're all wood and currently have a messy hand-written font, but in the future we envision different types of signs with nicer fonts.
There was a lot of non-trivial under the hood coding to get signs working. We wanted to place them using the same rules system that we have set up for placing building blocks, because it allows us more control over where/how the player can place stuff, and it seems stupid to have two item placement systems. This led to us making the building placement system generic so it could be used with any entity. Because of this, you might notice some bugs/issues/changes to building in general.
Here's what the players have done with signs on the Dev servers.
Physics Limitations
I spoke to Unity about the physics problems we're seeing, where the physics system stops working after a large number of colliders. They spoke to nvidia and it turns out there's an undocumented limitation of 262k colliders in PhysX 3.3. This is apparently fixed in PhysX 3.4, but Unity has no plans to make that upgrade. We're experiencing this problem at around 160k colliders though, so I've asked Unity whether colliders could be leaking somehow (a 100k collider difference).
Either way, this seems like it's going to be an issue for the foreseeable future, so I'm going to start taking hopefully non-hacky steps next week to detect and/or prevent it.
Death Routine
Dying always sucks, but the way the death screen popped up and you had no idea what happened made it suck extra hard. So two things changed.
People now get wounded, which means they get knocked to the ground, unable to do anything other than look around and shout. While they're knocked down, other players can loot them, or they can help them up. After a number of seconds, if not helped and not killed, the player will die (although there's a small chance they might recover and be able to get up). If you're shot in the head you'll die instantly, but you'll probably still have a better idea of what killed you because for a few seconds you'll continue to see through your ragdoll corpse eyes, just like in Legacy.
And guess what, ragdolls aren't jerky as shit anymore! Thanks to Anthony Yakovlev at Unity for letting us know what we were doing wrong!
Performance Improvements
We've started taking some more drastic steps to improve performance, which is a bit of a joke right now. These things might be a bit much, and might make the game look weird in certain situations, but we're aiming to overkill and then scale back to acceptable appearance.
We've tweaked the way skinned colliders work. Previously they were being rebuilt every frame, even if nothing had changed. This is obviously wasteful - so they only get rebuilt when they need to be now. You'll see decent performance improvements when shooting at players/animals.
The LODs we added to building blocks last week worked quite well, but they didn't improve performance by a massive amount, so we turned shadows off on distant LODs. This gives a real big performance boost when there's lots of them.
The conditional models system has been re-written to only work on models within a certain radius of the player. They're also much more dynamic than they were. Previously it spawned every model in and hid the ones that we didn't want to see, but now it only spawns in the models that we do want to see.
Layer culling has been added. This is a feature built into Unity that lets us cull different layers at different distances. For example, we can make it only draw deployables like campfires and cupboards within a range of 100 meters, and draw things like big environmental rocks at 1000 meters. This is the same stuff that LOD culling does, but it's way way cheaper because it's based on distance from the camera instead of the size of the object on the camera.
ISO Noise
The gamma stuff we did a while ago worked really well at preventing the gamma hacks we were seeing people use a lot, but it darkened the image slightly more than we liked, so we added ISO noise. It's a noise filter that gets louder the darker it gets. It serves the same purpose as the gamma stuff we did, but it looks cooler. It's the kind of thing you need to see in game to appreciate so we're not posting any screenshots here.
The Rest
- Disabled FPS graph (because it hurt fps).
- FPS display is now more accurate (but why aren't you using the FPS counter in the steam overlay?).
- Fixed server sometimes showing wrong IP address for client.
- Fixed corpses sometimes being unlootable.
- Fixed chat opening when renaming sleeping bag.
- Tweaked tooltip/crosshair/health hud.
- Tweaked placement guide colours.