Very busy week of bug squishing… as always, post feedback and bugs on the subreddit! Bases on the EU server have been looking good ^ … enjoy it while you can, building just got a lot more expensive.
Welcome to all our new players in the Alpha, we sent out 3 waves of keys early this week. You guys revealed some new issues we think we have under control now.
Unable to Connect
This was mainly around downloading structures from the server. A few weeks ago I said this was one of the last areas that need some love, yesterday I got the chance to refactor things to what I had in mind. We put out a patch last night and this looks to have solved the problems. If you’re still having connection issues please get in touch.
These suck, we appreciate your patience on this one. There was an issue causing the save game thread to break and never come back, we lost about a day on the EU #1 server and possibly some time on other servers. I put out another patch this morning which should guard against this happening again.
Earlier this week I had some time to start working on some exciting new content involving vehicles. More details on this soon.
Sean is working hard on bug squashing, level work and localization code (the latter is pretty much done). He also posted a really informative piece on optimizing occlusion in the level, which you can read here.
Mils is back from exploring Japan and is working on something secretive.
Gav is still chipping away at the old block… here are some nice sub-shards of ore.
Chris is working on yet more animation silliness…
Hurtworld Update #7 – Dev Updates
29 09, 2015
TacticalMyth requested weekly dev updates on our Reddit page, which we think is a good idea. Starting this week, we will give a bit of a rundown of where each of us is at. Not everything that we are working on, just the most interesting.
Most of you would have noticed the lack of server population in recent weeks. This has been intentional, very few keys have actually been released. To put things in perspective, there are more Hurtworld videos on youtube than there are active keys. We are very happy with the first phase of the Alpha.
We didn’t feel there was much point letting more people in while there were still large outstanding issues.
Today we will be releasing the first set of keys since the Alpha launched. What we need now is to cram as many people into the same server as possible and see how it holds up. While we have run simulations, nothing compares with real people doing real things over real world internet connections. To make it fair on the new players we will be doing a wipe of all official servers. In future we will try to give warning when this will happen / keep to a schedule.
This will also begin the phase of balancing the content for populated servers. There is no point us fine tuning mechanics where there is no threat of being killed by other players just to release chaos and hope it all goes well. We hope to get lots of feedback from you guys on this too, reddit is the place to talk about it.
Roadmap to Steam
We have tentatively set a Steam EA release date for mid November. Steam shouldn’t really affect much in our camp and we know the Steam tools are well battle tested so we won’t be releasing any Steam keys before release.
On the Steam integration front, we are now ready to go. Server browser, friends integration, all the good stuff. You can even see us in the Steam server browser right now!
The Steam release will get our first major content update, we will be releasing details on this over the coming updates.
A couple weeks ago I came across a request for keys from the dudes over at Oxide Mod. If you don’t know about Oxide, it was originally a Rust Legacy Mod tool (like bukkit for Minecraft) that has been adding support for other games.
I’ve since been working with Wulf to get Hurtworld integrated and am happy to announce we will have Oxide mod support on our Steam release.
We are starting to think about integrating custom made maps and the toolset we can give you, more on this soon.
One of the biggest issues with server performance degradation turned out to have nothing to do with memory leaks or CPU usage. Now that all the other stuff is fixed it became quite clear that the longer a server was running the more jerky animation became.
This was caused by a floating point precision issue that after 3 days of uptime, the clock wouldn’t have enough resolution to interpolate properly. Physical objects, vehicles and other players would stutter like hell until server restart. Clock precision is now good for at least 5 years uptime.
Sean is busy writing the code to enable localization.
Sean está ocupado escribiendo el código para permitir la localización
Sean besetzt ist das Schreiben des Codes , um die Lokalisierung zu ermöglichen
Шон занят написанием кода для того, чтобы локализовать
Gav has been working on many things, amongst them… Raaaaawks.
Chris has been working on character incidental animations to fulfill some single instance needs. Like flipping the bird.
Technobabble: I Can See My House From Here!
10 09, 2015
We’ve been working on the first map – “Diemen’s Land” – for Hurtworld for quite some time now. We’re starting off with a monster – a 5km squared sprawling expanse full of weird valleys, deadly mountains, and places you’ll take one look at and want to make a base on. It’s been a huge learning curve for everyone, and it turns out to be a really tricky task. Starting off, we assumed it would just be case of throwing down some hills and mountains, a few trees, and we’d be set!
One of the biggest problems in designing a good, open-world map turns out to be occlusion. Occlusion is when something blocks you from seeing something else. For instance, if you’re in a valley, you can’t see the next one over. The rocks and hill between you and the next valley occlude it. This is great, for a bunch of reasons! The first is entirely about performance. If we can guarantee you can’t see it, we don’t have to render it, which means that if we can generally guarantee a certain level of occlusion, we can push the graphical fidelity more for close-range objects. Secondly, in terms of gameplay, we’ve found it feels better. The world feels bigger, there are more discreet zones to claim, and it decreases the odds of some fine upstanding Hurtworldian sniping you from across the map.
Now, I’m a programmer, which means I’m lazy. I want everything done for me. So, potentially, I could run to every single point in the map, and see how far I can see from that particular point. Or! We could use some simple programming to figure out where problem areas are. I wrote a simple script that does exactly that. We go through the map bit by bit, and put ourselves 2 metres above the ground, and then we raycast (which, in laymen’s terms, is just asking “do I hit anything in this direction, and if so, what and where?”) all around us.
We can then say, well, this is a good distance to be able to see, and this is an unacceptable distance. Let’s say anything below 200m is fine, and anything above that but less than 500 is okay, but should be minimised. Anything above that however, is a bad area, and we should put more stuff there to block a player’s view. We can then give every point on the map a score, and show that score in an image. So what does this look like? Well, for the sake of experiment, let’s look first at what it’s like without any rocks or props in the level. White is areas where the player can see a long way, black is where they’re totally occluded in all directions. We can also spit out an exact percentage that tells us the amount of map that is a problem, which is the red percentage.
Not super great huh? We get around half of the map with an unacceptable amount of oclussion. I think we can do better. Now let’s try throwing some rocks in!
Mmm, Interesting! We’re really getting somewhere now. From this map, it’s pretty easy to see some areas that need some work. We can even integrate this map directly into the level, for some really fine control and feedback about the amount of occlusion at any point.
You can see that there’s a couple of hills that are still pretty white – I’d better get back to it!