A downloadable sandbox generator

Randomly generated sandbox for your old-school table-top roleplaying games, in a single HTML page.

  •  Generate your own hexcrawl sandbox in one click.
  • Realm map with regions and hex descriptions.
  • Villages, towns and cities with shops, taverns and NPCs (some facing challenges and could use help).
  • Factions operating to achieve their (often) questionable goals.
  • Dungeons! full with treasures, monsters, traps and secret doors.
  • Rumors, wilderness encounters and the occasional magic portal.
  • HEXROLL 2E is coming soon!
StatusIn development
CategoryPhysical game
Rated 4.9 out of 5 stars
(27 total ratings)
AuthorPen, Dice & Paper
TagsDungeon Crawler, Fantasy, Generator, Hex Based, OSR, Sandbox



Development log

View all posts


Log in with itch.io to leave a comment.

Hexroll backpack won't launch (W10 desktop)

Do you get an error message? any indication what is preventing it from launching?
Note that the first thing you will see when starting backpack is a file selection window.

Ah, it was just windows devilry. It opens fine now that I made W10 execute it anyway. For some reason no message appeared before I formatted the PC.

Realm names aren't editable?

The short answer is no :) the long answer is not yet and it will likely first be part of the model customization feature I'm planning to add.

I was thinking about the Biomes placement setting, packed vs unpacked, and how it builds sandboxes. Would it be possible to have that setting be per type? I like how the unpacked setting affects plains and forests but not necessarily mountains or deserts. So for instance group the mountains and deserts but mix up the plains and forests.

I'm currently working on a completely new mapping module for HEXROLL2 - so I'll make sure to pay attention to how the different biomes hexes are distributed. Don't you think Mountains can also benefit from an unpacked setup though?

Yeah, I was just giving an example of having some packed and some unpacked. Having a per type setting is what would be the best. That way people would be able to choose the setting they want for each type.

HEXROLL2? Very cool. Can't wait.

Ok, so this is amazing. I was just making some new sandboxes. I was using the same settings for all of them. Just generating a bunch of different ones and saving them to my computer. I've made permanent links for two of them to share here. This is the first one:


and this is the second one:


If you look at them you will see that they have different maps and regions but the content of both of them other than that is identical, down to the empire name, population, background, city, npc, and faction. How is that even possible? lol.

Oh no, the parallel universes collided! Balance must be restored.

LOL - I actually saw something similar when I stress tested the generator with more than one server. It happened to me when I generated two or more sandboxes concurrently, and so the random seed number was similar in multiple servers, causing the generated content to be identical.

What I did not see is a different map though, so this is more interesting.

I suppose I can add some fuzziness to the seed number to alleviate this. Do you happen to have the URL from the generator page? (the URL should have all the generation parameters).

(1 edit)

Yeah, sure. here ya go...


Basically I was just trying to get the highest population I could, lol. Those two were generated about 30 mins apart. And the value on the Plains probability might have been different between the two because looking back through my history I have several links with that number being different values from 4 to 10.

Thanks! I could not reproduce the similarity - but I'll keep investigating this with different parameters.

So given what is produced it seems like there are a lot of variables being generated when a sandbox is created. How is it possible to get this degree of an exact match between the two? I mean even in just the npcs alone there has got to be hundreds being created. How can they ALL be the same? The odds of that just seems to be incredibly unlikely. How is that even possible?? lol

When a random generator is using the same seed value, it will generate exactly the same content. But yes, that is an extremely unlikely scenario. Consider yourself extremely lucky :)

I have a question about the Backgrounds created. In the background there's always a ruler and their entourage listed but they aren't anywhere in the region. Where are they suppose to be? And if they aren't supposed to be anywhere then why list their details if no one is ever going to run into them?

I hadn't given it any thought before because I haven't been able to run one yet. But I was going through one I created and noticed this. There's also not a capitol listed. Which is where I was expecting the ruler to be. I had assumed that one of the cites was the capitol and the ruler was going to be in it but they all have their own rulers.

The way I run this with my group is as follows: I choose the biggest city in the realm to be the 'capitol' (usually one that has a castle or a temple district) and make it the regular place-of-residence for the ruler and their entourage. This is flexible though - and if the story demands, I will move characters to another city or even to a royal or an army camp in another hex.

