Press Kit Wiki

Hurtworld Update #91

Mils

So I got the AWM Receiver finished last week, I also got the first stock finished. Now we have a fairly complete version of the AWM. The next part I am moving on to is the Scope. I figured if the Scope gets done by Friday, we can have it looking a lot better in the game. These three components are the majority of the guns surface mass. I can then reposition the attachments from the AR15 to quickly create components for this gun. I suppose the more parts I make for each gun, the quicker production will go on each subsequent gun. Looking forward to sniping some craniums down the scope. 😀

AWMIntitialStock

Cow_Trix

Hey folks! This week I’ve been polishing up the new map tools to get ready for Spencer’s map making. The stamping system turned out pretty good, and I’m pretty happy with it. There are a few optimizations that wouldn’t go astray, which I hope to get to in the coming week, as well as one or two features. Firstly, I implemented a quick in-scene preview so you can get a rough idea of what the stamp is going to look like before you stamp it – check it out:

Preview

I also implemented a data inspector, so you can look at a few different bits of information in a window, like what the splat maps for a stamp are, or what the heights of a terrain layer are. I also fixed a bunch of bugs related to blending the terrain layers, and we’re in a pretty good state now I think with minimal artifacts.  Been thinking about how we can tie all the other pieces in to this system like roads, and what optimizations we can use to speed things up. One of the optimizations I’ve started playing around with, and have had some promising results with is Compute Shaders, so we can do things like blending arrays on the GPU. As well as this I’m looking into sectioning off a bit of the terrain and only recalculating that particular segment.

Another issue was that we’d end up with massive levels once you placed a bunch of stamps in them, as Unity would serialize the entire stamp data for each instance. I managed to get around this issue without having to create other assets by just implementing a simple custom instantiate button when you select a stamp that puts it in the scene, but then destroys the data container and sets the prefab as a redirect for that data. This hopefully will mean that levels won’t blow up in filesize when they get a lot of stamps in them.

Tom

This week I finally got around to implementing the character customisation preview. I fixed a bunch of bugs related to blending the terrain layers and
When doing this I found a bug in our shader that we use for anything that can be recolored, this bug was causing the alpha channel (transparency) not to be written to properly so when writing to an empty texture the result would always appear fully transparent. This bug was also causing problems in our icon renderer where we were using a work around to overwrite the alpha channel based on the depth texture (a grayscale version of the texture that represents depth, it is used for many image effects).

With this solved we can remove this extra processing step and speed our icon renderer up further.

I’ve also made some improvements to the inside rock checker after receiving some reports about some false positives killing you when below a rock. It turns out what was happening was that after the raycast hit a rock I was starting the next part of the raycast from the hit position. Unfortunately this position could have a small amount of jitter making it offset slightly from the ray. In certain configurations where the raycast was hitting the rock at a near parallel angle the offset could accumulate leading to a raycast that wandered from its origin. To fix this instead of using the reported hit position I use the original position offset by the length of the cast, this ensures no jitter occurs and the raycast always stays in position.

I’ve also been making some changes to the early game for the upcoming ItemV2 update on Friday. We’re adding a basic handcrafted bow to the player’s crafting list which does less damage than the wood bow (no 1 shot headshots) but offers an easy early game way to defend yourself and hunt Shigis without having to master long range spear throwing.

Also in an effort to keep the beginner area more beginner focused we are disallowing ownership stakes being placed in this first biome. We also thought machine removal was restricted until too far in the progression so I’ve been adding a machine removal function back into the construction hammer, not all machines will be removable however such as the ownership stake and the firepit.

I’ve also been doing some bugfixes that will show up on Friday, the standard roach engine will now fit into the engine slot again instead of the paint mask slot, machines will drop their inventory correctly again when they are disassembled and you’ll be getting sensible ratios of iron ore and stone from the red drill once again.

TEHSPLATT

