This week we flicked the switch, fixed voice chat, improved the UI and made animals bite you.
If you’ve run Rust in the last few days you’ll have noticed that experimental is now the default option. Which means it isn’t experimental anymore. This is what Rust is. The old version, which is now known as Legacy is still available for you to enjoy if you’re not ready for the change yet.
I want to explain why we decided to make the switch. We know there’s still bugs, we know it’s not feature complete, we know we still have work to do.. but it had to happen. It gives us a kick up the arse. Now the bugs and the missing features are a million times more obvious and a million times more urgent to us. This is how we wanted to make the game from the start.. with lots of people playing it and giving constant feedback. We’re not saying it’s finished – we’re just saying we think it’s good enough to be our foundation.
We currently have 3 branches available on Steam. You can choose your branch by looking at the “Betas” tab in Rust’s properties on Steam.
You’re probably on this branch. By default the version previously known as experimental launches, but you also have the option of launching Legacy from here too. The option to run Legacy on this branch will eventually be removed – and the version previously known as experimental will be the only version available here.
This branch contains only Legacy. Running a shortcut on your desktop will open up legacy. You won’t ever download any updates because Legacy isn’t being updated.
This branch contains the experimental branch. When we commit code, our build servers build it then it gets automatically added to this branch on Steam. Which means that this version updates multiple times a day, and is nearly always incompatible with the live version. But on the bright side this is bleeding edge, you’re playing updates as soon as they’re compiled. That’s gotta be pretty cool, right? Once or twice a week we will apply the changes on this branch to the Default branch. This is the testing ground.
I changed the HUD to be a bit more familiar when coming from Legacy. It’s now on the bottom right and gives a lot more information.
One thing I found in the previous HUD iteration was that hunger, being cold, being poisoned.. they all meant nothing. The small icons didn’t make it obvious what was happening. They didn’t make it clear just how close or far away from starving you were.
We have notifications for radiation, bleeding, hot, cold, freezing, starving, dehydration, drowning and wet.
I fixed voice this week. I changed our Steam implementation over from a hacky little native plugin that I made to steamworks.net. This made it very easy to implement Steam’s peer to peer networking.
So voice is now sent peer to peer, instead of bouncing it off the server. This seems so far to be more reliable, and it makes a lot of sense too. The only players that can hear you are all around you, so why not.
While I was having fun I also made it so the player’s mouths move when they talk. I decided not to use the version I posted on twitter.
People realised this week that the furnace was indestructible. I love stuff like this. I love how industrious people are. This is exactly the kind of behaviour we want to try to encourage in Rust. Not this exact behaviour though – so I fixed it.
The furnace is now destroyable again. I also made it so you can’t stack them on top of each other, and you can’t deploy items inside other items.
There were a few different bugs here. They all conspired together to keep the player permanently facing in the same direction.
Once I’d fixed that there was another bug that meant that the players rotation only updated when they were moving. So if a player was standing still but looking around – you wouldn’t know – because you wouldn’t get the updated view angles.
This should all be fixed now, so things should all feel a bit better. There’s still improvements we can make to the player movement in terms of lerping, so we’ll be tweaking it all over time.
Bears and wolves now attack. They play animations. As with everything – this is the bare basics. There’s lots of room for improvement (like not being able to out-run a wolf). Here’s a terrible video I captured.
Melee weapons can now have building level specific damage. This means that we can make a rock not that great at demolishing stone and metal structures.
All the weapons are set up on this system, but it will be something that we fine tune and balance over a long time.
Radiation is back properly. It now causes you harm, it shows on your hud, it fuzzies the view and plays the geiger sound. The procedural map has a few radiation spots randomly dotted around the map. We have plans to further expand on this mechanic later on.
The Foundation Plan now shows up as the generic “Building Plan” in the crafting menu. This is because the plans are generic – you flip between them by equipping and right clicking. A lot of people fell into the trap of looking how to craft a wall plan. Hopefully this will lessen that problem slightly.
One of the things we noticed with our clothes system is that they can sometimes not tuck in properly. For example.
Alex and Minh have been exploring a way to handle that without re-rigging the model. It involves adding an extra bone to the clothes item which we can then scale in our code. This sucks the clothes in, which has the effect of tucking in.
This hasn’t been implemented properly yet – but it works in theory.
Dan finisihed the Syringe model!
And Goosey stuck it on a viewmodel and animated it!
Goosey also made a bunch of third person spear animations
Alex got the new Tier 1 bow in game – and has modelled the viewmodel
Xavier finished off the new sleeping bag model
Xavier is finishing off the small stash model
Howie has been experimenting with how the building component frame should look.
Howie looked into the possibility of a satellite monument
Meg looked into a crane monument
Meg looked into observation tower monuments
Paul has been exploring clothing
Good progress this week again. Voice, UI and AI were the biggies. Nice to have that under our belt. Moving the branch over is a huge milestone for us too.
We’ve been suffering over the last few weeks. There’s a bug in Unity5 with Speedtree which has taken our build time of 10 minutes up to 50 minutes. This probably doesn’t seem that bad considering we’re compiling for 7 different platforms but it really slows down our iteration. Unity are really good at fixing bugs and getting out updates, and have confirmed the bug – so hopefully that’ll be fixed soon and we’ll be back to our usual dynamic.
Next week I’m going to be implementing a bunch of the art that the guys have worked on over the last couple of weeks. I’ve got some ideas in mind for improving the netcode that I’d like to explore. I also really want to make the building components easier to edit – and have had a pretty good idea on how to do that, so would love to look into that too.