Friday, May 8, 2020

Things That are Getting Me Through

Everyone is experiencing these times differently. I'm fortunate enough to have a job that I can do remotely and to not be alone in my isolation. But here's some of what's been keeping me going, and I hope it can help.


I have a cat. I feed her every day. She sits on my lap and purrs and bites me.

We also caught a sourdough starter. I feed it every day. It has not yet bitten me.

Self Care

Because I now live what my father has generously called "the life of a scholar", I don't get a lot of sunlight. I find that vitamin D supplements help me sleep better.

I was never a gym person, but the total lack of activity has started to wear on me. I've taken up the seven-minute workout, which I like much better than I thought I would.

The first few weeks without shaving are all terrible scraggly neck beard for me. With nobody to see it, what better time to push through that period and find out what other terrible scraggly facial hair I can grow?

I miss math and I also miss programming. I've taken the opportunity to write a couple of janky scripts: one that generates thumbnails for video files, and one that removes cruft from CBZ and CBR files, shrinks them a little, and converts CBR to CBZ. Use at your own risk, but I am proud of them.

I brûléed a Cadbury creme egg. It's worth doing at least once.


Before this, we sometimes saw a comedy show called Spoons & Toons & Booze. They've become Spoons & Toons & Booze & Zoom now, and they're raising money for the employees of the theaters where they used to perform.

On a smaller scale, we've hosted a few movie nights with distant friends on It works about as well as any new tool, which is to say, plan at least an extra half-hour at the beginning for socializing and troubleshooting. Test what you're planning to do by yourself first.

On Netflix, after The Great British Bake-Off, Terrace House might be the most bizarre and calming show I've found. Six young Japanese adults live in a nice house and get nice cars. There don't seem to be any stakes or anything? They all keep going to their normal jobs and stuff. After each episode, a bunch of enthusiastic commentators remark on all the drama that may or may not have happened. It's pretty good.

Sylvan Esso released a new live album.


Lots of podcasts will keep you informed or expose you to new and complicated ideas. These are (mostly) not those.

Phoebe Reads a Mystery

Phoebe Judge, host of Criminal, reads a mystery novel one chapter at a time. She started with The Mysterious Affair at Styles, then The Hound of the Baskervilles, and currently The Moonstone.

St Elwick's Neighbourhood Association Newsletter Podcast

Recently launched by Mike Wozniak, frequent guest on The Beef and Dairy Network. The usual arc of an episode is roughly: bizarre to sad to cringe to absurd. It's pivoted into the current situation seamlessly by releasing shorter, more frequent episodes, and I think they're stronger for it.

The Tranquillusionist

Helen Zaltzman of The Allusionist (same feed) reads odd things in a calm voice, with musical accompaniment by her husband, Martin Austwick.

Make My Day

Josh Gondelman has a single guest on to play a made-up game show, where points are given to answers based on how much they cheer him up. Money is given to charity. Strange motivational speeches are delivered.

Seltzer Death Match

Self-explanatory, I think. They've been editing through a backlog recently, so there's a bunch of new ones.

372 Pages We'll Never Get Back

Two of the minds behind RiffTrax read through bad books. My cousin recommended this to me and in exchange I recommended

Bad Books for Bad People

Jack Shear and Tenebrous Kate read through books that they think the other will enjoy/hate.

Monster Man

James Holloway reads through old monster manuals, a couple entries at a time. I particularly enjoyed the episode about mind flayers, and why they are the perfect 70's Doctor Who villain. Nominally topical!


Life is short. Also have these recommendations, with the understanding that I don't enjoy them any less for having lost the energy to describe them:


When there was less on our minds, my wife and I would set aside days to solve mysteries, things like Sherlock Holmes Consulting Detective or T.I.M.E. Stories. These days we play a lot of LEGO Batman 3, which is good because neither of us is any good at video games and it's fun regardless.

Quarantine has also gone on long enough that I found my old RuneScape account. While my old character is still sitting there in RS3, I've been playing Old School RuneScape, and it's really interesting to start again at the beginning.

I've started playing in a Lasers & Feelings game with a bunch of doctors and it's good fun and breezy. The same group is also getting ready for a more involved 5e game which should be interesting.

