Rust-Servers.net Blog Feed en https://rust-servers.net/ Sat, 04 Feb 2017 13:27 CET Rust-Servers.net is a Rust servers list. Its goal is to provide an efficient way for players to find a server that suits their needs and also for servers owners to get more players on their servers. 60 Rust Devblog 146 https://rust-servers.net/blog/106/rust-devblog-146/ https://rust-servers.net/blog/106/rust-devblog-146/ Sat, 04 Feb 2017 13:27 CET

Lots of changes this week: we’ve added Flame Turrets and Tuna Can Lamps, most ammo now stacks to 128, previously visited servers should load significantly faster, rocks can now spawn with a previously chosen skin, and lots more. This patch will wipe all the servers.

 

Video Update

Concept Limbo

For the next few weeks I’ll be going through Shadowfrax’s Concept Limbooo and implementing what I consider low hanging fruit that was pushed aside for other, more important, reasons. I figure if I spend some time on this everyone will have a bunch of new toys to play with, rather than weeks of bugfixes and minor balance changes.

Wall Lamps

Pretty self explanatory, and the people over at reddit cried about this a lot for some reason. Either way here you go:

Hopefully they don’t tank your FPS and I won’t have to spend all next week removing them.

Flame Turret

I had a lot of fun with this guy. It’s an area denial trap that uses Low Grade Fuel as ammunition. You’re going to want to place it around corners throughout your base to slow down potential raiders. When triggered, they will spray flames for 5 seconds, inhibiting player movement and causing damage. Do not place these inside wooden structures. We’re also doing something a little different with this turret as an experiment: instead of authorizing with it, instead it won’t attack people with Building Privileges. If you really want to let someone into your base just take the fuel out for now. Eventually this should work with pressure pads and stuff like that, but let’s just see how this goes. Check it out:

It’s probably OP; it’s possibly UP; and it probably lags the server to hell. I’ll fix any of these issues if they come up, though.

Radiation Changes

I had this little bit of code that let a tiny amount of radiation always leak through clothing. This was annoying in practice because even in a Radsuit you had to spam bandages. I think in the future I will just have radiation damage the clothing items instead if we want to limit how long you can spend in a Radtown when fully protected.

Building Privilege Light Restrictions

I know it’s magic, but right now I don’t care: I hated how absolutely no-one designed a base that had a ceiling light or a lantern or anything like outside, because someone would just run up and steal the Low Grade Fuel in 5 seconds. Now you can only access the Ceiling Light, Wall Lamp, and Lantern if you have Building Privileges. This may change in the future, but let’s try it out for now.

Water Filling Changes

You can now only fill up water containers from the tap part of a Water Barrel or Water Catcher. There’s also a really bad particle effect to accompany it!

Ladder Hatch Changes

You can no longer spam rocks at the ‘weak’ side of a Ladder Hatch. Sorry, but this was stupid. A hatch is now completely equivalent to a Sheet Metal Door in all respects, and neither are vulnerable to being broken down by using 347 rocks on them.

Planting Changes

I’ve modified things so that plants take damage and can be chopped down. They also stick around a lot longer when they are dead, so that you have a chance to see your shitty dead crop that you neglected instead of an empty planter box. You’ll also require less trips with a bucket to completely saturate the soil of planter boxes. More work needs to be done on planting, but I’ve given it a rest to implement some other things…

Ammo Stacks

Most ammo stacks to 128 now.

Signage Cost Reductions

Wow! A large banner used to cost over 750 Metal Frags, Wood, and Cloth. No wonder I haven’t seen one of these crafted in forever. Virtually all the exotic signs have had their costs reduced to ⅓ or ¼ what they were.

Arrow Trails

The Arrow trails were using the wrong shader and did not take lighting information into account. This meant that the trails were bright white, even in the dead of night, making stealth operations very difficult. This has since been fixed.

Stripped Ownership

I stripped the ownership code out this week. I know: you liked it, you want it back, it was fun to see the origins of an item; but it was adding unnecessary overhead to the whole item system. We can look at storing an item’s creator at some point — I can see some kind of value in that — but I’ll leave that up to Helk.

Player Model Fixes

The player model’s new angles weren’t updating when the player was standing still. This meant that the player could be looking in completely different direction and you wouldn’t know until they attacked. This is fixed now.

The player’s lower half is now a dead zone, so the top half of the body can rotate within that dead zone and the bottom half will stay still, until the angles get uncomfortable and the legs will start to spin around. This looks a bit less robotic than the whole model spinning around on the spot.

I manipulated the player’s spine slightly, to avoid looking so hunched over when aiming down slightly. When looking up, the player’s upper spine bends more when aiming down the lower spine comes into play.

Skin Changes

I changed how we apply skins. The old way was dumb, and I can’t even be bothered to explain it. Long story short: the new way means we can better define which objects are skinnable, and which materials are to be replaced. This means that we can make more items available for skinning.

While I was in the zone, I managed to get a few long requested features done: Quick Craft will now craft items with the last chosen skin. Crafting queue shows items using the chosen skin. Player’s will spawn with a skinned rock if they chose one previously.

Win32 Errors

If you’re on a 32bit version of Windows, you probably have bigger problems in your life than not being able to play Rust, but this week I investigated and found a problem with our Steamworks implementation when launching on 32bit Windows.

You should now be able to launch properly. There’s not a lot of you guys left, but we’ve got your back.

Modular Pipes

I’ve been working on a set of modular pipes, electric installations, air ducts, valves, gauges and so on. Some of them were shown in the last week update on the bunkers, but they were just rough grey boxes. The idea is to create a bunch of variations, including straight, curved and broken pipes and place them inside existing interiors to add a bit more depth and interest, meaning you will spend less time staring at empty walls when exploring. The highpoly and bakes are finished, but I’m still working on texturing and setting up all variants.

In addition, I spent some time this week helping Diogo with occluder meshes for construction deployables.

 

 

Loading Times

The first iteration of the world serialization system is now live. This means the world is generated and cached the first time you join a server. Consecutive joins can then simply load the world from the cache. This means you should see vastly reduced loading times. Here’s a comparison.

Server Physics Crash

Alistair and I are still investigating the server physics crash. Since all servers wipe today it shouldn’t be a massive problem for at least another week, but so far we haven’t found a definite answer to where this is coming from. We’re essentially seeing a really random low level server crash in Unity’s physics system when there are somewhat many colliders and at least one rigidbody in the world. I’ve also contacted Unity and we’re trying get this solved as soon as possible, either in a Unity update or by finding a workaround on our end.

Physics Optimization

While investigating the physics crash I found some physics inefficiencies and optimized them as needed. The server is now using vastly fewer rigidbodies as I removed all rigidbodies from ceiling lights and the client does a better job at culling those rigidbodies in the distance.

Server Load Entity Leak

Another thing I found while investigating the crash was a small entity leak that occurred whenever the server loaded a save. This only concerned two entities on every server start, but since many community servers do daily restarts and those entities are networked to the client it’s still good that we found and fixed it.

Combat Log ID

I made the combat log more useful by adding a unique ID for both the attacker and the target. This makes it much easier tell players apart in group engagements.

 

 

Building Downgrade Exploit

In the earliest days of the hammer tool, you were allowed to downgrade building blocks while in your own building privilege. This was quickly removed as it opened up exploits when you took over someone’s cupboard. However, only the client side code was updated. Naturally once hackers found out they added the option to downgrade building blocks when inside your own building privilege. This is now fixed.

Cave Ambience/Reverb

I added ambience to caves this week. I did a lot of the design for this a while back, but it’s been tweaked a bit and actually implemented now. The ambience system is aware of the environment volumes that we use to darken ambient lighting underground now, so we’re also using those to stop things like birds from playing in the caves.

I also set up a way for us to store reverb settings in a centralized place, and did a pass over the reverb in caves.

Deployable Placement Sounds

I’ve started a polish pass over deployable placement sounds this week, and started working on sounds for some objects that are missing them still (locks, water purifier, etc).

Heavy Plate Armour

I’ve finished up the baking and texturing of the heavy plate armour added a bunch of extra plating in the legs to make it feel a little bulkier. Other than a final texturing pass, I’m ready to get it LODded, rigged and to whip up some world models.

 

 

Player Animations

I redid a bunch of third-person animations so they accurately display the direction the player is actually facing. I also made new animations for when the player is aiming down the sights. There is now a noticeable difference between the two states, making it easier to tell if other players are aiming at you or just hip firing. I also redid a bunch of reload and deploy animations to better match their viewmodel counterparts. I managed to do a lot of weapons this week but there’s still a lot more to go, so it’ll probably be another couple weeks before I have all of the weapons animating exactly as they should.

World Model Optimisation

Work continues on the long list of weapons. There’s also been clean-up on the prefab side (strange connections and values) which has made this task a little more time consuming. We’ve settled on budgets that hopefully retain quality but help performance. All models have three LODs, the highest detail being 4-6k triangles, the lowest being 100.

Metal Chestplate Skinning

The chestplate has now been updated to remove the elastic/stretchyness that’s been around for so long.

Changelog

Fixed player model angles not always being broadcast properly
Player models standing rotation have a 80 degree dead zone
Added player ladder animations
Fixed player model feet slipping on jog/run animations
Fixed player model hitching when changing between looking up and down
Player models look less hunched
Fixed steam startup errors on Win32
Removed redundant ownership system
Fixed pumpkin helmet getting culled too early
Optimized console system
Quickcraft uses last chosen skin
Double Barrel Shotgun is skinnable
Satchel Charge is skinnable
Spawn with rock skinned to previously chosen skin
Icons in craft queue use skin icon
Steam inventory resources (like cloth) are stacked
Hammer guide is blue instead of red
Eoka is skinnable
Player skulls are named after the player they're from
Fixed orientation on several 3rd person animations
Ambience system distinguishes between environment types (underground)
Added Cave ambience
Added a way to store reverb settings in a central place
Polished reverb in natural caves
Minor mix tweaks
Torch world model & prefab optimisation
Salvaged sword world model & prefab optimisation
Mace world model & prefab optimisation
Salvaged icepick world model & prefab optimisation
Thompson world model & prefab optimisation
Double barrel shotgun world model & prefab optimisation
Satchel charge world model & prefab optimisation
Salvaged axe world model & prefab optimisation
Semi-auto pistol world model & prefab optimisation
Metal chestplate skinning updates
Fixed weapons culling too early when thrown
Optimized client side rigidbody distance culling of ceiling lights
Fixed duplicate community and resource deposit entities in saves
Removed ceiling light rigidbodies from the server
Added timescale and gravity server convars
Added corpses, events and dropitems server convars
Added respawn_groups and respawn_populations server convars
Fixed building block downgrade exploit when inside building privilege
Added missing physic materials to various junkpile assets
Added unique ID of attacker and target to combat log
Added world caching (vastly reduced loading times)
Added world.cache convar (toggles caching)
Reduced serialization overhead from harbors prefabs
Added collider state to dump files
Removed 60 second suicide time limitation for admins/developers
Disabled shell protection for ladder hatch
Ladder hatch now identical to Sheet Metal Door
Ladder hatch/sheet metal doors no longer vulnerable to rock spam
Thrown water now equally distributed payload between objects
Water Planters require less trips to saturate their soil
Can only fill buckets/bottles from the tap portion of Water Barrels/Catchers
Cleaver does slightly more damage and has a higher attack radius
Minor constant Radiation Damage even though fully protected removed
Added Wall Lamps
Light Sources can only be looted/turned on/off if the player can build in that area
Most Ammo stacks to 128
Bone armor cost reduction
Can now place lanterns on small boxes
Dead plants stay around longer
Can chop down plants
Drastically reduced cost of exotic signage
Added Flame Turret
]]>
Rust Devblog 140 https://rust-servers.net/blog/105/rust-devblog-140/ https://rust-servers.net/blog/105/rust-devblog-140/ Fri, 16 Dec 2016 23:01 CET

Planters, Santa, and more.

 

Video Update

Farming 1.5

I redid some aspects of farming, but we’re not all the way there yet. This patch you will notice that we have added Planter Boxes to the game. They’ll come in both a small and large variety, though only large made it into this patch, and can be placed on the ground or inside buildings. They have easy to use placement guides for plants, so you can sow seeds at their optimal distance. They will also make plants grow 3x faster than if they were placed on the ground outside! Also, all plants must now be placed at least a foot away from each other. Next patch I’ll make it so plants get a bonus from being watered and an even greater bonus from the usage of ceiling lights above them. Seeds also have a small sapling guide to help you visualize where your plants will grow. Enjoy!

Holiday Content Enabled!

Happy Holidays everyone! We’ve re-enabled the holiday content! For those of you who missed it last year, here’s how it works: every day in game day you’ll hear some jingling bells and a Gift Box or two will appear not too far from your current position. Run outside and smash them to retrieve presents! These presents can be unwrapped immediately for something small, or collected and upgraded to larger ones for a chance at a better gift. If you’re lucky, you’ll find a stocking. Hang it by a campfire and the next time you hear the jingle bells ring your stockings will be stuffed with goodies!

This year I’ve made some modifications so that stockings will only refill if they are empty, and each refill costs it 10% of its health until it’s destroyed. Have fun everyone!

Decal Culling

The caves added a lot of static projected decals to the world and unfortunately none of them were being culled with the rest of the caves. This had a huge impact on performance, especially on servers that were using bigger maps. I added culling scripts to all of those decals to address those issues. The fix already went live in a small update after last week’s devblog.

Exploit Fixes

I’m continuing my efforts to fix exploits and hacks. I’m aiming to get to a point where we have server side checks in place for all weapon functionality before the holidays.

This week I fixed some minor outstanding issues with the server side line-of-sight verification, added verified periodic position updates for projectiles, and addressed some projectile ricochet verification issues. I also tracked down a building exploit inside the natural caves that was allowing people to build inside some of the cave walls.

Updated Santa Hat

The old Santa hat was really terrible, so I spent an evening making a new one so you can spread your festive cheer in style. Or murder people wearing it, whatever.

Bear Rework

I’ve started reworking some of the animals in preparation for the updated AI. There’s been talk about looking at some of the animations, so I want to make sure I can get some blockouts going early on, so that any potential adjustments to the rig can be done before a whole new load of animations are done.

Here’s where the bear is right now. It’s still just a blockout, but it’ll mostly be covered in fur (which is a whole challenge in itself) so I’ll be mainly focusing on detailing the face and paws going forward.

Dynamic Occlusion Culling

It’s long been known that Rust has poor visibility culling. The problem is mostly because we can’t use Unity’s own occlusion system simply due to the fact that our maps are procedurally generated. However, there are some solutions out there that work with dynamically generated worlds, and I’ve been working on implementing such a system.

The new occlusion culling recognizes occluders, like terrain, and allows for fully dynamic occludees. The first version of the system just landed on Prerelease and can be toggable using the console command “culling.enabled 1”. Please note that it’s not improving performance just yet as we’re still testing and validating results. Do expect improvements over the coming days, however.

The image below shows how the system working on our procedurally placed rocks and cliffs:

On the bottom left you can see our current distance-based culling, while on the bottom right you can see the new system working that can cull objects which are not within the camera view or are occluded by terrain.

Rendering Optimizations

We’ve been getting a lot of reports of poor performance. We’re very aware of the issue and working hard to improve it. I’ve made a couple of changes this week to help improve the situation:

  • Re-enabled Unity’s built-in dynamic batching
  • Optimized deferred mesh decal visibility culling

Nuked Virtual Texturing

You may notice that the virtual texturing performance option is gone this week. Terrain shader optimizations, in the past couple of months, have made the regular shader efficient enough to make virtual texturing not worth the runtime cost. We also save development and maintenance time that will be useful for other, more critical, features.

Grenade Viewmodel Animations

This week I’ve been chasing a few bugs. I’ve also set up both the F1 and Beancan grenades to play specific animations when dropping or attaching. It still needs some code love so you can actually see this in game, but the animations and state setup is all in place. Here’s a video until then:

 

 

Truck

I’ve been continuing with the truck model shown in the last update. I spent some time earlier this week creating a simple interior. Since then I’ve been working on the lowpoly and preparing the mesh for baking. Once that’s done I will begin texturing.

Harbor Level Design

After completing most of our prop art last week, I moved on to completing the harbor levels. While Harbor_1 is almost ready, Harbor_2 still needs quite a bit of work to reach the same stage. I have been working toward that over the last few days.

Sound

I’ve just been plugging away at the second pass over animal sounds this week, and working on music a bit when I need a break from that. I’m really happy with how the updated animal sounds are coming along so far!

Changelog

Fixed water occasionally not visible when exiting caves
Fixed billboard shadows in OSX/GL
Added culling to projected cave decals (performance)
Fixed some minor server side line of sight verification issues
Fixed pumpkin and santa hat being invisible
Fixed partially harvested ore nodes showing up as fully intact
Fixed cave building exploits
Reduced networking MTU size from 1430 to 1400
Added periodic position updates with server side verification to projectiles
Fixed projectile ricochet verification issues
Fixed parts of the bear corpse not being harvestable
Tweaked weapon reload verification
Fixed endless vm bandage bug
Fixed vm flamethrower flickering hand bug
Added clothing world models
Updated santa hat art
Added Large Planter
All plants must be placed atleast 0.5m of eachother
Plants now have a placement guide
Enabled Holiday Content
]]>
Rust Devblog 134 https://rust-servers.net/blog/104/rust-devblog-134/ https://rust-servers.net/blog/104/rust-devblog-134/ Fri, 04 Nov 2016 13:50 CET

XP is out, components are in, and radiation is back.

 

Component System

The component system is now live. This represents a fundamental shift into how Rust will be played. The XP system is gone. Congratulations to everyone who bitched and complained about how awful it was. You’ve succeeded! Just kidding. We knew the XP system was shitty about a week after releasing it, and funnily enough, not for the reasons everyone was attempting to illustrate.

The XP system mainly sucked because it completely changed the feel of Rust as a sandbox. It was no longer about new encounters and enjoying your time in the game world, but instead about how to level up as quickly as you can. And when that finally happened, the game immediately became boring. It was also unsustainable going forward. New items we haven’t even thought of yet would need to be hacked into certain levels, which would cause a never ending balance nightmare and item bloat (it was already ridiculous when you’d reach a level and have 12 things unlocked). Eventually we’d like to never have to wipe and just have decay and resource management take care of the server, and XP was not compatible with this goal without all kinds of workarounds and hacks forced in like some sort of prestige system. And lastly, it removed the “making lemonade out of lemons” feel Rust had, where you’d stumble across a bucket helmet and crossbow blueprint and that would be your load-out for the foreseeable future.

tl;dr: Blueprints were too random, XP was too linear and took Rust in the wrong direction.

So I’ve done my best to combine the best of both worlds with the component system. Here’s what you need to know:

  • No more locked items, no more blueprints, everything craftable from the start
  • Items beyond basics (bow/burlap/furnace/eoka etc) require some kind of component
  • Components are items which are uncraftable and only found in the world
  • Radiation is back (albeit in a minor fashion)
  • North/South division is NOT a thing (yet)

When you first spawn in, you’ll be able to play the game like you have in the past: getting a spear and a bow, setting up a 1×1, etc. When you’re ready to move on to bigger and better things, you’re going to have to search for components for more complicated items. This means going to Radtowns, barrels on the roadside, or, if you’re lucky, encountering the newly added junkpiles while harvesting resources. Virtually all of the components you find are going to be used in a great deal of recipes, meaning you’ll have to make choices. Do I make a better axe or a sword? Do I make a crossbow or a ladder hatch? Combat armor or radiation protection? Bolt-action or AK? I’m hoping this proves to be a sort of best of both worlds scenario. where you can go out and keep stockpiling components for your linear progression, but also based on the components you’re finding have a bit of emergent gameplay based on what you decide to do with them.

I feel it necessary to point out that, even though we’re launching this onto Main, it’s still a work-in-progress. Not all components are implemented yet, and there’s going to be too much or too little loot. Radiation will be unbalanced, though I’m sure for some it’ll be perfectly balanced. The game will be a grind, or maybe it won’t? Maybe clans will hoard everything and we’ll have to add North/South after all? Maybe the penalty from dying will feel too much as there won’t be any progression between deaths/raids. We’ve done our best to mitigate all of these issues preemptively, but things change after 20,000 people play it vs the feedback we get from 200. Just know that we’re quite obviously going to be monitoring the responses, playing the game ourselves, and adjusting everything until it’s perfect. I sincerely hope this is the last time we have to revisit item distribution so we can move on to adding more fun or desperately needed things to the game, like rideable horses, or pooping.

Recycler Refresher

Now that we’re merged into main I feel it necessary to repost the information about the Recycler as it’s a pretty important feature with this new component system.

Image via Rustafied.

You can find Recyclers at most Radtowns. Throw any item into it and turn it on and it’ll go to work chopping it up. After its complete, you will receive about 50% of the items constituent components/resources, e.g., if you throw some armor inside you’ll get cloth; if you throw something like sheet metal or a propane tank in, you’ll get metal fragments.

Radiation

Radiation has been reprogrammed from the ground up and works entirely differently than it used to. However, I’ve had little time to test my implementation, so I stayed on the conservative side until we have time to make some procgen adjustments. Basically each radiation zone specifies a radiation level from Minor, Low, Medium, High. These correspond to a RadPerSec value (2, 10, 25, 45).

The Radiation value from your clothing indicates the RadPerSec subtracted from your exposure. So, if you are in a Low radiation zone (10 rads per sec) and you have radiation protection of 8, you’ll receive 2 rads per second. All you need to do is ensure your radiation protection from your armor/clothing is higher than the zone you are entering and you’re good to go. Here is an example of the kind of things you’d need to wear to survive in some of the Radtowns (low/medium)

photoshop_2016-11-03_12-26-42

In addition, radiation no longer increases to its maximum along a linear path towards the center, but rather is its maximum value for the whole radius, minus a falloff range at the outer edges. This means we have more radiation coverage for an area and it can get dangerous very quickly, while still letting players probe the outer boundaries. As before, your radiation exposure will be indicated by a geiger counter sound, and you’ll know immediately if you aren’t protected enough.

I haven’t bothered to implement any High radiation areas yet in case it somehow breaks the game, but if you go into a radzone unprotected you’re basically screwed. After taking 100 Rads you lose the ability to sprint, and radiation deals damage much quicker than it used to. It should be impossible to do naked Radtown runs now. You’ll need to commit some armor resources to it.

I’ve also added Radiation Pill spawns in the food boxes you sometimes find around monuments, but I’ve reduced their effectiveness to -25 rads. They’ll also eat away at your hydration, so ensure you’re carrying water if you plan to take them!

I’ll observe how this is received over the next while and hopefully when we can ensure procgen always spawns at least one of each tier of monument, we can amp up the radiation significantly. I’ll also take a look at ensuring cold/hot zones are far more brutal, making it so you need to dress for the occasion in those zones as well.

Junk Piles

When adding the component system I thought it might be a good idea to bring back some of that fortune and reward for exploring, I had our artists do some concept art for junk piles.

Meh, close enough!

20161103160937_1
20161103162359_1
20161103161231_1

Art takes time so please don’t laugh at my programmer art cobbled together from other assets. Hopefully it’s passable until we get real versions made.

Here’s how they work: if you go exploring, you will encounter them in fields, forests, under powerlines, that sort of thing. The contents are procedural, so you’ll find anywhere from 1-4 barrels and if you’re lucky, a crate. One thing I’d like to do is add a similar system as sort of harvestable decor inside Radtown buildings. Eventually I’d also like to replace the ‘barrels’ with actual components and junk you can rip out of the pile. Either way people seem to enjoy these so far so we’ll keep improving the system.

Loot Scaling

Now that loot is so integral to the core of Rust, I realized we may have a problem on servers such as Rustafied who boast 400 slots, where there might not be enough loot to go around. I asked André to look into this and he’s added loot scaling with a few server convars to control how it works:

spawn.player_base (default 100)
spawn.player_scale (default 2)

With these default settings, with up to 100 players, nothing changes, however when players increase beyond 100, things start respawning quicker so that when it reaches 200 players, the respawn time is halved. Fingers crossed!

Performance Issues

There appears to be a bizarre performance issue affecting some users, which looks like this:

Framerate appears good, but the game is sluggish and pauses intermittently. If this happens to you please press F7 and send us a report, mention that you’re experiencing the same issue highlighted in the devblog. This will automatically send us your system report so we’ll have an easier time diagnosing it.

This issue is not present in the DirectX 9 version, so if this happens to you feel free to relaunch selecting that option (but F7 us first!).

Melee + Tool Changes

Melee in Rust sucks. We know this and when we get time we’ll work on improving it. For now, I’ve increased the damage of most melee weapons by about 30-40%, so let’s see how this plays out

I’ve also made the salvaged tools require components and gather about 30% more than they used to, making them far better than the pickaxe/hatchet.

Map Fog of War

Maps no longer have fog of war. Craft one and you’ll be able to see the whole map. This should hopefully make them a lot more useful, and a lot more common.

Workshop

The new Workshop is available in the main menu. Click the button and explore what’s out there. We’re working with Valve to get a few things working, so if something is broken then that’s probably why.

We have an issue/request section on the RustWorkshop repo on Github, so if you find any problems please check here.

Skins

The way we approve and ship skins is different now. We download them from Workshop on demand. This allows skin authors to tweak them after they’ve gone live, removing the burden from us and putting them in complete control. This has other advantages to becoming more moddable. In theory server mods could force unapproved Workshop skins on certain objects. I’m hoping this opens the door to us becoming more moddable in the future. This also means we can add new skins to the game without actually releasing an update.

We’ve added some of the skins created with the new system during pre-release to the store page, expect a lot more in the future.

All the attention on the skin stuff might seem like it’s motivated by our greed. I want to explain our motivation here: compared to how much we make selling the game, skins don’t make that much money for us. It’s not insignificant, but it’s not company changing. Our Workshop authors,however, have made over $250,000 from their skins sales since we started doing this. I think back to when I was 20, how much a cheque for $2000 would change my life, especially if it was earned by doing something that I enjoyed and wanted to be a bigger part of.

And that’s the big motivation behind making it more accessible for more of the community, encouraging their contributions, their efforts, giving people new career options and aspiration

Hazmat Suit

I’ve all but finished texturing the Hazmat Suit. I’d like to tweak a few things on the texturing still, I think it’d benefit from having a bunch of decals for example, but those types of things I can add after I’ve skinned and LOD-ed this guy. I’ll be moving onto skinning and LODing today, and setting the suit up in-game next week so it’s reasonable to expect it in next week’s patch.

The main suit will be setup to accommodate any colour variations we might want, so I’ve included a few examples of how that might look.

colourvariations
hazmattextured

Networking Fixes

I’m still working on overhauling parts of our networking backend to make things more robust and ultimately more optimized in terms of memory allocations and network traffic. While a couple more smaller fixes related to network group subscriptions are going live this week, the biggest chunk will start testing on the staging servers next week since I thought it would be smart not to add something like this with a big gameplay content update.

Prefab Pooling 2.0

I optimized some inefficiencies in our prefab pooling system and added pooling support to the building conditional models and our renderer batching, which should help reduce framerate drops when entities are streaming in. We also started testing the new optimized prefab pooling mode that will help us work around a huge chunk of internal Unity overhead related to game object activation and deactivation. There are still some outstanding tasks, but I’m hoping to enable it for everyone next week.

Satchel Charge Viewmodel

This week I’ve been working on a viewmodel for the satchel charge. As the code it uses effects a couple of other deployables (and I’ve had to add to it) this won’t be live until the others are playing ball with the new code.

 

 

Graphics Performance – Part 4

Took a break from my current ongoing tasks to work on some optimizations due to high demand. Most of my focus this week has been rendering where there’s still a huge margin for improvement. Had a few ideas during the weekend that panned out better than expected.

  • Improved water rendering and culling
  • Minor improvement to deferred lighting
  • Optimized terrain and terrain-blended rock/cliff shaders; now 2x faster

The terrain optimizations are hard to quantify, but on my test machine (GTX 960) it can save up to 2-4 ms per frame depending on resolution, anisotropic and parallax settings. Most notably, setting anisotropic sampling to 4-8 has barely an impact now.

Hapis Island

The Hapis Island tunnels and Radtowns have seen some changes. Likewise, a few regions that felt a bit too barren have been fleshed out some more.

Harbor Update

We started the production of what’s needed for the harbors. We have a few sets done: the dock walls, mooring bollards. We’re now working on the tug boats and the dock crane as well. As most of the progress goes towards the bigger picture, we’ll show you some of it when there’s more done rather than individual props. Stay tuned!

Beretta M92 Pistol

Helk and I discussed the need for a high capacity pistol in the Rust arsenal, so we decided upon this bad boy. It’s a Beretta M92 pistol. This is the low poly model, and I haven’t gotten around to doing the smoothing groups so please excuse the jagged polygon look.

Sound Occlusion

Sound occlusion is on by default now! In case you forgot, this means that some sounds like campfires will be muffled if they don’t have a clear line of sight… er… hearing to you. It provides a nice bit of sonic separation between the inside and outside of your bases.

Hitmarkers

I’ve been working on some new hitmarker sounds this week, which aren’t in yet. I’ve done a few versions that get more weighty and brutal/crunchy as they progress so we can try out different hitmarkers based on how much damage you do. A shot in the hand would be a light click and a shot to the neck a nice crunchy thump. Some of the source material for this came from recording screws and bolts being shot at various pieces of cloth and leather with a slingshot.

I’ve also added something to allow us to disable melee hitmarkers on objects, which means no more gnarliness when you’re smashing barrels.

Other Sound Stuff

Unique silenced shots for the LR300 and MP5 are in now, along with adjusted bullet flybys. The flybys have a sweet, supersonic crack now, which I think makes them a lot more intimidating.

I’ve been working on placement sounds for deployable building parts this week, and I’ve also started taking some of the deployable sounds we added last week, creating inventory UI sounds to match (out of the same source recordings).

I’ve done a little bit of small polish this week too from a list I built up while playing last weekend.

 

Changelog

Added new lighthouses to Hapis Island
Added a new radtown to Hapis Island
Changed the Hapis Island tunnels to mineshaft networks
Fixed player eyes looking glossed over
Fixed players not blinking
Fixed players not looking around
Added integrated workshop
Maps no longer have fog of war
Fixed clothing backfaces having weird lighting
Added collared shirt
Added tanktop
Added shorts
Sound occlusion enabled by default
No more hitmarkers when meleeing barrels
Added silenced lr300 and mp5 gunshots
Updated bullet flyby sounds
Misc minor sound polish
Improved water rendering and culling
Optimized terrain and terrain-blended rock/cliff shaders
Fixed incorrect network group subscriptions of players before spawn
Disabled a few irrelevant warnings for non-developers
Optimized prefab pooling (more to come next week)
Added prefab pooling to building conditional models
Added prefab pooling to renderer batching
Spawn group respawn rates are now scaled with the player count
Disabled rain until we can re-enable its particle collisions
Removed XP System
Added Component System
Added Recycler
Added Junkpiles
Added Radiation
Added loot scaling
]]>
Rust Devblog 133 https://rust-servers.net/blog/103/rust-devblog-133/ https://rust-servers.net/blog/103/rust-devblog-133/ Fri, 28 Oct 2016 19:03 CEST

The first look at the new harbour, a step closer to the new component system, and more.

 

Component Update (Prerelease)

Okay, that’s it! All the items in the game that I feel should require components now have them! I’ve tried to do a decent balance pass on them as well. I’ve also finally changed all of the drop tables so that you will no longer find completed items, only components or resources from barrels and Radtown crates. You’ll still find completed items from airdrops. This really makes components feel very valuable and rare, providing a fresh and fun experience.

Aside from adding radiation back, this whole next week is going to be about balance so when we push it out it’s fun for everyone and we aren’t encountering zero day issues. So please opt in to the prerelease branch and give it a shot. I’ll also be checking reddit periodically and listening to feedback there.

Harbor Design Phase

We’ve started the work on two medium sized harbors. The idea is to offer an easier place to traverse for fresh spawns, where they can find loot for early game crafting, without the constant clash against equipped players. That also means no sniper’s nests in here, so buildings that usually grant you access to those floors won’t.

Harbor 1

This one is a condensed version of the concept art we started from. The idea is three piers with two pockets of interest on land, and one pocket spread on the ocean across barges and tug boats.

Harbor 2

The second harbor features largely flat terrain enclosed by cliffs on the back. The area is is a maze of shipping containers you’ll be able to explore for loot, or hide in if things get too tense for your fresh naked.

All that you see today is obviously work in progress still, and we’re still refining layouts. As you can see there’s a lot of greyboxed art present, we have a pretty decent list of assets left to produce, and we estimate another month and half before these hit main. We’re going to try to minimize the amount of untextured assets that make it to main when we patch it in. We’ll keep you posted with our progress as time goes on as usual.

Ambient Light Volumes

You may have noticed that the lighting inside buildings, caves and sewers was much brighter than in the screenshots our artists usually post in their devblog sections. This was caused by a regression that broke our dynamic ambient light darkening from buildings, rocks and environment volumes. This is now fixed, so you will once again see darker building interiors and close to pitch black sewer systems, just like our artists intended them to appear.

Memory Usage

Every Rust server owner is probably aware of the fact that entities are using a lot of server memory right now, which can cause some problems on lower-end server hardware. While looking for ways to reduce this I found that a legacy deployable component that’s used by a lot of our entities (wooden boxes, external walls and doors just to name a few) was using up a fair amount of memory on each of those instances. The fact that there are usually tens of thousands of those entities on one server turned it into a significant problem. Long story short, it is now fixed.

Prefab Pooling 2.0

I’ve been talking to a couple of Unity guys about some of the performance issues we’re facing in Rust, one of them being the fact that game object instantiates and activates are still causing significant issues for us. This is a problem since even when we eliminated the instantiate overhead with prefab pooling, the activate overhead has largely been unchanged by those optimizations. After some back and forth it looks like it’s caused by Unity freeing the native component memory when for example a game object with an animator on it is deactivated. This is a problem since it triggers a fairly slow memory allocation the moment you reactivate the game object, making prefab pooling much slower than it would have to be. It looks like it’ll be down to us to work around this, so I’ve started prototyping a new way of prefab pooling that does not have to change the game object state when the pool is entered or left. This will also eliminate some overhead that scales with the number of child objects and components on a game object, which is nice. I’m not completely done with the implementation yet, but I’m hoping to be able to test it on the staging branch starting next week.

Vegetation, Hair and Fur – Part 1

After clearing some bugs left over from last week, I was finally able to start working on support shaders for hair and fur materials. These shaders usually require some sort of opacity and anisotropic highlight control, both of which aren’t directly supported in our current deferred setup.

The sort of opacity we need is a special case so we can get away with temporal alpha-to-coverage, which is essentially means it’s still cutout opaque, albeit dithered. This feature can also be useful to achieve more fitting anti-aliasing on, among other cases, vegetation:

The purpose of this purely aesthetic feature is to prevent aliasing/flickering on your character’s future neckbeard to avoid ruining your experience.

Cave Deflooding Fixes

Last week’s cave deflooding wasn’t fully bug free and completely missed spectating and debugcamera mode. This week these should no longer be an issue. Fixed a bug causing water to disappear on relogging and and added proper water visibility for spectate mode. Please feel free to give it a try on the Prerelease branch.

Pistols/Revolver Deploy Animations

I figured sidearms should have more of a use beyond that of a primary weapon. I asked Minh to change the animations up so they deploy in about 0.5 seconds. It’ll always be quicker to switch to a sidearm instead of reloading now.

 

 

Bolt Rifle Animations

After watching some Battlefield 1 videos, I was inspired at how they did their weapon animations. It prompted me to redo the Bolt-Action Rifle animations since they were the first ones I did for Rust and looked far too “floaty”.

 

 

LR300

Helk wanted me to adjust the LR300 ironsights so they’re more usable. I took the rear sight and enlarged the circle then thinned out the edges.

Map Worldmodel

This week I added a worldmodel for the map, as well as LODs, setting up the holdtype stuff, worldmodel drops, etc. I also added some holdtype animations for the player.

Female Clothing Variants

Some clothing items available in the upcoming workshop were lacking female variants resulting in some hilarious but unwanted results.

This is now fixed.

The Tank Top, Shorts and Collared Shirt now have proper female variants, and I took the opportunity to clean up some geometry and smoothing group issues, as well as adding some missing lods.

Hazmat Suit

I’d hoped to get the majority of the Hazmat Suit textured this week, but the female variants took longer than I’d anticipated. Here’s a shot of the finished (well, almost) respirator though. The rest of the suit is well on the way and texturing will be finished up this week.

Junk Piles

This week I’ve been focusing on the junk piles from which you can scavenge loot for your components. There isn’t much to show for now but Pauls’ concept should show what we’re aiming for! In the meantime I’ll be constructing the bits and bobs you see scattered about so we can have a some nice rusty junk piles.

Deployable Placement Sounds

The first pass at deployable placement sounds is finished and in this week! Doors, window bars, and other building pieces still need to be finished, but everything that’s a standalone deployable item has sounds now.

Sound Occlusion

I made a few little tweaks to sound occlusion after playtesting a bit this weekend, so I’m going to leave it off for one more week for more testing.

Gunshots & Bullet Flybys

I’ve started working on silenced gunshots for the LR300 and MP5 this week, and spent some time adjusting and improving bullet flybys.

Right now all of our bullet flybys variations have the same layers in them, and it feels a little bit too homogenous when a bunch of bullets fly past you in a row. They’ve all got almost the same high end wizz to them, so I’m working on adding more variation, accentuating the midrange instead of the highs in some of them. I’ve also been exploring adding a more realistic supersonic crack to them and I’m pretty happy with how that’s sounding so far.

Changelog

Environment volumes now eliminate ambient light when underground
Eliminated UI canvas overhead from grass displacement camera
Converted some component getters to pooled lists (less GC)
Stripped deployable component from entity instances (reduced memory usage)
Removed client missing gib warning when not running in dev mode
Removed server building privilege warning when not running in dev mode
Muzzle Brake has less of a aimcone penalty
Fixed skin lighting related issues
Added opacity anti-aliasing to grass when TSSAA is enabled
Improved LR300 iron sights
All Pistols have drastically reduced draw time
Improved bolt action animations
Added map worldmodel + LODS
Now drops map model
Planner/map player anims
]]>
Rust Devblog 127 https://rust-servers.net/blog/102/rust-devblog-127/ https://rust-servers.net/blog/102/rust-devblog-127/ Sat, 17 Sep 2016 17:51 CEST

Semi-Auto Pistol changes, optimisations, what we’re doing with recoil, and more.

 

Semi-Auto Pistol Nerf

I was made aware this week, via several channels, that the Semi-Auto Pistol was far too overpowered. I went in-game and witnessed it myself: a clan of three people in an armored base were attempting to snipe me with it instead of rifles. Yikes. I’ve gone and reduced the damage for this weapon to 40 (was 50), which should make it less appealing to use over rifles.

Projectile CPU Optimizations

