URI:
   DIR Return Create A Forum - Home
       ---------------------------------------------------------
       DWG Dumb Welsh Gamers
  HTML https://dwgwales.createaforum.com
       ---------------------------------------------------------
       *****************************************************
   DIR Return to: DEVBLOG NEWS
       *****************************************************
       #Post#: 177--------------------------------------------------
       DWG RUST WARS experimental DEVBLOG 80 v1323
   DIR By: jjed11
       Date: October 6, 2015, 6:55 pm
       ---------------------------------------------------------
       Devblog 80
       Posted on October 1, 2015 by Craig Pearson
       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 ****ing 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 **** 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. ****ing 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)
       *****************************************************
       Page 1 of 1