Press Kit Wiki

Hurtworld Update #28

skoogleridle

Spencer

Its been a very productive week (and a bit) as we push through some really substantial changes to the Hurtworld core.

The deeper we get into the meaty changes we are working on, the more things present themselves as something that should be completed sooner rather than later, delaying the big patch.

In the interest of giving you something to play with in the meantime, we are packaging up an update of things that don’t affect the overall balance of the game for release around the 22nd of April.

This will contain the extended construction system / explosives system (without armor and other new properties), it will also enable Steam workshop downloads of custom maps.

Steam Workshop

I’ve been seeing a lot of awesome maps being made in the map SDK over the last couple of weeks so I decided to spend a bit of time over the weekend integrating the first pass of Steam workshop.

steamuploader

This came together quicker than I thought and works really nicely. No command line tools or manual configuration. Just click a few buttons and your map will be live to the public.

Once this goes live, servers will be able to pick any map on workshop by its id (eg “w:663388709”) and have it automatically download on startup. Players connecting to the server will also download the map seamlessly on connection.

There is now very little work involved in extending workshop items to other things like construction prefabs, guns (in itemv2), even creatures!

Full Wipe

We’ve had a good run with the infini wipe servers. Not long ago a server couldn’t handle 20 days without a wipe, we are now at 65 days with (for the most part) decent performance.

However with the new construction upgrades, we will need to do a full wipe of all servers. If all goes to plan, this will go live on Friday the 22nd. Save games and will be available for download for those who want to keep their epic structures in their own private server.

Mils

As mentioned last week I have been reducing poly counts across the board. I removed some poly’s from the brick windowed buildings that to be honest would not really make much of an impact to the look from street level. We decided after that to take out a lot of the floors from the buildings and put in some ‘filler’ meshes.

There are two filler meshes for each shape, they span 3 & 5 floors vertically. (as seen in the following images)

Poly1

This will dramatically reduce the polycounts of the buildings to a level that will maintain our fps standard. While it would be nice to have floors on every level, this is just not possible given all our constraints. No work was wasted in this process, there are simply less floors in the buildings.  There will also as with most other games be ‘blank’ buildings that have all the same outer structure of the other buildings, but no interiors except perhaps the first and second floors.

Poly3

The image below illustrates another challenge I faced, which was separating the stairwells from the buildings floors. The stairwells are a single 20 storey piece that is attached to the roof of each buildings. This made it easy to create a one piece fits all scenario, which saves on adding more meshes. The walls of the stairwell, whilst not visible in these pics, are attached to the filler pieces, and so span the 3-5 storeys where you cannot access the floors.

Poly2

Gavku

After finishing off an art/optimization pass on the standard construction pieces. I have been working with Sean to come up with some construction assets that will hopefully give the players more freedom in regards to the functionality and look of what they wish to build.

ArrowSlits

The diagonal walls already seem to work quite nicely, as do some of the basic wall piece replacement assets like arrow slits, and shuttered windows.

Castle

Some of the construction pieces that I believe will have a big impact on the look of players bases are things like fencing/railing, building trimming, buttresses, and a shingle like tile construction system that allows the players to choose the angle of their roof! It is going to be a bit of a balancing act between giving the players a lot of flexibility with small pieces, and the need to keep polycounts reasonable.

Pieces

This week I also had the added pleasure of having to reformat my pc, which always ends up being more of a hassle than I remember it being 🙁

Cow_Trix

I’ve finished up for now on explosions – they’re now much more physically based. They do things like reflect off surfaces, be blocked by things, and in general just act much more like explosions do in reality. For instance, if you’re in a hallway when an explosion goes off, and the hallway is strong enough to withstand it, you’ll actually get more damaged. But if the hallway isn’t, and is ripped apart in the explosion, more force will escape outwards and won’t be reflected at you.

This is what an explosion looks like on the server, reflecting off a player, some buildings, and terrain.

An explosion on the server

I’m looking forward to tying this in to the construction revamp, with being able to build with materials that better withstand explosions, and being able to structure your base in more interesting ways to be less raidable.

