Press Kit Wiki

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.

Hurtworld Update #88

Spencer

Hi Guys,
I think we made a lot of ground on Experimental ItemV2 vs Master this week with some serious performance upgrades with the introduction of potato mode amoungst various fixes. We have decided to stick with the 2 week release cycle for experimental, as with the weekly content drops we were chasing our tail a bit.

For this cycle we will be starting with a quick bug fix patch today or tomorrow, then focusing on on completing the hit feedback upgrades followed by diving deeper into rarity, environmental effects, loot generation and progression. Expect to see rare creature spawns with different effects, that drop rare loot, and more diverse blueprint generation.

Hit Feedback
This week I will be finishing off the hit feedback system I started work on last week. There was a bug in the initialization step of the effect asset list that caused the effect system to shutdown completely if an effect was played while loading into the game (a pretty common scenario in a real server). This means the impact feedback and hit sounds would have been broken for most people. I will push out a patch tomorrow with a fix for that and finish off fleshing out the effect and sound configuration. A key part of this is the seperation of impacts on you, impacts on others by others, and impacts on others by you. A problem with the old system was that the same sound fired when you landed say, a headshot on someone, as the sound that played when you are getting killed. These should be different so your brain can create a negative and position ascosiation with the effect and not sit in a confused middle ground.

Tom

Since last blog I’ve been finishing up the non-performance related changes that went into 0.4.1.4.
This includes adding repairing to the fabricator machines, adding the vehicle wrench, a bunch of little bugfixes and working on the early game balance.

Now the early game is in a place where you can make a pickaxe, hatchet and spear easily and getting your first base up is cheaper and more accessible than ever only requiring 1 rare scrash drop (the ItemV2 equivalent of amber).
I also made hunger less of a concern, now players start with more nutrition, there are more owrongs in the starting zone, normal shigis now always drop meat and forest shigis have an increased chance (of dropping meat). With all these changes staying well fed is maybe a bit too easy but I’d rather stick on the safe side of this balance in the early game, dying before you’ve gotten a base up and having to start over from scratch is pretty harsh so we want everyone to be able to get themselves established without too much trouble.

The next real speed bump in progression is getting your protection gear which in the current setup means killing a whole lot of creatures to get the blueprints you want.
Right now we think this process is too hard and too random and so for the next experimental update we’ll be introducing a way to craft basic blueprints of common rarity.
This means you’ll be able to craft a basic cold protection top without having to get lucky finding the correct drop.
Being of common rarity will mean the item will only provide its basic function (eg. elemental protection for gear, mining power for pickaxe etc), extra stats like swing speed and bonus yield will be reserved for higher rarities coming from blueprint drops.
As well as fleshing out the rarities for items I’m also planning to do a similar pass on the creatures to allow them to spawn at different rarities affecting their stats, sizes, abilities, colors and loot.

RareYeti

Mils

So there’s not a lot for me to say about last week. I created the fabricator, which is an amalgamation of two existing heavy fabrication machines. The bottom part being a roller/bender for putting curves into long lengths of metal. The top part is a kind of grinder that I fitted onto the bender. Real world machines are the best for references for these machines as they really have that necessity over design, functional look. These references are a great basis for anything that you might want to look like it has an actual purpose.

Very happy with how it came out and how it is in game. I think the Furnace and Drill will get a similar treatment down the line. For now though I am going deep on the AWM and starting the texture work on that.

Fabricator02

TEHSPLATT

This week has been a full one for me. Working on getting custom trees into the game that utilize Unity’s built in wind and terrain tools. This has been a rather large learning curve as it’s not just the Unity tree;/wind system I need to understand it’s also the very under appreciated art of making good looking trees. There’s many steps involved in this process and I’m still learning the work flow but it’s definitely come along way from the time I started when my trees looked naked and half dead. In this video you can see the latest iteration of the new tree, this video shows the swaying and leaf flutter to give them some life and not just sit there totally still.

I’ve learnt a fair amount of tricks for making trees sine starting this little project, one of the main problems with my first trees was the vertex normals on the leaves shooting off in all different directions causing the lighting and shadowing to look random and horrible. By projecting the vertex normals outwards to a half sphere it causes the light and shadow to look much smoother and realistic giving the tree a fuller look. You can see here how sharp and jagged the tree on the right is.

TreeNormalsproper_Fordevblog

Another thing I’ve realized is how much better the tree looks with some ambient occlusion baked into it, gives it some nice shadowing and adds some depth too it which is always good. Still feel I have a lot more too learn but so far it’s going pretty well. The whole point of this process is so we can add in some more biome specific trees that give each biome a unique feel, it may not seem like it would change all that much but it will really add to the feel of each new area.

TreeBakedAO

Dev Blog