But I get your point :) this can certainly be improved by making it clearer in the generated text and maybe throw in a few more royal guards around the chosen royal/holy/etc residence.

Is there any way you could just have it automatically replace whatever ruler it generated for the largest city with the realm ruler and then have it label that city as the capitol?

Yes, that could work. I take a deeper look into this.

New suggestion:

One key thing I want with a tool like this is to make life simpler (which this obviously does).  However, sometimes I need an in-between solution.

As such, it would be great to be able to load a hex-map in some form, (such as from hexographer/worldographer), or even from a simple editor you create.  And then proceed with the generation from there.

You gave en explanation below of how the system paints in layers, so I don't know how feasible it would be to inject a map into the process.

I was testing Hexroll with a model that generates a set of predefined regions with a predefined number of hexes per region. I know this is not exactly what you have in mind, but it's a good start :)

Well you know, the solution to one problem often leads to ideas on how to expand to other ideas!  I am working on a hex-crawl at the moment.  I'd love to be able to take a map like this and then have the rest of the work done for me :)

I get it :) I'm mentally merging this with the rest of the ideas on the standalone platform.

I'm currently piecing together a hexcrawl on that map you see.  I've been putting alot of feature lists (right now my feature list is up to around ~240 features, 100 of which are magical plants.)  to populate a hex with.  I'm doing alot of work in SQL to save myself alot of time when it comes to assigning stuff to a hex, but it's a pain.   After just assigning features, I now have to create: 

  • 10 Small dungeons
  • 10 medium dungeons
  • 9 "Main" dungeons (these are the big ones that get hand crafted)
  • 17 small caves
  • 18 Medium caves
  • 7 large caves

And of course, when it comes to populating these.....I haven't found any tools for Savage worlds, tons for other systems

I love the system.  Thoughts and requests:

Savage worlds.  :)  A partnership with Savaged.us (https://savaged.us/) would help with monster population. (Making hex-roll work with other systems is likely making the system more modular, and savage worlds would likely need that modularity to be useful)

But, for more fleshed out world-building, here are two ideas:

1.  "Connections" or "links", these would be 'Something' in one hex that references the key thing in another hex.  This might be a journal, wall warning, treasure map, NPC, etc.  It could also be something more substantial, like a key or password for a locked door in a different dungeon.  

2.  "Influence"  Have certain hex's have a trait called "Influence."  Such as "Influence, 2" along with a text description below of what effect  (RP or Mechanical) that Influence might have, then all hexes within the distance (2) of that hex, have a note saying that they are influenced by the other hex.  



Multiple plateaus separated by seemingly bottomless chasms are connected with fragile rope bridges. The strong wind swings the brides from side to side, making crossing them a terrifying experience.

There’s a recently built and watchtower staffed by kings guards across a seemingly bottomless chasm, where a rope bridge meets an overhang.

Influence, 1

As long as the tower is occupied, hexes within the radius have their encounter rate halved.  (Roll the d6 a second time, if it is odd, the encounter happens as normal, if it is even the party encounters a patrol of guards.)


The path here leads to a cliffside, more than a hundrad feet tall. Planks of wood attached against the rocky wall form the only way ahead.

The crumbling ruins of an ancient altar could be found near the base of a steep cliff.

Influenced by:

Hex 30: Watchtower

(1 edit)

Thanks! \o/

Sketching out how a 5E support will look like is still on my todo list so I can better understand how to support more systems in Hexroll.

I like both ideas. 'Connections' is something I already partially applied and could be extended. 'Influences' sounds pretty cool and I'll take a look at how to best model something like this. I add both to the Trello board.

Some thoughts on modularity:
Your system and 5e use "hit dice" as a psuedo difficulty marker.   A system like SW lacks that,  or has an entirely different stat (or calculation) to do that.
Bring systems in with a standardized stat block, and allow the "difficulty market" to be set based on system, or turned off entirely.

If a system lacks a modular monster build system, you can build in some light re-skinning.  For example, there tends to be ton's of generic NPCs such as shop keepers, guards, etc.  You can flag those as "generic" and apply new names as necessary. 

For monsters, the same could be true, but there might be some back-end list work.  Build a list of creaturs/monsters that could be represented as the same stat block in man games.  (for example, Big Cats: Lions, Tigers, Lepords, cheetas, etc.) Stretching farther, you might even be able to extend that same stat block to things like bears, and other large predators.)  If the creature doesn't exist, you can use a "generic" flag, and the add whatever name you need there.