While on a Battlefield server I noticed significant slowdowns. I opened the profiler to check it out and it appeared between 200-400 projectiles were being simulated at any given time! Part of this had to do with the max lifetime of the projectile being set to 60 seconds, so projectiles shot into the sky or into the water would fall forever and eat up CPU until their lifetime expired. I reduced the max projectile lifetime to 8 seconds to compensate for this and saw some improvement. There was also a slowdown introduced last week by the first-person tracer stuff I added. This is also resolved and in total gains us a few ms during heavy gunfire. tl;dr gunfights are slightly less performance intensive and your frames wont dip as much.

Recoil Adjustments (Coming Soon)

I’ve been working on adjusting how recoil works in Rust to bring it in line with traditional first-person shooters and make it less annoying. This ended up being a lot more work than I expected, so it won’t make it in this week. Basically I’ve changed it so when you stop firing your weapon, the vertical recoil is compensated for (brings it back down to where you were aiming). Instead of that annoying horizontal recoil, I’m increasing the conefire/randomness of the bullet paths with each successive shot. All-in-all you’ll get the same kind of groupings you would before, but the weapon won’t randomly fly around on your screen. This ended up being a lot more difficult to implement than I thought, because we have to take into account that people will be adjusting their aim while trying to stay on target and the vertical compensation cannot ever be noticed by players, i.e. when pulling your mouse down to compensate, ceasing firing should not lower your view by much. This is something that will need a lot of testing to get right because it will be a large departure from how the weapons currently work and I want to make sure it’s headed in the right direction and not another XP system.

Component System?

I’m still hammering out some details and solving some edge cases, but I hope to start work on a location based component system next week. We’re going to run it on prerelease and actually make sure it’s not a piece of garbage before we push it out to everyone. Next week I’ll post an outline of how it’s going to work. Stay tuned.

Cloth Sash

I’ve textured, skinned, and LOD-ed the cloth sash ready for Helk to do his thang (when he’s got some time). Here are some shots of it in game, although you guys won’t be able to access it till it’s functional.

ClothSash_Back
ClothSash_Front

Desync Fixes

There was a semi rare issue that could make players show the wrong name, gender or skin tone to other players until they either died or left the networking range. The reason for this was that the server placed sleepers of newly joined clients at world origin and sent them to all clients within networking range before updating and sending their correct position. This also could have been contributing to some other related desync or world origin leaking issues and has now finally been fixed.

Interpolation Fixes

There were a number of issues with the client side network interpolation that could lead to weird snapback issues when players respawned very close to their corpse. Those are now fixed.

Frame Rate Stuttering

I continued my efforts to fight frame rate drops when walking around the world. First I eliminated a 150+ millisecond spike that happened whenever bigger structures despawned by optimizing our entity destruction event handling, which was the last big slowdown from entity despawning. Then I sat down and wrapped up the player model pooling implementation, which is now enabled by default, and optimized various other components of the player mesh building pipeline. These measures combined eliminate 20+ millisecond spikes that happened whenever a new player entered the networking range.

There are still a few things that can be optimized in this department, but I think we’ve come a long way from the state we were in a month ago.

Pistol Ammo Range

In the current projectile model every ammo type has a default maximum and minimum damage distance. Individual weapons like the bolt action rifle then adjust those default ranges to mirror their unique properties. Rifle ammo starts losing damage once it traveled 20 meters and slowly drops off until it reaches its minimum damage at 100 meters. Pistol ammo does the same thing from 10 to 80 meters. However, we felt like pistols and SMGs were still a bit too powerful at long distances so I reduced the minimum damage distance of pistol ammo from 80 to 60 meters. This should help widen the gap between rifles and pistols while keeping pistols powerful enough in close quarters.

Lighthouse Polish

This week I have focused on finishing the interiors, fixing various mapping and geometry issues. I have also made proper collision meshes which means that the lighthouse is now fully functional. I will be spending some time playtesting this area as well as making LOD meshes. Once that is done, the building will be ready to be made accessible in game.

Natural Caves

I have worked on a few props sets since last time, some stalagmites/stalactites, glowing irradiated sacs. I’m carrying on the cave room work as well, if things go according to plan I could have something to show by next week.

Explosion Sounds

This week has mostly been finishing up the explosion sound stuff I’ve been working on. Everything explodey has unique explodey sounds. Distant explosions sound a lot more natural, and things like rockets and C4 sound a lot heavier than Landmines and Beancan Grenades, so it’s easier to tell if that boom is something you should be trying to counter-raid. I added extra variations for things that go off a lot in a short period of time, like the C4 and Satchel Charges.

I also discovered a sound player that a lot of explosions use attached to one of the smoke particle effects, which was triggering an extra C4 explosion, and fixed that.

Sound Polish

I’ve made a few minor polish tweaks this week as well. Footsteps got cleaned up a touch more. The bolt pull on the AK deploy/reload is tweaked a bit (less sharp) and has been broken out into separate sounds, so it won’t play when you quickly cycle past the AK in your hot bar

Flame Turret

This week I finished off the Zbrush sculpt model, finished the Low Poly, and baked out the base textures! Now onto the fun part: the texturing! I’ve slapped on a quick metal texture so you all can see what it looks like so far.

I’m off to Japan tomorrow for 10 days, so it won’t be finished for next week. Sorry about that guys and gals, but in the week back I’m it’ll be ready for implementing fo’ sho’!

Changelog

Better explosion sounds
Misc sound polish
Old bone armor no longer drops( will be removed next wipe)
Projectile CPU optimizations
Semi auto pistol damage nerfed to 40 (was 50)
Pistol ammo effective distance nerfed to 60 (was 80)
Fixed players sometimes appearing with wrong name, gender or skin tone
Fixed various small client side network interpolation issues on respawn
Added stabilityqueue server convar (building stability update time per frame)
Added surroundingsqueue server convar (surroundings refresh time per frame)
Fixed various issues with player model pooling
Enabled player model pooling by default on 64bit systems (pool.players convar)
Drastically improved entity destruction performance (less stuttering)
Optimized player mesh building and refreshing (less stuttering)
Fixed exception when trying to upgrade building block after it was destroyed
Fixed exception when trying to rotate building block after it was destroyed
]]>
Rust Devblog 121 https://rust-servers.net/blog/101/rust-devblog-121/ https://rust-servers.net/blog/101/rust-devblog-121/ Fri, 05 Aug 2016 21:47 CEST

We’re listening: this patch has a heap of community requested tweaks and balances, from the crossbow de-nerfing and armour and weapon re-balancing, to building rotation and the revive mechanics. A lot has been done. We’re working on making the game less of a grind, and have news on upcoming XP changes and item researching returning to the game. Additionally, the Double-Barrelled Shotgun and the Satchel Charges are now in. This patch wipes the maps.

 

State of the XP System + Researching

Before we released the XP system it had universal praise and I was on Cloud 9. Shortly after it was released people started to say that it was a grindfest. I figured it was a vocal minority, as I had played the game for hours and had a blast which mirrored the feedback we had been receiving thus far, but as time went on I heard more and more people complaining through more channels. What started out as a few reddit posts ended up filtering into in-game chat and many other channels. I realized it was time to really figure out what all the fuss was about. Seems like most of the complaining happens after level 20, which few of the testers actually bothered to get through. This is why they were happy with the XP system. The other big problem is the lack of researching. I knew we would add this back in at some point, but I did not realize just how fundamental it is to a lot of people’s playstyle.

To that end, I’m going to add Researching items back into the game next week. I tried very hard to get it ready for this patch, but late last night I had to concede it wasn’t going to make it. It’s not going to be exactly the same as it was before; I want people to be able to research items to create a stack of one time use blueprints where each use is a crafting session. I’m still ironing out the details, but something like that is what we’re going for. If that doesn’t work we’ll try something else until it does.

We’re also going to have to take a look at replacing XP earning from hitting trees and rocks with something else. It’s literally the most inefficient and unfun way to level, and I think the perception that that is what you’re supposed to do to level up has lead to a lot of bad reviews and unhappy people. Perhaps if we simply removed it people would find the other ways of earning XP more enjoyable and more efficient?

Either way, whatever changes we make the goal is to make the game more fun and less of a grind, not the other way around. If you seriously thought we released the XP system so people would click on trees and rocks for 60 hours so they could get a gun, you are sorely mistaken. We’re working on making the XP system preferred by almost everyone. That’s our goal.

Crossbow De-Nerf

Yeah yeah, we nerfed it too hard. You can once again sprint with the crossbow and the headshot multiplier has been increased from 1.25 to 1.5. Enjoy!

Crafting Time Reductions

I’ve gone through and reduced the crafting time for a bunch of items that were far too long and didn’t make any sense: Ladder, Bed, Campfire, Ceiling Light, Tool Cupboard, Bow and Crossbow have all had their crafting times halved. I also reduced the crafting time for Gunpowder and Explosives to 2 sec and 5 sec respectively. I know, right?! The more I go ahead and do this, the more I realize crafting times in general can be annoying and I think we’re going to end up doing a lot more reduction and streamlining in the future.

Satchel Charge

Arrow raiding was a broken mechanic that had to be removed, however its removal did leave a gap in the game: you virtually could not raid anyone until you had C4. Some changes last week were made to make Beancan Grenades a bit more viable in this regard, but that was just a stop-gap for this weaker version of C4. I give you the Satchel Charge! A new mid-game raiding tool, it’s made of a Small Stash and a bunch of Beancan Grenades and is mainly useful on Wood and Sheet Metal Doors. It is available at level 15 and can be rarely found in tool crates.

Explosive Rounds Exploit

There was an issue that allowed Explosive Rounds to deal almost double-damage to objects it was hitting, making it a far more viable raiding tool than it was supposed to be. Just so everyone knows, explosive rounds have a very large radius meaning that they score hits a lot easier – in addition they deal radial damage in a small 2m radius from the area of impact. This allows you to hit people behind, cover or windows similar to an airburst round. The bug was that both the radial damage and direct damage was being applied to the object being hit. This is now fixed.

Raiding Changes

When adding and balancing the Satchel Charge I did a very small pass on the cost of explosives and therefore the cost of raiding. I decreased the cost of C4 by 20% so that rockets are no longer the only way to go, and I increased the cost of Beancan Grenades (and therefore satchel charges) by about 15%. I’ll have to watch this one closely and listen to your feedback, but things should be in a better place now in terms of how much you have to risk to get inside a base. I’ve also lowered the unlock level for the Armored Door to level 17 instead of level 20, which will allow you to defend against the Satchel Charge a bit sooner.

XP For Healing Others

I’ve added XP earning to bandaging and syringing other players, but it is limited to 1XP per person healed to prevent group abuse. This applies to you actually applying the bandage/syringe to another person via right-click, as well as giving them the item and having them use it on themselves or someone else. Consider giving some bandages to newspawns now!

Quicker XP From Others

One thing I noticed with the whole sharing mechanism was that when you gave out tools to a newspawn they would likely die quickly or not play for long enough for you to take advantage of the XP gains they were offering you. To this end, I’ve removed the diminishing value from others gathering for you. What this means is instead of someone having to harvest for 20 minutes using your tool for you to earn 3XP total, they now will only have to do it for a few minutes. I’ve also reduced the max XP you can earn from any one person who gathers for you to 2.

Item Unlock Levels Reduced!

The big one is Shelves. These unlock at level 5 and are 80% cheaper to craft. I don’t know why we didn’t do this sooner as they are a functional, required item for base design. Ladders are now unlocked much sooner, now at level 10

I’ve also severely lowered the cost of Wood, Wood+Wire, and Metal Barricades by about half the metal cost, and also lowered their unlock levels to 8, 12, and 14 respectively (about 3 levels sooner each).

The Waterpipe Shotgun is available at level 13 (to make room for the new weapon).

Double-Barrelled Shotgun

A progression from the Waterpipe Shotgun, the Double-Barrelled Shotgun allows you two shots before having to reload. While the damage output is slightly less than the Waterpipe per-shot, as well as its accuracy reduced, landing both shots will yield a higher damage output per second than you could achieve with the Waterpipe even multi-stacking them. Available at level 15 and found in Radtown crates. Enjoy!

Loot Table Buffs

You know what sucks? Climbing to the top of the Dome to see those green crates waiting for you, opening one up and seeing… a Torch. Or a Stone Pickaxe, or a Water Bucket. Welp, that’s not going to happen anymore. I’ve hand-crafted the loot tables for the two Radtown crates. This means you’re going to find a lot more useful items and tools, as well as good armor. I’ve also set them up to drop stacks of ammo from 8-20 (depending on type), so you can actually use the weapons you find! You’ll also see more drops of low/mid tier weapons, like Revolvers and the Double-Barrelled Shotgun

Auto Turret Buffs

The Glass turret is now less Glass… It protects 50% more against explosions from Beancans and Satchels, and its health has been increased to 1,000. I’ve also increased its damage output by 50% and made it slightly more accurate. P.S.: You can very rarely find them in loot crates now :)

Max Condition Visualization

A while back Garry did the baseline for the visualization, so you could see how much a tool has been repaired (and thus its max condition) but it remained unimplemented until now. Yay.

Armor Balance

I did a full balancing pass on armor to get the damage numbers on geared players back in-line. Armor now adds up from all clothing pieces that cover a certain body part, so wearing a hoodie and a metal chestplate will be better than just wearing a metal chestplate. To compensate I reduced the protection values of various pieces of clothing. Overall this means that hits to the body of a fully geared player will now do 15% more damage than before.

In addition to this nearly all clothing now offers more protection against arrows than it does against bullets. For body hits on fully geared players the difference between arrow and bullet protection is 10% which should help make low tier guns more attractive.

Weapon Balance

I did a fairly significant change to how headshots on Bows and Crossbows work. I reduced the projectile radius of arrows, so getting headshots with them requires a bit more skill. However, the arrow headshot damage is now significantly higher, meaning that crossbows kill naked players at full HP with one shot when taking bleeding damage into account. The projectile radius of Slugshot, Buckshot and Explosive Rounds was also reduced to bring them more in line with the standard rifle and pistol ammo.

Speaking of Pistols, the Semi-Auto Pistol now holds 10 shots in its magazine and the Revolver cylinder once again has a capacity of 8 shots. This should boost the usability of those weapons without going too far overboard. And most importantly the Semi-Auto Pistol now deals 40 damage instead of 39.99 – you’re fucking welcome.

Bleeding Reboot

I completely rewrote the bleeding damage calculations since they were barely doing any damage in their old state. From now on bleeding is displayed as the total damage that will be applied over the entire bleeding duration, so you will always know exactly how much damage to expect from your wound. The bleeding rate was increased to 20 damage per minute and weapons now do 20% of their applied damage as additional bleeding damage, which gives all weapons a decent damage boost over time.

Revive Reboot

Reviving a player now requires you to hold down E for 6 seconds without moving. Revive attempts that are interrupted will still increase the time it takes for the player to die from his wounds and players will never die from their wounds while someone is trying to revive them. To balance this, bandages and syringes can no longer be used to revive but players will be in the wounded state for 40 to 50 seconds (instead of 15 to 30) before succumbing to their wounds.

Object Rotation

Yes, the #1 item on the reddit changelog wishlist actually made it into the game! You can now rotate the placement guide of deployables and building blocks by pressing the R key. For most objects this rotates in increments of 90 degrees, but building blocks rotate by varying amounts to fit their sockets.

Projectile Pickup

I think this one has been annoying literally everyone for ages. Projectiles used to be locked for 10 seconds before you could pick them up when they got stuck in another entity. This is now no longer the case – you can pick up arrows and throwables the second they stop moving.

Projectile Anti-Hack

This was my personal passion project over the weekend. Projectile movement is now verified on the server using a checkpoint system. This makes the server side projectile movement verification much more robust, especially against false positives. Let’s see if it fucks everything up.

Graphics Performance – Part 3

Kept working on rendering this week, shaving off another ~2 ms from our frame time:

  • Optimized HUD UI rendering
  • Optimized motion blur effect; around 20% faster
  • Optimized bloom effect again; around 25% faster
  • Optimized sharpen and vignetting; around 30% faster
  • Optimized terrain rendering; around 40% faster

Terrain rendering is one of the main contributors for our high frame times. I’ve disabled far splats for regular/default rendering (PVT off), reducing bandwidth drastically. A full featured terrain now requires VT to be enabled.

While on the topic of virtual texturing: while it’s one of the most powerful optimizations we have – improving performance not only on the terrain surface but also on all terrain-blended rocks/cliffs – it’s been fairly unstable. I’m planning to take some time to work on it again soon, to address general instability and micro-stutter, as well as blurriness issues when walking on cliffs, among others.

I’ve identified a bunch of areas in need of optimization work and I’ll be looking into CPU-side graphics performance as well this week.

Single Shot Door Trap

Door traps! I’d made some pretty good progress on one of them already before Helk and I decided that we really wanted to make this one (sketch 3). So as Paul finishes up on fleshing out the concept for that one, I decided to work my way to completing the Single Shot Door Trap. You can check it out below in both 2D and 3D!

It’s a single shot trap, which means you would have to go back to reload whenever it’s triggered. Probably best for low level/tier players to add some sort of basic security.

New Assault Rifle

Helk and I discussed adding some more real-life military guns as rare loot drops (similar to the M249 Machine Gun). A couple of guns he suggested are the LR-300 Assault Rifle (basically a tricked out M4) and an MP5. I started work on the LR-300, so here’s some progress on it so far.

lr300-6
lr300-7

After this is done, I’ll make the high-poly version and then bring it into Mudbox to apply dents scratches to it.

Graphics Overhaul

We could have YOLO merged the graphics update in today, but we decided that it’s best to give it some time on pre-release, so expect to see it up and running there within a few days.

Also we have been neglecting to fix Savas Island for a long time now, so you’ll see that too when the graphics update goes live. More meds, more guns, more good stuff.

(Pictured: Procmap.)

Dungeon Art Branch

The progress from the dungeon branch will not merge into main this update. Some of the implementations still need to be made for the art, and rather than releasing half working features I’ll keep them on hold there until working.

Military Tunnels

The military tunnels represent one of the last parts of the new dungeons that is still in a greyboxed state. I started to transform this into its final form this week. First by completing the dungeon that is in the game, and then adding more pieces to the set so we can craft more interesting underground places, including mergers with natural caves.

Bone Armour

I made a start on the low-poly for the updated bone armour this week. Generally speaking, the simpler the shape of an object, the easier it is to recreate in 3D and arrays of small, complicated shapes tend to be a pain in the butt. I initially wanted each bone as a separate element but the polycount started ballooning pretty quickly, and it wasn’t even looking that great due to triangles being wasted in areas no one would ever see. I’ve ended up going for a bit of a hybrid approach andgrouping clusters of bones into elements which looks pretty good and is way, way more efficient.

Here’s a shot of one of my test bakes, hopefully you shouldn’t be able to tell I’ve used any workarounds!

Changelog

Full clothing and armor balancing pass (15% more body damage when fully geared)
Protections from clothing and armor now add up (all slots required for max protection)
Bleeding is displayed as total damage that will be applied over the bleeding duration
Increased bleeding rate to 20 damage per minute (instead of barely any at all)
Increased bleeding from weapons to 20% of the applied damage
Revive takes 6 seconds to complete (holding down E)
Cannot move while reviving
Revive attempts delay player death
Bandage and syringe no longer revive players
Increased player wounded time (now 40-50 seconds)
Reduced projectile radius of slugshot, buckshot, arrows and explosive rounds
Increased headshot multiplier of throwables and arrows to 1.5 (from 1.25)
Pressing R rotates placement guide of deployables and building blocks
Server now verifies projectile path between checkpoints (anti hack)
Projectiles can be picked up immediately after they hit something
Combat log now correctly displays the last 30 entries
Combat log now includes the ammo type
Semi auto pistol now holds 10 rounds (from 8)
Revolver now holds 8 rounds (from 6)
Fixed semi auto pistol doing 39.99 damage instead of 40.00
Fixed being unable to bandage other players
Fixed feet hitboxes being outside of the collision bounds on wounded players
Fixed rock box stacking exploits
Fixed grenade viewmodel sometimes getting stuck in throwing animation
Fixed layer toggle with no name in F1 tools
Fixed player jump animation not playing
Added hurt admin console command (takes amount of damage as parameter)
Improved rendering performance again
Improved player preview lighting; added anti-aliasing
Fixed flow around player preview
Fixed Hapis lake waves
Fixed TSSAA flickering when switching items
Fixed revz not defaulting to 1 when client cfg is missing
Fixed rock/cliff texturing, female skin and other glitches introduced a couple of weeks ago
Can sprint with crossbow again
Halved crafting time for ladder, bed, campfire, ceiling light, cupboard, bow, xbow
More than halved crafting time for Explosives and Gunpowder
Added Satchel Charge
Fixed explosive rounds dealing double explosive damage
Slightly increased cost of beancan grenades
Reduced cost of C4 by 20%
Armored door available at level 17
Added XP earners for healing other players
Removed Gathering diminishing xp from other players (more xp sooner)
Shelves unlock at Level 5 + 80% cheaper
Reduced metal cost of woodwire, metal barricades
Reduced level requirements of wood, woodwire, metal barricades + spike trap
Added Double Barrel Shotgun
Autoturret health increased to 1000
Autoturret damage increased 50%
Autoturret protection from satchels/beancans increased 50%
Loot tables for radtowns handcrafted and contain less junk
Ammo stacks can be found in radtowns
Max condition of items is shown as a red bar
Fixed weapon viewmodels sometimes being partially see-through (exploit)
]]>
Rust Devblog 118 https://rust-servers.net/blog/100/rust-devblog-118/ https://rust-servers.net/blog/100/rust-devblog-118/ Sat, 16 Jul 2016 00:33 CEST

Changes to the XP system means the Official servers will be wiping XP and maps to get everyone back on a level playing field. Community servers can revert if they choose to. Apologies, but it needs to be done. Aside from the XP stuff, we’re rebooting gunplay, building sexier airfields, and more.

 

XP Changes + Fixes

There was a very, very bad bug in the code when the XP system was introduced. 100% XP earn was given to each owner regardless of their ownership fraction. This meant that even if you owned <1% of the tool you still got 100% XP. This lead to some players earning ridiculous amounts of experience points. We’re talking one level per minute. This has since been patched thanks to André. We’ve also made the following changes to the XP earner system:

  • Maximum XP you can earn from any single player is limited to 6XP
  • No more XP gain from the usage of resources
  • Each time you craft an item for the first time you will earn 0.5XP
  • XP diminishing is in effect: the more an action is done, the less XP it yields

These changes will mostly affect groups boosting each other. All your friends can go out and harvest for you all they want, but you will be met with diminishing returns and a maximum. It’s better to meet new players as the first XP a player earns from you will come quickly.

Wipe Hype

Due to the exploits, bugs and oversights, we had people reaching level 50+ in a matter of hours, fully unlocking all equipment and running around the server with C4 and AK47s. Now that we’ve patched all the exploits and nerfed some of the XP gains any ‘regular’ player–or someone just joining the server–would have to compete against that, and we don’t think that’s fair. Also, we have no way of tracking the speed at which players are legitimately earning XP and leveling up, so we can’t really make any adjustments in the future based on this XP cycle. Because of these problems, we’ve made the decision to wipe the game and start fresh. This also includes a map wipe to remove the stacks of AK47s and other items being hoarded that would provide an unfair advantage to everyone starting new.

I know this sucks and I’m really sorry, but we need to get it out of the way now so we can improve the game. I want everyone to know that this is absolutely not standard practice and we never intended for XP to wipe at a frequency higher than blueprints. Please understand this was not supposed to happen for months, and as I expressed on reddit, I’d like to extend my sincere apologies to you all. These things do happen from time to time, and it’s part of the reason why we still have the Early Access tag on the game, but we will do our best in the future to mitigate any situations like this arising again.

That being said, we have added a way for server owners to backup and restore their XP database, effectively giving them the option to skip an XP wipe like this one.

Server owners can update their servers, and then take the following action to restore the XP database and savegame in the server folder:

  • Rename “xp3.db” to “xp4.db”
  • Rename “UserPersistence.db” to “user4.db”
  • Rename “0.sav” in the “save/Procedural Map_3000_1234” folder to “proceduralmap.3000.1234.132.sav” and move it to the server folder such that it’s next to the “xp4.db” and “user4.db” files

Note that in this example 3000 is the world size and 1234 is the world seed. The number 132 is our current internal savegame protocol, which is the same for every server after the update.

What’s Next for XP?

Next week I’d like to add the ability to set an XP multiplier on players. Once this is in place we can do things like have double XP weekends from time-to-time, or add a feature that gives you an XP multiplier bonus if you’ve been offline a long time (giving casuals a bit of help against no-lifers). We can also then limit the XP earned when offline if this becomes a problem. We’ll be watching and making balance and tech tree changes, and adding new ways to earn XP. We’ve also got to start looking at something that will allow you to forfeit all your XP for a worthwhile bonus, effectively allowing you to play again (think prestige mode from Call of Duty), further limiting the need for XP wipes.

Airfield Cont’d

After the first release of the new airfield last week, I moved on to improving or finishing the area to a good standard. I can polish it further in the future, but it’s now a lot better. That included redoing hangar models from two years ago that did not reach the quality mark I want the environment art to sit at. Here’s the new ones:

dungeons_art_082
dungeons_art_081

After this I’ll add a power sub-station ground to the Airfield, in the brick-walled section of the area that’s empty as of last patch. This little substation will connect with procedurally-generated powerlines in the future and make a neat end-of-line connection for those instead of an abrupt stop.

Server Performance

We have a Staging server that we were doing all the testing on, and the performance was great. When we released we realised that the server performance was shitty. Really shitty. After some investigation we found that the servers were stalling when saving XP data to the database on disk. We didn’t notice this on our test server because it has super fast hard-drives, but most game servers don’t have them because they generally don’t need them.

So I made a bunch of changes, a bunch of optimizations, and got it working relatively well. To stop this from happening again we’ve got a bunch more staging servers running on regular hardware.

Network Performance

Servers were using a lot of bandwidth, so I added a bunch of diagnostic tools and unit tests and optimized it. If you have a low bandwidth connection you should find that things are a bit better now. If you’re a server owner you should find your bandwidth usage is less.

Gunplay Reboot

The rebooted gunplay systems are now live. Gunplay has been one of the main concerns of the community for a while and we’re thinking we’re finally on the right track now. I explained most of this with a fair amount of detail in devblog 117, but here’s the gist of it:

  • New hitbox system (clothing no longer affects hitboxes)
  • New weapon damage model (more predictable body damage multipliers)
  • New projectile weapon hit detection (best-fit hit detection for reliable results)
  • New clothing and armor protection system (less random protective properties)

The aim of all those changes is to make gunplay feel more precise and predictable. While it’s certainly not perfect yet it should be a huge step in the right direction and offer us various tools we can use to improve it even further in the future.

Building Blocked

This one has been around forever. In rare cases people could be building blocked everywhere on the map until they died and respawned. We’ve never been able to reproduce this reliably so it wasn’t easy to track down, but it should finally be fixed now – make sure to let us know if you’re still encountering it.

Exploit Fixes

Moving on with my continuous efforts to combat cheating and exploiting, I took on a number of long standing issues this week. I fixed a building design exploit that made the outer walls of a tower immune to rocket damage. Next I tracked down another exploit that allowed object placement through rocks and enabled people to build rock bases. Lastly I fixed a helicopter exploit that utilized glass windows around the new monuments to be almost entirely immune to damage from the helicopter machineguns.

Anti-Hack Fixes

I took on a few false positives from our in-house anti-hack system this week, both of which could lead to the server rejecting legitimate bullets from the clients. One of them was caused by some legacy code that should have been removed a while ago–this is the one that showed the “AntiHack!” message in chat–the other one was simply due to the projectile speed verification being too strict under certain conditions. This should all be taken care of now.

Server Branch Enforcement

Servers can now set a “server.branch” startup parameter to force all clients that try to connect to be on a certain branch of the Rust install in Steam. We’re using this to keep new players from connecting to the official staging servers just to be unable to connect the next time we increase the network protocol or to be confused when they are restarting, breaking or wiping more often than expected.

Bone Armour Rework

Work continues on the bone armour rework. I’ve been working into the details a bit more, adding a lot of straps, ties and small bones. I’m trying to make it look really authentic in its makeshift assembly. They’re small details, but I think they go a long way, and it’s definitely something that makes the existing bone armour feel a little lackluster.

More Anti-Aliasing Options

This week we’ve introduced a few new anti-aliasing options. We had only two options, either off or on. When enabled, it used our default implementation which was based on subpixel morphological antialiasing and while it’s robust it can also be a tad slow. We now provide two extra options: a low-end FXAA or fast approximate anti-aliasing, as well as a mid-to-high-end solution TSSAA aka temporal supersampling anti-aliasing. Combined, these should make anti-aliasing affordable for GPUs at any price range.

A higher resolution comparison for more a more detailed analysis:

Please note that TSSAA is a work in progress. You may expect the results to be a bit blurry, especially in motion. It’s based on Unity’s implementation and certainly will improve over time. If you see a black sludge spreading through the screen until it all becomes dark, don’t panic, just disable TSSAA. This is a known issue and should be mitigated over the coming weeks.

Graphics Performance

There was already some fine work done by Andre in the past few months to improve draw call batching and we now have to complement that work by looking at runtime shader, texture memory bandwidth, latency and footprint. This week I started looking at performance from top to bottom as well as actually addressing it. I’ve already identified a few bottlenecks besides those we already knew about. The first change we’re introduced was a slight reduction in arithmetic computations in the shader lighting computations. Just is just a drop in the bucket and we need a bunch of drops to actually make a difference.

I’ll be aiming for a solid 60 FPS experience at 1080p on a NVIDIA GTX 960 (and comparable cards from other vendors), assuming the CPU is not the bottleneck, while keeping aesthetically pleasing visuals. We’re likely ending up with a combination of optimizations and default setting tweaks. There’s a ton of work ahead of us that should span across several weeks. I’ll keep you posted on developments.

Crossbow Animation Update

First thing I worked on this week didn’t come off, so after that I looked at fixing some issues on the crossbow we’ve had for ages. These included:

  • Deploy anim not being triggering properly
  • Shearing of the wrist due to too much twist during the reload anim
  • Anim length not matching the reload time, causing clipping if using ironsight
  • Idle loop bumps
  • Shaking of model & bow near end of reload
  • ‘fire’ anim not feeling satisfying

 

 

Shotgun Stock

I finished up the LODs and textures on this. I wanted some visual difference to the default grip i.e lighter colour to the wood and with some saturated colours to tie it in with the rest of the gun. I am planning to make more variations of our weapons so you can have some fun customising your stuff when they are implemented (check the bicycle stock below).

Bicycle Stock

After finishing up on the stock variation for the Double-Barreled Shotgun, I thought it would be a good idea to make more variations for the SMG, which will hopefully be useable on other weapons such as the AK47. Now obviously the programmers are focusing on more important stuff at the moment, but my hope is that we will have a good amount of variation when these (and more) can be implemented.

The idea with the bicycle seat stock is to reduce the recoil with the springs. If there are any ideas you guys and gals think are cool and practical, let us know!

Player Animations

I noticed that some of the player animations were holding the weapons in such a way that they weren’t pointing in the direction the player was looking. I believe the bug was caused by a recent update to Unity, so I went through all of the offending animations and corrected them.

I also tweaked some of the gun fire animations so they look more violent and abrupt. I went over the hunting bow animations and improved them a bit by tweaking the position of the hand that held the arrow as well as fixing up the head rotation so he actually looks like he’s aiming the bow.

 

 

I also added pre-throw animations for the rock and spears so people will know when a player is about to throw them.

Music

A new Unity update came out that’s sorted the crash issues we were having with the build server, so music stuff is ready to go out now (much love to Andre and Garry for the time they spent helping me try to track that down before the update). We’ll be playing it safe and waiting until next week to push it out though since we cocked the game up last week already.

I did a few little tweaks to how music plays back in the main menu, fixed up a few things that got overwritten in the bullshit crash chasing we did last week, and added a console command “music.info” that will print information about the current song, section, and intensity level to the console. Once we push this out I’d love it if you guys use music.info to tell me about anything that feels off or feels awesome next week!

Changelog

New hitbox system (clothing no longer affects hitboxes)
New weapon damage model (more predictable body damage multipliers)
New projectile weapon hit detection (best-fit hit detection for reliable results)
New clothing and armor protection system (less random protective properties)
Animals now also use detailed hitboxes with damage multipliers
3rd person pre-throw animations for rock and spears
Fixed bug with eyeballs popping out when holding construction planner
Large furnace no longer placable in water
Fixed dropped weapons not changing ownership
Fixed flamethrower particles bouncing around
Small water catcher uses tap collider for +use (instead of entire object)
No more double xp from breaking objects you have looted
Added xp.reseteverything command for server owners to reroll characters
Crossbow vm anim updates
Fixed head clipping through Wolf Head Dress
Fixed base design exploit that was immune to rocket damage
Fixed rare cases where building could be blocked everywhere
Fixed an exploit to place objects though rocks
Fixed helicopter exploit using glass windows of monument buildings
Fixed water purifier interaction issues on server restart
Fixed rare AntiHack false positives from legacy code
Fixed rare AntiHack projectile verification false positive
Added server.branch convar (forces certain branch for connecting clients)
Updated EAC
]]>
Rust-Servers.net Switch To HTTPS https://rust-servers.net/blog/99/rust-serversnet-switch-to-https/ https://rust-servers.net/blog/99/rust-serversnet-switch-to-https/ Fri, 08 Jul 2016 23:42 CEST
Our API can still be used without HTTPS for compatibility with third parties.      

Here are the most notable benefits of this change:

  • Improves global security of the server list
  • No more problem to use our embedded content on external websites that use also HTTPS
]]>
Rust Devblog 117 https://rust-servers.net/blog/98/rust-devblog-117/ https://rust-servers.net/blog/98/rust-devblog-117/ Fri, 01 Jul 2016 00:19 CEST

No patch as we’re focused on the XP update for next week. On the prerelease branch you can try the new UI, the quick crafting menu, and the level-up animation. The blog also has details on making gunplay great again, upcoming armour, and more.

XP System

We’re on track for merging prerelease into Main and launching the XP system on the 7th. This doesn’t mean it’s going to be perfect, it just means it’s good enough to be part of the main game while we improve it.

When we merge prerelease into Main, we’re going to fork the existing version of Rust off into a separate branch, so you can opt into it and continue playing that version of Rust “as is” in case you want to. It will not be maintained or improved upon similar to Legacy, but should be fun to revisit and play in the future.

Regarding progress, I finally merged “Item Ownership” into prerelease and so far it’s been a blast. There were, however, many bugs and crashes that have since been resolved. I’ll spend the next few days writing code that takes advantage of the system a little more than it currently does. Such as earning XP from using up resources, when you drink water you ‘created’, using your deployables (furnace/repair) etc. I’ve also got to solve a few annoying problems, such as implanting items on downed players and reviving, and giving ownership to you when looting a dead person (it was really annoying to kill someone and then not want to use their tools because you didn’t want to earn them XP). I’ll be watching and listening for more exploits and fixing them as we go. If you can’t wait until next Thursday you can always opt in to the prerelease beta and give it a try.

Quick Craft

There’s a big space free on the right of the inventory menu since we moved the crafting stuff to its own menu. I filled it slightly with the quick craft menu.

This shows only items that you can craft, based on what you have in your inventory and what you’ve unlocked. It still needs a bit of love–to give feedback when you’ve actually clicked on it–because right now all the crafting stuff is hidden behind the spawnmenu, so it’s not that clear.

Hitscan Projectiles

Previously, when you shot a bullet it came out of your gun and traveled at a certain rate, had gravity and drag applied to it, then slowed down. It’s as you would expect in real life, except in Rust the bullets travel a lot slower than in real life to emphasise this effect

This felt like shit at short range, but it worked over long range. The shitty feeling was made worse by the fact that the bullet doesn’t move until the frame after it has been fired, which means firefights were client side frame rate dependent. Which is terrible, really.

So now when you shoot your gun, the bullet immediately travels a set number of meters (this is ammo dependent), and then it carries on as normal. The end result is that close quarters gunplay is effectively hitscan, but long range retains the effects of gravity that we originally implemented.

Build Times

I wasted a day-and-a-half trying to get our build times to not suck. At the moment it takes just under an hour from us committing to the build uploading on Steam and playable by millions of people. A few years ago this would have been a pipe dream, but now it’s not good enough.

It is feasible for this to come down to about 5-10 minutes, if we compile Linux, Mac, win32, win64 and asset bundles in parallel. The issue with this is that multiple Unity instances can’t compile from the same project file at the same time. So we need to mirror the project file. Which is fine, it’s 20gb a project file, so we’re talking 100gb for all the platforms, double it for debug and release mode, so 200gb.

Except that’s bullshit, because when you open a project Unity likes to mirror the contents of it to its own bloaty Library folder, so we’re talking 40gb a project, so 400gb. Which is okay if you can spare it, and didn’t spend a ton of money on super fast but super small PCIE SSD hard drives.

But then it turns out, after a day of programming, that Unity 5.4 hates running in parallel anyway, so it was all a big waste of time and effort. For some reason, when multiple instances are compiling it keeps losing its license, so I have to manually log in and activate it. Then there’s some port conflicts when compiling shaders, so it just hangs indefinitely.

It would have been nice to get it working, to make us more agile, but fuck it for now – I’ve already wasted too much time on it.

UI Tweaks

We’re entering a fix and polish stage of the prerelease branch at the moment. The basics of it are done, so it’s about going back over stuff now and improving.

The pie menu got some performance enhancements. I also updated the animation to make it a bit more fluid, so when it closes you can move your view immediately instead of waiting for the animation to finish.

I went through the UI fixing the scroll speeds of various panels that were scrolling too slow when you moved the mouse wheel. I improved the look of the crafting queue, and made it more obvious that clicking cancels.

Level Up Notices

There wasn’t any feedback on levelling up, beyond the level number increasing. It should be a song and dance. I added a new HUD system for notices, so we can queue shit up there. Now when you level up it pop up a notice and play a sound.

It’ll then list all the new shit you just unlocked.

The sounds are hilarious and placeholder. I’m sure Alex will find his way to making it some eagle sound or something… just as soon as he catches one.

Lone Wolfs

We do listen to you guys, and I know we were a bit dismissive and rude about lone wolfs last week, so I wanted to surprise you guys and prove that we really do pay attention to what you want.

So from now on all of the wolves in the game do 10 times more bite damage. This doesn’t affect bears. Hopefully this will put an end to this “lone wolf vs group of wolf” discussion we’ve been having a lot lately.

Sentry Costs

Sentries aren’t used as much as they should be and because we wanted them earlier than the AK47. I’ve changed their crafting recipe to only require 75HQM instead of 50HQM + Ak47. Hopefully we’ll see them used a little bit more.

Throwable Weapons

This week’s been about getting all throwable weapon work onto prerelease, as well as some balancing. Have a play and let me know what you think:

 

 

