a colorful, swirly profile picture

graham builds

all blog postsrss feed icon

Blood and Law

posted by graham on

Tonight, I finally got to meet friends from cohost @tsiro (richard), @bcj, and @thricedotted (li) in person, along with their friend Mouse. I had a great time filled with a lot of laughter. One of the topics brought up was the online conference that bcj and many of their friends partake in, involving 5-to-10-minute presentations. When it became my turn to talk about a presentation idea, I mentioned the following means of counting familial relationships as my most-recently-workshopped bit that I believed I could stretch to 5-10 minutes.

In a family, each and every person is related by a linear combination of the following two characteristics:

  • Blood
  • Law

Blood

When two people are related by blood, that means they share "blood relatives" linked by nuclear family: biological parents (1 step up the tree), biological children (1 step down the tree), or biological siblings (1 step over on the tree). We can determine the number of blood steps[1] for other specially-named relatives too, like great-grandparent (3 blood steps up), cousin (1 blood step up, 1 over, 1 down), or nephew (1 blood step over, 1 down). In each case, we aim to produce the shortest path between the

Poliwhirl's Mouth

posted by graham on

I spent some time this morning thinking about Pokémon. Specifically, I considered how the poliwag, poliwhirl, poliwrath evolution line mimics poliwogs, frogs, and frog-themed wrestlers. While considering this, I noticed that poliwag's mouth is separate from the hypnotic spiral on its front:

the default photo of poliwag, the tadpole pokemon showing its mouth above the spiral

This led me to consider how poliwhirl's mouth must work. I came up with the following two options, which I illustrated by hand on my phone:

normal poliwhirl at the top, an arrow down to the left of poliwhirl illustrated in all blue with a thin black mouth line, and an arrow down to the right of poliwhirl illustrated to open a mouth that sort of peels away the spiral to open

I think the one on the right is technically more frog-like, while the left just looks like a blue Dot Gobbler.

Baker's Units Revisited

posted by graham on

A few years ago on cohost, I (re)invented the idea of applying "baker's" to any quantity to refer to one more of that quantity. A baker's dozen is 13, a baker's half-dozen is 7, a baker's score is 21, etc. The etymology of the phrase mentions adding a 13th loaf of bread when selling a dozen, to be on the safe side. This "rounding up to one more" could be applied to any quantity, so I'm surely not the first person to consider it.

Last night, I was imagining applying the opposite of the "baker's" prefix, to indcate one fewer of a given quantity. I had originally come up with "swindler's," but my friend mentioned that it wasn't specific enough of a profession. To keep with the idea of "skimming one off the top" and to minimize the Levenshtein distance between the prefixes, I proposed "banker's." A banker's dozen is 11, a banker's half-dozen is 5, a banker's score is 19, etc.

It turns out that banker's dozen is already a phrase in Australian English, which may just push me personally from "fun in-joke" to "actually adopting and spreading the phrase whenever possible."

tags: #wordplay

Making Realis Classes

posted by graham on

Published on itch.io two weeks ago, Austin Walker's latest TTRPG, Realis has been a lot of fun to read through and talk about with friends in various Discord servers.

The core thing differentiating this game compared to other entries in the (even Indie) TableTop Role-Playing Game space is how it eschews dice in favor of Sentences: a mechanic where Sentences of a greater than or equal Reality (just think higher modifier like +0, +1, +2, +3) always counteract Sentences of a lower Reality. Over time, your characters, NPCs, objects, and all sorts of other things will have these Sentences be refined, thereby strengthening them but also taking away part of when they're relevant. For example:

+0 I always know where I'm going -> +1 I always know where I'm going, when I'm underwater

Because so much of this game is designed around the Sentences that a character has access to from their Class, it's been a fun exercise to come up with Classes as a sort of way to imagine a template of a story without necessarily finding people to play with first. There are 20 Classes included in the Ashcan Edition available

Crowdpleaser Words

posted by graham on

As part of the thinky puzzle games discord, some folks began running the Confounding Calendar project, which I got to experience for the first time this past year (2024). My favorite entry from those was a game called "Alphabet Soup for Picky Eaters" which is a combination of a code-breaking word-guessing game and a bunch of absolutely delightful little guys of different colors to make use of the yearly Confounding Calendar chosen color palette. If you haven't played it, I highly recommend doing so.

After playing it, I felt a similar feeling to how I felt when I first played Wordle. Here was a game that was a delightful 10-15 minute puzzle, it didn't overstay its welcome, and it also happened to have a handful of solutions that could all suffice. I began imagining trying to make a version that could handle the "new word every day" and more importantly "new set of rules every day."

This weekend, I had some free time and needed a distraction for a handful of reasons, and so I finally decided to dive into making a prototype. I've been building UI-heavy browser-focused games in

Slay the Spire Online

posted by graham on

A screenshot of Slay the Spire showing a handful of cards for the Defect character and a Zap+ card being played

