I speak occasionally on the Cambridge NaNo Discord about my writing tools, since they are increasingly unconventional.
Punchier than previous attempts, here are some high-level thoughts about the distinctiveness of ttRPG systems. I hope these will help me get my head around what I want to run next, but they might also be useful if you are thinking of designing a tabletop RPG.
Last time I wrote about reducing frustration in tabletop RPGs, including a lengthy suggestion for resetting the baseline of combat so that the minimum result of a combat action is still a little bit of progress. Near the end of that discussion I hinted at why it is better to be dodged than to miss, Continue Reading
It’s been another two years since I posted anything, and apparently I had made the blog private, so nobody has been reading it anyway. Never mind. Today, a game design post, in tabletop roleplaying games but with underlying principles equally valuable (if not more) in video games.
Let’s put this one to rest: some thoughts on two years as an independent game developer.
This post was rescued from my drafts in July 2018 and backdated to its current published date. Wizard Tower Defence is available on itch.io, free for Windows (and probably also Linux and OSX, but I daren’t say so because I haven’t tested that). This post is a retrospective for the game. At some point I Continue Reading
Inspired by the discussion I got into this morning on Twitter, where there simply aren’t enough characters, my strong feelings on tutorial design.
tl;dr: You can check whether a Unity.Object (including Component, GameObject, MonoBehaviour, etc.) is null using if (variableName), because it has an implicit bool operator that checks != null. If you’re trying to expose generic-typed properties in the inspector, you should constrain them with where T : Component or similar, or strange things may happen when Continue Reading
For there are many, many things that can go wrong as you try to manipulate uGUI objects.
Object pooling is pretty simple, and I was put off a lot of existing guides and examples by what seemed like unnecessary complexity. Since then my own solution has probably got at least as complicated, but I’ll explain as I go; your mileage my vary.