Roll20 vs. FoundryVTT for GURPS

After using Roll20 for the 2-year DF Whiterock campaign, and using Foundry to run J.C. Connors' Hogwarts oneshot for two groups, I think I've got enough data to decide which to use for my next campaign.  To avoid burying the lede, I'll tell you that I prefer Foundry.

From the player's point of view, both VTTs are web-based, so if you have a computer and a supported web browser, you can play.  This is great compared to VTTs that require that every player install client software on their computer, because not all players are computer experts.

One difference is maturity.  Roll20 has been around for several years and is pretty entrenched as a popular VTT.  Foundry just hit the one-year anniversary of its release, so it's not brand new anymore, but it's not as mature.  In particular, right now we're in the middle of a transition between the 0.7.x and 0.8.x versions of Foundry, where the newer versions have more cool features but not all modules have been ported to the new versions yet.  So, basically, if you're already using Roll20 and you're happy with it, switching will cause you work.  Both products have marketplaces where you can buy things like tokens, but Roll20's is more mature and has more stuff.  Roll20 has a larger community of players who know it.

Another difference is the cost and payment model.  Roll20 is "freemium": it's free for basic use, but you have to pay for some features, like dynamic lighting and API access and more storage space.  If you pay, it's a subscription model (about $5/month for "Plus" and $10/month for "Pro", with a 15% discount if you pay for a whole year at once), so you'll have to keep paying periodically if you keep using it.  Foundry isn't free at all: you have to pay $50 for a license.  But once you have it, it's yours forever and you don't have to keep paying.  So which is cheaper is going to depend on what features you need and how long you want to use it.  If you're happy with the free version of Roll20, or can't afford a Foundry license, then free is good.  On the other hand, if you need any of the features that require paying in Roll20, and use it for more than a few months, Foundry's one-time cost is going to be cheaper than a Roll20 subscription.  Note that both VTTs are free for players: if the GM pays the cost, then any players hosted in the GM's games don't have to pay again.

Roll20 is Software As A Service: your games are hosted on Roll20's servers.  This has both advantages (there's less computer stuff for the GM to set up) and disadvantages (if their servers are busy hosting too many other games, your performance will suffer).  Foundry, on the other hand, is downloadable.  The GM has options: they can run it on their own computer, or they can go rent a server somewhere in the cloud and run it there, or they can use a service called Forge that's specifically aimed at hosting Foundry.

The ability to run your own server is nice, as you have complete control, but it also means you need to manage some things for yourself, which perhaps requires more computer skills than some GMs have, or takes time that the GM would rather spend elsewhere.  I chose to run Foundry on my Linux desktop, behind a home router, for minimal setup.  I had to setup port forwarding on my router for my players to be able to connect from outside my network.  And then I chose to setup a DNS name so I could tell my players "connect to hostname:port" instead of "connect to IP address:port".  I also had to setup accounts and passwords on my Foundry instance for all my players, a minor annoyance.  (Warning: Foundry's passwords are currently not stored in a cryptographically secure manner, so you want to be extra careful not to share them with anything else.  I recommend that the GM pick long random passwords for every player and put them in a password manager, then the players put their own password in their own password managers.)  For me, the big advantage of self-hosting is that, because I already automatically backup my desktop every night, I get nightly backups of my Foundry game.  If I mess something up, I can revert to a previous backup.  This gives great confidence to try things, knowing that no matter how horribly I mess things up, I can only lose one day's work.  So if I ever decide to move my Foundry instance off my desktop to a dedicated server somewhere, I'll make sure to do daily backups of that server too.

Another difference is the wealth of add-on modules available.  (Here, I use "module" to mean "code library" not "RPG adventure".)  Roll20 has been around for a long time, so it has developed support for a lot of game systems, but the JavaScript API support (which requires a Pro subscription to use) is somewhat limited.  Foundry has, in my opinion, a much better API, so there are already a ton of modules available, some of which do pretty impressive things.  General advice is start with the basics and not go crazy installing dozens of modules at first.  When I ran DF Whiterock in Roll20, I used one module to improve combat order tracking, and it was great.  For the Hogwarts adventure I ran in Foundry, I used a few modules: Dice So Nice for pretty animated dice, Actually Private Rolls so players can't see when the GM makes private rolls (as knowing that they rolled, even if you don't see the result, leaks information), PDFoundry for integrated access to my GURPS PDFs from inside Foundry, with hotlinking from the character sheets to rules references, and Turn Marker to put a marker under the active token in combat.  Plus Nose and Nick's unofficial GURPS system, which includes character sheets, importing characters from GCS or GCA, clickable skills and attributes on sheets, and a bunch of other stuff.  When I used Roll20, there were several GURPS character sheets available but I didn't feel like any of them were amazing, so we didn't really use them heavily, mostly using paper or PDF character sheets instead.  (One player did use a Roll20 sheet.)