I've been playing in a West End Games/d6 Star Wars game and it's wild. The rules can be found online practically by accident, and they're worth a look.

Finally, it looks like I will be GMing again, likely 5e. I've never actually run 5e proper, but I'm hoping I pick it up easily enough.

Tuesday, March 24, 2020

7d6, split between two attributes

On 20 Feb 2020, PlanetNiles (Ey/Em) NB on the workshop channel of the OSR Discord asked1:

7d6, split between two attributes

What values are even possible?

One way to think about this is not in terms of the values themselves, but in terms of the difference between the two paired attributes. The maximum difference is when all dice are allocated to one attribute, leaving the other empty. This is then equivalent to the sum of the dice.

The minimum difference between the two is a form of the well-studied partition problem: given a set of numbers, can it be split into two sub-sets with equal sums? A heuristic method that can usually2 find the smallest difference between our two subsets (and therefore if they can be equal or not) is called the Karmarkar-Karp method, which works as follows:

  1. Take the two largest numbers in the set. Assume that these will go in opposite partitions.
  2. Because they will go in opposite partitions, we subtract them from each other.
  3. Instead of now deciding which partitions they will go in, we return the difference between them to the set. This is effectively deferring that decision until later.
  4. Repeat steps 1-3 until there are only two numbers left. The difference of these last two numbers is the smallest difference we can make with this set.
Note that we didn't actually find what the partitions are, only what the difference between them is here. I hope this is clear enough, but I'm also sure that clearer explanations can be found with minimal searching.

With some wrangling, we can produce this lovely chart, where a heavier hexagon is a more likely pairing.

Hexagons are elegant, as odd/even combinations that cannot occur are skipped naturally.

From this, it looks like the system gives a lot of flexibility in assigning scores to your attributes.

What Values are Likely?

I have a concern about this mechanic though: if you give someone a range of numbers, and tell them to pick one, they will tend to pick in the middle3. If a player is dead-set on being boring, how boring can they be?

It might not be exactly true, but we can show the distribution of all the high stats and all the low stats together, and then compare them to the distribution of 7d6 literally divided in half (which is approximately normal).

This doesn't look great, but PlanetNiles has actually already got us covered here:

Of course. I'd further consider including subsystems where the difference between attributes had some sort of effect. So favouring one over the other would prove beneficial in some way, or at least open up different options.
The strength of this mechanic then will rely on the strength of the system. Given the range of the first figure though, I have confidence that an interesting system could be built here.

What about other mechanics?

Suppose we were looking for a similar mechanic, except that it would force a difference between the attributes where possible. We might expect intuitively, that fewer dice and larger dice are harder to partition effectively. This table gives the probability of a forced difference (although does not consider the size of that difference).

From this table, I thought I would look at 3d20, because it forces a difference the most often. The figures below have the same interpretations as the similar ones above, but for 3d20 instead of 7d6.


This was my first project using Python, and I think it's an all right language. It'll probably displace Octave in my repertoire, but I'm sure I'll be right back at Perl if I start doing string stuff again. The code's a bit janky, but you can take a look here.

1 “Asked” a little more directly this time, if only because I asked first.back

2 According to Wikipedia, this method is “bad for instances where the numbers are exponential in the size of the set,” so like, probably fine?back

3 I only know this anecdotally: if you tell a plant operator to keep some process temperature between a high limit and a low limit, without fail they will control it to the middle of the two. It makes sense to a person, but the optimal temperature is provably at one of the two extremes. Possibly, this is an extension of the anchoring effect.back

Friday, March 20, 2020

Game Jams and More to Fight Social Isolation Blues

I added art to my entry in the Troika! Tarot Jam (11 days left at time of writing), and I now consider it finished. For these I wanted to communicate a lot of flavor without the standard explanatory preamble, to help them fit in such a small space. I think a lot of the backgrounds would be better remixed, but can stand alone as-is. I only hope that the illustrations aren't so specific that they interfere with anyone's interpretations of their own characters.

I don't technically have more time during social isolation because of work. But I still need things to occupy my mind, so here are some RPG-related activities:

