DIY RPG Virtual Tabletop




Introduction: DIY RPG Virtual Tabletop

About: I am a self-taught woodworker and DIY maker in Sydney, Australia. I've been documenting my learning and project on YouTube since 2018. Come join me as I muck around in my tiny workshop and share what I learn a…

Sometimes due to geography, work schedules or just life getting in the way, gathering around a table for a session of D&D or your favourite tabletop RPG with a group of friends becomes tricky or impossible.

Virtual tabletops not only allow you to keep playing without physically having to be in the same spot, but also open up a world of options for creative storytelling and visual effects not possible on a traditional sketch map. (As well as saving a small fortune on terrain and minis).

There are several good commercial options like Roll20 and Fantasy Grounds available, but it is also possible as a DM or GM to DIY it, for free if you wish.

This Instructable will go through how I prepare my battle maps and creature tokens digitally for my adventurers each week. We play Dungeons & Dragons 5th edition and my examples will focus on that product, but you could adapt this to many RPG systems.

Hint: There are usually examples and often hints highlighted in the images.


All you need is a computer, access to the internet and a bit of time. While I use some paid software and graphics resources, you can do everything for free if you like.

Step 1: Choose & Get to Know Your Software

Many years ago I bought Adobe Photoshop CS6, the last version available before they went to a subscription model, and it still works perfectly for this. However, you can use any graphics editing software that allows you to use groups and layers. Sorry, MS Paint won't cut it!

Note: It will very helpful if you are already familiar with using your chosen graphics software. This tutorial will assume you already know your way around basic image editing and not explain those steps in detail.

There are many software options available both paid and free. Though I've not used it, GIMP - GNU Image Manipulation Program, is an open-source graphics programme that is free to use and I am very confident will work perfectly once you've learnt how to drive it. So check it out if you don't already have a favourite.

At the end of this Instructable, I'll include a step on HOW to run the Virtual Table Top we will create as a DM/GM. It's very easy (and again free) once we are all set up including online screen sharing and a great free online dice roller.

Step 2: Start Your Battle Map Collection

I am no artist and I rely on the talents of others to acquire my battle maps. I started by simply searching for "Free RPG Battle Maps" on Google and you will find hundreds of free downloadable maps of various qualities. I got a collection of Forest, Swamp, Hill, Town, Road, Tundra and River themed maps to start with that have served me well. Simply save them in organised folders by terrain type and you can get started.

However, if you struggle to find the perfect map for an encounter you have in mind, you may want to try these options (no affiliation, just resources I have used).

1)Scan the Maps from your D&D Adventure Books - If you are playing a published module you've bought the hard copy book, scan the map old school style and save it as a JPG that you can import into your editing software.

2) Digital Source Books - If you've bought a digital sourcebook you can simply copy the maps you need for use when your adventurers reach that part of the story. DnD Beyondis the official site for obtaining online copies of Dungeons & Dragons books. It also has many other awesome tools too, a lot of which are free such as character builders.

3) The Dungeon Masters Guild - Stocking both free and paid content you can find a huge variety of maps (adventures and other resources) at

4) DriveThru RPG - I bought a masive map bundle from this online store and it was pretty good value on sale. Lots of variety and you get various levels of resolution to play with.

Step 3: Create a Blank Map Base & Overlay Grid

Now we have a collection of encounter maps, we can start preparing our Virtual Tabletop.

1) Open your graphics programme and import as many of your base maps as you like, each as an individual layer. Organise them into folders based on terrain or other logical criteria. They may all be different sizes. that's fine, we'll scale them later.

2) Choose your largest map, and create a blank base layer the same size. Hide all your imported Battle Maps so you now should have a clean slate to work on.

3) Unhide a typical map that has some objects of recognisable size on them. Things like doorways, barrels, beds, carts etc are perfect. Most maps will already have a square grid on them, usually in D&D representing 5 or 10 feet. As a typical character occupies a 5 foot square, we'll base our grid on that.

