Tuesday, 16 June 2020
Magical Tome generator
Here are some magical tomes for your troubles.
A Party, Split! (Hole in the Oak, pt. 6)
Monday, 15 June 2020
Stealth release: Generators
I'm releasing Generators even though they're not quite finished
{{11}} and {{10}} {{9}}, from {{3}}.Saturday, 13 June 2020
The Hunt Begins! (Hole in the Oak, pt. 5)
Session 0 (held in session 5; as my daughter is wont to say these days, "don't judge me!") yielded some good things. We talked a bit about lines and veils – things you don't want to see in the game at all and things you can accept allusions to – and a bit about conflict resolution. We also touched on the worst part of the dungeon, so far: the personality swap trap.
I don't like it. I like the idea of it, but I don't like forcing players into playing characters they don't want. As an effect that fades, it would be okay, but as it is written it's just straight-up bad. It touches on that whole "don't tell me how to play my character" thing. While PCs probably shouldn't pull every lever they come across, certain traps are just not fun. We retconned it, so August-Wilhelm is no longer a coward; the effect faded after a few days. Halvar is still retired, though.
"My" Death & Dismemberment got positive feedback. I might tweak the actual table some, but the players enjoy hitting 0 HP not being a done deal, that there's a chance to survive. Zordo's player is brought up to speed on what happened in town after they left.
Spoilers below this line.
A generator of generators!?
They're cumbersome. Like, so, so, so cumbersome. I'm not gonna name names or link you to any of them, but ... yeah. Some of them require you to host your text files elsewhere. Others require you to use extremely specific syntax but offer no validation of them ("test extensively" is not a validation). Others still offer hosting but you can't edit your own generators after having them hosted. Many offer you a blob of javascript you can add to your blog and get a sample output from.
My immediate goal was "I want dynamic table results", rather than "I need to fix everything" or something like that. I wanted to be able to write "2d6 orcs advance slowly down the side of the ravine" and have the output be "3 orcs advance slowly down the side of the ravine"; I figured that was a good place to start. You could make a JS page that just scanned the text for dice rolls and replaced them.
I've still not gotten anywhere near that. I made something else instead. I made a fucking generator. Quelle surprise, I guess, since the title is "A generator of generators!?" and I'm talking about ... well, yeah.
This tool, though, I had a mission statement for. It's a bit undefined around the edges, but overall it looks something like this:
Cassie's Generator Tool
- The syntax should be clear and concise
- Hosting for both the generator and the tables (lists) should be a solved problem for the user
- Users should be able to edit their own tables if they need to
- Users should be able to delete their own tables and generators, if they want to
- You should be able to use generators or tables someone else has made
- It should offer embedding, no unsightly JS blob
- If the user wants to, they should be able to download all their generators and tables
A table result: {{table}}I'm still not sure about the dice notation, but I think it's important to have the difference between what should be rolled and what is information for the reader:
A generator result: ||generator||
Dice notation: >1d6<, >1d6+2<
"The weapon does 1d6 damage" should just say "The weapon does 1d6 damage" in the output, whereas "The next >1d4< days" should say "The next 2 days" (plural "days" is gonna be a problem. Hm.)
I've not implemented everything yet. In fact, I've only solved the boring parts. But the good parts are coming. Here's what I made yesterday:
Now, that "{{11}}" says nothing, I know. I'll think of something. Eventually, there'll be helper functions for writing generator entries (like, you'd write {{ and get a search window to find the table you want a result from), but for now there's nothing like that.
The way the code's written, a generator is simply a very thin wrapper around a parser and a transformer, so using generators within other generators should be pretty easy. A few issues loom on the horizon, though. If I become as popular as Facebook, I can't host everything for free, and there might be some resource issues along with that popularity. I might have to move the platform to kubernetes eventually, just for that horizontal scaling. And also because I want to learn it.
Today and tomorrow I'll set up the embed thing, and then I think I might even link to the thing for public consumption.
Tuesday, 9 June 2020
A wave of Evil Tree Babies (Hole in the Oak, pt. 4)
... okay? A brief pause as we wait for the player to create a new character. Then we're off to the Oak, again.
Spoilers etc.
Wednesday, 3 June 2020
Shades of my former self (Hole in the Oak, pt. 3)
During the downtime, they've noticed fewer and fewer children in the city. Briefly asking around, they find no clear answer as to why. As they make their way to the Oak, they also find countless dolls spiked to trees.
Pre-session prep
Spoilers for Hole in the Oak below this line.
Let's Go: setting up KataGo's Human-like network
TL;DR: It's all about them command-line arguments. Here's a short guide: Install Sabaki Download the latest release of KataGo and e...
-
TL;DR: It's all about them command-line arguments. Here's a short guide: Install Sabaki Download the latest release of KataGo and e...
-
The initial purpose of the Temple wasn't even a temple. At first, there was a demon that kidnapped babies, as demons are wont to do. Thi...
-
The goal with the class rework is to fix the B/X (OSE) thief. There are various issues with it as written, but Hear Noise is the worst offe...
