Press Kit Wiki

Hurtworld Update #72

Mils

I worked with Spencer testing the new Custom Masked Colour Overlay Shader this last week, and man is it coming up sweet! Spence built in material overrides based on the alpha of the mask (RGB) texture. We can now specifically change the properties of the mask without affecting the base texture. This lets us change the surface properties of the graphic mask area. We can make the graphics look like glossy paint, matte paint, metallic paint, rubber, metallic foil and probably some other substances too. The level of override can be turned up or down too, so we can simply inherit the original surface information and only override the colour information.

Really happy with the control level I have with this. Spence was kind enough to make the shader suit my art brain by changing the layout of it so that it makes sense to artist types. I also got the high poly modeling, UV mapping and baking done on one of the Red Dot sights, so that will be finished Monday. I’ll move onto a Silencer and that will make one complete set of components. After that I’ll be making a full set of designs/skins/masks for the completed set, after which I’ll be out of R&D land and ready to steam ahead making all the other guns/skins. I expect this process to speed up now that the development of PBR materials and the Custom Colour Overlay Shader are mostly done.

Shader NewGraphicShader_0003_Layer 1 NewGraphicShader_0001_Layer 3 NewGraphicShader_0000_Layer 4 NewGraphicShader_0002_Layer 2

TEHSPLATT

This week has been spent trying to get the character to look good in game and dealing with some design challenges. Once the process for the first character is worked out then all the others can be added in game almost stress free. The female model is very much still in the works but it makes more sense to finalize the workflow for one character and then transfer that workflow to all the others as mentioned previously.

Cow_Trix

Hey folks, this week I’ve been working on sights, specifically a sniper scope and a holographic laser sight. The sniper scope came out pretty well, and allows for easy customisation of how it appears on screen by mods. You can set when the scope engages, what the sight looks like, and more! There’s a random sighted sway that players will be forced to correct a bit for, but it’s stat driven, meaning that you will be able to craft better snipers that sway less when sighted. There’s also an initial rotation when sighting, which is always the same for a given gun, so you’ll be able to get a feel for a gun’s randomness and learn to correct for it.

I also implemented a holographic red dot sight, which was an interesting little exercise in shaders. A holographic sight, for those not in the know, is a sight that shows a cross hair that is projected in the distance and displays parallax. The advantage of this is that you are able to determine the angle of the barrel, as long as you’re roughly looking down the sight. I started off trying to mutate the UVs based on the camera view angle. While this worked pretty well for a simple mesh with the origin at the center, the math got a little complicated when we were dealing with meshes with offsets. After a while I decided to take a different approach, which was to take advantage of Stencil Shaders. Stencil shaders are pretty cool! They are pretty much a buffer that you can read and write with arbitrary values. With this tool, holographic sights become a way simpler problem. All the current shader does is do a first pass that writes a number to the stencil buffer, which acts as a “viewport” for the holographic sight, and then a second pass moves the vertexes some amount in some direction, and render it again testing against the stencil we just created. This works great for all meshes, and is a million times simpler. Check out a clip below:

Tom

Bit of a short one for me this week unfortunately as I’ve had to take a few days off whilst sick. Good news is I’m all better now and ready to get stuck in again.
What I did manage to do was some work on the new spawn system. Previously as soon as you joined a server and loaded the map and game state you would be instantly spawned into the world. In ItemV2 you’ll be able to customize your character (picking different skins, hairstyles, facial hair, faces etc.) and logically at least the first time you join the server you’ll want to pick your options before you spawn in.
A lot of our initialization code was tied to the player spawn so I’ve had to decouple that and create a new game state that represents the client being fully loaded but their player entity hasn’t spawned yet.
Now we can have the client load everything and be presented with a ‘spawn window’ where they’ll pick their options then request a spawn from the server. I want to make this window customisable so other game modes (like deathmatch) and mods could implement things like picking loadouts or spawn locations but for right now I’m finishing up getting the technical side of things working on the back end, squashing a few bugs and making sure the camera starts in the correct location rather than transitioning in from under the world like it does currently.

