12 December 2014
People are constantly asking for a roadmap for Rust. I'm not a fan of the traditional roadmap. I don't want us to feel tied down to features and timescale. We're hobbyists at heart - we're not a game factory - we don't need that kind of pressure.
So for these reasons a mind-map seems to fit our style of development quite well. It allows us to see our grand plan on a single screen, to jot down our ideas in a logical way. It doesn't have the same pressures as a traditional roadmap, there's no dates, no times. If we change something we can follow the tree and see what else it affects.
Hopefully I don't have to explain anything about its contents. It's straight forward enough. The few people that have seen this already have said things like "disappointed not to see x on the map". The map isn't 10 tablets of stone handed down from God. It's a rough, scatterbrain plan of our intentions and direction. Like everything we do, it changes and evolves.
The weapon refactor branch has been merged into main and is now live, testing on the development branch on Steam. Here's a few of the major things it has brought us.
Stability System Fixed
I introduced a bug that meant that buildings would fall down too easily. The update fixes that. The buildings are probably TOO stable now, but I think that's the right side of the line to be on.
The way entity updates are networked has changed radically. This should mean that the network lag out (the "effect generic" bug) should be mostly eradicated, and that servers with high numbers of players shouldn't see them all dropping out constantly. There's still work to do here, but we should see big improvements here.
Hit Detection Fixed
There were some errors in the hit detection code that meant that sometimes you melee swings or bullets weren't hitting their targets. The hit detection code was completely re-written - and as far as we can tell works perfectly now.
The way damage is dealt got more sophisticated. Previously an attack had a single damage amount and damage type, now they can have multiple attributes. For example, an axe might do 20 stab damage and 20 blunt impact damage. This means that damage protection (which everything has) gets more sophisticated, being able to protect against all these different attributes differently. An example of this might be the Bear which is hurt a lot less by blunt force impacts than stabbing and bullets.
Since this is new it still needs a lot of balancing, so feedback here is appreciated.
Previously, when running the game in Unity we had a 'Listen Server Mode' in which entities where both clientside and serverside, bypassing the network system. This has been functional for a while but it leads to a lot of really simple errors with the network system. So in this version I changed it so that when running a listen server it creates a client and server version of the entity. This gives us a much more realistic version of what will happen when the game is actually deployed. The only real downside to this is that two entities mean two colliders occupying the same space, and sometimes two renderers. These are bugs we only see in the editor though - and this way around means that when the game is deployed there's actually LESS bugs in it than when we're running in the editor!
This is the change that will have the biggest impact on the speed and quality of the development.
Zon has been working on the animal AI. They now have metabolisms and are aware of each other. So it's now not uncommon to see a wolf chase down, kill and eat a chicken. This has already lead to some emergent situations. On the test server the bears were that powerful that over the space of 24 hours they'd killed and eaten all the other animals to the extent that only bears existed - all other species were extinct. Which is just awesome.
Gooseman has been updating the animations so they don't moonwalk so much.
We've been talking about PVT for a while. Diogo has been working on making it better.. and even though it's not enabled by default yet we're hearing reports that this time he's cracked it and some people are seeing an average framerate increase of 10fps. So if you're struggling for performance it might be worth pressing F2 ingame and switching it on.
We made a lot of positive gameplay advancements this week. It would have been nice to have got it all bug free and released to the default branch in time for this blog, but it didn't work out like that. We still have a lot of bugs we need to fix before that happens (you can see them in the bug branch of the mindmap). I'm hoping I'll get a couple of hours over the weekend to fix some of the more major bugs, then we can have a couple of days testing then get it released properly.
Next week I'm sure there will be some cleaning up, debugging etc.. but hopefully there'll also be some time for other more fun stuff.
If you want to follow this project you can sign up to the mailing list.
We'll only update you about this project, we won't spam you about other stuff or sell your email address.