For Hexroll as it is right now, I tried to follow B/X rules mostly to the letter, so things like random encounters, treasure types, etc are using the system specific tables. I don't know Savage Worlds at all but intuitively I would prefer staying true to the source material as much as possible. B/X for example has a set of random encounter tables per wilderness type. Is there anything similar in SW?

Savage worlds is....complicated.  As unlike D&D or B/X it is not as focused a system.   There's not a "PG, DMG, Beastiary" style set up that people then write world books for.

It is, at it's heart the core of a system.  From there setting books, that can span different genres (sci-fi, modern, fantasy, pulp, etc.) are published that can add monsters, special rules, random monster tables, etc.  

Tackling Savage Worlds would mean making Hexroll a framework based system, with modularity and swapability at it's core, as unlike D&D you can't take the basic rules, and slap a new coat of paint on the geography and call it a day.  That's not intended as a swipe at D&D, just the difference between the two systems.

The same is going to be true if you try something like GURPS, Hero System, FATE, Cortex, Genesys, etc.

It's also going to be useful if you expand over to something like Pathfinder, or Starfinder, or even other old school-style RPG games, as each is going to have their own take on those, and a system designed with modularity in mind will be easier to adapt to a new system with less work for each adaptation.

Okay, I think I get it :) So yes, Hexroll's current model is not built to be a system-agnostic framework. I does have the basic concepts set as base entities, for example, an NPC, or a Hex, or a Settlement - all could be adapted to almost any system or genre, but it is currently focused on one system. Moving forward, I will certainly refactor things to make it easier for me (or others, wink wink) to support other games.

I have questions and a suggestion,

First, what is the scale of the hexes? It's hard to determine how long it takes to get somewhere when I don't know how far across a hex is.


Some tips on what the settings mean would be helpful. For instance what does "Biomes placement" under Hex Map Generation Algorithm do? And what does the probability multiplier do? Maybe having a percentage might be more understandable? Depending on just what it is doing of course. I'm assuming it's a multiplier of a base percentage chance? Knowing what that chance is might be helpful.

Second, it would be nice if there was a re-roll button for a given section. That way if it generates a hex, an Inn, a dungeon or dungeon room etc. you don't like you could re-roll it.

Aside from that this is an amazing tool!

Thanks! Nightghaunt :)

On hexes size: I recommend choosing between 6miles to no larger than 12miles, according to the crawling rules you're using and the scale of the map you generate. I tend to go for 6 miles hexes when generating a large map (>80 hexes) or 12 miles when generating a smaller map.

Good point on providing more explanations for the generator parameters:

The Biomes placement experimental selector allows controlling how close similar biomes regions are packed together on the map. Packing regions together works better when you have relatively smaller hex count per region and smaller scaled maps.

The probability multiplier baseline chance is 1 in N options in each category.

About re-rolling - this is a tricky one and requires a brief overview on how Hexroll works internally - but the short version is that implementing this will require re-working the core of the generator.

One way of explaining how Hexroll works is by using a painting analogy. Just like a painter layers a group of brush strokes to create an effect or texture, Hexroll layers elements of the sandbox one on the other to link and tie things together. Let's take re-rolling a dungeon room as an example. Let's say the room in question has a missing NPC in it. If this room is to be re-rolled, we might lose this piece of information about it, and either have a missing piece in the sandbox, or we'll be forced to regenerate other parts of the dungeon - causing an even bigger chain reaction.

Now, I specifically chose the more difficult case, and there are certainly things that could be re-rolled without affecting much. I should spend more time thinking about this...

Wow, that's some really good explanations.! Thank you! That really helps.

So the hex size is basically what ever we want. Cool, I can work with that.

And a setting of "Mountains probability is × 3" would basically be 33% or x 4 would be 25%? Got it.

