A little Javascript/SVG application to create dungeon maps for role-playing games.

If you’re having trouble, consider the following:

The hash tag I’m using is #Gridmapper, obviously. 🙂

2021-04-09 New features for Gridmapper

Gridmapper hasn’t gotten a lot of new features lately, but today somebody calling themselves the Flying Neko (neko being a cat, if I remember correctly) (which reminds me of El Gato Volador by Gian Varela & El Chombo) (anyway, Gridmapper!!) submitted some small changes:

  • $ toggles the visibility of secrets
  • ! makes all the lines a bit thinner

Making the strokes thinner is something I might have appreciated twenty years ago, when my eyes were better. If you’re twenty years younger, have at it! 😀

Flying Neko also added unidirectional doors, which is a nice new feature.

If you want to see some of the things people are creating using Gridmapper, you can visit the web app and click the “Load” Link for a huge list, or you can visit the Grimapper wiki (which is where the maps are actually stored):

To open the map in Gridmapper, click on the link, and then click on the link at the top of the page.


Comments on 2021-04-09 New features for Gridmapper

Oh my goodness, hiding the secrets is a brilliant idea! Thanks to the Flying Neko whoever they are. 🙂

acodispo 2021-04-16 20:42 UTC

Now I’m wondering about secret notes! Maybe even multiline notes?

– Alex 2021-04-16 20:50 UTC

Add Comment

2021-03-18 Hekadungeon using Text Mapper

The Gridmapper algorithm for Text Mapper to generate small dungeons was based on the blog post The Nine Forms of the Five Room Dungeon, by Matthew J. Neagley, which I then extended to 7-room dungeons, and then I added the combination of the two, which led to 10 (5+5), 12 (5+7), and 14 (7+7) room dungeons. It worked surprisingly well, see 2019-10-09 Ten random dungeons generated, and 2019-08-23 Gridmapper inside Text Mapper. It definitely worked better than the failed Megadungeon project I was working on a long time ago. Reload it a few times until you more than just one level and then click on the last image to open it in Gridmapper.

A few days ago I started wondering whether I could scale that up… and it turns out that I can!

Here’s an example with 200 rooms. It definitely needs fewer entrances – and the latest version of Text Mapper does that, of course. See 200 rooms.

Dungeon map with 200 rooms

Comments on 2021-03-18 Hekadungeon using Text Mapper

This is really great! I like the shape of these dungeons better than the random results I tend to get out of e.g. And editing the results in Gridmapper is fantastic!

I’m confused about one thing – does this ever generate multi-level dungeons? You seem to imply so in your post, but I haven’t seen it do so.

acodispo 2021-03-22 20:33 UTC

Sadly it does not. I keep thinking about it, though…

– Alex 2021-03-22 20:54 UTC

Right now the problem is that text mapper doesn’t have a Z axis. Maybe it should. Then we could generate an overworld and an underworld that lines up.

– Alex 2021-03-23 07:51 UTC

The more I think about it the better I like it. But how to show this? It would probably have to be a new “page” and that’s not how SVG works. Just appending the second map below the first one might work, though. Hm.

– Alex 2021-03-23 08:45 UTC

For what it’s worth: when I was checking to see if it would do multiple levels, I assumed that I would see the 2nd level below the first on the page, as you suggest. This is probably intuitive! And I think it would work for the way Hex Describe uses these dungeon maps?

Me, I think I’m always going to open the maps in Gridmapper, edit to my liking, and then export in the format I need whether for online play, web display, or printing. I can stitch together multiple levels if I need to create multi-level dungeons.

I wish I knew more about how to work with SVG in this way. I’ve been making an attempt to add “modal GM notes” to Gridmapper and don’t quite have the chops for it! 😀

acodispo 2021-03-24 14:51 UTC

You mean, like those notes for cells in spreadsheet software, one corner is red or something, and if you hover over it, whatever you wrote there pops up?

– Alex 2021-03-24 20:05 UTC

That’s an idea I hadn’t thought of for UI! I was thinking of expanding Gridmapper’s labels. Specifically the behavior where when you type ' while the cursor is on an existing label, the label’s text pops up for editing.

So the GM note behavior would be similar to that, but:

  1. The content of the GM note isn’t displayed on the map, there’s a stand-in symbol. Perhaps +.
  2. When you type e.g. + while the cursor is over a + on the map, that note’s content is placed into an editing box. If there is no existing note, then a new one is created (just like a label).
  3. The editing area for notes is a larger textarea. (I was considering simply using the existing export/import box for this.)

