• Welcome to SC4 Devotion Forum Archives.

SC4 Map Maker - New mapmaking tool under development

Started by cogeo, September 13, 2009, 12:44:51 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

cogeo

Hi all,

SC4 Map Maker is a new (currently under development) tool, aiming at facilitating the process of making maps for SimCity 4. Making maps requires in-depth technical insight and is quite "labor-intensive" too.

SC4 Map Maker isn't aiming at replacing SC4 Terraformer, and won't provide local editing tools. Instead, it will be providing operations for the early stages of the process (which are quite sensitive to errors, tedious, and to some degree critical to the final quality of the map too).

I have made and released some few maps, but I'm not am experienced map maker. Besides, each map maker may have developed or devised his/her own techniques or methodologies. I don't know how each one works, so I would be interested to hear what the others think. Please post your wishes, ideas or suggestions in this thread.

SC4 Map Maker is now in it's very early stages of development. Estimated development time (at my current rate) is about 2-3 months. I hope it will be ready before X-mas.

Below is the first screenshot of the tool.



Well, you don't see anything "spectacular" for the time being, but it's the first step: reading the (geo) TIFF file and recognising its basic tags (they are displayed in the output window, at the bottom of the client area).

More to follow soon.


cogeo

#1
Here are some rough "specs" of SC4 Map Maker.

