D12 Point-based Hexcrawl System
Hexcrawling is a way of handling travel and exploration in any type of roleplaying campaign. Some campaigns are "pure hexcrawls" where the majority of the time is spent exploring the map, but that's not a requirement.
Hexcrawling works especially well with sandbox campaigns.
Overview
This article is fairly long. Therefore, I've added this overview section to give you an idea of what you're getting yourself into before you commit to reading it in its entirety.
The D12 Point-based Hexcrawl System can be used with any TTRPG which includes overland travel, and it is based on action points. By default, the party gets 24 Hexcrawl Action Points (HAP) to spend on various actions per day. The number of points they get per day can be affected by the party's speed, if they have horses or not, etc.
Terrain and Hexcrawl Actions
The party can engage in multiple types of Hexcrawl Actions, such as Travel, Explore, Rest, etc. These actions all spend an amount of Hexcrawl Action Points depending on the type of terrain in the current hex.
Two dice rolls per Hexcrawl Action
Each time a Hexcrawl Action is used, two rolls are made:
- A Hexcrawl roll to see what happens (does the party find the site they're looking for or not, etc)
- An Encounter roll to see if there is also a random encounter or not. The result depends on the type of terrain and the time of day. Optionally, the D12 Tension System can be used to have a dynamic Tension value determine the chance of an encounter (which is especially useful for for solo play).
Assumptions
Time
This system is all about Hexcrawl Actions which mostly involve traveling around hexes in some form, but not everything the party does corresponds to Hexcrawl Actions. For example, exploring a dungeon is not an Hexcrawl Action.
Therefore, an assumption is made that each day's Hexcrawl Actions normally take up to 8 hours - half of the party's normal waking hours. That's about how long you can realistically travel by foot in a day.
This leaves the other half of the day for non-Hexcrawl Action activities, such as shopping, crafting, fighting, solving quests - you know, the actual gameplay.
Scale
The scale of each hex is considered to be 10 km or 6 miles, but the clever GM will realize that this can be changed by altering the amount of Hex Action Points (HAPs) the party is allotted each day (bigger hexes means less points, smaller hexes means more points).
No subhexes required
Movement within a hex is only tracked in the abstract, and no subhex maps are required.
Preparing the game
There are a few things you need to prepare before you can use this system.
Hexmap
Given that this is a system for traveling through a hexmap, you will need a hexmap. You can make one, find one, or use the 2d6 Hexmap Generation System to generate it on the fly (it's easier than you might think) or in advance.
- Time required: An hour.
- Shortcut: Find a ready-made hexmap online.
Random encounter tables
You will need to find or create encounter tables for each type of terrain.
- Time required: 1 - 2 hours.
- Shortcut: Use ready-made encounter tables either from the game you're playing, or through finding them online.
Prep Pool
Start building your Prep Pool - a small pool of prepared game content which you don't place on the map yet. Instead, when the Hexcrawl roll tells you the party randomly found a location somewhere, then grab something appropriate from your Prep Pool and place it there.
- Time required: 1 - 20 hours depending on your level of ambition, but zero hours if you're playing solo because then you can generate everything on the fly.
- Shortcut: Railroad your players a little bit in the first few sessions by only giving them a single quest to complete. That way you have to prep a little bit less, while you gradually expand your Prep Pool between sessions.
Running the game
At the start of each day
At the start of each in-game day, the GM decides how many Hexcrawl Action Points (HAPs) the party can spend that day without penalty, taking the weather and possibly also other factors (at the GM's discretion into account).
Weather
| Weather | HAPs |
|---|---|
| Clear | 24 |
| Light rain | 20 |
| Heavy rain | 18 |
| Snowing | 16 |
If you're interested, I have an article on generating weather called 2d6 Weather System.
Snow on the ground
If there is snow on the ground, then the available HAPs are reduced according to this table.
| Amount of snow | HAP reduction |
|---|---|
| Some snow on ground | -2 |
| Moderate snow on ground | -4 |
| Deep snow on ground | -8 |
Using mounts
Using mounts can add a multiplier to the available HAPs.
| Mount | Multiplier |
|---|---|
| Horses | x 2 |
| Flying mounts | x 4 |
Optional: Slow PCs
If the party includes someone who is slower than the average character, the GM can opt to reduce the available HAPs as they deem appropriate.
Resolving Hexcrawl Actions
Running the game, from the perspective of these rules, consists of the following steps:
- Asking the players what they want to do, and choosing which Hexcrawl
Action that corresponds to.
- See section Hexcrawl Actions.
- Make a Encounter roll and an Hexcrawl
roll at the same time to see what happens (they might find a
new location and there's an encounter there, or they
might just find some resources but no encounter, etc).
- See the sections D12 Random Encounter roll and D20 Hexcrawl roll.
- Updating your records to keep track of how many Hexcrawl Action Points (HAPs) they've spent that day.
- Resolve the result of the Encounter roll and
Hexcrawl roll - this is where the meat of the game is.
- See the section D20 Hexcrawl roll results.
Hexcrawl Actions
First, the GM needs to ask the players what they want to do. After that is done, move on to the Hexcrawl roll.
- Travel is the most general one. It moves the party from one hex to another.
- Explore (the current hex) has a high chance of finding non-specific Locations.
- Visit is used to move to a known location (one you know the way to) in the current hex.
- Locate is used to try find a specific location that you know of, but haven't visited before in the current hex.
- Forage (in the current hex) has a high chance of finding food.
- Rest has a low chance of anything happening, which is just what you want when you're making camp.
Let's go through them one at a time. The Hexcrawl Action Points (HAP) costs for each terrain is listed in the HAP costs per terrain type section below.
Travel
- Purpose: This Action is used to move from one hex to another.
- HAP cost: HAP cost of the destination hex (the terrain of the hex they're traveling from is ignored). If the entire move is done along a road, then use the Road HAP cost for the terrain in question.
Explore
- Purpose: Trying to find locations while attempting to stay clear of encounters.
- HAP cost: Terrain HAP cost.
Visit
- Purpose: This Action is used when you move between two known locations within the same hex.
- HAP cost: Half of terrain HAP cost.
Locate
- Purpose: Try to find a specific location.
- HAP cost: Terrain HAP cost.
- Procedure:
- First, make the Hexcrawl roll as normal. If you do not get a result of "Location", then the party has failed to even come close to locating their destination.
- But if the result of the Hexcrawl roll is "Location", then they are
searching in the right area. Have them make a skill check with a DC set
appropriately to the game being played and the difficulty of finding the
location given the quality of the directions the party have been given
(if any).
- On a success, the location is found.
- On a failure, the location is not found.
Forage
- Purpose: Trying to find resources.
- HAP cost: Terrain HAP cost.
Rest
- Purpose: Rest or wait in an area for up to 8 hours. If they want to stay longer than, they will have to (implicitly) take the Rest action again for each additional 8 (or less) hour period.
- HAP cost: None.
Something else
Sometimes, the players choose to do something that doesn't exactly map to anyone of these Hexcrawl Actions. In such cases, make a judgment call if you need to deduct some of their daily HAPs or not depending on how long it takes.
Translating what the players say into Hexcrawl Actions
As the players move around in your world, they are implicitly using Hexcrawl Actions. The players don't have to know about these actions - instead, you as a GM just translate whatever they say they want to do into an appropriate Hexcrawl Action. Here's a brief overview of what how you can translate what your players say into the most appropriate Hexcrawl Action:
- "We travel north." -> Travel
- "We head back to the camp." -> Visit
- "We try to find that dungeon we heard about." -> Locate
- "We make camp for the night." -> Rest
- "We look around in the area, to see what we can find." This can be either Explore or Forage, so ask them to specify what their main priority is - exploration, or finding resources.
HAP costs per terrain type
The HAP costs differ depending on the terrain. Traveling across grasslands is faster than climbing a mountain, but roads make things easier everywhere.
| Hex terrain | HAP cost | HAP cost with road |
|---|---|---|
| Grasslands | 6 | 4 |
| Desert | 8 | 6 |
| Light forest | 8 | 6 |
| Dense forest | 10 | 6 |
| Hill | 8 | 8 |
| Swamp | 10 | 8 |
| Mountain | 16 | 12 |
Traveling faster or slower than normal
If the game you're playing specifies that you can travel faster or slower than normal speed (such as when running, or trying to avoid detection), then alter the HAP cost for that action accordingly. Faster movement means a lesser HAP cost, and vice versa.
What happens if the party spends more HAP than they have?
- Each time in the same day that they exceed their allotted points,
give them a penalty appropriate for the game you're playing, possibly
with some sort of check for avoiding it.
- In the case of Dungeons & Dragons 5E or later, this would be one level of exhaustion if they fail a DC 15 Constitution check.
- Note that this means that they can get multiple penalties per day.
D12 Random Encounter roll
A D12 must also be rolled on the following table, to see if there is an encounter. Note that the Rest Hexcrawl Action is special and has its own column with a lower chance for encounters since the party remains in one place.
| Hex terrain | Day chance | Night chance | Rest chance |
|---|---|---|---|
| Grasslands | 1-3 | 1-4 | 1 |
| Desert | 1-2 | 1-4 | 1 |
| Forest | 1-5 | 1-8 | 1-2 |
| Swamp | 1-3 | 1-3 | 1-2 |
| Hill | 1-2 | 1-3 | 1 |
| Mountain | 1-2 | 1-2 | 1 |
After the D20 Hexcrawl roll has been handled as described below, the encounter can be resolved.
D20 Hexcrawl roll
Once the GM has determined which Hexcrawl Action the party makes, a D20 roll is made on the following table to see what happens.
| Event | Nothing | Location | Resource | Special |
|---|---|---|---|---|
| Travel | 1-14 | 15-17 | 18-19 | 20 |
| Explore | 1-17 | 18-19 | 20 | |
| Visit | 1-16 | 17 | 18-19 | 20 |
| Locate | 1-2 | 3-17 | 18-19 | 20 |
| Forage | 1-4 | 5 | 6-19 | 20 |
| Rest | 1-19 | 20 |
D20 Hexcrawl roll results
Now it's time to combine the results of the Encounter roll with the Hexcrawl roll. Here the GM will have to apply some thought. For example, if there is an encounter and the party has found a location, the GM decides if the encounter happens at the location, or on the way there, and so on.
Location
If there are locations in this hex that the party hasn't discovered previously, then randomly determine which one of them they've discovered now. Consider assigning higher probabilities to more prominent locations (for example, a village) than to a more innocuous one (such as a cave opening hidden behind some bushes).
If there are no more locations to discover here, then tell the players that they now feel confident that they've discovered everything they could plausibly find in this hex by random chance, and that there is therefore little point in using the Explore action anymore (which is specifically for finding previously undiscovered locations). Of course, there can still be hidden locations left in the hex, which need more specific directions to reveal.
Oh, and if you're having trouble coming up with locations for your fantasy game, might I perhaps suggest my Location Generator?
Resource
The party has come across a chance to find some sort of resource appropriate for the game being played. Most games have some sort of skill roll related to this which can be rolled here, to check if they actually found the resource or not.
Special
Something special has happened. Roll a D4 on the table below.
| D4 | Event |
|---|---|
| 1 | Random party member loses 1d4 rations |
| 2 | Party meets a traveling trader |
| 3 | Party finds a wilderness plot hook |
| 4 | Party meets another adventuring party |
Each of the results on the above table have explanations below.
Losing rations
- Randomly determine which party member has lost rations.
- Roll 1d4 to determine how many they lost. If the die says they lost more than they have, then they simply lost all they had.
- Give them an explanation of what happened. Perhaps they dropped the rations into a stream which carried them away, or perhaps they discovered that the rations were moldy, maggot-infested or otherwise inedible.
Traveling trader
The party meets a traveling trader. The trader is willing to buy anything they can conceivably carry, but at half of the normal price. The GM decides what the trader sells, but the amount and rarity of the items available for purchase is likely to be severely limited.
Wilderness plot hook
Here the GM will have to use their imagination. The party has come across something which could be the start of a plot line in the game. If you need inspiration, roll 3d6 (one for each column).
| 1d6 | Goal | Focus | Obstacle |
|---|---|---|---|
| 1 | Find | NPC | Lack of resources |
| 2 | Destroy | Artefact | Lack of information |
| 3 | Stop | Dungeon | Opposing party |
| 4 | Hide | Mysterious beast | Limited time |
| 5 | Escape | Lair | Distance |
| 6 | Explore | Ruins | Mysterious circumstances |
Let's have a look at an example, and roll for each of the columns:
- Goal: 3, Stop. Okay, we need to stop something.
- Focus: 3 again, Dungeon. Okay, we need to stop a dungeon, somehow.
- Obstacle: 5, that's Distance. I guess the dungeon is far away then.
Now, we apply some imagination to these results, and try to make a plot out of them. How about there's someone building a dungeon far away, and in that dungeon they intend to perform some sort of dark ritual to summon some dark lord or some such? We can work with that. That's the basis of the plot, or quest if you will. Now, the party can either come across someone who tells them about this problem, or they can find a dead messenger who carries a letter about it, or something similar.
As you can see, it probably takes at least a few minutes to come up with this, so it might be best to pre-generate a few of these and put in a pool for when they're needed - that way you don't have to come up with them on the fly at the game table.
Designer's notes
The first rule of running a hexcrawl is "Don't tell your players you're running a hexcrawl". This system can be run without the players knowing that they're in a hexcrawl; to them, they're just playing whatever game you're already playing (probably some variant of Dungeons & Dragons, or similar). You can run the hexcrawl rules behind the scenes, to provide interesting travel and exploration mechanics without the players knowing how it works. There is no need to show them the map you're using. They can make their own map, or you can have a player version of the map that they can see if you so choose.
What follows is some advice on how to run Hexcrawls.
These rules do not cover everything
In a lot of situations you'll have to figure things out on your own, since these rules don't cover every possible corner case. Sometimes the players will want to do something that isn't included in this ruleset. Improvise, and do what makes sense.
This system doesn't assume subhexes
A lot of hexcrawl systems divide hexes into subhexes. You can do that if you want, but it's not needed for this system to work. Instead, the party's exact position within a hex is often abstracted.
- If the players travel to a new hex, and they find a location there, then they are at that location.
- Otherwise, they are at an "abstract location" in that hex - they are simply considered to be somewhere in that hex, exactly where isn't important.
- Consequently, you don't have to worry about how the party's exact location within a hex affects travel times; each Hexcrawl Action has a predefined number of HAPs it takes, which relates to the HAP cost of that terrain type as specified by the HAP costs per terrain type table.
On designing random encounters
Random encounters shouldn't be too random. They should make sense, and add value to the setting. Cleverly designed random encounters will provide clues on what locations can be found nearby (monster lairs, for example), and can also motivate players to explore further.
Not all random encounters have to be combat-oriented
Not every living thing that the party comes across has to be looking to kill the party. It makes sense that the party can also come across peaceful herbivores, who are likely to run (rather than fight) if they spot the party first. This also makes sense with the Hunt action - if the party wants to hunt for food, it seems reasonable that they can come across elks and rabbits, not just orcs and bandits.
Use Doing/Complication tables to make random encounters interesting
Consider using something like the following table when there is a random encounter. Roll 2d10, one for Doing and one for Complication. This way you can have random encounters which are more interesting than "You come across 6 bandits. They attack!"
| D10 | Doing | Complication |
|---|---|---|
| 1 | Fleeing | Equipment |
| 2 | Hiding | Injury |
| 3 | Resting | Infighting |
| 4 | Eating | Stuck |
| 5 | Building | Starving |
| 6 | Moving | Being hunted |
| 7 | Scavenging | (No complication) |
| 8 | Pursuing | (No complication) |
| 9 | Ambushing | (No complication) |
| 10 | Fighting | (No complication) |
Using this table, you can easily come up with interesting results. Let's have a look at some examples.
The roll on the random encounter table gave us 2d4 Giant wolf spiders. Okay, what are they doing? Let's roll on the above table to find out:
- Doing: 7. That's "scavenging".
- Complication: 2. "Injury".
Okay, so the party comes across a group of Giant wolf spiders who are scavenging (they've found the remains of a deer killed by wolves, and they're now eating the leftovers), but for some reason they've been injured so take off a few hit points on some of them.
Let's have another example: Our random encounter table tells us that we've come across 6 Goblins. Let's roll for Doing/Complication:
- Doing: 6, "Moving". Okay, so they're walking from A to B.
- Complication: 4, "Stuck". Hmm, that's interesting.
Ah! Two of them are stuck in mud! I think the other goblins are teasing them, rather than helping. What a bunch of bastards (read with Scottish accent for best effect).
So, how will goblins in such a situation react when the party comes across them? Funny you should ask; keep reading…
Use reaction rolls
Use reaction rolls when a random encounter is triggered. Not everyone is out to kill the party. This means that you can have deer and rabbits on your random encounter without things getting silly, because they will most likely flee right away unless the party gets the drop on them and they want to hunt for food. Not all orcs are trying to kill people either. Perhaps they're wounded, returning from a failed raid and would rather flee or negotiate with the party than fight?
If you don't have a Reaction table you want to use, you can use the one in my Reaction rolls article.
Keep in mind that a hostile result doesn't always mean that the monsters attack - all it means is that they are hostile. A lone goblin is unlikely to attack, even if hostile. It is more likely that he will run away, or simply be extremely rude.
Connect random encounters to sites
Either have a specific random encounter table for each hex terrain type (if you have lots of hexes), or a specific random encounter table for each individual hex (if you don't have that many). You can also use a mix - have general tables for each terrain type, but certain specific hexes can have custom tables.
If there are wolves in the random encounter table, then the wolves' den should be a location in the same hex or an adjacent one. If the players find and clear out the den, consider striking the wolf encounter off the encounter table for that hex. This gives the players an opportunity to permanently get rid of the wolves if they get tired of having them chewing on their legs every damn time they walk through that blasted hex. And when they've cleared out the bandit camp, there are no more bandit ambushes in this (and perhaps adjacent) hexes.
On designing locations
It's important to have interesting locations. Without them, your world will feel like a big arena for random encounters and nothing else to really do.
Connect sites to each other
Coming across references to a another location when you're investigating a site tends to trigger players' willingness to explore further.
- Put a treasure map in an abandoned hut, that leads to a previously unknown location.
- Let the players come across the corpse of an explorer which has a short list of locations to visit, along with directions to each of them.
- Rumors in one place can lead players to another location.
About Prep Pool article
A sandbox can be a big place, and it's hard to come up with locations for every hex the players might conceivably visit. You don't have to do that. Instead, you can come up with around five minor locations that you don't initially place in the world, and put them in your "location pool". Then, when the players are exploring a hex which you haven't put anything in yet, just grab something appropriate from your location pool, let the players find it, and make a note of the fact that this location is now in that hex.
Between sessions, you create new minor locations and put them in your pool for use in future sessions. These small locations can be thought of as filler, for when the party wanders off in an unexpected (read: unprepped) direction. They should have some content in them to give the players something to do, but they don't have to have any connection to any other locations or overarching plots. This also means that this is not the only type of location you should have - you probably also want locations that are designed for specific hexes. Those types of locations are easier to connect together, since their place in the world is pre-planned.
For more information about this, read the article titled The Prep Pool - How to be Ready for Anything.
Suitable adventures for hexcrawls
In general, my advice is to not run a campaign simply as a hexcrawl. By that I mean, "hexcrawl" should not be all that your campaign is. Instead, run a normal campaign (whatever that means to you), where travel and exploration is handled with these rules.
But if you want to run a campaign which heavily features a hexcrawl, here are some ideas.
Lord of the Rings would have been an awesome hexcrawl
All that travel? Getting all the way from the Shire to Mount Doom, while making interesting choices about the route along the way? Yes, that would indeed have been an excellent candidate for a hexcrawl. The choice of either taking the dangerous shortcut through the dungeon of Moria or take the long way around, losing valuable time, is precisely the kind of choice that goes well in hexcrawls.
Following in someone's footsteps
Let's say the party has to catch up to someone who is travelling across the lands, who has about a week's head start. That person could have left clues behind about where they're going next that the party can find, or they can come across people which that person has met, who can send them in the right direction. Perhaps there is time pressure? This person might be a fugitive that the party must catch.
Or perhaps an explorer has returned, babbling incoherently about unknown dangers before dying. The party finds the explorer's travel journal, and they must retrace their steps in an effort to unravel the mystery of what drove the traveler mad.
In general, hexcrawls are great for sandboxes
Sandbox campaigns, where you simply drop the players in some location and say, "You are here. What do you want to do?" is a type of campaign that is less popular these days that the typical modern narrative-driven campaign. One of the problems with hexcrawls is that players can indeed go anywhere, whether there is pre-planned content there or not. But following the advice above, you can still run a meaningful sandbox campaign without pre-planning content for every single hex on the map in advance.
Other hexcrawl resources
There are lots of resources on the net for learning more about hexcrawls.
Hexed Press
Hexed Press has a great YouTube channel at https://youtube.com/@HexedPress with tons of hexcrawl-related content as well as forums at https://forums.hexed.press where you can ask for advice.
The Alexandrian
Justin Alexander's website https://thealexandrian.net is another great resource with lots of articles related to hexcrawls and roleplaying games in general.
Donations & transparency
My content is provided free of charge, and you can use it, for free, with a clear conscience. However, donations on Ko-fi to offset the running costs are gratefully accepted since the site is running at a loss. There are no ads, no popups, no tracking, and thus this site makes no money other than donations.
There is absolutely no pressure to donate. I've chosen to make this site fully expecting to run it at a loss as a hobby project; what makes me the most happy is knowing that my content is available online. If you want to support it without donating, sharing it with your friends to help it reach new readers is also greatly appreciated.
For full transparency, a breakdown of all the costs associated with running this site and its companion site www.ttrpg-hangout.social is available on the About page.