Saurian Devlog #46

 
 

[Header image captured by Steam user Jinawee]

   Hey everyone! We're on feature lockdown for the next patch, meaning we're largely focusing on fixing bugs and other relatively unexciting stuff that isn't exactly devlog-worthy. We still have a few updates for you, though.

Henry

   Since we revealed the gradual ontogeny system in the last devlog, we've been hard at work implementing it into the game. Bugs aside, it has allowed us to make some design tweaks that, white subtle, we're pretty happy about. Most of this involves the way that data changes over the course of your dinosaur's lifetime: many more of your animal's stats will directly reflect your physical appearance.


    So far, we have changed speed, jump height, and glide effectiveness. For example, you now first gain the ability to glide as your wings begin to look plausibly large enough as a hatchling, the ability peaks with maximum wing-length at juvenile, and then decreases as you age up to sub-adult.  (We also placed an explicit cap on how far you can glide, so anyone enjoying your insane gliding distances better live it up before it disappears!)

 
 

   Another set of stats which may be changed over the course of ontogeny are personality-related, which ties into the AI overhaul I've been working on. While this is still somewhat of a long-term project, it's far enough along to give you a graphic example showing how the complexity of AI decision-making will drastically increase with it. Take these two graphs, for example:

 
 Perceiving Dakota with full stamina

Perceiving Dakota with full stamina

 Perceiving Dakota with no stamina

Perceiving Dakota with no stamina

 
 

    These graphs each show a sub-adult Pachycephalosaur perceiving an adult Dakotaraptor - the only differences being stamina. The X-axis is distance, and the Y-axis is the priority of a behavior. The pink line represents the desire to avoid the Dakotaraptor, and the red line represents the desire to aggressively engage it. Notice that with high-stamina, the Pachy will be much more keen to avoid the Dakota, while at low-stamina it will start to engage sooner. However, if the Pachy gets badly injured, the graph changes:

 Perceiving Dakota with high stamina, high injury

Perceiving Dakota with high stamina, high injury

 
 

   Now, the Pachy will try to avoid the Dakotaraptor regardless of distance - a fairly understandable decision in a situation where you're on the brink of death and you have a chance, however slim, to run. The really exciting part of this, though, is all of the combinations that exist between the extremes. For example, what if the Pachy is somewhat tired and fairly injured, but neither are too extreme? The beauty of this approach is that, rather than a human needing to explicitly decide and code a response, the math finds a solution for us:

 Perceiving Dakota ~40% stamina and ~60% injury.

Perceiving Dakota ~40% stamina and ~60% injury.

 

   What you see in the above graph is a fairly injured Pachy who is starting to get tired, and who will avoid the Dakota for longer than it might normally, but will still eventually engage the raptor once it has gotten too close for comfort. This is simply an example using two variables and behaviors - there are still more behaviors and variables left unseen here. That fact, combined with the fact that animal personalities will be able to change over the course of a lifetime as stated earlier, means that you will be seeing  much more variation in animal decision-making, especially among animals with ontogenetic stages.  


   This is a long-term process that has to be worked on in the background due to other priorities for the project (I know y'all want that gradual ontogeny), but I wanted to more thoroughly explain why I think it's worth being excited about.

Xico

   After concluding the soundtrack work for Saurian, I immediately went back to sound design to fix little things I wasn’t too happy with like footstep sounds that needed an extra oomph, certain sounds that didn’t fit an action and needed to either be removed or filtered, additional mixing, changing some weather sounds and adding some extra variety to sound events we already had. Some of these changes will gradually be implemented once we add its respective features onto the game.

   Another thing I started exploring were snapshot events. These events once they’re triggered change many others around it however we see fit and can be used for a multitude of things, like lowering the sound and music whenever you pause the game, to complex delays and reverbs according to the player distance, amongst many other options. Below you can hear two examples of these snapshots affecting all the outdoors environment sounds, whenever the camera gradually goes underwater. Since we’re gonna have plenty of different bodies of water in Saurian, the underwater sounds also need to be diverse enough to reflect this but as you can hear, the transition will always be seamless thanks to these snapshots.