I’ve also been working with Gavku to get the new structure pieces in, which also means a fair reworking of the whole system to open it up to things like modding later on. The ultimate goal is that, much like the map SDK, you will be able to create new construction items and upload them to the Workshop for use in servers and stuff. Want a server where you can build Buddhist temple style buildings? Soviet era bunkers? Medieval villages? Part of this revamp is making those things possible.

A lot of things have been touched in the last week with this revamp, including starting to redesign the UI, how attachment points work, how collisions are done, and how we sort construction attachments. We’re adding in a lot more types of attachments, like pillars, buttresses, trimming, and windows, and figuring out how to put these all together in a way that works. More on this in the next blog post.

editor

 

Dazzler

Spencer: Dazzler isn’t in the office today, but here is a snippet of the new skoogler idle:

Hurtworld Update #27

WholeCIty09

Spencer

Hey folks!

I finally broke the back of the upgrades to the equipment system this week, its taking longer than I originally expected but needs to be done so we have the infrastructure to push forward. One of the biggest wins from this week is integrating a tool that is going to save us a heap of time, and paves the way for mod driven equipment. We are now using a visual state machine editor for simulating equipment. If you’ve ever tried to code something that simulates a state machine without building a framework, you would know it usually ends up a massive mess. That’s what our equipment was before.

The simulation now looks like this:

MeleeWeaponItem

This will heavily reduce the amount of logic we need to hardcode into equipment. All this configuration can be serialized into JSON, then fed from the server to the clients on connection. This means server side mods can mod client side predicted equip behavior.

This framework also exposes a solid implementation of behavior trees which kicks ass for AI. We have a custom implementation of something similar, but it never reached a stable maturity and is a pain in the ass to work with. I have high hopes this will give is a bit of breathing space to create some more interesting AI behaviors for the upcoming creatures.

Part of this integration is the tricky process of refactoring equipment code so that it stays in sync with the server. This system gives us the ability to consistently synchronize state behavior from server to client and to player animations without a heap of glue code massively reducing the overhead of creating new weapons and equipment.

The hope is to get a working prototype of most weapons implemented in the new system this week.

Dazzler

I have been working away on creatures, as well as a few fixes and additional changes for the big character-controller/gun-play Spence has been working on.

Here is some “Rig Pr0n” for those who are into that sort of thing. It is a task that takes quite a bit of time, though not sexy for most ;P.

mmm... sexy matrices

mmm… sexy matrices

Here is a quickie of the Skoogler skoogling, to wet your appetite for some hurt-turkey…

Interestingly, Gavku pointed out the Cassowary (upon which we draw inspiration) makes the following noises;

YouTube / ThePhantomThylacine – via Iframely

Pretty awesome/terrifying

Mils

I have been putting together all the City components and have made a pretty good basic fleshing of how a real city would look. The few different textures I previously built along with the ability to vary the shape and heights of the buildings has actually come out quite well. These are just the basic structures. I will later add the extra dressing that we want to add to give some of the buildings a unique look.

We tested this for performance and I gotta say it’s not amazing right now, but not to worry we are now figuring out ways to cut down on some of the polycounts. This is needed to maintain our high Frames Per Second standard. We will probably have to cut down on the amount of floors each building can actually access. Using some clever LODing we should be able to get the polycounts down and maintain a reasonable quality. If it were 5 years from now and we had future Graphics cards we could probably get away with each floor being accessible.

 

WholeCIty08

WholeCIty05

WholeCIty06

WholeCIty07

Once we have the main city building block performance under control, I can move onto messing the city up some more. We want to add some standard assets which you might find strewn around an abandoned city. Items that can fill the road space and the interior spaces whilst looking like the place has been long since ransacked. I guess watching The Walking Dead will be on the cards for me. 😉

WholeCIty01

WholeCIty02

WholeCIty03

WholeCIty04

Gavku

I have still been working on updating all the construction textures. The wood, stone, and metal textures and materials have all been done, focusing on bringing them in line with other textures in the game and making sure that repeating textures aren’t overly obvious.

