Coté

Coté

How to create Huge D&D Battle Maps with Midjourney generative AI

You can generate really big Dungeons & Dragons battle maps with Midjourney. It takes some iteration and tinkering, but the maps are great. I like big battle maps so that characters, NPCs, and monsters have lots of room to move around and take tactical advantage of ranged spells and attacks. While the big images are grainy when you zoom in, if you save the series of original images that you zoomed out of, you can always zoom back in, so to speak.

In this post, I’m going to show you how I went from this map:

to this map:

There’s also four maps in-between, which I don’t include all of here.

(1) The Story

To guide what your map looks like it needs to be part of a story. This gives you the setup, the environments, etc.1

I’ve been solo role-playing Icewind Dale: Rime of the Frostmaiden and I wanted an ambush encounter with the Knights of the Black Sword.

For a good ambush, you need a choke point, and a bridge is great. Characters are forced to go over a bridge (sure, they could fly, but not the character I was playing), you get exposed (it’s hard to hide as you cross a bridge), and you can get trapped. You could even be cinematic and have the bridge destroyed, ropes cut, whatever.

So, I needed a bridge-cross in a icy environment.

(2) Find a starter map, or stop with one

There are so many D&D maps out there, tons and tons of them. Often, you can do a Google Image search and find exactly what you need.2 I found a good map in Reddit3 - an icy setting with a a bridge going over a deadly gorge. But, after setting it up for an ambush, I realized there was nowhere to hide really. Plus, like I said, I like really big maps.

So, I went to Midjourney and after some tinkering, I came up with the maps above.

I loaded the original map from Reddit into the Midjourney prompt window, and gave it Midjourney this prompt:

Expand this dungeons and dragons battlemap of a bridge crossing an icy gap in a glacier. Overlaid with 5 foot by 5 foot grid as in standard d&d battle maps

First, it didn’t actually expand the map, it just used it as inspiration. Second, it took several go-rounds and re-starts with Midjourney. This is key to Midjourney stuff: before you blame your prompt, just have it try from scratch several (four or six) times and pick, like, two you like, and continue refining those).

Here’s a particularly goofy one Midjourney made:

What’s goofy here is, of course, that tunnel in the upper right, but you’ll notice that the 5x5 grid is all messed up. If you let this live on through your zooming out, it will continue to be messed up.

Here’s the one I picked to build on:

The grid is not perfect, as you can see if you zoom into the larger versions, but it’s good enough and that good enough persists as you scale up. Is a 65 foot long, 16 foot bridge realistic? How about the sizes of the rocks and trees? I don’t know, they seem good enough to me. As with a lot of D&D realism check, if I got too deep down making things perfectly realistic, I remind myself that this is world where gnomes and ships flying in space is realistic. And, you know, the point is to have fun.

(3) Zooming out

Zoom, pan, and upscale controls in the Midjourney web UI.

Then, I just used the zoom 2x option several times, you can the buttons for that in the screenshot of the Midjourney web UI above. I zoomed first to this, this, and then this. Each time, of course, discarding the goofy results.

During this zooming, I’d also pan to fill in direct filling in, mostly the right and then up. You can see the pan buttons highlighted in the screenshot above as well.

Finally, I ended up with a pretty good one. But, when I zoomed in it was grainy. So, I had it upscale it; see the buttons in the screenshot.

I don’t actually know what that means (or any of the Midjourney things), but it sounded right. I tried upscale on “subtle” and “creative,” and I think “subtle” is what you want to have it stay pretty much the same. Creative gets uh, super “creative."

The final map is this one:

(4) Using the Map

Then, I loaded it up into DND Beyond’s map tool, added in the tokens, to get this:

If you squint, you can see the little tokens clustered around the bridge, the cultists hiding out here and there, and my character approaching the bridge. It’s impossible to use at this scale, but look at that: 1,160 feet! That’s about two full-range long bow shots and plenty of room to run around (chasing, retreating, pulling back and hiding, and on and on).

You can zoom in (and, of course, pan around) to actually play:

The tokens are still small, and the image is grainy enough to notice. But, it was super fun to create and use.

For next time

Here’s some analysis and ideas for improvement:

Map size

When I played this encounter, the focus only moved 300 foot from the bridge, so, in theory that’s all the room I needed. Still, it felt nice and open. So, the map I ended up with is probably too big for an encounter, and I think I’ll scale it down to one of the smaller ones next time.

DND Beyond’s map tool only zooms in 500%.I don’t actually mind the grainy and blurry zoom in, it’s actually the tokens that are too small, it’s difficult to read the token names on my monitor. But, on my new M3 Macbook Pro, the screen is actually crisp enough to read them…barely.