Airfield Rework

I have been working on the go for the past week and managed to get stuff done at a decent pace between trips and flights. Progress on the airfield is good: I do not have many close ups shots to offer as some buildings are still work in progress, but I took some overall shots for you guys, though they’re from my laptop and a not at the highest quality settings. It’s getting there and most of the buildings fell into place like I wanted.

airfield_004
airfield_003

Double-Barreled Shotgun Artwork

I’ve made some good progress on the Double-Barreled Shotgun. The change from the concept to include the screwdriver handle seems to have really added to the makeshift look. Take a spin and see for yourself!

I have a couple of materials to create, like the pin trigger for the springs, but that should be done in no time at all. Then onto the LODs.

This weapon, like the SMG, will be customisable. If you notice on the concept Paul drew, there’s two versions: one with a longer barrel plus sights and an actual stock, so I’ll work on those when I can.

Heavy Armour

I’ve finished up baking down the lower half of the heavy armour. It still needs skinning and lodding, and I’d like to dull the metal a little – I think it’s looking way too shiny for rust at the moment. It’s nice to see it looking suitably bulky though, especially when you see its component parts.

Bone Armor Rework

Some of our armors definitely suck at the moment, and you see this stuff a lot so they deserve some more attention and refinement. We hate the Bone Armor the most: it’s goofy and janky, mainly because it was originally designed to fit over existing stuff and protect practical areas, which made the aesthetics suffer. Now we’re just making something that looks way cooler and not worrying about it fitting over other things. We will explore light/medium/heavy types of armor, so for the bone were gonna go with something that fits a light armor type, and has a more primitive feel with a mix of hide/leather and bone. Shoutout to da9L88 for his awesome bone helmet concepts the other week, I couldn’t help but take some inspiration from those!

Music

The beta version of Unity we’re using right now has been crashing a TON on OSX so I’ve been spending a lot of time working on a different FP game this week, but I’ve made some progress on the music system and finished chopping up the rest of the existing songs. I ended up ditching one of them that just wasn’t feeling right in game, and will continue to write more as we move forward. Since we’ve only got a handful of songs right now they’ll all play in any environment/time of day but as I write more we’ll start separating them out more too.

I added the ability to allow/disallow individual clips fading in and out in the middle of a section of music on a per clip basis. Previously we would only fade clips in if the intensity was increasing, or fade them out if the intensity rose above their max intensity. This worked pretty well but I wanted more fine-grained control. This is really nice for things like preventing a melodic line from starting in the middle of a phrase or making sure a drum part will always play in full once it starts and won’t fade out.

I did a bit more cleanup and made some final tweaks to prep the music system for launch. It’s disabled by a convar by default right now. Tomorrow (or I guess today once you’re reading this) I’ll be giving everything a final once over and then merging into prerelease so I can test this stuff out in a live server, and assuming that testing goes well this will all go live when the XP system is released.

Make Gunplay Great Again

There’s been a lot of talk about the current state of gunplay in Rust, and we mostly agree with the common opinion on this: it feels random, unsatisfying and sluggish. This week I sat down with Helk and discussed what has to be changed to make things better. It all seems to boil down to this:

  • Predictability
  • Precision
  • Feel

To me, personally, the lack of consistency is probably the biggest issue right now. Things simply feel far too random to be enjoyable. This is caused by a number of things, so let me explain what I’ve been working on this week and our reasoning behind it all. Everything in this section is still under active development, but I’m hoping to get it onto the prerelease branch either next week or the week after.

It all starts with the damage and hitbox system Rust has been using ever since the reboot. We’ve tried various variations of this but none of them seemed to work out the way we wanted, so it’s time to let go. At the moment hitboxes use the exact player model and clothing meshes as their colliders – if you hit a piece of metal you’ll do far less damage than when you hit skin or cloth. This is neat in theory, but it completely breaks down in hectic firefights since nobody intentionally aims for the tiny vulnerable spots between clothing items, essentially leading to completely random damage multipliers being chosen. I’ve replaced this with a much simpler hit area system. Clothing now specifies the body parts it protects and damage is reduced based on which body part has been hit rather than the exact visual mesh. This means projectiles never randomly bypass protective gear. It also means that gloves can add to the overall body protection instead of only protecting the hands, which makes them far more useful.

The second issue caused by using clothing meshes as colliders was that clothing affected the size and shape of player hitboxes. Things like the bucket helmet, and to some degree even the metal facemask, made the head hitbox so huge that they were essentially useless. I threw this out the window so now the body part that was hit is determined by a player collision mesh that doesn’t change with clothing. We still have the option to apply reduced damage when hitting the bigger clothing hitbox and not the player hitbox, but I won’t add it solely based on guessing. We’ll see how it all works out first.

Next I added the option to use per-weapon damage multipliers for certain body parts. This can for example be used to increase the headshot multiplier of a weapon type that’s very precise (sniper rifles) or reduce it for weapons where they occur more randomly (shotguns). We’re not entirely sure in which direction to take this yet, but it made sense to add support for it while reworking the underlying systems.

Lastly I started working on best-fit hit detection for projectile weapons – similar to what I added for melee weapons a couple of months ago. The thinking behind this is that hitting a hand that’s directly in front of a head should really count as a headshot since players cannot control their exact animation state. I still need to figure some stuff out, but this should make things feel less random and more predictable once it’s done.

Overall the changes I’ve been working on this week should help us get some much needed predictability and precision back into the gunplay of Rust. Next on the list will be weapon feel, but Helk might be better suited to tackle that.

]]>
Rust Devblog 111 https://rust-servers.net/blog/97/rust-devblog-111/ https://rust-servers.net/blog/97/rust-devblog-111/ Thu, 19 May 2016 23:29 CEST

More fixes and tweaks this week: decay has been added to cupboards, bags, and traps. Crop life has been adjusted. There’s also a peek at a new aiming system for throwable weapons, word on the upcoming XP system, and more.

 

Music

Here’s a preview of one of the tunes I started last week and polished up this week. I did a bit of recording specifically for this as well, which was fun. Some of the echoey, high-end percussion was made from bits of a disassembled door knob moving around (which also makes great gun foley sounds!), and some of the metallic swells in the background are pitched down recordings of me playing some metal mixing bowls and pots that were partially filled with water with a cello bow. There’s a few things I want to tweak with this one still, but I’m pretty happy with it so far. Listen to it and enjoy the blog!

Prerelease Branch

I’ve merged the past month’s changes into Prerelease and got it up and running again. I’ve also set the price of the new items in the XP system and adjusted their unlock levels. Next week I’m going to do some gamefeel stuff, so it’s more obvious when new items are unlocked. I’ll also be going through each level and making sure we aren’t getting too many unlocks at once (some levels unlock 8 items!), as well as a standardized pricing scheme (common tool = 5 XP, very rare weapon = 50 XP).

Deployable Decay

I added decay to a number of deployables this week. All sleeping bags, tool cupboards, barricades and traps will now slowly decay when inactive. Opening or closing nearby doors resets the decay timer the same way it does for building blocks, which means those things should be safe inside occupied bases, but will decay fairly quickly out in the wild or when a base is abandoned.

The things I’m hoping to achieve with this is to cut back on the sleeping bag/trap/floor spike spam in bushes, and to make tool cupboard griefing less effective. Another interesting aspect could be the possibility to move into an abandoned base once the cupboard is decayed, since it will break down faster than the higher end building tiers. I didn’t go too crazy with the decay rates for now (~2-3 days for most of those deployables) so we have some time to get feedback and balance it in the upcoming weeks.

Server Stats

We now track some interesting stats for server admins that can easily be accessed with the “stats” or “stats ” console commands. The reason for doing this is that I’m interested in the number of projectile hits with or without a direct line of sight between the attacker and the target. While there are legitimate reasons like ricochet that can lead to hits without a direct line of sight between two players, things get suspicious once they are happening at a high enough frequency.

For now this feature is mostly there to evaluate the performance of those kinds of checks and see what the data will tell us. It’s also useful for server admins to look into hacking accusations, which is why I decided to make this early development version available to them.

Farming Tweaks

There’s much work to be done on the farming system, but I just wanted to address some low hanging fruit (hue hue) this week. I increased the time the fully grown plants stick around before they start a new season or die, so you’re less likely to miss the right moment to harvest them. Domesticated hemp now gives 20 cloth when fully grown and can be harvested when the plant is still small for a portion of that maximum amount of cloth.

Server Crashes

There was a fairly serious issue with the water bucket that could make the physics system of a server crash entirely. After a painful debugging process this is now finally fixed – sorry to any server owners who experienced this.

Entity Parenting Fixes

There were some issues with the water purifier caused by a fairly low level bug in our entity parenting system. I implemented a workaround over the weekend and starting today you should no longer run into invisible water purifiers or ones that cannot be interacted with. I’ll probably have to put some more work into the entity parenting system in the future if we decide to use it with more objects than just quarries and water purifiers, but for now everything should be working as intended.

Throwable Weapons

Something I’ve wanted to return to for a while is throwable weapons. The current system results in a lot of accidental throws & hads only a small sense of accuracy, so what I’ve looked at this week is adding an aiming state. Holding down right-click will keep you in this state until you’re ready to throw, releasing the button will execute the throw.

 

 

Now, this system involves code changes to baseMelee & will effect third-person anims too. Once the code is updated it will be looking for this new aiming state on all throwable weapons, which means I’ll probably need to get them all working before committing. This is only worth doing if players feel they will use this aiming feature, so let me know what you think of the idea.

Holosight Adjustments

Some of the holosights were a little off, just enough to be annoying. They should all line up now:

Face Randomisation

I’ve added a female component to the randomised faces script, there’s limited variation due to it only sampling three blendshapes (and one set of textures!) at the moment but we’ll be able to get some unique faces when more are added.

 

 

New Eye Maps

When I first made the eyes I used photos to create the textures and although they look fine, they’re a pain in the ass to edit or do anything with. I’d like to introduce randomised eye colour at some point so I figure now was as good a time as ever sculpt an eye and have some nice, flexible maps to work with.

 

 

Physics Sounds

I’ve continued working on physics sounds this week. I’m almost done with the world items now (which is actually most of the physics-enabled stuff in the game at the moment). I’ve got a couple more things to record still, but I’m planning on doing that tomorrow and merging this stuff in over the weekend so we can test it a bit and release it next week. After this first round of this is done I’d like to work on more item-specific sounds to give everything a bit more distinct flavor.

Item UI Sounds

I’ve started on a few more item UI sounds this week. Paper, small plastic objects, and water bucket/bucket helmet. I’ve also been hunting for something that will work well for the big scrappy metal tools, like the salvaged axe, but haven’t found anything that’s giving me quite the right sound for those yet. All the metal objects I’ve got that are rattley enough are too thin so I’m going to take a trip to Goodwill and/or the hardware store next week.

Harbor (Concept)

I’ve been working on this harbor Rad Town concept. New players who spawn on the shore need a more reliable way to find roads and by having rad towns like this with tall cranes it would give players a clear target to aim for.

Third-Person Weapon Animations

I started animating the weapon models in third-person–as seen from other players–which will better allow you to visualize what other players are doing with their weapons: reload, shoot, etc. The early results already add a lot to the visual impact of the weapon handling, but they’re too janky to show off right now.

Changelog

Added deployable decay to sleeping bags, tool cupboards, barricades and traps
Tool cupboards can be repaired
Added server side stat tracking (separate for every server instance)
Added projectile line of sight tracking (no enforcement yet)
Added lineofsight_protection server convar (only toggles tracking for now)
Increased available time to harvest plants before they die
Hemp can be harvested for reduced cloth when small
Ignore projectiles from stalled players
Take player lag into consideration for server side projectile speed verification
Projectile entity distance verification takes entity speed into account
Include player and target names in server side projectile logs
No longer give anti hack violations to players that are stuck behind doors
Improved fly hack detection (fixed a potential false positive)
Fixed overly bright clouds at night
Fixed blurry Facepunch logo on low quality settings
Fixed issue that could render the water purifier invisible
Fixed issue where the water purifier bucket could not be interacted with
Fixed potential server crash caused by water bucket
Fixed line of sight loot exploits
Fixed exploit to disable gunshot sounds
Fixed survey charge particle effect rotation
Added decay.tick server startup parameter (specifies decay tick interval)
Fixed estimated player velocity being extremely inaccurate during server lag
Player animation tweaks
Fixed offset Holosights
Fixed issue with revz not being set causing rendering problems
Fixed revz darkening environment
Fixed revz player preview
Fixed revz deferred lighting and reflections
Fixed revz missing decals, player tags, holosight dot, lantern glass
Fixed revz missing heli body and heli interiors
Fixed revz painting signs
Fixed revz greyboxes not visible
Fixed revz horse hair, helicopter glass seen through objects
Fixed revz menus darkening water
Fixed horse hair discoloration
Fixed teddy bear mesh + material
Fixed water simulation issue causing seams in shore blend
Fixed speedtree billboards in d3d9
Fixed pitch black shadow on grass when shader level < 300
Fixed pitch black horse lowest LOD mesh
Fixed ocean and rivers not showing specular highlights for secondary lights
Fixed research table glass shader
]]>
Rust Devblog 110 https://rust-servers.net/blog/96/rust-devblog-110/ https://rust-servers.net/blog/96/rust-devblog-110/ Sat, 14 May 2016 00:32 CEST

Water purification, farmable hemp, new clothing, decay fixes, and lots more.

 

Water Purifier

A new form of hydration is here! This deployable will generate clean, fresh water from salt water. Just place it over a campfire, load the tank up with salt water, and give it a bit of time. Soon enough you’ll have clean water to drink. I think this is an important addition which will make living away from lakes and streams a lot more viable.

Hydration Tweaks

I’m going to have to go through and make water-loss far more aggressive soon, but for now I’ve limited the maximum amount of water you can keep in your body from drinking to 250 instead of 500. This should make it so you have to drink more frequently and can’t just load up at a river and forget about it for four hours.

Silencer Tweaks

I’ve made a first pass at adjusting the silencer due to public outcry. It has 2.5x the durability, and only lowers damage done by 25% instead of 30%, I’ll revisit this in the future if it still sucks, and probably reduce the cost.

Roadmap Update

I’ve been on a bit of a roll with the metabolism and water improvements and haven’t taken the time to give some love to prerelease. With Garry out of the picture for a while this is now my responsiblity and I guess it was sort of wrong of me to neglect it. Because of that we’re way behind on the roadmap at this point, but on Monday I’m going to merge everything into prerelease and get the ball rolling again on the XP system. We really need to get this sucker merged into main as it will solve a lot of the early game problems that are currently in Rust.

Halterneck/Skirt

The feminine hide clothing is in. They don’t do anything the existing hide clothes don’t already do, but if you want to cover yourself up with something a bit more feminine now you can.

HalterneckSkirt

Decay Reboot

Decay hasn’t really been doing its job. The main reason for this was that the timer reset whenever the server restarted, which for many community servers with semi-daily restarts meant nothing would ever decay; even official servers would often decay the higher building tiers slower than the wipe period. This is now fixed. While I was at it I also optimized the memory usage of the decay system. This allows us to add it to many more entities if required. I’m hoping this change will help with long-term client and server performance and allow servers with high player populations to stretch out the wipe periods further. I’m sure the decay rates will need some tweaking, but I didn’t want to guess numbers given that decay was barely working at all until now. We’ll figure it out after observing the servers for a while.

Viewmodel Spasms

This has been around for what feels like an eternity. Whenever you switched weapons the viewmodel flickered up in the incorrect pose for one frame, which made the game feel like it was written by a high school student for his first programming project. It is now finally fixed.

Repair Fixes

The repair system allowed you to repair every building tier with just wood, which was really unbalanced and could fuck over people who weren’t aware of that fact and used their high quality metal to repair their base. This is now fixed and repairing objects now requires the same resource types that were used to build them.

Plant Fixes

I came across a number of bugs in the farming system. The biggest issue was that plants could get stuck in the invisible seed state forever if their happiness was hovering around zero. This leaked plant entities on the server, which is never a good thing. On the client side plant skins now use prefab pooling for better performance and the planting and harvesting particle effects are rotated correctly.

Farmable Hemp

This should be an interesting change to make the farming system a bit more relevant. Wild hemp now gives 10 cloth and 1 hemp seed. The hemp seed can be used to plant hemp, which gives another 10 cloth when harvested. This not only adds another gameplay layer, but it also means we can check whether or not people are actually planting their hemp seeds and decide whether or not the amount of wild hemp in the world is too high or too low. This is just the first of a number of planned additions to the farming system, let’s see how it plays out. Rustafied took a nice shot.

Cave Fixes

Lots of things were broken in caves: World models, ragdolls, debris, rockets, deployables and turrets. Those are all fixed and working correctly now, so go out and enjoy your caves for the dark holes that they are.

Anti-Hack

We saw an uptick in the damage done by hackers recently due to some standing exploits in the game code. We kicked off the week by fixing a remote looting hack (“noclip”) that went viral last week.

Furthermore we improved the server side fly hack detection. This fixes a number of ways people were getting over perimeter walls or onto buildings. We also made the automatic anti-hack kicking a bit more aggressive.

Lastly we spent some time investigating projectile hacks, the most notorious one being a way to make projectiles instantly hit their target with no projectile flight. We came up with a way to detect and prevent this on the server, which will be enabled by default on all servers.

Depth Precision Improvement

After a couple of unexpected challenges, I finally managed to roll out a working solution to drastically reduce z-fighting across the board and the results are phenomenal.

I ended up switching to the popular reverse-z technique instead of pure logarithmic depth for performance.

We can only see it in certain situations because most of the problems occur further away and fog hides them. Now we can safely push fog further without worrying about these issues. One area where artifacts are very visible, and completely eliminated, is on the shore around shallow water where ocean and terrain intersect.

In some cases it will be very obvious. For example, when using a very wide screen resolution:

 

 

This feature is disabled by default for the next couple of days to ensure that we convert all the necessary materials to take advantage of it. Feel free to give it a spin by using the “graphics.revz 1” command. Please mind any issues with it, we’ll have them sorted out by the weekend.

Mix Tweaks

I played for a bit on Thursday and Friday with a notepad next to me to test the new mix tweaks out in the wild. It was apparent pretty quickly that the ambience was a bit too loud and footsteps were a bit too heavy, so I fixed that along with a handful of other things I wasn’t happy with yet.

Fish Trap Sounds

I’ve added some new sounds for the fish trap for when it’s caught a fish. It was kind of tricky to find the right thing to record to get the leathery wet flapping element I was looking for, but I ended up getting the right sound out of a banana peel (and getting bits of banana all over the place). I layered those flapping sounds with some water splashes to get the final sound. I also recorded myself sawing at and cutting some meat, which will be used for fish gutting next week.

Physics Sounds

I started working on impact sounds for in world physics objects this week. I’ve been working on the implementation side of this mainly so far, tuning which sounds play when so we don’t get huge bonks when you lightly toss something on the ground.

I’ve started recording and putting some of the sounds together too. I’ve actually been able to use a lot of the recordings I did for our item UI sounds for these, but have had to record harder impacts with a lot of the objects since the item UI recording sessions were just picking up and setting things down.

I’m focusing on impact sounds first but I’d also like to add the ability to fade in a short loop if while an item is sliding across the ground.

Music

I’m digging back into music this week too. I spent some time writing more material (not quite ready to show that off yet, but next week!) and spent a bit of time experimenting with bringing separate music layers in and out instead of just switching between short clips so that we can react to intensity changes a bit more quickly.

Player Preview States

Some more animation ideas for state changes this week:

 

 

Player Animations Optimizations

This week I went over all of the third-person player animations and improved them to look more natural when walking/running. I also finished up the optimizations on the way the player animation system works.

I ran benchmarks comparing the old animation system vs the new one (on a scene with about 100 player models visible): there’s a noticeable improvement in the amount of memory the animations use and also the performance. When lots of players are on screen at once, the framerate should be much better than before.

Wood Armor Rework

I tried a different approach to some of the current armor this week. These are wood, where it would be sort of more of an armored vest, with sections that allow for more articulation and not bendy wood. This should allow it so fit better around other clothing items without all that crazy clipping and hovering sections. Being able to wear it over a thin underlayer like a t-shirt seems to make sense, but you couldn’t wear it over something like a thick winter jacket.

Washed-up Food rations

Another idea I worked on this week is some kind of loot that could be found washed up or floating in the sea: a food supply/ration box that players could used to give them a few provisions to help them along slightly in the early game. I’ll do another pass at these to tweak them slightly so you can more easily see them from a distance if they’re floating in the water, but these design are pretty close.

Changelog

Optimized and improved 3rd person player animations
More sound mix tweaks
New fish caught sounds for traps
Decay states save and load on server restart
Decay uses less server memory
Building block decay timer correctly resets when fully repaired
Fixed viewmodels spazzing out for one frame when deployed
Client load balancer pauses other work while network packets have to be processed
Fixed roof side conditional models occasionally missing on the client
Fixed entity pool warning when certain pine trees were destroyed
Repairing now requires all types of resources an object costs (instead of just one)
Fixed plant entity leak when their happiness was stuck around zero
Plant skins use prefab pooling for performance
Plant server convars actually do what they claim to do
Fixed planting and harvesting particle effect rotations
Added hemp seeds and hemp farming
Wild corn and pumpkins always spawn next to rivers
Reduced driftwood decor object density
Dialed back tint randomization of wild hemp
Fixed possible server side NaN / infinity positions of physics entities
Tightened valid cupboard placement angle
Fixed world models, ragdolls and debris ignoring cave triggers
Fixed server projectiles like rockets ignoring cave triggers
Fixed floating deployables in caves
Fixed turret line of sight check in caves
Fixed patrol helicopter and turret not seeing and firing through fences
Added anti hack kick counter to admin status command
Added another layer of fly hack protection
Added server side projectile speed verification
Powerline cables now cast shadows
Powerline cables are now affected by fog
Fixed seam in river transition to ocean caused by fog
Added halterneck and skirt
Silencer durability increased
Silencer damage reduction slightly reduced
Added water purifier
Can no longer codelock fish traps
]]>
Rust Devblog 109 https://rust-servers.net/blog/95/rust-devblog-109/ https://rust-servers.net/blog/95/rust-devblog-109/ Fri, 06 May 2016 18:21 CEST

Today’s update wipes the servers and brings some major changes to the procedural maps: there’s a snowier north, new mountains, and the power plant dungeon has been updated. We’ve also added fish traps, made cannibalism less appealing, and lots more.

 

Dungeon Art

The accumulated updates from April are going in this week, this includes quite a few of the buildings on the map. There’s a bit of them left to do, which will come end of may beginning of June. Performance in dungeons is likely to be a tad slower until I do a pass on LOD distances, hopefully for next wipe.

dungeons_art_051
dungeons_art_052
dungeons_art_053
dungeons_art_055
powerlines_003

Some of you heard of the door barricades this week from the Twitter bot. This isn’t (yet, and maybe never will be) something players can place themselves. It will be breakable entities that we will place around dungeons loot rooms to seal them, and have them respawn with the loot after some time. Like a good indication that a room hasn’t been looted yet.

Stack Size Increases

Remember how you used to have to throw away cans of food and charcoal because you simply didn’t have the storage space? Well no longer! I’ve went through and increased the stack size to 10 for most food items like Chocolate, Granola, Cans, and even Empty Cans. Charcoal stack size has been doubled to 1000 units, and 5.56 now stacks to 100. Enjoy!

Reactive Target Changes

The Reactive Target was kind of a bust. I checked out Rustafied’s main server and with 200,000 entities deployed, only nine were reactive targets. They just aren’t being used as much as expected to test out weapons, and part of that probably has to do with the cost and the usability. So what I’ve done is reduced the cost by 100 Metal Fragments, and I’ve also changed it so it auto resets six seconds after being knocked down. Maybe they’ll be a little more fun now.

Survival Fish Trap

While the survival changes have been very well received, there is still the potential for people to be unable to find food of any kind. I saw some pretty cool videos onYoutube and decided to go ahead and add our very first form of fishing to the game! It’s a default blueprint, and to use it you deploy it on the shoreline and add bait to it. Bait can be any type of food, but the important thing to know is the more bait in the trap the more likely it is to attract bigger fish. This is a good way to recycle things like mushrooms into higher quality food.

Rust_2016-05-05_14-20-37
Rust_2016-05-05_14-12-46

Salty Human Meat

Human Meat has long needed a negative attribute to discourage eating it. To this end, I’ve made it reduce your hydration by 40. It is still possible to survive on it, but you had better have a good water supply. I’m excited to see how this changes the game. Please stop eating new spawns.

Peacekeeper Mode

This is kind of an experiment to see if we can give players a place to meet up or trade. Basically if you own a sentry gun, it has an option to be put into ‘Peacekeeper Mode’: it will only target players who have a weapon out, or have dealt damage to another player recently and nearby. This means you could use sentry guns to make an outpost or area of the map where random, non-aggressive people can interact without worrying about being randomly killed or attacked. I’ll probably build a couple of these after the wipe on a few official servers to see how it goes.

Rust_2016-05-05_14-01-53
Rust_2016-05-05_14-24-34

Biomes

Snow is back. There’s more snow at high altitude and even some fairly large patches of snow in the north. It’s not the vast, samey arctic biome we used to have, but I think it’s a good compromise and a lot closer to what we want the north of the island to look like.

Mountains

Speaking of altitude, Petur and I combined forces to get some more mountain variety into the maps. What goes live this week is only part of our efforts since thebiome specific mountains we initially wanted to release need some more work, both in terms of optimization and visuals. That being said, you’ll definitely see a lot more variety than you did last week. Expect even more of this to come with one of the next wipes.

Resources

I continued my efforts to rework resource gathering. Ores spawning around rock clusters turned out to work pretty well, so I’m now doing something similar for mushrooms since food is starting to play a bigger role in the game. Mushrooms now only spawn on non-grassy ground inside forests. This means you can identify the general area where mushrooms could be found from far away instead of walking around aimlessly and having to hope for luck. Wild corn and pumpkins also work a bit differently now and should be easier to find and more common overall. This step also prepares us for some much needed balancing of the resource amounts, but more on that in a future devblog.

Performance

To help with performance I tweaked the bush and clutter rock spawn densities a little bit, which, depending on your hardware, should shave around 1ms off the frame time. Since I mostly got rid of bushes and rocks in parts where they weren’t very noticeable it shouldn’t decrease the visual quality of the world all that much either.

Last but not least, our testers spotted a loading time regression related to non-uniform collider scaling of cliff meshes. This is now fixed, which reduces both client and server load times by multiple seconds.

Audio Mix & Polish

I’ve been putting the finishing touches on the mix and polish changes I’ve been working on. I recorded 5-10 minute long audio reference clips from some games that I really love the audio work in and spent a lot of time listening back and forth between those reference recordings and Rust, making tweaks as I went.

We’ve got more variations for some common sounds now: each footstep type has eight variations instead of the four we had previously, bows and crossbows have multiple attack variations, raising and lowering ironsights has more variations, etc.

Gunshots and explosions will take over the soundstage in the game a lot more. We’ve been dynamically dropping the volume of background sounds and quieter world sounds for a while now, but I beefed this up a bunch and I think it sounds fucking awesome with the whole reverb tail spread thing we’ve got going on.

And on top of all this I’ve done a lot of small EQ and level tweaks and general cleanup to a LOT of sounds. Most of this stuff would be hard to notice on it’s own, but it all adds up and helps everything sit together a lot better.

There’s definitely still more we can do here, and I’ll continue refining all this stuff moving forward. I’m quite a lot happier with how everything is sounding now though and most of the sounds that have been bugging me for a while are fixed now, which feels great!

Female Clothing

I’m texturing the female clothing I started next week. The skirt is pretty much done, but haven’t got it in-game just yet. I want to really push the frayed look a bit more before calling it finished, in line with Paul’s concepts.

Fullview
ClothShirtFemale

Player Preview States

So it seems that people like this idea. Thanks for all the positive feedback so far. I was chasing a few bugs this week but here’s couple more anim ideas:

 

 

I still want to try others like dehydrated, fatigued, etc.

Someone pointed out they’d like to have an option to shuffle through idle stances in the preview. Although that sounds cool in theory, it’s kind of the opposite of what I want to do. Instead of showing random stances, I’d rather the anims give you a heads-up on how you’re surviving, so you can take appropriate action.

Changelog

Lots of audio polish & mix tweaks
New footsteps w/ more variations per surface type
More bow & crossbow attack sound variations
Bear/wolf footsteps are audible from farther away
Fixed movement being faster when walking diagonally
Fixed metal facemasks not always protecting against headshots
Procedural Map: Dungeon updates
Procedural Map: New powerline meshes
Procedural Map: New mountain types
Procedural Map: More distance between huge mountains
Procedural Map: Reduced water wave clipping
Procedural Map: More aggressive altitude based snow
Procedural Map: Snow patches of various sizes in the far north
Procedural Map: Micro cliffs can no longer spawn on roads
Procedural Map: Wild pumpkins and corn spawn more reliably
Procedural Map: Mushrooms spawn inside forests on ground patches with no grass
Procedural Map: Overall mushroom, pumpkin and corn populations are higher
Procedural Map: Airfield walls no longer float slightly above ground
Procedural Map: Fixed rivers sometimes intersecting with dungeon sewer systems
Procedural Map: Loading time optimizations (mostly cliff and monument placement)
Procedural Map: Reduced overall bush and clutter rock density slightly
Procedural Map: Tweaked the size of driftwood spawn patches
Procedural Map: World size is now clamped between 1000 and 6000
Many food items now stack to 10
556 stacks to 100
Charcoal stacks to 1000
Fixed helicopter gibs being destroyed by fire
Human meat reduces hydration
Added new Waterbarrel art
Reactive target cost reduction
Reactive target automatically resets after 6 seconds of being knocked down
Added Fish Trap
Added various fish meat and constituent products

Source]]>
Rust Devblog 107 https://rust-servers.net/blog/94/rust-devblog-107/ https://rust-servers.net/blog/94/rust-devblog-107/ Fri, 22 Apr 2016 22:56 CEST

We have a huge devblog this week: the first look at our upcoming facial expressions (grr, whoops, and serial killer*), water usage is expanded, and you can share benchmarks now from in-game. There’s balancing, clothing, deployables, puking, and loads more.

 

Facial Blendshapes

In an ongoing effort to make the players in Rust seem like living, breathing people I’ve been working on some blendshapes. These blendshapes combine normal maps and morph targets to try and get the realistic feel of skin and muscle moving over bone.

 

 

Primarily these will be used to indicate the state your player is in: if someone’s hungry and cold they’ll look depressed, or if they’re alone in the dark they might look terrified. There’s a lot of scope with this stuff, like the possibility of advanced emoticons or even your avatar displaying emotions of the words you’re typing in chat.

HairTaylor Reynolds

This is something that goes hand in hand with the blendshape work I’ve been doing. It’s also not necessarily an indication that beards and hair will be in any time soon, but it’s more a case of ensuring anything we do now with the player model will be compatible with hair in the future. These are early tests, mainly for checking that the hair works with motion on the face, specifically combining head variations with emotive blendshapes in an efficient way.

 

 

We’re using a rough mesh that Matt worked on a while ago and it’s still subject to performance checks so a lot could change. It’s worth noting that this work encompasses all hair, not just beards, so don’t worry if you’re female: you’ll get cool stuff too.

Salt Water

Further to last week’s introduction of the water barrel and bucket, I’ve extended the water system significantly. I’ve added Salt Water, which obviously comes from the ocean and is not for drinking. You can still put out fires with it, but taking a swig will damage you and make you spit up some of your water/food.

Fresh Water

Fresh water can be found at lakes and streams… basically any place above sea level. It works like the old water did: replenishing your hydration and giving you some health benefits. However, it has been nerfed not to provide any additional health beyond 40hp. I’ve also added a new item, the Water Jug, which is basically a larger version of the water bottle.

Survival Aspects

Further to the aforementioned changes, I’ve gone through and made some changes to the metabolism, specifically that you will lose a lot more calories by running through the world and using tools. You’ll also use up a lot more water from prolonged high activity levels and from being in the heat. If your hydration level drops too low you won’t be able to sprint anymore until you take a sip of fresh water and beat the heat. I’ve also halved the amount of calories/hydration a player can store on their body. These numbers might be off and may need some rebalancing, but you shouldn’t have too much trouble finding a source of fresh water as you can now drink directly from the world by looking down on any body of water and pressing E (avoid the sea, though).

Bota Bag

I’ve gone through and changed the Bota Bag to work similarly to the water bucket. This means you can fill it up at any water source and drink directly from it with left click, you can also pour it out to put out fires. It has a lid so you can store it in your inventory for later! I’ve also reduced the crafting cost to 15 cloth (instead of 100 and 30 animal fat, wow). As a default item it shouldn’t be too difficult to find the resources to craft one and stay hydrated. Swig on!

Bleeding Nerf

One of the things I didn’t like about bleeding was how quickly it killed you. Bleeding out in a matter of seconds isn’t really what I was aiming for, so I’ve gone through and nerfed this to do about a quarter the damage it did before. If you’re injured you might have time to actually craft a bandage or find help before you succumb to your injuries. We’ll have to see how this plays up and will probably need some more balance tweaks, I’ll be listening.

Water Capacity 

With the introduction of the Water Jug and the Bota Bag, I’ve doubled the storage capacity of the water barrel and the bucket to make them more viable for holding/transporting very large amounts of water. This will be more important in the coming weeks when we add a desalination deployable to the game (see Howie’s section).

Benchmarking

When we think we make performance better, we don’t have any way to prove it. We’re blind firing into the dark, hoping we hit something. That’s terrible. I’ve been talking for a long time about how we need to have a benchmark, and we need to run it on the same computers, on every build, over and over again. That way we can compare a changeset to a previous one and have hard evidence that one set of code is faster than another.

So this is what we’ve started doing. We set up a bunch of servers with hardware points we want to target (out of whatever was lying around). So we have a low specone, a mid-range one, an iMac, and a couple of others all running the benchmark on every version of Rust we build and posting the results to the website.

Then we can go on and see if results are consistent across builds.

So if we update Unity, we don’t need to ask around on reddit if performance is better or worse, we already know if there’s any change.

Share Your Benchmarks

You can get involved too: just open the game, open the console and type in benchmark. It’ll run a bunch of tests then open a webpage with your results. You can share the URL with your friends or with us to see what kind of performance you’re getting. Here’s my work PC. If you keep your results together you’ll be able to compare your results across versions, and flag up any performance changes with us.

The game’s performance has been totally shitty recently, and has gotten worse. This system was important for us to add– not only because it tracks positive changes–but it should also allow us to identify and rollback changes that make stuff worse.

The results of the tests are shown in milliseconds, where lower is almost always better. We’ll add more benchmarks over time: when we want to prove something to be slow, when we want to see if an optimization has worked, etc. Here’s a quick explanation of the current tests.

Player Model

Render and animate hundreds of player models. This speed tests our animation code, rig and mesh skinning.

PlayerModelRebuild

When a player model is shown for the first time, or when a player changes clothes, we have to rebuild the model. This could be a potentially slow process, especially when a bunch of sleepers spawn in, so we want to keep an eye on the performance of this.

Procmap.Gen

How long it takes to generate the procedural map? This is the huge majority of loadtimes on Rust right now. We want to improve this, we don’t want it to get worse. This is also very hardware specific in terms of times, ranging from 30 seconds to 3 minutes.

ProcMap.Normal

Render the procedural map with grass and decor, but no trees. It’s surprising to me how slow this is, because we previously assumed that bad frame-rates were down to the buildings. If it’s slow even without buildings, then we have problems.

ProcMap.noGrass

Lots of people complain that the grass is the cause of performance issues. This test is to prove that right or wrong once and for all.

ProcMap.NoDecor

Decor is things like bushes, flowers, driftwood. This test is similar to the grass test, we want to see how much these things affect performance, and whether they should be enabled or not.

ProcMap.Rain

Does the rain lower frame rate? It has historically, is that still the case? This test seems to suggest that having rain on improves the frame rate… which might be because of fog.

SkinnedMeshCollider

This test shoots a bunch of invisible bullets at a bunch of player models to test the speed of the hitbox generation. This is a potentially slow operation, and the same code is used for a bunch of different things that can potentially be called every frame.

Performance

I did some more work on performance this week. I fixed an issue where extreme frame rate drops could occur when looking at or near players in certain situations, which could even happen from far further away than the allowed interaction distance. There’s still some room left for optimization in the skinned mesh collider that’s used by players, but this was certainly the most extreme performance issue. I also eliminated frame rate spikes caused by our player mesh building and collision initialization whenever sleepers or players were being streamed in from the server, which happened pretty much all the time when walking around.

Self Interaction Menu

I added a new interaction concept called the ‘self interaction menu’. Up until now only networked entities could provide interaction menus, which could be used by pressing or holding down E. For drinking we also needed networkable interactions for static objects like rivers, lakes and oceans and the way I solved this was to add a self interaction menu to the player that can be accessed by pressing E whenever you’re not looking at another interactable entity. The self interaction menu options can be conditional as well, so for drinking we can do things like only showing the option when you’re near water.

This is currently only used by the new drinking mechanics, but we may find some other use for it in the future. Maurino’s section has info about the new drinking system.

Deployment Annoyances

I fixed some issues with our deployment system. The most annoying one being the fact that certain deployables were extremely difficult to place right, like storage boxes on shelves. I also fixed some exploits that could allow you to place deployables at angles that were far too extreme to make sense.

Looting Exploits

There was an issue with our looting line of sight check that allowed people to loot through tiny slits between building block colliders. This is now fixed.

Projectile Refraction

I’ve been wanting to add this for a long time now and finally got around to doing it this week. Projectiles now change their path in a fairly realistic way whenever they penetrate objects. How much their path changes depends on the surface and projectile.

Resource Collider Offset

I debugged an issue that made client side colliders of certain resource entities slightly offset compared to the server. This was the most noticeable on ore nodes, which occasionally made you rubber band when crouching on top of them, but could have been an issue for some other resource entities as well.

Chat Issues

There were a couple of issues with the way we rendered and recycled chat messages. This could cause performance drops when the chat was very busy and on certain modded servers people could exploit it to intentionally fuck up performance for other players or even cause their game to crash. All of that is now fixed.

Vomit Sounds

I’ve made some vomit sounds in case you’re dumb enough to drink salt water. I made a bunch of retching sounds with my mouth and recorded them, and then poured some chunky soup back and forth between a couple bowls and recorded that. I then took those sounds, chopped them up and layered them together. I also added a bit of water being thrown on grass (which I recorded for the water bucket last week) and some extra wet plops from me dropping a mashed up cantaloupe on the floor that I recorded a couple months ago.

Working on this made me really glad that I don’t have a weak stomach because they’re pretty disgusting.

Footstep Polish