4) Use an appropriate tool(s) to create your own accurate 5-foot square grid large enough to cover your entire blank base map.

5) Save the document - Do this a lot whenever you complete a step!

Once you hide the typical map you should now have a blank space with an accurate grid. This will be used when you choose a battle map that doesn't have its own grid marks, or when those grids are too big and you want to overlay a 5-foot one for easier play.

Step 4: Create Player Character, NPC & Monster Tokens

Now we have a supply of maps and a grid to measure from, we need the most important pieces, your Player Characters, Monsters and NPCs (Non-Player Characters) to populate the maps with.

At the very least they need an icon/token each, but we can also go a few steps further to not only make your life easier as the one who will move them around but also impress your party with some online game-like features. In later steps, we will also create resource folders for movement, weapons, and spells. For now, let's cover the basics.

There are thousands of free-to-use tokens searchable online, or players could submit their own art if they are that keen! I go for a standard circular style token with one colour border for PCs, one for NPCs and one for Monsters. You could of course also import images from purchased resources and online sourcebooks just like the maps.

Import & Scale Your Tokens - Create a folder/group for each creature you are creating and scale their token image to the appropriate size using your grid. Eg 5ft (1 square) for a Small or Medium-sized adventurer, 10ft (4 squares) for a Large creature like a Horse or Ogre, 15ft (9 squares) for a Huge creature like a Giant or Adult Dragon etc.

Tip: Don't go overboard adding creatures at the start, add tokens as you need them or the story dictates each session.

Step 5: Add Creature Movement

Tokens on a scaled Map are great for you and your players to know exactly where everyone is, what terrain is available and potentially what they can interact with. But we can also use them to take the guesswork out of creature movement.

Create a Folder/Group called Movement. Using your scaled grid draw a series of rings representing 5 feet (1 square) increments of movement. For example, the common 30ft movement ring for a medium-sized creature will be 13 squares in diameter. The middle square occupied by the creature, and 6 squares in every direction. This is very useful to overcome difficulties in calculating 'diagonal' steps on a square grid. I even notch out the partial squares to avoid arguments. (See images).

Tip: Set the opacity of these rings to about 30%. That way when on, you can still see the map below to account for difficult terrain, objects etc.

Once you have created your resource folder of common movements, copy and paste the appropriate movement ring into each of the creature folders and centre-align them with the tokens. You can now toggle this rings visibility on and off to see exactly how far the creature can move around the battle map each turn. By having each creature have its own group/folder, the rings will move with them around the battlefield.

If a creature has multiple ways to move, for instance, it also has a Flying or Swimming Speed, copy another appropriate movement ring into their folder and name it accordingly.

Tip: Creatures that occupy multiple squares will need larger rings than 1-square sized creatures to accurately represent their movements. Eg: 30-foot movement on a "Huge" (3x3 square) creature will be 15 squares diametre, not 13 squares)

Step 6: Add Ranged Weaponry

Moving is one thing, being in range to hit a creature with a ranged attack is another. We can skip melee type weapons as their range, even with a "reach" ability is usually obvious. Bows, javelins, slings etc require more certainty.

Create a Folder/Group called Weaponry. Using your scaled grid draw a series of rings representing common increments of range in a different colour to the movement rings for easy identification. For example, a weapon with a 120ft range ring for a medium-sized creature will be 49 squares in diameter. The middle square occupied by the creature, and 24 squares in every direction. This is very useful to combat difficulties in calculating whether or not your character (or monster) can hit with a certain weapon on a square grid.

Tip: Set the opacity of these rings to about 30%. That way when on, you can still see the map below to account for cover, other characters etc. No need to create EVERY possible range to begin with, just the common ones, you can add more later as needed.

Once you have created your range rings, create sub-folders for each weapon you need. Again, no need to create all of them, do them as they enter your game. Copy and paste the appropriate range ring into each of the weapon sub-folders. In 5e D&D, ranged weapons usually have a short and long-range, so copy a ring for both (I then merge the rings for ease of use).

