The view from my office window, 101K MacLean Hall at the University of Iowa.
A few weeks ago my old doctoral thesis adviser (and now department chair of computer science at the University of Iowa) asked if I would help out and teach a class this semester. How could I refuse? So, today, I will be driving back to Iowa City to teach a section of CS1. I also acquired a new title, “Visiting Assistant Professor,” and, yesterday, got my first email addressed to, “Professor Sidran.” Pretty weird.
The downside to all this is that I’ve been neglecting Dinosaur Island because I felt compelled to prepare lectures, tests and assignments two weeks in advance. All of those are now completed and I’ve uploaded hundreds of megabytes of PowerPoint files and PDFs to my ‘school computer’. So, now I’m ready to get back to work on Dinosaur Island.
Bonus: I have an office with a window! The computer science department is housed in MacLean Hall, one of the oldest buildings on campus. MacLean Hall used to be the Physics building and the famous Dr. Van Allen (discoverer of the Van Allen radiation belt) worked here.
In order to observe and track multiple dinosaurs simultaneously we have created this interface which allows the user to quickly see the status of all the dinosaurs on the island. Screen capture (click to enlarge).
After being hung up on a coding problem (see ‘Thank you Viv Rajkumar!’) for a number of days we can now show off the new interface which allows us to simultaneously track and display information about all the inhabitants of Dinosaur Island. The status and energy levels for each dinosaur are displayed in real-time in a scrolling list on the right side of the window. Click on a particular animal to get more detailed information.
This interface is used in the program that creates the databases and tests the artificial intelligence routines for Dinosaur Island. Dinosaur Island, itself, will be in 3D.
I am not very familiar with Microsoft WPF (Windows Presentation Foundation) which is what I’m using to create the interface for the program that creates the databases and is used to test the AI for Dinosaur Island. I had a problem with implementing a tricky bit of code and Viv Rajkumar – who I’ve never met – volunteered to help via the Stackoverflow developers’ forum and very kindly solved the problem and explained what I had done wrong.
I am very touched that somebody who I’ve never met, and lives on the other side of this planet, would help me. Thank you very much Viv Rajkumar!
A T. rex named George successfully found, tracked, pursued and attacked an Edmontosaurus named Julie. Click to enlarge.
It has been said that nobody wants to see how politics or sausages are made. Artificial Intelligence (AI), for some, may also be added to that list. Today’s blog topic is about achieving an important milestone in the AI behind Dinosaur Island: a T. rex ‘looked’ around his virtual world (using a 3D line of sight algorithm), spotted potential prey (an Edmontosaurus regalis named Donna) pursued it using an optimized A* least weighted path algorithm that avoided steep slopes and boggy terrain (the attack was up hill) , then saw a more attractive target (an Edmontosaurus regalis named Julie), changed his pursuit and successfully overtook the prey.
This AI is unique and probably the first time such a series of events has been demonstrated in a 3D virtual world environment. Below are step by step screen captures showing the events:
Screen capture with all AI tracing turned on. There are three dinosaurs in this image. George sees Donna (dark red line), Donna is looking almost due east (dark red line) at the forest of Araucaria trees where she wants to go to eat, the cloud of yellow is the AI looking at alternative paths for Donna to climb up a hill, Julie is also looking at the same forest of Araucaria trees to her northeast and the AI (yellow path) has plotted the best route for her to climb the hill. (Click to enlarge).
This screen capture taken 10 seconds later shows Donna approaching the Araucaria forest to the east and Julie climbing the hill towards the same forest to the northeast. George now sees that Julie is the closest prey and switches his attack to her (dark red line) and races toward her. (Click to enlarge).
Ten seconds later, George has closed the distance and has attacked Julie from the flank. (Click to enlarge).
It’s important to remember that Dinosaur Island will ship in full 3D; these screen shots are of the AI testing environment which is in 2D.
Now that we have created a ‘perfect killing’ AI we will have to make it ‘stupider’ by adding distractions and imperfections.