Wednesday, 11 August 2021

Proof of Concept: Merging encounter tables

I made a thing:!

It's a proof of concept of merging encounter tables. Like, the party is moving through a forest hex towards a mountain hex. The forest has its own encounter table, and the mountain another one. With this tool, we'd be able to load both and roll on either of them, or we could weigh it so that when we're closer to the mountain there's a larger chance that we'll roll on the mountain table but there's still a chance to roll a forest encounter? Does that make sense?

Anyway, it took about an hour to throw this together, but for a future app, I'd need some more planning. Ideally, I'd want users to be able to save their lists to their "account" (I don't like accounts, but something like OAuth would do?) and select those. A way to roll on the tables is a given. What else? A really cool thing to have could be parsing the results (so "1d6 goblins" becomes "3 goblins").

I'll be honest; this idea isn't mine. I stole it from Ten Foot Polemic, which is a terrific blog. I just made it into a PoC.

Let me know if you have any ideas I could steal implement, or at least consider, for a future app!

Sunday, 18 July 2021

Some shrooms

Someone made a mushroom generator. It's not terribly useful, but perhaps you're interested anyway:

I almost made a generator out of it, but decided against it. That said, I did prepare a bunch of mushroom images that now have nowhere to go and since they're made from public domain photos and then reworked by me, I figure I can re-release.

The images are released under the Trans Copyright Act:

You may use the material free of charge in any commercial or non-commercial work, as long as this text is included for said material:

Trans women are women.

Trans men are men.

All queer lives are valid.

Black Lives Matter.

Tuesday, 4 May 2021

Same location, fresh faces

Hole in the Oak, season 2

Alright, so I've started DMing for a bunch of newbies. I'm running them through Hole in the Oak, and I have some thoughts on that dungeon re: new players, but let's just quickly run through the cast (we're running with 5 torches deep, and I must say I am *not* a fan):


Thief/Assassin-wannabe. Parents tragically murdered. Outsider. Look, we all know the drill. We've heard this character countless times before. The player has played him before, too -- in the group's last campaign, even. Okay.


Halfling Zealot. Worships a duck god. "A bit silly." It's fine; I don't demand much from level 1 characters; it'll get fleshed out in time.


Mage. Lacks any kind of character, which is also fine.

Unnamed Warrior

I actually forgot their name, but it's another unremarkable character.

Aaaaand... action! (2 sessions)

(Oh yeah, and Oak spoilers from here on out, obvs)

The group starts at the Oak. Nobody brought torches. Mage and Zealot figure out that they can just use the "Illuminate" cantrip and sure, why not. If they continue with it, I'll start demanding concentration rolls with a failure meaning they can't use the cantrip again for an hour. I don't care that much, but the idea behind 5TD is basically "resource management" and if you sidestep that with a thing that exists on your character sheet I don't really see it as a win. But for now, whatever.

Group heads to the carpet hiding a teleportation circle. Adrian decides to check out the passage leading directly north. I ask if they just walk straight across to the other opening, which they do. Adrian is now elsewhere. Rest of the group faff about a little bit, then follow him through. Nobody knows where they are any longer so that's great (is it?).

Group checks out the room with stone seats arranged in a circle, and spends about half an hour of playtime there. Then they move west (toward bat cave). They try to force the door to the gnomes open, but the thief is weak af and the door isn't cooperating; the gnomes tell them to buzz off, they don't want any kind of shifty ppl mucking about.

The ask the moss faces for secrets, and learn that there's treasure at the beach. They then head to the faun's reception room, ring the bell, and a few of them drink the tea. Adrian falls asleep and Tomas pretends to sleep. The unnamed warrior asks what the hell is going on, but Ramius just laughs and says that they can either leave without their friends, alive, or they too can end up in a stew. The warrior refuses, but gets stabbed to 0 hp (from 3, so I mean... yeah) by Ramius's wives. Selina, having stayed passive, trades some of her blood for Adrian and carries the halfling away, leaving Tomas and Unnamed Warrior to the tender mercies of the fauns. Tomas tries to run away, but the fauns catches him fairly easy. Sucks to be Tomas.

Session over. I tell the players that they might want to roll up new characters, but Tomas's player refuses, he'd rather hope for the best. 