Still working on creating a decent biome palette, still not there but definitely come a long way with my understanding of what works and what doesn’t, even though I have been warned about all the things that don’t work, It’s a lot harder to see those problems before they happen than you would expect. As you can see in this example, the top image is extremely dark, even the lighter grass below in shadow isn’t as dark as the top image in direct sunlight. This was caused by matching my colours to a reference that was already in shadow, thus causing me to darken the entire palette. The palette in two images with the lighter grass is still a work in progress, at this point I’m trying to stop the grass from looking boring and flat. Due to performance we can’t use large dense areas of grass, to get any sense of large planes of grass we have to use a flat texture, however, grass has many different shades and irregularities in it which can be hard to represent with a flat texture. What I’m trying right now is having different shades of the same grass as splat maps and randomly colouring different areas along with a dirt splat map to break up the grass. I believe with some more work and proper colour matching this could be a viable option.

Biometest3ForDevBlog

I also made a military style helmet to go with the military vest and pants, now that I understand skinning a lot better I can actually skin things to move with the correct body parts which is nice.

MilitaryHelmetForDevBlog

 

Spencer

This week I’ve been focusing on the content redesign, fleshing out what is going into this Friday’s patch, and starting to work with the new map tools to create our latest map: Mangatang (Probably shouldn’t let Mils name things…)

The current formula (subject to change) for this map is a spiraling progression that starts in the center of the map instead of the edge with large cliff faces preventing wandering into certain death.

Here is a super rough sketch of what I am working towards:

maplayout

We will be separating the progression into initially 2 parallel paths with different technology and benefits with minimal cross dependency (Hot and Cold).

Instead of needing to go through the red desert to be able to farm metal in the snow, we will have different resources needed to progress in each. Each progression will have its technology perks, likely end game players will want to gain the tech from both and possibly combine them to progress through the end game content.

For this weeks experimental build we will be focusing on the cold progression in isolation for both the new map and item progression, reserving parts of the map for the hot progression to be added for our next patch.

We are aware that this may cause more traffic and proximity between noobs and high tier players and lead to griefing. Will keep an eye on it and see how it plays out. Let the experiments continue!

Hurtworld Update #90

Spencer

Last week I finished off the upgrades to the impact framework for ItemV2. There is still more work to do there, but feedback on hits are at least a lot better than master branch.

Experimental wipe cycle 6 Plans
With programmers driving the design of the game, we have a tenancy to try to code our way out of every problem rather than good ole logical content design within the constraints we have. This week we’ve taken over the meeting room and put on our designer hats to redesign the content progression using the systems we have in place.

After a long session today, we have decided to move away from the research fabricator mess and focus more on the classic approach of crafting items from workbench like machines. Research fabricators worked well in theory, but make the starting progression far too clunky for the benefits they provided. There may be scope for them to be re-introduced for end game super valuable items, for now we are focusing on simplifying the mid game and creating a clearer path to progress.

Splitting up the craftables
We now have the scope to craft lots of items. Cramming everything into a single workbench is shitty. We will be re-purposing the researcher and fabricator machines to be used as higher tier workbenches that will have better focused groupings of gear. Late game the plan is to split this up even further, making specialized machines for crafting things like ammo, that will reduce over the long term the cost of producing that specific type of item.

Increasing the size of NoBuild zones around loot spots
As long as you can build a totem next to the place you want to farm, you don’t need gear and therefore don’t care if you die. This makes for a pretty boring game. We’ve discussed internally lots of different options to force you to wear gear, this one seems the least intrusive. Travelling to points of interest like towns and hot loot spots will be far enough away from your base that you will die on the way, this should make you NEED gear to progress. We may also increase environmental pressure to help force this issue.

New Map Tools
The latest iteration of Cow_Trix map tools look to be on schedule for delivery this week, which should give me a week to work on a new map for the Cycle 6 release. If my hopes for the tool come to life, this should get us back to the original plan of rolling out drastic map changes each wipe cycle.

SDK Update
I haven’t forgotten about the modders out there waiting on our new full SDK. I am still doing some refactoring to our project structure to streamline our build and authoring process, once that is more set in stone, I will push out an update to the SDK. Otherwise we will end up pulling the rug from anything you are working on once we do so.

Tom