I have also updated some of the meshes of certain construction prefabs. Pictured is the new ramp and support truss. As well as unifying the art style, I also reduced the tri-counts which should help give us a little bit better performance.

I have now jumped onto creating new construction pieces with Sean, with the hope of giving players a host of new possibilities in regards to personalizing what they build, as well as some additional functionality.

NewMats_Pic

Cow_Trix

This week I’ve been continuing work on the construction system. Some cool stuff is coming out of it, that I’m looking forward to getting into the wild.

One of the biggest things to get done is allowing individual structure pieces to have distinct properties. For instance, now a wall (or any other piece) can have a health value, an armor value, anything we want! We can even put color in…

Literally Picasso

Literally Picasso

This also affects something I’ve mentioned before, how explosions will work with building damage. As now we can do much more accurate physics about how something is hitting a building, we can do much more realistic simulations of explosions. The blast can be blocked by structures that are strong enough, bounce off structures, and have it’s damage reduced when it does bounce off of something. This is going to make explosions much more physically realistic and dynamic.

Me and Gavku have also been looking into expanding the flexibility of the prefabs themselves, by adding new ones and changing the way we use the existing ones.

crappyCrop

Part of this is giving more fine control over your buildings, so giving some smaller options for construction pieces. Currently some things like support trusses and floors are only 4m2 blocks, but there’s no reason we can’t give players 2m2 blocks instead and let them design much more intricate spaces. We’re also looking at things like diagonal walls, aesthetic trimming, ladders, windows, and more.

I’m really looking forwards to giving players the ability to customise and distinguish their bases and buildings more stylistically. The more customized a base is, the more its not just a functional space. It starts to become a home, and you get attached to it.

The approach we’re taking is we want to see buildings in other games, art, or the world that we think are awesome, and then provide the tools to be able to build that in Hurtworld. What kind of base do you want to be able to build? Let us know!

Hurtworld Update #26

20160316060301_1

 Cow_Trix

Hey guys. Couple of new things this week, including construction, and looking at highlighting community servers that are doing cool things.

Construction

When I haven’t been getting this patch sorted, I’ve been looking into revamping the construction system. Currently, the system has exactly the same mesh for collisions and rendering. Because complex mesh colliders are very expensive, this means that the building generally have to look very simple as well as collide very simply. It’s also tricky to do things like complex level-of-detail, finding out what part of a building a projectile hit, and more complex destruction.
So, I’ve been looking at expanding the already very nice construction system to be able to accommodate all of this! First, a bit of information about how the construction system works, specifically the passive construction system. Things like machines, firepits, storage lockers, we refer to as active, and are just objects in the world we treat like individual things, because they need to do stuff. However, if we did that for every single wall piece in the world, the game would be unplayable. So, for things like wall-pieces, trusses, foundations, etc. we gather them all up, and bake them into combined meshes to save on both physics processing, and rendering.

Basically, say you construct a new wall. The game goes and finds the whole structure, and tells it about this addition. The structure adds this information to a list of things that have gone into making up the structure, and then goes and rebakes whatever meshes it needs to – in this case, all the combined walls.
So one tricky problem we had to deal with was this. Say you’ve combined a building into one big collider, and then you shoot it. How do you tell which of the original building parts it hit? The physics doesn’t have any distinction anymore between one part of a building and the next, it just treats it as one big object. The solution we figured out was to count the mesh triangles. Let me explain. Meshes are made up of a list of triangles, or tris, that describe an overall shape. When you raycast against a mesh collider in Unity, one of the bits of information you get out of that is what the index of the triangle you hit in that mesh was. We also know how many individual triangles were in each piece of the building parts. So, we can simply count upwards, adding on the total triangle count for each piece as we move through this list of additions, and when we get to the range surrounding our number, we know we’ve found the piece.

Awesome! This opens the door to cool things like stats for individual parts of buildings, and much more dynamic destruction. You might be saying C4 already does what seem like fairly dynamic destruction, and you’re right, but the way it does it is very expensive and not particularly good. This method is much more flexible and future-proof. We can start saying this piece of wall has this amount health or heat resistance or anything, really.

Featured Community Servers

