PDA

View Full Version : Town Raster Map & Super Zoom With FM8



Mark Oliva
02-22-2010, 01:53 PM
A while back I posted a sample of an overland raster map made with Fractal Mapper 8. In some of the discussion that followed, there was considerable interest in what FM8 can do on a raster level with city and town maps. Our raster mapping tutorial for FM8 is in an advanced stage now, and I got an okay from the rest of the group to release a preview here of a town map that one can make with step-for-step illustrated instruction in the tutorial. It's a good specimen for this posting, because it demonstrates the power of FM8 as a mapping tool. FM8 deals with raster objects in a different manner than many cartographic programs. As a result, there really is no such thing as the resolution of an FM8 map. Instead, each raster object in the map has its own resolution. This plus FM8's ability to use symbol presets without resolution loss makes it possible to create large raster maps with fine detail that allow very tight zooming-in with little or no quality loss or pixilation problems. Anyhow, the following views might make this more clear. First, the complete town map, with a scale size of 5760 by 4500 feet:

http://www.vintyri.com/nbossample01.jpg

Now let's zoom in on the town center:

http://www.vintyri.com/nbossample02.jpg

Next we'll zoom in on a few farms:

http://www.vintyri.com/nbossample03.jpg

And finally, we'll zoom in on the bell tower atop the town hall.

http://www.vintyri.com/nbossample04.jpg

I should add that everything in this map is scaled precisely.

Our tutorial will tell how to make this map and other kinds of maps in FM8, with step-for-step instructions and full color graphics. It will be open, free and released under the OGL. For those interested in testing FM8 before buying, the tutorial also will work with the free FM8 trial version.

Redrobes
02-22-2010, 06:40 PM
Hey thats cool and is similar to my app. As far as I know your the only other app that can do this with an RPG mapping slant on things. Celestia & Worldwind seem close but with less editing features. Google and some other apps can do this with premade tiles but I think your still holding all of your parts in the original res right ? MapTool seems to do this as well but it seems to me that they hold the whole map in memory at once which is probably fine for what they want out of their app but is not quite the same.

So can you now put this city into a region and have several different cities like this and keep on going out with FM8 ? If so then you should put the Ansium tiles (our CWBP world map) into FM8 format. Theres a link in my sig to all the places and a tile overview.

