In the previous century, battlemaps were crudely drawn with transparency markers on vinyl mats with square or hexagonal grids; occasionally a pre-printed map provided by a game company was used. The more ambitious and wealthy gamers used miniatures and models.
In this century (so far), much gaming is done using VTT (Virtual Table Top) systems like Roll20. This means that battlemaps are constructed from graphics files, which usually meant having extensive artistic talent, working knowledge of a good graphic art program like Photoshop or GIMP, and way too much free time on one’s hands—and all for complex maps that may be used exactly once—or not at all, if player whim causes a planned battle location to be skipped.
In the year 2026 (when this was first written), an alternate solution is now available: the LLM (Large Language Model), more commonly called “artificial intelligence” (for a given value of “intelligence”), or AI. There are many social and legal ramifications of using AI to generate artwork (or pretty much anything else), since AI is trained on artwork and other content made by humans who are rarely, if ever, compensated for its use in training those AIs.
However, for making single-use game battlemaps, the right AI is perfect. Battlemaps are used once (usually); they are not sold or used for business or the profit of others. (Why sell what anyone can generate and customize themselves to work with their particular game?) This is a seemingly clean and (mostly) ethical use of generative AI, aside from the energy requirements. (“AI needs fusion…badly!”)
Here’s how you can use it to make your own battlemaps.
First, you have to choose the tool for the job: the AI that will do the work for you. As of this writing, only Google’s Gemini and Microsoft’s Copilot have been tested for this. Gemini passes off graphic file generation to Google’s Nano Banana to do the work. While the work is beautiful, it is also very limited: at best, you may get it to generate a 10 × 10 square grid and no larger. This is a trifle small to be a useful battlemap.
Copilot, conversely, comes with every installation of Windows 11 (whether it is wanted or not), so one might as well get some use out of it. It has no difficulty generating 25 × 25 battlemaps, the default size for newly created Roll20 maps, and the only glitch on the map is the ubiquitous “Made by AI” label in the upper right corner of each generated graphic file. (When prompted, Copilot admitted that its likely limit is a 50 × 50 map, which is probably bigger than should be used in a game. Your players will get lost on it.) Therefore, the rest of this article will cover using Copilot to make battlemaps for Roll20. This should work for other AIs and VTTs as well.
To get Copilot to give you what you want, you have to tell it what you want—in detail and in clear language. Think of it as wording a wish spell—ambiguities are an opportunity for the DM (or AI) to mess you up. (Who thought that English majors would become the ultimate computer programmers of this day and age?) It is strongly recommended that your prompt to Copilot (or whatever AI you end up using) be worded in this manner:
What does all that mean? Well, the first sentence tells the AI exactly what the map file specifications are: resolution, graphic file format, view, and whether or not the grid should be superimposed on the map. (For Roll20, this should always be “no grid”, as Roll20 handles the map grid, and positioning is easier if you don’t have a pre-printed one that doesn’t align with the Roll20 grid.)
The second sentence is supposed to force Copilot to render the file in JPG format…but it doesn’t; it always outputs to PNG even with this explicit directive. It might work with other AIs, so I would leave it in. PNG is a better format for detail as it is lossless, but it means the file size will be larger and you may have trouble getting it on Roll20, particularly if you are not a subscriber. You can open the file in a simple graphics viewer such as Irfanview and save it as a JPG file (File > Save As) with a more descriptive name, then upload that to Roll20.
The third sentence establishes the real world scale. The fourth sets the allowable map size in squares. 25 × 25 is the default Roll20 map size when one is newly created; a map larger than 50 × 50 would likely cause Roll20 to choke, would slow the VTT and everyone’s computers down, and players would more certainly get lost on it.
The fifth sentence establishes the lighting and artistic style. The sentence shown is a good default setting, but you can change these to suit different situations. For example, you could include any of the following details:
The sixth sentence—which might properly be the start of a new paragraph or even paragraphs if it is very detailed—describes what you want the map to depict. The more details you can replace the bracketed text with, the better the result is likely to be. Below are example scenes. Don’t copy parenthetical text if you copy and paste them. These are also hyperlinked to the sample maps generated so you can see the results of each. Naturally, each time you posted the same prompt, the results would be different in detail, even if they broadly rendered the same scene.
You can copy and paste one of these samples over the bracketed text in the text area above or write something completely different for a scene of your own, of course.
As noted above, Copilot will generate the map in PNG format no matter what format you tell it to use in the prompt, so after you save it, convert it to JPG to reduce the file size for Roll20. While you are doing that in Irfanview (or other graphics file viewer of your choice), you may want to take a quick look at the map. LLMs will make mistakes and Copilot is no exception. (See how many glitches you can find in the medieval inn sample from above. They are left there as an object lesson.)
If the map is too glitched to use, give Copilot follow-up prompts to fix things. You might want it to label stairways with arrows and labels indicating whether they are going up or down and in what direction. You may want to indicate altitude of various features, or add contours for wilderness maps in uneven terrain. Play with it.
Once you have a map you deem worth keeping, you’ll want to import it to Roll20.