Press Kit Wiki

Hurtworld Update #101

Mils

We decided against using patterns on the clothes at least for now as we didn’t want the clothes looking too noisy and ‘el cheapo’ We are going to run with large block colours that will be hand picked by myself or TehSplatt. This should guarantee a colour set that doesn’t look like a clown spewed all over your outfit. I started sorting through the textures for the player making sure that all the clothes/gear that are currently in ItemV2 have a colour mask which we will use to vary the colours of the characters in the game. I also scaled down some of the textures that were a bit big. This will shrink our ever-expanding content data a little and boost performance.  After confirming that all the items have at least 1 mask, I laid out the array you can see in the pic below. I’ve picked colours that aren’t too saturated as I think they look better in the game. I’ll be handing the scene over to Tom so he can extract the colour info and correctly author the items in the game. The rarity of these colour schemes will be chosen by us based on our preference.

ColouredMasks02

ColouredMasks03

Tom

This week I’ve been continuing work on the upcoming 0.4.7.0 patch which we’ll be releasing this Friday, the 6th of October.
I’ve been focused on implementing the design I spoke about last week where items can randomly roll their appearance. I’ve been doing this using ItemObjectMutatorStacks which are assets that can be attached to our item generators to alter the item based on context. This context can be rarity, biome (of where the item was spawned) or random. We use the random context to pick the items look based on probability weighting.
Currently I’ve got a few test items setup with some placeholder looks to test the system out and after working through a few tricky bugs related to nested item serialization it appears to be working well.

Tomorrow I’ll be setting up the items following this pattern with the appearances that Mils has been picking out and also tweaking the town loot so attachments can be found there.
Once that’s all done I’ll be able to get an internal build done so we can start the testing and refining cycle.

0.3.8.9 OSX Issues

I also spent some time last week removing the bakenavmesh console command in legacy Hurtworld (not ItemV2) that some players were using to crash the construction system leaving bases invisible on the client.
Unfortunately it looks like the 0.3.8.9 build has some problems on OSX where the input manager doesn’t resolve correctly. We’ll try and push out a fix for this with Friday’s patch, our build process has gotten pretty complex running both branches simultaneously on the one install so it’s a big time saver for us to wait and roll it all into the one update.

TEHSPLATT

Well Hi there, this week I spent a good while cleaning up all the mess I’d made during the creation of the new build biome, lots of files all over the place and things named weirdly and just bad organization, not to mention important files mixed with junk spread across two desk tops. So after the cleansing I started wrapping up some lose ends here and there, mesh and texture fixes, sizing issues, that sort of stuff just tying everything up before taking on another big chunk of work. I made some new world items, more building resources, might need to iterate on them a bit more due to similarities to other icons, but there’s some easy fixes to that sort of stuff like stacking the objects to make them look more like building materials. Metal has it’s challenges when using PBR in a stylized world, if you make the metal look too much like metal it becomes realistic and weird looking among the other items but if you hand paint it, it can look too cartoon-ish, so it’s always interesting finding that middle ground.

StoneBrick and MetalPlate

We also found an interesting problem with specular values coming in far too shiny, so now I correct the values in Photoshop after exporting from Substance Painter and it seems to work pretty well. As you can see here the one of the left has a very wet look too where as the one on the right feels more like a scratched up helmet would. I’ve had to run through a few old assets fixing this little problem. Once I get the last of this stuff wrapped up I’ll be moving onto some Air Drop assets which should be interesting.

HelmetGlossFix

Spencer

This week I’ve been doing some house cleaning in ItemV2 and working through some long standing + critical bugs. I’ve also been talking to members of the community on the best ways to solve balance around divided issues like loot balance and bunnyhopping.

porque

In this weeks patch there will be a new console variable bhopfriction <1/0>. When turned on, bunnyhopping will not be possible. This will hopefully give people options while we come up with a solution that everyone is happy with.

I’ve also added some new loot modes to playerlootmode:
Backpack Only
Backpack +1
Backpack +2
Backpack +3

