Press Kit Wiki

Hurtworld Update #54


This week I made a lot of progress towards a public deathmatch build. This involved updating the ragdoll system to use the new character mesh baking system, speeding up the transition massively. I also brought the gear equipment system (non hotbar equip) into the current century heavily simplifying how it works.

During this process I started running into one of the first big challenges of actual ItemV2 use, where each client doesn’t know about every item ahead of time. In the old architecture, items were represented by id codes + stack sizes. When an item is equipped, everyone needs to know some information about it, what meshes to attach to a player model, how to modify the players stats on the server, how to simulate the item on the owner etc. In ItemV2, items are created on the fly, meaning that at some stage clients need to be told about the definition of an item, and also notified when it changes (by adding a scope for example).

If an operation requires an item to progress, its quite easy to run into race condition scenarios where the client knows it wants to equip item 23422 but doesn’t know anything about it. To solve this problem for all future cases, I implemented a system that can lazy load items from the server. If a client needs an item before its ready, the item manager returns a dummy item, tells the consumer that the item isn’t yet complete, and then requests the full definition from the server. In a few frames when the full definition comes in, the item manager fleshes out the instance that is already held by the consumer and notifies anyone subscribed that an update has occurred. This works quite well, and will save us heaps of headaches in future.

I spent the end of the week working through all the deployment issues around our new build architecture. Everything is much more modular, allowing mods to remove default configurations for almost anything in the game and replace them with custom content. Due to the structure changes, and the fact that this branch I’ve been working in hasn’t been built properly for 5 months, this took a while to get everything working again.

Today we got the first internal test build up, not only running ItemV2, but the new Nullius map.

Its pretty barebones right now, but we will be looking to open the experimental build up to the public in the next couple of weeks.


This week I’m back into developing the map and getting ItemV2 up to scratch. I’ve fixed up and brought across things like ambient sound tracks, ambient particle effects and localized visual biome effects. You’ll be able to specify custom ambient tracks for both day and night, as well as particle effects and other effects.

The map itself – which has the working title “Nullius” – is coming along well! I’ve been playing around with the layout, and currently it’s a number of islands surrounded by water. This has meant I’ve had to jump back in to water in Hurtworld, which is a bit of a rabbit hole, but luckily there are a number of tools out there that should get us 70% of the way there. The problems that still need to be solved is allowing for multiple Levels of Detail so water doesn’t kill lower end machines, creating a underwater camera effect, and figuring out how the player should interact with the water. We’ve been thinking about doing it as a vehicle that you enter whenever you get a certain depth below the water. Hopefully what comes out of this is a general water system that you can use in all your custom levels, for whatever you want, that performs well.


To this end, I’ve been playing around with tools like AQUAS for the shading side of things, and looking into mesh generation. Water is mainly limited by fill-rate, which means we need to aggressively cull rendering of the water.


The two packs are all baked out and textured. We now have two different sized packs. A large military/camping styled pack, and a smaller crumpler style one. Both will be paintable in some fashion. Next for me is baking out and texturing the shorts, then moving a bunch of this newer gear across to the dev branch for testing etc.









I’ve continued to explore the shapes and materials that we want to use on the Creature weapons. Now that we have a fairly good array of variation in design elements, like switches, batteries, capacitors, grilles, vents & other components, I am now going to focus on knocking our some more basic shapes for the weapons. The first 3 images follow on from the previous weeks concepts. The last two images show some simpler body shapes that would then, when modeling have these detailed elements added to them. I can speed up the concept process to get more body types designed in a shorter time period.

pumper01 magrail01 pistol01

Below: .22 caliber machine pistol.


Below: SMG body type.




This week I was working on finishing up the update.
Thanks to bug reports on the steam forums I was able to patch up a few more exploits. There was a bug where Goats and Kangas weren’t checking if doors were blocking a player’s entry to the vehicle allowing a pretty nasty exploit where you could position the vehicles right up against a door so when you entered the upper half of the player’s body would be through the door which would instantly trigger a crash due to the collision but the position of the body would spawn the crash vehicle on the wrong side of the door granting access to the base. I’ve fixed this so doors properly block entry to vehicles as well as adding an additional raycast check on crash vehicle spawn that can deny a crash if the crash vehicle is going to spawn in an illegal location.

Whilst working on the rock bases I also took a look at how people were using doors to push themselves inside of rocks. We run a check when the door is closing to make sure there are no players in the doorway and then reopen the door if it is blocked. I found a couple of bugs in our overlap check where you could stand in certain locations to ‘dodge’ it so I replaced it with a more defensive bounds check which should make this exploit a lot harder to pull off, if you find situations where it’s still possible please let us know!

Speaking of rock bases I also added a change where ownership stakes now check if they are inside a rock on server startup and destroy themselves if needed, hopefully some of you were able to get some revenge after the patch went live, unfortunately we couldn’t announce this ahead of time and give an opportunity the rock bases to prepare.

