-

Commas and periods make cents
A long time ago (relatively speaking), all prices displayed to users on my company’s website were rendered from their numeric data (like 10.25) into a formatted string in PHP (like £10.25) and then passed along to the client. As our frontend began to have more complex requirements for the way prices were displayed, this was…
-

Thirty days hath September
Here’s a riddle for you: what’s one month past January 31? Is it February 28, the end of the month? Or is it March 2, thirty days ahead? Or March 3, thirty-one days ahead? There’s no correct answer. So if you signed up for a monthly subscription on January 31, or on October 31, or…
-

Mask of the Many
As per tradition, I’ve written another D&D one-shot adventure for my friends. I recently had the pleasure (or displeasure?) to watch the Mystery Science Theater 3000 episode, The Pumaman. It was hilariously bad (good?) and I wanted to somehow capture its glory into an adventure. This is what came from it. I hope you enjoy……
-

Music for The Lost Card
When I was working on my game, The Lost Card, this summer, I had never planned on having sound effects, let alone music. But as the game’s final touches came together, I found the time to do both. I wanted to write a little about the process. The sound effects came together pretty quickly, thanks…
-

Notable changes in 2024 D&D
There’s no shortage of hot takes and reviews of the recently released 2024 Player’s Handbook for Dungeons & Dragons, but I figured I’d add to the pile with my own views. Caveat lector: I’ve only just started using these rules in my own games so these are just hot takes. We’ll see how it goes!…
-

Using Tiled editor for The Lost Card
It’s still amazing to me that I managed to finish an actual game for the first time. A lot of my success with The Lost Card I owe to the Tiled editor. I wanted to write a little blog post to explain all the ways in which I was able to leverage it to make…
-

Enemy State Machines in Lost Card
This summer I made a simple game called The Lost Card using TypeScript and the Phaser framework. I wanted to write a little about some of the things I learned during that process. This post is about enemy behavior. Once I had a character I could move around my world, I needed to have enemies…
-

Rust and Grepdef 3.0
As part of my summer vacation from work this year, I decided to learn Rust, a programming language that’s been gaining a lot of popularity recently. After using it for a few months I can see why. Rust is a systems-level language designed for things that need to be very efficient and fast. It’s designed…
-

The Lost Card
I was first inspired to become a software developer when I was very young when I got an original NES. Playing those early games gave me a passion to learn programming that was the foundation of everything I’ve done since. Back in the early days when I was just studying BASIC and Hypercard, I made…
-

Record Objects to the Rescue
Very often, I need to return multiple values from a function in PHP. Maybe I need three different dates or an integer and a string. Perhaps the most common scenario is when returning data from a database query. In each of these situations I have to decide the best way to encapsulate those values. Mostly,…
-

Wizard of Birds
Young friends in a war-torn nation receive an urgent letter from their erstwhile schoolmate whose mother has vanished. When they arrive, they find their friend has also disappeared into an abandoned tower in the woods, inhabited by nothing but birds. Do you like D&D adventures? How about Studio Ghibli movies? You might like this. For…
-

Warrior’s Tea
I went on a trip to hang out with my co-workers this February and ran a one-shot D&D game for them. Having just read the fabulous Six of Crows I was in the mood for a heist. Coincidentally, just a few weeks later, Wizards was going to release a whole book on the topic but…