Diary

Welcome! :-)

This is both a wiki (a website editable by all) and a blog (an online diary about the stuff Alex Schroeder reads and does). If you’re a friend or relative, you might be interested in reading Life instead of this page. If you’ve come here from an RPG blog, you might want to head over to RPG. There are other similar categories to be found on the SiteMap.

Für Rollenspieler gibt es ebenfalls eine eigene RSP Kategorie.

2019-10-18 Deep Carbon Observatory Day 3

Previously: Day 1 & Day 2.

I was playing Godspeed You! Black Emperor and the soundtrack of Arrival.

For prep, I noted the stats of a turbine golem, named the village with the witch, noted the witch stats, and decided on the gold value of the ship, and the spells of the unburnt scrolls, should the party get to the place this session.

When we encountered the turbine golem destroying the village in order to build its little dam, the party immediately decided to try and communicate with the golem. They left cut wood in its path and I decided that it would work. It preferred the wood to tearing down houses. It also didn’t want to talk or otherwise communicate.

The players then brought heavy stones to the dam and tried to lure it to a hillside where they had been digging them up. They argued that the golem would surely know how to break stones. I agreed and so it worked. No fight necessary.

Then the dwarf player figured that maybe the golem needed repair from the inside and decide to jump into the opening... What was I to do? Instant death, no save? The golem won initiative and whacked the dwarf for 3d8, but the player persisted. I described like him being sucked into a black hole, the feet and legs stretching, growing thinner and thinner, disappearing. At last the other players reacted and decided to throw a rope and pull them fool out of the golem’s maw. I allowed this to succeed, no roll necessary. I did rule that the dwarf’s legs were still long and thin, liquefied. They were stumped. I had the magic-user NPC mage suggest that should bury the lower half of another dwarf in the loam, extract the other dwarf and then they’d have a sort of cast into which to fill the half liquefied fool. In a few hours it would solidify again. They all thought it was a splendid idea and the player just role-played their dwarf as being raw and tender and it was good.

What would you have done?

In all these discussion I forgot about the witch. Oh well.

When we came to the boat, I told them they estimated it was worth about 50,000 Gold, and thus 50,000 XP if brought somewhere. Too much? Not enough? I don’t know. I also fear that the logistics of getting the treasure back to Port Shaw is not going to be very entertaining. I’ll have to think of bandit and pirate attacks if the players aren’t careful. For the moment they left five henchmen there as guards and that makes sense.

Should the Crows attack the five henchmen with a bunch of zombies? I think so... That reminds: I once again forgot all about the Crows as I was running the game. It’s simply tricky to think of things that aren’t written all over the place.

Turbine golem

Tags:

Add Comment

2019-10-18 Blogging Frequency

I just realised that this blog was listed on The 2019 Great Blog Roll Call! Wohooo! 😍

I like the mini-review:

Alex has a natural talent for beginning a conversation that will leave his readers examining their own thoughts on the matters he explores.

Too bad Google+ disappeared. Oh well!

As for updates, I was curious myself. I counted the RPG pages for 2017 up to the end of September 2019 (excluding comment pages, images, and so on). That gave me 261 pages in 33 months (two years and nine months). In other words, there are about eight RPG post per month. I’m surprised myself. Wow.

This is me bragging! 😁

Tags:

Add Comment

2019-10-15 Speech to text using Pocketsphinx!

For a while now I wondered how I would ever manage to transcribe my podcast episodes. Today I stumbled upon the CMUSphinx Tutorial For Developers and I discovered that pocketsphinx was available for my system! I installed it, and the US English language model, pocketsphinx-en-us.

Convert an MP3 file to WAV 16kHz 16-bit mono:

ffmpeg -i 01-halberds-and-helmets.mp3 -acodec pcm_s16le \
    -ac 1 -ar 16000 01-halberds-and-helmets.wav

Process it:

pocketsphinx_continuous -infile 01-halberds-and-helmets.wav \
    -hmm /usr/share/pocketsphinx/model/en-us/en-us \
    -lm /usr/share/pocketsphinx/model/en-us/en-us.lm.bin \
    -dict /usr/share/pocketsphinx/model/en-us/cmudict-en-us.dict \
    > 01-halberds-and-helmets.txt