Now, whenever you create a creature that uses that weapon(s), or your Adventurers acquire a new ranged weapon you can just copy the Weapon Sub-folder from this resource list into the creatures folder, effectively arming them with that weapon. Make sure the weapons are centre-aligned to the creatures token.

You can now toggle these rings visibility on and off to see exactly how far the creature can fire that projectile across the battle map each turn. By having each creature have its own weapons in its group/folder, the rings will move with them around the battlefield.

Reminder: Just like movement, larger creatures that occupy multiple squares will need larger rings than 1-square sized creatures to accurately represent their weapon ranges.

Step 7: Add Ranged Spells & Abilities

This is my favourite part of this process as you can get super creative with spell effects and graphics. You can of course just repeat what we did for ranged weapons, using a different coloured ring for spells and abilities... but here are some suggestions to Wow! your players with and make magic the awesome addition it should be.

Create a Folder/Group called Magic & Abilities, then create a sub-folder for each spell/ability you may need to add to creatures and characters. Create or copy your required range circles into the main folder just like before and change their colour to be different from movement and weapons ranges. Just like the weapons, copy the correct range into each spell/ability sub-folder as you need them, no need to create every spell in the game.

Some abilities like "Darkvision" just have the simple range like a weapon. However, many spells and abilities also have an Area of Effect (AoE) such as a Cone, Sphere, Line etc. As needed, use appropriate tools to create each of these templates (as defined in the game rules) in your source folder, and make copies of the correct AoE into each spell/ability sub-folder. So now your "Fireball" spell can display its Range of 150 feet AND its AoE being a 20-foot-radius sphere to see who gets caught in the blast.

Before you copy each spell/ability into the character and monster folders, consider jazzing them up. A single colour cone from a dragon breath weapon may be accurate, but where is the magic?! I like the search the web for textures and images appropriate to the spell effect and shape them into the correct AoE template. A Young Green Dragon with a life-like Acid Cloud streaming from its mouth looks a lot cooler than a plain polygon cone. I have a LOT of fun creating these more interesting versions of the spell mechanics, see the images for examples and let your imagination run free.

Step 8: The Fog of War

Usually, I prefer my adventurers to only see on the map what their characters can see. In a single simple battle encounter, I won't bother with a Fog of War (FoW - covering up part of the map). On an overland map or in a dungeon crawl, it is essential to keep up the sense of exploration and mystery.

This is an incredibly easy thing to replicate online that is very hard to do around a traditional table. Before the battle starts simply create a top layer of solid black or grey and use the eraser tool (I like with soft edges) to remove the FoW that the characters can see. This keeps closed doors closed until they are opened as the players won't get any hints as to what is behind or what is around the next corner.

I sometimes use an actual 'fog' or other appropriate texture to make things more interesting. This ties in nicely if you've added abilities like "Darkvision" to your creatures, or like in my picture examples above, you create templates for light sources like torches.

Hint: Keep a copy of the uncovered map open in the sourcebook or in another window in front of you so you know what is ahead!

Step 9: Extra Options: Dynamic Weather, Light, Traps & Objects

You can stop here and play! With maps, tokens, movement, weapons and spells under a fog of war, your game will run fine. If you want to go a little further, here are some other things I've added to my game.

Dynamic Weather Layer: Each adventure day I generate the weather using this free online fantasy weather generator. You can of course just explain to your players it is raining... or, you can add a near-transparent layer of misty rain texture over the top of the battlefield. Create a new source folder/group called Weather. Currently, I have wind, overcast, rain, storm, and fog textures that partially obscure the map and characters.

Time of Day & Darkness Layer: I track in-game time so I know what natural light should be available. Players are also often in locations with little or no natural light. Like the weather, I have a few texture overlays I can add to mark the passage of time. Currently, I use sunrise/set (orange tint), twilight/low light (light navy blue tint), and night/near dark underground (dark navy blue tint) settings (The FoW black for total darkness).