waldronate
02-22-2010, 09:58 PM
Would not this sort of thing work equally well in any sort of program that supports zooming? There seems to be severe aliasing of the assets at the maximum zoom level, which is consistent with a single-LOD implementation (or maybe some of the textures are maintaining a constant screen-space scale - it's hard to tell). ProFantasy's CC3 (and pretty much any CAD engine out there) will zoom nicely over the full range of numeric precision on the entities.

Mark Oliva
02-22-2010, 11:46 PM
So can you now put this city into a region and have several different cities like this and keep on going out with FM8 ?

Apologies. English is my native tongue, but I've mostly been speaking and thinking German for the last 29years. Maybe I'm losing touch with the language. I've tangled with this question a couple of times now, but I can't figure out what you're asking me. The problem part is and keep on going out with FM8 ? No matter what I do with that part of it, I can't get it to convey any particular meaning to me.


If so then you should put the Ansium tiles (our CWBP world map) into FM8 format. Theres a link in my sig to all the places and a tile overview.

I've clicked your CWBP Place Index link (and the other links in your signature) but I found nothing that tells me 1) what Ansium tiles are or 2) how to add anything to the project. A CG forum site search also didn't get me anywhere.

I wasn't aware there was a CWBP until I read your posting, so any illuminating information would be welcome.

Mark Oliva
02-23-2010, 12:14 AM
If my posting left the impression that I was contending that FM8 is the only program that can do this, then I apparently didn't write things clearly enough. I have no idea how many programs can do the same thing. I was responding instead to queries from people who didn't know too much about what FM8 can do and were interested, rather than trying to claim that FM8 alone can do such things.


Would not this sort of thing work equally well in any sort of program that supports zooming?

No. A lot of programs support zooming, but the issue is how the program deals with the object upon which one is zooming. To use a ridiculous but obvious example, I can load a JPG in Microsoft Paint and zoom in on it, but sooner or later, it will pixilate beyond recognition. FM8 - and probably some other programs too - insert a reference to the actual object, so, regardless of the degree of the zoom, you always have the resolution of the original object.



ProFantasy's CC3 (and pretty much any CAD engine out there) will zoom nicely over the full range of numeric precision on the entities.

Only reluctantly do I make a CC3 comparison. I quit using CC3 more than a year ago (after a decade or more with CC2 Pro). I never used it with the current patches, so some of my remarks may be out of date. In other cases, I may be recalling things incorrectly. If so, I hope someone will correct my remarks quickly.

When I used CC3 (if my memory serves me right), it usually had three versions of each raster object (i.e. symbol), in high, medium and low resolution. Based upon the scale of the map, CC3 picked its own preferred version among the three. When one zoomed in upon small objects on large maps, the small objects pixilated unacceptably, at least by my standards.

However, I also don't want to leave the false impression that we dropped CC3 because of this issue. CC3 is unable to embed raster objects in maps, and that inability makes CC3 100% incompatible with our products. That's the one and only reason that we dropped CC3 and went to FM8. We want our users to be able to take our maps in their native format and edit or modify them to their heart's content. That's possible with CC3 vector maps but not with CC3 raster maps.

I can't comment on other mapping programs like Map Maker and Map Tool. I've never used them.

I do use Dundjinni. Theoretically, Dundjinni could do the same thing as FM8. Practically speaking, it's impossible. Dundjinni works with a single, fixed scale of 40 Pixels = 1 foot. A PNG object portraying a large building at that scale can have a size of 30 MB and more, which quickly leads to memory crashes when trying to do really large scale maps. One workaround is to make these objects at a smaller scale and then blow them up within Dundjinni. However, when one zooms close in on such objects, they again pixilate unacceptably.

Unfortunately, Dundjinni hasn't been updated since 2004 (Version 1.07), and Dundjinni Enterprises has said that further development of the announced Version 2.0 is on indefinite hold. One had hoped that Version 2.0 would allow for variable scaling, but that appears to be hope on hold now.

What differentiates FM8 from CC3 and Dundjinni in the particular respect being discussed is that FM8 allows a separate scale definition for each object, and when FM8 places the object in a map, the object retains its own individually desiigned resolution, making somewhat incredible zooms without quality loss or pixilation possible.

Once again: If my remarks about CC3 are incorrect or obsolete, someone should correct me.

Redrobes
02-23-2010, 08:04 AM
Mark, what I was trying to ask is whether you can now take the whole city that you have here and use that whole map as a referenced item within a bigger map like a region. Can you, for example, place two of these cities down or alternatively, place this city down, place another similar city down and place some towns down as well. Then at each place still zoom in down to the house. Can you pick up the whole city and move it as a group.

CWBP = Cooperative World Building Project and the forum link is here:
http://www.cartographersguild.com/forumdisplay.php?55-Cooperative-Worldbuilding-Project

It has a wiki here:
http://cwbp.cartographersguild.com/index.php?title=Main_Page

Its a world that has a section or two divided up into tiles where we collectively map a tile each. Then within some of those tiles we have mapped regions and cities. The region of Ansium is one such place with about 30 tiles laid out like this:
http://cwbp.cartographersguild.com/index.php?title=Project_Overview

Some of the tiles have a lot of maps that have different scales so that you can find places where there are bitmaps from world down to battle map scale.
Here is Ansium video showing that using my app. We both seem to have the same goals.
http://http://www.viewing.ltd.uk/Temp/CG/VD_Demo8/ViewingDale_x264.avi

I cant definitively speak for CC3 either but I think in a later edition it can do bitmaps but I am not aware that it does LOD's (Level of Detail). You are right that Dundjinni has a fixed bitmap scale.

I like what you have done as its what I was after when I wrote mine.

jfrazierjr
02-23-2010, 08:51 AM
RR, though we may be talking about different things, I believe that yes, you can do this in FM8. On thing that FM supports very well is the concept of zoom level for every object if you wish to utilize it. You could set on a single map so that certain labels (say large overland regional country names) disappear as you zoom into the map to be replaced with labels for several towns names that would not show up on the zoomed out map. I also believe said labels/town names could also disappear again as you zoom in closer to a specific town which might then allow showing the label for several specific buildings. This is all going from memory though, so I could be missing something important here.

RobA
02-23-2010, 08:57 AM
I've worked with similar systems for HMI display screens. The key is to have different symbol representation tied to the zoom level (even if dealing with vector graphics, which neither of these are).

Ideally, you need to set a visibility threshold in the zoom out, and provide ranges for different representations. I believe Viewingdale does (can?) work this way.

-Rob A>

Mark Oliva
02-23-2010, 02:23 PM
Mark, what I was trying to ask is whether you can now take the whole city that you have here and use that whole map as a referenced item within a bigger map like a region. Can you, for example, place two of these cities down or alternatively, place this city down, place another similar city down and place some towns down as well. Then at each place still zoom in down to the house. Can you pick up the whole city and move it as a group.

Yes, but in some respects perhaps not using the mechanics you might have in mind. See Joe Frazier's posting below and my answer for more info.


CWBP = Cooperative World Building Project and the forum link is here:
http://www.cartographersguild.com/forumdisplay.php?55-Cooperative-Worldbuilding-Project

It has a wiki here:
http://cwbp.cartographersguild.com/index.php?title=Main_Page


Thanks very, very much for this heads up. I was totally unaware of this project. I already spent some time there today. I have two projects with tight deadlines over the next two weeks, but when they're finished, I will take an extended look at this.


I cant definitively speak for CC3 either but I think in a later edition it can do bitmaps.

Oh yes. CC3 definitely can do bitmaps and beautifully. The problem at the time when I still used it (and perhaps not anymore) was that the beautiful bitmaps pixilated on tight zooms.

Again, many thanks!

Mark Oliva
02-23-2010, 02:39 PM
Hi, Joe! Good to hear from you!


On thing that FM supports very well is the concept of zoom level for every object if you wish to utilize it. You could set on a single map so that certain labels (say large overland regional country names) disappear as you zoom into the map to be replaced with labels for several towns names that would not show up on the zoomed out map. I also believe said labels/town names could also disappear again as you zoom in closer to a specific town which might then allow showing the label for several specific buildings. This is all going from memory though, so I could be missing something important here.

You're absolutely right. and it hardly could be easier. If you want an object to be visible only at certain zoom levels, you simply:

1. Click it to mark it.
2. Click the menu option Object.
3. Click the dropdown menu option Zoom Limits. That opens a simple dialog box.
4. In the dialog box, you enter the zoom level at which the object appears and disappears. That's it.

You can do that for any and all FM8 objects that you wish.

This may sound like a nice little thing, but it's of growing importance in the RPG community. There is a quickly growing number of campaigns that now run with digital projectors or with a LAN and a laptop for each player, running on programs like Screen Monkey (which can use FM8 maps). The system in the past used to be that one would put a link on a large scale map that would open a second local, zoomed in map of a location. That's too cumbersome for this new kind of computer-assisted tabletop gaming. With FM8, one just defines alternate aspects of certain objects, as Joe has mentioned, and FM8 picks the right objects for the zoom level, making multiple linked maps superfluous. In our pending FM8 raster mapping tutorial, we'll show people how to do just that with a more advanced version of the Odínsdomov map I posted above.

Mark Oliva
02-23-2010, 02:41 PM
I've worked with similar systems for HMI display screens. The key is to have different symbol representation tied to the zoom level (even if dealing with vector graphics, which neither of these are).

Ideally, you need to set a visibility threshold in the zoom out, and provide ranges for different representations. I believe Viewingdale does (can?) work this way.

-Rob A>

In FM8 this is absolutely correct with fill styles (textures), but it doesn't apply to raster symbols (objects), because they have their own scale definitions.

Redrobes
02-23-2010, 03:30 PM
Ok I think I see some of it now. You can say that one object is only viewed at specific zoom ranges and that some of the vector art can be represented with something else at particular zoom levels too. So you can draw several maps of different scales and it will fade them in depending on the zoom and presumably change some markers into the full vector art at certain ranges.

The question I was asking was a little different but ill let it go for a while and maybe see it when there are some more demos. Its basically if at some zoom level you would use a certain bitmap for a city then is it possible to use another different FM8 map as that layer and thus be able to zoom into that map like a city with houses and everything. Ok lets put it this way. If one user of FM8 makes a city, can a different user put that city into a regional map so that you can zoom down to the house level.

For the record, ViewingDale auto generates all of the LODs with antialiasing and manages them for you and regenerates them if they change. It fades out small maps on a controllable global setting but not per object as objects can be reused at different scales. It also has a different optional setting for text only where it fades that out if its too big and therefore unreadable but not for objects, once big enough then it stays in. I could see why you might replace with an alternative but not entirely get rid of something there.

This is all very interesting and I am keen to see more of it and some different demos. Maybe a video of it running would be cool.

Mark Oliva
02-23-2010, 11:10 PM
Ok I think I see some of it now. You can say that one object is only viewed at specific zoom ranges and that some of the vector art can be represented with something else at particular zoom levels too. So you can draw several maps of different scales and it will fade them in depending on the zoom and presumably change some markers into the full vector art at certain ranges.

The non-vector objects in an FM8 map (raster fill patterns and raster symbols) are not a physical part of the map. They remain their own individual objects, and are referenced into the map, being allotted a certain sized portion of the map. But the resolution remains that of the object, not that of the map. Each symbol catalog (folder or directory) contains a file with a small bit of XML code that tells FM8 what scale space it should give the object inside of the map. If, for some reason, a specific object in a catalog needs a different scale than other objects in the catalog, then it can have its own XML file and it will ignore the XML file for the rest of the folder. These XML files also perform one other important task. They define whether the objects should be embedded in the map file. If the object is embedded, it retains its own identity and properties within the map file. FM8 references the embedded object from within the map file and positions it in the right place with the right size. If the object is not embedded, then FM8 references the object from its location in a folder on the hard drive. Maps made with unembedded objects are not portable for the same reason that CC3 raster maps are not portable. If the object isn't available on the second machine, it's invisible on the map. CC3 is different in that it cannot embed raster objects. In FM8, the cartographer decides whether he or she wants to embed. We will be describing how all of this works in detail with graphics in our upcoming FM8 raster mapping tutorial (free and open).


Its basically if at some zoom level you would use a certain bitmap for a city then is it possible to use another different FM8 map as that layer and thus be able to zoom into that map like a city with houses and everything. Ok lets put it this way. If one user of FM8 makes a city, can a different user put that city into a regional map so that you can zoom down to the house level.

The answer to the first question is that it's done differently, but it works. The city would not be a single bitmap, as such (although one can make it into one). The answer to the second question is yes, that is how it works. To put it simply, putting a map inside of a map is a basic and necessary ability of FM8. It not only can do it; it has to be able to do it to work at all. Fractal Mapper acquired this property before Version 8, when it supported raster fills or textures but only vector objects or symbols. To exemplify: If you want to make a 3 x 4 foot vector symbol in Fractal Mapper 8 or earlier, you open a new 3 x 4 foot new blank map, draw your content into it and memorize it as a map file (extension FMP). You then move this file into a symbol folder (directory) and that's it. You have a new vector symbol.

This ability is available to raster mappers too. If you want to make a raster symbol preset, you simply make a new map and place your raster content into it, then save it as a map file. After you've done that, you move the file into a symbol catalog and you can drop it into your map wherever you want it. You can do this with any FM8 map. So, if I wanted to stick the Odínsdomov map I showed here into a regional map, I would need only to move the Odínsdomov map file into a symbol folder (directory). From then on, I could drop it into any other map just as easily as I could drop a single house symbol into the map. Most of the buildings in the Odínsdomov map are in fact that, symbol presets. Not too long ago, our project group released a catalog of symbol presets for generic 500-foot long city blocks. About 90% of the buildings you see in my map are these presets, or maps inside of a map. In the zoom I showed of some farms, everything is a part of the preset ... the buildings, outhouses, firewood piles, etc. Again, this whole map-in-a-map technique will be explained in illustrated detail in our tutorial. This will be a 200+ page PDF with accompanying files. However, the opposite side of this otherwise excellent map-in-a-map system is the question of system resources. I have two FM8 licenses. My main machine is an Intel Dual Core Quad system with 8 GB memory. It's running 64-bit Windows 7 Ultimate. FM8 always has done everything I've wanted it to do there. The secondary machine in my office is an Intel Dual Core (no Quad) system with 2 GB memory running 32-bit Windows 7 Ultimate. At times, it gives me messages that I'm out of memory, when I have bigger things on the screen


For the record, ViewingDale auto generates all of the LODs with antialiasing and manages them for you and regenerates them if they change. It fades out small maps on a controllable global setting but not per object as objects can be reused at different scales. It also has a different optional setting for text only where it fades that out if its too big and therefore unreadable but not for objects, once big enough then it stays in. I could see why you might replace with an alternative but not entirely get rid of something there.

I wasn't aware of ViewingDale until yesterday, but it looks interesting. Once my two active projects are done, I'll give it some time.


This is all very interesting and I am keen to see more of it and some different demos. Maybe a video of it running would be cool.

Actually, I think you'd get more out of it if you would download the free trial version of FM8 (http://www.nbos.com) after our tutorial is released, earmark the themes in the tutorial that interest you and then try them out. With two exceptions, the trial version is identical to the retail license version. The trial version has map saving crippled, and it comes with a smaller symbol library.