Listen along, if you want to: 01-halberds-and-helmets.mp3.

Here’s what pocketsphinx produces:

hello this is our next big thing and desist
albert said helmet sport cause the first episode
i want to talk about my game
to the fairly simple i'm old school the indie game
very simple rules so very special but it's mine and ten
talking about it provides a framework for me to talk about all the games i like to play

Oh wow. This would require a lot of editing!

If I transcribe it, using the same linebreaks as above:

hello this is alex speaking and this is the
halberds and helmets podcast first episode
i want to talk about my game
a fairly simple old school d and d game
very simple rules it's not very special but it's mine and
talking about it provides a framework for me to talk about all the other games i like to play

Tags:

Add Comment

2019-10-14 Spain

Well, Spain is joining the world on its slide to the moral bottom.

Catalonia leader jailed for 13 years over independence referendum. Suddenly I remember torture in Spain and I realize that I really don’t like Spain.

Tags:

Add Comment

2019-10-13 Theatre of the mind

I don't use battlemaps. It’s all theatre of the mind.

Actually, it’s worse: it’s so abstracted that we don’t really need to imagine where people are standing, or which of the orcs has been hurt. The rules I use support this:

  • You can move anywhere on the battlefield and attack: you don’t know how to move from here to there on the battlefield
  • Anybody can take one attack to a buddy by interposing themselves; your armour and your shield and your body can protect your friend without you knowing where they are on the battlefield
  • You can’t take two attacks aimed at other people because you can only be in one place at a time, of course.
  • You usually cannot aim at particular monsters. Just as players can protect each other, the enemies do the same thing. I order to make it easier for me to run the game, I just array enemies in a particular order and every round they get attacked in turn, no matter what players say. When the ask how this is possible, I’ll just say that they cover each other as well (but not optimally so).
  • Anybody can fire ranged weapons at anybody else without needing to establish line of sight and without wondering whether the enemy is currently engaged in melee. There is no friendly fire. It’s simply quicker and easier that way. If you really don’t like that, then I’d suggest you simply disallow the use of ranged weapons once the surprise round is over. Given those two options, however, it’s simply easier to just allow people to fire at will.
  • When there are area effects, we negotiate the number of targets affected. Usually that’s not a problem. I love negotiating at the table, but only if negotiations are short. 😅

I’ve seen something similar in Ryuutama and at the time I wrote a blog post about combat using two rows per side.

Tags:

Add Comment

2019-10-13 Small dungeons used at the table

Recently I wrote about randomly generating dungeons using Hex Describe and yesterday J. Alan Henning () posted a comment on Diaspora talking about how it went when he used one of them. I’m reposting it here with permission, slightly edited. 🙂

Here is the dungeon I used and a recap. I basically ran Hex Describe and read over all the dungeons, looking for a religious-themed one. I then lightly reskinned it to fit my campaign.

0409: Ziggurat of Stoijwerd

Visible from a great distance is a half-buried ziggurat of Stoijwerd. Sandy hole in the south leads to catacombs underneath the ziggurat:

  1. Catacombs: In one wall of the entrance are many deep niches, each containing a goblin skeleton.
  2. Vestry: A chest with a broken lock holds vestments in many sizes, including albas with symbols of Neccelio. (They are threadbare but still wearable.) On one wall is a roughly hewn slate slab, flecked with dark vermilion stains. [My pantheon has 12 gods. Neccelio is the lawbreaker archetype. “The god of the trinity, he rebelled and created animals and night and death. Sometimes called “The Devourer.””]
  3. Altar: Decades of melted wax form a frozen dribble and cover a wide brick pedestal. A chest-high wooden table is draped in a cloth whose imagery has been lost to mold and mildew. 348 staters under table but invisible to anyone not wearing a robe. Trap: Rope Trap, each PC rolls d20 under Dexterity or ends up hanging from the ceiling. [Converted to a dexterity check against a DC 15 for 5e.]
  4. Shrine: A tall bright brown flame rises from the floor in the middle of this room. Three frescoes each display a hellscape ruled by a devil: a devil with eagle wings and a human head on the body of a bull, a devil with bat wings and the tail of a rat, and a devil with a human head on the body of a bear. Trap: Trapdoor Spider Pit, triggered on 1 in 6 per PC to fall in pit with a giant spider (HD 4 AC 6 1d6 + paralysis F2 MV 15 ML 7 XP 400; climb).
  5. Temple: The room is dominated by a central dais, two brick steps above the floor. A candle holder holds only melted wax, but the room still smells of incense and patchouli. Monster: 13 ghouls, who can be bought off with treasure if any PC is faithful to Neccelio or will destroy their religious emblem and follow Neccellio (HD 2 AC 6 1d4/1d4/1d4 + paralysis F2 MV 9 ML 9 XP 200; aura of fear (save vs. spells or flee for two rounds); when bitten, save vs. paralysis or be paralysed for 1h; shape shift into a hyena) Monster: 1 hellhound (HD 5 AC 4 1d6 F5 MV 12 ML 9 XP 500; 2 in 6 chance that instead of biting, it breathes fire (5d6); see invisible; hellhound embers burning inside them are worth 500 staters to an alchemist) Treasure: bricked into the dais, 266 staters. Gems.

