User Tools

Site Tools




A recent adventure for the Pathfinder game I’m running was more of an investigation to find out what had happened to a couple of young lovers, which involved talking to people and searching for clues. I decided to go for a more mechanical approach to things, rather than just feeding clues with a single Perception check, or relying on them asking the right questions (though there was a bit of the latter thrown in as well).

For the searching for clues, the I gave the option of a number of different skills which could be used, which allowed different characters to contribute. So Sense Motive could be used to search a room, because you’re looking for indications of motive. Knowledge (Nobility) can be used, to find things that might be important to a noble. Rather than just having the person with a high Perception gain all the glory.

So, for example:

  • DC 11: Some clothes are missing, including a pair of boots, and a sword is not hanging from where it should be.
  • DC 14: The window is closed, but unlocked. It would be easy to get down from here to the garden.
  • DC 17: There are some boot prints on the window sill.
Sense Motive
  • DC 11: The bed looks like it was slept in the previous night.
  • DC 14: There’s no sign of a rush to leave. Everything is neat and tidy.
Knowledge (Nobility)
  • DC 11: There’s a collection of pamphlets for plays, including The Bumbling Goblin, Faerie of the Opera, A Day and Night for Miss Zeldana, and The Inconstant Nymph on the table. Zeldana is put on at the Rose and Rake, the others are for the Triodea. Follow up: Lore (Magnimar) 24: His first cousin, once removed (Durstin Versade), owns the Triodea.
Survival (in the garden)
  • DC 14: Probably went down the side of the house, across the garden and out through a side gate. Would not have taken him near the stables.

It actually worked quite well, and I allowed a bit of flexibility, especially when players wanted to ask questions or use skills not listed (so using Stealth to figure out the most likely way to leave the house without disturbing anyone, rather than Survival. That gave him the route, but not the fact that it would have avoided the stables (which a couple of horses were missing from, and a clue that the horses were possibly moved before hand, rather than trying to get them out of the city at night)).

This sort of things could just be roleplayed, with maybe the odd skill check (and that’s my usual approach), but this split the workload between characters so they all got to do something, and it gives more of a feeling that they might fail to get all the clues if they don’t have the right skills. The chance of getting nothing though, and not being able to progress at all was quite low.

There were also multiple ways of getting similar information. There’s a clue pointing at the theatres, but talking to the stableboy also had similar information. Putting both together gives a clear direction of which path to follow, but either one should give some hints which could be followed up with a bit more investigation.

For talking to witnesses and getting information out of them, I used a slightly modified form of the Pathfinder intrigue and influence rules for social combat. My main reason for using these was that the next adventure is going to be a party where I’m planning on using them quite heavily, and I wanted to give an introduction to the rules before hand.

Anyway, the PCs think the lovers sneaked out of the city at night to elope, and are heading to Sandpoint. So next session will probably be heading out of Magnimar along the Lost Coast Road to find them.

2018/10/28 18:22 · sam

Google Plus

For the last seven years I've used Google+ as my main place to 'hangout' online. Despite the naysayers, there's been a lot of good content and interesting people on there over the years. However, it's been announced that it's being shuttered late next year, so I need to find a new place to be.

Two places I'm currently looking at are:

Pluspora has a very different feel compared to G+, lacking a lot of the features I've come to like. MeWe is a walled garden, and doesn't currently allow public posts - you have to be a signed in user (at the very least) to see anyone's content.

Not sure yet which one I'm going to settle on, but there will probably be posts to both for a while.

2018/10/14 10:02 · sam

Pathfinder Tabletop

For the running the fifth chapter of Rise of the Runelords, I've turned to a mix of tabletop and virtual environments to manage things. Though I have all maps, monsters and NPCs managed within Roll20, as far as the players are concerned everything is running on the real table. Maps are done using cardboard tiles from Role 4 Initiative, with (mostly plastic) figures for the PCs and monsters. Where everyone is is determined by the tabletop map, and this is considered the single source of truth. Anything I have in Roll20 is merely for my own benefit (and keeping track of things that the PCs can't see yet).

Roll20 is managed from my Chromebook (used in preference to my laptop, since it can happily last all day without needing to be plugged in), which is also connected to the TV via HDMI cable (I did start off using Chromecast for screen mirroring over a wireless connection, but that turned out to be unreliable).

The only feature that is run from Roll20 from the player's point of view is initiative, which is displayed up on the TV. Players also get to see the output from my API scripts, which will report when a creature is down to two thirds or one third hitpoints, so they have some idea of how badly injured creatures are.