I’ve recorded a few more footsteps this week. I’m pretty much done updating the regular shoe footsteps. Barefoot is next. There’s a bit more weight and clarity to them and a lot more consistency between different surfaces. I’m also expanding the number of variations we have for each surface type. We’ve got four per surface right now and I’m aiming to at least double that.

I’m working on this alongside the mix changes so you can’t hear these in game quite yet, but here’s a little preview of some of the new ones vs the old ones. They sound a little weird presented this way since the pauses between sounds are a little bit too long, but you can get a feel for them at least. You’ll hear the old dirt footsteps, the new dirt footsteps, old grass, new grass, old sand, and then new sand.

Audio Mix & Polish

I’ve been chipping away at the mix work again this week. I’m getting pretty happy with how everything is sitting together right now, so there’s a good chance I’ll merge this to the main branch next week and continue refining things as we move forward.

Dungeons Buildings

I just completed these buildings today and it feels good! It was representing a huge chunk of the dungeons greyboxed material (that some of you still believed was our final art). Some buildings are left to be done, such as the water tower and a few medium sized structures. Overall this is helping greatly with the look of most dungeons.

dungeons_art_039
dungeons_art_040
dungeons_art_041
dungeons_art_042
dungeons_art_043
dungeons_art_044
dungeons_art_045
dungeons_art_046
dungeons_art_047
dungeons_art_048
dungeons_art_049

Player Animation Overhaul

I finished converting all of the old player animations over the the new system I started working on last week. The new player animation system uses far less memory and is also much more optimized. This new system also fixes some issues where it wasn’t displaying where the player was actually pointing with 100% accuracy.

Bow/Crossbow Arrowheads

I set up the bow/crossbow to display different arrowheads depending on the type of arrow the player has equipped. The arrow heads were modeled by Tom Butters and come in five different flavours. Here’s a sample of what some of them look like.

unity_2016-04-21_07-59-32
download

Horse/Bear Animation Improvements

I went over some of the animations for the horses and bears and made some improvements to their attack animations. The new animations are much smoother and have more weight behind them.

 

 

 

 

Water Dispenser and Desalinator (Concept)

I’ve been working on some concepts for some of the upcoming player structures to handle water.

waterdispenser_01
desalinator_final

Water Dispenser

This week I’ve been working on the water dispenser that Howie concepted. It’s a deployable, so you’ll be able to stock up on as much water as you want. Thanks to Vincent for his awesome textures.

You can take it for a spin below too!

Weapon/Tool Harness (Concept)

I’ve been working on a primitive solution for attaching tools and weapons to players. We’re considering having the player spawn with a simple harness, so right from the get go they can sling spears and hang tools visibly off their body.

RUSTweaponharness1
RUSTweaponharness2

Female Cloth Clothing (Concept)

Now we have Taylor’s kick-ass new female models I thought we should look at adding some more female-styled wearables, starting with low-tier tribal type stuff that can be crafted quickly from hemp cloth.

Changelog

Added benchmarks
Added projectile refraction when penetrating objects
Added player self interaction menu (currently only used for drinking)
Improved the performance of player and sleeper streaming from the server
Fixed huge performance drops when looking at or nearby players in certain situations
Fixed deployment of boxes on shelves being annoying
Fixed certain deployables being placeable at unrealistic angles
Fixed a rare issue that could make code locks float when opening or closing doors
Fixed being able to loot through tiny slits between building block colliders
Fixed an issue that could make client side colliders have slightly incorrect positions
Fixed an issue that could make two C4s stick to each other and get stuck in the air
Fixed inconsistent bone scales between the player preview model and the player model
Fixed an issue where chat messages could overflow and use tons of memory
Chat message UI objects are now pooled (less garbage collection)
Fixed glitch causing glow on monument decals in OpenGL
Fixed sun flicker pattern on the horizon in OpenGL
Max Hydration halved
Max Calories halved
Bleeding damage quartered
Bota Bag can be filled from the world
Bota Bag cost reduction
Water does not provide health above 40hp
Moving around uses lots more calories/water
No sprinting when fully dehydrated
Increased storage capacity of Bucket/Barrel
Added Salt Water
Can drink from any body of water by looking at it and pressing E
Flamethrower finds ammo if put on belt

Source]]>
Rust Devblog 106 https://rust-servers.net/blog/93/rust-devblog-106/ https://rust-servers.net/blog/93/rust-devblog-106/ Fri, 15 Apr 2016 23:09 CEST

A packed blog this week: we’ve added flame-throwers (and water buckets) to the game, and we have the first look at the tech tree, the wrecked Powerplant tower, and our new musical instruments. Plus optimisation, sound tweaks, and more.

 

Flame Thrower

I really wanted to give you guys something extra to play with, so I stayed up until 6am getting this baby done. This was an interesting and difficult task to get right, but I’m quite happy with the end result.

 

 

It’s somewhat rare, it eats Low Grade Fuel like candy, but boy is it devastating. It’ll take out wood blocks no problem, it’ll also damage stone (for now) albeit at a very high fuel cost. It’s also great at cooking other players. Next week I’ll probably have to make a bunch of balance changes and fix some bugs as well as add some new functionality (like people actually catching on fire with damage over time), but I felt it was complete enough to push to the main branch just in time for this patch.

20160414151414_1
crpd
flambe

Please enjoy.

Water Bucket

The water bucket is now live as well. It’s found commonly in barrels and is in the BP frag tier. Use it to gather water from the world or to transport water from point A to B. You can also use it to splash an area in front of you with water, which will put out any flames. This should be useful when your base is under siege by Flamethrowers or Incendiary rockets. In the very near future it will play a major role in gardening.

252490_20160413005930_1
252490_20160413010058_1

Water Barrel

I’ve added a simple deployable to help with storing water. It doesn’t gather any from the world like the water catchers do, but it does give you a place to bank water for use later. It can be placed indoors or outdoors and is pretty cheap resource wise. The art is WIP and will be replaced with something a little better soon.

Rustafied_-_Google_Chrome_2016-04-14_15-23-30
Rustafied_-_Google_Chrome_2016-04-14_15-23-41

Barrels and buckets via Rustafied.

XP Branch

I cranked away at the XP branch this week: we have a working search now, the skin selection box scrolls, the craft queue scrolls, and the cancel button works. I also did a lot of work in making sure you could only craft stuff when the parent was unlocked, and trying to explain that to the end user. The search shows all items, even those that you haven’t unlocked, so hopefully you’ll be able to search for an item you’re thinking about and be able to find out what level you need to be to get it, and what you need to unlock to get there.

 

 

There’s still a decent amount of work to do here, but we’re edging forwards. The people on the prerelease server seem to be enjoying the new system, and Unity is doing a good job of getting 5.4 relatively stable. So we’re getting there.

Performance Improvements

We did some profiling and found a couple of bugs that could have caused the lower framerates experienced since last week’s patch. We aren’t sure exactly how much of an improvement you may see, but the CPU side of things was improved by several milliseconds due to a few regressions from last week’s procgen merge. There were some issues with thousands of ambient sounds updating constantly, and part of how the water reflections got access to the main camera was extremely slow. Both of these have been fixed. Fingers crossed you guys see an improvement!

Tech Tree Visualization

I fucked around with the tech tree visualization this week. One of the things with the new XP system is that blueprints are organised in a heirachy, so you have to unlock one item before you can unlock another. For example, you need to unlock the wooden spear before you can unlock the stone spear.

The problem is how to visualize this? How to show the player that they have to unlock these two items before they can unlock the item they want to? Or how to show the player that an item they want to unlock will unlock at level 7, and needs this item unlocked first?

I started off with a timeline looking system, where levels were expressed on the X axis.

This worked to a certain extent, but it ended up being too spread out. It didn’t scale well at all. So I thought, fuck the level on the X axis, bunch them all together and blue the icons out that we can’t spawn because they’re level locked.

This works from a technical point of view, but I can’t help but feel it is way to busy visually, which makes it pretty tricky to read. This is only going to get worse when we have to add indicators for stuff being locked etc.

So right now I’m leaning towards having the second mode, but only showing the tree that contains a selected item. It’s going to take a bit more experimentation to get right.

Tree And Mesh Quality

A while ago I added convars to ramp up the tree and mesh quality much higher than the default settings, but they were hidden from the user and only very few people knew about them. The tree and mesh quality sliders in the options menu now go up to 200, which unlocks some of that additional visual quality. I’ll see how this goes, but we’ll probably end up allowing even higher settings when we replace all those confusing sliders with more descriptive quality settings in the next options menu overhaul.

Light Scattering

Finally got around to push the light scattering updates I’ve been working on a couple of months ago. This includes directional light occlusion, which fixes fog being lit through mountains around sunrise and sunset. I also used this opportunity to fix a couple of scattering related issues with our cloud assets.

Weather

I fixed a regression that could make it rain without any clouds being visible and adjusted the cloud visibility during extremely foggy weather. I’m also using a new equation to calculate the fog density, which not only makes terrain fogging look a lot nicer but also makes it harder for people on sniper towers to spot people on the ground during foggy weather.

Entity Streaming Performance

I took some time to investigate the framerate drops people have been experiencing when entities spawn in from the server. I found and fixed a number of issues and things are starting to perform better again, but there’s still some work left to do in that department.

Dungeons Art

With the cooling towers art now over, I made a start on the remaining buildings. As I mentioned last week, one tower stands intact in Powerplant, while the other one has collapsed after what looks to be rocket damage from helicopter patrols. You can oversee pretty much half of the dungeon from the collapsed tower, but you can be seen from the central building as well. Overall the addition of the collapsed tower spot makes the central spot less OP.

dungeons_art_036
dungeons_art_034
dungeons_art_032
dungeons_art_031
dungeons_art_030
dungeons_art_033
dungeons_art_035

This will be part of the next wiping update.

Audio Mix

I’ve been working on the mix a bit this week, which has been awesome from a work-flow standpoint because the prep I did previously allows me to edit everything from one place. This essentially consists of making tons of tiny changes to the majority of our sounds to help them gel together better and sound more consistent. Like they’re really all part of the same world. I’ve also been putting final touches of polish on sounds that need it, beefing up some explosions, adding a bit more punch and low end to some gunshots, adding detail to localized ambient loops, etc.

Since I’m changing so many files I’m holding off on committing this stuff until it’s closer to being done, otherwise the rest of the team would be repeatedly downloading gigs of audio files which wouldn’t be very fun for them.

Water Bucket Sounds

I recorded a bunch of raw material for the new water bucket–literally playing about with a metal bucket I bought online–and then chopped, layered, and polished the sounds up and got them in game.

Footstep Recording

I also recorded some footsteps this week. I’m working towards replacing some of our weaker footstep sounds (like the overly clicky wood footsteps), adding barefoot/shoe variations, adding materials that we don’t have sounds for yet (gravel, wet ground, etc), and adding some accents that will be played rarely (twigs breaking in the forest, wood floors creaking, armor jangling). I’m adding these in as I work on the mix, so expect some of this to hit when that’s finished.

Player Animation Optimization

I’m doing a massive overhaul of how the player animations are done. The current system is really bloated and uses a lot of animations (which require a fair amount of memory). For each weapon the player can hold, I had a set of walk/crouchwalk/running animations, which drastically increased the number of animations required. To solve this, I’m going to use a single set of walk/crouchwalk/run animations and combine them with an upper-body animation depicting what weapon the player is holding.

I’m also making some changes to the way the mecanim layers are set up by combining multiple animation layers where possible. This should have a positive effect on performance and we should see a FPS boost when several players are visible simultaneously.

To give an idea of how complex the current animation system looks, here’s a before and after look at the mecanim chart.

Unity_2016-04-13_14-56-08
Unity_2016-04-13_14-56-31

I still need to add some more states, but the important thing to note is the simplification of the layers. The end result should mean a reduction in memory usage + improved framerate.

Eyebrows

This was something I was hoping I could hold off for a while and cover all hair in one fell swoop later down the line, but everyone looked a bit weird eyebrow-less so I took some time to give each variation a set. It’ll actually be a good indicator of how real facial hair will react to some of the systems we implement going forward, such as expressive morph targets on the face!

Racial Variations

I brought the Asian male variation into the engine, although you won’t be re-rolling your character just yet. We’ll probably sync a re-roll with a wipe to avoid the confusion of everyone’s face changing every week.

Planters

I worked on making planters after Howie masterfully concepted them. As the image above suggests, there’s two types: A 3×3 meter planter which would sit nicely on top of a single foundation, and a single row 3×1 meter planter. I still need to work on the LODs, but it’s pretty much done!

Take a whirl of them here!

Instruments

Remember this post on reddit? Well it inspired us to push the instruments further. Thanks, Dresdom! And so I’ve made some headway last week and this week on the instruments.

So far we have the Jerrycan guitar, the flute, and I’m almost finished on the horn. I was maybe thinking about doing another version of that in the same vein as Dresdom’s reference, but I thought we could probably utilise the bone resource more here.

Changelog

Optimized entity streaming performance
Optimized performance of entity parenting (especially door locks)
Optimized runtime performance in PVT and water related scripts
Optimized ambience system (especially in densely vegetated areas)
Optimized rock performance on d3d11 (disabled far terrain splats in blending)
Fixed light clone shadow unsupported format error
Fixed low quality skin shader level-of-detail
Fixed water frame delay causing black edges when rotating camera
Fixed variable luminance in player model preview on Hapis
Fixed terrain shader issues on some drivers
Fixed parallax (q=1) on blended rocks placed on steep hills
Added eyebrows
Tree and mesh qualities in options menu now go up to 200
Added directional scattering occlusion (more realistic fog lighting)
Added new fog density computation for better terrain fogging
Fixed a number of scattering related cloud issues
Fixed that it could sometimes rain without any clouds
Fixed that extreme fog wouldn’t hide the clouds
Added frame time when perf convar is set to 5
Driftwood no longer spawns on rocks
Fixed items being unlootable when rolling inside certain clutter objects
Added Flamethrower
Added Water Bucket
Added Water Barrel

Source]]>
Rust Devblog 105 https://rust-servers.net/blog/92/rust-devblog-105/ https://rust-servers.net/blog/92/rust-devblog-105/ Fri, 08 Apr 2016 01:10 CEST

The new player models–including females–are now in, and who you are depends on your SteamID. This update wipes the servers and your blueprints. Have fun!

 

Player Models Added

The new player models have been merged in less painfully than we’d imagined. This update brings aboard the new female models.

20160407200750_1
20160406172447_1

We understand this is a sore subject for a lot of people. We understand that you may now be a gender that you don’t identify with in real-life. We understand this causes you distress and makes you not want to play the game anymore. Technically nothing has changed, since half the population was already living with those feelings. The only difference is that whether you feel like this is now decided by your SteamID instead of your real life gender.

This is really just the first pass of an ongoing rework of the player model. I’ll continue to add variations over the comings weeks which means you’re probably not stuck with your new face forever. We’ve got a decent synced workflow between the assets I make in Zbrush and the assets you’ll see in-game now, so it opens up a lot of scope to easily add or change features without a great deal of technical faffing in-between.

20160407210959_1
20160407211512_1
20160407211118_1
20160407211601_1

Ceiling Light Improvements

1
22

Some people were saying the ceiling lights weren’t bright enough and kind of useless because of how little light they cast. I tend to agree, but the solution isn’t an easy one. You see, in real life the light would bounce off the floor and light up the walls making the whole room appear brighter. The problem is we can’t really do bounced lighting in real-time, so we have to settle for some hacks. To that end I’ve increased the spotlight angle significantly and increased its max range so it doesn’t fade out as quickly. There is also an unshadowed omnilight placed about a metre below the emission point which does a good job at faking bounced light and illuminating the walls. We do have to be careful with this because the wider the angle and the longer the beam, the more objects have to be rendered twice for shadow purposes. I think I’ve found a sweet spot so we’ll try it out like this and if it proves too slow we’ll have to dial back the max shadowed spotlights or come up with another solution.

Protop: Placing the lights higher up will illuminate an even wider area

Armor Fixes

Well, that was a disaster.

My armor changes last week kind of completely screwed with the game and it took me a while to figure out why. This also allowed for some open discussion about PvP and some further balance changes to be made to the Facemask. For the record we never actually intended the Metal Facemask to block all but 3-6 damage! The mask was supposed to protect about 80% of incoming damage,

Here’s what was supposed to be happening:

AK Damage( 40 ) * Headshot Multiplier( 2 ) * Protection( 1 - 0.8 ) = 16

Here’s what actually happened:

AK Damage( 40 ) * Headshot Multiplier( 2 ) * Protection( 1 - 0.8 ) * Protection( 1 - 0.8 ) = 3.2

Oops! We were applying protection twice by accident.

After I fixed it I realized it was still messed up, so we’ve reduced the Metal Facemask protection down to 0.5, effectively eliminating the headshot multiplier. The other helmet protections have been brought down to bring them in-line with this change and I think it’s a very good starting point. I’ll be listening for feedback, but so far so good. Another thing to note is I’ve increased the durability of the metal armor pieces so that they can absorb 10-15 shots before breaking.

Medical Fixes

I kind of hate the medical syringe. I think healing should require you to be out of combat or vulnerable for a bit, instead of pumping your arm full of Low Grade Fuel(???) on the run and blasting kids no-scope MLG style 5 seconds later. With that said, nerfing it down to only giving 5hp was not the solution. We need to come up with something else so I’ve kind of reverted this change a little bit. What I’ve done is increased the instant heal ability of the syringe to 15hp, but let it be stacked to 2. When I get some time I’ll revisit how the medical items work and come up with something better.

Grenade Usability

Remember how grenades used to suck ass in Rust? Well not any longer! I’ve done a pass on them and made them much more snappy and quick to throw (similar to what you may find in other first-person shooters) and their landing positions should be a lot more predictable. In addition to this I’ve tweaked the dud chances on the Bean Can Grenade so it fails a lot less often. I’m excited to see if people actually use these now

Grass Changes

The grass was a bit fieldy. It looked a bit too uniform and smooth, like this:

So I went in there and made it all messy and scraggly. We’ve always been inspired by STALKER, and I think this pushes us a bit more in that direction.

Transparent Surfaces & Fog – Final Round

I spent most of the week fixing all sorts of bugs, most graphics-related. This one really broke immersion in heavily fogged environments. The image below shows decals, which are semi-opaque in this case, being completely ignored by fog:

I fixed a few bugs like this in the past but for very specific shaders, like glass or particles. This time, however, a more complete fix will affect all semi-transparent shaders across our entire standard shader set.

Resource Gathering

With this week’s map updates I drastically changed the way you should go about gathering resources. Up until now ore nodes were scattered all over the map, with no particular place to look for them. This made resource gathering mostly luck, and the fact that they were pretty hard to spot didn’t help. Now ores are only spawning around other rock formations, so when you want to find them you can look out for a huge rock formation from far away, go there and check it for resources.

I believe this is how all resources should work eventually. You identify a place to scavenge/farm/gather a certain type of resource from afar, go there, and have a decent chance of success.

Map Updates

The next version of our procedurally generated worlds is now live. For a full list of improvements check the changelog at the bottom of the blog. Here are some screenshots.

Screen Shot 2016-04-07 at 16.27.40
Screen Shot 2016-04-07 at 16.31.45
Screen Shot 2016-04-07 at 16.38.11
Screen Shot 2016-04-07 at 16.42.39
Screen Shot 2016-04-07 at 16.48.18
Screen Shot 2016-04-07 at 16.50.44
Screen Shot 2016-04-07 at 16.51.59
Screen Shot 2016-04-07 at 16.53.55

I also added the procedural vegetation and rock clutter to all the handmade maps.

Lighting Improvements

Our lighting model has been missing environment reflections for a long time, which made all metals, skin and cloth look pretty horrific. The reason we couldn’t boost environment reflections until now was that they didn’t really play nice with indoor scenes. This week we took the first step towards changing that and brought back back environment reflections in the process.

To help mitigate some of these issues we added shader knobs for artists to simulate reflection occlusion by coarsely approximating the object’s self-shadowing.

The next step will be to add screen space reflections to our lighting pass, which should help us make the lighting in indoor scenes far more convincing.

We’re also researching the possibility of implementing a world-space large scale occlusion system, to complement screen-space ambient occlusion and reflections, that would effectively allow us to smoothly darken interior areas like caves and buildings, as well as fade reflections. If proven effective, it would help us solve a few problems.

Door Weak Side

Let’s talk about the melee attack weak side of doors. This was removed with last week’s patch and we’ve decided to leave it like this. Our reasoning is that the only scenario in which the weak side mechanic would actually be relevant was when someone didn’t know about it and accidentally placed a door the wrong way around. This was an easy mistake to make since for most doors both sides look basically identical. Unlike for walls where the weak side mechanic makes griefing significantly harder, it didn’t really have any purpose on doors other than fucking people over who didn’t know about it. So that’s why it’s gone.

Water Stuff (Next Patch)

 

 

As per the title, this will not be in game this week but hopefully next week. I’ve done some work on water in preparation for making fire a more important part of the game. You see, I can’t really buff incendiary rockets, or let you set people on fire, or let fires really spread in wood buildings, or have fire arrows, etc. until there is a way for people to put fires out. This also prevents us from taking farming to the next level (or actually usable in any way, shape or form) because we have no way of actually watering plants. To that end I’ve worked on a bucket item that lets you transfer water around and throw it on objects. It’s a little rough around the edges–the particles are sort of ugly and it’s missing some sounds and a few other features–but once this is in it will open the doors for us to work on a bunch of mechanics that have been missing from the game for too long.

State Of The XP System

We had some Unity related crashes last week which made it hard to get much of anything done on the XP branch. Given the fact that we were away at GDC and working on the XP system the past few weeks, we felt that the main game of Rust had some weakish patches. So we’re going to split our resources and I’m going to give some love to the main branch for a week before going back to work on XP.

It’s taking longer than we thought, but we don’t want to push something out that is half-baked. It needs to be completed and tested for a long time before we put it on Main, so we think it’s only fair that we give you some stuff to play with while you wait. Right now we’re looking at improving water as a resource, and as many quality of life fixes we can muster. More next week.

Dungeon Art

I started work on our dungeons buildings as promised last week. I first had to create the texture sets I was missing for the first couple of days, additional concrete, corrugated metal walls, etc.

What you can see here is one of the cooling towers that will replace the greybox models in ‘powerplant’. I am also working on a collapsed cooling tower (since we have two). The collapsed tower will possibly be harder and trickier to explore, but also easier to hide into during gunfights. More on that next week.

Changelog

Grass is rougher
Grass uses physically based shading
Added new player models
Added 30 minute idle kick if server is full
Fixed ragdoll stretching
Fixed player model being visible for 1 frame when ragdoll becomes visible
Ragdolls legs don't bend backwards anymore
Fixed local player sometimes holding multiple weapons
Fixed double deploy warning
Added specnet convar (for admins)
Fixed weapon firing etc when map is open
Fixed disappearing holosight
Switched back to post/overlay-based ambient occlusion
Improved reflection occlusion
Made reflection probes less dark
Fixed viewmodel shadow shader errors in legacy OpenGL/Linux
Faster water simulation
Thirdperson camera doesn't go through stuff
Thirdperson camera rotates with the target
Thirdperson camera mouse wheel zoom
Fixed bug where looking down above water could clip and show ocean floor
Added soft-particle fade to highest quality version of rainfall
Signs can be edited by the locker
Signs can be unlocked by the locker
Signs can always be unlocked/edited by admins
Train carriages and sedan vehicles updated in dungeons
Fixed pumpjack body disappearing in the distance
Player models blink
Player model eyes move
Fixed rockets only dealing half their damage to building parts
Fixed overly bright footprints and bullet decals on sand
Can enter codelock codes with keyboard
Codelock dialog doesn't show entered code (shows ****)
Fixed slight differences in projectile behaviour with varying frame rate
Fixed anti hack failing to detect players clipping into river rocks
Fixed rocks sometimes disappearing before buildings and players
Hemp plants and ore nodes are bigger and easier to spot
Ore nodes now always spawn around other rock formations
Tweaked the scale of bushes and small trees
Procedural Map: New forests
Procedural Map: New terrain texturing algorithm
Procedural Map: Better cliff mesh placement and more variety
Procedural Map: New clutter vegetation and rocks
Procedural Map: More natural looking beach terrain
Procedural Map: Better river generation
Procedural Map: Road width varies slightly
Procedural Map: Fixed rivers occasionally failing to be detected as water
Procedural Map: Optimized road and river vertex count
Procedural Map: Fixed occasionally visible hard edges on roads and rivers
Procedural Map: Mountains let other objects spawn around their lower parts
Procedural Map: Fixed midair rocks around river mouths
Procedural Map: Better rock cluster vegetation
Procedural Map: Fixed terrain lighting artifacts around certain rock formations
Added the new clutter vegetation and rocks to all handmade maps
Grenades are much snappier and predictable
Beancan grenades are more reliable
Fixed shelves being able to be placed inside eachother
Fix for being able to freelook while aiming
Item attachments are refunded when a weapon is used for crafting (sentry)
Ceiling light placement/floating bugfixes
Fixed metal facemask protecting too much
Lowered other helmet protection
Syringe heals 15 instantly and 20 over time
Increased emission of ceiling lights
Source]]>
Rust Devblog 99.1 https://rust-servers.net/blog/91/rust-devblog-991/ https://rust-servers.net/blog/91/rust-devblog-991/ Sat, 05 Mar 2016 00:34 CET

We’ve finally reached triple digits! Devblog 99.1. There’s more on the upcoming XP system and tech trees. We’ve added sexier tunnels, made some proc-gen tweaks, shrunk the default world size, and made lots of fixes and tweaks. This update wipes the servers.

 

XP System

Helk has done a first pass on the tech tree this week. This is the order, and the chain in which stuff unlocks as you level up. This is just a first pass, and at this point just shows intention. We’ll need to do a lot more playtesting to balance it out.

I had to go through an refactor a bunch of code this week. I wanted to add a stats system so we could trace when people were getting XP and how, and what they were spending it on. This helps balance out the system.

I spent a bit of time working on the UI too. I added a tool-tip system, which is proving to be useful. There’s still a lot of work to be done, but it’s getting to where I want it to be. Crafting is on its own window now instead of being crammed on the right of the inventory.

Timeline wise, we’re looking at 1-2 months to being able to ship this to the main branch. We’re determined not to push it until it’s done, we’re happy with it, and it’s polished.

There was talk in the week about the skills system, and a worry that people are going to level up and have 1000 health and 500 jump height. We’ve actually talked ourselves out of the three-pronged skills system as mentioned in the roadmap. We want something a bit more bespoke, that we can get real specific about.

Lock Changes

You know what sucks? When you open your door but you accidentally look at the lock and unlock it. Then you forget to lock it. And people get in your house. And then you email us about all the hackers that fly into your house and there was no way they could have gotten in without hacks.

So now when you look at a lock the default action is to control the door, to open or close it. If you hold down USE it’ll show menu options to change the code.

Websocket RCON

A lot of people are confused about the websocket RCON stuff I mentioned last week. They’re under the impression it’s a new UI for people to control their servers. It’s not. It’s a new way to talk to servers, a way that can be done in the browser.

This week I put a repository up on github with the source of a test client I’m making. This isn’t anything special right now: I’m mainly using it as a tool to visualize data from the XP system to easily spot problems, or just to query where someone got all their XP from.

Websocket_Rcon_-_Google_Chrome_2016-03-03_09-42-53
Websocket_Rcon_-_Google_Chrome_2016-03-03_09-44-55

Feel free to get involved and make pull requests. Especially if you’re a web developer and can make it not look like shit.

Item Specific Inventory UI Sounds

I’ve added some new pickup/drop sounds to items in the inventory screen. Loot is one of the biggest parts of the game, so I wanted to make handling your loot a little more fun and physical, and add another distinguishing layer to items. Right now these sounds are all material based and not actually specific to individual items yet, although I may do individual sounds for weapons.

I’ll be continuing this by adding sounds where this first pass doesn’t feel right yet (we only have a high-pitched metal sound right now, which feels wrong with things like the rocket launcher, for example).

Dungeons Art

I spent the end of last week reworking train yard and water treatment plant level design. To me, they suffered the same issues as powerplant (that I have reworked too) if not more: unbroken long line of sight with hardly any cover. Trust me, it won’t be perfect in this iteration as there’s still fairly long line of sight without cover on the WTP, but I have tried to put more thought into how I offer cover when transitioning from one side of dungeon to another. Most of it came through creating pockets in which you will feel more safe/self contained, until you decide to transition to the next one. There’s still a big advantage in all dungeons to the players who can reach vantage points. I’ll be observing these and if they do need a nerf I’ll balance them out.

dungeons_art_019
dungeons_art_020

I also finished for good my first pass on sewers, after last week I still had two big rooms to finish, they were a bit more unique than the rest of the kit, so I kept them for the end.

dungeons_art_021
dungeons_art_022

Explosive Round Damage Fixes

There were a few bugs with explosive rounds that have been fixed. Firstly, they were doing double damage to some objects, namely the double doors. Secondly, they were not dealing splash damage to the target they directly hit, which meant you had to sort of aim away from something to deal explosive damage to it. Both of these issues have been resolved.

Decay Repair Fixes

Let me explain how decay works (for objects it applies to): basically there is a Decay Duration and Decay Delay. Let’s say something has a Decay Delay of 8 hours, and a Decay Duration of 24 hours. This means that after 8 hours, it’ll start decaying and over the course of the next 24 hours be reduced to 0 health. Opening or closing doors resets the Decay Delay in a radius of 40m around them. This way a base that is frequently used won’t have things decay around it. Unfortunately this isn’t enough, and decay really needs to be redone soon, but for now I’ve also added it so when you repair an object it resets its Decay Delay just like doors do. This should help with maintaining external walls.

Lagged Out Weapon Issues

For the longest time, when someone’s connection was interrupted (perhaps on purpose, perhaps just from a CPU hang) and then re-established, the server would go ahead and process all sorts of data in one go. This means you may have seen someone running and shooting, stop for a second, and then all of a sudden a shotgun-like blast of bullets comes out of them when their connection is re-established. I put an end to this today! We’re now tracking weapon re-fire rates on the server properly, and if you try and fire faster than you should we reject those packets.

Character Rework

One of the biggest issues with the current character is no-one really feels like a living, breathing person. A big step towards that is having some believable facial animation, even just having some subtle eye movement can go a long way. I had to make some amendments to all the heads this week to account for the new teeth meshes, so I took the opportunity to throw in some eyelid bones and properly align the old eye bones. The result of this means the eyelids will follow any eye movement in a realistic manner. I’m no animator, but some quick tests already look quite convincing, and give some indication of what a more fleshed out facial rig could achieve.

 

 

Smaller Default Map Size

I reduced the default world size from 16km2 to 9km2. Server owners can of course still set the world size on their end and go back to the bigger maps if they prefer those. The reason for this change is that we ran a few official servers with 4km2 maps and quite liked the gameplay they offered. I think with the old map size most people never actually got to see all parts of the server they played on within one wipe cycle, and the smaller maps feel a lot more engaging due to the higher frequency of player encounters. Anyhow, this isn’t set in stone and will probably be tweaked some more in the future, but let’s give it a shot and see shall we?

Rock Improvements

I took another stab at our procedural rock group spawns. They’re now more clustered and spawn small clutter rocks around the bigger ones.

Screen Shot 2016-03-03 at 13.46.24
Screen Shot 2016-03-03 at 13.26.25
Screen Shot 2016-03-03 at 13.27.22
Screen Shot 2016-03-03 at 13.27.52
Screen Shot 2016-03-03 at 13.30.43
Screen Shot 2016-03-03 at 13.32.25

Procedural Map Fixes

I fixed a decent amount of bugs in the procedural maps.

  • Fixed floaty arid/beach trees
  • Fixed rocks sometimes spawning on warehouse
  • Fixed rivers sometimes intersecting warehouse
  • Fixed occasional sawtooth terrain glitch around monuments
  • Fixed rivers sometimes starting at insane slopes
  • Fixed a number of rock formation prefab issues
  • Fixed missing icebergs
  • Fixed small static rocks occasionally spawning midair

Invisible Forcefields at Dungeons

We had some reports of people being able to take out the helicopter by staying in the dips and valleys at the dungeons without taking fire. Turns out the trigger that is used to let players go beneath the terrain was on the wrong layer and was blocking all server projectiles. This also meant that rockets would not pass through these layers. This is now fixed.

Water 2.9

We’ve had some issues related with ocean tessellation for over sometime now: fog mismatch with the rest of the environment, lack of wave displacement further away and z-fighting. To support all kinds of hardware our mesh tessellation had to be static, which is fine for what we need. The problem is that we weren’t getting the most of it due to our simplified model.

To address those issues I decided to switch to a better mesh distribution that uses camera as reference. All detail is now concentrated within the visible area and better laid out across the frustum so we can now get displacement all the way from beginning to the end of the camera view. I also toned down the simulation to reduce single direction waves.

Unfortunately, it didn’t do as much for z-fighting as I hoped for and we’ll have to take more drastic measures to solve this problem.

Rad Boar Concept

Tom’s begun work on sculpting up the rad boar. This week I took his starting base model and painted over it, developing the idea a bit further as to how the skin should look and overall anatomy of the thing. We don’t want these looking like cartoony MMO mobs; we want realistic tumours/skin diseases and warped skeletons/bones. I like the idea of creepy, expressionless eyes. We’ll probably bounce back and forth on this solving problems until we get an awesome (disgusting) end result.

Next Week

You might not see much from us next week. We’ve decided to start doing 20% time studio wide. We’re starting this with a week-long break from our main projects to experiment on anything we want. This will probably turn into a day every week in the future.

Some people are using this to make prototype games they’ve had idea debt over for a while, some of them are using it to sharpen their tools by learning new skills. These are previously things that people have been doing secretly at night or on weekends, to avoid the guilt of abandoning their main project. Which is bullshit.

Either way this shouldn’t be seen by the community as something that is done to the detriment of Rust, as I’m sure it will be regardless of what I say here. This is us making ourselves better.

Oh also, the week after we’re all going to GDC, so we probably won’t get anything done in that week either. But don’t worry: I’ll post about why you shouldn’t freak out about that in next week’s otherwise empty devblog.

Changelog

Fixed fuel not being refunded when overspill when dropping on items
Now force disconnects from server when trying to join another from UI
Lock inherits door options
Default option on lock is to open/close the door it is attached to
Fixed ragdoll head stretching
Linux dedicated server creates log files properly
Rcon responses aren't printed to the console/log files
Added admin.bans (returns json list of bans)
console.log, console.search respond with json
Asserts show up red in the server console, have a log file
Updated to Unity 5.3.3p1
Added Impact sounds for chain link fence building parts
Overflowed large furnaces shoot items out of the chimney
Tweaked volume of bush/tree ambient sounds
Fixed building privilege sometimes staying after death/server restart
Added item specific pickup/drop inventory ui sounds
Conditional colliders once again update on server restart
Dungeon art and design update
Reduced default map size to 3000 (from 4000)
Improved procedurally generated rock clusters
Tweaked road and powerline generation
Fixed floaty arid / beach trees
Fixed rocks sometimes spawning on warehouse
Fixed rivers sometimes intersecting warehouse
Fixed occasional sawtooth terrain glitch around monuments
Fixed rivers sometimes starting at insane slopes
Fixed a number of rock formation prefab issues
Fixed missing icebergs
Fixed small static rocks occasionally spawning midair
Updated HapisIsland


Source]]>
Rust Devblog 99 https://rust-servers.net/blog/90/rust-devblog-99/ https://rust-servers.net/blog/90/rust-devblog-99/ Fri, 26 Feb 2016 22:24 CET

Reactive targets, sexier dungeons, the upcoming XP system, a closer look at female player character, and lots more.

 

Music

More music this week. I’ve been looking at screenshots of sunrises in Rust while writing this one. I’d still like to add another melodic element that can switch off with the main lead sound, spice the drums up a bit more, and expand the higher intensity sections, but I’m pretty happy with where it’s headed so far!

Websocket RCON

By default we use an RCON system that works a bit like the Source Engine protocol. This was done this way so we could use existing tools. It’s a well-used, well-documented protocol, and everyone knows how to talk to it.

Websocket RCON is the future. It works pretty much the same, except any browser can communicate directly with it. The benefits of this are pretty self explanatory. You can make a comprehensive RCON tool in your browser with a single html file. No need for a server back-end.

This new system doesn’t sit side-by-side with the old one, but replaces it, so it’s disabled by default. To start your server with websocket RCON add “rcon.web 1” to the command line.

My hope is to have a simple, open source web app on githubpages that the community can contribute to, which anyone will be able to use from their browser on any device or OS within the next couple of weeks.

Reactive Target

The reactive target deployable is in. It’s not a game changer or anything, but it should be a fun addition for those who want to set up killhouses or target ranges. It has the added bonus of needing to receive the same damage as a player to be knocked down, and the bullseye does headshot equivalent damage and has a special particle effect to notify you. After it’s been knocked down simply press E on it to raise it back up and use it again.

 

 

XP System

I’ve made the XP system live on the pre-release branch. It’s a bag of shit right now, so don’t bother trying it yet. It’s running on Unity 5.4 beta, so it’s particularly crashy. My guess is that they’re looking to release 5.4 in time for GDC next month, so it should hopefully stable up by then. Having Rust running on it and highlighting the crash problems should also make both products better.

One thing I want to address this week is the fear that you won’t have to loot anymore. Players are concerned that they’ll no longer have to explore and loot because they can learn blueprints by gaining XP. This is true for the most part.

Our intention is to make loot more relevant in other ways. Right now a lot of the stuff in Rust is crafted out of raw resources like wood, metal etc. We want to make that more logical. Say you want to craft the Tuna Can Wall Lamp: you’ll need to find a fork and a tuna can. You can’t just magic those up, you need to find them in loot. This would serve to make the sophisticated late game items more precious, because you’ll have to find rarer components.

Linux Server

The guys in Slack got the Linux server working, and I applied their changes to main. You should now be able to download the Linux server and get it working right out of the box.

We’ve had one of our official servers running for a week on Linux now, and it seems just as stable as Windows. I can’t confirm any other memory or CPU benefits to running the server on Linux, since it was a fresh server it’s hard to compare.

The biggest benefit to running a Linux server is that it’s free, which can be a significant saving depending on how many servers you’re running, and where you’re hosting them.

Dungeons Sewers

Ready for more progress on the dungeons? This week I have sewers for you (see the header image, too):

dungeons_art_015
dungeons_art_011

Some aspects in these screenshots still require more work: the decals in particular. We need to write a decal shader that can read shadowing information from the scene to avoid the odd lighting showing on them. Such a shader should also help with reducing the Zfight that the decal meshes currently produce (when the picture depth buffer lacks precision surfaces start to flicker). We also need to work out some kind of vis-area volumes soon in order to cull the exterior meshes when we are in tunnels because direct light goes through the terrain into tunnels and it looks like horseshit. Once we get all that sorted out, we’ll be able to lay some more interesting atmospheres in interiors.

Dungeons Pipelines

I also completed the pipeline set art this week:

dungeons_art_018
dungeons_art_017
dungeons_art_016

Load Balancing Improvements

In Rust we use a load balancer on the client to do any work that can be delayed in a way that it doesn’t take too much time per frame and instead tries to distribute the workload over multiple seconds. Over time more and more stuff was thrown at this system and we ran into problems where the backlog queues would grow too massive on old hardware, especially when flying around in admin mode. To fix this I made the load balancer a bit smarter this week. It now takes more time per frame the longer the work item queues are getting, which should make huge backlogs a thing of the past.

Stability Warmup Retirement

I pulled the trigger on completely retiring the stability warmup on server start. If you remember I added stability serialization a couple of weeks ago which made the server startup a fair bit faster, but we kept an initial stability check around to make sure everything was working correctly and allow people to load up old savegames that haven’t stored any serialized stability values yet. With this check now being gone the server restart time should improve quite a bit.

Kill Means Kill

This one really got Twitter excited. The idea behind making the kill command injure you the first time you enter it and kill you the second time was to disencourage people from using it all the time. However, it really didn’t change people’s behaviour at all and was simply annoying. From now on when you enter kill in the console your character dies immediately. To those of you who now think it’s the end of the world as we know it because they liked to enter the wounded state to annoy people: There’s been a command to enter the wounded state for a while, it’s called injure. While I was at it I also fixed the issue that your active item didn’t drop when you died without entering the wounded state first, which has been bothering me because it meant you sometimes had to look for a weapon on the ground and sometimes you didn’t.

Player Model Variations

I finished a female Asian head variation. I might make a few tweaks in the texture, and I’d like to take a look at how I handle the eyebrows across all of the heads eventually, but it’s close to being ready for now.

Player Model Teeth

The new player model’s got a new set of teeth. Should have them finished and in game by the end of the day.

Ambient Occlusion Improvements

I made some changes to the way screen-space ambient occlusion works to integrate it better with Unity’s physical-based lighting and avoid overshadowing in direct lit surfaces. Screen-space AO is now merged with texture-based AO in the appropriate stage of lighting since they represent essential the same effect just at different frequencies. A nice upside is the elimination of that persistent grass darkening we’ve had for a while:

Female ClothingTaylor Reynolds

Garry implemented the female clothing system, so female players have their own sets of certain clothing items. It’s only a subtle change but it can make a lot of difference recognising player silhouettes, plus it won’t look like they’re wearing body armour under their t-shirts.

Icebox (Concept)

If we take food preservation in a more realistic direction I think some form of keeping your food cold will be necessary, so I did a few concepts for an icebox.

Wall Mounted Spinner (Concept)

Players are creative and often create their own games inside Rust that were never intended. This idea is meant to act as a tool to facilitate that. I’ve imagined a few ways I could see players using a paintable wall spinner, but I’m sure people will come up with many more creative uses for it.

Entity Destruction Tracking

If you’re not a programmer you can probably skip this section or read it when you’re having difficulty falling asleep.

Something most people find weird when they get started with Unity is the way you tell the engine to destroy stuff. There’s one destroy method for everything, no matter if it’s a game object, component, script or in some cases even a prefab or asset. You can call it directly in any MonoBehaviour or ScriptableObject or, since it’s a static method, on any of the Unity component classes. The problem with this is that you really have no way of getting any sort of errors when doing things you shouldn’t do. You can call Texture.Destroy(gameObject) and nobody will complain, because what you’re really doing is Object.Destroy(gameObject), you just might not be aware of it. You can also do GameObject.Destroy(this), which won’t actually destroy the game object but the current script component. And then one day you’ll write a huge project with networking and custom script events instead of the built-in Unity ones, and at that point you might need to do some cleanup before OnDestroy() is called so you add your own Kill() method. Everything’s awesome until someone, somewhere calls Destroy() instead of Kill() on one of those entities. Even if you detect this in OnDestroy(), you won’t have the stack trace to check where the error originated from since OnDestroy() is actually delayed until after all frame updates have been executed. This is pretty much what we ran into last week and debugging it wasn’t exactly the most fun we ever had.

To make this easier in the future and most of all get some sort of error the second we commit incorrect code to the dev servers I added our own destruction methods that can tell us when we’re doing silly things. Let’s hope this will save us some time in the long run, and if you’re a game developer working with Unity seriously consider doing this sooner rather than later.

Bigfoot (Concept)

This week I was thinking about types of creatures that might be cool in Rust–apart from animals–and thought that stuff based around urban myths. So I worked up an idea for Bigfoot, but with a bit of a different spin from the usual ape look.

He is more of a humanoid mutated to be larger and hairless from radiation and toxic chemicals, maybe even a science experiment gone awry. I like the idea of these irradiated creatures having some kind of inner glow visible only at night that shows the weakpoints needed to take them down.

RUSTmuantBIGFOOT1a
Photoshop_2016-02-25_13-33-25

Changelog

Added websocket rcon
Fixed Thomson skin icons
Updated EAC
Rcon things during load
Linux server now works (!)
Added reactive target deployable for target practice
Added entity destruction tracking (error when destroyed incorrectly)
Fixed armored foundation steps removing the sides of attached foundations
Fixed game object hierarchy errors caused by pooling when disabling player models
Completely retired stability warmup on server start (much faster startup time)
Load balancer takes more time per frame when working off large queue backlogs
Made the kill console command kill immediately (instead of entering wounded state)
Fixed active item not dropping when killed without entering the wounded state first
Removed dynamic memory allocations from the deferred decal refresh
Added decal.cache convar (refresh every frame vs. only when marked as dirty)
Fixed trees, ores, barrels and collectables sometimes spawning midair near rocks
Fixed cargo plane propellers not fading into fog
Source]]>
Rust Devblog 98 https://rust-servers.net/blog/89/rust-devblog-98/ https://rust-servers.net/blog/89/rust-devblog-98/ Sat, 20 Feb 2016 00:30 CET

The long wait is over: we’ve added server queues! We’ve also been revamping Hapis, adding right-click to the inventory, concepting rad animals, and optimising. Always optimising.

 

Music

Spent more time on music this week! I’ve always had a tendency to write darker, moodier music, but that sometimes doesn’t feel right in game if you’re strolling through a green grassy field on a sunny day, so this one’s trying to get away from the super dark vibe without losing the hint of tension and mystery that feels like Rust to me.

I’ve been playing Rust a bit with the songs I’ve been writing playing in the background and most of them feel pretty good. Some are a bit too busy and feel like there’s a little bit too much going on once the game sound comes into the picture too, so I’m steering the music in a slightly sparser direction now. I’ve started cutting the fat from some of the other songs, pulling atmospheric elements out of the tense drum sections and things like that.

XP and Levelling

I’m hitting a roadblock with the development of the XP and levelling system. It’s getting to where I can’t develop any further without playing it properly. So pretty soon — maybe this week — I’ll be pushing it to the pre-release branch.

It’s still pretty rough, as I’ve been fighting with the internals, but it’s very important to see how it plays and iterate on that. So if you do join the pre-release branch and think it’s a big, stupid mess, please appreciate that it’s not always going to be a big, stupid mess.

Connection Queue

Since we got popular again a lot of people have been asking for a connection queue, so they don’t have to keep spamming the join button to get on their favourite server. This now exists.

This comes with a couple of extra benefits to server owners: Maxplayers is now somewhat dynamic, and you can change it while the server is running. Making it lower than the number of players on the server will mean that anyone else that joins will be put in the connection queue until the player count is lower than maxplayers.

Another benefit is that server admins jump the connection queue. So if you’re running a 200 player server and you want to join to check on some suspicious activity but it’s full, you still can. The server will just be 201/200.

Right-Click Inventory

You know how you can right-click loot to automatically copy it to the inventory? Wouldn’t it be great if you could right-click items in the inventory to automatically copy them to the loot? Well now you can do that.

If you don’t have any loot open and you right-click something in the clothing/belt bar, it will try to move it to the main inventory. This is particularly useful if you’re dragging something with the left mouse button, because you can right-click to move items in the belt without dropping it.

Shoreline Improvements

Between helping to get Rust ready for Unity 5.4, I made improvements to shoreline interaction. Objects like rocks and driftwood now feel wet and more connected to the surrounding water. Every bit helps.

A larger problem I’m also working on, which should be ready next week, is the very distracting z-fighting happening between the shore terrain and ocean surfaces.

Conditional Models 2.0

The new conditional model system is finally done and it seems to be working really well from what I could see on the staging servers. To recap, the conditional model system is the thing that changes the appearance of building blocks depending on what other building blocks they’re connected to. The old implementation used physics queries quite excessively which led to reduced performance and caused quite a few glitches. It didn’t support batching, couldn’t run on the server, and was only evaluated on objects that were very close to the camera since it was too slow to process and render for all building blocks.

The new system fixes all of those issues and should allow us to do some really interesting stuff in the future. The fact that it supports batching and doesn’t rely on physics queries improves client side performance around huge player-made structures. The fact that it can run on the server allows us to update the roof collider together with the roof visuals, which fixes the invisible roof side walls. The fact that it’s much faster to process and render means we can run it on all building blocks rather than falling back to a generic mesh in the distance. All of this also means we can, for example, remove the sides of foundations where other foundations connect, which reduces the overall vertex count of buildings quite noticeably. A number of building meshes, like the wall corner pieces, will need updating to get the most out of this new system visually, but until then you can simply enjoy it for the fixes and performance improvements.

Hapis Revamp

Hapis Island, while never being perfect in the first place, has unfortunately been degenerating into a mess over the last few months. There are a number of reasons why this happened, things like us changing the way the terrain materials blend, and retroactively changing the already-placed rocks that were all over the map.

On top of that, the map always suffered from ugly, under-spawned areas, because the sheer size of it means it is a massive time sink to flesh out.

I am tackling all those things at the moment, so expect an overhauled Hapis map after the next wipe. It still won’t be perfect, but it will be a lot better. Here’s some before and after shots.

Entity Destruction Lag

Entering and leaving networking groups has always been one of the primary causes of stuttering in Rust. Things even seemed to have gotten worse over time, so I decided to sit down and profile it all this week. The first thing I noticed was that especially leaving networking groups seemed far too slow for what it did. The good news is that I was able to eliminate the major reasons for that by getting rid of a bunch of entity destruction callbacks and balancing the load of massive entity counts in a networking group over several frames, making the process of leaving a networking group orders of magnitude faster (think milliseconds per frame rather than seconds in some cases). I’m not even close to being done with all the potential optimizations we can do in this area, but at least I made some good progress this week and the results should be quite noticeable.

Building Streaming

A long standing issue with the way we stream buildings into the world was that there could be situations where certain walls were invisible while their skin was loading, which could potentially be abused to look inside buildings. Since buildings tend to get more complex the more stuff we add, I felt like I should address this now rather than later. I added efficient placeholder geometry to all building blocks, which is rendered until their correct skin and conditional models have been loaded.

Dungeons Art

Sets of smaller objects done this week: I have the industrial ladders and staircases/overhangs done. I also took a couple of days to better the road textures and models, and add a few longer segments to avoid repetition and to reduce drawcalls. Overall the roads should look more real in the way they are broken up, less like the result of an earthquake (as it was looking like before).

dungeons_art_010
dungeons_art_009

I’m working on the pipelines set, and I should have that done by the end of this week. Nothing to show on that for the moment though.

Potted Plants (Concept)

More decoration ideas. I thought it would be nice to bring a little life indoors.

Pets (Concept)

After giving one of the potted plants a name (in the concept above), I thought why not have caged pets to give names to?

Placeholder Sounds

The placeholder seed planting sound is finally gone so you can stop having a heart attack every time you plant a pumpkin now. Same with the spear.

Player Rework

I’ve mostly been working on the LODs for the character this week, so there’s not a lot to show. You might have noticed that currently all the heads look the same from a distance, this is because there’s only one set of LODs for all the head variations. The heads now all share LODs, but retain the differences in shape which is easily applied to any new variations I’ll do. The new ones are also a lot cleaner, so no more partially severed hands or gaping holes in the neck!

Rad Animals (Concept)

I’ve been working on some more early stage ideas for rad animals. Rather than have them as lumps of walking meat, with some random pool of health that you whittle down, we thought it would be cool to explore different behaviours and methods of killing them that would provide advantages to taking them on in groups, but also reward skilled solo players. One idea is there’s weak points on the animals, where their skin is thinner and so emanates a radioactive glow, with larger spots on the back/sides that would enable teams to attack them. There’d be smaller, harder to hit spots on the front that accurate solo players could exploit. A feature of these weak points is that might also become more visible during the night, meaning that the time of day that you hunt or are hunted by these things plays a factor in how easily you can see and target these weak points.

radbaordpaintover1a2
RUDTradbull2a

Radiated Boar (Concept & Model)

Paul concepted this beast of a boar/pig and I took stab at it: take a look!

Paul concepted a newer, more menacing version of it (above). The idea is that the glowy radiated pustules are weak spots (no pun intended) where most damage will be dealt. We want to push more of the deformed, asymmetric limb look to the irradiated creatures. I’m working on the newer version as you read this, and progress is going well. Looking forward with more updates soon!

Crafted Mortars (Concept)

Another idea that I wanted to explore was disposable, one-time use weapons that enables players to utilise higher tier ammo–such as rockets–with limited resources. It’s something that could potentially give weaker players the edge in a fight against a more prepared enemy. First idea that I thought would be cool for raiding is mortars made from some basic materials. These could fire rockets, or even their own kind of improvised ammo.

Tree Improvements

Our trees also suck right now. You know it, we know it. A lot of it has to do with how crappy the billboards look, but that will be improving somewhat after the next wipe, as billboards will then have proper canopy translucency, instead of just glowing in the dark like I don’t know what.

Wood Hammer View Model Animation

The main pose for the hammer had annoyed me for while. It seemed really ‘wooden’ & upright, so I went in and changed it. I also tweaked the rest of the other animations while I was there, including a new deploy (complete with new SFX).

 

 

Changelog

New seed planting sound
New spear throw sound
Added connection queue
Right clicking items with loot open moves them to loot
Right clicking items in clothes slots moves them to the inventory
Right clicking items in the belt bar moves them to inventory
Fixed unreliable saving
Improved and tweaked terrain shore wetness
Beachside objects, like rocks and driftwood, now getting wetness
Updated wood hammer vm anims
Added new building conditional model system (performance, reliability, visuals)
Reduced stuttering caused by entity despawning when leaving networking groups
Added placeholder geometry to buildings while their skin is loading
Load balanced worker items are processed by priority
Made mesh batch refreshes faster in certain situations
Made external walls and window bars use the simplified building block entity
Converted entity events from OnDestroy to DoEntityDestroy (modders beware)
Retired “Construction Skin” physics layer (modders beware)

https://playrust.com/devblog-98/]]>
Rust Devblog 97 https://rust-servers.net/blog/88/rust-devblog-97/ https://rust-servers.net/blog/88/rust-devblog-97/ Fri, 12 Feb 2016 18:57 CET

Lots of balance tweaks this update: external walls and masks are no longer OP, while the Code Lock takes a buff in damage dealt. There’s the first look at the flamethrower in-game, though you’ll have to wait a little bit longer to get your fingers burnt.

 

Music

More music this week! This one’s most of the way there, but needs a little bit more work still. The brass part needs some love, and the drums could be a bit more tense in the later parts (which would be the more intense parts when this is dynamically arranged in game).

Code Lock Brute Force Exploit

Some brute force codelock guessing scripts have made their way around the cheating community and there’s been quite a bit of noise made about it. We looked into it and found several exploitable problems, so these holes are now sealed. You can no longer do anything with locks while dead, and every time you guess wrong you will take a bunch more damage: first time is five, then 10, then 15, etc. If you stop trying for a while the damage will reduce back to five. This should make it virtually impossible to brute force guess a combination in a remotely reasonable amount of time. If it’s not enough we’ll adjust the values, but I think we’re good for now. Sorry about that everyone!

 

 

Metal Facemask Nerf

Well… this was enlightening. I guess when we adjusted the skeleton damage multipliers we forgot to take some armor into account. I’ve lowered the bullet protection value of the Metal Facemask by about 20% to bring it in line with the chestplate. This should mitigate the “taking six headshots without dying” issues with armor until we add per-attire health values in the near future.

External Walls & Gates Balance

I took a look at the health and armor values of the external gates and walls and to my surprise they were completely out of whack. They had no building shell protection and their health seemed to be artificially inflated with temporary numbers to compensate for that. It should not take eight C4 and 16 rockets to destroy these things. Their entire purpose was to be able to build a compound without having to place foundations and walls. To that end, I’ve drastically reduced their health and added building shell protection to them. What this means is you won’t be able to pick through them as effectively, but Stone will also take only three C4, and wood will take 1.2 C4. I think these are far more appropriate values, but I’ll listen for feedback and adjust as we go. I’ve also slightly inflated the cost of wood gates.

Skin Material Tweaks

I’ve brought myself in line with the main branch ready to start merging the new player models into the game. This means I’ve been able to use Diogo’s new skin shader on the updated model. Results are looking nice so far, and I’ll be working with Diogo to further tweak it.

Conditional Models 2.0

I’m finally done with the last part of the new building conditional model system. It was a lot more fucking around than expected, mostly due to performance and memory usage concerns, but conditional models now run on the server as well and performance on both the client and server seems to be good. I won’t throw it into this week’s patch due to the lack of testing, but you can expect it next week so I’ll post more details on everything it does in it in the next devblog.

Decay Improvements

Decay has been pretty annoying for a while. The decay points that should be used to disable it on internal foundations didn’t work reliably and checking them was pretty slow on the server side. This is now fixed, so foundations will decay slower when there are other foundations attached to them. This uses the same entity socket linking backend I implemented for the new stability and conditional model systems – it feels good to get some good use for a wide range of building related stuff from it.

Dungeons Art

So far I’m getting things done at a good pace on dungeons. This week I finished the art for:

  • Brick/Plaster walls set
  • Concrete slabs set (used on the ground)
  • Rubble piles set (junk, concrete, bricks, coal piles or various sizes)
  • ‘Glue’/Dirt Accumulation textures (used where walls meet the ground)

I plan to release all this new content on the next wipe cycle now as it makes more sense due to the long list of changes to the dungeons themselves.

Powerplant layout has changed, and it’s now more compartmentalised. Before you could pretty much see from one side to the other; now several pockets open/reveal to you as you progress through. I’m planning to give the same treatment to the other dungeons. There’s a technical reason behind this as well: when we will have occlusion culling volumes, we’ll cull a lot of shit that’s not visible, for the best.

dungeons_art_008
dungeons_art_007
dungeons_art_006
dungeons_art_005

Culling Improvements

Something that’s been bothering me for a while is that we’ve always had to cull all objects pretty early since the performance overhead for any object, no matter how low poly, was pretty significant. Thanks to the batching improvements we rolled out a few weeks ago this overhead was eliminated almost entirely, so I got rid of the super early culling of barricades and you can once again use them to hide from far-distance observers.

Flamethrower Animations

I rigged and animated the flamethrower, and created sounds and special FX for it. Hopefully Helk can have this in game by next week.

 

 

Prefab Pooling

I re-enabled prefab pooling this week. If you remember I added this several months ago, but we ran into issues with the sound system and had to disable it. I sat together with Alex R to fix these issues since bringing this back will be a huge contributor towards keeping the frame rate more consistent.

Deployable Placement

I updated all deployables to use the newer version of our object placement system which features a number of quality of life improvements over the old system. While I was at it I also fixed a number of potential exploits with object deployment. Aside from that the biggest advantage from a player’s perspective is that deployable placement guides no longer immediately turn red when they are too close to another object but instead remain at the last valid placement position that has been found, which makes the alignment of boxes much easier. This also means we can soon get rid of a bunch of ancient code, and the best code to maintain is no code at all.

Automatic Violation Kicking

I enabled automatic kicking when high anti hack violations have been detected by a server. We have tested this on our servers for a while and as far as we’re aware there aren’t any unresolved false positives with it at this point, so it should be smooth sailing. Server owners can of course still configure this behaviour with the anti hack convars.

Racial Variations

Worked on some more racial variations, this time an Asian female head.

Melee Concrete/Rock Impact Sounds

We’ve gone through a handful of different versions of these now, but since they’re one of the sounds you hear most often, I think it’s worth really spending time getting them to feel right, and I’m a lot happier with where they’re at now.

I’ve been recording a bunch of other things that will end up in game over the next few weeks too (physics/pickup/place sounds for items, better/more varied footsteps, more birds, etc).

Graphics Improvements

Was all over the place this week in regards to graphics. Fixed and optimized a lot of shaders, fixing bugs, and making changes based on player feedback we’re getting from multiple sources. Just a bit of much needed performance and aesthetics polish before I get back to new features and bigger tasks.

Tyre Structures (Concept)

Continuing on with more ideas for stuff players can place in the world, I tried coming up with a few different uses for tyres. I know some of these would function similarly to a few of the items we already have, but I don’t think it hurts to have more visual variety. For some reason I got pretty tired after doing these.

Reactive Target (Concept)

The self resetting target design I had from last week was probably a bit over-designed, so I came up with some simpler variations. Instead of the target coming back up on its own we want players to have to reset it themselves, after doing these we settled on the version all the way to the right.

Reactive Target (Model)

I loved the idea of the reactive target concept by Howie, and the idea of having to manually set it up. After settling on the far right version, we made it. Take a spin of it here!

Trap Spawns

There was a little bit of a problem with traps spawning quite commonly in barrels and in radtowns, and this meant new players would just randomly deploy them leaving the world littered with useless traps. That only meant frustrating random deaths for other players. This has been fixed by only allowing the blueprint for traps to drop instead of a deployable version. If you want to use the traps you’ll have to spend the resources to craft them now.

Changelog

New rock/concrete melee impact sounds
Enabled server violation score kicking by default
Re-enabled prefab pooling (performance)
Made pool.prefabs and pool.assets console commands take an optional filter argument
Fixed invisible external wall gate doors in the distance
Tweaked external wall gate LOD ranges
Fixed invisible barricades in the distance
Converted all deployables to the planner system (quality of life)
Fixed decay points on interior foundations being buggy and unreliable
Improved server side building decay performance
Fixed various deployable placement exploits on walls and rocks
Allowed tree.quality and mesh.quality convars to be > 100
Made mesh and tree qualities > 100 push back billboard and cull distances
Wall frame inserts do the same construction layer checks as walls
Removed hand snapping into view on hatchet vm attack & hit anims
Fixed some shader bugs in large monuments
Fixed low resolution terrain rocks
Fixed runtime shader errors causing invisible objects on Linux
Fixed culling not working properly on some objects
Fixed helicopter windows and rotors now fade into fog properly
Fixed horse hair to not fading into fog properly
Improved and optimized rainfall shader
Improved anti-aliasing
Tweaked important textures to work with trilinear filtering and anisotropic
Increased resolution on some props with extremely low resolution textures
Improved skin shader
Brought back and improved shore wetness
Metal facemask protection levels lowered to that of chestplate 
Codelock does higher shock damage for wrong codes
External wall health balance
Removed traps deployables from common loot table (bp only)
Added skins
Fixed DDOS amplification exploit in steam query
Updated weapon mod icons
Added "ent who" command for admins (echos entity creator)
Fixed calling some RPCs when dead
Added command "clear" to clear the console
Added command "copy" to copy the console to clipboard
Updated EAC
Updated to Unity 5.3.2p3
Source]]>
Rust Devblog 96 https://rust-servers.net/blog/87/rust-devblog-96/ https://rust-servers.net/blog/87/rust-devblog-96/ Fri, 22 Jan 2016 18:26 CET

Ladder hatches are in. As well as adding floor frames, this now makes the game 666% more sinister. This is a server wiping update, so we’ve tweaked Proc Gen a little. There’s info on the upcoming XP and levelling system, and lots more.

 

Music

I spent more time on music this week. I polished up the second tune I had started last week and started work on another piece too. Enjoy!

Physics Updates

I updated more physics code to use Unity’s new physics API features. This is all invisible to you guys, but the gist of it is that a bunch of stuff got more memory efficient, reliable and faster.

Editor Server Testing

We’ve been in kind of a horrible situation to test certain things lately because we couldn’t load savegames from servers directly in the editor. This pretty much meant the easiest way to test the server startup or a savegame was to commit, let the build server do its thing, download the update and run a dedicated server. For the new conditional model system and stability serialization this really started to piss me off, so I fixed everything that didn’t work when loading a savegame in the editor. Now we can load up any world from a server directly in there, which is useful for lots of stuff from performance testing to making sure things are working before throwing them at the dev branches.

One thing I’d like to do with this is some sort of reproducible performance testing using real savegames, as that would be a great indicator of the actual performance gains we can expect from an optimization. It would also allow us to compare performance when upgrading to a new version of Unity in order to detect any regressions or improvements on their end before pulling the trigger.

Floor Frame Usability

Since floor frames will go live today, we tested them on the staging branch this week and I did some usability improvements, balancing and fixes for them. You can now rotate the floor frame hatch by looking at different edges of the floor frame when placing it. The main thing to be aware of when designing your base is that you cannot use pillars to increase the stability of floor frame inserts. The floor frames themselves aren’t a weak spot compared to floors, so you shouldn’t be held back by safety considerations.

Dungeons Art

I’m back producing the art for the dungeons. Done this week on my branch are the chainlink fences that I have adapted from the player blocks I made last week, as well as concrete walls. I also produced a first type of rubble pile, it’s all kinds of junk in this one, and truth be told it won’t work everywhere the old greybox was placed. I need to add some other types of piles, like charcoal, concrete boulders only, brick only, etc. The good thing is high poly meshes are done and it’s relatively easy now to throw another pile of something, bake it and place it in-game.

None of this goes in this week, the layout of dungeons is changing as I adapt the looks and level of detail in places as I go. Patience.

Stability Serialization

Building stability serialization is now in, which for you means much faster server restarts. It also improves the performance of stability refreshes at runtime since I got rid of a bunch of overhead and made the stability calculation terminate quite a bit faster. The effect on the building stability percentage is negligible, so your old base designs will still work.

Conditional Models 2.0

I did some more work on the conditional model system I talked about last week. The only things left to do are to support prefab pooling and add conditional server side colliders. Since it doesn’t require a wiping update to go live I’ll take some more time with it. There will be more details next week.

Linux Server

Don’t get excited: it isn’t working. But I’ve been working with some guys on Rustafied’s server slack on getting it working. This included some non-trivial work to get the dependency on OpenGL out of our native library, which I did by splitting them up into separate libraries (so the server doesn’t even need to load the rendering one). It works to a certain degree right now, but we’re having problems with getting Steam to cooperate – so players can’t join.

If you can get it working or have any pointers as to why it isn’t working, let me know on Twitter by clicking my name on the top right of this post.

Clothing Tweaks

I’ve gone through the last of the clothing pieces and tweaked them to match the new player models. All 40+ pieces and their LoDs are finished now, with the majority of them having some extensive reworking of how they deform.

Standard Shaders 2.0

Finally refactored our entire standard shader codebase. There are a number of advantages to the new approach, such as: dramatically reduced compilation times (60 times faster in some cases) which will help our iteration times, eliminate some constraints we had before allowing us to fix problems like the tire mark decals in the warehouse building, and hopefully an improvement in rendering performance due to the elimination of unwanted or redundant shader clutter.

Procedural Generation Tweaks

Only a couple of minor changes to the world generation this time around since I was busy with building related work for the last month. I tweaked the amount of forest bushes in the various biomes and made sure that field bushes and rocks are clustered together a bit more tightly. These changes are meant to give the whole thing less of a “rocks and bushes everywhere” feeling, let’s see how it works out.

Tuna Can Wall Lamp

Lamps are awesome! They let you see in the dark without having to squint real hard and wish you had night vision. Paul concepted some artwork for this a while back, and with a few tweaks here and there and with the help of Matt (who works on Deuce, and who gave me the idea to put a chunk of shiny metal at the back to act as a reflector) it’s now made! I guess the idea is that you can place it anywhere on your walls. Which is awesome. You can have a spin of it here!

Placeable Objects (Concept)

I’ve been trying to come up with more objects for players to place around their base that work within the current mechanics that we have.

Resetting Targets (Concept)

Helk suggested another idea for a target that would flop over when shot and then after x amount of seconds it would reset itself

XP System

One thing I’m keen to try with the new XP/Crafting system is moving the crafting menu from the right of the inventory menu to its own screen. It’s a constant struggle trying to get everything on one screen, and that’s only going to get harder as we add in skills, unlocks and tech trees.

Right now I have it wired up so that TAB opens the inventory menu, and Q opens the crafting menu. Pressing TAB while in the crafting will switch to the inventory, then pressing Q will switch to the crafting. This has to feel really snappy so that you can quickly switch between them to easily determine how much of a resource you have etc. Don’t worry though, I’m planning on having a list of “quick crafts” on the inventory screen too, so you’ll be able to start a craft from there should you want to.

The good thing about XP system is that as developers we can use it as a tool to indirectly change behaviour. We never want to say “hey, you killed a player -10xp”, but we can find ways to reward the opposite. As an example, what would happen if when you craft an item and give it away, you get XP when the person uses it. Suddenly the nakeds who can’t craft are useful to you. You want to keep them alive and give them items to earn you XP.

Changelog

Added sounds for all the new building parts
Fixed cupboard gib errors
Item icons + data now build to the right folder
Removed cui.test
Network backend optimizations
New floor frames (grill and hatch)
Fixed water rendering error when screen size is reported as zero
Fixed warehouse floor decal
Reduced video memory overhead by 144 MB
All collectables now use the load balanced LOD system
Updated some remaining physics calls to the new Unity physics API
Removed a worst-case second raycast in the game trace code
Fixed foundation stair placement being blocked next to triangle foundations
Fixed triangle foundation placement being blocked beneath floors
Added building stability serialization (faster server restarts and stability refreshes)
Fixed potential signage NRE when server database was deleted
Tweaked distribution of rocks and bushes
Source]]>
Rust Devblog 93 https://rust-servers.net/blog/86/rust-devblog-93/ https://rust-servers.net/blog/86/rust-devblog-93/ Fri, 15 Jan 2016 19:46 CET

Higher player counts means more servers everywhere, and we're now hosting the Battle Royale mod, too. There's also damage tweaks, player skin alterations, the first look at the new female player model in-game, and more.

Changelog 

  • Updated crash reporting 
  • Announce to other players when admins give items 
  • Fixed missing texture on key lock 
  • Fixed rock smash particles colliding with player collider 
  • Fixed invisible collectibles (rock, wood etc) 
  • Fixed being able to use blueprint as ammo 
  • Large water catcher is researchable 
  • Don't receive voice chat when dead 
  • Can now use steam connect protocol 
  • Moved debug keys to console commands 
  • Added new model for holosight 
  • Added new model for silencer 
  • Dungeons: railroad and roads art added 
  • Dungeons: fixed missing pipes collision 
  • Dungeons: fixed missing concrete wall collision (military tunnels) 
  • Better mesh batching for improved client performance 
  • Fixed bed exploit to get inside rocks 
  • Fixed bed placement issues 
  • Made white skinned players more apparent 
  • Tweaked how server list is refreshed to avoid overload 
  • Fixed exploit using disconnect during loading screen 
  • Added Semi-Automatic Rifle. 
Source]]>
Rust Devblog 90 https://rust-servers.net/blog/85/rust-devblog-90/ https://rust-servers.net/blog/85/rust-devblog-90/ Thu, 10 Dec 2015 22:32 CET

Lots and lots of bug fixing in the run up to the holidays. But there’s also sleeping bag spawn tweaks, some sexy new rocks, music, and more.

 

Maurino

Sleeping Bag Radial Reset

I’ve implemented a much needed improvement to the way sleeping bags work. Basically when you use a sleeping bag, all sleeping bags and beds in a 50m radius that belong to you will also count as being ‘used’ and their timers will be reset. This means no more spamming of sleeping bags enabling the player to instantly respawn as if it’s Quake, and if you kill someone you can be reasonably sure they are actually dead for a while. This affects both raiding and defending, but in different ways. Beds have always had a much shorter refresh time than sleeping bags so they should be far more viable for defenders to use, and attackers will have a harder time getting back into the fight, which is how it should be. Some balance may be needed to further restrict the bed placement rules, but we’ll try this out like this first.

Stuck Projectile Loss

Don’t you hate it when you kill an animal with arrows or spears and it rolls over so you are unable to retrieve them? Then if you harvest it they just disappear? Well no longer! I have some checks in place so that if an item is going to drop in the world it spawns it above the terrain so you should always be able to get all of your spears and arrows back!

Barrel & Trashpile LOD range

We had a very low LOD range for both these items, which meant the landscape looked kind of bare until you stumbled across something that you should have been able to see from far away. This has been fixed and the view distance increased by about 300%. This wasn’t a lot of work, but it was an important change and should give people a reason to explore the landscape a little more.

Swim Changes

After Andre tweaked the swimming parameters, I went in and unified the game code to use his values and added some additional checks. This means you can’t eat food or use medkits, syringes, or bandages while you’re swimming.

Bugfixes!

  • Fixed healthbars sometimes showing 0 hp (we round up now)
  • Fixed locks fading out way too early, making doors look unlocked
  • Removed Blood, Note, and Battery from spawn tables
  • Can no longer throw melee weapons/tools underwater
  • Updated stone worldmodel/physics to be less low-res
  • Fixed rockets going through building parts
  • Removed ability to place locks on some items:
    • Auto turret
    • Lantern
    • Research Table
    • Repair Bench
    • Both Jack o Lanterns
    • Small Furnace
    • Small Stash

Andre

I took a day off this week to get some desperately needed end-of-the-year accounting done. Then I crunched through our bug report system, fixed some minor and major exploits and checked out the new Unity 5.3 release.

Weekly Updates

Since our focus for the rest of the year will be optimization and fixes we decided to release weekly updates this and next week.

Performance

We’re aware that performance is shit for some of you right now. We’re working on it.

Unity 5.3

The next major Unity release is out and we started looking into what changed and what it’s going to take for us to upgrade. Here’s the gist of it:

  • Some math methods changed which look like they affected our world generation, meaning should we decide to upgrade before Christmas we might have to do another forced wipe.
  • The memory leak we reported is fixed and they’re working on a backport to the 5.2 version – we’re hoping this will happen soon.
  • Unity 5.3 contains a number of improvements we’ve been wanting for a long time, but there are also some known issues with it.
  • Upgrading Rust itself appears to be fairly smooth, so we can decide when it makes sense for us to pull the trigger.

Water Movement

I fixed a variety of annoyances with our swimming movement. Hitting the water now properly slows down your current movement and dampens your fall. You can no longer hop out of the water for a short speed boost by holding down spacebar and you can no longer stay too far out of the water by tapping spacebar.

Lag Exploits

There’s been a fairly significant exploit going around that involved people intentionally lagging out for a short period of time and using that lag to do all sorts of evil things like temporarily getting into rocks or placing things where they shouldn’t be allowed to. This is now finally fixed

Fixes

  • Fixed foundation steps being unplaceable in certain situations
  • Fixed LODGroup errors on the keylock
  • Fixed lantern stacking/hiding exploit
  • Fixed nighttime water reflection highlights
  • Fixed floor/foundation overlap exploit
  • Fixed floating doors when placed next to stairs
  • Fixed embrasures and shutters randomly collapsing
  • Fixed being able to block monument entrances using signs

Next Week

Optimization, specifically the higher building LODs and trees.

Vince

I fixed a few bugs on my backlog this week, and carried on with the new rocks. I have one big rock left to sculpt. We’ll save a lot of disk space once this is over. Even in-game, I believe we should see improvements in Vram used at the very least. I already converted the dungeons to use the new rocks, that was the easy part. The hardest part is getting procedural map to spawn them in a way that looks nice. It’s gonna take some work.

Next Week

More rocks work, some terrain splats rework if I have time (textures used on terrain).

Diogo

Mostly focused on bugs and performance this week and will continue doing so crossing over to next week.

I’m dealing with the remaining issues some folks are having with oceans and rivers running on some AMD hardware in DX9. For now I recommend using DX11 until next week, which is when I expect all problems gone. These are being taken care of right now.

Most of the bugs I fixed were shader or material related. Some related to some skin tones ending up too dark due to subsurface scattering. Some monuments were losing too much detail (e.g. satellite losing rust) when a low shader level was used. Also optimized these shaders to be more lightweight on lower quality levels.

Unity 5.3 came out this week so I took care of porting our custom shaders and working out any kinks in advance.

Other Changes

  • Made some modifications to the Terrain-Mesh Blend shader in time for Vince’s new rocks
  • Fixed some horizon flickering issues
  • Removed global fog (barely noticeable)
  • Slimmed some parts of water rendering
  • Fixed SSAO ordering in relation to water
  • Fixed Water refraction backprojection in OSX
  • Made some modifications to the Terrain-Mesh Blend shader in time for Vince’s new rocks
  • Fixed some horizon flickering issuesRemoved global fog (barely noticeable)
  • Slimmed some parts of water rendering
  • Fixed SSAO ordering in relation to water
  • Fixed Water refraction backprojection in OSX

Essentially, I’m done adding features for a while until we get performance under control again.

Next Week

Close remaining bugs, optimize as much as I can before the holidays

Gooseman

I got around to do a polishing pass on some of the player animations this week, as I noticed some of them looked particularly awful. I went over the way the look up/down animations work. Currently, the way aiming is done involves applying an overlay animation (of the player looking up/down) on top of a “base animation” (standing/walking/running/crouching). This saves a lot of effort on my part as I only have to do one set of aim up/down poses and just apply those to any of the base animations. Unfortunately, the end result is that the player looks fine when he’s standing/walking/ crouching. It’s when he does a run that it looks ridiculous.

This video illustrates the problem well:

Video Player
 
 
00:00
 
00:28
 
 
 

To fix this I added another set of aim up/down poses specifically for when the player runs:

Video Player
 
 
00:00
 
00:27
 
 
 

I also tweaked some of the attack animations for the pickaxe and two-handed weapons, as well as adding a stab animation:

Video Player
 
 
00:00
 
00:24
 
 
 

I also added a water treading animation:

Video Player
 
 
00:00
 
00:16
 
 
 

Last but not least, I started work on a new wounded animation for when the player gets shot in the groin area:

Video Player
 
 
00:00
 
00:17
 
 
 

Next Week

I’ll continue working on the aim up/down poses for the rest of the weapons.

Tom

I’ve been working away on the texture of the new semi-auto rifle and here it is so far. Take a spin in the viewer too!

Next Week

I’ve started on the LODing process already and should be well into it if not finished by next week, hopefully!

Alex Rehberg

I’ve been sick (hi reddit ;D) and working on some stuff for Deuce, another one of our games, so I haven’t spent tons of time on Rust. I have worked on music a bit, and I’m excited about where it’s heading.

Right now my focus is gathering ideas and getting a palette of sounds together, not writing complete songs. Here’s one of the sketches I’ve worked on that’s in more of a song form (This is really really WIP still, though).

