DMM Suite

by IainPeregrine
The DMM Suite provides saving and loading of map files in BYOND's native DMM map format.
ID:2346381
 
Ahoy Folks! I just released a major update of my DMM Suite library. In case you've never used the DMM Suite, this is the sort of thing you can do with it:

Save a map while the game is running
Open that map in Dream Maker and edit it!
Load it back into the game without rebooting

In case you _have_ used the DMM Suite before... this is a big update. It actually works now! The DMM Suite has been around in one form or another since 2005, but only worked in very limit use cases with very small files. This has been a complete overhaul, and I hope you'll agree that the new version is very different.

There are a couple improvements that I plan to make in the next couple weeks, but I wanted to get this out there as soon as it was stable enough for testing. Fail fast and all that. So give it a try, stress test it, and let me know how it holds up. I'm particularly interested in what sort of things are missing that would be needed for your projects.

Also, the source is up on GitHub, so fork it and send me a pull request!:
https://github.com/jacobabrennan/dmm_suite
Wow! This is one of the most needed features in BYOND, so that's awesome that you've improved upon this suite, again!

One thing I do with my old game Space Blast is taking pieces of maps and sticking them together in random ways. Copying and pasting map pieces, basically. I was going to make that again for my Space Blast II game. It does occur to me that it could be a useful feature for your DMM Suite to include, to copy and paste portions of maps, if you haven't added that already. No pressure from me, though, if you want to work on something else! Just considering the different ways people might want to manipulate maps! (I'll have to check and see if you've added this, already!)

Also, another map manipulation that could prove quite useful would be to be able to replace a turf or object with another turf or object, within the whole map (or possibly a selected portion of the map, or area). This might be useful for changing a lot of turfs at once--say making a pond dry up after a switch has been activated, or having it fill up again. Or, making all mob enemies of one type suddenly turn into mobs of another type. This could accomplish the same thing RPG Maker does when it allows a "tileset swap".

Just some ideas. That's awesome that you've updated this! Great library! I checked it out several months ago, and it's a definite fave!
I can't get over the animated smile graphics in the demo, haha!
Woo wrote:
Copying and pasting map pieces, basically.

// This is really easy with the library:
var /dmm_suite/suite = new()
var map_text = suite.write_cube(x ,y, z, width, height, depth)
suite.read_map(map_text, newX, newY, newZ)
//That's it!


replace a turf or object with another turf or object, within the whole map (or possibly a selected portion of the map, or area). [...] This could accomplish the same thing RPG Maker does when it allows a "tileset swap".

My first instinct is not to include that, because it isn't directly related to the DMM format. My goal with this library is to keep it as simple as possible so new users can get to the answer they're looking for without having to learn a new framework or dig through an API. That's one of the reasons I kept it so simple for so long: The original library did one thing, load the provided map file onto a new z level. That being said, this does sound like a good idea, especially if new users are used to this feature. Is this like a core aspect of developing in Game Maker, or something esoteric?

I can't get over the animated smile graphics in the demo, haha!

That blue circle is one of the oldest graphics I still have around, back from, like, 2000. I use it as the placeholder mob whenever I start a project, so it's somehow survive every hard drive crash or migration to a new computer I've ever had. Its name is "Clams", and I don't remember why. I wish I still had my pixel art from, like 1995. I'd love to see some of that stuff.
The "tileset swap" is not a core aspect of RPG Maker, but it is an idea that came to mind. I'm on board with your DMM Suite being simple to use, though! I'll likely use it for Space Blast II, and I'll recommend it to anybody who asks! Thanks!