Slay the Spire is the best roguelike deckbuilder of all time. I remember seeing it released in early access in 2017 and it took over all sorts of Twitch streams that I watched at the time. Despite loving card games and despite having enjoyed playing other hybrid-roguelikes[1] of the era[2], I didn't buy and play Slay the Spire until it officially launched on the Nintendo Switch in June of 2019 as a game for plane rides across the country for work and visiting friends.

Ever since, Slay the Spire has been a game that I play almost exclusively while traveling, whether while in transit or at my destination. I play each character's new ascension level in order before I move onto the next level. I have not beaten A20 on any character yet, but I'm at A10 on all of them, and the game hasn't lost its magic for me. In 2024, I began a completely different relationship with the game: one where I play it for hours at home and with friends.

Modded Slay the Spire

Over the years since its launch, I had learned about the Downfall mod from its original trailer and its updated

Rabbit Rabbit

posted by graham on

Growing up, my family had a tradition: every first morning of the month, before you said anything else to each other, you'd say "rabbit rabbit." It was always the first words of the first of the month, and always two rabbits. Like so many family traditions, I learned the rules and never questioned the origins nor the point of it. It's just "what you do."

Years went by, and then in school, a friend of mine and I were talking about family traditions one day, and she mentioned that her family said "rabbit" on the first day of the month. This was the first time I'd ever heard of anyone else doing it, but her family always said one rabbit, not two. We figured this was the same tradition, just that one of us was doing it wrong. We began a competitive game where every month, the first one of us to tell the other rabbit rabbit -- or in her case, rabbit -- would win bragging rights, as a way to insist our respective version was the correct one.

Over time, we added rules like "it doesn't matter when the person reads the message, it matters when you sent

Caring About a Royal Family

posted by graham on

A photo I took of an albatross soaring over Taiaroa head, wings locked to show its entire wingspan

In college, I spent a summer doing an independent study on how to make a robot bird that could fly. I watched documentaries, I did wikipedia deep-dives, I learned musculoskeletal structures and how they varied across species, I studied the modes of flight among differently sized and shaped birds, and I looked at the state of the art in ornithopter-design at private robotics companies. I learned that the reason predatory raptors like vultures are often depicted circling overhead in cartoons was to do with the ways that they used static soaring from thermal gradiants to gain altitude without using much of their own energy. I also learned that the bird with the largest wingspan in the world[1], the albatross, used dynamic soaring to build speed from taking advantage of the boundary of wind gradients. I planned to use slope soaring as a means to achieve lift, since my college had a gradual slope with a prevailing wind, and because it seemed to have the least amoung of moving parts.[2]

A photo I took of an albatross soaring over a human on a grassy hill, where the human looks little because they're slightly in the background and the albatross looks large because its slightly in the foreground

As soon as I learned about the albatross, I was compelled: it's a bird that has trouble taking off compared to other flight-ful birds with smaller wingspans. For

The World's Littlest Penguins

posted by graham on

When I was planning this trip, I kept asking friends who had been to Aotearoa New Zealand for input on what to do. One of those suggestions was to "see the little blue penguins who come ashore around dusk on the East coast of the Southern Island." We had a few days in Kaikōura and a few more in Dunedin planned, so as soon as we arrived at the former, we began asking around for details on where to find the penguins.

The locals told us that there was a Coast Guard station that was open to the public and that if you went there around dusk, that's where some penguins usually arrived each night. While traveling, we had been sticking to a pretty early bedtime (8 or 9pm) because we also tended to have early mornings, but springtime in the southern hemisphere meant that the sun was rising earlier and setting later, meaning civil twilight wasn't usually until 8:30.

A picture of the sunset over the mountains in the background and the beach obstructed by bushes in the foregound

We bravely stayed up late and drove the car in the dark for the first time[1] to go to the coast guard station at dusk. It was a very small building[2] by a beach with some areas to

Listening on Hikes

posted by graham on

I like to go on easy, well-manicured hikes. My general rule of thumb when people ask if I want to go on a hike with them is I'm happy to for up to about three miles and a few hundred feet of elevation gain. I wish that I had the motivation to go on more of them and get better at longer ones. Too often, I find myself focusing on my own breathing, my nose running, my muscles aching, where I'm placing my feet, or how much I wish this type-2 fun was more type-1. But when I was hiking in Aotearoa New Zealand, I found it wasn't quite as bad as other hikes I've been on, and part of that was finding a new thing to preoccupy my senses: listening to birds.

A photo I took of the forest in Abel Tasman National Park where you can see through to the beach below

Along the Northern Edge of the South Island is the Abel Tasman National Park, named after Abel Tasman, the Dutch explorer credited with mapping out Aotearoa from his ship. There are a handful of hikes by the coast, and we selected one of the easier ones: a "seal view and beach walk" that we assumed would be a walk along a beach, perhaps in view of some