Personal tools

GURPS 4th Edition

From Roll20 Wiki

Jump to: navigation, search



GURPS 4th Edition can be a very tactical game. Even in simple fantasy settings with low power levels, there are many attack, defense, and movement options. Roll20 can assist game masters and players maintain organization

However, remember to keep your game in a level of complexity that everybody will enjoy. Don't become too bogged down sifting through rules. Not everyone likes spending a day figuring out if a sniper shot will hit.

Setting the Battlefield

Suggested Setup

So, let's make your battlefield more GURPS oriented.

Open your page menu and set it like so:

Page size: any by any Scale: 1 hex should be 3 feet (or 1 meter if using books published with metric units) when using standard rules. For Hexcrawls, figure out your campaign setting's worst-case distance for a half-day of travel, and use that as your maximum hex distance.

Background: I like to keep it a simple white.

Grid: Enabled, size 0.6 units, to match the scale of maps that use 5-foot squares.

Diagonals: Manhattan gives the best results, where every adjacent hex's center is 3 feet away.
Type: Both Hex Grids are equally effective.

Show labels Sometimes can be heavy on the eyes, but in situations where some player characters are hidden, it's useful because you can whisper them their coordinates and have feedback like "I am moving to Hex V18".

Opacity: To the taste of the players; the grid should be visible, but unobtrusive.

Fog of war: Your mileage may vary, but for me it adds another layer of complexity to something pretty complex. so I prefer to turn it off.

GM opacity: To the GM's taste.

Fog of War & Dynamic Lighting: add a lot to the atmosphere of the VTT and can be used (even on outdoor maps) to simulate line of sight as well as limited vision due to ranged light sources. There is a bit of a learning curve however.


At the time of this writing, the dice and math mechanics available for common free users don't give GURPS players any special kind of optimization, since most rolls are under a constant change of bonus and penalties, so there is really one thing you can do: set a macro to roll three six-sided dice (3D in GURPS), the most common roll.

just get a "/r 3d6" macro and you are all set.

you can also add modifiers when calling a macro (eg. 1D, 2D, 3D, 4D, etc). Then the command would be "#Macro Name -1" OR "#Macro name +2" (you must include the space between the macro call and the modifier).

Currently the Roll20 Die Roller / Macro Engine only does individual die roll comparisons vs. a target number and not the total of the dice rolled. Eg. if you were to roll 3D6 vs 13 -> 3 + 4 + 2 = 9 it would show 3 successes (the individual die rolls) instead of 1 (the total of 9). You can create a macro "/roll {3d6, 18} <12" to give you one success but it does not give the die result total unless you mouse over it and is not ideal for use in GURPS or CHAMPIONS (another game with similar die mechanics).

Ryan L. on the Roll20 forums has graciously created an API script that compares the die roll result vs. the target number and tells you the number of successes. If you have a Pro level account you can download the script HERE and add it to your game on the development server. The roll commands below output the number of successes, failures and list ties as Success By 0.

/r 3D6 |<=| 12

/r 3D6 |<=| @DEX +2

To make target number comparing macros even easier to type, you can create a macro called "vs" with |<=| inside it. You can then type the macros above as follows:

/r 3D6 #vs 12

/r 3D6 #vs @DEX +2

or if you have some Ability macros setup in your character sheet you could do the following:

#Melee:Sword -2 #vs 13

API Scripts

API Scripts have the potential to be very powerful in Roll20 for GURPS 4e. As a "Crunch" heavy (well as heavy as you want to make it) simulation type RPG, the API has a lot of potential to make playing GURPS via Roll20 much more streamlined and "automated". The negative side of this is that the more automated or script heavy you make your GURPS Roll20 game in Roll20, the less you and your players need to know the rules. While this may not seem bad from your perspective, it is not necessarily good for SJG in the long run (why buy the books when the rules are built into some freely available Roll20 scripts?). When creating and publishing API scripts in the Wiki or Forum I'd suggest keeping in mind SJG Online Policy.

Roll vs. Target Number Comparison Script - developed by Ryan L.

Character Sheets


When setting up Ability Macros in Roll20 for GURPS 4e. You first need to setup the appropriate attributes on the character sheet (ST, DX, SPEED, DR, HP, etc). Then you create your Ability / Skill. You can also use add comment text by using an ! mark infront of the text to be a comment. This text will not show in the chat window. The ! is a specific API call and if not included in a script then it is ignored. You can read more about it here:

The Ability Macro below relies on the installation of the script listed above developed by Ryan L. on the Roll20 forums.

Acrobatics Macro / Ability
  /emas Fentu rolls Acrobatics
  /r 3D6 |<=| @DEX +1

  ! Skill Level: DX+1 (17)
  ! Advancement Cost: DX Hard
  ! Spent Character Points: 8

NOTE: if you create a macro for |<=| called "vs" you can then replace all instances of |<=| with #vs (it is much easier to type). The ! is a specific API call and as an added bonus acts as a comment tag (everything after the ! is ignored by the macro and can be used as notes in that macro).

GURPS tips on Roll20

CONDITION CARDS: Create an infinite card deck for the various GURPS conditions (stunned, wounded, bleeding, etc) and make it fully available to the players. They can then pull them from the deck into their "Hand" to remind them of their current conditions. Include the basic rules for each condition on the card.

ADD TO TURN ORDER: To add characters quickly to the turn order based on their Basic Speed, you can use the following macro. In order to use this, the selected token must have the attribute "Basic Speed" on its associated character sheet. For tokens without a character sheet (e.g. one of a bunch of identical critters), add their speed manually or have one as your "control" critter and add that one to the tracker, using its speed for all identical tokens. Add any emotes as desired, or /w gm the macro to keep the players' chat boxes free of clutter.

Add to Turn Order
[[@{selected|Basic Speed} &{tracker:=}]]

(this probably depends on the Character Sheet template you use...for me, what worked was

[[@{selected|Speed} &{tracker:=}]]

Note that you have to select each token you are going to add, and invoke the macro (obvious if you understand what's going on, but I didn't get it at first). I suspect that to add ALL tokens currently on the map simultaneously, you'd have to write an API script. )

Once everyone is added, simply sort the turn order box descending.

If you have some tokens that do not have a Basic Speed attribute and don't mind one extra click, use this version instead. It will pop up a window autopopulated with the Basic Speed value, or allow you to manually enter a value for tokens that don't have it (characters with a mistake or some random mooks you just added, for example).

Add to Turn Order
[[?{Initiative|@{selected|Basic Speed}} &{tracker:=}]]

TURN ORDER: Below each player's entry in the TURN ORDER add the following:

  • Affected by Conditions and / or Modifiers?
  • Movement
  • Roll Defence or Attack
  • Roll On Crit Table (if necessary)
  • Roll Hit Location (if not a targeted attack)
  • Roll Damage
  • Apply Damage Modifiers
  • Apply Damage

You can make the turn order reminders as basic or detailed as you want and eventually remove them as everyone learns the flow of combat.

The Turn Order tracker can also be used for timed effects. Just add entry's below the character effected like:

  • Toxic Spell Damage 1D6 per turn, ends on turn 6
  • Illusion, treats friends as foes, ends on turn 11
  • Poisoned, 1D6+2 damage per turn, ends on turn 3

MODIFIERS & BASIC RULES: Create various handouts and add them to the players journals so that they can quickly look up various rules or modifiers. Some suggestions are:

  • Basic Damage (Thrust / Swing values based on ST)
  • Combat Maneuvers
  • Defence & Attack Modifiers
  • Penetration, Armour & Damage Modifiers
  • List of basic weapon stats


In GURPS 4e the standard die roll is 3D6. If you were to create a Rollable Table with standard 3D6 probabilities (weights in Roll20 terms) it would look like this:

3 1
4 3
5 6
6 10
7 15
8 21
9 25
10 27
11 27
12 25
13 21
14 15
15 10
16 6
17 3
18 1

The total weight on a 3D6 table must equal 6 to the 3rd power = 216.

Therefore if you wanted to simulate one of the standard tables in GURPS 4e where certain die rolls are grouped together, you'd just add the probabilities (weights) together when creating the table:

3 - 4 4
5 6
6 - 7 25
8 21
9 - 10 52
11 27
12 25
13 - 14 36
15 10
16 6
17 - 18 4


You can use a meanwhile solution for avatar's posture in GURPS.

  • Create a rollable table and named it your character
  • Upload multiple pictures for each instance (stand, kneeling, lying down, crawling, etc)
  • Click on "Token" on your rollable table list
  • Right click, choose advanced, and click on "is drawing" so you can access hp bar, conditions and so forth
  • During the game, right click on the token, choose multi-sided and select the "instance" that better fits for the scene, if the avatar got 1-hex or 2-hex long, just made some adjusting by draggin its corners
  • Finally, double click and on "represent character" and then choose your character