Spencer

Have been all over the place this week. I’ve been working on content implementation for the AR, sniper and pickaxe including a workflow to create items in an already fleshed out state for nested items. For example, the AR15 blueprint will spawn with some stock parts attached (so you don’t end up with just a receiver), then allow you to replace / add more later once crafted. This required getting doubly nested items working (blueprint->ar15 root->barrel etc) and allowing nested hierarchies of items to be cloned. This came out really well.

I also spent a bit of time on some painter shader experiments with Mils to allow paint masks to override more than just albedo color on the weapons. This will give us an insane amount of variation on the weapon customization.

Lastly I’ve been tracking down bugs in the item serialization system that was causing items to disappear / get bogus stack sizes, and fixing our shadows in ItemV2 which had regressed horribly.

As always we are getting dangerously close to building some actual gameplay, these tasks suck but its better to sort them now than hand you a broken mess later. Hopefully I have more time this week to get stuck into content uninterrupted.

Hurtworld Update #71

Mils

I finished one of the muzzle brake thingummies and a standard magazine, looking tasty (if you ask me) I also got onto testing the new Colour Mask Shader, which has been upgraded and now allows for a l0t more options. We can now mask with varying levels of opacity whereas before we had to mask 100% anywhere the designs would sit. This allows us to get a blend of mask colours that the player can change and the ‘set in stone’ Albedo (used to be called diffuse)

We have just this afternoon added functionality that will allow us to override the PBR properties under the mask. This will allow the player to change their Colour Masks from say Matte paint to Glossy or even Metallic. Whether we let people change these at their leisure will be a choice based on aesthetics and performance.

MaskApplication MagTipSkins_0003_Layer 1 MagTipSkins_0002_Layer 2 MagTipSkins_0001_Layer 3 MagTipSkins_0000_Layer 4

Cow_Trix

Hey folks. This week I’ve been working more on the crafting workflow, and looking into two new mechanics – repairing and scrapping items. Many items of course have durability, so after a while they’ll break. If you take it to the crafting machine that made the item (yourself if it was handcrafted) you’ll be able to consume some of the blueprint’s uses to repair the item back to full health. Doing this will require a new resource, scrap, which will be found in a lot of places around the world. You’ll also be able to turn some items into scrap, which will hopefully incentivise players to pick up loot while at the same time freeing up inventory space so it isn’t filled with a bunch of stuff you don’t want to use.

RepairUI

A lot of stuff influences how these values work – for instance, a degraded item will turn into less scrap than one that is brand new. Rarer items turn into more scrap and require more scrap to repair fully. At this point you can use any amount of scrap to repair your items somewhat, so even if you don’t have enough to get an item back to full health you can prolong it breaking a bit. We’re also intending on making repairing an item more efficient than crafting new ones, to create a sense of attachment to blueprints. Your gun is your gun, and while you can make other copies to give to your mates, it’s better to keep and repair it.

I also changed how Item Slots work again, improving their extensibility and ability to be customised for specific purposes. One example is the two new types of slot I’ve created for the repairing UI – the proxy slot, which can point to an item but not actually store it, and a collection slot, which easily shows all types of a certain item in a slot UI for showing how much scrap you have available to repair with.

Tom

This week I’ve mostly been working on the 0.3.8.3 hotfix. The way all our construction items are setup (both machines and construction hammer objects) a construction volume is set around them where we check against overlapping objects to determine if the object is able to be placed. For the update I separated the volume checks against players from the other checks against terrain, constructions and other objects.
This allows us to have a larger check volume against players that totally covers the entire collider of the object. This isn’t possible when checking against terrains, constructions etc. as we often allow them to overlap. For instance you can see the new storage chest validation, if we checked all layers against the outer volume you could never place it on a slope, only where it is perfectly flat.

