Saurian DevLog #7
It is DevLog time again. Last week everyone returned home from the Saurian house and it was back to business as usual. Erin and Chris made some massive progress on the game world, and the programmers have some awesome developments in combat but that is not quite ready to show yet. In the meantime we’ve got some more neat sound and art for you, and Henry programs the patriarchy. What does that mean? Read on.
Most of the past couple of weeks were spent collecting sounds from the closest living relatives to the known frog species that inhabited the Hell Creek ecosystem, namely painted frogs, midwife toads (Alytidae/Discoglossidae) and jungle toads (Bombinatoridae). Amongst a painfully amount of time filtering unnecessary audio trash from the individual files, many of the collected sounds had either to be discarded (because of poor audio quality) or had to undergo severe hum removal techniques. Once the final sounds were chosen, I mashed them up together onto what I like to call frogscapes, including all the aforementioned species, as well as individual audio files to be played randomly, giving an extra variety to these scapes while the player is exploring the dangerous marshes of Hell Creek. I even managed to include some cute salamander squeaks! In order to keep all of these sounds consistent, since they came from many different sources, I designed a really neat reverb preset with 2C’s Aether that glued them altogether perfectly in the end.
Frogscape sample (with musical effects) by Francisco Godinho
Most of the feeding sounds for both the carnivore and herbivore fauna are also wrapped up and I will be focusing next on creating juicy combat impact sounds.
“I hate frogs” – Francisco Godinho, 2016
The last couple of weeks I’ve been working on the concepts for the Anatosaurus growth stages. This animal is not playable, but its younger stages are an important part of the ecosystem so we need to make them anyway. I made a couple of different colour options for the baby for the team to pick from. The design is meant to be colourful to prevent the adults from stepping on them, and camouflage is not as important when you have giant adults protecting you. I always thought the blue one was the best one, and luckily the team agreed. Well not RJ, but who cares about that.
Recently I’ve focused on an initial framework for hierarchical social behaviour in Saurian’s animal AI. Social interactions are a very important aspect of Saurian’s design, and I want to make sure that we design our social mechanics with as much respect to paleontology and biology as possible. I wrote a little about family dynamics in an earlier devlog, but I’ve recently been focusing on writing a system for emergent social groups that can be configured differently for each species. Though there’s not much evidence in the fossil record about the intricacies of dinosaur grouping behavior, there are a few amazing instances of dinosaur groups dying and fossilizing together (one was just described this last month!).
These finds suggest that some dinosaurs had age-segregated social groups–perhaps unsurprising given knowledge from modern ecology, but an amazing thing to find support for in the fossil record! In addition to this, I’ve looked to modern animals with analogous physiologies and ecological niches for inspiration, and am incorporating sexual segregation as a feature of some species’ social systems. I’ve been testing the waters with sexual segregation in Triceratops, which I have modelled to mimic white rhinos. Adult white rhinos differ in their social preferences — males prefer to stay solitary and tend to be aggressive towards other males, while females may form pairs (R. Norman Owen-Smith 1974) or small groups (Metrione et al 2007). Males also seem to assert control over females at times, though not nearly to the degree that some other animals exhibit matriarchal or patriarchal tendencies in their social groups. As it stands, I have Triceratops forming groups where multiple females are allowed but only one male is, and if a male is present then it will assume the role of leader. The members of the herd will not stray too far from the leader, and the leader is in control of who joins the group. So, if a male-female group runs into another male, only one male can be in a group with the female at once, and a challenge or fight is the only way to change this. Anyway, here’s a video:
In this video you can see the process of some Triceratops (a male and 3 females) perceiving each other and settling on a leader for their group (the little blue vertical line going up into the sky from the Triceratops‘ torso shows who the leader is; the one it settles on here is a male due to the settings I specified). Then you see them moving around a little bit before heading off in the same direction. This is an attempt on the part of the Triceratops to avoid running into each other as they move — something that we take for granted with our own intelligence, but which is actually a tricky problem to solve for AI. Luckily, the fine folks over at Apex Game Tools have made some wonderful assets (Apex Path & Steer) that have made solving this problem much easier, though I’m not quite finished with it yet. Anyway, at a certain point in the video, I drag one of the females away from the group, and you immediately see it change its target from the water to the herd leader and try to return to the group. This is one of the more trivial behaviors that a follower might do in response to their leader or group, but it demonstrates that the social structure is in place. There is still tons of fleshing out left to be done for social group dynamics in Saurian, and I wouldn’t say it’s anywhere near done, this is a solid foundation to build from. Also, using the same system I was able to write a proper flocking system for our birds, so you’ll have that to look forward to when you look up from time to time. The next aspect of this social system I plan to work on is age-segregation, which, though not present in Dakotaraptor, will be seen in some AI species and possibly playables. However, for the moment my work on social systems is on hold while I tend to some more pressing tasks (which aren’t quite ready to show off in a devlog yet). And that’s the way the news goes!