There are also lots of other things: Please, stay safe and support each other.

Wednesday, March 11, 2020

The Bees Below

I promised my players I would “concoct some suitable fable” about atomic bees. It's not great prose, but I think it's functional. I didn't find a place to put laser-eyes in the story though, which I regret slightly.

One spring, when Bear awoke, his mother was dead. Unsure what to do, he went to Mole’s house to ask how he could get his mother back, for Mole was very wise.

Mole said, “In my deep journeys, I have encountered rare bees, and you must seek them. Ask them for their honey, which can work miracles.”

Bear traveled through the wood, by paths known only to animals. But in the distance, a hunter saw him, and was afraid.

Bear came to a cave entrance he had never seen before, and descended. He walked for days and nights until he came to a rickety bridge across a deep chasm. Bear was afraid, for he did not know if the bridge could hold his weight. But running across, Bear arrived at the far side, the bridge collapsing behind him.

Continuing, Bear came to a cavern piled with glittering wealth: rubies the size of sunflowers, gold coins from nameless empires, and flatware of the finest aluminum. But Bear, his heart still heavy with grief, cared not for the riches therein. He stopped, and wept “Oh! That such riches could bring back to me my mother! But alas, I must continue.”

Finally, Bear arrived at a meadow, so deep beneath the earth that the sun could not have suspected it to be possible. The flowers there were wrought of precious metals and the grass crinkled gently in the breeze. Glowing gently in the distance was the hive of the atomic bees.

The bees buzzed, “Bear, why are you so far from home, where the only light is the glow of our hive?” “My mother is dead and I cannot go on without her,” Bear wept. “Feed her some of our honey, and it will bring life to her bones,” the bees buzzed, and they gave him a thick honeycomb to bring back with him.

When Bear returned to the cave of treasures, he froze. A fearsome serpent had made its home there and was presently asleep, coiled about a velvet throne. Bear waited outside the cavern, but was impatient. Unsure what to do, he tasted a drop of the honey. His fur stood on end like a frightened cat’s tail, and when he next looked for his reflection in the polished surface of a silver mirror, he could not find it. No longer fearing the serpent, he strode boldly into the chamber. The clinking of coins woke the serpent, but its cries of “who goes there?” and “what have you brought me for tribute?” went unanswered, for Bear had already passed through the chamber.

At last, he came to the chasm, but the bridge was still broken, and the rushing river below could barely be heard so long was the fall. He sat and he wept, for he had come so far, but could not complete his quest. After a while, he grew hungry, and tasted another drop of the honey. At this taste, his teeth hummed like the bees below, and he lifted off the ground. Swimming through the air he came to the other side of the chasm and continued on his way.

Climbing the passage for days and nights, Bear saw the sun in the distance and rejoiced, “soon I will see my mother again!”, and bounded into the wood. But in his haste, Bear did not see the the hunter had set a cruel trap for him, and his legs were taken off by jaws of iron. Bear cried out, “How cruel! To see the sun again, but nevermore my mother!” Remembering the miraculous honey, he tasted another drop. His whole body felt as though it were on fire, and in panic, Bear patted down his limbs. Now he understood that his limbs had grown back, and were as strong as they had ever been.

Rejoicing, Bear walked the hidden paths back to his home, but when he attempted to place a drop of the honey in his mother’s mouth, he found that none was left. At this, Bear wept, and cursed the bees below. Their gift had meant nothing to him. And he cursed so loudly that the bees below heard his curse and were saddened. The bees could share no more, or they would have none for themselves. So they resolved to never again share their honey and to defend it from all others, to spare us all the Bear’s pain.

Monday, February 17, 2020

5d6 but only count straights and matching

On 7 Feb 2020, diregrizzlybear on the GLOG channel of the OSR Discord asked1:

5d6 but only count straights and matching.

One solution might be to list all the rolls and score each one. This is probably feasible with a script. Instead, I enumerated the “hands”, and then found the probabilities of each of those.

Hands with No Degrees of Freedom

Run of Five

There are only two runs of five: ⚀⚁⚂⚃⚄ and ⚁⚂⚃⚄⚅. There is only one way to “make” each of these hands (“Count”), but because each die has a different face, there are 5!=120 possible orderings of each hand (Permutations).