Here’s noteworthy things my players did.

One PC had been arrested by city guards and beaten in an earlier adventure, so he was wearing makeshift clothes. He put on one of the robes. As a result, he was the only one who could see the staters (electrum pieces). The other players had removed the cloth but no one had noticed the staters until he did; they still couldn’t see them. He took his robe off and found that they were invisible again. This was meant just to be an unusual way to hide treasure, but now he’s obsessed with figuring out how to make the staters permanently visible. He convinced a few but not all of the PCs to put on robes so that they could see the coins.

Oh, when the halforc ran into room 3 without checking it first, she got caught in the rope trap and swung around upside down from it saying “Adventure!”

The party then listened at the secret door and heard the hellhound snoring and the familiar reconnoitered room 5 (accessible from room 3) – they cast silence and then used mold earth to block it off, so they wouldn’t be disturbed by the ghouls.

They went to room 4, where 1 fell into the trapdoor spider pit. The spider bit him and also clambered up and spit web at the cleric, plastering him against the wall. (I was using the Giant Spider from 5e.) The halforc dove into the pit with her sword out, missed the spider and struck her friend instead. The other party members failed to free the cleric (the web had AC 10 and 5 hp), but the wizard took careful aim and killed the spider with a ray.

After the two in the pit were rescued, they become obsessed with the brown flame. The halforc burnt stuff on it; the elf used a wind spell to extinguish it. Halforc: “What does the room look like now?” DM: “It’s dark.”

The halforc then became obsessed with the frescoes of the devils. She touched the one with the bear, and the druid turned into a bear. The druid touched it and transformed back to a human. The halforc then touched another fresco, and the flame began burning again. The players became convinced this was a puzzle of some sort, where I had just been improvising, but I told them the hellhound had begun howling and they heard scrabbling at the earth they had filled the ghoul’s tunnel with.

Before fleeing, they had been on the search for desert pocket mice for a potion, and they found signs of mice in the bottom of the chest with robes (improv again), then found burrows and flooded three of them so the mice would escape from the unflooded one. The wizard then put them to sleep.

All in all I think the mini dungeon format is a success, and as you can see players add their own context and mysteries.

As a further example, the third of the ingredients they need for their potion quest is scorpion tales. They had heard rumors of raiders riding giant scorpions (for my hex map descriptions I ran my map through all three rule sets; this is from Peter Seckler’s). After leaving the ziggurat, they followed clues to come across the giant scorpions at night; the druid carefully approached them and found one of the giant scorpions was tired of being a mount and wanted to be a goddess to the regular sized scorpions. The druid persuaded her to lead them to a scorpions nest, where the PCs became enforcers for the goddess scorpion, killing any that tried to flee. (Not at all how I had expected them to find scorpions! I had a probability table for searches created and everything.)

I love this! 😀

Tags:

Add Comment

2019-10-13 ActivityPub and Oddmuse?

I wonder whether I should write an extension to a basic ActivityPub server for Oddmuse. What would it do? Allow people to comment? And it would also allow people to delete their comments? And offer a moderating interface so that any users could remove any comment from the wiki? After all, we want peer review.

We also want to edit each other’s wiki pages. How would you edit a wiki page that is based on ActivityPub posts and comments. What would it mean for the original posts and comments? Say you left a comment and I fix a typo in your comment, but then you delete your comment. Does my edit disappear? What if my contribution was more than just a typo fix. Does it still disappear?