New session begins with Adrian and Selina making plans. The Unnamed Warrior player makes a new character, a dwarf warrior named Thorin. Adrian and Selina makes their way back to the moss faces, then head north toward the Hall of Kings (iirc it's named that? I'm writing this from memory, without a map). They find a dwarf warrior where the body/trap would be, and Adrian decides "oh hell naw, we aint going that direction" because someone or something attacked the dwarf with a sleeping dart. That ought to teach me to never assume anything. Anyway, the dwarf apparently drank too much the day before, made a bet with someone, and somehow ended up down here and no, he has no idea how to get out either.

The group heads back toward the glowing moss/moss faces area, then head west to the roots. They look at the roots, then decide "I guess the way is blocked" and head back towards the gnomes. They ask the grumpy gnomes for the way out, and the gnomes, figuring that they can catch two flies or whatever, tell them that if they get rid of the ogre for them, they'll gladly help them find their way out. The group decides that that sounds too dangerous, and decide to instead check out the other painted doors (area 35). They see the fire beetles, decide that that's not something they want to poke at either, and head through the bull door instead.

Adrian spots something lodged inside one of the holes in the passage leading to the lizard shrine/altar, but decides not to chance anything. Adrian is very much paranoid right now, and only wants out. They pass through the lizard shrine, find the beach and dig around a bit (17 silver! the group decides to split the treasure between them). They then make their way to the gnome fishing beach -- there are no gnomes there -- and eventually find the fish shop. They're offered to be led through the gnomes' homes, blindfolded, and pointed toward where the ogre lives (word among the gnomes has spread that there are adventurers that might deal with the ogre somewhere in the Oak, and so the gnomes in the fish shop are aware of the offer), but the group declines -- they don't trust no gnomes. At this point about 10 hours have passed since they left the faun's place, in total.

They head back towards the bull door, but run into the ogre on the way. He's in a bad mood, but some quick thinking has Adrian offering a gnome to him if he helps them find their way out. That sounds like a good deal to the ogre, and the group sets up an ambush in the "HAIL KEZEK etc etc" room (the oval room between the fish shop and the lizard altar, I can't remember the number).

Session over.


The players are having fun, at least, but damn they're... new, to this. I don't think Oak is a good starter dungeon for new players. I think it's an amazing starter dungeon for people new to OSR, but I don't think that it's a newbie dungeon. I'll write more about this later. Next session is on Thursday, so that's not too far away.

I think I need to change how I run the dungeon. Like, it feels like they've been blocked by all my ideas, but at the same time I'm not the one that planted the idea that someone hit the dwarf with a sleeping dart. I even pressed the fact that it was a trap that did it. But what's happened is that the players have, voluntarily, removed an exit from their loop. They also didn't bother to check the roots, they just assumed they're impassable. That's definitely on me. Better descriptions.

I think that they're very used to getting the story and what they can do handed to them. I've been keeping quiet because I want them to appreciate that they can do whatever they can imagine, but perhaps that's not working? I'll talk a little with them before next session.