This week I’ve been finishing up the rare creature variants that went into patch 0.4.2.0.
Without a lot of time to work with I opted for a breadth first rather than a depth first approach where I was able to give all creature types rare spawns even if the changes didn’t go much further than a recolor and an altered loot table.
It was great using our new SDK to set this all this up using spawn mutators which alter a prefab based on its spawned location, rarity and a random seed.
The mutators can be conditionally applied based on checks of these values which allows us to do things like spawn a fire spitting tokar when we get a legendary tokar spawn in the red desert.
The system is very generic and allows for nesting and grouping of mutators within mutators so you can configure things just about any way you could imagine. After trying out some different combinations with different creature types I’ve gotten comfortable with a pattern of having a shared mutator that will run on every variant first (setting anything common between them) and then having a mutator picker run which goes through a priority ordered list of mutators with conditions, picking the first one with all conditions met or falling back to a default if none of the conditions are satisfied.
Ordering the mutators in this way allows the more specific mutators to override the initial shared mutator and allows us to do things like the shigi matrix below out of one prefab.
I think playing with these mutators, tweaking and changing them will be an easy way to get into our SDK once we’ve distributed our example mods. Spencer has made some great steps towards that today and I’m hopeful we can get it in your hands soon.

ShigiMatrix

Cow_Trix

Hey folks, this week I’ve been working on more map authoring tools. Something we’ve wanted for a while is the equivalent of Photoshop layers for terrains, that you can edit, enable and disable, reorder, and mess around with non-destructively. This has been a cool little project to work on and has come out as a bunch of scripts I think would be handy for any map maker using Unity for any game. It’s involved a lot of double-handling, due to the closed nature of the native Terrain code, so every terrain needs a TerrainWrapper component that contains intermediate data like the layers. We only actually write to the native C++ data when all our work is done. This TerrainWrapper component allows you to create layers, snapshot a terrain to a layer, and create a ‘stack’ of layers that all add up to a final product.

Layers

Tying into and building upon this is a new concept in level-building called WorldStamps, which is the ability to basically “copy and paste” an area of the map easily. WorldStamps capture trees, prefab objects, splats, and heightmap heights and allow you to re-stamp them down anywhere else in the level. Or, make a WorldStamp prefab, and create a library of geographic features to build your maps out of. These were also cool little tools to implement.

pics1

One problem that needed solving was how to blend complex stamps together. For instance, say you have a cone-like mountain with some rocks and trees on it in a stamp, and you want to put in your level interesecting another copy of itself. Where the two mountains overlap, we don’t want to put the rocks or trees of both. Instead, we want to only stamp for the stamp that is higher. To do this – and potentially to do other complex blending modes in future, as the concept is pretty generic – a layer also has a map where different stamps can take ownership over areas. Simply put, we stamp out all the heights, and then we try and figure out who “won” in any fights over the heightmap, and write the winner to the stencil. Then, when it comes time to stamp rocks, trees and splats, we can look at this stencil and see if we “won” this particular spot in the world.

Mils

Yo! I’ve made reasonable progress on the AWM receiver this week. I’m into texturing and am getting damn close to finishing it. This is turning out nicely and the texture part is progressing quickly due to the pre-built material library I have been creating for the guns. The receiver is looking very nice, a little weird right now due to the stock not being attached. Speaking of the stock. I got a little held up because I forgot to add the disconnecting handle part into the receiver from the get go. This put me back a day or two while I fixed it, but as you can see that has been corrected. I should get the texturing done this evening if not tomorrow morning and then I think I’ll move onto the Stock, so that the gun looks more complete sooner. I’ll be modifying and adding existing components from the AR15 to this to quickly give it a few attachments.

AWMTexturing

TEHSPLATT

Had a pretty intense week learning and applying Unity’s terrain tools to a test biome I’m working on. First I had to figure out exactly what I wanted to do otherwise I wouldn’t be able to get a feeling for the atmosphere, that proved to be a mission in itself. Due to learning the technical side and attempting the artistic side at the same time it lead to a lot of really baron looking wastelands that didn’t feel like anything and while I genuinely believe you need to walk before you can run when it comes to this stuff, I felt like I had to push a bit further to give my brain a sense of what it was actually trying to achieve. So I built the start of what I felt we were missing in terms of biomes, which as you can see ended up being a very green, cliffy almost Jurassic style biome. As I ran around in this biome I started to really get a sense for what I wanted and luckily I just spent time figuring out how to get custom trees working because I think a good amount of interesting and exotic vegetation will really help to achieve the Jurassic atmosphere I’m going for. The next step will be going back to basics and working out colour palettes but this time with a clear end goal in mind. Mandatory sunset shot below.

FirstBiomefordevblog

