Contributor/author(s): Wren Weburg
Introduction
This article assumes you have your real world terrain bitmap ready to go, freshly converted from the DEM file. If you don't have the BMP file, please refer to Real terrain part I: Get and convert the terrain (Knowledge Tree article #0166). All programs and assumptions mentioned in the introduction of Part I carry over to this article.
By now you're familiar with the requirements of the bitmap you're going to import into SimCity 3000. If you're not familiar with these basic requirements, please refer to "Generating custom terrain from bitmaps" (Knowledge Tree article #0057).
In the next step, we will play around with our bitmap and get familiar with its features, and discuss some of its limitations and how to get around these limitations. After we've made any basic modifications to the bitmap, we'll rotate and crop it to prepare it for importation. Finally, we'll actually import the map into SimCity 3000.
Step 4: tweak the bitmap
Because details are sometimes lost in the conversion process, or the USGS data we imported isn't complete or fully accurate, or the world just doesn't translate well to elevation maps in some cases, we'll have to look over our map and check it for accuracy. Are the lakes where they should be? Are they complete? Are there lines in our map that shouldn't be there? Is the elevation correct? These are just some of the issues we'll want to deal with. It might be that you won't have to deal with any of these. But just in case, this step in an intermediate step that should be considered. Whether or not you need to do anything during this step will depend on your map and how well you know the terrain.
|
|
Load the bitmap into your paint program. The very first thing you'll notice when you load your terrain is probably that it appears to be one solid color (refer to figure 1). Obviously, this doesn't help us much since we need to see the features of the terrain or we won't know what's what. In the case of St. Paul, the only visible color changes are of the Mississippi River basin. Depending on the elevation changes of your particular map, and the contrast/brightness of your monitor, you may see more varied colors or none at all.
Paint Shop Pro (and other programs) have tools that exaggerate the seams where colors (or shades of colors) change. This is what we'll want to do so that we can see the contour of our terrain. So here's what to do:
-
Make a clone of the bitmap you're working with. We don't want to "damage" the master bitmap.
-
Select the cloned bitmap and apply an edge enhance filter on it. With Paint Shop Pro 5, this is done by going to Image...Edge...Enhance. You may want to select Enhance More or perhaps just repeat the process until you can see contour (as seen in figure 2).
![]() Figure 2. |
As you can see, we can now see the contour of the map (figure 2). Every line essentially represents a change in elevation, or perhaps a man-made feature such as a road.
This is where things get tricky. If you look within the river basin, you'll see the outlines of the Mississippi River. Unfortunately, the river is broken up and not continuous. Also, there are a few lakes I know should be there, but they don't show up. Why? Because water doesn't always represent enough of an elevation change to be picked up by the USGS. Or at the very least, we lost detail during the conversion process. Whatever the case, we're going to have to reference an actual map to fill in the details such as lakes and missing parts of the river.
![]() Figure 3. |
This is where your painting skills and knowledge of your program come into play. You either have the skills and knowledge or you don't, and practice is the only way to obtain the skills you'll need. I can't possibly teach anyone how to detail a map, so if you're not familiar with your paint program or you're not skilled, you'll have to keep at it. In other words, don't come to me asking for help--I'll simply tell you what I just told you!
In figure 3, we're back at work on our master bitmap file (not the cloned, contoured map). I've lightened the entire map a bit to see things better. In addition, I've used the fill tool to exaggerate the river (by darkening the entire river so as to see its outline better), referencing the features on the contour map. By using the contour map, I was able to tell where the river was so that I could change its entire color on the master bitmap. Before changing the river's color, however, I made a note of the palette index value of the river. This is important to know because we'll need to change the river back to its original color where we're done tweaking. Through trial and error (i.e. using "undo" a lot) you should be able to exaggerate any terrain features you need to.
After filling in the river, I used a printed map for reference and drew in the missing parts of the river. I also drew in lakes where they're supposed to be. Note that the lakes or features you draw don't have to be perfect--you can tweak them later in the game itself.
Tip: always set your fill tolerance to 0 when filling in shades of color on your map. This way you won't flood the entire map with the same color.
Tip: for drawing in the correct elevations, you will want to have SC3000.COM's Elevation Palette loaded. This palette is downloadable from Knowledge Tree article #0057.
To summarize the above, we have:
- Chosen a recognizable feature of our map (in our case, the river).
- We made a note of the feature's color shade (i.e. palette index).
- We picked a darker color to fill the river in with so we could work with it.
- After modifying the river, we'll want to fill the river (or whatever feature we worked on) back in with its original color.
Step 5: adjust the map's elevation
There are two ways to adjust the elevation of our map. We can lighten or darken the image in our paint program, or we can just import the terrain immediately and then use cheat codes that raise or lower our entire map. For our purposes, we will adjust the map's color as best we can and perhaps tweak the map's elevation after we import.
Now that the map has been detailed, we're ready to adjust the map's overall elevation. This is essentially just another tweak, but it's pretty much necessary for any map you're going to import. The basic procedure is to chose a point on your map where you know what the elevation should be. For example, identifiable water on the map would be elevation zero (such as the sea, the ocean, or a river). Or maybe you know the middle of your map should be about 39 meters high. After you choose the desired elevation of a feature on the map, use the color picker tool to find the palette index of that feature as it is on the bitmap. Next, using the SC3000.COM Elevation Palette, locate the index value that matches the desired elevation. For example, if we chose 500 meters as our target elevation, we would want index 69. Now you'll want to compare the actual index value on the map with our desired index. The difference between the numbers represents the change we have to make to the map. If we want our chosen point on the map to be index 69 (500m) but the actual index on the map is 92, we need to darken the map to lower the terrain. If the actual index was, say, 49, we would want to lighten the map. We would stop adjusting the map's brightness when the index value was within 1 or 2 of our desired value (or preferably when the index values matched).
Tip: programs like Paint Shop Pro let you adjust how much to lighten or darken an image via a slider. You'll have to guess how much adjusting you'll need to do to match up your values.
![]() Figure 4. Map is darkened to desired elevation. |
The following step-by-step procedure explains how I set St. Paul's elevation:
- First I chose the river as the feature I know the elevation for. I know the river's elevation should be zero.
- Using the Elevation Palette, I find that the elevation of zero for water is palette index 30.
- Now I use the color picker tool to find the index value of the river on the bitmap. The value turns out to be 46, so I'll have to darken the image a bit to lower the river to an index value of 30.
- Using the brightness/contrast image filter in Paint Shop Pro, I guess how much to darken the image. I darken the image and then recheck the index value of the river. The value is now 25, which means I darkened it too much.
- I undo the darken filter I applied, and then move the slider a little bit to the lighter side and re-apply the darken filter. After rechecking the river's new index value, I find that the river is at an index value of 31. This is a wee bit too high, but after subsequent tweaks, I find that I can't reach an exact value of 30. No big deal. I have two options: I can fill the river in manually with my fill tool so that the river is at index 30, or I can just import the terrain as-is and lower the elevation within SimCity 3000. I will opt for option 2, because it will be more precise.
Step 6: optionally rotating the map
This step is really up to you and will depend on how your city is structured. First of all, DEM's are oriented such that north points up toward the top edge of the bitmap. SimCity 3000's north, however, points toward the upper corner of the square map. This means that if you import the map as-is, true north will actually be northeast once imported into SimCity 3000. To make the map's true north equivalent to SimCity 3000's true north, you need to rotate your bitmap 45 degrees counterclockwise (i.e., 45 degrees to the left, or course!).
So do you want to rotate your map? It's entirely up to you. Most city streets in the US run north-south/east-west. Unfortunately, running streets true north in SimCity 3000 means you have to run your streets at an angle in SimCity 3000, which in turn means none of the buildings will face the streets in the game. If you leave the map as-is, however, you can run your streets based on your map's true north and have your buildings face the streets, which will look more realistic in the game.
St. Paul's city streets run northwest, which means I lucked out. Because of this, I can rotate my bitmap 45 degrees counterclockwise, making the bitmap's north match SimCity 3000's north. At the same time, my city streets will run in the correct direction and the buildings will face the streets. Of course, the streets that do run true north will have to be angled in SimCity 3000, but that's the price I pay. I chose to rotate my map so that I can have a truly accurate orientation and a realistic downtown area.
To rotate the map 45 degrees left in Paint Shop Pro:
- Select Image...Rotate.
- Click Left for the direction. For degrees, click Free and then type in 45.
- Click OK.
Step 7: crop the map
| City size (W x H) | Bitmap size (W x H) |
| 64 x 64 (miniature) | 65 x 65 |
| 128 x 128 (small) | 129 x 129 |
| 192 x 192 (medium) | 193 x 193 |
| 256 x 256 (large) | 257 x 257 |
The final step before importing the map into SimCity 3000 is to crop the map so that it fits into SimCity 3000. Actually, we could import the map as-is and have SimCity 3000 determine how to bring it in, but we don't have much control if we do that. The first step in cropping your map is to chose which size city you'll be importing into. Using the city size table, find the map size
![]() Figure 5: map cropped and ready for import. |
you want to use for your city. For most cities, you're probably going to want to use the largest map size unless you want to focus your city on a particular area. The bitmap size you're going to want will have one extra pixel of width on the side and bottom. For example, if you want to use the large map (256 tiles by 256 tiles), you will want your crop area to be 257 pixels by 257 pixels. The area you crop will depend on which area of the city you want to build upon. For large cities it's probably best to get the downtown area to be toward the center of the area you crop. Note that if you rotated the city, you may have empty space in your map. You can always fill this empty space in with the same color shade that surrounds the empty area.
After you've cropped the map, all you need to do is save it to disk. Then we'll be able to import it into SimCity 3000!
Step 7: importing the bitmap into SimCity 3000 and making final tweaks
Windows
- Start a new city having the correct size (see aforementioned size chart).
- Press Ctrl + Shift + Alt + C all at the same time. A text box pops up the upper left-hand corner of the screen.
- Type "load terrain <path to your bitmap>" into the textbox. For example, "load terrain c:\bitmaps\coolcity.bmp".
- If the file was found and was in the correct format, your terrain should load. Note that you may need to rotate the city before the lower right-hand corner map will update with your new terrain.
Macintosh (thanks to Christopher Ison)
- Start a new city having the correct size (see aforementioned size chart).
- Press CTRL + Open Apple + Shift + C all at the same time. A text box pops up in the upper left-hand corner of the screen.
-
Type "load terrain <folder path to your bitmap>"
Important: On the Mac, the path should be formatted as follows:
Folder1:folder2:Folder3:...:file.bmp. Do not use drive letters (as in "C:\..."). Problems may arise if trying to use the desktop folder. Use proper spaces and punctuation.
If everything went according to plan, you should now see your realistic, relatively accurate RealCity terrain stretching in front of you. Congratulations! You can now start building if you're satisfied. However, if you don't see the river, lake, or ocean you wanted, or the elevation is off, or perhaps the entire city is flooded with water, you can further refine your map by increasing or decreasing the elevation of your map within SimCity 3000.
To adjust the elevation of your map, press Ctrl + Shift + Alt + C at the same time and type any of the necessary codes below into the text box:
- terrain ten up
- terrain one up
- terrain one down
- terrain ten down
The codes above are pretty self-explanatory. If you don't see the river in your city you were hoping for, you can slowly lower your terrain with "terrain one down" until your river bottom floods with water. Or, if your city is flooded, you can raise the terrain one elevation until your city is "out of the water". For more heavy duty moving, you can move the terrain up or down by ten elevations at a time. If you want truly accurate elevation, you can always use the query tool on any tile of your terrain and note its elevation. Then you can raise or lower the elevation to meet your needs. Keep in mind that one level of elevation in SimCity 3000 is 13 meters.
That's it. Well, give or take. You may want to further tweak your bitmap and re-import your terrain, or you may want to crop a different portion of your bitmap. Nobody said modeling your favorite city was easy. Experiment, practice, and practice some more. Then experiment again. And practice even more. You get the idea!
Before I close, I want to stress again that this article doesn't try to cover all the various software out there, and I realize everyone has their own style and ability. If nothing else, use this article as a stepping stone for your own methods. If by some miracle you were able to follow it step-by-step and successfully import your terrain, then bravo! But if you didn't achieve the results you were seeking, don't give in. Try it again and throw in your own twist. This is no easy task and it may take you many attempts. Just don't forget to have fun doing it.
This concludes Part II. For reference, see also Part I: Get and convert the terrain (Knowledge Tree article #0166).
See also
Generating custom terrain from bitmaps
Generating terrain from USGS DEM files
Real terrain importation Part I: Get & convert terrain
Terrain generation with Photoshop 4.0
Real terrain creation supplement








There are no comments to display.
Sign In or register to comment...
To comment in reply, you must be a community member
Sign In
Already have an account? Sign in here.
Sign In NowCreate an Account
Sign up to join our friendly community. It's easy!
Register a New Account