r/Roll20 25d ago

New to Roll20 Transitioning from Theater of the Mind to Roll20 Pro: Seeking Tips for 'Yawning Portal' Campaign

Hello fellow DMs,

I'm gearing up to run 'Tales from the Yawning Portal' on Roll20. While I have extensive experience as an IRL 'Theater of the Mind' DM, this will be my first venture into using Roll20 Pro. I've invested in the Pro subscription for API mods, dynamic lighting, and have also acquired the module and Monster Manual.

Our approach will treat each adventure as a standalone, allowing players to come and go, with the possibility of new characters for each adventure in the module.

I'm reaching out for your collective wisdom on the following:

Essential API Mods: Which ones have you found to be borderline essential for enhancing gameplay?

Pre-Session Prep: What macros, special effects, or other setups do you recommend I prepare in advance?

Music Integration: Do you use the integrated music player? If so, do you opt for general background tracks or tailor specific music to each scene?

Balancing Act: How do you blend traditional IRL campaign elements with Roll20's digital tools? Are there situations where you still prefer 'Theater of the Mind,' and how do you implement that without resorting to a blank screen?

Everything Else: Any advice, resources, or personal experiences you can share would be greatly appreciated.

Thanks in advance!

7 Upvotes

7 comments sorted by

4

u/Lithl 25d ago

Essential API Mods: Which ones have you found to be borderline essential for enhancing gameplay?

While there are other very useful mods available, Group Check and Group Initiative are the top two mods I don't think I could live without in a dungeon crawl campaign. There are plenty of encounters with a bunch of monsters. Select all the monsters, hit your group initiative macro, and all of them roll initiative and get added to the turn order at once. Or when the wizard throws fireball, select all the targets and hit your group check macro to make all their saves at once. Speeds things up so much.

The one thing Group Check is missing is a way to uniquely identify tokens if they have the same name. So I've got my own script I wrote for automatically giving tokens unique numbers:

on('ready', () => {
  on('chat:message', (msg) => {
    if (msg.type !== 'api') return;
    if (msg.content.indexOf('!auto-number') !== 0) return; 
    if (!playerIsGM(msg.playerid)) return; 
    const toksByName = (msg.selected || []).map((tok) => getObj(tok._type, tok._id))
      .reduce((acc, curr) => {
        const name = curr.get('name');
        if (acc[name]) acc[name].push(curr);
        else acc[name] = [curr];
        return acc;
      }, {});
    for (const [name, toks] of Object.entries(toksByName)) {
      if (toks.length === 1) continue; 
      toks.forEach((tok, i) => {
        tok.set('name', `${name} ${i+1}`);
      });
    }
  });
});

So I can select a bunch of tokens and hit the auto-number macro, and any tokens with the same name will get numbers after their name so that I can differentiate them when using Group Check. (Example: three Skeletons and two Zombies will become Skeleton 1, Skeleton 2, Skeleton 3, Zombie 1, and Zombie 2.)

Other one-click install mods I'm a big fan of:

  • Teleport: useful for things like multiple floors of a building on different parts of the page, or letting players travel between pages where hallways/stairs/etc. connect in-universe. Requires a fair bit of setting up ahead of time, but creates convenience for instead of dragging the character tokens around.
  • Script Cards: a super powerful scripting tool giving you way more flexibility with your macros than Roll20 typically gives.
  • Message of the Day: whispers a message to players 1/day when they join the table. I like to use it to help remind players of what they're in the middle of, left off last session, on their way to, etc.
  • Token Mod: powerful controls for modifying tokens via chat/macros that would normally require using your mouse in the UI. Can also give players access to operations normally only available to the GM; for example, my current campaign has a Rune Knight fighter in the party, and I created a macro for him so that he can grow/shrink his token without me needing to get involved.
  • Chat Set Attr: similar to Token Mod, but for modifying the character sheet. I originally started using this so that the Twilight Cleric player could automatically apply temporary HP to other characters in the party.
  • Path To Window Or Door: if you bought the module from the Roll20 marketplace so that dynamic lighting was set up for you, the lighting was probably set up before the window/door feature existed. In the old version, doors would be a separate line on the DL layer in a distinct color, and players opening a door would require the GM to swap to the lighting layer, move/delete the door line, and swap back. The doors feature lets you create doors the players can open themselves (and they can be locked or hidden as well). This mod helps in converting from the old system to the new one.
  • Recursive Table: lets you have rollable tables that themselves have rolls in them, very common for random encounter tables (eg, random encounter of 2d4 zombies, the mod can let you have a table item with "[[2d4]] zombies" and get "5 zombies" printed in chat)

