A video showing some of the ways that users can interact with the inhabitants of Dinosaur Island is available by clicking, above.
After five weeks at the Bone Marrow Transplant center at the University of Iowa Hospital I’m finally back home and working on Dinosaur Island again!
As part of my work on scent ‘plumes’ or ‘cones’ and the ability of prey animals, like the Edmontosaurus, to detect the scent of a nearby T. rex and respond accordingly, I was wondering if it would be beneficial for a T. rex to adopt a hunting strategy in which it purposefully maneuvered downwind of the prey and then attacked. Consequently, I created a simulation in the Dinosaur Island AI test bed program (see screen shot above) with one T. rex (Bob) and one Edmontosaurus (Gertie), entered wind direction and velocity (as shown by the plume) and let the AI control Bob’s hunting with two different methods:
- An AI routine that maneuvered Bob downwind of Gertie and then attacked.
- An AI routine that maneuvered Bob directly towards Gertie using the fastest path (considering for terrain and slope).
After running a small number of tests today (about 25) it appears that the maneuvering downwind of the prey strategy is not as beneficial as I would have thought. Frequently Bob was observed by Gertie while maneuvering downwind. But, more importantly, when Bob adopted strategy #2 (the direct rush), Gertie didn’t smell or see Bob until he was within less than 40 meters.
Keep in mind that these experiments are just preliminary and, most importantly, they only involve a T. rex stalking an isolated Edmontosaurus (who almost always traveled in herds) but this is still food for thought. When a T. rex encountered a single isolated prey animal, it’s best hunting strategy was probably a direct rush.
Well, things got a little boring after the end of the semester so, after a diagnosis of the very rare blood disease, AL Amyloidosis, I decided (after some convincing of the superb medical staff here at the University of Iowa Hospital), to check in for a stem cell transplant which will save my life. In all candor, I knew this was coming since my diagnosis on August 22, 2013. So, anyway, here I am in the bone marrow transplant ward, getting great care from the staff and awaiting my autologous (this means I’m donating my own stem cells that were harvested last month back to myself) transplant in a couple of days after they finish destroying my immune system with chemo. Yeah, it sounds icky, but I’m doing great and I’ve got all the Dinosaur Island code here with me on this old Windows XP laptop from grad school.
As you can see from the screen capture, above, the complete ‘stink detection’ algorithm is fully implemented and is working, as my British friends say, ‘like a charm’.
I plan on making some very big announcements about Dinosaur Island in the near future, so please stay tuned (that means keep checking back).
Above is the equation for calculating the probability that one dinosaur can smell another dinosaur given the wind direction, wind velocity, distance and bearing of dinosaur one to dinosaur two. A great deal of work went into this equation and I must thank my good friends and colleagues, Alberto Segre and Mike Morton, for all their help, feedback and encouragement.
Below are examples of the output of the equation with various wind direction and wind velocities:
Below is a screen capture from Dinosaur Island showing the results of the new scent detection algorithm (coupled with the newly added olfactory acuity variable, see New sight and smell variables added to Dinosaur Island).
While developing the scent detection algorithm and reading about the extent and frequency of injuries sustained by T. rex (broken ribs appear in about 25% of known T. rex fossils) it seemed very likely that an old T. rex (and T. rex did not achieve sexual maturity until their twenties) had to be a very cautious hunter. An Edmontosaurus regalis tail could break T. rex ribs if the Edmontosaurus was aware that the T. rex attack was imminent. As we will see in the next post, a smart hunting T. rex must have had to employ clever tactics to avoid both visual and olfactory detection as it approached its prey.
We recently added ‘blinders’ to the dinosaurs by restricting their ‘vision’ to accurate angles calculated from the position of their eye sockets in their skulls (see new sight and smell variables added to define dinosaur species).
After restricting the T. rex’s vision to 55 degrees we observed some unexpected behavior: while pursuing prey a T. rex would occasionally ‘lose sight’ of his target and not be able to reacquire it. Upon investigation we discovered that the cause of this was that the T. rex would advance, single-mindedly, towards where the prey is now. Under some circumstances, and if the simulation’s ‘time slices’ were sufficiently larger (> 8 seconds), and if the prey moved away at an oblique angle, or disappeared behind a hill, it was possible that their prey was no longer observable within the restricted angle of vision.
The solution was to give the T. rex the ability to anticipate and calculate its prey’s position in the future.
If we simply wished to use ‘cheating AI’1 the solution would be trivia. Because the current goal for every dinosaur is stored in memory a ‘cheating AI’ could simply look up the objective for its prey and arrive there first. That is not what we did.
Instead, if the T. rex sees a prey animal and begins stalking it the future position of the animal at X seconds2 in the future is calculated given the prey animal’s bearing, current speed, expected terrain traversal and anticipated slope traversals.
Again, we must ask: are we making the T. rex too smart? At this point; we must be pushing the extreme levels of dinosaur calculations and planning abilities. However, as a predator – and there is solid evidence that T. rex was, at least, occasionally a predator – he must have possessed the ability to calculate future positions of prey animals. Furthermore, he must have been very familiar with his hunting territories and, consequently, possessed a priori knowledge about terrain and slopes.
This AI technique probably makes a hunting T. rex in Dinosaur Island the most advanced NPC (Non Player Character) in all current computer games.
1) Cheating AI: There are numerous examples of ‘cheating AI’ in computer games. Without going into specific details, some of the more common methods include giving the computer AI information that should be hidden (such as enemy unit positions and intentions) and weighting random factors in the computer’s favors. See also Artificial intelligence (video games) and The Computer Is a Cheating Bastard.
2) X seconds: we are currently using 40 seconds as the future point in time for anticipated position calculations.