ChestConstructionCheck

It also turned out that the round pillars you can build with the construction hammer were inheriting a volume check from the slightly smaller square pillars so these have also been updated. If you are using a construction mod that’s setup to override the standard construction set and it contains pillars, it will need to be rebuilt!

Vehicles have had an entry check added that’s essentially the same line of sight check that they run on exit, this stops players entering vehicles through walls so you shouldn’t have to worry about parking on the edge of your garage where the interaction trigger can occasionally stick out. Players will no longer be able to use bugged vehicles as a bridge to get inside rocks and bases.
Also on the vehicle front, crashes have been changed so if the vehicle has an attached body simulation (where we connect a dummy rider to the vehicle via a joint, both the kanga and goat are setup this way), when crashing the crash vehicle is spawned at the location of the attached body rather than spawning at a preset location with a quick sight check. This solves a bug where sometimes the sight check would unexpectedly pass when it should’ve failed during multi-vehicle collisions, occasionally allowing players to crash through walls.

I also spent some time setting up vehicles in itemv2 ready for our new coloring system, now that we can change colors on a per item basis we will change vehicles so each panel can be individually painted. The backend technical side of things is working now for vehicles, up next is working out how this will fit into gameplay (ie. how to color something, what it costs, where to get these resources etc)

Spencer

This week I’ve been pushing forward with survival content, filling all our new awesome systems with a prototype progression for our upcoming survival test and have to say its coming together really nicely.

I started the week with a big wishlist of stat modifiers for equipment and am making my way through evaluating feasibility / implementing them as I go. To support things like clothing giving damage bonuses etc I extended the system I spoke about last week to enable attack effects to be derived from an entity stat on the attacking player. To achieve this, we create a second damage stat on the attacking player, one that can be additively contributed to by all equipped items via direct damage numbers or percentage multipliers, then a weapon will specify that it uses the result value of that stat as the attack effect amount. Another example of this is a mining helmet increasing your mine power while you have a pickaxe equipped.

This is our current wishlist for equipment stats:

statList

Not everything here will make it into the game, but I will do my best over the next week to implement as many as possible.

To support these new stats I rewrote a few tooltip panels for equipment to show their effects more clearly and support the new stat based effects.

I also spent about an hour building a system to procedurally name items, its mega basic and has no correlation to stat affixes, but at least makes it possible to tell 2 generated items apart. Eventually icons will actually render differently for different items to make sorting stuff easier.

pickaxetips

This name override system also makes it possible for people to name their own items. I would need to bang together a new machine to allow it in game, but all the infrastructure is there now.

TEHSPLATT

After landing on a style we liked, the character was taken to it’s game ready state where we realized the style did not sit right with the low polygon limit. After a few more style iterations we decided taking the character back to basics would be the best bet, so I’ve essentially done an anatomically correct version of the original character with updated proportions and face while still staying true to the look and feel of the original character, hopefully this will be a familiar face to you all. Due to the styling challenges we ran into, the female character has been put on hold for another week, allowing us to work on making the character look great in game, a process which transfers to all other characters.

PlayerStyleChangesFinal1

Hurtworld Update #70

Spencer

This week was mostly taken up by the project restructure, going through everything and fixing broken references n all that fun stuff. The good news is I am now ready to start pumping out content!

While building the procedural pickaxe generator, I came up against a limitation of the Mutator framework that made complex stats and buffs on items tricky. To solve this I added a new feature to our state machine layer that allows blackboard variables (data that the equipment simulation is driven off) to be bound to entity stat values.

Last weeks devblog shows an item generator that explicitly sets the pickaxe swing speed. But what happens when multiple things want to affect this?

