RogerBW's Blog

Virtual Tabletop on the cheap 28 November 2021

I don't generally use maps much when I'm role-playing; my games are fairly fluid, such that it's not very clear where things are going to be happening until the session has started, and exact tactical distances don't matter much. But since the pandemic began, particularly because I can't easily sketch something and hand it round the group, I've been experimenting with something a bit more sophisticated.

Of course there's Roll20 and Foundry and so on, but they all take the form of using somebody else's server and probably paying them for the privilege. And I already have screen-sharing capability on the videoconference system I'm using for my games. (Run by me, using Jitsi. Because I'm not going to force anyone to use the data-stealing insecure horror that is Zoom.)

The main tool I use for this is Inkscape, the freeware vector graphics editor. Why? Two main reasons: I'm not working at a specific pixel size, and I expect to zoom in and out to maximise the view of the area people are interested in. (And the bitmaps I'll use aren't necessarily scaled to each other.) And each bitmapped image I import is a separate entity, so I can drag one on top of or under another, then out again, and it'll still be intact. If I want to do this in The Gimp or Photoshop, I need to put each image into its own layer.

So that's the basic idea: screen-share an Inkscape window. (I tend to do this on a machine separate from the one that's showing the other players my face, but of course one can combine the two.) The players won't be able to move stuff for themselves; too bad.

To set things up, I start with a map image. Generally I extract it from the PDF it was published in with pdfimages to get a bitmap, then measure that up to get a scale (pixels in the bitmap per notional foot). For modern games, the US has places that sell house plans (as in, you've just bought some empty land, here are the full instructions for putting up a house on it) which often have good scale diagrams.

I've written a program to build one or more scaled images into an SVG file (Inkscape's native format) and to add a square or hex grid for whatever system I'm using. (Not published, but I'll send you a copy if you ask.) That gives me the base file, with the map embedded as a locked layer.

If some of this should be hidden from the players, I make a new layer and draw black rectangles over it that I can delete in-game.

For pawns for the PCs and monsters, another new layer, import more bitmaps. (Another unpublished program will take the JPEG and transparency-map out of a Pathfinder bestiary page and produce a PNG with alpha channel which can then go straight into the map - though it'll generally need to be scaled down.)

And that really is all there is to it. It does help if you've used Inkscape a little before (I tend to use it for play-by-forum boardgames).

Dice rolling? Er, we just roll our dice. Character sheets get printed out as usual, though some people like form-fillable PDFs.


  1. Posted by John Dallman at 10:18am on 28 November 2021

    I've played fantasy games this way, and on Roll20, and this works fine. It doesn't have Roll20's dynamic lighting, but I'm not sure that's actually worth the trouble.

  2. Posted by RogerBW at 10:55am on 28 November 2021

    Yes, and I believe Roll20 can also do things like managing how far a character can move, even across multiple terrain types – for a game like D&D/Pathfinder which is fully supported within the system. (I'm told some VTTs, particularly Foundry, are getting support for GURPS.)

    The most tactical game I run at the moment is probably the Dungeon Fantasy campaign, and even there I'm not using this full-time; many encounters can just be narrated.

Comments on this post are now closed. If you have particular grounds for adding a late comment, comment on a more recent post quoting the URL of this one.

Search
Archive
Tags 1920s 1930s 1940s 1950s 1960s 1970s 1980s 1990s 2000s 2010s 2300ad 3d printing action advent of code aeronautics aikakirja anecdote animation anime army astronomy audio audio tech base commerce battletech bayern beer boardgaming book of the week bookmonth chain of command children chris chronicle church of no redeeming virtues cold war comedy computing contemporary cornish smuggler cosmic encounter coup covid-19 crime crystal cthulhu eternal cycling dead of winter doctor who documentary drama driving drone ecchi economics en garde espionage essen 2015 essen 2016 essen 2017 essen 2018 essen 2019 essen 2022 essen 2023 essen 2024 existential risk falklands war fandom fanfic fantasy feminism film firefly first world war flash point flight simulation food garmin drive gazebo genesys geocaching geodata gin gkp gurps gurps 101 gus harpoon historical history horror hugo 2014 hugo 2015 hugo 2016 hugo 2017 hugo 2018 hugo 2019 hugo 2020 hugo 2021 hugo 2022 hugo 2023 hugo 2024 hugo-nebula reread in brief avoid instrumented life javascript julian simpson julie enfield kickstarter kotlin learn to play leaving earth linux liquor lovecraftiana lua mecha men with beards mpd museum music mystery naval noir non-fiction one for the brow opera parody paul temple perl perl weekly challenge photography podcast politics postscript powers prediction privacy project woolsack pyracantha python quantum rail raku ranting raspberry pi reading reading boardgames social real life restaurant reviews romance rpg a day rpgs ruby rust scala science fiction scythe second world war security shipwreck simutrans smartphone south atlantic war squaddies stationery steampunk stuarts suburbia superheroes suspense television the resistance the weekly challenge thirsty meeples thriller tin soldier torg toys trailers travel type 26 type 31 type 45 vietnam war war wargaming weather wives and sweethearts writing about writing x-wing young adult
Special All book reviews, All film reviews
Produced by aikakirja v0.1