I'm bringing the current run of my Pathfinder campaign to a break point, and I'm ending things with a bit of a party. The PCs have been invited to a 'house warming' being given by a new noble family recently arrived in Magnimar from Kintargo, in Cheliax. Obviously, they are worshippers of Asmodeus, but you shouldn't hold that against them.
I'm making heavy (possibly too heavy) use of the Influence rules in Ultimate Intrigue, and giving the PCs a chance to talk to various NPCs using the rules for discovery and influence. There's nineteen different NPCs they can talk to, plus a generic 'servants' group they can talk to.
Rather than 'influence' providing influence over an NPC, I'm using it as a means to gather information from the NPC. Each level of influence provides more information. For example, here's Lady Sila Crusca:
Lady Sila Crusca
Lady Sila is the wife of Lord Malchus Crusca. She is in her fifties, with long white hair. She is wearing a velvet green dress, threaded with gold and silver.
She is known to have had a relationship with Lonjiku Kaijitsu, and gave birth to his daughter Amaya Kaijitsu who now lives in Westcrown. She is enjoying the food and drink, as well as the gossip, which she seems to take part in using multiple languages.
- Knowledge (Geography) or Craft (Calligraphy), DC 14
- Knowledge (Nobility) or Linguistics, DC 19
- Sense Motive, DC 24
- Anyone trying to chat her up. She made that mistake once, not again.
- Has an interest in Westcrown, and willing to discuss events in that city with anyone.
- Is open that her daughter Amaya was fathered by Lonjiku Kaijitsu, and will talk rumours about what has happened to that family.
- Tian women, or anyone in exotic foreign clothing styles.
- DC 14; you can use Linguistics to impress her with your multilingual talents, or Perform (Oratory) come up with some good haiku.
- DC 19; you can use Bluff to better understand a woman who has lived with secrets, or Diplomacy to win her trust.
- DC 24; you can use Profession (sailor) for she seems unusually interested in talking about sea currents along the Lost Coast.
- She is Neutral, Aristocrat 4. Her only daughter, Amaya, was fathered by Lonjiku Kaijitsu, and she took her real (deceased) father’s name a couple of years ago. She now lives in Westcrown. +2 Malchus Crusca
- The Kaijitsu family have mostly left their holdings in Magnimar, but she is trying to talk Amaya to coming back to the city and taking things over.
- She has been trying to talk her husband into finding the wreck’s of Amaya’s grandfather’s fleet along the Lost Coast.
- Aristocrats +1
The rules in Ultimate Intrigue set the DC of skill checks based on the average party level. I'm basing it on the NPCs level (10 + level). This makes some a lot easier to influence than others.
One of the first things that can be discovered about her is her alignment and character classes. Not all NPCs are so easy to find such things out about (some may give inaccurate, or incomplete, information for the first level or two of influence, especially those who are multi-classed).
Some of the NPCs give bonuses to influence other NPCs. So in the case of Lady Sila, she grants a +2 bonus to influence her husband as one of her influence benefits. The bit about the shipwreck is a possible adventure hook, and possibly a clue for a previous plot point they've been sitting on for a while. Her very last benefit is providing a reputation bonus to the Aristocrats faction.
Part of the aim is to figure out who can be spoken to, in order to get information and bonuses to make the harder NPCs easier to influence. Some of the PCs have quite high skills in some areas, which is turning out to be really beneficial for them.
I'm running the evening's events from 8pm through to midnight (when they know they have a special meeting with the head of the family). So far they are up to 9:30pm, and have fully 'unlocked' 3 of the NPCs. They are very unlikely to be able to talk to and find out all the information possible over the course of the evening.
The mechanisation and gamification of the interactions with the NPCs has worked quite well so far, making things a lot more tactical. Rather than just “I'll talk to Lady Renova and make a Diplomacy check”, there's more tactical planning involved.
In order to gamify things further, I've added in some extra options of what the PCs can do of my own. I'll cover them in the next post.
I've been adding support for planetary rings to Worldgen over the last couple of weeks, and I now have added the display of them to the 3D view. Initially I played with the idea of rendering them as discrete points, much like I do for asteroid belts. This gives the advantage that they can be rendered correctly under gravity, with inner points orbiting faster than outer points. However, the result doesn't look much like the rings of Saturn.
So now rings have a texture generated at creation time, which is stored in the database. This is then 'just' applied to the ring object as a texture. I say just, because it required some hacking of the threejs library code to apply a texture to a ring in a circular pattern. Fortunately, I'm not the first person who wanted to do that.
The texture currently uses just a very simple algorithm for drawing lines of random colours. The only 'intelligence' is a chance of a gap forming in the rings, where the opacity is reduced. Other than that, there are no patterns or attempts to change the colour between random variations of the same hue.
Currently though, the placement and size of the rings isn't ideal, and I need to put more work into making them look a bit more 'realistic' (where realistic is 'like Saturn', since that's what everyone expects). I do allow for thinner rings, and multiple rings (the ones shown are single rings which have gaps in the texture), but more variations could probably be added.
Note that since all planets lack an axial tilt, their rings are similarly flat. Also, since the ring textures are just lines at the moment, they don't rotate.
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.
- 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.
- 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.
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.
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.
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.
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.
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.
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.
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.
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.