Something we’ve wanted for a while is a way to highlight community servers that provide a good experience for players, or are doing something really cool with mods. We’ve introduced Featured Community Servers, so we can highlight servers that we think are cool and should get some more love. Of course, we want to do this with the server owners consent, so we’re not flooding someones intentionally small server with attention and new players. We’ve had some awesome feedback and lots of nominations on this! It’s been really awesome reading about how much you folks love the servers you’re on and want to see them get the recognition they deserve.

If you’ve got a community server you think should be featured, let us know here!

Gavku

This week I have started to update our construction materials and textures. The process I use at this stage is to usually grab a photo ref texture base, tweak it in photoshop ( mainly levels and saturation, sometimes quick painovers ) then take it straight into unity and throw it onto some construction pieces. Making sure that the tiling isnt overly obvious is the first thing I pay attention to, either tuning the tiling settings in the material setting, or scaling the texture in photoshop. Having a large structure built like the one below helps in this and I will move to various distances to check the readability as well as occasionally changing the lighting conditions. During this time I am also taking into account how the colours read and whether or not something is standing out too much against its neighbor. I then take the base texture back into photoshop and paint out a lot of the photo real detailing, making sure that everything still tiles ok as I do.

ConstructionMaterials2

I want to add normal maps and spec maps to the new materials ( nothing crazy just something to add a tiny bit more pop and personality ) so when I have a texture that I think possibly looks ok, I will paint a height map and use that to generate a normal map. I also use the height map as a fairly decent start point for a spec map.

ConstructionMaterials

Spencer

I’ve been hard at work on the upcoming equipment restructure and infamy changes. As part of these changes I am taking the opportunity to do a major refactor of the equipment system which will provide massive improvements to the stability and quality of gunplay. Now that we are starting to see some deathmatch servers coming up (with new awesome community made maps), we have a better platform to iterate over the gunplay and push them to the quality we have been aiming for.

I am still a few weeks out on getting any of these things in game.

Item Schematic Concept

I’ve spoken a few times about wanting to introduce procedural loot drops (think diablo / borderlands) and have been trying to figure out a way to fit them into a more survival crafting oriented style. The biggest challenge I see is the difference between finding something awesome, and crafting something awesome. In a lootfest RPG, you constantly sift through trash loot until you find something that is an upgrade for you, stuff you don’t want is of no cost to you. Some RPGs also contain a crafting element where you collect resources and basically get one roll with a decent chance of good stats. In reality you end up crafting 10 of the same item hoping for something decent and throwing away the rest, as your gear gets better the chance of getting an upgrade gets lower and lower meaning having to craft more are more for less returns.

I personally never buy into these systems as it feels like a waste of resources, and re-crafting the same thing over and over isn’t much fun.

Now take a survival game, where most things are crafted from resources. How do we infuse the loot drop excitement with resource gathering and crafting without it being a very expensive gun slot machine?

The solution I am leaning more and more towards is having creatures / loot crates drop single use schematics that have already revealed the random bonuses on the item. The item still needs to be crafted at an advanced crafting table with variable resources required depending on the quality of the item, however there is still the gathering and crafting element similar to the existing items in the game right now.

I feel this will be the best way of delivering loot with varying quality, stats, bonuses and attachments while still fitting into a survival game. Upgrading the gear after the fact isn’t out of the question however this would be much more expensive.

I will be fleshing out this idea over the next couple of weeks, and it will hopefully make it into the game at the same time as procedural loot (still a while off)

Mils

I went on a Road Trip this week. Having created a good range of pieces for the Buildings, Sidewalks and Roads, I moved on to creating the proper assets within Unity. Firstly I made some tower prefabs, which after some thought, seems to be the best way to quickly build various shapes and sizes of structure.

RoadSetups5

RoadSetups1

RoadSetups2

Next I built a network of roads, and the idea here is that they be modular as with the buildings. I had to create a few more pieces as I went to plug small holes and generally make the system more flexible. I can think of 10 more meshes at least that will help the road system along. I need to dirty things up a lot more in general also.

RoadSetups4

RoadSetups3

 

 

Dev Blog