Would it be possible to create new posts using a post shared with the wiki? What would we get: a wiki that is also an archive of a conversation? As long as you mention the wiki, new stories and comments on the story get posted.

Thinking about this makes by head hurt.

For now it seems to me that a trivial implementation makes no sense. These are our options:

  1. Just post edits to the fediverse. You can already do this by plugging a RSS feed into a bot. Example: @kensanata@bots.tinysubversions.com. This has been done.
  2. Allow wiki editing and posting with weird restrictions as described above. I think this is concept needs a lot more though.
  3. Use a new ActivityPub vocabulary that allows us to talk about page edits. This would work, but it would also require clients that can offer the right UI. It would need servers that offer a new API. It would be very, very similar to simply replicating the database in the back via git, actually. The benefit is unclear to me.

Tags:

Add Comment

2019-10-12 Fantasy Map Generator

Azgaar's Fantasy Map Generator procedurally creates a map with countries, cool names, coastlines, and it allows you to edit it. No hexes!

Tags:

Add Comment

2019-10-11 Designing games for emotional impact

This is a continuation of the discussion I had yesterday with @invisivel and @hardcorenarrativist about non-adventure games.

Hardcorenarrativist said he wanted to know where “the coming-of-age stories, the ones about falling in love, about self-discovery, about coming to terms with death, about forgiveness, about despair, about betrayal, etc.” were.

Personally, I’m not so surprised to see so few of them. As I wrote in that other post, adversity and overcoming it is a big part of how we tell stories. But more than that: I also think games designed to tell particular stories feel hollow to me.

I’m often sceptical of designed emotions. If I can agree to a game of despair in Warsaw we can use any rules. Having to agree to Grey Ranks simply turns the discussion of theme into a discussion of the rules to use, and it prevents a deviation later. And that can also be drawback.

We picked a game, and thereby we picked a designed experience and there is not a lot of leeway. You can never leave Warsaw. You can never leave the Soviet army. You can never abandon the Heist. This limitation makes it a very blunt instrument for my entertainment, I fear. If you want to change the story, you’re going to change the game. The only way to not pay the price is to play one-shots or very short campaigns, it would seem to me. You get to switch between sessions.

I also feel the lack of authenticity in games that I know are set up for a particular experience. I go through the motions but it just hits closer to home if I’m playing Burning Wheel and my love is betrayed even though there are no rules about romance. It hits closer to home if the fighter picks a 1:1 fight with the evil pirate dwarf when we’re playing classic D&D and there are no duelling rules. It cuts deeper, somehow. I feel it’s more poignant. I don’t know.

I wonder whether a game designed for coming-of-age stories, for falling in love, for self-discovery, and so on… I wonder if such a game would work for me. I guess I’m both curious and skeptical.

I feel reminded of a discussion I once had regarding heroic scenes. These don’t require any particular rules, for me. They require the willingness to risk your character to an extraordinary degree to save another person.

In other words: all that this requires is perma-death.

Let me pick another example: all a game requires to be about falling in love is for the world to have people my characters can fall in love in, and for a table of friends that are interested in this. If there are rules involving falling in love, then it’s not about falling in love. The finger pointing at the moon is not the moon. A game about a thing does not necessarily require rules about the thing. It requires agreement at the table.

Maybe there is the rub: if the argument is that we want to be “telling a compelling story” then I feel Grey Ranks might do that – but what I want is something different: I want an authentic experience. I feel that many of the rules people sometimes provide in order to allow the telling of a compelling story make the authentic experience impossible, for me. Remember, I don't like Bennies. 🙂

Well, I guess I did feel despair as we played Grey Ranks. And we could not leave Warsaw. Perhaps it did work, after all? Perhaps I just didn’t like what I had signed up to experience. I’d say both things are possible: an authentic experience of despair and me being unhappy about it. I’m not sure how well this would generalize, however. Perhaps despair is an easier emotion to design for? I remember that at the end of Montsegur 1244 I felt for my character because I had explored their inner life, and I was given a choice at the end and so I somehow “owned” the experience. Hm. Food for thought in any case.