There are six possible quintuples, and again, there is only one way to construct each one. While there are 5! possible orderings of five dice, because five of them are interchangeable, there is only one possible ordering of a quintuple (5!/5!=1), which makes a quintuple much less likely than a run of five.

If this seems counter-intuitive, consider rolling one die five times in order. If your first roll is a ⚀, to eventually score quintuples, the next roll must also be a ⚀ (1/6 odds). To eventually score a run of five, the next roll must only be not ⚅ or ⚀ (4/6 odds).


Run of Three + Double

There are 24 ways to score a run of three + double: 4 runs of three and 6 doubles. Depending on the doubled number, it may be possible to score this as other hands (run of four, triple), but this is never advantageous.

Because of the doubled number, there will be fewer ways to order this hand than a run of five, but more than a quintuple. If the doubled number is in the run, there are 5!/3!=20 possible orderings, and if it is not, then there are 5!2!=60.


Triple + Double

There are 30 ways to score a triple + double: 6 ways to score one and then 5 remaining ways to score the other (to exclude quintuples, which are already accounted for). As with run of three + double, we must account for duplicated numbers when counting orderings. There are then 5!/(3!*2!)=10 permutations of each.


Hands with One Degree of Freedom

Run of Four

There are three possible runs of four: ⚀⚁⚂⚃x, ⚁⚂⚃⚄x, ⚂⚃⚄⚅x, where x is our “unfixed” die (our degree of freedom). If x is equal to either the highest or lowest element of the run, then we instead have a run of three + double. If it is equal to a number after either end of the run, then we instead have a run of five. So for ⚀⚁⚂⚃x and ⚂⚃⚄⚅x, x has three possible values, and for ⚁⚂⚃⚄x, x has two possible values. We will also consider the cases where x is “inside” the run and “outside” the run separately, as the number of permutations is different.



There are 6 possible quadruples, with 5 ways to construct each one (again, to exclude quintuples). There are 5!/4!=5 permutations of a quadruple.


Two Doubles

