ZMapper: What is it?
ZMapper is an under-appreciated Zuggsoft product that provides a general purpose mechanism for creating maps. Since Zuggsoft is best known for its ZMud and CMud mud clients it should come as no surprise there is some integration between them. ZMapper can read and write the map database format used by the mud clients and provides more and better customization options for the map once it's got it open. In particular ZMapper provides the following (among many other) features:

Bitmap Tiles and Patterns: Replace the "sticks and boxes" with graphical representations.

Zone Background Images: I love using these on Dragonrealms where there are hundreds of maps created over the years. I can build my mud client map 'on top' of the premade image. Everything is all labeled this way too!

Shape Editor: No need for rooms to be square with ZMapper. Hex rooms, round rooms, polygonal rooms, you name it you got it.

Okay, Why Bother?

Probably easier to show you why you might like this. The following are two images of the same map (one level of the Aylorian Academy on Aardwolf for the curious):

Pre-ZMapper:

Post-ZMapper:

That represents maybe 5-10 minutes of work and what a difference!

If you're not an artist don't worry, I'm not either (as you can probably surmise). There are a large amount of freely available tilesets out on the internet that provide the graphical chops for your maps. I recommend getting 16x16 sized tilesets. Nethack and RPG Maker tilesets are a fantastic resource to plunder for these little images.

This is a fairly simple example of the type of thing ZMapper can do but even just a small graphical facelift like this really improves the readability of the map. If adding images to lots of already created large maps doesn't sound appealing to you then I suggest using ZMapper to add tiles for important landmarks, shops, and other functional or special places. Banks could get a '$' icon on them for example. I have found in my use of the program even a light dusting of functional icons like this really makes the map more useful for me.

That's Neat, What Aren't You Telling Me?
Well ZMapper is hardly a brand new product. And to be honest (without trying to be harsh) it has been neglected over time. The latest version is still 1.30 Beta which was released in 2005. In fact, ZMapper as a standalone product is pretty much dead. For a time there was talk of a 'CMapper' product which would be the successor but the plan these days is to incorporate these type of features into CMud itself (with some features only showing up in the Pro version). What exact features will make it over is anyone's guess. I don't think even Zugg knows for sure yet.

Another thing to consider is that zMapper can no longer read the map database files CMud generates directly. Zuggsoft has released a small program called MapConvert which can convert the new format to the older format used by zMud and zMapper. This program will have to be used to first convert your CMud maps and then edit them within zMapper. It's not a big deal but it is an extra step.

The biggest loss using zMapper with cMud is that all the scriptability is pretty much gone. In Ye Olden Dayes zMapper could be used to essential 'replace' the zMud mapper with zMapper. This let you do all the stuff you would normally do in zMud with a map but use zMapper features as well (graphics, colors, etc). This is no longer possible sadly.

Hopes for the Future
With the advent of GMCP it's becoming more and more common for muds to send metadata information about rooms to CMud as the user walks around the mud. Some muds also provide extra information like the type of terrain. I would like to use this information to automatically set the correct tile image onto the room via a script. This would let us create maps similar to the one above automatically just by walking around the mud. That would be, frankly, totally killer.

I'd like to see some support for a scalable graphics format like SVG so tiles always look 'right' independent of the zoom level.

And of course I'd like to see a large chunk of zMapper features built into CMud proper.

Even that last bit might not happen for quite a while. If you want to have these kinds of features available in Yours muds Today then I strongly encourage you to run out and try zMapper. Like all Zuggsoft products there is a free trial period. If you enjoy it I would also hope you purchase the program. First, it will support Zuggsoft which has provided a product many of us spend a large amount of our lives in (for better or worse!). Secondly, there might be a chance these sorts of features could make it into CMud sooner if there is a demand for them. Zuggsoft has always been a customer driven company and I'm sure Zugg's priority list isn't cast in stone.

Or not, maybe I'm the only one who cares. Check it out though, it's awesome and works today.

I beg to differ.
How long will it be until you want the Mapper to look like WOW?
And when that happens what will be the difference between text-based and graphic games?
I like more the schematic drawing (which is more akin to text) than having pictures.
When the eyes see the picture the imagination dies.

The biggest loss using zMapper with cMud is that all the scriptability is pretty much gone.

