The terrain of Dinosaur Island.

Dinosaur Island terrain displayed in false colors.

Dinosaur Island terrain displayed in false colors.

Above is a view of Dinosaur Island with the different terrain types displayed in vivid or ‘false colors’. Below is a view of the same terrain types displayed as a transparency over the elevation map of the island.

The terrain of Dinosaur Island displayed as a transparency over the elevation map.

The terrain of Dinosaur Island displayed as a transparency over the elevation map.

Terrain type legend.

Terrain type legend.

The color legend of the different terrain types is at left.

This is exciting news! Well, it is for us on the team because it means that we now have the tools to rapidly create islands and ‘paint’ with the different terrain types. This should be exciting news for you, too, because this means that users (like you) can create your own Dinosaur Islands, too!

So, what’s next?

We will be adding the interface so we can start ‘planting’ vegetation around the island. Every plant grows only in certain terrains. Now you know why we had to create the ‘terrain map’ of Dinosaur Island first.

You know what happens after we add the plants? We start adding the dinosaurs that live on the plants!

 

Share

How to build a swamp.

Building a swamp on Dinosaur Island.

Building a swamp on Dinosaur Island.

Today’s post shows a screen shot of the process of building up a swamp on Dinosaur Island. The dark blue area is salt water. The alternating brown and yellow bands are sandy and swampy areas. This process was automated by using a “flood fill” algorithm that is now built into the Dinosaur Island program.

Share

Building Dinosaur Island.

Building Dinosaur Island: a look at how terrain, elevation and environmental models are built.

Building Dinosaur Island: a look at how terrain, elevation and environmental models are built.

This is the first peek behind the scenes where you can see how we are building  Dinosaur Island. This will be either really cool, or really boring, so hang on. If you’re a nerd at heart and want to learn how these types of programs are written then today’s post is for you. If this is the kind of thing that bores you to tears you should probably go check out the Dinosaurs in the News section; lots of cool stuff there.

We have been writing M&S (Modeling & Simulation) programs since the mid 1980s. M&S programs are used to model very complex environments and behaviors. For many years we have been working on high-end wargames and emergency disaster simulations for the U.S. Department of Defense, DARPA and other government organizations. While Dinosaur Island doesn’t seem like an M&S program, it really is. In fact, we are modeling Dinosaur Island in greater detail than any of the programs that we’ve done in the past.

For every square meter of Dinosaur Island we need to know:

  • The elevation (in meters).
  • The type of terrain (swamp, forest, fresh water, etc.).
  • The vegetation (every plant and where it is in its life cycle).
  • Any dinosaurs (or considering their size, any parts of dinosaurs in this particular square meter).

This, obviously, is a lot of data. So, one of the first tasks in creating a very large M&S project like Dinosaur Island is to first create the tools that facilitate entering all this data. In the picture at the top of today’s post is a screen shot of the Dinosaur Island editing software. This allows us to read in bitmap files (BMPs) that are 2,000 x 2,000 pixels, convert them to height maps and use the data to display the resulting landscape. Next, we can start adding different terrain types (in the above picture, we’ve just added the salt water and fresh water areas on the island).

We traditionally make these editors available to the users (that’s you) to create their own models and environments. How would you like to make your own Dinosaur Island?

Share

Let’s get to work!

I’m anxious to begin work on Dinosaur Island.

Maybe too anxious, but that’s never stopped me before. I should be working on design documents first, but I feel like writing code and seeing something happening on the screen.

To begin with – and this is actually a design issue – we need to decide exactly how big is Dinosaur Island?

How big is Dinosaur Island?

IslandIn my previous AI work I created something I call a ‘Terrain Map’. A Terrain Map is a digital representation of the different kinds of terrain (swamp, grassland, water, etc.) stored in a two-dimensional matrix. This will allow the computer program to ‘see’ the terrain on the island.

The Terrain Map is stored in memory and the bigger the area (and the finer the detail of the information that we’re storing) the bigger the amount of memory (RAM) that is required to store the it.

On top of terrain, I also plan on storing the vegetation for each location and the height of the ground (in meters). Without getting into boring, technical details, the more stuff you store, the more memory it takes.

And then lastly, is the question: “To what resolution should we store the data in the Terrain Map?” I’m thinking that 1 meter of resolution should work out pretty well. So, for every meter of Dinosaur Island we will be able to see exactly what kind of vegetation (if any) is there, the type of terrain and the elevation.

A 25 megabyte hard drive from 1979 weighed 550 pounds.

A 25 megabyte hard drive from 1979 weighed 550 pounds.

So, then how big will Dinosaur Island be? I’m thinking that 2 kilometers by 2 kilometers should work out very well. This will mean a matrix of 2,000 x 2,000 cells and all the data will be stored in 12,000,000 bytes (about 12 megabytes).

When I first started writing computer games (way back in the 1980s) 12 megabytes was a LOT of memory! In fact, the first computers that I wrote games for had less than one-half a megabyte of memory. But 12 megabytes of memory isn’t a big deal any more.

What are your thoughts? Do you think a 2 kilometer by 2 kilometer island will be big enough? Obviously, we can adjust the size later. But, it’s been my experience, that when developing a game that things that are ‘sized’ in the beginning have a tendency to become, ‘written in stone’.

Share