These will be reminiscent of infamy, like everybody has the same amount of infamy already. You will always drop resource items (even in hotbar) and any gear in your backpack. Modes with +1,2 or 3 will drop the corresponding amount of secured items from your hotbar and equipped gear.

PVP Iteration
I am now moving on to the PVP iteration. I will be looking at making PVP great again, incorporating the new more powerful weapons into the gameplay so they are balanced and useful. I’ve only been in a a gunfight a few times in Hurtworld, mainly because the cost of weapons don’t make sense to not take a bow. I want this to not be the case. Part of this iteration will be fixing up some stuff that needs polish like recoil, gun sounds, silencer functionality, raiding balance, weapon damage, PVP armor etc.

First on my list of functional changes is solving the issues around third person camera shooting projectiles from a magical point over your shoulder, making it possible to hit people that can’t see you
bulletissues

SDK Update
Today I pushed out a big ItemV2 SDK update. This can be downloaded by switching the SDK branch to ItemV2 in steam tools. In the update you will find the complete configuration source to our basecontent project to be used as a reference of how we build vanilla Hurtworld. Tutorials on how to use each part of the SDK are coming soon, for now if you want to jump in and have a poke around now is the time.

Cow_trix

Away this week

Hurtworld Update #100

Spencer

Hi Guys!

Welcome to the 100th episode of “Hurtworld Dev’s ramble about their week”! Hard to believe we’ve written 100 of these things, I wanted to announce the release of ItemV2 on to our main branch with this update, however I think we are still too experimental to lock down an exact date that we think everything is going to be awesome enough to hype up again.

Our nicely planned out 2 week release schedule has been good to give us a push to get things playable and out in the wild, it makes it hard for us to ever really iterate on what we put out because we are working on new features right away. We will still be doing our best to push out a wipe update every 2 weeks, we will however be trying to do things a little more free form. What makes it in makes it in, what doesn’t will get pushed back to the next release.

I’ve spent the first half of this week sick, now am moving on to some much needed bug fixes. I’m hoping to fix bugged creatures today (something that’s been on my list since 2015, just haven’t gotten around to it).

Next I will be moving on to PVP, thinking about all elements from the ground up and hopefully refining some issues with the equipment system animations, recoil and weapon balance.

Random Location Loot
We’ve always had points of contest in Hurtworld maps, and have struggled for ages to make them a fair engagement and stop people just building next to them and taking no risk. We added nobuilds, but this didn’t solve the problem. We made entire biomes no builds, this made it a running simulator.

Something we’ve always had half implemented is meteor showers that provide rare resources at a random location, this is a no brainer and is proven to work. You can’t build next to it as you don’t know where it is, it funnels larger maps into not only geographical hotspots but time based hotspots. Unlike a town, where you might see someone there if they come at the same time as you, there will pretty much always be a contest at an airdrop or meteor strike.

We will be phasing these in over the next month and moving a large source of loot into these sources. Then heavily relaxing the nobuild requirements.

Tom

This week I’ve been continuing to work on item customization and attachments.
The tech side of stuff has taken me longer to get through than I had hoped, originally the plan was to use MaterialPropertyBlocks to override the mask being passed to the shader but unfortunately they are set on renderers rather than materials. Because the mesh baker combines mesh parts into a single renderer, setting a mask override here would override the mask on every mesh part (and this isn’t what we want because we can’t do something like apply a beanie mask onto a jumper because their UV mapping doesn’t match up even if the pattern looks compatible).
Instead of using the property blocks we’ll create a new material for each mask and when the meshes are being baked together each mesh part looks up it’s material assignment based on the mask assignment in its parent item.
I also made some changes so nested items (like scopes, silencers and other attachments) cannot be separately customized but will instead inherit these settings from their parent item (ie. the gun’s receiver), we thought individual customization of attachments would be confusing to manage and 9/10 times would result in an inconsistent look that was worse.