I’m thinking I want to take things in a little bit more of a crunchy, gritty direction than this, but I do like that the cleaner sounds will contrast with our in-game sounds well (meaning it’ll be easier to pick in-game sounds out). We’ll probably end up with the music being more ambient and spacey too.

I want Rust’s music to be really dynamic and heavily impacted by what’s going on in the game around you (happier music when you’ve got building tools out, sadder music when it’s raining, tense music when you’re sneaking around, scary music at night, etc). I’d love to be able to do things like play a different drum track if you’re being chased by a wolf vs when a player is shooting at you. Ideally we’ll figure out a good way to arrange music from a bunch of smaller loops dynamically, but I’m not sure if we’ll be able to get the level of polish that I want if we go that route, so the implementation for this is going to take some experimenting.

I’ve also done a few smaller things this week. There was some inconsistency in our melee weapon impact sounds. Sometimes we were getting most of the low end in a sound from the weapon’s impact, and sometimes we were getting most of it from the dirt/wood/whatever being hit. I made this more consistent and made most of the low thump come from the thing being hit, which has made a the soft target impact sounds sound a bit better.

I also…

  • Tweaked the m249 fire sound
  • Tweaked the metal hatchet impact sounds
  • Tweaked fall damage sounds
  • Made fall damage sounds only play when you take 20+ damage
  • Fixed a couple little bugs with sound playback
  • Made sure the sounds on the lights in the new dungeons don’t play when you’re half way across the map (this should help perf a bit)
  • Fixed footstep sounds not playing on surfaces with a generic material
  • Set up voice limiting for some of the helicopter sounds so we don’t play a million explosions at the same time when rockets hit.

 

Next Week

Next week I’ll be working on music some more, and I’d also like to start working on ambience for the new dungeons.

Alex Webster

Back on throwable weapons this week. The salvaged axe & icepick are now in-game. They pack a bit more punch than their one handed counterparts, but don’t expect to be able to throw them as far.

Video Player
 
 
00:00
 
00:15
 
 
 

Next Week

More of the same

Taylor

I finished the skinning this week and made some adjustments to the overall mesh. I also started on one of the new head variations. I felt like it was quite important to get the foundations right, ethnicity is generally more than just skin colour and everything right down to the shape of your skull should be modelled to reflect that.

Because of the new workflow this stuff is really easy to get into game too, it only take a few clicks to have a fully rigged version working in game (still very work in progress though, don’t worry!). The goal is to have each player recognisable from their face alone, so making sure Zbrush and Unity are in sync goes a long way towards that.

Next Week

Finish up this head. I’ll need to go through each item of clothing and make sure there aren’t any issues with clipping due to the adjusted proportions. I wanted to have at least one variation before I started to get some kind of visual guide of how much leeway would be needed for the head items.

Howie

This week I came up with some more ideas for frame fillers.

111
222

And I also worked up some concepts for our natural environments

Fm5y8Kf
EAjW7bX

Next Week

More of the same, more frame fillers ideas and I want to do a few more environment concepts one being a swampy area.

Paul

This week I worked up a concept for a rusty shipwreck to add some interest and exploration to our beaches, which at the moment are very barren. It also doubles up to help player navigate the coasts and give newbie spawning in something to go and explore for some
early loot. I also finished up some more armor tweakings for taylor’s new character model

RUSTbeachedship1a
RUSTarmorsredux1a

Next Week

more environment stuff for beaches. I had idea for some larger, ominous looking abandoned ships that are further off the coast that players could sail out to explore.

Improved water movement
Fixed various lag exploits
Fixed foundation steps being unplaceable in certain situations
Fixed LODGroup errors on the keylock
Fixed lantern stacking / hiding exploit
Fixed nighttime water reflection highlights
Fixed floor / foundation overlap exploit
Fixed floating doors when placed next to stairs
Fixed embrasures and shutters randomly collapsing
Fixed being able to block monument entrances using signs
Missing footsteps on generic surfaces fixed
Building parts door frames see through fixed
Fixed ladders and painting frames clipping inside walls
Fixed rockets going through building parts
Removed ability to place locks on some prefabs
Updated stone world model/physics
Fixed lock LOD distances
Fixed barrel/trashpile LOD distances
Removed blood/battery/note from spawn tables
Radial reset for sleeping bags/beds
Can no longer throw melee tools underwater
Stuck projectiles spawn ontop of corpse if would fall through world
Healthbars (player and world objects) now round up instead of down
Can no longer heal underwater
Made impact sounds more consistent
Tweaked the m249 fire sound
Tweaked the metal hatchet impact sounds
Tweaked fall damage sounds
Made fall damage sounds only play when you take 20+ damage
Fixed a couple little bugs with sound playback
Disabled the sounds in the new dungeons when far away (perf)
Fixed footstep sounds not playing on surfaces with a generic material
Set up voice limiting for some of the helicopter sounds

Source : http://playrust.com/devblog-90/
]]>
Rust Devblog 89 https://rust-servers.net/blog/84/rust-devblog-89/ https://rust-servers.net/blog/84/rust-devblog-89/ Fri, 04 Dec 2015 22:16 CET

Patch day is here, with lots of changes. The servers are wiping so the new dungeons can loom over the landscape. There’s also procgen changes, you can rebind keys, the Eoka has had a buff, reloading is much snappier, and lots more.

 

Maurino

I’ve been trying to sort out long-standing bugs before we embark on adding a bunch of new stuff. My goal is to get the game to a place where the bug reporter is filled with nonsense and spam instead of real issues. To that end, I’ve ironed out a few.

Reload Improvements

Man, I don’t know how some of this was in-game for so long. There was a bug where you could start reloading a weapon, and then switch away, and it would still be reloading in the background so when you switched back to the weapon later it would have a full clip. Fixed.

Also, for some reason, when switching ammo types you would close the menu and it wouldn’t reload for you, you’d have to press R to reload again anyway. Fixed.

Lastly, we had an input bug that affected some users. If you held the reload key down for longer than 0.15s and had two ammo types the ammo selection menu would appear, right? Well what if you only had one ammo type? Oops! Nothing happens. This meant that if you had only one ammo type (most new players) and you missed that 0.15s release window you wouldn’t be able to reload. Reloading is now far more responsive and happens instantly if you only have one ammo type.

Eoka Viability

Haha! I can’t tell you how many times I’ve seen people laughed at for even attempting to use this weapon. It did barely any damage and was too easy to miss people. I’m hoping it’ll be a little bit more viable now. I’ve made the following changes.

  • Spread doubled
  • Handmade shell pellet count doubled
  • Handmade shell damage per pellet halved
  • Bug fixed where Eoka was doing half the damage it should have been due to velocity
  • Cost reduced

This should change the weapon to have a nice scattershot that ensures doing a small/medium amount of damage in a wide cone, and makes it deadly at point blank range. I’ve also removed its ability to use other ammo types (as no one did), so it can only use handmade shells and shotgun shells for now.

Melee Range

Once again I’ve played with the melee ranges. This time I’ve made them the same across the board at 1.5m. The only weapon with a higher range than this is the spear at 2.2m range. This should help with melee combat feeling more responsive and satisfying

Everything else

  • Fixed rockets sometimes detonating against the shooter during times of lag
  • Fixed being able to repair doors by removing them and placing them again twice
  • Fixed key lock fading out too early (doors appeared as unlocked until you got close)
  • Fixed shelves being too strong. You can easily destroy them with melee now
  • Fixed rapidfire bow exploit
  • Fixed size of quarry hopper interaction collider so you can’t lose items under it anymore
  • Shotgun Shell has +2 pellets

Next Week

Still about 100 bugs to fix. In 2 weeks I hope to have 90% of them eliminated, but you never know. I’m also going to be fleshing out some of the new improvements on the roadmap so we’re ready to add them

Garry

You might have noticed that we haven’t been adding new stuff for a couple of weeks. I mean, yeah we have, new art content, but not really new programmed content. So what’s the deal? Why aren’t we adding shit?

We’ve reached a different point in Rust’s development. Previously we’ve been at a stage where we could all work ad hoc and just throw stuff in the game. Because fundamental stuff was missing. That’s changing now. We’ve got to a stage where we need to start getting things more structured. Where we have to plan our features. Where we have to look at the systems we’ve added an iterate and polish them.

So that’s what we’ve been spending a lot of our time on. Building a roadmap and planning our ascension out of early access. It’s important to say that leaving early access doesn’t mean the game is done and no more updates. Leaving EA means that the game is generally finished, and updates won’t be messing with the larger ingredients of it. We’ll be revealing our plans later on this month in a special post.

Input System

The new input system is in. You can read some of the technical details on this wiki page. Hopefully everything should pretty much work the same, except to reconfigure keys you do it via the main menu options instead of the Unity game launcher.

Bug Fixes

We decided that since we’re spending this time to plan out the future, we can spend the downtime to fix bugs that the future changes aren’t likely to fix.

So a few significant things I’ve done here. A well known, well abused bug… cancelling crafts exceeding the stack size. People were queueing a bunch of crafts then cancelling them so they’d get a HUGE stack of a resource. This isn’t possible anymore.

Weapons were playing their shooting effects twice. I’m pretty sure this has been going on for a while, and it feels great to have fixed it. It makes a big difference in how the weapons feel.

Steam inventory was shitting out if you had more than 128 items. I never thought anyone would have more than 128 items. And now some people have a lot more than that.

Memory Leaks

Fucking memory leaks. Every devblog I make. Memory. Fucking. Leaks. So this week I’ve been working with Unity support to look at why the hell we’re using so much memory. There seems to be two major things right now.

On the server we have a shit-ton of game objects, physics objects, components. And the more we have the more memory they use. And it grows all the time because the physics system is querying all those items and allocating memory. And with the new batching system, that’s kind of worse because it’s creating new objects, but we have to keep the old ones around (but disabled), which uses memory too. So this is just a theory – but after all the profiling and bullshit around that seems to be what’s happening on the server. So our best bet would be to create less shit. We’re still experimenting with this.

On the client, I think we have some better news. I noticed that the leak seems to happen when escaping into the main menu, and going back to game. It seems to leak about 10mb each time. So I tried to recreate it in Unity.

Video Player
 
 
00:00
 
00:27
 
 
 

BAMMM! Being able to make a minimal sized project that recreates the problem is like getting a gold medal. I sent it along to Unity, they’ve confirmed it, and we should hopefully have a solution within a couple of weeks (Unity time).

Andre

Procgen11

It’s time for a new version of our procedurally generated maps! The change everyone’s talking about is certainly the addition of the new dungeon environments. My contribution towards those was all the backend and toolset work and everything that makes them integrate with the world around them. There are some issues left to solve in that department, but we didn’t want to make you wait any longer – so enjoy this first look.

However, dungeons aren’t the only thing that changed about our worlds this week. I’m pretty late with my devblog section this week, so I’ll keep things short and only post a short list of all the new stuff.

  • All-new coastline generation
  • Big water streams towards the outer realms of the main island
  • Landmass bias towards the center of the island
  • Chance for small isolated islands off coast
  • Highland cliffs and canyons
  • New underwater environments (placeholder art)
  • Revamped tundra environment (placeholder art)
  • Snow biome is restricted to mountain tops
  • Rock material improvements
  • More natural mountain, hill and lake blending
  • Less artificial prefab terrain blending
  • Occasional barrels around powerlines
  • Slightly improved river-ocean transition
  • Better prefab mountains
  • Better lighthouse spawn rules
  • Better player spawn positions

Environment Ambient Light

I did some experiments this week to get our ambient light situation in buildings, tunnels and caves under control. Up to today we’ve been using pretty much the same lighting for both exterior and interior environments, which forces us to all sorts of compromises. A first batch of lighting improvements will go live today, but there’s more to come.

Fixes

  • Fixed various building exploits
  • Fixed various deployable exploits
  • Fixed various LOD and batching issues
  • Fixed missing building gibs in certain situations
  • Fixed roofs being cheaper and more stable than walls (now identical)
  • Fixed admin cheat noclipping (antihack.admincheat convar)

Next Week

Time for bugfixes and optimization to get things running as smoothly as possible over the holidays. I’ll also get started on addressing any issues with the new world generation and dungeons as soon as they come to our attention such that the next iteration is ready in time for the first wipe of the new year.

 Vince

Dungeons are here! Like I said last week (go see it), it’s a first iteration, so it’s gonna be broken in places. The goal here is to use you guys to improve it.

As for the week, I started it off using all of Andre’s new terrain tools that helped laying a nice polish on the scenery around dungeons.

Over the course of the week we talked of things that suck in the current visuals. We came back to the rocks, mainly, and some of the biomes textures. The visual potential of procgen and the game in general would benefit tremendously from better environments. I won’t redo all of our rocks at this stage, as I first wanted to the toy with the system and see how far I can push it without requesting new stuff from our coders. Turns out I need a few additions to shaders, and once that is done can probably push out a few good replacements for the claydough rocks around.

Next Week

I have a lot of art to do. And surely improvements to dungeons.

Diogo

Skin Shader

Taylor is working on some new player models and textures, so I took the opportunity to anticipate something I had on my backlog for a while. I revamped our standard skin shader and added subsurface scattering, transmission and improved specular. You’ll notice the human models now look a bit better. These shots are using the previous model and textures.

I’m making additional changes based on Taylor’s feedback over the coming week.

Water2

Fixed a ton of bugs this week. Mostly stability issues left over from past week’s changes. These bugs were happening for those of you running DX9, and affected all GPUs. These are all now fixed. If you had any of these, please feel free to try out the latest patch and let us know if you still have any issues.

Another serious bug I fixed last week was causing a massive performance hit in quality modes 1 and 2. It is no more.

Today I added a mask to clip Scott’s new underwater effects above the water. Thanks to the hard work these past weeks, it only took me half an hour.

Misc

Other changes this week:

  • Tweaked water quality handling
  • Fixed rotated particles having wrong lighting
  • Fixed Virtual Texturing causing washed out terrain bug
  • Fixed a tiny memory “leak” in riverless maps
  • Fixed terrain carving precision to help avoid holes in wrong places

Next Week

Finish skin shader, a couple of PVT optimizations, improve terrain-mesh blend shader for Vince’s new rocks, tackle some bugs unrelated to graphics.

Scott

Underwater

Thanks to Andre and Diogo, I managed to get the main underwater effects working. When you submerge/dive underwater you now get full bubbles, when you swim around there will be a couple of bubbles coming from your mouth, and there is now a kind of plankton/debris effect when you swim around which helps you get a sense of the direction and speed your swimming.

Video Player
 
 
00:00
 
00:21
 
 
 

Full-Screen Rain Effect

This is the effect that makes water run down and hit the screen when it’s raining. It was a bit underwhelming for its cost so I did a new set of textures and tweaked the values. I also ended up doing another set of textures for when you emerge from water, so the screen is super wet. These aren’t plugged in yet but you can see how they work in the underwater video above.

Video Player
 
 
00:00
 
00:16
 
 
 

There are still affects needed to get drowning to feel nice. This will probably be a combination of VFX, screen shake and sound effects.

Snow

Our snow effect was old and rubbish so I took some time to buff it up. With the current set-up I can’t get it to feel like a snowstorm, but I have some ideas that might work and not require me to spawn thousands of particles which will just kill framerate.

Video Player
 
 
00:00
 
00:10
 
 
 

Clouds And Storms

Did some more work on clouds, mostly trying to get storm clouds to look nice. Nothing to show yet. Also started looking at the best way of doing lightning. This isn’t just a case of doing an FX that you just see in the sky because ideally lightning will have game world consequences.

Next Week

The Goosey/Helk water bucket needs some effects. Continue with the lightning stuff. Finish off the clouds. Work out how and if I can make use of the screen shake functionality for explosions, drowning, etc. I am also going to start exploring the sweet new dungeons and compiling a list of effect that are needed/would look good.

Gooseman

I took a break from the player animations this week to work on a last minute request from Helk. He wanted a waterbucket model that would show the player scooping water up from a source, and dumping water out as well. This required some thinking and a lot of trial and error, because the water inside of the bucket needed to be pretty dynamic. The water level would rise/fall depending on how full the bucket is, and the level also needed to adjust its angle according to whether the player looked up/down. Helk wanted to introduce a neat gameplay mechanic where if you looked too far up/down the bucket would tip and water would pour out. Also, when the player ran around, the water needed to slosh around.

All of this required me to set up the water in such a way that it would animate dynamically according to various player states.

This is what I have so far.

Video Player
 
 
00:00
 
00:32
 
 
 

I’m pretty happy with the results considering the water is animated using bones, and not some complex fluid simulation.

Next Week

Finish up the waterbucket and get back to work on some wounded animations I started last week.

Alex Rehberg

Lots of random smaller fixes and new things from my list this week :)

  • Finished the last few little polish touches on the M249 sounds
  • Added snow and sand impact sounds for melee weapons and guns
  • Tweaked grass impact sounds
  • Fixed some impacts playing the wrong sound or no sound at all
  • Fixed some melee impact sounds not playing or playing the wrong sound
  • Added sounds when a player takes fall damage
  • Added new player body fall sounds (falling while enter wounded state)
  • Fixed external gates not playing sounds reliably
  • Tweaked wood external gate sounds
  • Added new stone external gate sounds
  • Added window shutter sounds
  • Tweaked large fire sounds
  • Tweaked bandage sounds
  • Tweaked stone hatchet soft target impact sound
  • Updated tree impact sounds
  • Polished and adjusted some ambient sounds & ambient sting timing
  • Added sounds to the corpse fly swarms

Next Week

Jenny has been sending me some music ideas and it’s got me inspired a bit, so next week I’ll be spending a little time working on some music. I also want to work on ambience and local reverb for the new dungeons, and I’m going to explore some alternate gunshot reverb tails for closed spaces like the dungeons.

Howie

I’m back after taking a break from Rust to work on one of Facepunch’s other projects. I picked up where I left off and have been working on some more ideas to expand player building options.

After working through these ideas it was clear that we needed a more consistent way to place parts like this, and also one that didn’t require making a separate version for each tier. Instead of the pieces standing completely on their own, they could fit inside a frame, similar to how the window and door frames work. So the frame would go through the tier/upgrade system but whatever it gets filled in by only needs to have one version, the strength of the piece of as a whole is reliant on the level tier the frame is at.

These frames could also be used purely on their own and replace a lot of what pillars offered before, such as awnings and other open air rooms.

Next Week

If this frame system works out, I’m going to keep coming up with more ways to fill them, and maybe have another version of the frame more appropriate for large windows. I also want to do some paintovers of the desert and snow biomes, since I think we’re gearing up to revamp these areas in the near future.

Taylor

I’ve spent this week looking at the rig and skinning the player model to the existing bones. Skinning is a delicate process and things can break really easily. Luckily there weren’t too many catastrophes and it’s mostly done now. There are a few areas where the old bones don’t properly fit the newer proportions, and these are causing some issues. It’s mainly the collarbone/shoulder/neck area, but I think with a little brute force they can be fixed. Obviously hands aren’t done yet.

There’s not a lot to show other than a bunch of animations you’ve all seen a hundred times before, on a new model:

Video Player
 
 
00:00
 
00:45
 
 
 

Next Week

Skin the hands and fine tune those problem areas I mentioned. Diogo’s been working on a new skin shader which looks awesome and I can’t wait to try it out. Other than that I’d like to integrate the new model into the game and go through fixing seams and other broken things on the mesh. If that’s all relatively easy I might have time to work on some racial variations.

Paul

So the Scientist concepts I did last week seemed to get some notice. We hope it’s a step in the right direction for some PVE type threats as well as adding some kind of mystery to the world. I decided to work up an armed version of the hazmat scientist and, looking at him now, I’m almost tempted to use this guy as a ‘light’ bodyguard and give him an SMG or a pistol. Then I can do a more heavily armored one with kevlar protection over the top and have him wielding a shotgun or the AK – something fairly brutal. There were a few comments about them not being creepy or threatening because they’ll get pwned by guys with AKs. That’s valid, but I also think that you’ll have to wait and see the context to how you encounter these guys first and how they move, behave and sound. I saw a comment about the suit deflating when they are killed, or them taking an unusual amount of punishment, which I think is really cool. Something that suggests they might not be completely human, but we’ll have to see how that sort of fits into the tone of the world, which is fairly grounded in reality.

Next Week

I have a bunch of stuff which is like 60-70% done that I can throw that stuff up next week when it’s done. It includes the armor to fit taylor’s new Rust body, some paintovers with ideas for interesting scenery around our beaches which at the moment I think are very plain and lifeless. Things like rusted remains of boat, abandoned ships off the coast, and some more life on the beaches themselves would go a long way.

Tom

I’ve been working away on the game res of the model. I’ve been baking out the normal map and ambient occlusion map, which basically means transferring all that lovely intricate detailing into the texture maps (the normals and ambient occlusion) to fake those details for the main body of the gun and the barrel section. Next up is the grip and magazine which should be super quick. Below is a progress shot with the normals and AO applied, and also a wireframe shot.

But if pictures aren’t enough then you can take a closer look and move around in the previewer below (lower res)!

Next Week

Finish the bakes and the grip/mag and start texturing the whole thing! The barrel and the grip/mag should be fairly quick to texture.

Changelog

Added soft target impact sounds for a bunch of melee weapons
New m249 sounds
New snow and sand impact sounds
Lots of impact sound adjustments and fixes
New player body fall sounds
New player fall damage sounds
New stone external gate sounds
Cancelled crafts don't break the max stack rules
Pie menu sounds obey volume controls
New key bind (input) system
Fixed real player names showing in corpse loot during streamer mode
Fixed steam inventory breaking with more than 128 items
Fixed weapons effects firing twice (!)
Fixed external gates frequently not playing open/close sounds
Fixed water bugs in DX9
Fixed water performance issues in quality 1 and 2
New window shutter sounds
New corpse fly swarm sounds
Adjusted bandage sounds
Adjusted ambient sounds
Adjusted large fire sounds
Improved skin shader
Added underwater world FX.
Improved snow FX.
Improved rain fullscreen FX.
Erm, dungeons greybox.
Reload happens automatically when switching ammo types
Reloading with only one ammo type is more responsive
Fixed unlootable items if thrown under quarry hopper
Shotgun shell has +2 pellets
Eoka spread increased
Eoka damage increased
Handmade shell pellets doubled
Handmade shell damage per pellet halved
Melee range increased across the board
Fixed rapidfire bow exploit
Fixed rockets detonating on shooter if fired while moving forward
Fixed repair door exploit
Fixed shelves being too strong (can now melee them)
Fixed key lock LOD causing it to disappear too soon
Lowered eoka cost
Ambient light improvements
All-new coastline generation
Big water streams towards the outer realms of the main island
Landmass bias towards the center of the island
Chance for small isolated islands off coast
Highland cliffs and canyons
New underwater environments (placeholder art)
Revamped tundra environment (placeholder art)
Snow biome is restricted to mountain tops
Rock material improvements
More natural mountain, hill and lake blending
Less artificial prefab terrain blending
Occasional barrels around powerlines
Slightly improved river-ocean transition
Better prefab mountains
Better lighthouse spawn rules
Better player spawn positions
Fixed various building exploits
Fixed various deployable exploits
Fixed various LOD and batching issues
Fixed missing building gibs in certain situations
Fixed roofs being cheaper and more stable than walls (now identical)
Fixed admin cheat noclipping (antihack.admincheat convar)

Source : http://playrust.com/devblog-89/
]]>
Rust Devblog 88 https://rust-servers.net/blog/83/rust-devblog-88/ https://rust-servers.net/blog/83/rust-devblog-88/ Fri, 27 Nov 2015 21:58 CET

We’re working on improving the official servers, making underwater more interesting, the new dungeons and tunnels, and more. Also, our clouds now look pillowy as hell.

 

Garry

I’m back after a couple of weeks dealing with other stuff. I kind of enjoy taking some time away. I like seeing how the team handles shit without me. It helps identify places where I have too much control, where other team-members need the authority to get shit done. It’s important for us to increase the bus factor. Especially as shit in my life is going to get really busy next year, so any way I can empower the team to take weight off my shoulders can only be good.

So I’ve been looking at problems and solutions this week.

Official Server Stability

Problem: Official servers are shit. They attract hackers and griefers. Sometimes they’re down without explanation. Sometimes they’re laggy.

We need better monitoring tools. Better reporting tools. Better hardware. At the moment we’re hosting our own servers on a bunch of random dedicated servers. We’re going to be adding a bunch of new official servers in a variety of places, using a professional host. This means we’ll most likely be retiring the old servers.

I knocked together a quick website to monitor and alert us of server issues. The hope is that by making this more visible, and by making it more accessible by more people, we’ll be able to spot and react to problems quicker.

I’m hoping this is just the start of this, and we can get serious about administering our official servers properly.

Input System

Problem: Can’t redefine keys in game. Unity options pop-up window breaks Steam Big Picture mode.

The solution to this is our own input system. Something I was hoping to avoid for a while since Unity is re-writing theirs that will probably make this a waste of time.

I decided that if it’s going to be done it might as well be done right. So I copied how Quake/Source works. It all works via the console system. So you can bind keys to certain functions. This will make it so that when you press k the game quits:

bind k quit

Obviously that’s just an added bonus, mainly useful to admins/developers, since we can bind keys to debug commands and stuff. Normal users will be able to change key binds in the menu.

Code Testing

Problem: Our code isn’t testable.

Our code is pretty modular, but it’s all in Unity. It’s a bunch of scripts thrown in a folder. We can write tests but then they all exist in Unity, and the more shit you have the slower it all is to compile. So I started extracting code into different self contained assemblies.

This increases re-usability, since we can share those modules with different projects. We can quite neatly add a bunch of tests for each module, to make sure future changes don’t fuck shit up. It also takes all the loose files out of the Unity project folder, which can’t be a bad thing, right?

I can appreciate this is like shutting the barn door after the horse has bolted, but come on, we’re trying ain’t we?

Andre

Fixes

We released a small update earlier this week to address some bugs and re-enable the new ambient sound system, which we had to disable over the weekend due to performance issues.

  • Fixed servers opening their connection before collider batching, stability and save caching were initialized
  • Fixed servers trying to send network updates during the startup routine
  • Fixed building placement exploit involving sleepers
  • Fixed external wall exploit involving sleeping bags
  • Fixed foundations not sending a stability refresh to linked objects on placement
  • Fixed issue with roofs not offering sideways support for walls
  • Fixed issue with constructions waking before setting their position on the server
  • Fixed building block sound cutting out on placement

In this update I also adjusted the default user level for antihack to include admins and developers (antihack.userlevel 2) since we were getting a bunch of exploit reports that were only possible because the people who tested them used admin accounts and were therefore excluded from the server side movement checks. If you want to noclip as an admin, you can temporarily make antihack exclude admins (antihack.userlevel 0). I’ll also add something that automatically does this for you when admin noclipping is enabled as soon as I’m certain it won’t open up any potential exploits.

Procgen11

I started working on the next version of our procedural maps this week. The plan for these changes is to hit the dev branch early next week and then iterate on that.

To get started I hooked up some placeholder underwater vegetation which, together with the awesome underwater shader Diogo wrote, will help make diving a lot more interesting. We also have some ideas floating around (hue hue) to make diving actually useful, but more on that in a future devblog.

Next I addressed the issue that our official servers rarely change their map seed. It’s a pain for us to change the seed of all our servers by hand, so I made it that when no seed is specified the server generates a unique seed that automatically changes every month together with the wiping update. This doesn’t change anything for community servers that prefer to choose their own seed, but server owners now have the option to use this automated behaviour if they like.

The big change everybody’s been waiting for is the addition of Vince’s new dungeons to the procedural maps. I’m working on making all the functionality I wrote for Petur when he designed our custom maps compatible with the dungeon workflow, which should help Vince design some great stuff for us. Speaking of Petur, I asked him to create some more of his beautiful prefab mountains for the procedural maps since the stuff I’m working on for the dungeons also comes in handy for those. We’re hoping to get to a point where we can choose from a unique palette of mountain styles for the various biomes, which should provide some much needed variety.

Next Week

Probably more dungeon and mountain related work, possibly some optimization.

Vince

I just came back today, I will probably copy and paste the same list next week when we release to ensure everybody knows what to expect. There’s a few things left to do regarding our dungeons that I need to fix before next patch:

  • Holes in terrains
  • Dips in terrain that can lead to the player being blocked under other meshes
  • Missing Collisions here and there

And here’s the list of what dungeons will release with that are not currently considered a big deal:

  • Small holes between meshes (sparkles, etc).
  • Collision precision (you might have to crouch in a few places currently to cross certain obstacles, very few exist to my knowledge though).
  • It’s greybox, hence it comes mostly un-textured.
  • Performance is likely to not be optimal for several months around those areas as I make progress over final art.
  • Popping of distant structures will be part of the game as a result, though some of it might be a bit rough.
  • Dungeons generated underwater. This especially regarding any underground tunnels or caves. We will fix this later on, but you can swim if you want to explore them.
  • Rail and road networks will connect at a later date.

Things I will be listening for next week and after is feedback on level design, pacing in the dungeons, etc. Any of that feedback will be a priority for a couple of weeks as will fixing any bugs that prevent progression through dungeons.

Next Week

More dungeon work.

Scott

Clouds

I spent all this week painting about 20 cloud textures, creating matching normal maps and integrating them into a new modified Sky Dome. Clouds are now split into High, Middle and Low layers. The types/shapes of clouds in each layer will be as real-world accurate as possible even down to how fast they move. Scale is really important, so I’m spending time getting all the clouds to match. If I’ve got it right the world should feel a little more open and to scale. Click these for awesome, high-def clouds.

Video Player
 
 
00:00
 
00:10
 
 
 

I also started work on painting some epic cumulonimbus clouds to help communicate incoming storms. These will need to be able to work with thunder/lightning and feel really dark and foreboding, so there’s a bunch of experiments I’m going to do to see what the best approach is.

Next Week

Experiments for the storm cloud/lightning stuff. Probably some more base explosion work as I was shown some really useful references last week. Plus I’ll spend some time looking at the underwater environment with regards to effects/movement.

Gooseman

I went over all of the items’ LOD pop-ups to make sure they pop in/out of the view at more practical ranges. I noticed some of the items were popping out far too early making it quite difficult to spot items on the ground from far away.

The new animations for the player walk/run that I made last week looked a bit too janky so I decided I’ll need to redo them again using better motion reference.

I added some code to spawn flies around a dead body.

I started working on some more wounded animations for when the player gets shot from behind. Here’s a vid of what I have got so far.

Video Player
 
 
00:00
 
00:16
 
 
 

For those curious, I video myself for reference.

Video Player
 
 
00:00
 
00:10
 
 
 
Video Player
 
 
00:00
 
00:13
 
 
 

Next Week

Continue working on more wounded animations.

Paul

This week I managed to work up some scientist NPC ideas, exploring the basic look of their hazmat suits. I want these guys to have a weird, unsettling feeling. I felt like you could capture this by hiding their faces completely behind dirty face masks. I also think it would be cool if they somewhat ignored the player as they went about the island conducting their research, only really acknowledging you if you got too close and threatened them. It would be cool if you could hear them communicating to each other with muffled, distorted voices so you can’t really understand what they’re saying. Just to add to the creepy factor.

Next Week

I’ll continue with these guys. I’m having lot of fun with these, and it’ll be really awesome to add some life to the world to see how players react.

Alex Rehberg

I’ve just been working through my to-do list this week. I’ve finished up soft target impact sounds for a bunch of melee weapons, so hitting animals or the sand with your hatchet or a knife will be more of a slicing sound vs the hard thwack we have right now.

I’ve pretty much finished up the M249 sounds, but there’s a few more tweaks I want to make before I’m totally happy with them.

I’ve also…

  • Started some additional impact sounds for sand, grass, and forest materials
  • Tweaked some of the existing impact sounds
  • Tweaked the helicopter wreckage fire & napalm sounds
  • Started on large metal gate and wood shutter sounds

Next Week

Next week I’ll be finishing up the sounds I’ve started this week, making a few smaller adjustments to the ambience system, and knocking some more stuff off my list.

Taylor

I managed to get the model in-game this week and all the main materials looking good. The previous skin material had almost no specular (or shininess) which is why it looked kinda flat and dull. Having specular helps pick out smaller details and should go a long way to making it look more life-like. It’s still a bit plastic looking because Unity lacks a decent skin shader, but it looks OK for now. It’ll be easier to calibrate the levels of this stuff when he’s in and running around anyway. You can see how the materials react well under different lighting conditions, which is helped by having some specular contribution. You can see some of the subtler details a bit better when you’re actually moving around in-game. Here’s a peek at what it looks like with some motion.

Next Week

The modelling and texturing is done so I’m making a start on the rigging. The skinning itself should be relatively simple but I’m not sure how much fiddling I’ll need to do with proportions or retargeting. Basically fitting the new model to one with some quite wonky proportions might take a lot of work. I’d like to get the facial blendshapes done too if possible.

Tom

There’s not much to show this week, it’s mostly boring stuff. I’ve just been chugging away at the low poly of automatic rifle. I’ve made some good progress on the stock separately because I was a fairly simple object to texture in relation to everything else. Still gotta tweak some stuff on it but here you go, it’s shaping up to look different from the other weapons in the game already. Great concept by Paul!

Next Week

More texturing! And more low-polying! Really excited to see this gun in game for you all to play about with!

Diogo

Spent this week integrating and testing lowest quality (Q=0) water and underwater rendering aiming for consistency across quality levels. Ended up making a ton of changes that increase compatibility even for higher quality modes. Also made a few optimizations in the process.

Here’s a comparison shot of how all water quality levels look compared to each other:

And the same comparison for underwater:

We plan to bring these underwater reefs to life and I hope these changes will help increase gameplay opportunities or, at the very least, make our underdeveloped underwater fauna a more interesting place to explore.

During the weekend I revamped our water optics code to improve both color extinction and scattering, and made it easier to tweak. Scatter properties now match exactly over and under the water surface, and lighting is consistent across the entire day and night as well. Also, transitions are looking more natural:

During all these changes I realized there are a couple of problems in top quality modes with regards to simulation. Both displacement and shading could be a lot better. It looks alright for now, however, and these are not super high priority but I’ll get to them sooner or later.

Next Week

Now that I’ve finished the more important aspects I can finally move on to smaller details and eye candy. I’m taking a break from water, however, to help out Taylor with a new Skin shader and Scott with some underwater FX.

]]>
Rust Devblog 83 https://rust-servers.net/blog/82/rust-devblog-83/ https://rust-servers.net/blog/82/rust-devblog-83/ Fri, 23 Oct 2015 13:06 CEST

Sentry Turrets are Online, Bug fixes, Performance Improvements and Art

 

Maurino

Sentry Turret

I finished up most of the sentry turret and it’s live on the development branch, I’ve already spotted a number of bugs but thankfully they’re all mostly easy fixes. I will continually update it based on feedback and ensure it’s balanced and ready to go for next week’s update. Next blog I’ll outline exactly how it works but if you’re itching to try it you can hop on the dev branch and give it a whirl. You can only craft it from components found at a helicopter crash site and/or supply drops

Next Week

I have some ideas for improving the early/middle game and I’m going to add some things as an experiment. I’m also going to fix a whole bunch of really old stubborn bugs that we keep ignoring. P.s. Buck is on holiday so I had to do the devblog this week, please excuse any formatting errors!

Andre

Footprints

I got started on implementing the footprint decals Scott created last week.

All animals and players leave behind footprints, though in its current state it doesn’t allow equipment to change the footstep type yet, so the barefoot player footprints will have to wait a little longer.

While I was at it I also refactored some code that was used to spawn the footstep sounds and hooked up the stab impact effects.

Shadow Optimizations

As promised I looked into shadow performance and implemented some ways to significantly reduce the building shadow triangle count and draw calls.

I added simplified proxy shadow casting geometry to all of the building blocks, which greatly reduced the amount of triangles that have to be processed every frame. Once that was done I added our custom geometry batching to the shadow casters to further speed things up.

On my machine both of those optimizations yielded decent performance boosts in the test scene above. Your results may vary, but if your frame rate mostly drops around big buildings you can definitely look forward to this change. The same approach should also help us keep things smooth in the new and much more complex dungeons when they go live.

Tuesday Update

I worked on a bunch of tweaks and fixes that went live in a small mandatory update earlier this week.

Fixed roof building block conditional models
Fixed foundation step placement being blocked in certain situations
Made triangle floor deploy volume in line with the triangle foundation
Added UI warmup to reduce stuttering when opening certain UI panels
Allowed upgrade / rotation when inside certain building deploy volumes
Made the building block rotation and upgrade error messages more descriptive
Fixed projectile ricochet chance being far higher than intended
Disabled sound voice limiter priority sorting (back to first in first out for now)
Fixed campfire building prevention collider reaching beneath the campfire
Fixed door collider not being solid on the server right after placement

Next Week

Finish up the footprints and shadow optimizations for testing on the dev branch, then move on to the building and stability overhaul.

Diogo

This weekend I spent some time tracking and fixing a Linux crash – happening at startup self-check – preventing users on that platform from launching the game. Turned out to be related to a Unity issue causing an unexpected change in order of operations during graphics initialization. It should run properly now, even though some non-critical optimizations are temporarily disabled, so please let us know if this isn’t the case.

After taking two of days off this week, I got back to memory leak analysis and eliminated all the relevant leaks I could find. While none of them were too serious, any little bit helps in this regard. We suspect the larger, more unpredictable leak to be attributed to a UI-related problem that was fixed in Unity 5.2.2f1.

Sorted out a nasty visual issue causing some transparent objects to be drawn under rivers, instead of over them, like placement gizmos, holosight, powerlines.

Next Week

Right now I’m working on improving underwater surface rendering, for when the player is submerged; it’s been consistently postponed due to other priorities, but is now in desperate need of attention.

Vince

Another week where I do not work on what I had betted on in the previous devblog! But it’s good for you guys, instead of having gates skins that won’t be implemented yet, you’re going to get new content right into your hands shortly. After a chat with Garry we decided it would be better for me to spend time on new content that can be derived from our existing code/tech. It just so happens we have the signs in for a long time. It’s a very strong feature of the game so far, but I believe we can expand on it. I tried to reward all types of people who use signs, we have hanging signs for shop owners, signposts and community signs for villagers, and painting frames in various new sizes for Artsy people.

 

I also changed the way the larger wood signs are placed ingame, by requiring more precision on your part. This should limit the abuse of signs being placed as cover, or used to limit access to radtowns and monuments. By now if you want to plant signs on surfaces other than vertical surfaces in general, you should look at standing ones.

Obviously I do understand that if you used the wooden signs as cover it’s because our current cover deployables are not to your liking. One of my next tasks might be to re-evaluate the amount of cover these provide, in order to make them useful on the battlefield.

Next Week

I am currently working on Banners, there’ll be two type, one you can hang on walls, and one that will stand fiercely atop a flag pole. The banner should be paintable just like signs, and big enough to pimp your clan.

 

Gooseman