The time setting up the VTT can be dwarfed by the time setting up an adventure, though.  It really comes down to how much the GM wants to show on screen.  If you want to run a game mostly "theater of the mind" and not use maps or virtual character sheets, then you don't really need a VTT at all: any chat client with a dice rolling plugin will do.  If you do want maps, then the amount of prep time required is directly proportional to how many maps you want and how pretty you want to make them.  I don't have any artistic ability, so I scrounge the Internet for maps and tokens, using free ones if available, or buying battle maps or token packs I like from artists.  If you can't make your own maps and tokens, it ends up being a lot easier to run a fantasy game than other genres, because so many of the maps and tokens out there are aimed at that genre.  DF Whiterock was based on the published Castle Whiterock adventure, which came with black and white maps, so I ended up digitally ripping the maps out of the PDF adventure with the pdfimages tool, then using the GIMP image editor to trace the maps to create background images, then pulling the background images into Roll20 to make base maps, then doing my dungeon dressing by finding tokens for furniture, rubble, doors, etc. and placing them on top of the background maps, and then manually adding lines to show where walls blocked line of sight.  This was a lot of work.

Doing maps in Foundry is pretty similar to doing them in Roll20.  You create a "scene" which is just like a Roll20 map, then you pick a background image, then you can add "tiles" which are background images that sit on top of the map (like furniture) and "tokens" which represent actors (like PCs, NPCs, or monsters).  And then you paint walls for your map to block line of sight, and add light sources.  One advantage that Foundry has over Roll20 is that doors are specifically supported.  In Roll20 I spent a lot of prep time placing door tokens with line of sight blockers under them, and then a lot of game time manually swinging the door token to the side and removing the line of sight blocker when a player opened the door.  In Foundry, when you're placing walls you can designate part of the wall as a door (or a secret door, or a window, or a one-way door) and then players can interact with it: click to open or close.  (Unless it's locked, in which case trying to open it makes a noise, and the players know their PCs need to unlock the door in-game, at which point the GM can click it to unlock it, and then the players can interact with it as a normal door.)  The killer feature I'd really like is auto-walling, where the computer interprets the art and figures out where to put line-of-sight-blocking walls and doors.  I believe that's doable for simple maps and really hard for complex maps.  Of course, if you buy your maps from an artist that fully supports your VTT, they can create the walls for you.

Doing tokens in Foundry is also pretty similar to doing tokens in Roll20.  Foundry does a few things better.  For one, tokens come with a facing arrow, so if you play a game where facing matters and use tokens whose facing is not obvious, you don't have to manually add facing indicators to your token art.  For another, Foundry has the distinction between "prototype tokens" and "tokens".  Basically, the prototype token is the mold from which all tokens for a particular actor are forged, while the token is one instance of a token on-screen.  For a singleton character like a PC or a named important NPC, this is a distinction without a difference, so you can click a checkbox to say "link actor data" and establish a 1:1 correspondence between the token and the actor, so that for example if you remove some hit points from the token in scene 1, those hit points will still be lost for the token for the same actor in scene 2.  But for an actor like "generic spear-orc" where you might have 50 different instances of the token across different maps, you can drag as many of the token as you like onto the screen, and each will have independent stats based on the prototype.  Wounding one does not harm the others.  In both VTTs, tokens can have vision and lighting.