I know last week I said the customization would work like it does for vehicles but after discussing it we think that would be too hard to implement properly in time for the patch. Currently in itemv2 items are essentially throwaway with a low cost to craft, durability and no current way of repairing.
This doesn’t work well with a system that asks you to invest items (masks, paints) because you’re never going to feel like it’s worth it and you also end up not wanting to use your cool items because you don’t want to ‘waste’ their durability.
Instead we’re going to make items ‘roll’ their appearance when they are created. Basically each item will have a series of looks defined by a custom color set and a mask, rather than pick these options in an even distribution there will be common and rare types.

The other thing I’ve been working on is the item inspection window, currently this gives a preview of the inspected item and shows any available attachment slots. You can drag and drop compatible attachments over the slots to equip them. The item being replaced will be consumed, this adds a nice overhead cost that makes picking a setup more of a decision, reduces inventory maintenance type tasks for players (like swapping your good parts out before the weapon collapses) and makes duplicate attachments still valuable to the player in some way.
There’s still some work to go here, the window is still in ‘programmer art’ stage and I’d also like to extend it to show more information about the inspected item kind of like a tooltip+.
Then we can use the item mouseover tooltip to compare against whatever item is inspected (when it makes sense).
At this stage though I think the comparison is a nice to have feature that might not make it into this next patch.

TEHSPLATT

Hello, this week I did some running around in the build/green biome to see how it felt, at the time some areas felt empty (that’s not the case now thanks to Cow_Trix and increasing the overall amount of trees). I started looking into ways to make it feel like you were moving through different sections of land, specifically in the dead areas. I added a brown bush and some dead looking plants that would only appear on patches of dead ground with no green. I also scattered some of the new rocks I made around (you can’t really see them in this image) to give certain areas some more interesting features. This worked alright but as the week  went on the map got filled with more interesting features and the original stamps I made to achieve interesting areas worked pretty well with new focal points on the map and once the decision to increase the tree count was applied it instantly solved a lot of the scale issues and weird empty feeling. I also need to iterate on the cliff rocks I did as they give off a weird scale due to their noise frequency.

DeadAreaFoliage

Still working on world items in the back ground. This week was trying to get Amber to look decent without using a custom shader for things like translucency. The current texture is too realistic but I have other ways of toning that down, the main problem here is that it doesn’t really pop. It just feels like a brownish blob.

AmberTests

Mils

I worked on bringing the AWM up to speed and now it is fairly in line with the AR15. I have migrated the parts between the two guns that cross over between them. Items such as Scopes, Red Dots, Muzzle Brakes & Suppressors’s are now authored to both weapons. Mostly it was bringing the AR15 components over to the AWM but I did add the scope to the AR15 also. I also got two of the masks complete for the AWM and these will be generic masks now that they are shared between the two weapons. They will be shared between all the weapons  in the future, and I am also working on another one. I am going to shift gears and move onto making some colour masks for the players clothing this week. These are supposed to blend with the environment more, so as to not stand out like Canine Cojones when traversing the dangerous wilderness.

AWMSkins01 Ar15toAWMAttatch

Cow_Trix

Heya folks! This week was spent refining and polishing the new version of the map. I’m pretty happy with how it’s turned out, especially the central build biome, which has turned out a lot more interesting than other map areas we’ve made before, in my opinion. I think a big part of this was the workflow of having these negative-space “decorator” stamps, in this case things like a field of long grass surrounded by a fence, or a change in ground texture. These stamps just modify the ground scattering and micro details. I think this workflow works really well for adding interest and dynamicness to the map, and so hopefully I’ll be able to bring this into other biomes in the near future.

The road tool earned it’s keep in this iteration, with the current version of Mangatang featuring over 1000 nodes – pushing, pulling and tweaking the map all in various different ways. One use that Spencer discovered, that turned out to be a pretty awesome tool, was the ability to use the road tool to plant tree lines and occlusion lines. This was an easy, non-destructive and fast way to block off areas that were too open, and just reinforces that the road tool is more like a general spline tool, which can do roads with the correct set of components.

This week I’ll be continuing polish on the map, trying to apply some of the lessons we’ve learned to the weaker areas. I’ll also be seeing about getting the Raid Drill back up and working, improving performance and fixing up as many bugs as I have time for.