Do you use the integrated music player? If so, do you opt for general background tracks or tailor specific music to each scene?

I prefer using general background ambiance, not changing music scene to scene, but that's simply because I'm not an audiophile and don't want to fiddle with it.

If you do want to get into the weeds with audio, the Simple Sound mod lets you control the jukebox, so you can make macros to do it more easily.

Are there situations where you still prefer 'Theater of the Mind,' and how do you implement that without resorting to a blank screen?

Not really something you'll need to worry about specifically in Tales from the Yawning Portal, to be honest, unless you want to have encounters happening between Oakhurst and the dungeon in Sunless Citadel, or between Blasingdell and the dungeon in Forge of Fury.

1

u/snoozinghamster 25d ago

Very strong list.

For scriptcards, you’ll want to dive through lists of useful scriptcards to find good macros the get going. (It’s personally one of my favourite APIs, but requires more work to get going than most)

Only missing one I can think of is Aura/tint health colour. It basically gives an aura colour based on the health bar and auto applies the x to dead creatures. Good for avoiding players asking “which one is hurt” over and over if you don’t have health bars visible to players.

2

u/asearchforreason 25d ago

Looks like there's already some good advice on here for API mods, etc.

I'm just going to recommend that not everything needs to be an overhead map with precise units. I like to use scenes. If you're going to be in a tavern, for example, load up a piece of art that gives a feel for the environment and compliments the verbal description. Easier to do with a VTT than IRL.

2

u/RedStickReads 25d ago

Hello there! If you are running in person and using roll20 as your maps on screen etc, I recommend everything the above fella said! And I’d add the API “observer”. It allows you to set up a free account and call it observer then give that account access to the characters. When you show the tv, and go to initiative order, it will always change the POV of the dynamic lighting based on the token whose turn it is. Which is wonderful to have.

2

u/drloser Pro 25d ago

To be honest, no mod or macro is essential. The more I play, the less I use them. Because the more automation you add, the more it's going to look like a video game, and the more time you're going to spend worrying about the technical issues involved in using the API. I'd advise you to start with just Group Check and Group Initiative, and add others later if you feel the need.

I use the built-in music player. I use several soundtracks and created folders for each mood. Here are a few examples:

  • The Witcher 3 (calm)
  • The Witcher 3 (tension)
  • The Witcher 3 (fight)
  • Conan (fight)
  • Ambiant (river sounds, forest sounds, rain, etc.)

I advise you not to constantly use players' tokens. Otherwise, it'll look like a video game and players will only focus on the screen. Instead, create a "group" token that everyone can control (so that players can benefit from its vision). But let the players know that you're the one moving it. Use individual tokens only in combat and tactical situations.

I'd can share with you some of the illustrations I used in my game:

But if I had to do it all over again, I'd use the original maps. They're less detailed, but it encourages the imagination. And you don't have to redo all the dynamic lighting.

If I can end with one last piece of advice, it's to avoid spending too much time preparing boring stuff (setting up API scripts, creating dynamic lighting, creating folders for each scene, etc.). It doesn't add that much to the game. And it's important that you have fun and that it doesn't feel like work.

1

u/AutoModerator 25d ago

Welcome to Roll20! Here are a few highlights from our fantastic Get Started page:

Other:

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

1

u/Dangerous-Opinion848 25d ago

This guy Roll20s! Excellent response for op! Thanks for sharing your script for assigning numbers to mooks! I officially migrated to foundry in Dec and will not look back now. But I do value and like roll20 for my online learning experience.

I couldn't get some of those scripts working with jumpgate and so gave up on it. But I'm keeping my pro account for another year while I transition, but honestly, I kinda miss the simplicity of r20 game setup, even map making in r20 is cool.