Please consider supporting us by disabling your ad blocker.
Please consider supporting us by enabling cookies.
Extinction Chronicles V Next Week & Developer Diary!
Posted on October 8th, 2018 07:09 PM EST
On October 16th Extinction Chronicles V will be released on all platforms. As usual survivors can expect a new tek dino, new Explorer Notes, a new cosmetic, increased level cap, and special colored dinos on all ARKs!
This weeks diary entry is brought to you by Lead Programmer, Chris Willoughby. This weeks dev diary is about undermeshing, a hot button issue within our official server community. Rest assured that we’re listening and are hard at work on the issues that you have surfaced through our various channels. We thought it would be worth taking an opportunity to share our thoughts on the issue, some of the reasons it exists, and why it’s so challenging to resolve.
Undermeshing refers to the ability to get to where you aren't supposed to by moving outside of the playable space. Almost every game is susceptible to undermeshing in some form. Most speed runs rely on undermeshing, for example. It's effectively impossible to solve completely, at least automatically. The approaches taken to prevent it are usually a tradeoff between how much freedom you want the player to have, how complex your world is, and how much processing time you can afford to spend on physics. Generally, when there's an instance of meshing, it's caused by bad collision setup, improper level geometry (holes), or a problem with the algorithm used to move the character through the world. In some instances, you place kill volumes in locations that you want to guarantee that the player doesn't end up, but that isn’t a global solution.
The collision setup for our objects varies based on their complexity. For very simple objects, we use a basic primitive shape (box, sphere, capsule) that matches the shape of the object. It's very good if you're able to take this approach, because natively the physics system can treat that individual object as water tight - ensuring that another physical object will never end up inside of it, and that you'll always detect it if you're already inside. When constructing a modern game, however, it's very likely that you need to use shapes that are more interesting to look at and interact with than a simple box or sphere - so you use mesh based collision. Mesh collision treats the surface of the mesh as the collideable surface, but it cannot be treated as watertight, and the physics system cannot guarantee that you don't pass through it. You might ask why, then, don't you try to represent that larger object as a bunch of smaller watertight ones? We do that in a small number of instances, but quantity of primitives is also a major concern, so it is not feasible to do this for the entire world. Take the ground under your feet, for example, at any given moment you'd be surrounded by thousands of primitives to approximate the surface of a natural looking ground, and yet it'd be less smooth than the pure mesh shape. In addition, a guarantee to not end up inside of a single body isn’t a guarantee that you won’t end up between them even if they’re tightly clumped, leading to more instances of getting stuck.
When we lay out our levels - we construct them in the way that is interesting and optimize them for efficiency so that we can maximize quality and quantity. What that means is generally the world outside of the space you're meant to play in is empty - we spend our resources on the spaces where players are at. In addition - we reuse assets many, many times - rotating a rock different ways to make it look different before shoving it into the terrain at various depths to mask the reuse and keep it visually pleasing. Technically, the physics for these objects overlaps, and if you get past the surface of one, you'll stand on the next one down. While that sounds like it would help, it’s actually the meat of the problem. Adding more meshes doesn’t help, because once you can get past one, you can get past the next one. That said, there have been many instances where we’ve flagged the collision on an object incorrectly, or left a minute hole that we can and do address through Level Design.
Nearly every game uses custom physics for characters. Much of ours is built on the out of the box simulation that you get from UE4. Fortunately for our players, our game is one where the world is vast and complex, and players have the freedom to build many objects and have many dinos. Unfortunately for us, this pushes all of these algorithms to their breaking point. We've had to augment, rework, and add additional tests in many places that affect the simulation to improve our core player experience. In addition, we've built many gameplay mechanics that don't exist out of the box. Wall climbing, for example, requires a completely new set of physics tests to understand and hug the wall surface. When we set these up, we build them to be as flexible as possible, but it can be difficult to predict how the player base will use something when they get it in their hands. In many cases, this is a good thing - we’re delighted with the creative things that our players do, but sometimes they’re able to abuse mechanics in unintended ways. When we find problems with them, we have to find solutions that won't break the mechanic completely for the many other use cases, sometimes an impossible feat! This is also why we aren’t quick to completely disable a feature - we evaluate how much harm versus good it is doing across the entire experience.
We do use kill volumes at a broad scale - usually high in the air, or far below the surface. Far outside of the playspace, to segment specific areas. The reality, though, is that when someone is meshing, they're usually not out in that empty space around the world, they're running around on the insides of overlapping shapes or physical surfaces that are just below the real surface. In order to implement kill boxes in these places, we'd have to go back to every location in the map and place a kill volume just below the surface that will kill someone that touches it. As with the terrain example above, it would require entirely too many objects to cover the entire world in these accurately. In addition, a major downside to this approach is also the fact that it will detect and kill something that may have a good reason to be below the mesh - on a Basilisk? You just got killed by the kill volumes. Misjudge where the surface is, and a bunch of players are being killed erroneously and losing their stuff.
As with all aspects of making a game, it's all a balancing act. We try to spend our time on the things that are most valuable to as many of our players as possible - which means attacking holes in the world in waves and making algorithm changes when it's become obvious that they're having a large enough negative effect on the experience for our players. The reality is that there is no silver bullet, no automatic solution - so it continues to be a problem that our game (and many others) continue to fight throughout their lifetimes. Recently, we’ve fixed a bunch of holes across all of the maps and did a pass at removing Climbing Pick exploits. Going forward, our best bet is to remain diligent about resolving issues as they arise and improving the experience over time. The good news is that we like solving hard problems - and exploits like these are some of the more interesting ones to try and tackle!
Today marks the start of a two-week streaming schedule to spotlight all of the mods entered into the contest. You can vote now for your favorite mods as they compete for a Grand Prize of $15,000!
You can follow the rankings with hourly updates as well!
Meanwhile, I will be streaming from the ARK twitch channel showcasing all of these mods, every weekday for the next two weeks! You can find the full schedule here:
Come check out some mods and support your fellow community members that give so much of their time to make these fantastic creations!
This Thursday October 11th the community team will be doing another biweekly livestream!
During these livestreams Zen Rowe, Chris, and Jen bring you ARK news, celebrate modding, and the community as a whole every other week. We mix it up between playing ARK, showing off mods, and showing off your community creations for all to see. Survivors are invited to join us in the chat (and sometimes even in-game) to play and talk with the community team.
We are accepting any type of ARK related fanart to be featured in the showcase section of the stream and entries are always open. This can be drawings, videos, builds, ANSEL screenshots, handmade crafts, anything ARK related!
You can submit your ARKwork to our streaming email address: [email protected]
Be sure to follow us on our Twitch page so you don't miss a stream! twitch.tv/survivetheark
We'll be hosting our next Community Live Stream on Thursday, October the 11th at 1pm EST! We hope to see you there :)
Survivors across ALL Platforms will be receiving a special Evolution Event perk this weekend! It will be active from Friday the 12th of October at 1 PM EST until Monday the 15th of October at 3 PM EST. All Official Servers across each platform will be undergoing this evolutionary change which includes:
2x Harvesting Rates
2x Taming Rates
2x EXP Rates
That's it for this post guys! As always if you’ve got anything to share please get in touch and be sure to follow us on:
Community Hub: www.survivetheark.com