Grids

I should also learn how to overlay my own grid. For example, here’s an example of a glacier-to-sea cliff. The grid on this one isn’t too good, but I think the results fit my criteria. That said, I wonder if the 5 foot by 5 foot grid helps Midjourney keep scale right? If that’s the case, maybe I could still turn the Midjourney grid off and be clever and say “use an invisible 5 foot by 5 foot grid.”

Buildings

For buildings, I’ve used Midjourney, and even sections of towns. My success there isn’t so great, largely because I haven’t figured out prompts to break out of the standard, square structures. But, what I really dislike about them is the lack of space around the buildings. I’ve done a little bit of work there: here’s a “small” building map, and then a larger, zoomed out one. Here’s an exterior town/settlement zoom-up: from a tight map, to an expanded one.

Hex Crawls and Sandboxes

An idea: could you use the panning to roll up random terrian for a hex crawl? Let’s say you wanted to see the actual terrain over a six mile hex? A mile is 5,280, so you’d need to pan a lot more to go from 1,160 feet to a mile. Would it even go that far? Instead, I’m wondering if I could take one thin slice of a side of the image and make tiles.

This kind of detailed, “real time” playing is terrible with a group of players, but when you’re solo role-playing, it can be just what you want.4 And, another aspect of solo-playing is world building-by-playing. If you had some good enough encounter tables (and there’s a lot of that in “Rime"), it could also be pretty great. I feel like Paul Bimler’s solo role-playing systems would work well here with its details on wilderness travel, encountering settlements, and the story-point and adventure-loop system he uses in his solo adventures. He goes especially bonkers-good in the second volume of his solo role-playing toolbox.

Aesthetics

As with most Midjourney images, the default style is distinct. I think of these as the Inkarnate-style of D&D battle maps…which is totally fine! But, if you browse Midjourney, you can see variations, e.g., adding in “white lines on black background," and sometimes it just shifts the aesthetic on its own.

DALL-E

I use ChatGPT for my main generative AI driven solo roleplaying. Sometimes I create images in it (“make an image of the current scene,” and the like). But, it’s not the best. And when that happens, as with Midjourney, you have to keep iterating and refining. That’s a big distraction from the role playing chat session. Plus, iterating on images consumes your message quota right-quick.

Still, there’s probably something that I could do: maybe generate really quick, simple line maps, or just NPC pictures.

ChatGPT is pretty good in the opposite direction: giving it images and saying “this is the tavern we’re in,” or “this is what Kadroth looks like.”

It works!

Overall, it’s great! My principles for using AI for solo role-playing are that I don’t want to spend too much time tinkering with it, let alone programming. The point of generative AI is to reduce all that toil, after all. In this instance, I think that princple works: now that I know what I’m doing, it should take only 10 or 15 minutes to get a good result. Or, it’s one of those things you can check in on for 30 to 60 seconds between other tasks you’re doing.

Tell me how you’re doing this, which is to say, give me the good prompt strategies and prompts.

And, hey, if you’re interested in more of my solo role-playing with ChatGPT, check out my videos on the topic.


  1. Well, not always. I like to proactively generate maps to have on hand for future playing. For example, in my campaign setting there’s a huge forest, so just generating forest maps is useful. And, I’ll admit, it’s also both calming and fun. But, obviously, if you’re going to make an encounter map, you need to know the encounter. ↩︎

  2. I don’t really know the contemporary norms in the D&D world of copyright and using material. It seems very loose, especially for personal use. I apologize if I’m offending people here, I am a lone D&D playing hermit who has only recently emerged into the world since second edition long, long ago, before all this “Internet” stuff existing. ↩︎

  3. Maybe I’m too crazy with book-keeping, but when I have maps from the Internet, on MacOS, I put the original URL in the file’s comment - hence being able to link back to it here! ↩︎

  4. This is a theory I’ve been developing in the past several months of solo role-playing: you can make the boring parts fun. When you’re playing in a group (let’s say with three or five other players), it’s less fun to focus on just an individual’s actions. Let’s say a gourmand halfling wants to have a detailed conversation about elvish bread, or a thief wants to scope out and pick pockets of drunk merchants (both things I’ve done with AI-driven solo role-playing, the first several times, just with different foods). That kind of stuff would kill the vibe of a group-game. But, on your own, you can do whatever boring stuff you want. So, here, with a generative AI driven hex crawl, you could get really solipsistic - more like _solo_psistic, AMIRIGHT?! ↩︎

@cote@hachyderm.io, @cote@cote.io, @cote, https://proven.lol/a60da7, @cote@social.lol