That actually isn't true at all. All of the scripting available via the zMapper COM-based API is still available in CMUD. In fact, you can do that scripting in CMUDPro even without zMapper.

Quote:

I'd like to see some support for a scalable graphics format like SVG

That is actually planned. The big problem with zMapper was that it used a Microsoft data format for the "shape" information. This made it very hard to support zMapper and keep it updated. Several years ago when I upgraded Delphi compilers to write CMUD, zMapper was no longer able to be compiled in the new version of Delphi. So that's why it has languished. Supporting zMapper for CMUD, via either CMapper or just having the features built into CMUD requires a big rewrite of the zMapper code.

So converting the mapper to use more open-source standards, such as SVG, would make it more portable and easier to support and update. Using PNG with alpha-transparency for the icon data is also something I would like to do. Along with a revamp to the graphics engine to support anti-aliasing for the diagonal lines and shapes.

However, since very few people actually bought zMapper, even back when it was heavily supported for zMUD, it hasn't been a good "business use" of my time to go back and work on it. You are definitely correct that the more people who support a product, the more I would work on it.

I know we talked about it before but I would *LOVE* to have a way to programmatically create a room type. Right now it can be done through zMapper interface. An alternative, albeit less desirable option, is to have a way to distribute room types with the map package. Although I have to check if that's already doable now.

That actually isn't true at all. All of the scripting available via the zMapper COM-based API is still available in CMUD. In fact, you can do that scripting in CMUDPro even without zMapper.

That's awesome news. What does the api in CMUDPro itself look like? I'll have to look at the zMapper API as well. I was under the (wrong) impression that when that integration button went away all the rest of it did too.

Tell me more I beg you

Zugg wrote:

That is actually planned.

Fantastic on all counts. I know that 'planned' and 'being done soon' don't necessarily correlate but I'm happy to hear it's coming in the future.

Zugg wrote:

However, since very few people actually bought zMapper, even back when it was heavily supported for zMUD, it hasn't been a good "business use" of my time to go back and work on it. You are definitely correct that the more people who support a product, the more I would work on it.

Yes I know it hasn't been a huge success. And honestly that's a real shame from my point of view. I like it quite a bit.

bothkill wrote:

I beg to differ.

Comparing adding some graphical representation to the mapper to WOW is a bit hyperbolic don't you think? I respect your opinion and think it speaks to one of the strengths of CMUD. It's so configurable everybody can get their preferred experience when playing a MUD.

Tech wrote:

Right now it can be done through zMapper interface.

It seems like it could be done directly in CMUDPro if I'm reading what Zugg said correctly. In my case I'd like to programmaticly set an image to a room.

If you download zMapper, there is an old *.HLP (Windows help file) that describes the COM-based scripting interface. If you are running Vista or Windows 7 you might need to download a Help File viewer. Someday maybe I'll get around to adding those docs to the online files ;)

Anyway, the %map variable in CMUDPro points to the mapper object described in that help file.

Also CMUDPro already allows you to select a custom Room Type, and also adjust some advanced zMapper properties, such as the Door offset values directly from the Room Properties window in the mapper. What CMUDPro doesn't do yet is allow you to *create* new room types, shapes, etc. You still need to do that in zMapper.

Finally, just to be sure it's clear to everybody, CMUD and CMUDPro can already *display* the enhanced maps created with zMapper. You just need zMapper when you edit the map to add the extra graphics. Think of zMapper as a stand-alone map editor. Anything you create using zMapper can always be displayed within CMUD or CMUDPro.

Any problems you can think of involving creating a large amount of room types Zugg? I'm thinking if I create a room type for each terrain type in Aardwolf and then set the bitmap for that roomtype to the tile I want I could use a GMCP trigger to set the roomtype if I'm mapping and it'll show up with the graphical tile in CMUD?

Because that would be awesome.

Edit: I've been trying to use the %map variable in CMUDPro 3.33a (registered) and it seems like it's parsing to a nil value.

For a future version of this product (CMapper or whatnot), I would love the ability to layout and code mud areas in it. Or at least some way to enter in the item descriptions and then run an export routine that would format them appropriate for my mud type via a template of some sort.

I've got a lot of players who want to design areas, but we don't necessarily want them to have access upstairs. Doing something like that would be a quick and easy way to let them design areas and then let the coders upstairs export their descriptions directly into rooms where all we need to do is add items and mobs.