Converting Area files to PNG


#1

Hello:
I was wondering if anyone has any code they would be willing to share (ROM/ROT) or tips when it comes to trying to take area files and make them png files. It’s something I’ve been wondering about, but have never really dived a whole lot into.

If not, not big deal.

Best Regards,
Arholly


#2

I believe most of the muds that use this are using something based upon “Samson’s AFK MUD” overland mapping system.

i believe Hades_Kane uses something similar on his MUD?


#3

That is a neat idea, though the fact that they can overlap rooms/exits as it is not a static grid in the area file format it may not come out a a usable image too. But a neat idea none the less.


#4

The closest thing, right off, that I’m familiar with are systems in which world map / wilderness areas are loaded from and saved back to a graphical image file, but I suspect that isn’t what you are looking for.

Either way, the system I’m referring to can be found here for Smaug. With a bit of time and patience, it can be reworked for ROM (I’ve done it).
https://www.smaugmuds.org/files/Overland-ANSI-Maps-36/


#5

thought so :slight_smile: We re-worked it for a GodWars style MUD a few years ago! I say we, i mean Jindrak. :stuck_out_tongue:

Was interesting but as you said more of wilderness type of area than standard.


#6

I don’t know where I stashed the C code, but I iterated through areas to generate Graphviz dotty commands.
The dotty commands build a PNG file with an HTML map.
For example: Dwarven Daycare Map


#7

For Worlds of Carnage I didn’t generate a PNG, but I did generate an HTML based map. Essentially I start from the first room in the area and travel the room exits plotting rooms in an XYZ coordinate system and unlinking the room from the list when mapped. After each search process I begin again for the first room left in the list (if there are any at all) which allows me to combine disjoint map segments that may not be accessible via travel. Once complete I combine the disjoint sections into a single map. Overlapping rooms are treated similarly and are plotted aside as a disjoint room. You can see a very small example here:

https://www.wocmud.org/areaMapper/display.php?areaMapperAreaID=671


#8

Well, if you can find it, I’d love to take a peak at it.

Thanks for all the feedback everyone. Looking at how might be the best way to do this.


#9

Hello,

I wrote the program for converting CircleMUD-style zones to a svg file.

For example http://mud.kharkov.org/map/zone99.html

Program source here https://bitbucket.org/prool/proolmud/src/default/utilities/mudmap/

With best regards,
Prool


#10

Hey Arholly!
I did implement this into Al’haen a looooooooong time ago. The code is in act_wiz.c and right at the bottom. Probably the last 5-6 functions power it.

http://mudbytes.net/files/view/2618/?path=alRom/src/act_wiz.c

There’s a link to the file. Might be better just to download the whole thing and poke at it


#11

Totally doable from a mapping standpoint, however one would ask what the goal is. For instance…

…how are you going to store door and exit information, if that’s a goal?
…are room descriptions not an issue?
…What happens if the dimensions of the area change? Do you have to store a 0,0 coordinate location and create relative coordinates based on that zero-room?

If you want to create a more visual MUD this seems appropriate, but it may be sacrificing text, descriptions and other features in the process.

I use a bitmap routine to access a 3000x2000 wilderness map of mine with an additional subterranean map (2 maps). It certainly makes painting maps easier, and it seems to load the wilderness more rapidly than trying to build a complex array.


#12

I use a bitmap routine to access a 3000x2000 wilderness map of mine with an additional subterranean map (2 maps)

Wilderness maps are one of my favorite things in MUDs in general. This might be a little off-topic, but would you mind sharing a shot of your map? 3000x2000 is probably the biggest one I’ve heard anyone using thus far (1000x1000 is typically what I’ve been running across… ours is 1000x800, although we generate 1000x1000 for our battle royale mode).


#13

I just recently got back into designing and coding from a long time ago. The idea was to use the RGB values, such as “Red” to determine terrain type, and Green and Blue to help determine some elevation and weather characteristics, etc. The weather would be more or less derived by location (distance from poles) and terrain type.

I never actually painted the map, but I included some live MUD screenshots (I had to debug it a bit lol).

From a terrain point of view, it’s easy to convert real-life colors, such as white for polar ice, green for forest, different green shade for fields, brown for mountains, etc etc, and convert them into a readable bitmap for the game code (where R=1 means one thing, R=2 means another, R=3 etc etc - screenshot of code shown) – since looking at the map itself would be mostly “black” as far as terrain.

I chose a bitmap because according to my load time logs, the wilderness loading took almost zero time at all.Wilderness5


#14

Oh cool! Nice work :slight_smile:
Thanks for sharing :slight_smile:
I love seeing other people’s approaches to wilderness maps and overland stuff.