Work continues on the M249. I finished the hipoly version of it and am currently in the process of running it through Mudbox to give it fine details like small screws / dents / scratches / etc.

 

 

Next Week

After I’m done working with the M249 in Mudbox, I’ll then retopologize the hipoly into a lowpoly vesion and bake the normals, and finish off the texture.

Tom

So last week I weighing up whether it would be better if I worked on a new weapon or worked more on add-ons. I chose add-ons so you guys, when the time comes, can have more customisation over the weapons we currently have. So i’ve started off with the AK47. I’ve taken the alternative ak47 concept that Paul drew and i’ll be adapting the parts/chunks to be used as alternatives swappables for the current AK47, so there’s more variation.

I’ve got some good progress on the new stock and I’ve begun sculpting the mesh for the alternative grip/trigger.

 

I’m actually really excited about this for some reason. I feel it will bring a lot more “personality” so to speak to the game and begin a sort of Rifleman’s Creed mentality, if that hasn’t happened already ;)

Next Week

Next week consists of lods for the alt stock and texture optimisations for it for Unity. The textures you see at the moment are at full res and i’ll be tweaking the frayed edges of the wraps too to make them sit a bit better. Hope ya’ll have had a good week in Rust.

Alex Webster

Two words, throwable rocks !

Here’s some footage:

I’m hoping it adds something extra to melee & also makes new starters more of a threat. We’ll see how it plays out though.

At the very least, it’ll make this trusty old friend even more entertaining in beach fights, protecting your towers, games of rockball, writing S.O.S in the sand………

Next Week

More throwable things

Alex Rehberg

This week I’ve mostly finished off the auto turret sounds. There’s a few more little details that we want to add but the main bits are all done. This thing is awesome. I can’t wait to get killed by it.

I’ve also been experimenting with a few alternate ways to handle ambience. Right now we have a few objects (ambience nodes) that surround and follow the camera’s position, but not rotation. The ambience nodes check the weather and the biome they’re in to decide which ambient sounds to play. This works fairly well. We get things like only hearing wind blow through tree leaves on one side of you if you’re standing near the edge of a forest, which is nice.

There are a couple downsides to this system though. We’re playing a bunch of loops at once, so if we try to add details to the loops it gets a bit lost. Additionally, because all of the ambience plays from the ambience nodes and isn’t tied to in game objects at all, if you’re in a field when it’s windy and you approach a bush, you won’t hear the bush’s leaves rustling in the wind at all. These aren’t really big problems but I’d love to make them disappear.

I spent a bit of time polishing helicopter sounds, doing a first pass at landmine sounds, and working on stone tier construction sounds as well.

Next Week

Next week I’ll be finishing up the landmine and stone construction sounds, continuing the ambience work, and working on underwater sounds to go with some of the effects scott has been working on.

Scott

Rocket Launcher Effects

Spent half a day getting to know how all the effects work and did a pass on the basic rocket and launcher effects.

Water Effects

Started working on a whole set of water effects. Really want water to feel consistent with every interaction player have. Diogo and I have been talking about working on fogging and reflections so we can get the underwater environment way more accurate and moody.

Underwater bullet trails

Video Player
 
 
00:00
 
00:17
 
 
 

Underwater bubbles

Video Player
 
 
00:00
 
00:08
 
 
 

Explosion Effects

Continued improving the explosion effects by doing a basic rocket explosion.

Video Player
 
 
00:00
 
00:15
 
 
 

 

Started work on the water impact effects but there isn’t anything to show yet.

Next Week

Going to spend most of my time on water effects next week and finish off the basic rocket launcher effects.

Howie

This week started with me exploring another form of transportation, bicycles! I imagine these could work in a modular fashion just like the cars.
1

Shortly after finishing the bikes I was asked to think about player made decorations and monuments. Here are a few initial ideas:
2

I felt like the smaller decorative items were working, like the head on a pike and the training dummy guy, but the larger totem pole, stone statues, and metal sculpture I felt were taking too much creativity/personal investment away from the player.

So then I tried this idea:
3

I took the totem pole I had from the last set and combined it with the idea of players piecing together their own unique monuments. Players earn totem pole pieces when they complete specific goals/milestones. Then players can stack these pieces creating their own unique totem pole. Each totem pole would tell a history for any player/group and would motivate players to collect the hardest to get pieces for bragging rights.

Next Week

Since I’ve been thinking about this totem pole idea for a little while I’d like to expand on it some more, design more stackable pieces and maybe think about other forms a player made achievement monument could take.

Paul

Carried on with drones this week, taking some thumbnails into 3d and playing about with them, still searching for the right feel at the mo but the one i’ll put up is starting to head in the right direction, want a bit of a ‘big brother is watching’ feel to these so trying to base the main body somewhat to give a cctv camera vibe. Also it’s cool to see that people liked the rifles i did last week, even tho i noticed ppl calling them m1 garands/m14 when really they are just meant to be their own diy thing, made from scratch – they will simply fire like a semi-auto (perhaps at most have a 3 shot burst) but be really clunky and unreliable, guns should be a lot rarer i feel and the ones most achievable like these should be super ghetto diy and probably quite unreliable. anyway i’m finalising the design now for the the semi auto and just sorting out a ¾ view for tom who seems eager to jump in on it as the resident awesome weapon modeler!

Next Week

Working more on drones and the crafted semi-auto, scientist too but they’re not super crucial at the moment so they’ll probably get looked at with any spare time i have.

Taylor

I’ve made some changes based on some of the feedback from last week. The head should feel more realistic now with a normal sized forehead. The shape of the skull and brow still needs some work although that should be easy to fix. It’s worth noting that the skin is baby-smooth right now but I’ll be adding layers of detail on top of it. In fact it’s important to keep it smooth at this stage so that the mesh stays easily editable. I’ve included the old model for comparison on the right.

I’ve started making some changes to the body as well, but I’m still trying to get a good balance of muscle/fat going. I know it’s not there yet so this is very much still a work in progress.

I’ve also spent some time working on the low poly as I mentioned last week. The benefit of this means I’ll be able to really quickly bake down maps for testing this stuff in real time.

Next Week

Finish changes to the body and the low poly. Start working some detail into the head and start some real time tests.

Source : http://playrust.com/devblog-83/

]]>
Rust Devblog 82 https://rust-servers.net/blog/81/rust-devblog-82/ https://rust-servers.net/blog/81/rust-devblog-82/ Thu, 15 Oct 2015 22:45 CEST We call this shot Everything On At Once.

Jack-o’-lanterns, a reworked options menu, better building colliders, the first step towards painting the inside of your base, further adventures in optimisation, and more.

 

We found some last minute problems with the patch – so we’re going to delay it. It’ll come out sometime between today and tomorrow – or whenever it’s been fixed and tested right.

Garry

I haven’t got much done this week, because I spent the first part of it throwing up and shitting a lot. But I did get a few things done.

Options Menu

The options are now available in the main menu. The F2 menu is gone. This is a shame because tweaking settings while being able to see what they’re doing was useful, so I’ll probably bring the F2 menu back in some way.

There were a few problems with only having the F2 menu. You might want to change the volume controls before joining a game for example. There’s a bunch of options in the F2 menu that have nothing to do with graphics, like the sound settings, gib count etc. These make sense to have in the main menu. Plus there’s a worry that people don’t know about the F2 menu, so they’re playing with a bunch of settings enabled and getting shitty performance because they don’t know how to tweak.

But the biggest reason is that eventually we want to get rid of the Unity resolution picker pop-up at the start of the game, so we’ll have to have an options menu anyway. This will be a good place to change the resolution and change controls.

The menu is still in a bit of turmoil right now, so don’t judge it too hard, I was going for functionality rather than aesthetics.

Performance

I’ve been thinking about performance and doing a few tests. I added something to last week’s patch that let us query everyone on a server’s performance stats, so we can see what performance is like for them. The issue with that I guess is that the people who get 6fps probably aren’t playing because of it, so we can’t query them.

It’s useful though, because we can verify stuff like that the memory leak still exists. We updated to Unity 5.2.1p3 this week and the leak still seems to exist. Unity have been fixing a few memory leaks in the UI system–which seems like it could possibly be the cause–so we’re hopeful that it will be fixed in the next Unity patch.

Anyway. I’ve been looking at the impact that shadows have on performance. We’re going to look at a few tricks to make the rendering of them faster. I’ve added a new option to the options menu that lets you select shadow distance and cascade count. If you’re getting shit framerate in the higher graphics modes, changing the cascade count to none will give you much better performance.

Here’s a poll about performance.

 

Andre

Building Collider Overhaul, Part 2

The new building colliders have been on dev since earlier this week and I’ve been working together with Vince on updating all of the building collider meshes to new, more accurate ones. Because this is such a fundamental change, the new colliders caused a couple of regressions that had to be addressed, which took up more of my week than I would have liked. It was all stuff that needed to be done sooner or later though, so I feel good to be done with it.

Prefab Preprocessing Warmup

I finished up the prewarming step for prefab preprocessing, which will get rid of some remaining framerate spikes when an object is encountered for the first time. It’s now enabled by default and can be disabled via the “prefabwarmup” convar.

Fixes

Most of my week went into fixing bugs that have been reported reported via the new bug reporting tool.

  • Fixed mining quarry / pump jack sounds not turning off properly
  • Fixed mining quarry / pump jack sound pitch modifiers not being applied
  • Fixed radiation overlay never stopping its most recent sound
  • Fixed barricade / spikes / compound wall damage trigger effects
  • Fixed barricade placement on terrain being a pain in the ass
  • Fixed lantern sound errors
  • Fixed lantern spawning in the lit state
  • Fixed various sound issues when using prefab pooling
  • Fixed various sound issues related to voice limiting
  • Fixed grass hovering slightly above ground
  • Fixed forest grass texture stretching
  • Fixed supply signal effect instantiation errors
  • Fixed sound template serialization errors
  • Fixed various inaccurate building deploy volumes
  • Fixed building part rotation exploits
  • Fixed foundation cupboard exploits
  • Fixed server side batched colliders not refreshing after building part rotation
  • Fixed client not updating building block grades / protection properties locally
  • Fixed various building stability weirdnesses
  • Fixed furnace light shadows not fading out
  • Fixed potential NREs in server RPCs
  • Fixed trees being impossible to gather from if not standing at their base
  • Fixed certain situations that could spawn incorrect decals / particles

Other Stuff

  • Enabled server side collider batching by default
  • Switched server side line of sight / distance checks to the entity API
  • Added mesh batching to pumpjack and quarry
  • Added diagnostics to server spawn handler report
  • Added socket mod names to the socket placement fail messages
  • Added test radiation zone to CraggyIsland

Next Week

Garry and I have been tossing around ideas that could speed up shadow casting on pretty much everything, so I might investigate some of those next week. My ideas for building and stability 2.0 are also starting to come together, so I’m hoping to dive into that soon.

Maurino

I was on vacation this weekend and shut my computer off before I left, and when I returned Monday it wouldn’t boot. Turns out my SSD was in the process of dying. I recovered some of my data but spent the week getting my computer back in its feet and didn’t have enough time to finish the sentry and merge it into main. As per our new policy regarding stability there’s no way I’m putting it in game with just a couple hours of testing, so unfortunately it’ll have to wait until next patch :(

Diogo

I’ve been spending some time on the native part of the code looking for memory and stability issues. Recently I’ve also found some robust tools to help us track down memory leaks, not only in our codebase, but in Unity as well. I might have more news about this next week. Fingers crossed.

Two important visual fixes into this one. First up, rivers were still using the old shader on the Steam build. So that’s fixed:

I introduced some artifacts in water local reflections caused by back reflection while attempting to remove some other artifacts, caused by failed tracing (white dots). While this can’t be avoided 100%, it can still be drastically reduced:

Pushed a quick fix for the flickering clouds some people were having and fixed a performance problem affecting River-less maps.

Next Week

Finish memory tracking analysis, fix whatever is necessary – if applicable – then get back to pending tasks.

Vince

Halloween is coming soon, and I saw a few mentions from players saying they’d like to have some seasonal items to decorate their homes with. So I took some time on Monday this week to convert our normal pumpkins into Jack-o’-lanterns. The lantern will burn the minimum amount of wood for fuel, and drops as a common item from barrels right now, and will remain common until Halloween is over, then it’ll be very rare. The reason I decided to have it drop from barrels and not from your plants is to avoid having players farming tons of pumpkins and thus having point lights by the thousands on screen at the same time.

I’ve also reworked our basic building blocks collisions to stick closer to the skin of what you see, allowing much more precise cover/shooting around them. You can also walk under your twig and wood foundation blocks with ease now. This and other upcoming changes into the building system should improve the way we build our bases, visually and also from a stability point of view. At the moment the building blocks allow all sorts of glitchy bases that we don’t support, and we will be working towards fixing that. For those who are waiting for Dungeons greybox levels to be released that means it’ll come later, as it needs to be synched with a wipe cycle.

Aside of these two things, I have reworked our quarry, pumpjack LODs, so you should now be able to stand on the moving parts while it functions.

I also made some interior building blocks to support building skins, some basic wallpaper and carpet floor textures. The idea is to empower you guys into making your base interior look the way you want it to be. This is just the first pass on this. It shouldn’t be that hard to implement, as we split interior and exterior parts of our walls. What I did here is really just to facilitate Garry’s work for when we get this done.

Next Week

I’m gonna say the gates skin and the military dungeons greybox based on what Howie has come up with.

Gooseman

This week I started to work on the M249. Initially, I was going to take the current M249 model that is attached to the helicopter, but upon closer inspection I noticed it lacks the detail required for a view model. I decided to create a new M249 model and this is the progress I have so far with the high poly version.

I also modified the deploy animations for a bunch of the firearms. Previously, there was an issue where if the player immediately went into iron sight before the deploy animations was completed, it would look really shitty. I fixed that up, so it’s much smoother now.

Next Week

Continue working on the M249 model.

Howie

I worked up another idea for a hub room for the military tunnels this week. I’m trying to make this area a little more interesting for PVP. I also want players to feel little lost when navigating these tunnels, so I have a few large drainage/sewer pipes leading to it, but players will have to find another access point to actually explore: the pipes are so high up it will mean certain death for anyone who tries to jump down.

Next Week

I’ll probably take a little break from these military tunnels, but I want to come back and do some smaller rooms/hubs. The epic hub rooms are sweet, but I think there needs to be a balance with some less expansive spaces. I also want to do some more work on cars and other forms of transportation which is probably what I’ll have for next week.

Tom

I’ve finished up on the holo sight texture, here is what it looks like so far.

I’ve also finished up on the LODs on both the holo sight and the AK47, and I’m in the process of getting them ready for implementing in game. You can take a look at both the AK and the holo sight here.

Next Week

Next week I really want to take a look at either working on some more weapon attachments, or Paul’s new weapon that he concepted last week. But I’m thinking attachments are more important.

Xavier

It seems I alternate between states of “yay!” and “boo!” for these updates. Thankfully, this week is a “yay!” After having crap luck over the past couple of weeks with everything from hardware and software issues to being sick, I finally have a bunch of stuff working that’s almost ready for action. So yay! Here’s some generic clothing.

Next Week

Next week I should have some more clothing pieces done, but I’ve also been toying around with some ideas for things like makeshift tents, inflatable rafts, and various other items that fit within my specific skill set. Even if they don’t make it into the game, they should be some worthwhile explorations to drive more useful ideas.

Taylor

More work on the player character this week. I went into a bit more detail on the face and I’m kinda happy with how it’s looking.

I’ve made some small changes to the proportions of the body and I’m in a position to move onto the next step. You should be able to view the mesh in 3D using the marmoset viewer below!

Next Week

I’m going to create the game-ready version of the mesh earlier than usual, and project the detail I’ve got onto a high resolution version of the in-game mesh. This will allow me to use a system of layers in Zbrush to add detail which makes the mesh much easier to work with and means wrinkle maps and stuff are easy to make. It will also mean variations should be really simple to create as they’ll have the UVs and low poly geometry already set up. I’m hoping to have the in-game mesh done and be working on the detailing by next week.

Alex Rehberg

This week was pretty straight forward. I spent a good bit of time working on the turret sounds. These aren’t quite done yet, but I might have time to finish them up tomorrow (I’m not sure if Helk is done with the turret yet though).

I spent a tiny bit of time working on a lowpass filter in the Unity Native Audio Plugin SDK as well (for better underwater sound filtering), but this has mostly been me doing research while my ears need a rest. The Native Plugin SDK seems cool, but there doesn’t seem to be any way to apply a DSP effect written with the SDK to a single AudioSouce, which is a bummer. We could still implement these effects with Audio Filters, but it sucks a bit that Unity’s custom DSP capabilities are fragmented like this.

I got a bunch of other random stuff done this week too:

  • New construction sounds.
  • Sounds play when you upgrade building parts.
  • Salvage icepick deploy sound taps won’t play if you put the weapon away before the deploy animation finishes + the taps sound less ridiculous.
  • Grass impact sounds for melee weapons.
  • Cloth impact sounds for melee weapons.
  • The rock weapon impact sound doesn’t sound so much like a landslide anymore.
  • More polish on the large wood gate sounds + bullet ricochets.
  • First pass at sounds for the survey charge.
  • Consistency/polish pass over the super distant gunshots.

Next Week

Next week I’d like to spend some time doing some more general polish and smaller one-off sounds (active item breaking, researching items, fire damage, etc). I’d also like to try out an alternate approach to handling ambience that I’ve had in my head for a little while.

Scott

Explosions

I was getting bored of creating endless decal, so I spent some time making new explosion effects for the C4 and Grenades.

OLD Grenade

Video Player
 
 
00:00
 
00:11
 
 
 

NEW Grenade

Video Player
 
 
00:00
 
00:09
 
 
 

OLD C4

Video Player
 
 
00:00
 
00:16
 
 
 

NEW C4

Video Player
 
 
00:00
 
00:15
 
 
 

Impact Decals

Got all the Blunt/Slash/Stab decals done, so if you want to run around hitting dirt with your bone club you will get some feedback.

Footprints

Did a bunch of footprint decals for the animals and players. They ain’t hooked up yet but hopefully that will happen in the next couple of weeks.

Video Player
 
 
00:00
 
00:15
 
 
 

Animal Impact Effects

After culling most of the impacts a couple of weeks ago I spent some time making the remaining ones for Sand/Snow better as they look very dark/weird.

Next Week

  • I would like to look at building destruction, construction and collapse effects.
  • Take a 2nd pass on the rocket effects.
  • C4, Grenades and Rocket explosions should have impact decals so get those done. They probably won’t be surface dependant to start with as they are going to be big so the chances of them being applied across terrains is more likely and that would look weird.
  • I talked to Diogo about a new water particle shader this week. If he makes any progress I might get to do some experiments on water effects like splashes, waterfalls etc. Hopefully this will be the beginning of me being able to start looking at underwater effects too as currently swimming underwater looks and feels pretty shitty.

Paul

I had a chance to work up some new stuff for rust this week, alongside working on another project: there’s talk about some kind of weapon to bridge the gap between the bolt-action and higher powered SMG/rifles, so I thought working up some ideas for a semi-auto rifle, similar to an M14/M1 Garand, would be cool. I made them look sorta clunky and more DIYish, similar to the crafted smg.

I’ve also started working on early silhouette ideas for an NPC drone that will have some role to play in the future around higher loot locations. With the possibility maybe for these to be repaired and used by players to fly about and scout/spy on bases from the air, these are gonna be based somewhat on the real drones you can buy today with either quad or tri rotors and probably slightly more armored up and military looking with cameras on (I won’t say where their image feed is going too just yet :p).

Next Week

I’ll carry on with the drone concepts, taking them into 3/4 views and working out their designs further from there. I’ll also starting early idea sketches for a scientist NPC that will have a role to play in future.

Source : http://playrust.com/devblog-82/

]]>
Rust Devblog 81 https://rust-servers.net/blog/80/rust-devblog-81/ https://rust-servers.net/blog/80/rust-devblog-81/ Thu, 08 Oct 2015 21:37 CEST

The first look at the new auto-turret, more work on balancing the bow, we added an in-game bug reporter, we have a poll on what we should be focussing on, and lots more.

 

Maurino

Bows

There has been a lot of public outcry regarding my recent bow changes. Let me explain my thought process regarding changing the bow to behave as the early game weapon it is supposed to be, and some of the good points brought up by the community that lead to a few changes coming down the pipe.

The bow was never meant to be a super strong PvP weapon; it was supposed to be for hunting animals and having a ranged advantage over other new-ish players. In Legacy Rust, no-one even considered using a bow in PvP. I think everyone is used to it how it is because no attention has been paid to it for 6 months.

When implementing the bow, I made it extremely noob-friendly by giving arrows a very large hit radius. This means there is a large ‘grace’ area you can miss a target by. Here is a comparison of the arrow vs a bullet:

Check that out! The arrow is the large circle on the right, so you can miss by half a foot and it’ll still count as a hit. This was intended because the bow wasn’t supposed to do high damage. I envisioned people firing a few arrows off to soften a target up at range (and perhaps kill), and then have to switch to melee if they got too close. It was never, ever intended to be as good or better than a firearm. Even with the nerfs, people prefer a bow over a revolver. The bow does 50 damage with a large grace area, has a 1.25s repeat rate, and is a default blueprint that takes 5 minutes to gather the ingredients to craft it. It’s overpowered, but if you’re picking a bow over a revolver the game is broken. Maybe this is indicative of a larger gameplay problem regarding difficulties obtaining mid-tier items. We’ll have to investigate

That being said…

The changes didn’t pan out exactly how I wanted them to. It was nerfed a little too much. I’m going to amp up the headshot multiplier for the arrow so it kills true naked people with one shot to the head regardless, but I’m also going to decrease the grace radius so you have to actually be more accurate with it. This should be a good middle ground until we add a compound bow and take another hard look at the bow gameplay.

Auto Turret

I’ve been working on an auto turret, which should help defend your base from offline raiders. As with everything we change or add, I’m sure there will be 50 reddit threads talking about how we’re a bunch of morons who fuck the game up and it’s ruined now and everyone is uninstalling. Let me give you some information to hopefully mitigate that response:

  • 180 degree firing arc, back is vulnerable.
  • Short range, 20-30m.
  • Vulnerable to bullets, melee, explosions.
  • Needs to be loaded with ammunition.
  • Can only be crafted with parts found in the world/from events – not raw resources.

This is a long time coming and I really hope it improves raiding for defenders and attackers, as well as making offline raiding require a bit more thought. I hope it modifies how people decide to build bases, with corridors and overhangs, difficult places to attack turrets from, etc. Only time will tell though, and as with everything we add or change, nothing is set in stone and we will adjust it until it’s fun.

Video Player
 
 
00:00
 
00:12
 
 
 

Next Week

This will be my last foray into the endgame content for a little while. It’s time to take a hard look at the early-to-mid game. We need to fix it so early/mid game lasts quite a bit longer, and those players have more options and things to do. We also need to look at why there are so many encounters between endgamers and new players and try and make the maps a little more geographically important to spread tiers of players out a little bit more. Lots to do!

Garry

Stability, Bug fixes, Optimization

We made some good moves towards making shit more stable this week, after last week’s disaster of a patch. So we have most of the major bugs fixed, I think. I added a bug reporter in game. You can press F7 to report a bug, and it will send along all your system specs and stuff. This makes it easy for us to narrow problems down based on server/version/specs.

I did a performance pass on some client stuff. There was an issue with the blueprints, they were causing a freeze when opening the inventory menu. Grass displacement is now optional. Some other smaller stuff that probably has no benefit but I did it anyway.

We’ve been putting updates out every day this week, so you probably already have most of these changes. The server you play on might not though. We’re forcing a server update tonight though (not a wipe) – so all servers should be updated and benefit.

Memory Leak

The memory leak is ongoing. We’re still investigating. Unity doesn’t have a way to see how much memory the program is using at runtime, everything useful is hidden away from us. I’ve added a bunch of functions in c++ to get the memory usage. I’m hoping that we’ll be able to spot a pattern somewhere which will tip us off and help us out.

Poll

 

Next Week

I’m going to keep on the optimization for another week. I feel like I’m doing some good things. We decided that we’re not going to wait for Unity 5.9 or whatever to make the AI better, so I’m gonna do a few experiments with making it less terrible and adding zombies.

Andre

Collider Batching PSA

I had to disable collider batching last week due to a last minute issue that occurred for certain building parts when their colliders were no longer convex. I solved the problem last Friday, but kept collider batching disabled by default to make sure any issues we’ve been debugging this week were unrelated to it.

If your server closes in on the collider limit, you can enable collider batching by adding “batching.colliders 1” to your server startup parameters. If everything goes according to plan I’ll re-enable it for all servers next week.

Building Collider Overhaul

For building colliders to be batchable we had to switch to concave colliders for all buildings. This broke a bunch of stuff like the placement of various deployables on foundations, which I fixed in the hotfixes following last week’s update.

The good news is that concave building colliders also mean we can finally use more accurate colliders for buildings and allow you to walk around beneath wood and twig foundations. While I was at it I also took on a series of long-standing exploits related to building piece rotation, and I’m hoping to get these changes to dev early next week.

Console Improvements

I fixed a couple of issues with our in-game console. We now no longer refresh the console text if the console isn’t even open, which could cause performance problems in the past when for any reason errors were being spammed. While poking around in the code I also made it such that the console contains all messages that have been logged before it was opened for the first time.

Sound Improvements

As you may have noticed the last minute sound changes caused a bunch of problems last week, and I’ve been working together with Alex on dealing with the aftermath. I also took some time to profile the audio systems and found and fixed a few performance bottlenecks. The one with the biggest effect should be the fact that ambient sounds are now loaded in a background thread, which got rid of some significant frame rate spikes.

Prefab Preprocessing

As you may know we’re already warming up assets and shaders when joining a server for the first time. However, our prefabs still have to go through a preprocessing step the first time they are instantiated, which can take multiple milliseconds, so I got started on a preprocessing warm-up option to avoid doing this mid-gameplay.

Other Stuff

  • Fixed random “Look rotation viewing vector is zero” warnings.
  • Fixed DDraw shader (old one was deprecated in Unity 5.2).
  • Fixed foundation pickaxe exploit.
  • Fixed rocket and grenade damage against structures.
  • LOD grid no longer logs errors when objects move their cell.

Next Week

While working on the building collider improvements I noticed a couple of things that have been in their first rough implementation for probably close to a year now, talked to Vince about things he dislikes about our conditional building models and assembled a list of changes for the near future. Most items on this list will fix annoying outstanding issues, some will improve performance, and some will allow for new features like structure aging. I’m planning to get these things done before going back to terrain and dungeon improvements, but we’ll see how things turn out.

Diogo

Due to some stability issues last week, we held off merging Water 2.5 into stable until those were sorted out first. I started working on some back-end native code changes and updates before I started getting bug reports a couple of days ago.

These are issues I’ve fixed in Water 2.5 since then:

  • Fixed tessellation/displacement in low quality modes.
  • Fixed white ‘sprite’ issues caused by mishandling of fog in additional light passes.
  • Fixed water rendering order.
  • Fixed SSAO artifacts caused by water.
  • Fixed rivers getting ocean wave displacement.
  • Fixed ocean rendering gaps.

Next Week

I’ll be finishing native-side work regarding workflows that will be deprecated sometime after Unity 5.2, as well as deploying some profiling tools to native code in order to track down on memory leaks on that part of the code. If enough time is left, I’ll maybe tackle some long standing smaller extras that have been on the list for a while, like particle fog, shore foam and more heterogeneous shore wetness distribution.

Vince

A bit of a special week this one. While the focus is on solving the issues that arose over the previous weeks for our coders, I worked on making some art that wouldn’t involve potentially breaking stuff. I had a look at some of the ugliest temporary art we have right now and did a remake of our “beloved” tool cupboard. Even if the long term idea is to get rid of the tool cupboard, the model will be re-used as a piece of furniture at that point for your home decoration/storage.

Helk then asked some help getting our sentry turret ready, so I helped at first by whiteboxing a quick model over one of our concepts. I should have final art for this baby in the next couple of hours. Obviously, since the word this week is stability, none of this should be available to you, yet. Soon™.

As you can see from the header, we went with number 3.

Next Week

I didn’t work this week on what I had thought of doing last week, which means I’m pretty terrible at guessing. This week? Some pressing issues regarding colliders accuracy on building blocks, I’m guessing.

Gooseman

I finished the low poly versions of the silencer, the flashlight, and the lasersight.

This is what they all look like when attached to an AK47.

Next Week

I will work on LOD models for the helicopter, and make a viewmodel of the m249 machine gun so they player can pick it up and use it from a crashed helicopter.

Alex Rehberg

This week I finished reducing GC (Garbage Collection) allocations in the sound and ambience systems and did a little bit of clean-up work there. This won’t make a huge difference, but every little bit helps.

I finished up large gate open/close sounds and bullet ricochet sounds, and I also made a sound for when you bury the small stash, and started working on sounds for the auto turret (power up, power down, destruction, turning, etc).

Earlier in the week I got the urge to challenge my synthesis skills by seeing how well I could create ambience (background noise, wind, crickets, birds) without using any pre-recorded sounds, so I spent a day on that. I thought it was going to be really tricky, but I ended up really happy with the results! These sounds will work their way into the game in the next ambience pass.

I also spent a little bit of time exploring Unity’s Audio Plugin SDK this week. DSP effects can be really powerful (that’s how we make everything sound muted when you go underwater) but Unity’s DSP effects don’t sound very good, so we haven’t been leveraging them much. I’ve been learning a lot more of the nitty gritty technical side of how a lot of audio effects work in my free time lately though, and I’m hoping to use that knowledge to fill some of Unity’s gaps in the future.

Next Week

I’ll be finishing up the auto turret sounds and knocking items off my list of small things that need love (survey charge sounds, salvage pickaxe polish pass, melee grass/dirt impact sounds, etc).

Tom

Finished up on the AK47 texture with one or two things to tweak. I’ve set the materials up in Unity ready for LODs.

I also quickly worked on the makeshift holo sight that Paul concepted–which by the way is awesome–so here is the zbrush sculpt.

Next Week

Next week I should be back in the office and back onto the LODs! Huzzah!

Howie

I worked on a central hub area for the underground military tunnels. If you remember from a few weeks back when I showed the access tunnel, I’m imagining that this hub area is where that tunnel would lead.

I also worked on a few more skins for the wood gate.

Next Week

There’s no reason we can’t have multiple hub rooms for the access tunnels to lead to, so I’ve already started blocking out another idea. Expect to see it next week.

Scott

  • Added a bunch of blood splat decals to apply on surfaces behind characters who have been shot.
  • Removed the majority of footstep impact effects from the animals. Just leaving effects for snow, sand and water.
  • Found we have the concept of “stab”, so started working on effects and decals for when players and animals get stabbed by spears, knives, etc.
  • Working on the stone bullet decals. Tricky as then need to work on all types of stone.
  • We now have entrance and exit bullet effects. Nothing is hooked up yet, and because the system for blood impacts is slightly different from the standard particle effect system it’s going to take some work to get it all working.
  • Reduced the number of feathers the chicken sheds when flapping.

Next Week

  • Hopefully get all the blood assets ready to be stitched together.
  • Some final bullet decal work.
  • Get all the Blunt/Slash/Stab decals done. Should be easier than bullets as melee weapons can’t do that much damage to surfaces.
  • Really want to start on footprint decals next and continue my work on the sand,snow footfall impact effects.

Taylor

I’ve made some tweaks to the body sculpt I was working on last week. It should feel a bit more balanced now, but still needs a bit of attention before I can start detailing. I also started looking at the proportions of the head. It’s intentionally still quite rough at this stage, but I’m trying to keep everything nice and loose while I fix the proportions.

Next Week

Try and nail down the body proportions ready for detailing. Start giving the head a bit more of a gaunt, malnourished feel. Right now it’s a bit too “default guy”.

Xavier

Some miserable virus has been trying to destroy my body lately, so I haven’t been able to get much work done. Kill me.

Next Week

Hopefully next week I won’t have as much crap luck with computer issues and/or my body disintegrating as I have over the past couple of weeks.

Source : http://playrust.com/devblog-81/

]]>
Rust Devblog 80 https://rust-servers.net/blog/79/rust-devblog-80/ https://rust-servers.net/blog/79/rust-devblog-80/ Fri, 02 Oct 2015 12:55 CEST

Napalm, small stashes, and lots of optimisation. We’re wiping this week, too.

 

Maurino

Helicopter 2.0

Wow! You guys rekt that thing. I watched many encounters of the heli being completely owned without taking a single life. Turns out there was a bug making it super easy to be taken down. The chopper had 100% penetration values set, this means any bullets would go right through it like a laser beam damaging every hitbox inside it, so you could simply shoot from under it and the main rotor and engine would be destroyed! This is now fixed. Even that isn’t enough, though. So I’ve made the following balance changes and fixes

  • Door guns fire slightly faster.
  • Door guns do slightly more damage.
  • Larger gap between door gun bursts.
  • 2.5x health for the tail rotor and engine.
  • Smoke on the weakspots appear when they are at 50% health instead of after one shot.
  • You can no longer use tool cupboards to prevent rocket strafes.
  • Loot crates are actually unlootable until their flames go out.

Also, this :

Some clever players figured out they could constantly circle around a piece of cover indefinitely and solo the helicopter. Welp that’s over. Now when you deal a significant chunk of damage to the helicopter it’ll blanket the area the damage came from in napalm, forcing you to move. I hope this makes it so it takes several players in multiple positions to take out the helicopter.

Another change I made was the ability to harvest the helicopter gibs! They’ll provide you with some metal fragments and high quality metal, but be careful they’re hot! You should wait about 8 minutes before attempting to harvest them.

Bow Changes

Everyone in reddit is all up in arms about the bow changes I introduced (without trying them I might add) so let me fill you all in on what I changed and why:

  • Bow repeat rate is slightly slower.
  • Bow has a little more aim sway.
  • Headshots with the bow score 120% damage instead of 300% damage.
  • Crossbow fires arrows with a much faster velocity (50% bonus instead of 20%).
  • HV arrows are ‘thinner’ vs wood arrows (need to be more accurate with them).

I did these changes because the bow had some of the highest DPS in the game, was the easiest weapon to obtain, and you could one shot a fully armed player with it. This was wrong. And, believe it or not, Rust is not ruined because of this change. Some people said their go to strategy was hunting fully geared players with a bow. Well you can still do that, you just have to hit them twice instead of once, so if you’re good it shouldn’t be a problem. And if that’s too hard for you then I guess you were getting lucky, which is exactly why I made these changes. It’s still just as deadly in every other way, and will take out a naked with one shot center mass.

Small Stash

I’ve added this back into the game. It’s a very small storage container for early players who can’t yet build a base, but still want to keep their stuff safe. It’s a default blueprint too! Place it on terrain and put your stuff in it. There is a menu option to bury it. Once buried, it is completely invisible to everyone (including you) it’s only revealed if someone is within 2 meters of it and looks directly at it for several seconds.

Next Week

I have one or two more tasks relating to endgamers, and then I think it’s about time to give the early game a lot more love. I’ll be doing what I can in this department.

Garry

You know how you’re all bitching about optimization? ‘When are we gonna optimize the game? I wish the game was optimized. You should take a week off and optimize the game.’ Well that’s what we’ve been doing, so don’t bitch and moan that you don’t have anything new to play with.

Garbage Collection

I’ve been continuing my work on reducing the amount of garbage we create. I’ve mainly been focusing on the server for this, but these benefits apply to the client too.

To send network messages between the client and server we use protocol buffers. We use this library, which we found to be the cleanest and fastest available at the time. It does create a lot of garbage though. By this I mean it creates a lot of new classes without reusing them. So I’ve been going through and finding different ways to do things, changed a few classes to structs, pooling a bunch of objects, avoiding foreach, avoiding new byte[]’s, avoiding creating BinaryWriters where possible. And the tl;dr is, it’s now totally garbage free writing, and reading only creates new objects when reading a string (I couldn’t get past that).

This saves us from between a few kb’s up to a few mb’s of garbage every FRAME. This makes garbage collection a lot rarer, which means that the server doesn’t stop responding every 20 seconds for 1.5 seconds while it collects it all.

Saves

Another server performance issue were saves. Every 5 minutes the server saves its state, so if it crashes or restarts it can carry on pretty much where it stopped off. This is fine in the early days of a server, but once you approach having 200,000 entities, it starts to take a long time. Between 4 and 5 seconds generally.

During this 5 seconds you’re running along as a player, other objects are stopped in place (helicopter, plane), and then when the server starts to respond again you’re zapped back to where you were 5 seconds ago. Fucking terrible.

So with a bunch of caching, the pooling mentioned above, and some cunning, I got this down in my tests from 5 seconds, to 0.1 seconds. Which is still a little blip – so the auto saves are now every 10 minutes instead of every 5.

Poll

 

Andre

Prefab Pooling

This is something we’ve been planning to do for a very long time but never have. Creating and destroying objects is a fairly expensive operation in game development in general and especially so in Unity. Not only does instantiating an object lead to relatively huge memory allocations, which have to be garbage collected when the object is destroyed, but it’s also simply a pretty slow operation in itself.

In this first iteration I added support for effects, decals, dynamic decor, building blocks and sounds. All of those have been spamming objects under the assumption that one day it won’t matter too much since we’re going to pool those instantiates and get rid of the overhead of those systems all at once.

What this means for you is less stuttering since fewer garbage collections have to be done and higher frame rates since the slow instantiate operations don’t have to be done at all as long as the pool contains game objects that can be recycled.

Grass Optimizations

Since the game is finally in a pretty good state in terms of memory allocations things that used to be fairly minor compared to the big problem areas are now turning into the new, albeit less extreme, problem areas. Grass is such a system, and since Unity just recently added new overloads to rebuild meshes with a low memory overhead, I was able to significantly reduce the dynamic memory allocations when rebuilding grass meshes. Together with prefab pooling in the other systems this really made a difference.

Cliff LODs

There was a problem with the cliff mesh LOD setup that caused them to be rendered at full quality at any distance. This probably affected performance in a negative way fairly significantly for some of you and is now fixed.

Other Stuff

  • Fixed arrows being almost impossible to fire through window bars.
  • Fixed crash in status console command.
  • Fixed building stability issues caused by collider batching.
  • Fixed entity collision event not resolving batched colliders.
  • Fixed water level test for entities with zero bounds.
  • Fixed terrain alpha cutoff range being too far away.
  • Added pooling support to all LOD components.
  • Added AssetPool (memory pool that’s optimized for Unity assets).
  • Updated CraggyIsland (dev test map).

Next Week

After weeks of mostly focusing on optimizations and back end work I’m hoping to return to working on some new map related features this month.

Gooseman

I revisited the holo sight model as it had some issues with the dents looking a bit off. It’s almost ready to go in game as I just need to tweak the texture a bit more.

I added some more wear-and-tear to the red dot add-on model. It’s almost ready, too.

I made the rail pieces that the add-ons will act as an intermediary between the add-on and the guns they’re attached to.

Next Week