"Fog of War" is another feature of most VTTs.  The players can only see roughly what their PC should be able to see.  Roll20 supports a basic version of Fog of War by default, where the GM manually uncovers parts of the map.  Then it supports Dynamic Lighting as a Pro feature, where the GM spends a lot of time adding line of sight blockers, and players can see what their token can see, based on lighting and vision and line of sight.  Foundry inverts this: dynamic lighting is the default, but there is a module available that supports manually cleared Fog of War for GMs who prefer that.  There are also options for whether previously uncovered parts of the map should remain uncovered simulating the PCs remembering what was there, or should go dark again, forcing the players to remember (or map!)

One complaint I had about Roll20 is that it wasn't great for large maps: if you made the map too many pixels, you got warning popups about performance, and used up more of your limited storage quota on their server, and your players with slower computers might notice decreased performance.  This disappointed me because when I wanted a huge map for the Immense Cavern level, I had to break it up into multiple maps, which was more work for me and less seamless for the players as we needed to do manual map moves whenever their tokens crossed a map boundary.  It also meant that long-range battles didn't happen much.  Unfortunately, the Hogwarts adventure didn't feature any huge maps (the biggest one I made was about 100 yards by 55 yards and worked great), so I haven't actually stress-tested Foundry there.  (I mean to do so at some point in the future; feel free to remind me if I forget.)

In Summary:

  • Roll20 is cheaper if you only need the free stuff.  Foundry is cheaper if you want advanced stuff.
  • Roll20 is more mature.  So it has more players, more art packs, more D&D adventures, etc.
  • Foundry is more flexible in terms of hosting.  Roll20 is simpler because there's only one way.
  • Foundry supports doors.
  • Foundry has better APIs for add-on modules, and thus more cool and useful modules.
  • Foundry has better GURPS character sheets.
  • I like Foundry better and plan to keep using it for future games.


Warlock's Tunnel, FoundryVTT, and GURPS

I ran J.C. Connors' Hogwarts adventure The Warlock's Tunnel for two different groups recently.  Using Foundry Virtual TabletopGURPS, and Nose and Nick's unofficial GURPS module for Foundry.  Here's a review of all of the above.

First, the adventure.  Without spoilers, in case you might want to play it.  It's set at Hogwarts in 1987, a few years before the first Harry Potter book.  A Hufflepuff prefect is missing, and the PCs should want to investigate.  (But will they?  You never know with players.)  The adventure is for 4 150-point second-year student wizards.  It comes with 7 pregenerated PCs, so the players can basically pick whichever 4 out of 7 they like, and go.  Though it should still play fine, just a bit easier or harder, if you have 5 or 3 players.  The pregenerated PCs are interesting, with various personalities, backstories, spells, skills, and Houses.  One of them has a pet Niffler.  One is an American who's recently moved to the UK and transferred to Hogwarts.  One is a prankster.  One is way too good a student.  Etc.  Very fun characters.

As an introductory GURPS adventure, it only needs the GURPS 4E Basic Set and GURPS Magic.  The various GURPS spells used have been given Harry Potter-ish names, and a few new spells are included in the adventure.  As an introductory GURPS adventure, it's a pretty good choice, as most people already know the Harry Potter background, so you don't have to explain too much backstory.  And you can mostly avoid getting too bogged down in rules, just "roll 3d6 and try to roll under this attribute or skill" can cover most things.  GURPS has a reputation for complexity, but the main rule to avoid problems is to not use all of it.  Just use what you need.  In this case, that's a few basic rules and a few spells.  And the characters are already made for you, which is the hardest part.  I don't want to go to deep into reviewing the adventure, because I don't want to spoil it, but it's your basic investigation / adventure story.  The adventure says you can play it in a couple of hours; both of my groups took about 4 hours, but everything is a bit slower over the Internet.  Overall, I think it's a good adventure, but suffers a bit from the "we're stuck so let's ask a professor for help" problem that's endemic to the Harry Potter universe.  If the PCs have any sense, once they realize their out of their depth they'll run to Professor McGonagall or Professor Dumbledore for backup.  If you're a real-life 12-year-old and you find out that horrible crimes are happening, yes, you should totally get an adult to deal with it.  But if you're the hero in a Harry Potter book, letting the adults solve your problems is no fun.  So the GM has to come up with reasons for the PCs not to do it that way.