A good example of the use for this is melee attack speed. We want multiple items you have equipped, like gloves, weapon, weapon attachments etc to be able to give bonus melee attack speed, and things like debuffs to be able to reduce your attack speed by a percentage, we then want to take the result of those stacked calculations and push it into our state machine so things like our attack swing simulation and animation runs slightly slower / faster. There heaps of different sources of entity stat effects in the game already, and utilizing this system to drive equip simulation gives us a heap of flexibility. This will extend to things like reload speed, fire rate etc.

This week I’m going deep on content, which should give us something playable in survival soon.

Introducing TehSplatt / Character Rework

Tehsplatt has taken over from Gavku and is doing a pass on the main character art. Our main objectives with this character pass is to solve a few issues with the proportions of specific body parts. While he is at it, we’re exploring ways to make the character fit in with the surroundings and creatures a little better, while not looking strange holding realistic weapons.

Remember… Artists are not programmers, they can’t fix bugs or implement features, and have very little baring on when releases are ready.

TehSplatt

Hey, so I’m the new guy. This week was spent redoing the main characters and coming up with a style that can be applied consistently to old and upcoming art. After many iterations this is the style we have landed on, we feel it gives the character a realistic feel anatomically while still staying true to the original cartoon style. These are the first drafts of characters in this style and they still need a lot of work. Today was spent sculpting the female player base in the same style and will most likely be able to be shown in the next dev blog.

FinalCharactersDraft1

Mils

I battled the infamous new computer monster this week. My old PC was getting a bit tired so I built a new beefy machine that is humming along. The old computer’s 16GB of RAM was maxed out and I was getting slowed down a lot in 3D Coat.

I did manage to get one of the Stocks completed for the AR15. The gun is starting to come together.

Stock_Routine_0003_Layer 1 Stock_Routine_0002_Layer 2 Stock_Routine_0001_Layer 3 Stock_Routine_0000_Layer 4

Tom

This week I’ve been helping out Spencer and Cowtrix fix up issues due to splitting our SDK into different projects. While this took up most of our time this week it was definitely worth it as we’ve reduced our mod build times from around 10 minutes to under 10 seconds. This makes rebuilding while tweaking things way less painful and this will also be an even bigger help to modders who aren’t able to run the Hurtworld client from the Unity editor and make changes at runtime.

We’ve also received more reports of rock bases so I’ve been investigating the problem again. I discovered another rare edge case where our inside rock check would fail and players were able to place an ownership stake inside a rock. I’ve refined our method to deal with this case and now that our rock check seems to be getting robust and is performant we can afford to add it to some more items. We’ll be releasing a small patch sometime later this week to fix up the rock check and add it to the rest of the machines (lockers, chests, drills etc.). We’ll also be adding rock checks to the player that will kill any player found inside a rock.
Hopefully these changes plus a few other bug fixes to stop players getting inside the rocks in the first place will get this issue finally sorted!

Cow_Trix

Hey folks. This week I’ve been implementing some changes to the crafting window, and implementing the changes to crafting we discussed last week. I’ve also been fixing the machines and various assets up from the SDK split. It’s been great working in this new workflow where mod builds take a tiny fraction of what they used to. Machines are a bit neater in code structure than they were before as well.

The new crafting workflow is coming together nicely, and while the UI still has a bit of tweaking to go it already works a bit nicer than the old version. You can equip and destroy handcrafted blueprints, and I’m currently figuring out what the best way to do repairs are without over-complicating things. The recipe list doesn’t have categories anymore, as categorization is likely to happen on a specialised machine level now instead of cramming everything into the one workbench. There’s also a nice little search bar, we’ll see if it ends up useful enough to actually be worth it.

Capture2

Handcrafted recipes will actually work just like an extra “hotbar” of restricted inventory slots that the handcrafting menu can go and find. You’ll be able to manage that by context clicking certain blueprints and then clicking “Learn”. At this point you have 12 blueprint slots, although this might change. If they are all full, and you want to learn a new blueprint, you’ll have to open up the handcraft menu and delete one. 

learn

 

Dev Blog