As for the re-rolling, that's really interesting. Really sounds like an ingenious way of doing it. I didn't think about how things are linked together. I can see how that would be a can of worms to mess with. lol. Though it would still be nice to have anywhere its possible. Also even though changing one thing could cause other things to change, some might not have a problem with that. It'd be worth it to me to have the option. Now if its a chain reaction that would break the tool... Yeah, don't do that. lol.  ;-)

Thanks again for the reply. Really appreciate it.

Ok, so I've tried to make some maps using what I thought you meant about probability, that is that 1 x 3 is 1 in 3 = 33%. But I must not understand it correctly because the numbers didn't seem work that way. The higher I make the number should make the chance lower. i.e. 1 x 10 would be 10% while 1 x 1 would be 100%. But the higher I make the number the more I see that item. So its not 1 in 3  (33%) it's 3 times as much, right? So if, lets say I make caverns, temples, and tombs probability all the same it won't matter what number I have because they will all be the same relative to each other. But if I put caverns at 10 and the rest at 1 there will be a 10 times greater chance of getting caverns than the others. And the same chance of getting either temples or tombs. Do I have that right? I must be dense because this is confusing to me.

Sorry - I messed up explaining this :)

Here's how it works; If you have a set of options:

X x 3

Y x 3

Z x 2

then Hexroll will roll a d8 (3+3+2) on a table containing 3 Xs, 3 Ys and 2 Zs. So X has a 3 in 8 chance of being selected and Z has a 2 in 8 chance of being selected.

Ah, ok. That makes more sense. Thanks.

Sorry to keep bugging you (I'm very inquisitive). lol. But I was thinking about the re-roll thing. And thought of another thing it would be nice to be able to do. Add more/specific shops to a city. I can see right away my group going into a village and asking about a blacksmith or something and it not having included one. I realize that also might not be possible but it sure would be nice. Sure I can just make one up but then I'd have to edit the MD file to add it and... yeah, that's not happening. lol. I downloaded Notepad++ and took a look at that file. And... dear god please no! lol

(3 edits)

Gladly - I also forgot mentioning that when you download the ZIP file, you get a markdown file you can edit - so you can change names of things, add content to rooms etc..

You can then use https://pendicepaper.com/hexroll/convertor/ to regenerate the HTML file.

(1 edit)

When I click, the page is split in two and neither is fully visible.

(1 edit)

There's an X button on the top-left corner of the 'Table of Contents' that should slide it away.

I see no button. Pic below.

(1 edit)

Hmm.. that's a bug. If you could let me know what browser and device you're using, I might be able to reproduce this and fix it as soon as possible.

This should be fixed now.

Thanks so much for this wonderful hex tool. Is there anyway to add an option to save a generated hex as a PDF file? Regardless great work and useful tool.

(2 edits) (+1)

Thank you! Exporting as PDF is in the backlog - but in the meantime, I'm currently making it behave nicer, albeit imperfect, with 'Print as PDF', if your browser supports it (through Ctrl+P). This should be live during the next few days.

Another feature I'm thinking of is exporting the raw markdown file as well as supporting online editing if we get a stronger hosting server.

(1 edit)

Exporting as Markdown file would be rad!!

Thank you for making this, very excited to try it out/use at the (virtual) table!

EDIT Spoke too soon and saw that the download zip includes Md now!

It looks like the download link points to this page...

(1 edit)

Do you have a popup-blocker message perhaps? If so, allow pop-ups to open and you will get the page in a separate tab. Just in case, I added a direct link to the page from the description text.

Very nice indeed, but how do you save the output?

Thanks! :) To save, press Ctrl+S in your browser window to save the full page with the included images. You should be then able to open it locally or offline.

Ah.  Unfortunately I’m using a tablet… Oh well.

Once we get a better hosting plan for the generator (and Thanks! to those who joined/will join our Patreon), I'll add permalinking (so sandboxes will be always available through a unique URL). I know that at-least Chrome on Android has a 'download' feature on tablets that allow seeing the page offline (although I think the ToC is missing at the moment). Another option is to download the page from a computer and either send it to your tablet or use a free web hosting service.

OK, thanks.

Hi FredH :) I posted an update about two new features: Download as Zip file and Store in URL that should make saving a sandbox super easy.

Great!  Thanks.