If I had to define what an authentic experience is, I’d say something like the following: An authentic experience is when my buddy dies in a fight and I am shocked and decide to bring his body back to town and hold funeral rites. We didn’t agree to let my buddy die and we didn’t know that he was going to die. Letting him die did not give me any bonus, no fate point, no narrative rights, it wasn’t a painful decision made light because of some goodie I got in exchange. Those are ways to design a game where people let their buddy die – a designed experience.

Anyway, we’re getting into bigger thoughts about game design and if you like story games I’m not sure we’re going to find agreement, here. Let me turn it around and ask you: how do you do it? Post some examples, some anecdotes from your games where it worked, that you enjoyed. What’s best in your gaming life?

I want to know about “the coming-of-age stories, the ones about falling in love, about self-discovery, about coming to terms with death, about forgiveness, about despair, about betrayal, etc.”

Tags:

Comments on 2019-10-11 Designing games for emotional impact

Have you looked at Beyond the Wall for an osr take on Coming of age gaming?

I haven’t actually gamed it myself to see how it delivers on that aspect but it is a fascinating game.

Anders H 2019-10-12 09:19 UTC


I completely agree with you regarding “designed emotions”. The best gaming moments in my life were all outcomes that occurred organically, due to a combination of unknown information and the strange will of the dice.

Ynas Midgard 2019-10-12 09:35 UTC


I haven’t looked at Beyond the Wall, sadly.

– Alex Schroeder 2019-10-12 21:41 UTC

Add Comment

2019-10-11 Building a Chat Site

Today I read a fantastic blog post by Aral Balkan, Build a simple chat app with Site.js. You probably know I’m a Perl person and I’d probably use Mojolicious to write a chat aps. I used it to write my Gridmapper server (a service that keeps multiple Gridmapper maps in sync and allows you to “join” other maps as they are being drawn).

In the blog post, Aral introduces Site.js, shows how to install it, how to serve static content, how to serve dynamic content, and how to use web sockets. And then he uses it all to build a very simple chat app – and if you visit the page you’ll see that it’s live!

What I really liked as I read through the tutorial:

  1. It all fits into one blog post!
  2. Site.js will work to seamless provision Let’s Encrypt certificates for you so you will not get any certificate errors.”
  3. The installation instructions don’t talk about npm and node or frameworks or programming languages.

This is very cool. 👍

The installation basically involves downloading a release (currently 12.7.0.tar.gz), unpacking it, and installing it. It’s a binary that gets moved to /usr/local/bin. I guess you just have to trust Aral that he’s not doing anything nefarious to you. Or just run it on a cheap machine where it won’t be able to do any damage. 🙂

By hiding it all in a binary, it’s a lot more opaque, but at the same time it’s also so much easier! If it came with my package manager, I’d install it in a heartbeat.

I should try and install it without sudo, for a separate user. The first problem you will run into is that you need priviledges to run a service on the HTTPS port (443):

Error: could not get privileges for Node.js to bind to port 443.

Makes sense. Hm. 🤔

Before that, you’ll also run into this:

/bin/sh: 1: setcap: not found

Also makes sense because it’s for super users: /sbin/setcap.

Oh well. I guess a dedicated little machine would be best!

Tags:

Comments on 2019-10-11 Building a Chat Site

@aral sent me à reply on Mastodon and told me of two ways to use it without a binary.

With Node.js installed:

  1. Clone repo
  2. ./install
  3. Review the source code to ensure I haven’t haxored your system
  4. npm run install-locally

That’ll compile the binary from source and install it.

Or just run bin/site.js instead of the site binary.

– Alex Schroeder 2019-10-12 21:13 UTC

Add Comment

More...

Comments


Please make sure you contribute only your own work, or work licensed under the GNU Free Documentation License. Note: in order to facilitate peer review and fight vandalism, we will store your IP number for a number of days. See Privacy Policy for more information. See Info for text formatting rules. You can edit this page if you need to fix typos. You can subscribe to updates by email without leaving a comment.

To save this page you must answer this question:

Please say HELLO.

Referrers: Diary Alex Schroeder Backup Blog Alex Schroeder 🐝 (@kensanata@octodon.social) - Octodon Diary d4 Caltrops: Hex-Describe & The Beauty Of Embracing Random Non-Sequitu...