Tom

This week I’ve been continuing to work on the upcoming 0.4.5.0 patch which we’ll be releasing this Friday, the 8th of September.

By popular demand we’ll be adding back loot to all the dangerous creatures. We had removed loot from these creatures because we thought these creatures we’re serving dual, opposing purposes. For instance if we wanted to make an area more dangerous we could spawn a lot of say Bors there but then in a lot of cases we would actually be making the player’s life easier by giving them a bunch of loot. We also liked the early game challenge of learning to hunt creatures that run away from you and didn’t want to lose this as soon as aggressive creatures became involved.

What we didn’t consider enough though was how we were essentially taking away our most interesting resource nodes. We still want to incentivise hunting non-aggressive creatures so dangerous creatures will drop different materials. For this we’re adding back in animal fat as a constant time resource (meaning your yield won’t increase as you progress) making it the equivalent of animal tendons for dangerous creatures.

It’s primary usage to start with is crafting the healing consumable that unfortunately slipped out of last patch but will definitely be in this one. There’ll also be a chance for dangerous creatures to drop raw steaks again.

The DartBug has been coming along well and now is all setup with sounds and also a cool looking particle effect thanks to TehSplatt. I ran a stress test spawning heaps of these guys which turned out pretty funny, the camera gets pretty much obliterated by all the incoming projectiles and the way they surround the player looks pretty cool with the burrowing particles. Don’t worry though, a real server couldn’t handle this load along with everything else going on so we won’t be spawning them in anything near these numbers (they won’t be randomly colored in a real server either).

As well as the DartBug the other new bug coming in this patch is the Antor who I showed a quick preview of last week. This one is going to work a bit differently to the other creatures, rather than just spawning them directly on the map we instead spawn their home, a wasp nest styled resource node. This node spawns a bunch of Antors so you’ll always be fighting them in multiples, to balance this they have low health and don’t do much damage but as you start killing them the node will spawn new Antors. You’ll have to be a quick aim to take them all out, then you can start mining the node while keeping an eye on any new spawns.

I’m going to be spending this coming week polishing and tweaking the balance numbers on the new creatures as well as trying to squeeze some more bugfixes into Friday’s patch.

TEHSPLATT

Been doing a lot of different stuff this week, first up I worked on a particle trail for the dart bug, I’ve only used Unity’s particle system on a few occasions so I didn’t go too deep into it. Due to the particles needing to clearly show the path of the dart bug while underground I tried to keep the clouds tight and low to the ground, while making sure the front of the trail was obvious. I tried to represent some rocks being thrown into the air as if a creature was digging and kicking rocks up but they didn’t turn out great, however I am determined to make some decent looking particles now because they are pretty fun. We talked about adding a little dirt mound mesh under the bug when it pops out of the ground and when it first enters the ground. I would also like to create a bug splatter particle effect when I get the chance.

I made up a quick little hand held Health Pack to replace the square, sponge looking place holder we previously had. I also gave the Antor bug a colour mask and a new spec map, I think the spec map really helps it and the colour mask is a lot of fun on this one. I always try to create some basic environment themed colour schemes (obviously death isn’t usually an environment).

Lastly I’ve been gearing up to tackle some big cliff rocks, in my opinion sculpting such large rock formations manually can be a huge waste of time, especially when things aren’t finalized and need to be changed, so, I’ve been learning Substance Designer in my spare time to go down the route of proceduraly generating the rock faces I want as a height map and converting them into geometry in Zbrush. I enjoy this workflow much more as I can randomly generate new shapes and change things on the fly instead of having to go in manually and re-sculpt everything. We discussed using these large cylindrical shaped cliff rocks as they are very versatile and really good for breaking up obvious tiling.

Cow_Trix

Hey folks! This week I’ve been chipping away at our map tools, starting the other half of the map, and reworking localization a bit to make it easier for the community to translate the game via the Steam Workshop. I finished up the fixes I talked about a bit last week with the map tools. One of the big issues was with an inconsistency of array storage in the Unity Terrain that had crept it’s way into the map tools, despite initial efforts to keep it out. While the Unity Terrain gives you it’s height information in floating point format, it turns out that it stores that data in the form of a 16-bit integer. This means there are certain values that can be represented in a floating point value that cannot be stored as a 16 bit integer. For instance, on a 600m high terrain, let’s say we try to set the terrain to 30cm high (0.3 in floating point). Well, in 16 bit integer land, the closes we can get to this value is 29.2cm. While this little bit of distance isn’t an issue in the vast majority of uses of the Terrain system, when you’re writing a road tool and trying to figure out why the height isn’t what you told it to be, it can be a doozy. There was also an inconsistency in the data storage of the heightmap, where it stores the heights on an ZX axis instead of a XZ axis, which is how it stores every other map.