There are 15 ways to score two doubles (half as many as triple + double, because it doesn't matter which number is the first multiple and which number is the second). The unfixed die (x) can take any of the four remaining values2. A hand of two doubles has 120!/(2!*2!)=30 permutations.


Hands with Two Degrees of Freedom

Run of Three

There are 4 runs of three: ⚀⚁⚂xy, ⚁⚂⚃xy, ⚂⚃⚄xy, ⚃⚄⚅xy. However, x cannot equal y (else we have run of three + doubles), x and y cannot both equal numbers in the run (else we have two doubles), and neither of x and y can equal a fourth part in the run (else we have a run of four).

For a run of three with no duplicates (for example, ⚀⚁⚂⚄⚅), there are 5!=120 permutations. For a run of three with one duplicate, there are 5!/2!=60 permutations.



There are six possible triples, each with two degrees of freedom (x,y). x cannot equal y, neither of x and y can equal the tripled number, and x and y cannot form a run of three with the tripled number. There are then (52-5)/2-R=10-R ways to make each triple, where R is the number of runs of three containing the tripled number.


Hands with Three Degrees of Freedom


There are six possible doubles, each with three degrees of freedom (x,y,z). None of x, y, and z can equal each other, none of x, y, and z can equal the doubled number, and x, y, and z cannot form a run with the tripled number. There are then 5!/(3!*(5-3)!)-R1-R2 =10-R1-R2 ways to make each double, where R1 is the number of runs of three (4) and R2 is the number of runs of four containing the doubled number.


Other Hands

Other hands are not possible with 5 dice, but I did not bother to prove this more formally. Instead, I can show that all hands are accounted for: there are 6^5=7776 possible rolls (in order), and the sum of all the “Odds” of the above hands is 7776.


Now we can sum the odds by score (instead of by hand) and normalize them. This gives us the following distribution.


The minimum score is 2, maximum 30, mean ~12.4, median 11, and mode 6. My spreadsheet is a bit messy, but you can see it here. Let me know if anything here seems off.

1 “Asked” is a strong word. Nobody asked for this.back

2 In the case of ⚀⚀⚁⚁⚂, both run of three and two doubles would score 6. For convenience, we will consider it as two doubles, because restrictions to exclude it are already part of the math for a run of three.back

Thursday, December 26, 2019

Crisis on Christmas

The problem with Troika! is that it’s written in a bunch of encapsulated little thought-forms. And they’re infectious ideas, like the way you start counting every word’s syllables after you first learn about haiku. What started as an entry in my running note of bad ideas blossomed into a week-long distraction from work, and now this thing.

I wanted to get this out on Christmas day, but I didn't want to take myself away from the festivities to write this post. So happy Boxing Day! It wouldn't be a proper gift if I'd given myself time to finish it, but I may go back and finish it later.

Tuesday, December 17, 2019

Secret Santicorn 2019

Sky Seeker asked:
Dear Santicorn,
Please bring me

New ways to mess with time/space/fate, be it mechanics, spells, worldbuilding or beyond. If pokemon can reboot the universe to patch in a baby god we can do better:

The Slipsoul – a Character Option

Infinite parallel universes teem around us, multitudes branching out with every decision and movement. Normally, these worlds are inaccessible and inhospitable. But when you die, your mind does not go gently into the night, but casts about wildly to find purchase on any reality that will take it. When you’re lucky, it’s relatively close to the world your remember.

These rules assume a D&D-ish game, but could be easily adapted to others. Mechanical effects, if any, are left as an exercise for the referee and the effects of further re-rolls are left open to negotiation.

Whenever you fail a death save, roll on the slide table and appear stabilized, but in a different reality. That this reality is different is apparent only to you. For example, if you roll “No eyes” the wound is old, and your companions may remember how you lost them. If you later re-roll the same number, you find yourself instead in the universe the next column over, as your mind reaches for further and further branches of reality. For example, if you roll a “1” a second time, then you still have no eyes, but find yourself able to see spirits.

The Slide Table

d12 First Second Third Fourth
1 No eyes. See spirits. See the past. Something else sees what you see.
2 Covered in tattoos. Know and can cast random spell. Spell casts itself when you take damage. No one else can cast the spell.
3 Dave loyally follows you everywhere. Davinia also follows you everywhere. Dave & Davinia are retired in the city. Nobody has ever heard of Dave or Davinia.
4 Pockets full of money. Warrant for your arrest. Owe a criminal favor. Run a small gang.
5 Forsaken by religions. Resting grants no benefit. There are no stars. Free from the wheel of death and rebirth.
6 No fingers on off hand. Off-arm is a tentacle. +d6 tentacles. You are an octopus.
7 Lycanthropy. Contacts despise you. Covered in scars. +d6 wolf companions.
8 Slide on any failed save. Slide instead of save. Optionally, slide instead of skill check. Roll twice when sliding.
9 Super nice clothes. Parents look for you. Assassin targets you. Inherit a small estate.
10 Require double rations. Do not need sleep when you rest. Cannot heal naturally. Begin to rot.
11 Very short. Darkvision. Stonecunning. Ancestors will aid you.
12 False leg. Key hidden in leg. Compartments in limbs. Need regular maintenance.


I also made this printout of the table, so that you might have the satisfaction of striking the universes you've already rolled.

Licking the Bowl

Taking the prompt as "petty uses of cosmic power", I also sketched out two other ideas.

Fold Self – a GLOG Spell

When you rest to heal, you can choose not to heal any number of HP, instead leaving part of yourself (astrally) in that location. When casting the spell, roll [dice] over (max HP - HP at that location) to transport yourself and your carried objects to that location. This isn't really teleportation, it's more like squeezing a four-dimensional water wiggly.

Johnny Luckturner – an NPC Outline

Recently broke off from a larger organization and they're not happy about it. All their best people have returned broken or not at all. Maybe a bunch of bumbling patsies could get the job done?

Whenever multiple dice are rolled against Johnny, only the worst value is used (even if they would normally sum). Sneak attacks, advantages, fireballs, etc. all fall flat before his absurd luck. He doesn't know how this works though, and he's a pretty average combatant.