Dinosaur Island just got bigger!

Dinosaur Island – which was 2,000 meters by 2,000 meters (2 kilometers x 2 kilometers) just got a little bit bigger. It is now 2,048 meters by 2,048 meters. Why the addition of 2,304 square meters?

Well, the answer to that question goes back to the winter of 1937-38 and a professor from Iowa State Teacher’s College named John Atanasoff. Atanasoff had been thinking about the problem of computation; specifically how he could construct a computer to help with his physics calculations. He decided he wanted a drink but Iowa was a dry state at the time. He drove from Ames, Iowa to Rock Island, Illinois and stopped at the first bar he found across the river.

The Government Bridge between Davenport, Iowa and Rock Island, Illinois as it would have appeared during the winter of 1937-38 when John Atanasoff crossed it looking for a drink.

There is still some speculation as to which bar, or speakeasy, Professor Atanasoff stoped at (personally, I think it was the now closed Hunter’s Club in downtown Rock Island) but while he was there, drinking a whiskey and soda, he sketched out on a cocktail napkin what would be the beginnings of a digital computer using base 2 (or binary) for the number system. Using a binary number system (on or off, 1 or 0) greatly simplified the wiring of such a computer.

Now as we look at powers of 2 we note that 2048 is 211 and is 100000000000 in binary. Because Dinosaur Island is so large (take a look at some new images and a video fly by here) it’s convenient for 3D rendering purposes if we can divide it into equal sized models. Half of 2048 is 1024 (210). And half of 1024 is 512 (29).  1024 is also 1 kilobyte of memory. There are many advantages for using powers of 2 when storing information (like 3D models) in a computer’s memory.

And now you know how a physics professor wanting a drink in the winter of 1937-38 changed the size of Dinosaur Island.

New interface to observe and track multiple dinosaurs simultaneously .

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.

Dinosaur Island data structures are complete.

A section of the C# code describing the class of Dinosaurs.

Well we passed another milestone today: all the data structures for terrain, elevation, vegetation, plant species, individual plants, dinosaur species and individual dinosaurs are completed as well as all the methods for saving and loading the data and building the island, and its inhabitants in memory are completed and tested.

This is one of those milestones where the most exciting picture we can post is a screen capture of a fraction of the source code. Yes, we know, not very interesting at all.

However, it’s still a very significant milestone because now we begin working on the artificial intelligence (AI) that controls the dinosaurs. We also have a very interesting surprise for any computer science nerds out there. Here’s a hint: it involves genetics.

Chris Crawford’s First Law of Software Design

My well-read copy of Chris Crawford’s, “On Game Design.” It can be ordered here.

We recently had the wonderful opportunity to get the legendary Chris Crawford’s comments about Dinosaur Island. If you don’t know who Chris Crawford is, click here. Chris has written many famous and important computer games. The list is far too long to add here (the above link goes to his Wikipedia entry which lists some of them).

Chris has also had an extraordinary important impact on the history of computer game development. Chris was the founder of the Journal of Computer Game Development (Chris was kind enough to accept one of our articles for publication back in the day) and the Computer Game Developers Conference. Chris was also a pioneer in artificial intelligence for computer wargames (for which we cited him in one of our published papers here).

Recently, Chris took a look at Dinosaur Island and was enthusiastic about what he saw. But, he also posed his famous Chris Crawford’s First Law of Software Design: “‘what does the user DO? ¹

That’s a great question because even though we know what the user does, and we have written about it in internal design documents, we haven’t really made it clear to you, the potential user.

On Dinosaur Island the user can interact with the software on a number of levels.

• At the ‘topmost’ level the user can simply load any one of a number of ‘pre-designed scenarios’ and use Dinosaur Island as a digital terrarium, zooming in to watch specific dinosaurs feeding, fighting, and interacting. The user can always ‘pick up’ and move dinosaurs around (once a dinosaur is selected a helicopter appears, captures the selected dinosaur and moves it to the new desired location). The user can also request to be notified when specific events occur, or record them for later viewing. The user can also make large, sweeping changes to the environment, changing the weather, reducing the health and number of plants, increasing or decreasing the water levels, etc.
• At the next level the user can actually ‘jump in’ a dinosaur and control it.
• At the lowest level the user can modify all the important variables that we have seen in previous blog posts like the energy requirements, growth rates, sexual maturity dates and lifespan for dinosaur and plant species. The user can create their own new islands and decide what plants and dinosaurs inhabit it.

There is no ‘right’ or ‘wrong’ way to interact with Dinosaur Island. It is designed to be fun and educational. To some extent it may be thought of as a Sim City for dinosaurs; except with the ability to ‘get under the hood’ and change the parameters of the model itself.

1) Our good friend and the producer of our second #1 game, UMS: The Universal Military Simulator, Dan Horn, once said, “Gameplay trumps everything.” Gameplay is just another way of saying, “what does the user do?” A classic example of great gameplay, but minimal graphics is Alexey Pajitnov’s Tetris. Every game programmer in the world has said, or at least thought, “I could have written Tetris in a month.” Yes, but it’s the gameplay that makes the game not the graphics or the complexity of the programming.

More details

Real-time data displayed in the menu bar in the island creation utility (screen capture, click to enlarge).

Just another little detail (above) in a screen capture of the utility program used to create Dinosaur Island, add terrain and topography, plants and dinosaurs. As you pass your cursor over the map, details about every square meter of the island are displayed in real-time at the bottom of the screen (as well as the scale).

Note that the cursor is currently positioned (not visible in this screen capture) over an Edmontosaurus regalis named Gertie. Yes, even the ‘personal names’ of every dinosaur are displayed so they will be easier to track.