The idea is that I like to put as much data about dungeon contents onto the map itself as possible (so I don’t have to reference a separate room key during play), but using labels can be a bit cumbersome depending on the amount of content. Being able to store longer notes that don’t get displayed on the map would help with this.

I’m fiddling with it off and on but haven’t made much progress! 😀

acodispo 2021-03-25 14:23 UTC

Add Comment

2020-05-19 Gridmapper use

I’ve been happily surprised by seeing Gridmapper used on the Ruins of the Undercity blog where the Idle Doodler talks about solo play – something I have never tried. OK, maybe I tried the AD&D 1st ed. random dungeon generator back in the eighties, once.

Anyway: it looks pretty cool!

From Ruins of the Undercity – Solo Playthrough:

a wide map with maybe five rooms

From Putting Together a Solo Dungeon Crawl Generator:

a big square dungeon with maybe 20 or 30 rooms

Gridmapper hasn’t seen a lot of development in recent years, but if you like a web app that’s best used without a mouse to create dungeon maps, maybe could give it a try. My recommendation is to visit the page and click on the Demo link at the bottom.


Comments on 2020-05-19 Gridmapper use

Huh, I hadn’t even clocked that there was a demo!

Great that it’s simple enough for a tech Luddite like myself to get by on.

Idle Doodler 2020-05-19 20:14 UTC

Oh my! I need somebody to think about the user-interface, haha. 😀

– Alex Schroeder 2020-05-19 20:52 UTC

Add Comment

2020-02-24 No Gridmapper Server

I thought nobody used Gridmapper to collaborate... But apparently somebody does and it doesn’t work. I suspect I broke the setup a few days ago when I reorganised how the Apache webserver is proxying requests to the Gridmapper Server and now I cannot undo it.

And since I’m going to be on a trip for a few weeks, that’s how it’ll stay, unfortunately.


Add Comment

2020-01-21 Blog finds

Ten art treasures I liked: Unique Treasures by Ezra Bloom.

To be honest though I just roll 3d6x100 for jewelry and adlib something about earrings, necklaces, cultures, gems and what not. Works well enough for a handful of items but not for dozens – but in that case I fear players wouldn’t care either.

Many weird swords that you can replace your +1 swords with, from the DW Discord: 42 magic swords.

A series of blog posts by Frylock starting with this one talking about copyright and stat block copyright and Wizards of the Coast and D&D.

A fantastic map I found via the links on the Thought Eater Humpday summary of blog post. Beautiful! I don’t think I need yet another map to run a campaign, but even I don’t need it, it’s beautiful. So beautiful!

Under Gallax Hall - Level 3 - Old Gallax Hall. Gridmapper is still getting used! That makes me so happy.


Add Comment

2019-10-21 Metainformation for an image

Recently, asked me whether it was possible to get from a dungeon map in Hex Describe to an editable map in Gridmapper. There wasn’t, but I liked the idea and so I started thinking about it. It should be doable in theory even though I am generating the dungeon maps using Text Mapper and all they have in common with Gridmapper maps is that they look similar.

So yesterday I started writing the code that transforms the Text Mapper data into a Gridmapper link. Once I could see it in the log output, I was happy. But what next?

I decided to add a HTTP header with that link, hoping that Hex Describe would be able to extract it, and I told J. Alan Henning that I had these instructions for him:

  1. generate map using Hex Describe
  2. use View Image to look at a dungeon map
  3. use Inspect Element to get to the development tools
  4. switch to the Network tab
  5. click the Reload button
  6. click on the new request line to see details
  7. in the Headers tab, there’s a section called Response headers
  8. in that list there’s a header called X-Link
  9. the value of that header is the Gridmapper link

It was late, I was tired, and I needed to sleep, obviously. 🙂

As the rendered image uses the SVG format, I alread had the input used in a comment at the end. Therefore, the link I just mentioned can be found right there. The X-Link code I had written was unnecessary and I removed it.

The instructions were in fact much simpler!

  1. generate map using Hex Describe
  2. use View Image to look at a dungeon map
  3. use View Page Source to look at the SVG code
  4. scroll to the end until you see the Gridmapper link

But then I realized that I could simply add the information the SVG output as a link! Within Hex Describe it’s hard to spot the link. It’s tiny:

Hex Describe output with link

If you use View Image, however, it gets bigger:

View Image

(If you click the image above, you might get taken to a different image because the seed I used is only guaranteed to work for as long as the code doesn’t change. My guess is that this won’t be stable for long!)