After the patch I spent the rest of the week merging the latest changes into our ItemV2 branch and started getting vehicles working again under our new gear simulation system.
Unfortunately today though we’ve noticed some more issues with the current build so i’ll be back to bugfixing for the start of this week so expect another update soon.

Hurtworld Update #53


So before jumping on to back packs, I went about taking a couple of Marvelous Designer shorts through the clean up process. I ended up with a pair of basic shorter shorts, which could have a thin-ish feeling type material applied to then, and a pair of longer shorts that could have a slightly thicker feel of denim, or like cargo shorts cotton etc. I will bake and texture these up upon approval.



The first backpack I have built is a smaller nylon type pack, next up is a bigger almost army type pack.





Larger backpack sculpt



After  almost two weeks away, we are back in full swing. Dev Days was a really good experience, I learned a lot of interesting stuff, which hopefully we can use to further our game design. The part I really liked was a talk given by a Valve employee Mike Ambinder about the Psychology of Games.

So I have 3 new concepts for the Creature Weapons to show you all. After looking at our game and thinking how these guns would look compared to the rest of the game and also how they would feel when used, we decided to tone back the designs to things grounded in a modern-ish reality. Also a reality that relies partly on scavenging and repair.

The original designs were a little too sci-fi and also we wanted them to have tactile feedback that you can relate to and feel like you are really firing them (lasers are hard to give these attributes to). This is always appreciated by the player, as it gives that feeling of a huge force being unleashed as you shoot each weapon.

So I have 3 body types shown below that will have different component sets. The 3 bodykits you see for example could be classified as one complete set per gun. We want to use the same animation sets where possible, removing the need to animate a whole new set with each ‘hold’ configuration.

So the Pistol will have the same animation set and so would the other two. We will create the other visual components with the same sized interactive pieces. For example the ammo clip will always be the same size, so that the hand, when reloading will always go to the same spot on the weapon and grab an object the same size and move in the same way. The object itself will look as different as we can make it within these constraints.

Also note, the main Blue/Grey areas on each weapon would most likely be the designated area for ‘designs’ as seen on the vehicles.


Above: The Pistol Body Type


Above: The Mag Rail Body Type


Above: The Pump Action Body Type



We returned from Seattle this week and I’ve been fighting jetlag and working on the next minor update.
I’ve been working on improving vehicle reversing behaviour, to limit reversing speed currently we are directly reducing the acceleration force.
This works well enough for limiting speed but has introduced a new problem where there is no longer enough force to reverse up hills once they get steep enough.
In the next update rather than limiting the force directly, we sample the acceleration curve using a reverse speed percent that is roughly 1/5th of the standard top speed. This allows the same force output as acceleration at low speeds with a much quicker falloff meaning you can reverse up hills again but top speed will still be limited.
Here’s a visual example where the x-axis is the inverse speed percent (ie. (1-speedPercent) so at a stop the value is 1 and at full speed the value is 0) and the y-axis is the normalized force (ie. percentage of maximum acceleration force delivered).

The other major change for this update is more fixes for rock bases. For the Kanga patch I was too hasty declaring the end of rock bases and I apologize. Whilst we made it harder to plant ownership stakes inside rocks there were some bugs in our technique and it was still possible to get stakes down inside rocks usually in spots around the edges where our raycast checks weren’t working like expected.
I’ve fixed up this bug in our logic and it should be even harder (hopefully impossible) to get those stakes down inside rocks. Please keep making noise about the problems you see, we are reading the forums even when we don’t have time to reply.


Back into the swing of things, this week I’ve been ironing out the last bugs in ItemV2 ballistics hit and verification code, added back in the muzzle flash.
I added a new impact feedback flash that ensures you can see where your bullets hit in any range in any light. It doesn’t particularly make sense, but I think the feedback is crucial for the feel of the weapon.
My testbed seems to have turned into a Salvador Dalí painting recently. Can’t say I hate it 😉

I also added a hit/flinch layer to our player animations to give better feedback when a player is hit by stuff

Ranged projectile claiming and verification are back to baseline and applying damage once again. The plan is to have it up internally this week and push out a deathmatch only build to the devtest branch next week for you guys to have a play around with and give us some feedback.

Hurtworld Update #52



This week most of the crew are over in Seattle for the Steam Dev Days Conference. An event Valve puts on every couple of years to talk about whats going on with Steam and everything related. Gav is holding down the fort in Melbourne. We will be back into the action mid next week.


So this last week I did some final tweaks on the bomber jacket fixing its collar and how it generally sat around the player neck, as well as baking out another normal map to reduce some of the harsh angled lighting that was happening around the collarbones.

The mesh and basic maps for the combat jacket are done, I am not going to spend too much time texturing them until we see how it would look with player paintable colours.





Up next for me is to bring his current singlet into line, some shorts, and a couple of backpacks. I jumped on the singlet and shorts first as I think they should be fairly straight forward to do. Will do a couple of different types of shorts.

Here’s some marvelous designer screenshots of the new singlet and shorts.



Screenshot of them both sitting on the character in 3ds max.


Dev Blog