Hurtworld Update #89

Tom

This week I’ve been working on player pvp armor. We really want to limit any extra pvp power that comes from progression to allow new players to stand a chance against more experienced ones which is why we’ve done things like separating pve and pvp damage.
In order to limit the power of pvp armor we’re changing it to more of a consumable item, currently we have three armor slots setup (head, chest, legs), the armor will only apply if you are damaged on a hitbox related to that slot. If the armor reduces damage in this way then the item will lose a large amount of durability. After running out of durability the armor will unequip itself and will no longer provide any protection or other stats just like other items.

I’ve also started playing around with our spawn mutators to change up creature spawns.
To see what kind of things would be possible I’ve been working on this fire spitting tokar that shoots explosive projectiles. The tokar has had it’s colors, size, attack projectile and projectile launching settings altered (I slowed it down and added some extra inaccuracy due to its lethality).
This guy will be a very rare spawn (with rare loot to match!) and most creatures will have subtler alterations.

TEHSPLATT

Trees!!! After working out a whole lot of kinks in the work flow and then fixing some really weird problems with transparency causing the leaves to appear grey while in direct sunlight due to the texture maps utilizing different RGB channels for different maps, which can be rather annoying. They look a lot better in our games lighting than they did in Unity’s standard lighting which is a huge bonus. The hardest challenge with these trees was getting the foliage to fill out the trees shape with the small poly budget and not have it look naked, I found that turning the alpha cut-off up fixed this and then later found out that we have fixes for the standard tree shaders and turning the alpha cut-off up the further away you are is one of the fixes, so that was handy. We randomly placed 100,000 trees in the scene and it still ran decently which is a great sign. Since these are my first trees I’m 100% sure there’s a whole lot of stuff I could have done to make them look better and while it’s a steep learning curve it’s one that I am very interested in. Here’s some pictures.

TreesDayDevBlog TreeNightTime_ForDevBlog TreeDayTime_ForDevBlog

Mils

So I tackled the AWM receiver this week. The receiver on the weapons takes more time than the other components. There was a lot of fiddling with the UV maps and getting the arrangements right. I had to juggle the very long side panels around until I got them to a good spot, which took longer than I’d like. I plan to have the receiver part finished hopefully by Wednesday or Thursday this week. This depends on the baking going well. There are some highly suspect areas around the slide bolt that I think may cause some hassles when baking.  Fingers crossed.

Here’s a sneak peak into the working of how I plan my UV maps (image below). I built this test texture myself, which has angled lines, circles and the little pink and white checkers. The angled & circle lines show how non-straight lines will show up when the texture is applied. This gives me a good feel for the texel density I need to use to make the gun look good and what size map to use for it. The little pink and white checkers are 5 pixels across each. I build everything on a 4096 map now and then scale it down to 2048, 1024 etc etc. At 4096, 20 pixels (or 4 checkers) is enough padding to not get mip mapping errors when I scale all the way down to 256 from 4096. I make everything 4096 now because I find you get better retention of quality when painting at a high res and then downsampling than painting at the size it will end up at in game. Also if we ever wanted to go higher quality for 4K, at least I could use the larger maps later.

Below is the UV map and the receiver only.

AWMReceiver_UV

Cow_Trix

Hey folks! I’m back from a nice, relaxing two week break and getting back into map tools. More on that next week.

Spencer

This week I’ve been fleshing out the upgraded impact effect system and its coming together really nicely. This involved porting all our old particle effects from the core project to an extensible structure in our mod framework as well as porting over legacy sound groups into the new configurable sound group structure. Pretty boring stuff but makes an enormous impact on how PVP feels. I don’t have a great medium for showing off sound stuff so you’ll just have to check it out in this Fridays patch.

For the rest of the week I’ll be restructuring how blueprints drop throughout the progression to not drop weak end game gear in the first biomes that really doesn’t help, you as well as figuring out where the PVP armor stuff Tom has been working on fits into the progression.

If I have time I will also be making the item Rarity / Item Level stuff more clear, so that you can get a rare item at low item level (eg starting biome) that actually helps in that biome as well as allowing you to craft entry level fabricators from the workbench for common level items. You will likely want to hold off for a better rare blueprint but this will give you the option not to be gated by RNG.

Dev Blog