MapCombined

Hurtworld Update #99

Spencer

Hi Guys,

This week we’ve been powering forward with map and progression updates for the red desert release going out this Friday. The map tools have finally gotten to a point where I don’t have to pest cow_trix every 5 mins with a bug stopping me from proceeding. And I’ve got to say, these tools are awesome. We are just putting the finishing touches on the SDK update release, should have it out to you guys soon to start playing with.

The desert is coming together nicely, it’s definitely feeling like it has more character than any of our maps to date. I’ve tried to break away from too much formulaic structure that makes everything look the same, mostly thanks to our new tools that allow a lot of manual authoring in a non destructive process.

reddesert

This biome has become quite big, which will likely need a vehicle to traverse easily. I’ve clustered lots of content around the south border which will border the build biome, so getting your first vehicle should be easy enough on foot. The real star of this process has been the road tool, which should more appropriately be named the spline tool. We’ve been using it not only to create awesome roads, but to create streams, deform terrain, plant lines of trees and run power lines. This is incredibly useful for making a map feel full as being able to paint a line of tree occlusion scattered in a natural way in 2 clicks if an area feels too open, has sped up my workflow immensely.

Looking forward to sending it out in the wild!

Mils

I decided to become a road worker this week. Got a sore back from diggin’ 😛

These have come out nicely. The Asphalt is pretty similar to the last build we put out, but is a bit darker and less ‘powdery’ I added a subtle normal map to show the raised area at the edge of the road and the subtle raised paint of the white lines. I made some intersection pieces also. There’s a ‘T’ Junction for the asphalt and the Unsealed Roads. There’s also a T Junction for where the Unsealed Road reconnects to the Asphalt Road. These use sneaky UV mapping to avoid having to make specific road textures. We will probably make those at a later date.

RoadsAsphaltFinalised01

Below: I made a generic Unsealed Roads texture, which uses brown tones. This fit most of our biomes that didn’t have thick sand.

RoadsUnsealedGenericFinalised01

Below: For the thicker sand biomes namely; Red Desert and Start Desert I made another couple of Albedo’s and used a new normal map that really expressed the softness of the sand. This normal shows big soft tyre tread marks. Really satisfying working on these.

RoadsSandFinalised01

TEHSPLATT

Hello, this week I got into trying to make the green biome feel more interesting as you explore it without taking up actual space with junk. This was a bit of a hard task, it’s easy enough to just chuck a bunch of stamps all over the map but this takes up valuable building space and also still leaves everything in between the stamps the same, which can make the map feel boring. As you can see I’ve made a bunch of different stamps, small being tight areas with little rock walls sectioning everything off, medium being farm land with lots of occlusion from trees, hay bails and long grass, and finally large stamps that consist of 90% terrain splat changes with subtle tree lines to give the player a sense of moving through an ever changing land scape. These stamps need real world rules to make them feel correct, as you can see the small stamps (red) are focal points that get tucked into corners or other tight spaces, they are then padded with medium stamps (yellow) these farm stamps which are larger and can create interesting battle zones and cover for stalking players, then comes the large stamps (blue), these are used to suggest civilization, for example as you are coming over a hill you may not notice a farm or a town like area but you can see the ground has changed under you which in the real world generally indicates that the land has been touched by other humans and civilization may be near.

Stamp Rules2

I also made a spray can and ash world item. The spray can will have different patterns assigned to it for vehicles which will be displayed on the can. The pattern on this can is an example.

SprayCan Ash

Cow_Trix