I’ll finish up the textures for the holo sight/red dot and start working on the low-poly versions of the flashlight/laser-sight/silencer add-ons.

Vince

I’m back from vacation this week, and I had some gate related tasks to take care of. There’s nothing to show for this really, as most of the work I have done the last four days has been pretty invisible, but will pay off in the future.

It involved redoing things that already existed, such as animations for gates and player building doors, having them use bespoke animations as opposed to the procedural ones used so far. We also have all doors and gates sharing a same hierarchy and pool of anims, which will pave the way to easy updates and skins for them in the future. After this some more gibs, small tasks here and there. Expect the gates and doors animation stuff in for next patch.

Unfortunately I’m not pushing the dungeon branch into main for this patch as the dungeons will still need some love when Andre’s terrain features arrive. It is very likely to be for the next wipe cycle.

Next Week

I have a few leads regarding gates skins I can explore, as well as player building block skins (think wallpapers). These things should give me some buffer until I’m back working on dungeons.

Tom

More progress on the AK47. There’s some still some tweaks to do but here it is so far (there’s an extra mag in the shot, but ignore that).

The extra UV space is super awesome and it will benefit people who are making there own skins for the AK that’s already in the game. I’ll create a tutorial on how to transfer old skins onto the new mesh, but nevertheless I’m excited to see new skins you guys decide to come up with. I’ve also started the LODs for the female character considering all that I’m doing now is tweaking texture maps.

Next Week

Finalise the texture for the female and transfer the LODs over to the new AK.

Alex Rehberg

Unity uses a linear scale for volume, but humans perceive sound volumes in a logarithmic scale, so if you take a sound in unity and turn the volume down half way, it doesn’t actually sound like it’s been turned down half way. This is a little lame because the volume sliders in the editor are dominated by louder levels. It’s a lot lame because when we fade sounds in and out, they spend less time at the lower volumes, which makes the fades sound too abrupt. I spent some time this week fixing that. Transitions between different ambiences will sound smoother now, and so will all of the distance crossfades. The helicopter propellers will probably be the easiest place to hear this change right now.

I’ve started adding pooling to the sound system and fixed some bugs that arose from recycling sound objects. All the prefabs that we spawn to play sounds should be pooled now. There’s still some room for improvement here so I’ll be trying to reduce the sound system’s GC contributions more next week.

I also

  • Finished up a first pass at wooden and metal door impact sounds
  • Finished a first pass at thunder sounds
  • Increased the distance the rocket flight sound is audible from
  • Toned down the heartbeat that plays when you’re wounded
  • Made some tweaks to the bush rustling sounds
  • Adjusted the gunshot and explosion volume ducking a little bit
  • Re-setup third-person reload sounds
  • Made the reverb tail wander calm down shortly after the shot so it doesn’t sound so bouncy and ridiculous if there’s more than one or two gunshots going off at once
  • Made a few small tweaks to our audio mixer
  • Started working on open/close sounds for the large compound gates (fun!)
  • Started working on bullet ricochet sounds

Next Week

Next week I’ll be spending a bit of time reducing GC in the sound system and finishing up the sounds I started working on this week. I also want to spend some time exploring Unity’s Native Audio Plugin SDK.

Xavier

Eat my (customizable) shorts!

Next Week

More gaudy, obnoxious clothing. Also, possibly some new computer hardware for me. That’d be cool.

Paul

Tried some sniper scope ideas this week, experimenting with some more unique looking scopes like retro fitted telescope, glass bottle (bit of game logic with this one; I’m not sure 100% would work, but it looks cool), and mounted magnifying lenses. There’s also some designs that just have a cool look to them but are made from more DIY type parts: copper piping, pipe clips, cloth binding, etc. I tried to keep the attachment point pretty simple, with either a simple metal plate or just a bolt so you could stick them onto any gun and have some sort of believable way they’d stick on, letting you make some crazy p250 silenced sniper beast gun or something similar

Next Week

Add-ons, add-ons, add-ons!

Howie

I just got back from vacation, but I had a little bit of time to work on something Vince asked me to look into: creating some skins for our gate model to give it a little more personality. We want these skins to be able to work on either the stone or the wood gate, so these probably aren’t going to work since the frame of the stone and wood gates are different, but I’m going to continue on focusing on just the doors and the design of the locking mechanism while borrowing some elements from these initial designs.

Next Week

After I’m done with the gate skins, I really want to get back to the abandoned military tunnels.

Petur

A SavasIsland_koth update I made some time ago goes live this patch. The most notable change is that you can no longer build right over the construction hut, and that there is now a way for hill owners to clear existing building parts, thanks to a new rapid-spawn C4 platform that defenders can and should build around and fortify. Hopefully this means hill bases will stop growing out of control like a uncontrollable tumour.

I also made an updated map because some people are still really confused by the map:

It is worth noting that you can get good and bad loot boxes everywhere, but it is far more rare to find a metal crate on the beach than in the dome. Likewise, the only place to get exotic ammo is in the central ammo farm.

Diogo

Spent the weekend trying to find ways to speed up local reflections and the last few days cleaning up and preparing for the merge. It’s finally time to give up endless tweaking and drop it on the build.

So to recap, here’s a list of changes introduced with Water 2.5:

  • Local reflections on all water surfaces.
  • Rivers using new water shader.
  • Fixed a bunch of long-standing bugs.
  • Cleaned runtime memory allocations.

Next Week

Fixing any bugs that may show up due to new water code. Likely some more water tweaks. Native code updates to get rid of some Unity 5.2 warnings.

Taylor

I’ve been looking into reworking the male character model. I’ve mostly been balancing out proportions on the body and everything’s still really loose while we iterate. This is the progress, from left-to-right.

Changelog

Added server side collider batching to work around the Unity collider limit
Roof blocks are cheaper
Roof blocks are tougher
Fixed some effects not being recycled
Fixed ragdolls not inheriting effects (blood disappear on death)
Fixed effects dying when target object was removed
Fixed arrows being almost impossible to fire through window bars
Fixed cliffs never switching to lower LODs
NPCs die of starvation more
Completely reworked entity visibility queries, fixing various issues along the way
Server time warnings show whether it was caused by a garbage collection
Server console show garbage collection count
Added prefab pooling to effects, decals, dynamic decor, building blocks and sounds
Added pooling support to all LOD components
Optimized dynamic memory allocations when refreshing grass meshes
Objects created by the protobuffer system use a pool
Protobuffers write directly to the network stream, instead of creating a byte[]
Fixed being able to loot a corpse from far away
Increased calorie consumption
Rocket Launcher - Fixed snapping when going to ironsight, added dryfire sounds 
Hammer - smoothed out anim speeds 
Made bow viewable, fixed popping on idle loop, improved transition when cancelling shot
SMG - dryfire fix 
Salvaged sword - fixed snapping on hit reactions
Bean can & f1 grenades - Added hold state & anim while aiming
Fixed query throttle not working
Sound volumes use a scale that is closer to how humans hear
Set up third person reload sounds again
Toned down wounded heartbeat sound
Gunshots and explosions duck other sounds slightly
Rocket flight is audible from farther away
First pass at silenced gunshots
New thunder sounds
New door impact sounds
New tree impact sounds
Bush rustle sound tweaks
Calmed reverb tail wander on gunshots and explosions down a touch
Sound templates are pooled
Arrows, spears and sign world models gibs
Auto saves are every 10 minutes instead of every 5
Developer 1 only works if you're a developer/admin
Updated EAC
Errors/Exceptions are highlighted red in the server console
Errors/Exceptions on server log the stacktrace too
Improved gib performance
Impact effects now get the exact terrain material at impact (sand, dirt, …)
Added correct AI obstacle shapes to building pieces
Fireballs use better sound balancing (client side performance)
Run the garbage collector in the loading screen (join, respawn)
Added deploy volume that uses the newly added unified entity OBB
Clamp AF between 1 and 16 (fixes silent errors)
Fixed crash in status console command
Fixed building stability issues caused by collider batching
Fixed entity collision event not resolving batched colliders
Fixed water level test for entities with zero bounds
Fixed terrain alpha cutoff range being too far away
Updated CraggyIsland (dev test map)

Source : http://playrust.com/devblog-80/
]]>
Rust Devblog 79 https://rust-servers.net/blog/78/rust-devblog-79/ https://rust-servers.net/blog/78/rust-devblog-79/ Fri, 25 Sep 2015 12:28 CEST

Non-patch week, but we’re busy investigating and optimising, and we have an important poll about gunplay.

 

Maurino

Helicopter Fixes

I spent far too many days this week observing the helicopter in action and calling it in on unsuspecting players (sorry about that), but I did learn quite a bit about how players are dealing with it and found quite a few bugs/exploits. It’s amazing how much you test and try and balance something beforehand and how quickly it all goes out the window when the community gets their hands on it. I’ve seen countless helicopters shot down without killing anyone. Here’s a list of changes to expect to show up on Dev this weekend

  • Tool Cupboard ‘exploit’ will be fixed.
  • More rocket strafes in general, not just when target line of sight is lost.
  • Door Gunners will switch targets on the fly instead of spamming the last known position of a player they are targeting. This means you won’t be able to kite the door guns anymore while your friends take the helicopter down.
  • Crates will actually be unlootable until the fire goes out (looks like the flames weren’t enough of a deterrent).

Bullet Speed

One thing that was made very much apparent by the introduction of the helicopter was how slow our bullets really are. You have to lead the helicopter way too much. I’m thinking we should double the speed of bullets which will effectively make them hitscan at short range, increasing the responsiveness of gunplay in general. We’ve got a poll in Garry’s section for you guys, so we can gauge how you feel about this.

Next Week

With the helicopter being a big hit–and assuming I get all the bugs fixed–I’d like to investigate adding some PvE encounters for the early game and not just the endgamers

Garry

Optimizations

The server performance has been suffering for a couple of months. The actual framerate is fine, but every minute or so there’ll be a freeze, so I’m doing some investigation into why that is. The main culprit seems to be the amount of garbage we create.

The biggest source of garbage right now is the network system. When we send an updated entity to the client we fill a protobuffer with info, turn it into binary, then send it to Raknet (on the native side). This has worked well but it’s creating garbage on creation and turning itself into bytes.

So I’ve dived headfirst into the problem. I’ve added object pooling to the generated protobuffer classes. This wasn’t as complicated as it sounds and was actually a lot of fun to get working properly. These protobuffer classes are used all over our code though, so there has been a bunch of edge cases that I’ve needed to go through and verify one by one. When we were sending a protobuffer over the network, we were making it generate a byte array and then pushing the byte array to the network system. Now we pass the protobuffer the network stream and it writes directly to it. The idea being that it’s now writing directly to native, so there’s no garbage to be collected.

All this is mainly theory. It’s making the situation better in theory. Because this wasn’t something we tracked and quantified before there’s no way to know what kind of difference it’s making, so I’m working on a bunch of diagnostic tools so this shit can be flagged up better.

Effects Stuff

Have you noticed how sometimes you’ll shoot something in Rust, it’ll get destroyed, and it’ll stop playing the impact sound straight away? Or when you shoot your gun and switch away the shoot sound will stop playing abruptly? Or when you shoot another player and they turn into a ragdoll the blood effects will stop playing? Well I fixed that this week too.

Poll

We’re gonna start having a poll on every devblog to feel out how the community feels about certain things that are on our mind. This isn’t a referendum, we’re not going to stop thinking for ourselves and do whatever the result is. It’s just to gauge opinion.

 

Andre

Hotfixes

I finished the last week/weekend off with a number of hotfixes which went live over the course of the weekend.

  • Fixed building parts slowly spawning on join (now done in the loading screen).
  • Fixed external walls and gates being placeable partially inside of players.
  • Fixed metal and stone barricades being easily destroyable with arrows.
  • Fixed all events being run on server restart.
  • Fixed a number of decal projection distances.
  • Fixed mushroom/hemp pickup particle effect.
  • Fixed oil survey crater.
  • Fixed certain pink particles on OpenGL.
  • Fixed null references in shader variants.

Collider Batching

I’ve been working on combining building colliders on the server side for a while, and this week I finally finished it off and pushed it to the dev branch. This will allow server owners to have much bigger intervals between their wipes, especially on high population servers. It might also improve server physics performance, but it remains to be seen how that theory holds up on servers with 200 players.

Entity Visibility Checks

While implementing collider batching I realized how silly our checks for “get all entities around this point” and “is this entity visible from this point” are. Code that does these kinds of queries was scattered all over the place, with no unified way of doing things. This is especially bad when you want to optimize these checks since you cannot just optimize one central spot but instead have to poke around in ten different files.

Long story short, I ripped all of that out and centralized it. This is great for collider batching since there’s now a single point where I have to do the batched collider to individual collider lookup, and it’ll also be great for any future optimizations we add.

Pool Allocator

Speaking of optimizations, while refactoring the entity visibility checks I came across the sad state of server side dynamic memory allocations. I went ahead and converted a bunch of our bigger allocations to a pool allocator. All you need to know is that it makes things faster and eliminates garbage collections. Some of that also branched out into client side code, so things have gotten a bit nicer there as well.

Gib Fixes

Gib performance has been horrible for a while, so I added a few quick fixes for the major causes of that. Gibs will need some more love in the near future, there’s still much to be improved.

Other Stuff

  • Impact effects now get the exact terrain material at impact (sand, dirt, …).
  • Added correct AI obstacle shapes to building pieces.
  • Fireballs use better sound balancing (client side performance).
  • Run the garbage collector in the loading screen (join, respawn).
  • Added deploy volume that uses the newly added unified entity OBB.
  • Clamp AF between 1 and 16 (fixes silent errors).

Next Week

There are a number of things I’d like to look into next, but I’ll have to see how many of them I’ll be able to fit in before patch time next week. The two biggest things I’d like to address are effect/decal pooling as a client side optimization and improvements for the procedural maps with the possibility of adding the first draft of Vince’s new sex dungeons*.

Diogo

Water 2.5 Rivers

After fixing a few bugs left over from the last update, I switched back to working on the water. Local reflections are still work-in-progress; I’m using a few more days to polish them in preparation for next week’s update. Finally did some work on the rivers and they’re shaping up nicely to fit the ocean. This work will naturally be extended to lakes as well (e.g. Hapis).

Rivers now fade away nicely into the background as expected as they are now affected by global fog and atmospheric scattering:

A higher perspective no longer shows a flat opaque surface across the river bed:

Transitions to ocean now look more seamless:

Please note that there’s no wetness around river beds yet. I’m leaving that for a later iteration.

Water 2.5 Bug Fixes

You might have noticed this artifact before, when walking around ocean water:

water-motion-artifact

It affects all GPUs and platforms. It’s now been fixed and available on the development branch. It’ll be up next week as part of the stable update.

I took the opportunity to change the water mesh code in order to get rid of this insane clipping bug that has plagued AMD users for a while:

Other Changes

  • Disabled shader warmup by default on OSX (run with -shaderwarmup 1 to enable it).
  • Fixed Depth-of-Field effect ignoring water surface.
  • Fixed hang or crash when changing quality setting in GL/OSX.

Next Week

Polish local reflection code. Polish river code. Extend changes to lakes. Cleanup, test and submit Water 2.5 for next week’s stable update.

Xavier

Progress on the clothing pieces from last week has unfortunately been kind of slow. I’ve run into a few software/technical issues that I’m working on getting fixed, but I’ve still managed to get a little work done.

Next Week

I should have the problems sorted out, so I can get back to doing more actual work instead of just troubleshooting.

Gooseman

I completed the low poly version of the red dot sight. I also started texturing it. I still need to add more dirt and scratches to it, but it’s coming along.

I also worked on adding edge wear and dents to the flashlight and silencer high poly models. Once I’m happy with how they look, I’ll begin work on the low poly versions.

Next Week

Continue working on the add-ons. I need to go over the holosight again as the dents and scratches needed more work to look realistic.

Scott

Decals/Impact-FX

Managed to get a bunch of the surface decals and FX done this week. So we now have

  • Snow
  • Sand
  • Dirt
  • Forest
  • Grass
  • Path
Video Player
 
 
00:00
 
00:27
 
 
 

I still have cloth, bone, rock, tundra and water to do.

Blood

Started work on the blood effect system. Basic decals for entry/exit wounds are in. Blood spurts are working, but there is still a bunch of work to do getting everything to hook up.

Video Player
 
 
00:00
 
00:07
 
 
 

Next Week

  • Finish the surface decal/affect work.
  • Work up a bunch of blood splatter/spray decals.
  • Take a look at improving the bleeding out effect.

Tom

More work on the female. She’s nearly done on the texture work!

In some spare time I’ve been splitting up the AK47 into parts similar to how the SMG is, which means the AK will eventually have the same functionality for customisation as the SMG. Awesome! I’ve also started to go over the texture for the AK47, because it sucked pretty badly. The way we’ve done it for the SMG is to split the customisable parts into their own UVs, which gives us better resolution overall.

Here’s a sneak peek.

Next Week

Finish the texture work and onto the LODs!

Alex Webster

Some fixes to view models this week including:

  • Rocket Launcher – Fixed snapping when going to ironsight, added dryfire sounds.
  • Hammer – smoothed out anim speeds.
  • Bow – Made viewable again, fixed popping on drawn idle loop, improved transition when cancelling arrows.
  • SMG – dryfire fix.
  • Salvaged sword – fixed snapping on hit reactions.

I also added a hold state for both the bean can & F1 grenades meaning it can now play an animation while you’re holding it, as opposed to the totally static pose it had before.

Paul

So this week I’ve been working on a bunch of silencer/suppressor add-ons for guns. I’m Googling and downloading so many books on homemade weaponry at this point that I’m sure it’s just a matter of time before the FBI raids us, so I’ll try and get as much of this stuff done for tom to model before a SWAT team comes for us. Been trying some different ideas of what you might be able to create with bits of junk you might find lying about, from a simple bottle stuffed and wrapped with cloth to oil filters (these work great IRL, too :p). Also in the beginning of some improvised scopes, I imagine these would naturally go well with the bolt rifle but maybe an M1 type gun might be pretty sweet for these too further down the line.

Next Week

More work on scopes and other addons.

Alex Rehberg

This week I finished up silenced gunshots. Getting them to sound subdued enough to feel stealthy but still sound impactful enough to make you feel like a badass when you are blasting people was tricky, but I had a lot of fun with it!

I started working on new sounds for the survey charge, tree impacts (I want to pitch these up/down depending on the size of the tree you’re hitting), and wooden door impacts.

I’ve also spent a bit of time cleaning up and organizing our mixer (the thing that all sounds get routed through for final volume/eq/effects before they reach your speakers). I’ve made gunshots temporarily lower the volume of smaller in game sounds and ambience, which makes them feel louder without actually having to raise the volume of the sounds at all.

Some people on reddit were interested in a bit more of a behind the scenes peek at how I’m making some of our sounds, so here’s a little breakdown of one of the extra gunshots I did last week.

I started this one off with this gunshot sound that I found. I chose this one because I liked the little metallic cling and some of the boominess of it.

It’s a nice sound, but it’s not beefy enough, so I add a quick burst of low end to it. This was made with a synthesizer by taking white noise and filtering almost all of the high end out of it using a lowpass filter with the resonance cranked up (which essentially focuses the sound on a certain narrow band of frequencies).

This is where the whole thing is at now.

It’s sounding a bit better, but it feels like it’s still lacking some punch, so now I’m on the hunt for something to add some nice body. The nice woody tone in this stapler recording caught my ear, but it’s not sitting with the rest of the sounds quite the way I want. I played with it a bit and ended up pitching it down a bunch so it had a nice knock to it. Once it’s pitched down it also has a little bit of a clack after the main punch that contributes nicely to the echo/reverb after the initial bang of the gunshot.

Here’s where we’re at now:

Echoes and reverberation are a really important part of an awesome gun sound, so I went on the hunt for a gunshot with a nice tail on it. I chose this one.

The ringy metallic part of this sound was a little too strong, and the reverb is a bit too quiet so I applied a bit of EQ to it and added some subtle distortion to make the reverb a little crunchier (EQ first, distortion second)

That last one contributes to the general tone of the gunshot nicely too. This is where we’re at now:

It’s sounding pretty good now, but it feels like it’s lacking some snap in the higher frequencies. I wanted a nice airy burst so a nailgun seemed like a good option. I pitched the sound down and shortened it up so it would sit nicely with the rest of the gunshot.

And, again, here’s what the whole thing sounds like now. The nailgun snap is kind of hard to pick out of the whole, but you can feel that the previous version sounds a little bit weaker in comparison.

The tail still feels a little lacking to me so I took a firecracker sound, EQed the low end out, and faded it in a bit so I’d mainly get the reverberation from it.

This is placed a little bit after the initial gunshot so it acts as an echo. One thing that I’ve found really helps with gunshot sounds is to give them a bit of a one-two punch so instead of just a BANG you have more of a BA-BANG. The little bit of space helps make them feel stronger. You’ll notice that the sub bass punch I added near the beginning is delayed a little bit for this same reason.

This one is a little hard to pick out individually as well, but it adds more space and airiness to the reverb tail. We’ve got all the separate pieces of the sound in place now.

All that’s left to do is add the final layer of polish. First I compressed the sound a bit, which lowers the volume of the loudest points in the sound. This means I can turn the volume up without the max volume going up, which helps to bring out the quieter portions of the sound. I’ve also added some tube saturation (a subtle form of distortion that emulates old vacuum tubes). The saturation helps make the sound a little more full. Finally a touch of EQ at the end to add a little bit more lower-mid range (which also helps things sound a little more full and warm). I also used the EQ to make a narrow cut in the high frequencies to quiet down some of the metallic ringing that was enhanced a little too much by the compression and saturation. Here’s where we ended up!

I think it’s really cool that people are taking an interest in some of this, so I’m going to try to start recording some video while I’m working on cool shit to give you guys more peeks behind the scenes. If there’s specific sounds or other things you’re curious about feel free to ask!

Shameless plug: If you like weird uptempo bass music check out these tunes I wrote that just came out ;D

Next Week

Next week I’m going to finish up the sounds I started this week and do a bit of general clean-up and fine tuning.

*Now I’ve said that, he has to make it.

Source : http://playrust.com/devblog-79/

]]>
Rust Devblog 78 https://rust-servers.net/blog/77/rust-devblog-78/ https://rust-servers.net/blog/77/rust-devblog-78/ Fri, 18 Sep 2015 12:13 CEST

We’ve got a game-changing patch going live… right now. There’s an NPC attack chopper coming to fuck your shit up, holo sights for weapons, new perimeter fence gates, streamer mode, an engine update, and loads more.

 

Maurino

Buckle Up

Welp, here she is. After many long weeks of hard work the PvE helicopter event will be live. Before I talk about what it does, let me give you guys some disclaimers so you don’t think it’s completely done:

  • It’s maybe 70% complete.
  • It’s going to go through trees in some situations.
  • It’s going to shoot you through tree canopies.
  • Its movement can be wonky sometimes and it’ll go up too fast or turn too fast.
  • It’s probably OP.
  • It’s probably UP.
  • It’s probably laggy on servers with lots of players.

So now that all the negatives are out of the way, here’s how it works.

Every 48-72 in-game hours, one will spawn offshore and begin to patrol between all the monuments on the map, engaging players it encounters along the way. If you don’t want to be killed, I suggest hiding from it before it gets too close! If you do want a piece of the action, don’t just spam the helicopter with bullets, that’ll just piss it off. Instead aim for what you think might be weak spots which will bring it down much much faster. Once the helicopter is downed you can investigate the crash site to find some high-end gear. You may have to wait a while before you can approach it due to fuel fires – which can be seen by other players at long ranges, so watch your back. At night you can evade detection by staying out of the spotlight, but once you’re detected you’re pretty much screwed!

I know it’s not perfect, and I know it’s got some bugs, but I really hope you guys enjoy it. It took quite a bit of work to get it to this level, have fun!

Next Week

I’ll be fixing the balance of the helicopter, and also the inevitable 285 bugs that will show up on reddit. I’ll be watching.

Garry

Unity 5.2

This update brings an update from Unity 5.1 to Unity 5.2. A few things have changed for the better, but it has introduced some bugs.

They have made the UI system slightly faster, but they’ve introduced a few linear colour bugs and new layout issues. The UI Mask distortion that was plaguing OSX builds seems to have been fixed.

There’s an animation event bug right now that may be affecting a few things. Andre added a little hack which should stop it being an issue on footsteps, but you might experience it on animals. I’m told they’re aware of it and are going to have a patch with it fixed.

They fixed an issue we were having with the decals, where they’d disappear in low light. So you should now actually see decals when you hit things.

That’s all that was really added in 5.2 that affects us. Please stop asking us about DirectX12, it’s not going to turn your shit GPU into a good one.

Story Log

When you’re playing you have what we call internally a “life story”. This is really basic right now, logging how long you were alive and how you died. It’s used on the death screen to show who killed you.

We’ve started saving these stories on the server every time a player dies. We’re going to do more with this in the future, but for now it’s enabled me to add a much much requested feature: if you leave a server and rejoin later and you’re dead, you’ll get the death screen with information about that death. So even though you’ve died somehow you’ll at least know roughly how it happened.

Weapon Attachment Fixes

I’ve been polishing off the weapon attachment system this week. I’ve fixed how they used to disappear after a few minutes of walking, and they now lose condition when you use your weapon.

Streamer Mode

Something I’ve been wanting to try out for a long time is a streamer mode. Streamers sometimes find it hard to play Rust because people will find out what server they’re on and either DDOS it or hunt them down and kill them. Streamer mode hopes to make that a bit less likely.

First of all it tries to hide all server names, so if you’re streaming and you accidentally press escape, your audience won’t see the server name.

Secondly, it changes everyone’s name to something random. The names are based on their steamid, so the same guys will always have the same names. You’ll recognise your friends because they will always have the same random name.

This probably isn’t going to solve all the problems, and I’m sure there’s room for improvement, but hopefully it will help out the guys who have been asking for this. Or at a minimum it will make them realise it’s a big waste of time and will shut up asking for it.

Gates

The baseline implementation of the gates are in. This has been waiting on my todo list for a long time so I wanted to make a start on it so Vince could do the art, but it needs a bit more polish to be at a place where we’re happy with it. The gate opens and closes quite slowly (8 seconds), this is on purpose to allow for a moment of vulnerability.

I played with the idea of only being able to open it from one side, but in the end I decided against it. You’d need someone in your base to close the gate and open it for you all the time. We’d end up with situations where people would add in and out gates to their walls. So now they work just like doors.

One known issue is the placement of the locks. I’ve got to come up with a new system for lock placement so we can place them in different places on both sides of the door, because at the moment it’s just one object which is a set distance away.

Next Week

The holo sight makes the weapon jitter issue a lot more obvious. This was something I was hoping that Unity would fix, but that doesn’t seem very likely, so I’m going to have to have a look at hacking the fuck around. Hopefully it won’t have to be as hacky as the solution in Legacy.

I’m also going to be looking at making blueprints upgradable, so instead of all weapons having two slots, you’ll have to upgrade your blueprint to be able to craft weapons with extra slots. We’ve got a few other crazy plans for this so I want to do it right.

Andre

Artist-Friendly Decals

I fixed a number of issues about the way we spawn decals that made it far too hard for artists to create and preview decals. Together with last week’s fixes we can now really start using them. Scott is already on the case, so check out his section for some details.

LOD/Batching Improvements

I changed the LOD grid to do its distance calculation per-object instead of per-cell for more accurate LOD switches, especially for buildings. This in turn allowed me to increase the LOD grid size for faster LOD refreshes and bigger, more optimized batched meshes. I also fixed an issue that could temporarily render objects invisible for a short period of time between being spawned and being batched.

UI Optimizations

While profiling the game I found out that the 2D UI event system takes a significant amount of time every frame. This was caused by the UI raycast components being enabled even when the mouse cursor was locked and invisible. This cost us at least 1-2ms every frame and is now fixed.

Asset Preloading

I did some more experiments with asset preloading this week. As explained in last week’s devblog, doing this is essential in order to reduce stuttering mid-gameplay. This week I optimized the loading screen warm-up step as much as possible with our current asset organization.

Since Unity improved asynchronous asset loading in 5.2, I also added an experimental second warm-up mode that preloads assets while in the main menu. However, since it makes the main menu slightly laggy it is to be considered experimental until Unity sends more asynchronous loading improvements our way.

Long story short, full asset preloading in the loading screen is now the default mode on 64bit systems and should greatly reduce the stuttering experienced mid-gameplay.

Next Week

Due to the update to Unity 5.2 and the testing it involved I didn’t have much time to finish up collider batching this week. There’s also a problem with the way construction blocks spawn on the server that should ideally be addressed before collider batching goes live, so I’ve rescheduled it for the next update.

Vince

Dungeons Progress

Between last week’s blogpost and this one I managed to put 3 good days in the dungeon branch. It was enough for me to polish some features of the previous remnants and add a few extra pieces to the sewers greybox set: two relatively big rooms that can connect into tunnels at different floors. It’ll make for some nice underground exploration. Speaking of which, I also replaced the abandoned house radtown with a totally new one: it’s a natural rock canyon, with the climbing pigeon nest at the bottom of it, a cave network (that I won’t let you build into), a sewer dungeon part, and a couple small buildings atop the cliffs.

I also reworked our lighthouse base by making it more visually consistent with the rest of our remnants using cliff meshes, but there’s a few things to fix on that one with Andre before it’s fully functional. There’s other features it still lacks to push all this stuff to you guys, but hopefully it’ll come in the next two weeks.

Gates Art

The gates! Got them done, also I revamped the stone wall to look more in line with the (soon) incoming stone gate! Oh and the stone wall damages you now too.

Rust on stones, my life is complete.

Next Week

On holiday!

Diogo

Started a shitty week with what I suspect was food poisoning. That put me back a couple of days. Regardless, I got some good progress done. This might not make it to the patch, but I’ll be working on it throughout the weekend and I think it might be worth the wait.

In these images you can see a flat ocean with global reflection on the left and global + local on the right:

Same image set, except with ocean waves enabled:

You’ll notice that we’re even reflecting the fog. Obviously, we had this working a couple of months ago but it was a very quick and dirty version that served us well for a while. This time around, we’re spending more time on it to make it fast and pretty.

The reason why this is taking so long is, not only the fact that there are a lot of graphics elements and plugins at play, it also needs to be really fast and scalable; this is the most important part. I’m taking the extra time to test on several machines from high to low end. There are some drawbacks common across all screen-space implementations which can’t be seen in this image but I’ll do my best to make them less distracting.

In case you’re wondering, the reason why we’re not waiting for Unity’s SSR is mostly because water reflections can withstand a more comprehensive set of optimizations and can be more tolerant to compromise (thus faster) than a generic solution.

I also did some stability work: I got rid of all runtime allocations in terrain rendering, PVT, water and some post effects, to make my contribution to André’s ongoing efforts to achieve a more stable frame rate. I took the opportunity to patch some areas of my own code that could be causing potential crashes for some players – e.g. switching water quality or turning pvt on/off

Next Week

Will keep working on Water 2.5, optimization and polishing work, more bugs (probably).

Xavier

I’ve been working on a variety of generic clothing items that people will be able to easily customize. Rather than creating very distinctively Rust-styled cobbled together clothing, these are designed to look more like everyday clothing items so that patterns and designs you’d see on normal clothing are a bit easier to pull off for Steam Workshop items.

Next Week

Next week I should have at least a couple of these done and ready to be released, and I should have others in the works.

Gooseman

I finished some high-poly versions of the red dot sight:

And the laser sight module:

I also did a “wear and tear” pass on the holo sight to make it fit better in Rust:

Just to clarify, there are plans to do more primitive looking add-ons (Paul is working on some concepts at the moment). These authentic military add-ons will most likely come from airdrops or loot drops.

Next Week

I’ll continue working on the add-ons. Most likely I’ll be able to get the holo sight done and in game next week.

Alex Rehberg

I spent most of the week making new/extra gunshot sounds. I felt like this was one of my weak points before, and I picked up some tricks while working on explosions that translated well to gunshots too. Recorded gunshots actually sound pretty lame a lot of the time. The thing that makes guns sound so imposing in real life is how loud they are (loud enough to actually damage a lot of microphones). That doesn’t translate very well through recording, so a lot of recorded gunshots end up sounding like wimpy pops and don’t have much character. The solution to that is to use and layer different sounds over the gunshots. I had a lot of fun recording and digging up things like nail guns, cracking whips, truck air brakes and staplers to add more spice to these.

I also worked on silenced gunshot sounds for all the existing guns too, but those aren’t quite ready yet.

I added some subtle clothing movement sounds to the relax animations Minh added recently, but I’m holding off on committing that for now. There’s a bug in the latest version of Unity (which should be fixed in 5.2.1) that causes animation events to fire from animations that are fully blended out. Since these sounds are played from animation events we’d end up playing the sounds from ALL the relax gestures at the same time if I put these in now.

Next Week

I’m going to finish up the silenced gunshots. Then I’d like to spend time doing some more general polish work and sounds for one off things that haven’t gotten any love yet (planting seeds, building, upgrading things, etc).

Howie

I started working on a new remnant town/area that we’re calling the military caves. These industrialized caves should provide a considerable challenge for players, while also containing valuable loot. This is just an access tunnel but I’m also planning on designing a central location/room that tunnels like this lead to.

Next Week

I’ll be on vacation until the end of September, but when I get back I’ll being getting further into the design for these military caves.

Tom

Working on the low poly female model! We’ve got it to a stage we’re happy with and so we’re going forward. We’re doing something a little bit different this time. Sort of. We’re separating the head mesh UV into its own UV/texture sheet from the body. One reason for this is that we’ll be able to capture finer details in the textures this way, as the two boxes in the middle highlight. I’ll be working more on this to get the most out of it.

We’ve also changed the mesh up with female. What we did for the old female mesh was share the male mesh which meant we didn’t really have the polygons to support the shape of the breasts, hence the manly shape. So to avoid PS1 style Lara Croft boobs we’ve added a few extra polys to capture the forms so females are far easier to identify.

For those wondering why I put pants on the model last time, it was purely just to change things up a bit. No need to worry: she will be nude like the male.

Next Week

More on the low poly model and textures!

Paul

Worked on some weapon stuff this week. Firstly I tweaked the flamethrower design so that it looks like it’s built from more practical functional parts. It will lend itself better to being modded and have a more cool looking shape from first person view. I’m a fan of removing things from the UI if possible and having information on the weapons themselves for more immersion, so it’ll have a cool little fuel gauge to show you if you’re running low on ammo and a blowtorch flame to show when it’s active. I also did a couple of holo sight concepts: the first of a bunch of mods that I will be designing that have a more thrown together ‘Rust’ look to them, like they were made from various bits of scrap metals and parts.

Next Week

More weapons mod goodies. There’s quite a lot of stuff to get stuck into here so I’ll just grind away at it until we have enough that we’re happy with :)

Scott

Deferred Decals

These are working now thanks to 5.2 and some Andre love. I’ve focused on bullet impact decals first. Concrete, wood and metal are working, and I will be bringing in stone, cloth, flesh, dirt etc. over the next couple of weeks.

Video Player
 
 
 

Torch View Model

I gave the torch effects some attention this week. It does look better, but I still want to make it so the lit cloth looks like it’s burning just like the campfire wood looks.

Video Player
 
 
00:00
 
00:14
 
 
 

Oil Crater

Added a cool little bubbling effect to the crater. It just sells the idea of the oil being a physical thing a bit more.

Concrete Mesh Particles

Done and will get plugged into the appropriate effect in the next couple of days. They are on the concrete bullet impact effect though if you want to check them out.

Next Week

Continue with the bullet impact decals and hopefully get all surfaces done so I can move on to blunt and slash impacts.

  • Bring the torch world model effect in-line with the new view models one.
  • Start looking at blood effects, starting with a system to spawn entry/exit wound decals, effects and the subsequent blood spray on surfaces behind the character.
  • If I have any time left after that continue the damage overlay improvements.

Petur

Savas_KOTH should now be operational again, and much improved:

  • Loot tables remade from scratch. Much better loot, and no bullcrap
  • Added a small buildable hill in the middle, if your group has the balls
  • Added static spotlights on said hill, for the defenders
  • Added the attack helicopter event to it (once every 24-48 hours)
  • Added a C4 spawn shack at the back of the island
  • Loot crates now use Savas-specific textures with clearly marked loot tiers
  • Food Town changed to Ammo Farm. It is the only place to get exotic ammo
  • Added a large public furnace
  • Added several public campfires
  • Airdrops are slightly more frequent
  • Added lighting to key areas
  • Added hemp spawns for cloth
  • Added some localized sound effects
  • And more…

I also made SavasIsland, a classic Rust variant of the PVP map. It is fully buildable, and has more conventional loot.

Other than that, I did a bunch of nature tweaking, fixed some trees that got completely borked because of a Speedtree update, and fucked with all foliage LOD distances, so that you hopefully should have a bunch more FPS now.

Next Week

I’ll be helping Bill with some things, so I’m not entirely sure! We’ll see.

Changelog

Upgraded to Unity 5.2.0
Fixed various mid-gameplay stuttering issues (some improvements require 64bit)
Updated how we define ironsights to be more accurate
Can wear hats with bandanas
Added holosight weapon mod
Unified viewmodel FOVs
Can drop weapon attachments on weapons to equip
Weapon slots shown on icon
Weapon attachment sounds when attaching
Fixed allowed to put any item inside weapon slots
Fixed signs sometimes having no image
Weapon attachments now lose condition
Admin give commands can take a partial item name
Fixed weapon attachments disappearing after walking a long way
Fixed NRE disconnect in NetworkDestroy
Fixed a condition where the player could get stuck in a wounded state
Added admin.mutevoice 
Added admin.unmutevoice 
Added admin.mutechat 
Added admin.unmutechat 
Fixed arrow disappearing in bow viewmodel
Fixed pumpkin falling through world
Show last death info on server join (if there is one)
Fixed death screen sometimes not showing
Added indexes to databases
Fixed menu music playing over loading music
Added global.streamermode <0|1>
Improved screen overlay shaders (normal mapping, dynamic lighting)
Improved deferred decal system (ambient light, reflection probes, emission maps)
Improved non-authoritative client side projectile prediction
Fixed projectile tracers ending one frame too early
Added flags for client side effects and attacks to projectiles
Disabled small furnace smoke because it looked weird
Added memory usage/garbage collections to perf 2/3
Made building LOD switches more accurate
Increased the LOD and batching grid size (faster LOD refreshes, less draw calls)
Fixed certain far objects being temporarily invisible between spawning and batching
Optimized UI event system (saves 1-2ms per frame)
Fixed airdrops being allowed to drop on powerlines
Wood type gate ingame
Improved external wall stone visuals/barbwire on top deals damage
You can do "spectate @" to spectate non player entities
Fixed beartrap looking unarmed when it was armed
Fixed opening chat when typing in the console
Fixed holdtype could be wrong on initial encounters

Source : http://playrust.com/devblog-78/
]]>