The features I'm considering implementing include:
- Reading the GeoTIFF file
- Selecting the area to be mapped, by specifying the size (in city tiles) or superimposing the config.bmp (and moving the rectangle or config.bmp on the GeoTIFF). After this step, the user will be working on the selected (cropped) area only.
- Possibly editing/rearranging the config.bmp tiles in-place.
- Exporting a preview (temporary) image and a BW "water mask". Then the user will be able to process the water mask in an image-eding application (Photoshop, PSP, Gimp), having the preview image as the background layer and the water mask as an overlay - the layer opacity should be somewhat reduced, so that the background ("preview" image) is shown through, working as a "guide"). This way it will be quite easier to "draw" the water bodies (esp rivers), that are not marked specifically in the DEM data, or if the user wants to redefine the coastline.
- (Re)applying the water mask. The user will be able to re-apply the water mask modified in the previous step. Some areas may of course be "flooded", and/or some others "drained" - these are going to be filled with low-elevation land (slightly above the water level), maybe some algorithm "averaging" the water level with the height of the land next to the water could be applied (I'm open to suggestions here).
- Filling the water bodies woth a progressively deepening "gradient".
- Adjusting the water level. I mean raising the whole map up or down so that the water floods the lowest elevations. This is especially useful in making lakes (in most cases they are above the sea level), and avoids getting steep shores and having to "correct" them manually in SC4TF.
- Special view options, clearly pointing out the areas that were flooded and/or drained (as a result of the two above operations).
I would be interested to listen to your own ideas or suggestions.

SC4 Map Maker is being implemented in MFC, enabling many advanced and standardised user-interface features. As you can see in the image the application has a standard document/view architecture, as well as a menu bar, toolbar, status bar, output window and toolbox - floating and dockable. Unlike SC4 Model Tweaker, the application is "SDI" (for Single-Document Interface), ie allows opening one document at a time (just like notepad, wordpad and gmax/BAT). There would be no benefits in making it MDI, plus it loads huge files and is thus quite resource-hungry (so making it MDI would be an overkill).

I'll be posting as the project evolves.

ponnie

Hi Cogeo,

That's quite the useful tool you're planning to create. Since I have no experience whatsoever in mapmaking I can't give you any pointers. It sure sounds like a tool I'll be using to try creating my own accurate maps. I therefore wish you the best of luck with this project. I will definitely keep an eye on your progress.

tamorr

Quote from: cogeo on September 13, 2009, 12:46:18 PM
Here are some rough "specs" of SC4 Map Maker.

The features...
...
- Possibly eding/rearranging the config.bmp tiles in-place.
...
I'll be posting as the project evolves.

   What do you mean by editing/rearranging tiles? Like manipulating the config.bmp layout without touching the map itself?
  "It is wiser to think about your actions before doing them, but be warned One must act quickly before another takes action for you."
  "Knowledge may be Power, but it is how you use that Knowledge that makes One Powerful."
  "I am a Philosopher, Punnist, Poet, and Rambler so keep in mind I think ahead and backwards to point where communication is sometimes not completely understood, even if Enlish is my primary language, it doesn't mean I know it well N proper."
  "Always do your best to acheive your goals and Dreams one at a time."
"Patience is a virtue."

cogeo

#4
Quote from: tamorr on September 13, 2009, 02:06:04 PM
   What do you mean by editing/rearranging tiles? Like manipulating the config.bmp layout without touching the map itself?
(sorry, I meant "editing", not "eding")
Manipulating the the config.bmp is independent to editing the map anyway. You may modify the config.bmp (before importing the map) no matter if the map is a SC4M or a grayscale image. And this doesn't require any special tool, you can do it in any image-processing program. What I was talking about is moving the config.bmp tiles as well as the whole map rectangle over the original map, so that you can achieve the best possible fit. This process is quite frustrating if you do it manually, often city borders intersect a river or lake close to its shores, resulting in ugly-looking and not very much "playable" maps, eg having one river bank clipped (missed to the next city tile), or getting a very narrow strip of land (next to the water) etc. These can be solved if you have the city tiles superimposed on the map image you can move them at will.





There is some little progress, the application now recognises the GeoTiff-specific tags too. At this point I could give away (early) test versions. There isn't much to test for now, the only thing that can be tested is opening GeoTiffs. The application currently performs some very strict validity/consistency/sanity checks and as a result it may refuse to open certain GeoTiff files. So this test is aiming at opening and reading (correctly) as many GeoTiffs as possible. If you have GeoTiffs from different sites (mine are all from cgiar.org) it would be very helpful to see if the application can read them.

cogeo

Hi again,

There is some little progess, the program now reads the geotiff successfully and displays a BW image with some special cases marked with colors, eg "no data" values are colored magenta and negative values red.



Next step is to display the config.bmp as an overlay and allow moving it on the map.

tamorr

   Alright now I at least half understand the process... Better than before and enough for me get some kind of picture in mind. You kinda' answered what I meant... I know you can mod the bmp in external program but to line up with the map it self is definately tiring especailly with what you have explained, Some tiles not lining up to make a good city tile. That would be the part of the program I would be interested in for the most part and possibly make with ease my own maps. I am not much a big map maker, but good to see some progress. :)
  "It is wiser to think about your actions before doing them, but be warned One must act quickly before another takes action for you."
  "Knowledge may be Power, but it is how you use that Knowledge that makes One Powerful."
  "I am a Philosopher, Punnist, Poet, and Rambler so keep in mind I think ahead and backwards to point where communication is sometimes not completely understood, even if Enlish is my primary language, it doesn't mean I know it well N proper."
  "Always do your best to acheive your goals and Dreams one at a time."
"Patience is a virtue."

cogeo

The view functionality (zoom-in/out, coordinates/elevation display, colour marking etc) is now fully implemented. I have also added two special colour codes, marking elevations above and/or below user-specified elevation thresholds.



In the pic you can see how elevations below 2m are marked. Marking elevations above a threshold is disabled (simply be not entering anything in the edit box next to the "Above" label). These are all view-only features and do not modify the underlying data (the are meant just as assistance to the operator). The mask export feature (to be implemented in the future) will have options to include or not include these specially marked areas.

The image shown above is being generated by accessing directly the data in the GeoTiff  - no interpolation/resampling yet, and no saving to custom file format. I originally intended to store the maps this program is operating on directly in .SC4M format. However this is not possible because of the operations the application is about to support. Therefore a custom file format is going to be used, and .SC4M is going to be supported as an export format. After modifying the map in this tool is complete, the operator will be able to export the map as .SC4M and continue his/her work in SC4 Terraformer (for local/minor modifications).