If you click the link in the top left corner, you’re taken to Gridmapper:

Image 3

I also need a way to add nice arrows to images using Gimp. Surely there is a better way!


Comments on 2019-10-21 Metainformation for an image

I was playing with Gridmapper the other day and was wondering about Switch Background and Toggle Floor commands. I couldn’t figure them out. Any hints?

– Ruprecht 2019-10-30 19:02 UTC

The Switch Background command (capital Z) toggles between various background options:

  • grey background (the default)
  • black background
  • white background
  • white background with grid
  • blue

The Toggle Floor command (hold Alt and use the arrow keys to move around) simply toggles the floor on or off. In other words, it’s the equivalent of pressing f and and arrow key repeatedly – it’s simply faster.

– Alex Schroeder 2019-10-30 22:46 UTC

Add Comment

2019-08-23 Gridmapper inside Text Mapper

Gridmapper is an interactive web application. You can use it to draw multi-level dungeon maps. The drawback is that you cannot use it to generate images in order to use them elsewhere.

A while ago I wrote a Megadungeon Generator which generates a random dungeon and allows you to open it in Gridmapper. That’s pretty cool, but I was still unhappy. The preview images I generated as part of it seemed to be on the right track: these were images, but much to small, and they didn’t use the Gridmapper tiles.

Recently, I added the ability to generate square maps within Text Mapper. Now all I was missing was the Gridmapper tiles and some encouragement.

The last few days, as I was talking with Brian Green, J. Alan Henning, and ktrey parker on Diaspora the topic turned to mapping again. ktrey parker suggested using the Face Generator or something similar for dungeon maps. Something smaller, combining geomorphs, something like the five room dungeon, not something big like Dave’s Mapper. Robin Green linked to The Nine Forms of the Five Room Dungeon | Gnome Stew, and started drawing sketches of the kinds of geomorphs we could use, how they’d fit together, and so on.

And suddenly... that was the kind of social enthusiasm I needed and I started writing code...

This is a new mapping algorithm for Text Mapper based on all of the above. It doesn’t do the special rooms Brian had sketched, yet; and it doesn’t always place the initial stairs correctly; and there are no “extras” such as pillars, chests, pits, and so on. But all of this can still be added.

As always with these algorithms, you can use them to generate a new text description for you to edit, or you can just keep reloading this link.


Add Comment

2019-05-08 Tileset

Kenney 1-Bit Pack “includes over 1,000 different tiles, characters, objects and items. It’s perfect for roguelike and RPG in any setting (fantasy, feudal Japan, modern, sci-fi etc.) and even comes with tiles for UI, platformers and puzzle games. Perfect for prototyping! Also includes a monochrome (black and white) version, plus versions with a transparent background.”

I wonder whether it would be easy to write a Gridmapper like editor that would quickly allow us to create maps using the keyboard. And town and dungeon and all sorts of map generators using that.

I guess what I’m trying to say is that I really love how the Face Generator, Text Mapper and Hex Describe are building something that is better than the sum of its parts.

I kept hoping that the Megadungeon Generator (needs more work) and Gridmapper (I feel like it needs a redesign but I’m not sure?) could play well together in a similar vein.

And Text Mapper itself is an example of an application that has been made a gazillion times more joyful to use once I got the Gnomeyland icons by Gregory MacKenzie added.


Add Comment

2019-04-01 Gridmapper Updates

I haven’t used Gridmapper in a long time. But other people keep using it! And more: recently a user started sending patches so now Gridmapper has new features, too. This is great. 😀

  • more colours
  • arcs with walls
  • a simple diagonal wall

Try it!


Comments on 2019-04-01 Gridmapper Updates

Very neat!

Goblin's henchman 2019-04-02 22:31 UTC

Alex...thanks for all you do for the RPG community. I gave you a shout out on the blog/podcast this week. Thanks again for everything.

froth 2019-04-03 14:32 UTC

You guys are warming my heart! Thanks. 🙂

– Alex Schroeder 2019-04-03 14:57 UTC

Also, thanks for that encouragement to leave non-spam comments. Made me laugh! 😀

– Alex Schroeder 2019-04-04 07:32 UTC

Add Comment



Please make sure you contribute only your own work, or work licensed under the GNU Free Documentation License. Note: in order to facilitate peer review and fight vandalism, we will store your IP number for a number of days. See Privacy Policy for more information. See Info for text formatting rules. You can edit the comment page if you need to fix typos. You can subscribe to new comments by email without leaving a comment.

To save this page you must answer this question:

Just say HELLO