Heya folks. This week I’ve been chipping away at the new Mangatang map, trying to polish some areas of the map with some new techniques and tools. Luka created some great stamps that will vary up the ground texturing and add in some interesting object scattering, while still being negative space that players can claim and build in. I’ve been working on placing those stamps in the build biome and fixing some issues that came up with ground texture blending. I was finding for much of the first half of the week that I was getting a lot of artifacts and blending issues with both ground textures and grass, when stamping them down and when setting them with the road tool. I realised, after one mostly successful refactor attempt, that I’d kind of overcomplicated the logic and I could simplify everything down. I was basically trying to figure out, given a point in the map, if I should read data from all the layers beneath where I was looking to figure out what was there – which is appropriate if nothing has altered the layer yet – or to look in the layer for the value of that data – which is appropriate when something else has altered the layer. I realised it would be a whole lot easier to just copy all the compound layer data to the currently executing layer right at the start, and then never look at the base at all. This simplified the logic immensely and actually let me spot a few other bugs in code where I was sampling things just a little bit off.

Progress on the map has been going well, with me and Spencer trying to figure out a good workflow for splitting things up and working on the same map separately. Something I’ve realised with this stuff is that the key word is “context”. When something has context with something else, you really do need to be putting them in the level, or stamp, together so that context can be preserved. So, for instance, when setting up these isolated scenes to author individual areas of the map, we need to be very careful that we don’t put things with context in areas of the stamp that won’t have 100% control over that point, as the context will change. For instance, if you have a stamp that places some walls on the ground, and you’ve authored that stamp with flat ground, then the walls have a context where they require flatness. If you stamp them somewhere on in such a way where they’re placed on uneven terrain, you get some walls that really don’t look right.

The road network for this map is more complex than we’ve had in Hurtworld so far, so I’m looking forward to seeing how that plays. There are a lot more trails, intersections, and roads to travel down in this coming build. Check out screenshots below!

Map1

Tom

This week I worked on the recently released 0.4.5.1 bugfix patch and started to flesh out how our customization system is going to be implemented in an upcoming patch (at this stage targeted for a 6th October release).

As part of the 0.4.5.1 patch I made some changes to the spawn system used by vehicles and Antor hives. Previously the respawn timer was calculated by MaxRespawnTime / ServerPlayerCount but with the longer respawn of the Antor hive we needed more control over how player counts affected the spawn timer. We setup the hive to have a 1 hour respawn on a full server but this meant on an empty server it would be a 60 hour respawn!
Now the spawner uses a user definable curve that is given normalized server fullness as its input (ie. 0 for empty server, 1 for a full server) and the result of this is multiplied by SecondsPerSpawn to find the final spawn time. In this example Goats will respawn every 300 seconds on a full server and 10x that (3000 seconds) in an empty server.

GoatSpawns

I also fixed plants appearing bugged after a server restart. It turned out we were saving the plant’s planted time relative to server start instead of relative to the current time. This meant that an Owrong planted 15 hours into server start wouldn’t appear ripe after a restart until restart time + planted time + grow time.
Another tricky bug was getting the construction hammer to teardown all of its ui features properly. Because the construction validation has to occur server side but the construction selection through the ui runs on the client there is shared authority over the system and some necessary delays while one side waits for the other to process. The bug where complexity costs and attachment point previews would stick around after unequipping the hammer was caused by either a quick equip and unequip or a quick selection change (ie. foundations to walls) and an unequip. This would cause the following sequence of events:
Equip or selection change is sent to server to setup the construction preview object.
Hammer is unequipped on client, turning off the ui elements.
Client receives construction preview setup message from server, turning some ui elements back on.
To fix this the construction manager now tracks the client predicted state to see if a construction hammer is equipped and the construction preview code now makes checks against this when making client side changes.

I’ve also started working on item customization scheduled for the 0.4.7.0 update. For this we’ll be improving weapon attachments allowing you to do things like swap between different sights on your gun. Also, the customization previously available to vehicle panels will be expanded to include several items and gear pieces (you will be able to apply different design masks and also change colors).
So far I’ve been mostly focused on getting the tech side of this up and happening so items can easily have masks applied and swapped and creating asset types that allow modders to easily create new masks for items. I’ll be going into the design side of this system this week and fleshing out how you’ll be able to earn these masks in game and what other changes to items are required to properly support the system (ie. we will likely return item repairing to allow you to keep any items you get attached to and end up customizing). Watch this space!

Dev Blog