I’ve also been working a bit on our localization stuff. Translation of Hurtworld has always been super important, and a mainly community driven endeavour from a few awesome volunteers. However, we’ve found that we’re the slowest part of this process because we have to go through and actually put those translations in-game. I’ve been working on the ability to upload language packs to the Steam Workshop, which should hopefully be coming very soon with the release of the SDK.

Spencer

Hi Folks, this week I’ve been doing a bit of planning of the next few releases. I should have a bit of a short term roadmap that we can share with you soon. What I can confirm is that we will be doing an official ItemV2 launch to the main branch in roughly 2 months, before we do that there are a few things we want to iterate on first in experimental releases.

Mod SDK

I’ve spent a bit of this week packaging up the new Mod SDK and adding some needed features to get it to a usable state for our modding community. The main focus of this has been ways to inject custom content into the base game in an additive way. What this hopes to achieve is the ability for server owners to load lots of different mods that can work nicely together and aggregate into a solid experience without each modder needing to do a large amount of work.

For example, say you create a new weapon asset, there needs to be a way to obtain said item without console commands. To do this, you will need to either be able to craft it, or something must drop it.

The first method of injecting modification into the base game is a simple asset replacement. Any published asset you create, can be assigned to override another asset in the game (this works with other mods too, modception). With this you could for example, overwrite the recipe list asset from the Tier2 workbench with a duplicate of the real recipe list plus your item. This will work if you are the only mod trying to add to that workbench, but if multiple mods try to inject into an asset by overriding, only the last mod will get its stuff into the asset.

Additive injection is pretty simple for things like recipes, I’ve added a merge into list field on recipe list assets. When the game is loaded, if this field has a reference it in, the list will append itself to another recipe list. This means if 10 assets add a recipe to the same list, all recipes will be present. Getting a nice order is harder, for this case the basic scenario will do.

Assets with more complex structures get a lot more difficult. Say you create a new creature variant or new resource node, how do you get this into the game?

Spawning maps are painted inside maps at editor time, its a bit much to ask everyone that makes a new creature or resource node to author an entirely new map and this prevents multiple mods to add things like creatures and resources together unless the map creator is aware of the mods at creation time.

We now spawn creatures by invoking SpawnBuilder assets instead of just pointing to the GameObject that needs to be spawned, the SpawnBuilder asset can change a massive amount of details about what is spawned depending on situation or even randomness, these assets can also be overridden to do things like 50% of the time spawn your new creature instead of a T2 Boar where T2 Boars spawn. This is useful because it means your mod will work with every map that has T2 Boars painted into it, but like the scenario above, if multiple mods try to do this for the same spawn builder you will run into issues. Unlike a list of recipes, you can’t just append to the end of the list. Spawn builders are complex trees of choices, additively injecting will require choosing a node to inject into even then semantics will be unpredictable at best if multiple things try adding to the same node.

The upcoming SDK release will include the source files we use to build our DefaultContent mod. This should give you guys a good headstart in figuring out how the vanilla Hurtworld is built and make it easy to replace assets to create new behavior. Our BaseArt project is pretty massive, so we won’t be adding this to the SDK, however you can still reference any of our art assets in your mods using our proxy asset system. I will do a video on how this works sometime this week along with basic usage of the new SDK.

This will hopefully be released in the next couple of weeks. Before going ham on making injection features, I want to release the initial ItemV2 sdk, and hear from modders to see what content they are trying to build, and see if I can help them achieve that. Still very much a work in progress.

22 September Release – Heat Progression

Today I am starting work on the September 22nd experimental release which will contain our first parallel progression. What this means is instead of hopping from Noob Desert -> Forest -> Sand Dunes -> Red Desert -> Snow, you can choose to go down the forest->snow path or dunes -> red desert path from initial spawn. Each progression will have different requirements to progress and different technology perks. Taking a T5 gear from the cold progression to the hot progression won’t help you that much, you will need to start the heat progression from the start.

I still have a lot of design work to do, but at this point the heat progression will be much more focused on scavenging technology instead of creating things from raw materials. We will be working towards a mad max vibe with a larger focus on vehicles, gasoline and explosives and less on nature.

Map Changes

Obviously we will be adding multiple new biomes to mangatang, we will also be changing the flow of things a bit. Something that was always a challenge with PVE environments in a survival game was making the world interesting while leaving it as a canvas for people to make their own mark. Now that we have blocked specific biomes from being built in, we can start designing them in more traditional ways with more interesting content as we don’t need to leave space for player construction. We can also make them a fair bit smaller as trips to these gated biomes will be done as farming runs, you probably shouldn’t be doing runs longer than 30 mins due to the risk of losing what you have farmed. This will leave more space in the middle for the build biome, which will be expanding as well as hopefully getting a secondary visual skin so its not so samesy over a large distance. This should alleviate pressure on being packed into building in a small space, which will also be helped by there being biomes on both sides of the map that people want to get to, the best spot to build won’t be down in one corner of the build zone near the few gated zones.

Mils

I is gone to to Perth for a week to see my family, I also like the taste of sweaty balls.