Tip: If the players are standing around arguing for too long, I subtly progress the timeline by shifting the tint colour to give them a wriggle-on! :P

Traps & Objects: I use what is already on the maps as inspiration. However, sometimes there is a story element missing or like spell effects, you want to show the spikey pit trap the rouge just discovered by nearly falling into it. I create a Folder for these commonly used object and traps and collect tokens from the web and store them there. Chests are a great one, and traps you can scatter around your dungeon maps and toggle them to "visible" only once way or another! ;)

Get creative! For important story moments, cool puzzles, or pivotable situations, I'll add all sorts of graphic layers over the top of the existing maps. Recently I used the RGB filter to slowly leech the colour out of the scene as the party approached a portal to the Shadowfell. When a player hides I make them 50% transparent to represent their status. After a chapter ending battle, the party resumed the game the following week on the same map but now covered in blood smears, explosion debris and environmental damage from the epic battle the previous session. Use your imagination to bring your virtual tabletop to life.

Step 10: Pre-Game: Setting Up DIY Virtual Table Top

With all the maps, characters, monsters, weapons, magic and traps in place, it is time to run your first session.

It will take some getting used to so start simple, maybe run a few small maps with basic encounters before moving your existing campaigns next pivotal battle into this new game play environment. The initial setup, scaling all the maps, creating the tokens, spells etc is time-consuming, but once in place, you should be able to create a random wilderness encounter in a few minutes (or spend time pre-planning a more technical dungeon before the game session).

Windows You Will Need Open:

1) Your Virtual TableTop on your chosen graphics program - Battle Map loaded with the players, monsters, traps, treasure chests etc in their starting positions and toggled visibility 'off' as need be. Fog of War in place, light & weather effects overlayed if you are using them.

2) Shared Online Free Dice Roller - We couldn't find a simple roller we liked so my mate coded one - Throw Dice. I'm biased, but it's pretty cool and very easy to use. (Hopefully, there will be animations coming in the future!). It will let each player roll their own virtual dice and everyone see it.

3) Video Meeting Site - We use Google Meet. It is fast and free. You can use any meeting software you like as long as it gives you the option of sharing or presenting the DM/GMs screen.

4) Other Online Tools - The Weather Generator, DnD Beyond for quick references and a shared Google Sheet that the party use to track their gold, story clues, loot etc are all optional but useful things for you to consider.

Hard Copies - As good as online play is, I still have my campaign book, note pad, Dungeon Masters Guide and Players Handbook by my side, and Monster Manual ready with 'complex' creatures bookmarked. Sometimes the real thing is easier to use than flicking between many windows!

Step 11: ​Running a Virtual Tabletop Session

As DM/GM, the earnest will be on you to do the heavy lifting. I have a massive excel spreadsheet I use to track encounters, time, quests, weather/terrain effects, NPCs etc but that part of the game you can run as you see fit. When it comes to the Virtual tabletop, you not only have to set up each encounter, you need to physically move ALL the tokens as players won't have this option.

Get your players to give clear, simple directions. Eg: "I move 30 feet South" or "I sneak up behind the closest tree to my North" or "I cast my Fireball centred on the nearest Orc" etc. I will usually show my players their movement/weapon/spell ranges if they ask to check range... but you could be mean and make them commit to the action before showing them if they can actually reach their target!

Once the encounter starts, your job is to control the monsters and NPCs, delete or hide them as they die, spring traps, uncover the FoW with the erase tool as they explore, change the overlays as needed, spread a fire effect across the roofs of thatch buildings... whatever you can do on the fly to immerse your players in the world. You'll probably have plenty of time as they decide their next moves... probably :P

