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.