You may have seen Ray Harryhausen credited with Technical Effects (meaning special effects) for his amazing stop-motion animation in movies like Mighty Joe Young, It Came From Beneath The Sea, and The Beast From 20,000 Fathoms. Well, this column isn't really about special effects, just technical game details and behind-the-scenes programming stuff that we thought you might find interesting. We'll be updating it regularly, or whenever Lars thinks of something.
10/18/02: LAND AHOY!
So we took a couple months to develop a new way to create our terrain. Basically, a very large bitmap (10,000 x 10,000 pixels) is made showing an aerial view of the entire city using USGS data. We paint it with roads, grass, cement, etc., and that bitmap is then combined with a 3d elevation map, a water plane, lighting, and is rendered as another very large bitmap (19,200 x 9600). This bitmap is then divided into thousands of unique tiles. Buildings and other structures are then placed on that tile set, along with a fair amount of engine specific data, using a custom map editing tool.
Some terrain in our map editor...
The core engine of the game retains the original tile-based system, but this new process allows for completely unique tiles without repetition. By keeping things as tiles internally, the game has a fine level of control over what portions of the large map are loaded into memory at any time. By having unique tiles, we have a much more flexible map system allowing for rivers, hills, coastlines, road markings, odd angle roads, etc. that would have been very difficult with a true tile set. We can now do things like "terrain scarring" to make craters, blast marks, and monster footprints which can be rendered into the game map (as memory allows, since those tiles can no longer be purged).
There are a few drawbacks...it's a heck of a lot more work than a repeating tile system.We have to paint the roads and terrain, position every structure and building, line things up, create and adjust the 3D elevation maps. We have to set the game-dependent map data, like terrain type (concrete, sidewalk, cliffs, grass, water etc) and tree density and people density for each tile. All these steps take a LOT of time and numerous tools, which is why weren't not planning to release a user map editor with the game initially. Making the process user-friendly would take a lot of development effort, and we'd rather spend that time on the game right now. The number of users with the required computer resources, software apps, and inclination required is probably very small.
However, since the core game engine is still tile-oriented, we are considering releasing some tile sets and a tile-based map editor which would allow users to create their own repeating tile-based maps. While they wouldn't be as flexible or look quite as nice as the painted maps, they would allow some degree of customization, especially for cities that aren't meant to be super realistic. Random generated maps would also be possible, and an import conversion from SimCity X files would be cool, if someone at Maxis would be willing to share the format. :) But all that would happen after the game's initial release, perhaps as a component of one the expansion packs.