With practice, I can now set up a random wilderness encounter in a few minutes. I have over 120 monsters, 40 spells and 20 ranged weapons preloaded in the Battle Map file to draw on. Even when my players surprise me by summoning a new creature or using a spell I've not seen before, I can usually knock up a token or AoE template in a few seconds to get us through the encounter before making it "pretty" in downtime later on.

We started in the theatre of the mind and it was fun. My mate tried Roll20 but it had a steep learning curve. Since going DIY Virtual Tabletop, our game nights have been going great guns, and I really enjoy setting up the maps and encounters.

Any questions do leave a comment. I am usually a woodworker, so this is my first 'off-topic' Instructable. I hope it is helpful!

Cheers, DM Fixit Fingers

Role Playing Game Challenge

First Prize in the
Role Playing Game Challenge

Be the First to Share


    • Microcontroller Contest

      Microcontroller Contest
    • Sculpt & Carve Challenge

      Sculpt & Carve Challenge
    • Teach With Tinkercad Contest

      Teach With Tinkercad Contest


    Fixit Fingers
    Fixit Fingers

    10 months ago

    So I've started a thing. I've had a lot of requests to show this platform off more for Team Building activities and introductions etc. In it's baby phase, but come follow Zalgariath Gaming if you are interested in playing or learning D&D - :D


    1 year ago

    Excellent tutorial! I've been doing something similar for about 9 months now. I use Inkscape instead of Photoshop. The only downside is that I can't dynamically erase the fog of war. I use blocks of black that I can hide or delete as the characters enter an area. Just a suggestion for another free alternative.

    Fixit Fingers
    Fixit Fingers

    Reply 1 year ago

    Nice Justin Cheers, great to have additional free software options. I dislike the subscription model a lot of software has gone to so very happy I got PS as a one-off payment before they changed. Here is the Inscape Link for those interested

    Fixit Fingers
    Fixit Fingers

    Tip 1 year ago on Step 1

    @Sunnybrook1 has also suggested Paint .NET as another free alternative that is easier to learn than GIMP... I've not tried it but could be worth checking out. :D


    1 year ago on Step 1

    Great tutorial! While MS Paint doesn’t have layers, another free program Paint. NET does, so for folks who find GIMP to be daunting to start out on may find it as a useful stepping stone~

    And I’ll have to try out that free dice roller, my group has been using a Discord bit but for some of the players remembering how to enter the exact command is tricky

    Fixit Fingers
    Fixit Fingers

    Reply 1 year ago

    Awesome Sunny, Cheers! I'll add that tip to the instructable as yeah I took a quick look at GIMP and while powerful it does look daunting... glad I have Ps6 ;) Glad you liked the dice roller. We couldnt find a simple free one we liked so my mate coded it. It works great as is but will hopefully get more features as he finds time. (I really want sound and animations :P)


    1 year ago

    I am in Perth. Let me know if your group is open to West Aussie players?

    Fixit Fingers
    Fixit Fingers

    Reply 1 year ago

    G'day Gerry, Im in Sydney and run my group with some old school friends. We are half way through "Storm Kings Thunder" currently. While I don't have time to run any additional games right now I'd be happy to show you or your DM how to use this VTT over a Google meet. Drop me a provate message here or on my socials ;)


    1 year ago

    This is the kind of thing that could make me get into D&D again!

    Fixit Fingers
    Fixit Fingers

    Reply 1 year ago

    Again!? Well well well you learn something new every day ;) We only started in 5e. Cheers Grant!


    1 year ago

    This is really fantastic! And amazing that you can set up such impressive encounters so quickly now. :D

    Fixit Fingers
    Fixit Fingers

    Reply 1 year ago

    Thanks Jess, yep! Once the setup is done you can just copy, drag'n'drop creatures onto an appropriate map and by the time the Adventurers have topped up the beverage of choice be ready to run a random encounter. The 'set piece' maps take a little while depending on how much detail you want to add usually 30 minutes to an hour for a dungeon that should last a 3 to 4 hour play session.