(As an aside, J.C. Connors has a bunch of other free oneshot adventures available at 1shotadventures.com.  They are surprisingly professionally put together for free adventures.  Most of them are for GURPS, but some also have versions for other systems like D&D or Call of Cthulhu available.  A couple are solo adventures in case you don't have a gaming group handy.  Check them out.)

How does GURPS work for Harry Potter?  Pretty well, I think.  GURPS has a bunch of magic systems, but the most basic one, used here, is spells-as-skills.  Each of the kid wizards has a dozen or so spells, not too overwhelming, and then a dozen or so other skills.  If you want to cast a spell, you roll 3d6 and try to roll less than or equal to your spell skill.  If you want to use another skill, same thing.  If you want to try a skill you don't have on your sheet, you're free to try, but defaults are usually around IQ-5 or DX-5, so your odds of success are not great.  Of course the GM can apply modifiers ("You want to try to use your Animal Handling [Nifflers] on an animal that's nothing at all like a Niffler?  Fine, roll at -4."), but that's most of it.

How does FoundryVTT work?  Well, there are a bunch of intro videos on YouTube.  But basically it's a virtual tabletop, like Roll20 or MapTools or Fantasy Grounds or Owlbear Rodeo or...  The good thing is that this adventure comes with tokens for the PCs and some major NPCs, so you don't have to make them.  And it also comes with a bunch of picture handouts, which Foundry lets the GM show to the players.  The bad thing is that it only comes with one map, so if you want maps, the GM has some work to do.  I've run a lot of GURPS in Roll20, and a bit in MapTools, and so far, after only running one adventure in Foundry, I like Foundry better than either.  Once you load up Nose and Nick's unofficial GURPS module, you have GURPS character sheets, including import from character generation tools like GCS or GCA.  You can click on a skill or attribute on your character sheet to roll against it.  Foundry supports maps with hexes, not just squares.  It supports token facing, with a built-in facing arrow so you don't have to add one to your tokens.  And token vision, lighting, etc. are built-in.  As are a bunch of token status modifiers for GURPS, like Stunned, Prone, Nauseated, Shocked, Kneeling, etc.

The first group I ran the adventure for were experienced RPG players who hadn't tried GURPS before.  They all grasped "click on the skill to roll against it" immediately, and that's as much GURPS as they needed to learn.  We used Jitsi for voice and video with that group, and it worked great.  The second group were mostly GURPS veterans who hadn't tried Foundry before.  We used Discord for voice, no video, and it also worked great.

Minor issues: tokens don't have vision by default.  You need to click "token vision" to let them see, which is annoying.  I forgot to assign one PC token vision, so that player had problems seeing things until I fixed that.  Then I only fixed it on one copy of their token, not on their "prototype token" that would be used forevermore, so the problem came back when the players moved to another map.  Eventually I got it fixed right.  Also, setting up lighting for each token can be a bit of work, so for the maps that were dark, I just turned on map-wide global illumination once a couple of PCs cast Continual Light spells, to make things simpler.  (I would not do that in a more hardcore dungeon crawling game, but this is a light fluffy oneshot about young student wizards, so not annoying the players too much with limited light radius seemed like the right call.)

As far as Foundry modules go, Nose and Nick's GURPS support for Foundry is under rapid development, but already really solid.  It doesn't support quite as much automation as some of the Foundry D&D modules do, because GURPS doesn't have a free System Reference Doc with rules that you are explicitly allowed to use like D&D does, and Nose and Nick want to keep Steve Jackson Games from getting mad at them for automating too much, but it supports the basics like "click on a number on the sheet to roll 3d6 and try to roll under that number" and "click on a weapon's damage to roll that much damage."  And that's most of what you need.  (If you want to add tables that they have deliberately left out to respect copyrights, like the critical hit table or reaction table, it's not that hard: Foundry makes it easy to add rollable tables.)  Other modules we used include PDFoundry (PDF viewer built into Foundry, so you can click on a rules reference on your character sheet and bring up that page of the rules, if you own that rulebook in PDF form), Dice So Nice (animated dice flying all over your screen), and Turn Marker (put an animated marker under the token whose turn it is in combat so the player hopefully notices and goes before you have to remind them).

Overall, I enjoyed this adventure and will probably run it again in the future.  It's a good simple short demonstration of GURPS.  I was also pretty happy with my first experience using Foundry to run an RPG.  Thanks to the authors of everything we used.

Next up: I'd like to run another J.C. Connors oneshot, Who Tracks the Steps of Glory, because it's Star Trek and I haven't run a Sci-Fi game in a while, so I need practice with stuff like high-tech ranged combat and starships.  After that, I want to run a GURPS Traveller campaign.


Frontstabbing: A House Ruling

In GURPS and DFRPG, if you start your turn in the target's rear hex, it doesn't get a defense against your attacks.  (Unless it has Peripheral Vision or something similar.)  This makes backstabbing pretty good without any special abilities, just the ability to get behind your opponent.

However, if you're highly skilled with an impaling weapon, but not very strong, like Zaber in DF Whiterock, backstabbing isn't ideal, because most opponents have armor on their back.  You'd really rather stab them in the eyes, which often gets you DR 0 and a free brain hit (for quadruple damage and a good chance at a knockout).  However, if you can reach their eyes then they can see you coming, so they get a defense.  (Quite likely at -2 for a side attack, but any defense is way better than no defense.)

Unless you're invisible.  If you're invisible, and they don't have See Invisible, and they don't hear you coming or smell you, then frontstabbing should work about as well as backstabbing.

So my house rule on frontstabbing was basically: if you're invisible and approach an enemy from the front, it's a contest of your Stealth vs. their Hearing.  If you win, they didn't hear you coming, and they will have no defense against your invisible attack.  In DFRPG, Invisibility goes away after one attack, so only the first attack will get this benefit, but one good eye shot is often enough.

The other possibility is smell.  For simplicity I don't give most opponents smell rolls, unless they have an exceptional sense of smell (like many canines), or the frontstabber is particularly stinky.  (See, a reason for PCs not to dig through latrines for treasure!)  The No-Smell spell comes in handy if you want to sneak up on scent hounds; Zaber actually used it to pickpocket a sleeping ettin guarded by a dire warg of his magic ring.


What went right in DF Whiterock

It's bittersweet that the DF Whiterock campaign ended before the PCs quite reached the bottom of the dungeon, but we kept the game going for over two years, so most things went mostly right.  Peter asked for a post about things that went well in the comments, so here goes:

Converting a D&D 3.5 megadungeon to DFRPG (with a few other GURPS things thrown in) was work, but mostly went pretty smoothly.  GUPRS is a very flexible system that can emulate most other games.  Probably the hardest part was converting enemy spellcasters, because there are so many differences in the magic systems.  The easiest part was converting DCs to GURPS skill penalties and monetary treasure in gold pieces to GURPS $; I did both of those purely mechanically.  And thanks to all the people who put conversions of D&D monsters to GURPS on the Internet.

The house rules for building a DFRPG character with 125 points and no templates worked pretty well.  Players seemed to have fun making characters, and the first few sessions were pretty challenging.

The rules for improving characters, where points spent on skills could be traded back when attributes based on those skills were raised, were pretty popular.  (It seems that anytime you let players do more than the official rules allow, they're happy.  So this was not surprising.)  Not limiting characters to templates provided a different challenge than most GUPRS Dungeon Fantasy or DFRPG games.

Five players played in a majority of the sessions, and four played in a vast majority.  I had only played with one of the players before, so this showed that it is possible to assemble a reasonably cohesive group from random people on the Internet.  Of course it's not quite as easy to do it this way as to use a group of people who already get along: we had a few players who dropped out due to intra-party conflict or because it just wasn't the right campaign for them.

Making "Sense of Duty: Adventuring Companions" not count against the disadvantage limit had the intended result that everyone took it, and then the intended result that PCs who didn't get along kept it at the level of verbal sniping (and occasional Levitation), rather than violence.

Having a dedicated Discord for the campaign seemed to keep everyone in the loop.  We mostly knew if we were playing on Friday and who was showing up, and everyone mostly had their characters ready to go.

Roll20 mostly worked okay.  The fact that it's web-based is nice because people can play with their phone or tablet when away from a real computer.  On the other hand, it doesn't work nearly as well with a phone or tablet as with a real PC.  And it doesn't support large maps very well, so some of the larger levels ended up being many maps rather than one map, which was annoying.

We got a surprising amount of roleplaying for a dungeon crawl.  The PCs made both allies and enemies.  (Of course the allies tended to survive longer than the enemies.)  And they each had enough of a personality that when a player was out and someone else ran their character, we got fairly accurate mockeries.

The game featured a lot of combat, and the players got pretty good at combat tactics against various enemies.  Outflanking enemies to hit them in the back happened a lot, especially once everyone had Flight all the time.  Sacrificial Parry was used a ton.  And the players were constantly trying to balance Deceptive Attack, Rapid Strike, and hit location penalties.  There were also a lot of stunning attacks, via Rapier Wit, the Stun or Death Vision spells, or Kiai.

This player group had more of a hive mind than most I've seen: everyone shared their character sheets with each other and gave each other advice on how to improve their characters, and the group mostly functioned as a collective with respect to equipment.  This was pretty effective.


GURPS 2020 PDF Challenge Kickstarter Maxed Out: 12 PDFs for $3

If you play GURPS you probably already know this, but The GURPS 2020 PDF Challenge Kickstarter has hit its $45000 max goal, so it's 12 PDFs for $3.  (Total, not each.  And they're electronically delivered PDFs, so no shipping charges.  So $3 actually means $3.)  They're already written, and Steve Jackson Games has been around for decades, so this is about as low-risk as Kickstarters get.

I suspect you'll be able to get all these PDFs on Warehouse23 shortly after it's over, so there's no pressing need to join the Kickstarter now; it's just a screaming good deal.  (We don't know the MSRPs of these PDFs yet, but if they average $5 then it's $60 of stuff for $3, which is 95% off.)


GURPS DF/DFRPG Conversion Notes Available

In case anyone else decides to run Castle Whiterock using GURPS Dungeon Fantasy or DFRPG, I put my conversion notes up at https://github.com/dripton/gurpswhiterock .

Ultimately every group of players and PCs is different, though, so every GM is going to have to scale the challenge of the adventure to their players and characters.  If you run this adventure for two novice players, they're going to need a lot of help.  If you run it for five experts, they're going to stomp all over it unless you're really stingy with the character points and magic items.  So be flexible and do what you think fits your group, rather than assuming I know something you don't.


The Premature End of DF Whiterock

The Bad News

I ended the DF Whiterock campaign today, after over 2 years and 100 sessions, but before the dungeon was finished.  (The Thane was the end of level 12 out of 15, so they were about 80% done.  Though they had skipped level 5, the underwater level.)

I'm disappointed we didn't finish, but I wasn't having fun anymore, and running this game was way too much work to continue doing if it wasn't fun for the GM.  I know some of the players weren't super-happy with the way it was going either.

What went wrong?  Ultimately I think a mismatch between player and GM expectations.  From my point of view, the players wanted continual increases in power, and complained about not getting enough points or treasure.  Meanwhile I was trying to keep the adventures challenging for the increasingly untouchable PCs.  Giving them more power was the last thing I wanted to do, as I thought they had too much already.

Also, in the game world, the PCs had defeated the Thane of Narborg, who appeared to be the ultimate boss behind the orc and human slavers who had dragged them into this adventure in the first place.  The fact that the red dragon Benthosruthsa was probably allied with the duergar was not clear enough to them.  I had Chauntessa clue them in a bit more last week, but they still didn't have enough motivation to do her dirty work.

Things I'd do differently if I ran this again

1. Award character points for accomplishments rather than play time, to give the players a reason to go faster.  And award fewer points overall from the start.  (If you set a low baseline rate of improvement and give bonuses for significant achievements, players are happy.  If you set a high baseline then slow it, players whine.)

2. Make the dungeon a bit smaller.  As written, it's the surface level with human slavers, then two orc levels, two trog levels, the underwater level (which our group skipped except for one brief encounter with the hydrohydra), the underground river level, the Immense Cavern, three duergar levels, the Demonhold, two levels of Burning Maze, then the final level with the dragon boss.  I think it could be reduced from 15 levels to 9 by removing an orc level, a trog level, the underwater level, two duergar levels, and the Demonhold.

3. Figure out voice or text ahead of time.  It appears that most players have a very strong preference for one or the other, so voting each session isn't a great idea.  (We stopped voting after text won about 20 times in a row, but at least one player was never happy that the game was text.)

4. Write up more ahead of time to make sure all the players are on the same page.  One player quit early because this was too much story, not enough mindless hack-and-slash for his vision of DFRPG.  I guess you can never do enough Session Zero.

5. I probably wouldn't use Roll20.  Making dungeon maps in Roll20 is too painful, because there's no support for doors, and you have to do line of sight blocking manually by drawing all your walls again on another layer.  If I had to start a new game today, I'd probably choose MapTool because it's the most mature cross-platform VTT available, even though its scripting language is gross.  FoundryVTT looks great, though it's really new and doesn't support enough game systems yet.  And the future not-Windows-only version of Fantasy Grounds might also be a contender.  Of course, the grass is always greener on the other side.  I know everything I hate about Roll20 after using it for two years.  I'm sure the others have warts too; I just haven't found them yet.

6. Give more blatant clues on what the PCs should be doing next, rather than expecting them to figure it out.  Player agency is great, but when there's only one dungeon prepared, the PCs always need a good reason to go into it.

7. Writing long detailed recaps for every session was a lot of work.  I think I'd try to farm that out to the players.

Random observations

1. If you remove mandatory templates from Dungeon Fantasy / DFRPG, the PCs will be more powerful.  You need to account for that when handing out points.

2. Wizards get drastically more powerful as their spell skills reach 20 (which is achievable with a stock 250-point wizard) and 25.  In particular, Flight-25 is "all the PCs fly all the time."

3. Bless is broken.  Luck is really good.  Having one of them is pretty good: it means fewer dead PCs.  Having both is probably too much.

4. Great Haste is broken.  I ended up limiting attacks per turn to 3 to curb the worst abuses of it, but just eliminating the spell would probably work better.

5. Mass Daze is often End Fight.

6. Everything in DFRPG is aimed at 250-point characters.  Balancing 125-point or 500-point characters is an exercise for the GM.  Getting it right is tricky.

7. In this particular adventure, wandering monsters had very little effect.  The PCs usually felt overpowered enough that nothing on the wandering monster table would be much of a threat, so wandering monsters were mostly a waste of time.  This probably contributed to a lack of urgency, as the players found no cost to slowly moving around looking for every secret.

8. Different players like different things.  I think (borrowing the terminology from Robin's Laws of Good Gamemastering which I think all GMs should read) our group was one Roleplayer, one Tactician, one Butt Kicker, and two Power Gamers.  (They might disagree with those assessments though.)

The Future

A couple of people want my Castle Whiterock GURPS conversion notes, so I'll throw those up on Github at some point and post here when I do.

I have a couple of GURPS oneshots I'm thinking of running for a group of friends and maybe at a (virtual?) convention: the Star Trek and Harry Potter adventures from 1shotadventures.com .  (So if you think you might want to play in those, don't read them.)

I'd also like to run The Traveller Adventure (for Classic Traveller, from 1983) in GURPS.  That's another campaign-length adventure, like Castle Whiterock, but it's 156 pages, versus about 800, so hopefully it wouldn't take as long to run.  It's kind of the polar opposite of Whiterock though: SF vs. fantasy, trading vs. combat, a subsector versus one town and one dungeon.

Roll20 vs. FoundryVTT for GURPS

After using Roll20 for the 2-year DF Whiterock campaign, and using Foundry to run J.C. Connors' Hogwarts oneshot for two groups, I think...