All my dice rolling is controlled from Roll20, which saves me time as GM. However, players roll using real dice on the real tabletop (though occasionally they'll ask me to make a roll for them, when they need to roll buckets of dice for a large spell or sneak attack for example). This helps keep to the 'real' feel of playing a tabletop game.

Most monsters/NPCs I have the right models for (an exercise that turned out more trouble and expensive than I expected, so I will probably drop this for future adventures), so I don't need to display pictures of things to the players, but when I do I can do that via the TV. Due to the layout of the room, the TV is behind a couple of the players, so it's not ideal and I try to avoid putting things up for display on there whenever possible.

Actual handouts are still done on printed bits of paper, so that players having something to hold and read.

None of the players are actually part of the Roll20 game itself, so apart from a few statistics (Perception, Sense Motive and Initiative) I have very limited PC information digitally. Most players prefer to use NPC Gen anyway. We could potentially try using Roll20 for video if a player couldn't make it, but we haven't had to do that yet.

We're most of the way through Sins of the Saviors now, and it's running reasonably smoothly. I would prefer to be able to draw out more maps up front in preparation for each game, but the last part of the adventure is difficult to predict where players are going next, and I don't have enough map tiles to be able to draw out all the maps (especially since some are pretty huge) at once.

2018/07/23 14:46 · sam


As part of fleshing out basic planet types for WorldGen, I've been working on generating maps for five different types of asteroids. For the most part they share the same basic framework - a texture map, plus a deformation map which gives them their shape. All the bugs where the texture didn't link directly at the edges have been fixed, so they actually look like solid objects.

Most of the time has been spent with the colours. Silicaceous (top right) and Carbonaceous (middle) were the simplest, with relatively consistent textures across the surface. Gelidaceous asteroids (bottom right) are comprised of rock and ice, so have a mix of textures. Metallic asteroids (bottom left) have a high degree of metals.

The final type, Vulcanian (top left, and actually called Vulcanoidal in the original Planetary Classification List, but I've renamed them to give them a different name to the class they belong to) are special in that they're found close to their star, so can be incredibly hot. There're several versions of these, depending on how hot they are - what is shown is a middling Vulcanian type which is hot enough to glow red.

Some have a few extra options to give individual asteroids a bit of uniqueness, and I'll add to these as time goes on. For now though, there's probably enough detail to move on to providing extra detail to larger worlds.

2018/06/24 20:25 · sam

Planetary Cloud Cover

A Cytherean World

The next step of progress is the ability to add cloud layers to worlds. Each world can have any number of cloud layers, which are displayed on the globe view for the planet. This is most useful for worlds which have very dense cloud cover, such as the Cytherean world shown here. This is a Venus-like world, that is shrouded in thick hot clouds.

Each cloud layer can be a different colour and have different levels of transparency. In the case of Cytherean worlds, the thickness of the clouds is determined by the atmospheric pressure, which in turn is determined by the surface temperature.

Cytherean world with surface made visible

Thick clouds means that it is difficult to see the surface on the 3D view, so the globe view has also been updated so that the user can control the orientation of the world using the mouse. Doing this also makes the clouds transparent, so that the actual surface of the planet can be viewed.

Other updates include a brief description for the whole system, which will give a brief description of the stars and planets, and note any system wide phenomena (such as heavy solar flare activity). The top of the system page also shows a count of the different types of worlds, and the star port type.

2018/06/03 12:35 · sam

Carbonaceous Asteroids

I've had some time to work on my WorldGen application, and have the first basic implementation for moons. Unusually, they've been implemented within asteroid belts, which don't technically have moons but the backend framework for moons (which are really just planets associated with another planet) fit what I wanted to do.

So asteroid belts can now have individual named 'planetoids' within them (of a size comparable to Vesta or Ceres), as well as the undefined (generated from a random seed every time they are needed) smaller asteroids. The solar system map displays their current position within the belt, orbiting along with everything else.

I've now also have a way to generate a 3D map for such an asteroid, using a distortion texture which is applied to a simple sphere. This gives an irregular natural looking shape, though it can't produce anything as irregular as Comet 67P/Churyumov-Gerasimenko using this technique.

There's also a modifier that smooths out larger asteroids, so Ceres sized asteroids will tend to be far more spherical than smaller ones.

The textual descriptions of such worlds needs some work (to be honest, there's not a lot that can be said about a small barren rock, so coming up with enough unique random text to make them interesting is hard), and there's still lots of bugs in how moons get displayed on the web page, but there is progress.

I've also possibly decided on nomenclature for belts, giving them capital letters to denote their position. The first (innermost) belt in the system will be A, the second B etc. Named planetoids within the belt will be labelled from innermost to outermost, starting at 'a' and going onwards. This matches the naming for moons, but they have a roman numeral (for the planet) followed by a letter (e.g. our Moon would be “Sol IIIa”), which is clearer. So I might still change things.

2018/05/20 11:42 · sam

Catacombs of Wrath

Several years ago I started our first Pathfinder campaign using the Rise of the Runelords adventure path, and so far I've been running one or two chapters a year. We've just started on chapter five - Sins of the Saviors, with characters up to twelfth level.

Each chapter has been played slightly differently, as my understanding of the Pathfinder rules have changed over the years. For the previous chapter I switched to using Roll20 for managing things on the GM's side, with players still using pen and paper (well, PCGen in some instances) character sheets and real dice.

For this chapter I'm doing much the same, though the use of my API scripts from my purely Roll20 Magnimar campaign are streamlining some of the combat. I've also switched to almost entirely using miniatures. Previously we used a mix of Pathfinder Pawns and other things. This time I made the effort to make sure I have a figure for almost all of the creatures in the adventure. Painting them all took longer than expected, so I may not do that next time around.

Having miniatures on the board does look good though, along with the dry-erase dungeon tiles for mapping. Though I can throw a digital map up on the TV, I prefer to use this mostly for record keeping for me, and have the actual positions of everyone on the real table.

2018/05/08 22:08 · sam

Bumpy Worlds

I've been playing with the Javascript 3D library three.js to generate textured globe images for my WorldGen application. This allows me to relatively simply wrap a map texture around a globe, and have it rotating on a web page.

It also has a bump map feature, so applying a height map means it is possible to simulate differing heights for different parts of the world, and have them rendered on the globe. This is currently being used to show up coastlines, mountains and craters on the world as having varying heights.

Three.js also has the concept of a distortion map, which allows true height differences to be shown. Since most worlds are pretty flat at the scales shown, I'm not using this for now, though it seems like a good option for small bodies which aren't entirely round.

The original map for the world uses an icosahedral projection, which means it is non-contiguous (it has gaps inserted at regular intervals along the poles, to account for the reduced circumference at higher latitudes). Since it is made up of triangles, craters appear as obvious triangles or hexagons (as does the shading and coastlines), but I rate the benefits of triangles tiling perfectly into the icosahedron to be a bigger advantage. It would be possible to make the triangles smaller, but previous experience with world mapping has shown me that lower resolutions are easier (and quicker) to generate. Getting continents which actually look like real continents is easier at low resolution. High resolution fractal maps always ended up looking artificial without a lot of post-processing.

To generate the texture map, it's necessary to stretch the map to make it contiguous. It's a simple process to take each row, remove any background pixels, and then stretch the remaining pixels to fit the whole width of the map. As can be seen in the stretched image, the poles are quite heavily distorted, whereas the equatorial regions are left more or less intact.

This is a problem present on any rectangular real-world map - how to minimise the distortion at the poles in a way that is most beneficial.

Finally, there is the height map. Possibly due to me not fully understanding 3D graphics, my original attempts at bump mapping resulted in a large number of black lines all over the map, wherever there was a height difference. Since the height scale ranges from 1 to 100, every triangle was a different height to its neighbours, it looked like a mess. When the height map is first generated, it uses a semi-fractal algorithm which guides the creation of continents, and is used to produce shading.

After that though, it is flattened. Seas, craters and rifts are given a height of 1, the highest mountains a height of 100 and everything else is set to 50. This produces a very flat looking height map, but it seems to create better bump mapping effects than the more gradual scaling did.

By combining these various maps, I can display a practical flat map showing the world surface, as well as a more graphical textured globe for seeing what the world actually looks like. It should be relatively trivial to add in cloud effects, and even colouring according to the local starlight. The brightness of the globe is actually affected by the proximity to the local star, which is currently making hot worlds very bright. Whether that is accurate or not is something I need to check.

2018/02/25 13:54 · sam

D6 Adventure

I just finished running a one-off game (over half a dozen sessions) using the D6 Adventure system. Though I've played (and run) plenty of Star Wars D6 in the past, this was the first time I've tried using the D6 system for another setting.

Published by West End Games in 1996, D6 Adventure (along with D6 Fantasy and D6 Space) is a set of rules tailored for a specific genre. Though they share a lot of the core mechanics (roll a number of D6 equal to your skill, try and beat a target number), there are some differences in terms of the names given to attributes and skills. The Adventure rules are aimed at 'contemporary' settings - sometime around the 20th century.

My own game was based on the idea that the PCs were members of German military intelligence (the Abwehr) in 1927 (so prior to Hitler grabbing power, and at the height of the roaring twenties), hunting down a rogue agent who was selling secrets to French communists. It was relatively pulp, and wasn't entirely based in the real world since they soon found some glass tablets that allowed them to see a live map of the surrounding area (including being able to see people moving around, or zooming out to see the whole Earth). A chase from France to Russia and finally Sumatra led them to discovering a way to a post nuclear-war future, and evidence that they were living in a fake world running in a simulation (though they didn't quite understand that part, being from the 1920s). We ended the game with them getting hold of nuclear weapons, and planning a way to ensure Germany didn't lose the next war.

A few things I found useful were Youtube videos of the time period. Since most people were unfamiliar with the period (myself included), it was helpful to stick some videos of the various cities up on the TV (thanks to Chromecast) when they got there, so they had an idea of what they were seeing. I also shared pictures of people and artefacts in this way.

For the system, I had some difficulty balancing the combat system. Players were a lot more effective than I first assumed, so I had to scale up combats a bit towards the end to make them a bit more challenging. I played it far more narrative than I normally would though, so it wasn't too bad. There were some options though we had to 'fix' pretty early on though (+3 to difficulty to get a head shot doing +12 damage, when most guns were rolling 3D6 for damage felt very broken) in order to make things a bit more interesting.

When 2nd edition Star Wars came out, and introduced the wild die, my natural inclination at the time was to ignore it. We tried using it in this game, and personally I wouldn't use the wild die again. Rolling multiple D6 is already sufficiently random that it doesn't need any more, and you lose the consistency of high skill rolls that you got in Star Wars (there's still a chance of rolling 6 1s, but the chance of a really bad (or really good) roll goes down as your skill goes up).

On the whole though the system worked reasonably well. I chose it because I knew the base system, and leaving out the advantages/disadvantages options left a really simple system that was quick to roll up characters for and to play. Everyone seemed happy enough to be willing to use it again, possibly with a few modifications as mentioned above.

As a GM, I felt that the start and end of the game went quite well, though the middle of it dragged a little bit, mostly because I hadn't really figured out what to do with it. I had an idea for how to start things, and I had a vague idea of where things were ending up, but no good idea of how to get from A to Z. Given that it was a one-off game, it was never really meant to be an open sandbox, so was deliberately quite linear in the way it played out (though the PCs were sensible enough in their precautions at various points to sidestep some of the possible complications).

I think D6 is a good enough system that I also wouldn't mind giving it another go at some point, maybe with a setting closer to the present day. I'd definitely need to play with the combat system some more though, to figure out a better balance to add in a bit more danger for the PCs.

2018/02/14 19:39 · sam

Surprised Mooks

Initiative Tracker

I've made some updates to my Roll20 combat scripts, to automate some of the initiative handling. The initial option was a command to add multiple tokens to the initiative track. I already had this, but now it performs a number of other features:

* Clears any current initiatives. * Automatically creates a start of round marker, for tracking number of rounds. * Determines initiative for all tokens, and adds them to the track already sorted. * Marks them as being flat footed, unless they have an ability to prevent that.

To complicate things, there is also an option to make a Perception check for all tokens, and add them as surprised if they fail the given difficulty. 'Surprised' and 'Have Surprise' are now two token states that I've added. A surprise state is automatically removed when a token's turn comes up, as is flat footed (once they are no longer surprised). I did try a feature to automatically skip surprised tokens, but that caused problems with the event handler.

It's also possible to add new tokens to an existing combat, adding them as surprised or having surprise (in case you want to build up a list of participants by hand). They are automatically sorted into the combat in initiative order.

Delayed Actions

There is also some support for delayed and readied actions, making use of colour tints on the tokens themselves to make it obvious who has a delayed or readied action. This information is also shown in the initiative tracker itself. A token can undelay or unready at any point, in which case they will be added to the top of the initiative track, either after or before the current token (depending on whether it was a delay or ready).

Additionally, some house keeping is automatically performed when a token's initiative turn comes up. As well as un-flat footing them, an unconscious token will get an immediate stabilisation check, and regenerating or fast healing tokens will have that applied. There is also a new Weakened status that halts any regeneration for a round, that is automatically removed on a token's turn (I'm not certain this is correctly following the rules, but it's simple and consistent). Dead tokens are also automatically removed from the initiative track.

Finally, I've added a modification to how Mooks are handled at negative hitpoints. One issue I've had is that in a low level campaign like I've been running, many creatures have greatly more negative hitpoints than they have positive. A goblin with 4 hitpoints, can survive down to -11, so their hitpoint bar stretches off to the left, several times larger than the token itself. They also tend to stick around for ages.

To resolve this, a token's negative hitpoint limit is now capped at half their maximum hitpoints (normally it is their constitution score). Creatures with twice as many hitpoints as they have constitution are unaffected, and this only applies to a token which doesn't have the vision property set. The result is that low level critters should die a lot quicker once they are 'down', removing them from the initiative and need to worry about them.

2018/02/11 11:41 · sam
blog.txt · Last modified: 2019/07/30 22:50 by sam