Another issue is that one of the players is super shy (or just bad at talking, that's an option too). Like, can barely talk. I don't know what to do about that. I don't want that to be why he's not finding RPGs fun. I'll ask him in a private message, I guess.

Tuesday, 16 February 2021

Owing to my sins my troubles have grown and my laments increased

Who is Zach Snyder and why should I care?

I guess he made some movies. Oh my god, he's making The Fountainhead, well I guess I know all that I need to know about that pasty white guy.

He's also "Developing 'Faithful' Retelling of King Arthur's Legend" (orz). I mean, okay? Which one? De Excidio et Conquestu Britanniae by Gildas? Ok, Arthur's not mentioned by name but the Battle of Mons Badonicus is? Historia Brittonum? Annales Cambriae? Preiddeu Annwfn?

Do you see the point? We have 4 different works across 400 years, lol. A few more in 10th century CE, Pa Gur yv y Porthaur ("Who is the gatekeeper?") and Englynion y Beddau ("Stanzas of the graves") (might I just say that Welsh is badass and ya'll should be proper proud of your language, I love it).

6 more in 11th century, and in 12th century CE it just explodes. There's Tournai's De miraculis sanctae Mariae Laudunensis, which is an early witness to the legend of Arthur's survival, and Life of Saint Kentigern which mentions Merlin (Lailoken), to mention a few. In French and Anglo-Norman you have Tristan by either Bérouc or Thomas of Britain, de Troyes' poems, Robert de Boron's poems among other sources. Then you have Oberge's Tristan (lol, you don't need unique names) in German, Zatzikhoven's Lanzelet which is a rendering of a lost French tale of Lancelot, predating Troyes's Lancelot.

There is so much. You can't call your adaptation "faithful" because you cannot be faithful to so many sources. Fuck Snyder and his posturing.

Anyway. The reason why I wanted to bring this to your attention is this: there's a Hebrew translation of parts of the Vulgate Cycle (an influential literary cycle that consists of interconnected prose episodes in Old French, it focuses on the love affair between Lancelot and Guinevere); it's called Melech Artus ("King Artus") and you can buy it re-translated (and analyzed) to English (by Curt Leviant, who got to see the original manuscript and I am dying of envy). You can also read a less legal copy here.

If you speak Hebrew, you can read it here, too.

Monday, 8 February 2021

It's the dawn of a new year. A season of change.

The group

Is probably dead. Well, dead is a bad word to use when the world is struck by a global pandemic. There seems to be little interest in continuing the campaign, and so I'm leaving it on the back burner for now. I really hoped they'd want to keep playing; who /doesn't/ want to break through an eternal siege of undead monsters and bring ancient gods back to life?

The tools

I'm in the middle of changing jobs, so the tooling is taking a back seat right now, but these are in various stages of completion (that is, none of them are done):

  • The generator generator is dead. DigitalOcean killed their platform, and I want to take it in a different direction
  • Untitled Hex Project is paused
  • Generators 2: The List-ening is alive; I have a few amazing ideas for it, but I need to iron out the details.
  • Gardens of Ynn -- this generator is paused until I decide how I want to finalize it. The skeleton of it is finished, so to speak, but I feel I wanna dress it up some before I release it.
  • Chargen tool is dead, and I have no interest in touching up the issues in it either.
I'll see if I have time to write something about the development of the Generators 2 project. It's a pretty fun project, tbh, and I think people will enjoy it.

Friday, 13 November 2020

Long time, no C

 I'm back!

I took a break from RPG things and worked on some other stuff for a while, and the group also had issues getting a real session going, so we'll skip ahead with a short look back and then move on with our lives. But first, some news from the development front! (imagine a 30s newscaster voice, please).


Right, so Digitalocean, what owns Nanobox, decided that that's not a platform they want to keep any longer and are shutting the service down. Worth mentioning is that DO bought Nanobox because they were taking market shares from DO and other bigger places, and offering a really good product (basically an abstraction layer for Docker and I don't know why I'm giving ya'll these details you don't give a shit). DO bought them, and a year later they're shutting it down and telling people to "use our NEW platform instead!" to which I say fi on that, I'm taking my business elsewhere.

What does that mean for me, the customer?

Seeing as how I was the only one that actually used my Generator generator, nothing. Nobody is affected. A few of my posts should probably be updated because they have iframes making requests to nowhere, but I'll get there ... some day.

So no generators?

Actually, I'm working on a new thing... it's not ready for unveiling right now, but I'll get to that later. It's gonna be awesome, though. All my tools are awesome, ya'll know that.

Right, with this done, let's get down to business!

(spoilers for TotSK and ASE, and some Shadowbrook Mansion; beware!)

What's up with the party?

I don't remember where I left off, but the group gave up on Tomb of the Serpent Kings after they (well, one player really) figured it was too dangerous to go on. They discovered perhaps half the map? Ish? Before running into a locked door (TotSK spoiler I guess, but the key hangs from the chain on the basilisk's neck), and a Basilisk, and a goblin that wanted to make a player into their king (the player, incidentally, who didn't want to become king because "they might eat their kings").

Anyway, they (or the leader, really) gave up on TotSK, and then the group shopped around for some other dungeon to explore. Worth mentioning is that the group's not seen all of Hole in the Oak either, again opting out of delving further because it's "too dangerous."

The group decides to make a visit to Shadowbrook Manor; as mentioned in an earlier post they had the option of going there first but didn't care to make enemies with an NPC adventuring group and so went to TotSK instead. Except, the group that went to Shadowbrook Manor left the Skeleton Closet open. There's been a steady supply of skeletons growing in that house, eventually spilling out into the grounds, ever since that group left. One skeleton every other second or so. And it's been at least a month since they left. That's 1,314,000,000 skeletons. I've been seeding the group's travels with random skeletons. Now they finally found the source; a giant WAVE of skeletons growing on the horizon. (I've decided that the skeletons are just milling about until something humanoid shows up, at which point they charge, which is why they've not gotten any further.)

The group decides that no, let's not go to the haunted mansion. Let's go to this place in the mountains where you need a magic sick rock to get in (I might have seeded ASE too).

They take off, after eventually buying winter clothes (mountains are cold) and rations (3 weeks of rations; it should take them about 10 days to get there, they figure it's fine). They also hire a guide, an old hunter/trapper named... something, I can't remember, to help them find their way.

Mother nature says it's not fine. They get caught in thunderstorms and blizzards and strange Spirit Clouds. They have to trek out of the way of a goblin raiding party. They're losing time. They find an abandoned (haunted) tower. The guide says that it's bad news and that if they insist on going there he'll return to town instead. They insist; he leaves and they head to the tower without him. Inside they get a few rooms before getting spooked by ghouls and legging it (current treasure: 9 golden rat teeth).

They make it to the mountain and to the Gatehouse (I think it's called?), and make their way inside. They find the reactor, get attacked by radioactive stirges, find some chrysoberyls (600 gp!), and then get chased by robots, at which point we need to take a break.

After the session, I tell them that I've noticed they're being super careful because it's so far from civilization and that it'll take too long to bring a new PC into the group, and that they shouldn't worry about that because I'll weave a new PC into the game at a fitting place instead.

The "leader" player is offended by this and claims I'm calling him, specifically, out and leaves the group. He also says that it feels like they're never allowed to "win." Let's talk a bit about that because I disagree.

Leaning into the game.

OSR games tend to be very lethal. I've lowered the lethality of my game, but instead crippled characters (a few have lost legs or arms). I've given no mechanical maluses for having a prosthetic leg/arm (except ya can't run) and requiring a period of convalescence. I think that's fair, right?

The group, or rather the player that left because he definitely had the "leader" role in the group, didn't care for downtime. I said, "this guy needs to rest, he just lost his leg, it'll take 6 weeks before he's on his... leg, again." And the group just "decided" that they couldn't afford to wait that long (it costs 1 gp per day at the inn).

Another character lost their arm, this time belonging to the "leader" player. He was retired immediately because again they couldn't afford to wait.

A third character lost their leg; I specifically told the group that there were no maluses (except the running) and that they'd be able to adventure as well as anyone else once they were healed up. Since the character belonged to the same player, the character was retired.

The group has, so far, scratched the surface of three dungeons. For various reasons (traps, fighting when they should be fleeing) they've retired three characters (one belonging to another player) + another character retired when the guy was told I wouldn't let him play stupid because of a low intelligence score.

The cleric has leveled; that's at least 1500gp for him alone. Given that they split the gold equally, that means they've gotten at least 1500 x 4 = 6,000 gp. Sure, they bleed money (the cleric bought a silver Warhammer, and then had to sell it to pay for a new suit of armor (lol)), but they're clearly doing fine.

So why does he feel like they're not "winning"? I dislike the "win" mentality to begin with; RPGs aren't about winning or losing, they're about telling a story together. So when I say "hey, it's fine if that guy lost an arm, he can still adventure" I'm really saying "let's keep the story going for this guy." Because I want the story to grow.

Sure, there'll be losses along the way. PCs have died, but the group's story lives. The world's story lives. I think that's where the disconnect is. Perhaps the character's story is more important to him, and if so then yes, OSE might not be the medium for him.

But at the same time, if the character's story is important to him then there's no reason to retire them. So perhaps getting a lot of gold is more important to him? In that case, he needs to lean into the fiction. Yes, the logical thing to do is to not delve into dungeons. If it's all about making money there are better ways to achieve that than going into horrorplaces that mankind was never meant to know, right? But, given the fiction (you play someone that goes into dungeons to make money), perhaps you need to lean into that instead. Delve deeper, instead. Yes, it'll be dangerous and yes, someone will die. Death is first of all NOT final (as the cleric found out), and even if it is, if you had fun while playing isn't that the biggest win?

Returning to business as usual

So that player dropped out. Luckily, I found another player that wanted to join. The group's deep in the Gatehouse (near the Simulation, for those of you who know) when he joins. Hidden behind a crystal statue is a weird sarcophagus-looking thing:
And with a big red button on it, Buffalo-Frans decides that red is a good colour because it's colourful (?) and so he pushes it.

Out steps Mangle-Manfred, a relative! But why? And how? These questions will have to wait because August-Wilhelm (the cleric) decides to open the very tempting chest, at which point the statues come alive and attack!

A brief fight later, and the group is rewarded with a gold bar (600 gp). Now they just gotta find their way out. Because the player that left held the map. They do find their way out and make their way toward civilization. On their way, they trade with two goblins (who was on their way to an orc camp to bribe the orcs with food). They buy 7 days of rations (x 6, because there are 2 henches, too) for a total of... 5 rat teeth and a lead-clad chest on a cart. The group played the encounter so well ( *whispering* "No, don't sell them the golden teeth of might, we need those!" etc) that I just went with it. Also, killing the group at this point because they starve to death on a mountainside is not ... good storytelling. 

The group eventually arrived at the swamp about two days from Utböle (base camp/hometown), where they met a trader telling them that a skeleton army is laying siege to the town. "Wait, nobody told anybody about that!" one of the players asked. So it's a wrench thrown into the works, but they seem to enjoy it.

There are 2,628,000,000 skeletons across the countryside. A new skeleton joins every other second or so. I'm going to leave figuring this out to the players, lol.

The death of a clergyman

The cleric actually died in TotSK, he spent too long staring at cracks in the ceiling, and the trap came down on top of him. The player seemed okay with it, but the group haggled with the Church of Kedarr (Kedaj), a Cat of Death, and sold the cleric's soul to her in order to resurrect him (the cleric, that is). So the Cleric of Helm is now the Cleric of Helm-Kedarr, and has gotten a bunch of new clerical vows to deal with (have to push things off of surfaces, have to bury their slain enemies). A side-effect of the resurrection is that flames flicker (or outright die out) whenever the cleric is nearby; torchlight doesn't reach as far in the dungeon, either.

Definitely one for the highlights reel.

Tuesday, 16 June 2020

Bounty and Villain generator (ish)

The weaknesses in my generators are becoming apparent

A sample of the Bounty and Villain generator for Drier Deserts, Hotter Suns was posted in the OSR discord, and I figured I'd give it a whirl in the old generator. It highlighted a lot of issues; mostly formatting at this point. Solve formatting, and you can solve anything else I think.

Ignoring the dice roll (since we're rolling "behind the scenes"), it's clear that a single row will have issues portraying this information. Like, I'd prefer to have the output be something like this:
Swift 1
Tough 8
Bounty 4k
But that's not possible unless I split it into subtables -- so Dwarfish and Brawny would be in a table, there'd be a table for "Swift" and one for "Tough" and one for "Bounty." That said, it's fairly clear that the bounties are tied to the word; lower values of Swift and Tough means lower bounties. So, the "Word" could be split from the Swift/Tough part and be its own table, I guess.

Further issues appear when we add in the specialties:
 1-7 is easy, we just copy and paste the line 7 times to achieve that weighting. But, again, we'd like to format the result like so
Gun Specialist
Bounty 2k
Which, again, we can't. Yet. Anyway, here's the result of it.
As you can see, it's... okay, but lacking. I will prioritize formatting after I'm done with the sign-up functionality. I think the largest gain is to be had there. It would also be nice to have a function to sum up the bounties across the results, but that's ... soooo far away.

Proof of Concept: Merging encounter tables

I made a thing: ! It's a proof of concept of merging encounter tables. Like, the party is moving through a fores...