Hi Guys, this week I’ve been going deep on serverside performance, something which hasn’t received much love lately. Recently some options opened up for us to optimize parts of our network engine that wasn’t possible before which exposed a shitload of “low hanging fruit” (really slow stuff that isn’t super hard to fix). While I was digging through this third party code to optimize it, I realized how little value it was actually providing us these days so I decided to rebuild a custom version of it for our purposes.
Tonights build contains the new network engine code that came together much faster than I expected. It should give us some perf gains, but the big wins are yet to come. I wanted to get a stable version out in the wild before trying to optimize it.
I have also included a network data profiler for this build that will give me crucial data on where we need to optimize most in the protocol.
Increased Player Cap
Once I do a proper optimization pass on the new network engine I have high hopes we will be able to increase our max player counts significantly. I will continue this focus next week and see how much perf we can squeeze out.
Hello, this week I’ve been working on adding some general varience to the map. Currently the base of the map gets generated then hills and some focal points get stamped all over it, this creates a playable map but for the most part not a very interesting map. The stamp tool allows us to create lots of different subtle variation and spread it out all over the map. It’s still in a bit of a test state as I feel there needs to be a litte more of a planning phase for this sort of stuff but actually getting some of these nature stamps in has helped me understand what needs to be done to really ramp things up. Adding in small stamps here and there always makes the map feel very disconnected and random, where as adding in a bunch of variation stamps and combining them along with creating larger variation stamps in general does a lot more to give you a constant feel of evolving map. With more time I think I can really get the map to a good state where you genuinely feel like the world around you is gradually changing but for a reason. However this will involve creating new assets and rearranging some things so possibly not an immediate go ahead. I would very much like to sit down with each biome individually and create unique rules aesthetics for each one so that you feel the area change in more ways than just a colour swap.
This week I’ve been working on rare creature variants, improvements to the item coloring window, item mask visualisation and general bugfixing and balance changes.
When we first experimented with creature variants we tried to do way too much with it creating at least 4 variants of each creature type at different rarities plus potentially more based on biome. With so many variants it was often hard to notice any difference in gameplay between them unless we pushed things to breaking points creating huge creatures that didn’t move correctly or creatures that could one shot you. Another problem was we still didn’t have anything good to give out as rare loot so players didn’t have much of a reason to hunt them down.
Now with the fragment upgrades and other item mutators (colorers and namers) we think we have something that fits that rare loot role perfectly.
Not wanting to bite off more than I could chew again with the variants I focused on creating just one rare variant for each creature type that will replace a normal spawn around 5% of the time. I’ve also tried to be more conservative with the gameplay changes to them this time around mostly making the variants small upgrades on the base creature.
As an additional incentive to hunting these things down I’ve added the animal mask items back into the game as rare drops from the variants. This time around they give no stats, have 2 upgrade points available and can’t be amber protected.
I’ve also spent some time improving the item coloring window, now the previewed item won’t auto-rotate but you’ll be able to manually rotate it by clicking and dragging over the item preview area. I also added a zoom bound to the mouse scroll wheel (or whatever else you’ve bound the scroll action to).
With Mils’ help I also worked on implementing spray cans as the item mask item’s visualisation. We’ve implemented this by applying the mask preview textures as masks to the spray can mesh attachment, this will allow us to do cool stuff in the future like show all the items customisation choices on the spray can by applying the mask and recoloring it with the colors from the item.
In general balance changes I’ve slightly increased the iron tipped spear pve and pvp damage from 30 to 31, this makes it do just over 100 damage on a non-critical throw rather than 99.9999 damage returning it to one hit throw kills like in legacy.
I’ve also removed the bow snare fragment because changing player move speed in an unpredictable way like that over small time frames was causing lots of movement corrections to occur which felt pretty bad.
I’ve added the fibreglass recurve bow back to the iron workbench and have tweaked the pve damage values on all the bows. The improvised bow gets a buff from 20 to 30 pve damage whilst the other two bows are reduced by 20 pve damage, this brings the fibreglass recurve bow to the same damage level as the standard recurve bow currently is in the live game.
I’ve also reduced drop rates for item namers and colorers as it was way too easy to customise every item you had.
These changes plus more will be in 0.5.4.0 releasing Thursday, the 29th of March.
I don’t really have any pretty pictures to show this week. Tom has remorselessly stolen my hard work and shown it to the world with reckless abandon!!!! Hehehe, well it’s both our work so fair enough. 😛 Admittedly I, in turn, stole Splatt’s spray can and did a rebake on it and a quick re-texture. I had to do the re-texture because I work in 3dCoat and Splatt works in Substance. This caused issues with baking all the PBR textures across.
The can had to be split into two pieces for Tom’s implementation, the top and bottom caps and the cylinder in the middle. Baking these textures across was more of a nightmare than I had time to waste, so I quickly re-U.V’d and re-textured them. This is a technical hurdle I hadn’t encountered yet so will spend the time to figure out which software & workflow will achieve this without bulk nightmares. After all that I made custom textures from the original designs I had in my archives and handed them to Tom to implement in the game. These are looking rad and will make the whole process of colouring your guns/car a much smoother experience.
I moved on to tidying up some icon poses for the AR15 and a few other small jobs that had needed attention for a while. I have a couple more small jobs I’d like to tackle maybe tomorrow and then I’m going back to gun town to bring the Beretta up to the standard of the current weapons. I have a bunch of this done already from a previous build session, including an array of attachments. Should keep me busy for a bit.
Okay I lied, here’s a pretty picture of the Beretta in it’s current state with a couple of attachments on it.