Saurian DevLog #11 – Christmas Gerry
Welcome back for 2017! Undoubtedly this will be a huge year for Saurian, release year!
We hope that all our fans had a great holiday period, but our team was still hard at work through this time, pushing towards our intended Q1 Early Access release.
One of the bigger things I’ve accomplished in the last month or so is to create and finalize Hell Creek’s terrain. We’ve had a temporary terrain in for a while so everyone could work and test their stuff, but now it’s time for the real thing. Internal testing indicates it’s working well.
Some of our trees will have quite large trunks and extensive root systems, and we’ve done some non-flashy tests (boxes going into planes) of the tech, but I wanted to check out what it would look like with something resembling a final asset.
On the programming side, we combined our continued efforts and focused on managing the missing milestones for the initial release. We have come a long way but there are a few tasks yet left to tackle! One of the tasks we were heavily occupied with recently was building the framework and foundation for controlling the development of an animal throughout the course of its ontogeny. In short, ontogeny describes the sequential development of an individual organism over the progression of its lifetime. In Saurian, animals are part of a highly complex simulation and ultimately composed from a substantial variety of components. As such, we needed systems capable of managing the progressive development in both the backend (the data and logic that make up and drive an animal) and the view or frontend (the model, materials and animations that shape an animal). However, I was very adamant about designing the systems in ways to facilitate a high degree in reusability of our components. My intention was to replace only the parts of the animal that compose the frontend – keeping the backend and its data intact over the entire lifetime of an individual animal. This not only allows us to keep the moving parts to a minimum, but also promotes a higher degree of simulation while keeping the true, uninterrupted progression of an animal throughout all stages of ontogeny, including the fine variations caused by the sum of decisions made over the course of its lifetime. Consequently, this required a major refactoring work on our animal “prefabs” (a reusable object that acts as a prototype for creating new instances of said object) as we adopted a setup that follows the paradigm of separation of concerns, partitioning the prefab into parts of maintained persistence (kept intact throughout changes of ontogenetic growth stages) and parts of limited longevity that eventually end up being replaced upon reaching its succeeding ontogenetic stage.
On the backend side, the central system responsible for dealing with the progressive development of an animal’s data is Biota. As briefly described in a previous DevLog by Henry, Biota is capable of scaling individual attributes and properties of an animal by a variety of aspects over the course of its lifetime. This allows us to design how certain properties of an animal change as it reaches maturity. The affected properties can range from simple attributes like fitness, strength and resilience to affecting how AI behaves and perceives its world.
As the time of writing, we are still finalizing the first iteration of the systems responsible for managing ontogeny but it is already looking very promising and we cannot wait to share more about it in the coming year!
This past week I’ve done nothing but plants. Plants Plants Plants and Plants. I had something more exciting to showcase, but the powers that be (Tom) didn’t want to feature it this week. Oh well, I guess you’ll just have to deal with more boring plants. Sticky Australians. I’ve got the trees Platanites, Erlingdorfia, “Zizyphus” fibrillosus, and the ground plants Osmundaceae, Humulus, Zingiberopsis and Bisonia done. I’m a busy bee. Buzz buzz.