2024 in games played

about

I’m splitting 2024’s “recap” up into separate posts by topic, and this one is about the games I played in 2024, including the results of parsing of my daily “played log” journal. Each of the 2024 recap posts will go into the game logs category, (assuming I actually write more than just this one), so you’ll be able to find any other 2024 recap posts that way. That category is also where you can find previous year recaps, which at this point I’ve done annually since 2019.

played log

In 2024, I once again logged playing games every day. I do think there were one or two days where I forgot to enter the games in my log (usually while traveling), and I did my best to re-create the log on the next day when I noticed.

Anyway, here are the high-level stats:

  • 391 unique games logged.
  • 286 games played on only one day.
  • 209 games I first played in 2024.
  • 124 days with new-to-me games played.
  • 184 days I played Picross.
  • 9 game reviews written.

Of these categories of things I tracked this year in my log:

  • games I played (and on what platform)
  • whether I played games on BGA
  • whether I played games on AbstractPlay.com
  • discreet puzzles I solved (more about these in a bit)

The log only does a good job of tracking the first bullet point (games I played). The other things are shoe-horned in there, and I’m somewhat debating whether or not this is even the appropriate format to track those kinds of things.

top games

The list of games I played the most (not including board games or puzzles):

  1. Diablo 4 (Xbox): 114 days
  2. Satisfactory (Steam): 46 days
  3. Legend of Zelda: Echos of Wisdom (Switch): 40 days
  4. Deep Rock Galactic: Survivor (Steam): 40 days
  5. Vampire Survivors (iOS): 40 days
  6. Book of Hours (Steam): 24 days
  7. Love and Pies (iOS): 10 days
  8. Cozy Grove (iOS): 9 days
  9. Balatro+ (iOS): 9 days
  10. Stitch (iOS): 8 days

I talked about Diablo 4 in last year’s update, and it was my most played game again this year (after excluding some other categories of game I’ll talk about later). I play with a couple of friends, and now one of them has quit to play Dragon Age, so unless she starts back up again, I can’t imagine it’ll be on the list next year. I think both myself and my friend Mike are also kinda sick of it, we just don’t have another game lined up that scratches the same itch.

I had played Satisfactory previous to this year, but it finally came out of early access and “released” on Steam. I enjoyed my play through immensely. If I had to pick one, I would probably call it my game of the year. (Feels kinda like cheating though, because I’d played through some of the content at least a couple of times before.) I even joined some friends on their server(s) a few times, and that was quite enjoyable too.

I ended up playing Zelda: Echos of Wisdom during my workout for most of December, and watched the credits on one of the last days of the year. I would recommend it! It probably skews younger (and easier) than most of the other recent Zelda releases, but I liked the copy mechanic a lot, even though it made almost all of the “boss battles” kind of ridiculously easy. The story was nothing to write home about, and I probably won’t be re-playing it. (I could play more on my save for 100%, but I did everything I wanted to do, I think.)

Deep Rock Galactic: Survivor was another of my favorite games played this year. It appeared in several variations in the log (with/without both a ‘:’, and also a trailing ‘s’), but once I collapsed all those versions, it turns out I played it on 40 days, including one day in February where it was the only game I played that day! (One of the few days I didn’t play my BGA turns, apparently.)

Vampire Survivors made the list again. (It also appeared in my most played games in 2022, when I was playing it on the Steamdeck.) I started from scratch on my iPhone, and it’s been a nice one to pull out for a few minutes here and there. (Feels like there is a lot of new content since I last played it.)

top platforms

Games played by platform:

  1. tabletop – 128 games on 86 days
  2. iOS – 49 games on 115 days
  3. Steam – 36 games on 145 days
  4. Apple Vision Pro – 20 games on 16 days
  5. Xbox – 17 games on 128 days
  6. Playdate – 12 games on 12 days
  7. Switch – 9 games on 220 days
  8. wowcube – 8 games on 3 days
  9. Quest – 3 games on 2 days
  10. ps5 – 1 games on 3 days

I was surprised to see “tabletop” at the top of this list, but I did play a lot of board game prototypes this year. I’m quite sure regularly attending the “Design Day” events twice a month did a lot to bolster my number of tabletop games played. Not to mention attending TWO local Protospiel conferences, and at least 3 board game industry conventions (GAMA, GenCon, and Essen)

Sadly, the Apple Vision Pro didn’t change my life. I’m glad to have worked on a game for it, but haven’t had much compulsion to polish it up beyond what I’ve already done. (Or to spend any time/effort promoting it, which is probably what would be required for more downloads/attention.)

Apparently the only game I played on PS5 this year was Animal Well. I can see the appeal, but I didn’t get sucked in.

board games on BGA

I played games on BGA on 353 of 365 days in 2024. In that time I finished 424 games, most of which were played asynchronously (one turn at a time across many days). Looks like the top 10 were:

  1. Splendor Duel: 63 games
  2. Oxono: 39 games
  3. Azul: 34 games
  4. Gizmos: 26 games
  5. Yoxii: 21 games
  6. Innovation: 18 games
  7. Stone Age: 16 games
  8. 6 nimmt!: 13 games
  9. Umbrella: 13 games
  10. Ticket to Ride: 12 games

Notably, OXONO and YOXII are very short abstract strategy games that I played in person with some of the folks who also helped demo games for Adams Apple Games at Essen this year. After we all got back from Essen we continued to play them regularly on BGA. It’s likely that all, or most of the plays of those two games are since October. I own a physical copy of OXONO, but not YOXII, and have been tempted to pick up YOXII now that I’ve played it so much. I do slightly prefer OXONO, however.

I don’t think there’s anything terribly special about Splendor Duel, other than that it was new to BGA this year, and I hadn’t played a lot of it (despite owning a copy) until then. It’s 2-players only, and I had regular games going with a few folks at various points throughout the year.

The only other observation I’ll make is that I only started playing Umbrella in December, and randomly decided to take part in a tournament of it, which is certainly why I played so much of it. It’s the kind of game that I wish I’d designed, and does some things that I really like.

board games on Abstract Play

I played turns on AbstractPlay.com 322 of the days last year. Looks like total, I finished 108 games there. It’s a little harder to see these totals than on BGA, and I had to manually count some of this. Anyway, here’s a top 10 list:

  1. Catchup: 27 games
  2. Scaffold: 13 games
  3. Amazons: 10 games
  4. Dameo: 9 games
  5. Connecticut: 5 games
  6. Dag en Nacht: 4 games
  7. Root Bound: 4 games
  8. Adere: 2 games
  9. Cephalopod: 2 games
  10. Furl: 2 games

All the games in the top 5 were games where I took part in a tournament. It’s a feature of the site, and I’ve found it’s a nice way to get in a bunch of games. A lot of the games on the site are the kind where one game will get you an idea of how the game works, but you won’t have any idea what kind of strategy (or even tactics) you’ll be wanting to employ. You might not even get that from a bunch of games. (Once or twice, I started a tournament without having finished a game previously, and I don’t really recommend that. Good way to loose a bunch of games at once!)

Obviously, since I wrote an app that plays it, I’d played a lot of Catchup previously, and I’m not too proud to admit that it’s more fun to play because I’m fairly decent at it. (Still plenty of players that can give me a challenge though.) Of the others, Amazons is probably my favorite. It’s a game I’d played prior to this year though.

board games in-person

Top in-person (tabletop) games played:

  1. Go: 21 games (+ another 8 on BGA)
  2. Glory to Rome: 7 games (+16 on glory-to-rome.com)
  3. ChessXGo: 6 days
  4. Collide-A-Scope / Takeover: 6 days
  5. Defenders of the Dictionary: 5 days
  6. Stackable: 5 days
  7. Shogi: 4 days
  8. Tatsumi: 4 days
  9. Gizmos: 3 days (+ 26 on BGA)
  10. Harmonies: 3 days

My most-played in-person tabletop game this year was Go. At the beginning of the year, I made a deal with my then-13-year-old to play one game a week with me. (I don’t remember the terms of the deail!) It looks like we made it to about 16 games. Then I played some with other folks, so I probably played about 21 games of Go in 2024.

I also played a whopping 7 games of in-person Glory to Rome this year. As near as I can tell, I also finished at least 16 other games played with friends on glory-to-rome.com.

I’ve been super into researching Go Variants, and I am probably due for a blog post about that at some point. I designed the game I played the 3rd most often, and I’m calling it ChessXGo. (I posted the rules for it, as well as a photo over on the BGG Abstract Strategy forums.) It’s both a Chess Variant and a Go Variant. I’ve been telling folks that I’m super happy to have designed a game that feels simultaneously like two of the most beloved games in the world. At least a few of the days this was played I got in more than one game of it, so my total games played is likely higher than 6.

The next game, Collide-A-Scope is another of my prototypes. I’m assuming I’ll at least mention this in a future blog post, but one of my goals for 2024 was to pitch more games to publishers. Collide-A-Scope was actually with a publisher for evaluation for a bit of this year, and I thought for a while that it was a good contender for my next game to actually see publication. I kinda burned out on playing/pitching it though, and it hasn’t seen the table for a few months now. Stackable is also one of my prototypes, and it plays in about 2 minutes, so I’m quite sure I played two or three times the number of games as the number of days shown.

Defenders of the Dictionary is a game prototype (not my design) that I was helping demo for Adams Apple Games. The game was shown at both GenCon and Essen. I’m not much a fan of cooperative games, but this game is essentially cooperative Scrabble, and I enjoy it quite a bit. While demoing it, I’ll sometimes point out this is how my mom and Grandma have always played Scrabble: “That’s your word? You can do better than that! Show me your letters.”

Tatsumi was another game I demoed for AAG, this one at Essen only. I knew about the game previously, and had playtested a much earlier version, but this is shaping up to be a game that I really think I could see my friend group playing. It’s got beautiful artwork by Shirley Gong, the same artist who illustrated my game Thrive, and the gameplay falls into a similar level of strategy to games like Azul, Splendor, or the more recent Harmonies. I can’t guarantee it’ll be a winner, but I sure enjoyed demoing it, and can’t wait to get my copy.

puzzles (daily & otherwise)

This is a category of activity that I currently want to keep track of in my played log, but definitely don’t do a good job of it at all.

Sometime in 2024, LinkedIn launched some new “games” (which are actually puzzles). Of the ones I’ve checked out (at least 4 so far), I ended up playing a lot of two of them:

  • Queens (solved on 234 days)
  • Tango (solved on 84 days)

I also played some of these kinds of discreet puzzles on Puzzmo, which I subscribed to early (when you could still get a Lifetime subscription), but sadly I didn’t do a great job of tracking those in 2024. (I only logged any games that mention Puzzmo on 3 days, and I’m quite sure I played some puzzles quite a bit more often than that.)

Once again, I played so much Picross this year (usually during my workout) that I left it off my list of most played games. I ended up playing some form of Picross 184 days this year. Picross S10 (they’re calling it SX) has in-app purchases, and it seems like that’s the direction they’re going so I’m probably done purchasing games from them. Instead I’ve been going back through the series and trying to complete all the puzzles. I got the 100% complete notice on at least 3 of them this year. I believe S9, S2 and S3. (Think I already had it on the first one.)

I also keep a “pen and paper” puzzle book on my “currently reading” pile next to the couch. The current one is The Mammoth Book of New Sudoku, and I’d say I pick that up and work on a puzzle somewhere between 2 and 7 times per week. Unfortunately, I logged that I did that exactly ZERO times in 2024. (I’m going to try and be better about logging working on these kinds of physical puzzle when I do so.)

Related to the above, one of the items I put on my Giftster wishlist this year was a subscription to GAMES magazine, and I’ve already got my first issue. It’s absolutely packed with these kinds of puzzles, and I’m excited to have a bounty of new types of puzzle to solve. (Not to mention there are sometimes articles about them too!)

other games

A random list of other games (in no order) that I really enjoyed, but that didn’t make any of the lists above:

  • Little Kitty Big City (Xbox) – I finished this in 3 days. Like a more approachable (and admittedly less cool looking) version of Stray. Reminded me (in a good way) of the wonderful A Short Hike.
  • Jusant (Steam) – 3D Platforming up an atmospheric tower in some (possibly post-apocalyptic) future. I’ve been meaning to play more of this.

looking forward to 2025

I don’t have any particular goals for playing games in 2025, but I would like to think more about the journaling I do. I implemented the goal from last year of keeping track of games that were new-to-me, but I didn’t do a great job of doing anything with that information. All of the categories listed above have a long-tail. There are dozens of games I only played once. Which of those were worth a second look? I have no idea, and no way to find them without going through them one-by-one.

Maybe this just means I should write more reviews. (Looking at the 9 that I wrote was nice, and I wish I’d written more, even if they were short.)

I’m also going to try and be better about including pen and paper puzzles I work on, even if I don’t solve or finish them. (It’s either that, or give up tracking that kind of thing entirely.)

My favorite tabletop Chess variants

I’ve been thinking a lot about Chess again, since I’m working on that Action Chess remake. Coincidentally, today someone in the BGG abstract strategy games forum asked (paraphrased):

What are your favorite chess variants, and why?

I took the time to write up a fairly lengthy response, and I’ll reproduce the bulk of it (including my recommendations) here.

Losing Chess

Back when I was playing a lot of chess ~20 years ago, (which was before I really thought of myself as any kind of game designer), I played a fair amount of Losing Chess. (I called it Suicide Chess at the time, but I now definitely prefer the name Losing Chess.) I wasn’t yet into “modern” board games, so the “why I liked it” was probably mostly because it felt like Chess but with a totally different objective. It’s also usually a lot shorter than a typical Chess game, so easier to fit more games into one session.

Terrace

Before I played a lot of Chess, a very influential Chess variant to me personally was Terrace. Why I like it: I think, for me personally, it was probably the precursor to the kinds of games talked about in this (the BGG Abstract Strategy Games) forum. It had incredibly simple rules, (at least in comparison to Chess, although on the more complex side for games in the forum). Only one type of piece, (and movement) but in 3 sizes. It was a chess board with a changed topology. (Topology that directly affects piece movement.) And it was playable up to 4-players! Everything about it just felt different, and all in very intentional and interesting ways. What’s more, at the time, (this was in the early 1990s), there was a paper newsletter that was publishing – among other things – variant rules for the game.

Shogi

Earlier this year I was playing a lot of Shogi. As someone who grew up playing Chess, it definitely feels like a Chess variant, but of course that’s obviously subjective. Why I like it: It’s got a slightly bigger board, but there are fewer pieces that move at a distance, so that feels “balanced” not to feel correspondingly more overwhelming. The captures becoming pieces you can “drop” on the board means games feel like they go a little faster than standard Chess (although that might be also quite subjective since my sample size is still quite low relative to Chess). Also, and this might again be my own subjective experience, it appears that Shogi is thought of a little more like a game system than Chess typically is. (Although the fact that we’re talking about Chess variants probably disproves this.) I guess my point is actually that there are well established rules for Shogi at different sizes, and it’s been fun for me to explore that aspect of it.

ChessXGo

In the last month all I want to play is my own game ChessXGo. Why I like it: IMO, ChessXGo replicates the feeling of the most exciting part of Shogi, when you have pieces “in hand” ready to drop on the board. (That’s kind of the whole early game.) It’s a game that feels like both games. And it clearly benefits the player to have played a lot of both games. You will be a better ChessXGo player if you’ve played a lot of Chess, but also if you’ve played a lot of Go. The game does this interesting thing where it morphs from feeling more like Chess to feeling more like Go, and if you play it only thinking about how to capture the King, you will probably lose, because your opponent has a better position for the second half. ChessXGo is why I’ve been thinking a lot about Chess variants again, even though it started as a Go variant. I’m quite happy to have designed a game that mashes up two of the best known and most beloved games of all time… and I’ve been thinking that this is probably my magnum opus.

Thrive

Since I’m talking about my own designs, I’d be remiss not to mention Thrive. I still think it’s a fine game after hundreds of plays. On the “lighter” side – certainly nowhere near the depth of chess – but it has the same bones. Why I like it: I think the whole “each piece is a grid that indicates its own movement relative to the board” idea (that I stole from both Onitama and The Duke) is super interesting, and Thrive is a distillation of that mechanic into a game that lets you focus on just that. (While also making it a variable that changes for each piece, which led to the game’s tagline: “Build your own chess piece with classic abstract strategy game-play, reinvented.”) Speaking of, I also recommend Onitama and The Duke – they are both also commercial Chess variants that are certainly worth playing.

ChessPlus and Paco Saco

If I remember correctly, I slightly prefer the rules of ChessPlus to Paco Saco, but I like them both. (They feel like different explorations of the same concept. The Paco Saco exploration is more interesting, but I think I liked ChessPlus as a game slightly more.) I think I like them both for the same reason. Why? Both allow you to land on other pieces and “combine” them into one stronger piece that moves like both pieces. This concept is certainly not new, of course, as it’s the motivation for a lot of the fairy Chess pieces, but the innovation with these is letting you change the combinations while the game is in progress. I own both of these commercial variants, and for me playing each of them feel quite different. I highly recommend both. (I also own a bunch of nicely produced fairy Chess pieces, although I’ve rarely played with them.)

Katarenga

One of the other forum posters, Russ, described a game called Essentia like this:

Another comes to mind: Essentia (published by nestorgames in 2010). Pieces move like standard chess pieces with standard checkmate goal, but all pieces are physically identical: a piece’s specific type of chess movement depends not on its piece type (since all pieces are identical) but on the type of square the piece currently occupies.

I didn’t know about Essentia before his post, but that description made me think he was talking about Katarenga, which I really love. Katarenga is one of my favorite Chess variants because it’s another example of changing where movement information is encoded. And as soon as you put the movement mechanics on the board instead of the pieces, it makes sense to make the board itself variable, which Katarenga does, so you’re not playing the same game every time. It’s worth going to the game’s website where you can find a bunch of variant rules.

Game Systems

One final note on Game Systems that was not part of my forum reply. I thought it likely I’d already talked on this blog about how much I love game systems, but I did a search just now and I didn’t find anything. I’ve certainly written about specific game systems I enjoy, (and I consider Chess to be one of them!), but I didn’t find anything about game systems more generally. I will have to remedy that someday.

current personal projects

I’m always torn between a bunch of different personal projects. (I’m sure I’m not alone in this.) When looking at each project individually, it’s sometimes hard to see there’s any progress being made. I think games that have code involved are easier for me to see the progress as they progress.

This is almost an aside, but board game projects are more nebulous to me. I generally have a TODO list for all my projects, and work against the list. And with board games, sometimes the next item on the TODO is just… something super nebulous, like “make a prototype”. I have a lot of board game projects in that phase, actually. I didn’t list them below.

Each of these could absolutely get its own blog post, but since I’m writing so infrequently these days, I’ll probably never make the time to do that.

So without further ado, here are the personal projects I am currently more or less actively working on (in no particular order):

A new version of ActionChess Action Chess was my first game for iOS, and my first project of any kind using Xcode. It was my first real game release as well, although I did hardly anything other than push the publish button. (Only a few things that resembled marketing.) Anyway, I was quite sad when it fell out of the iOS App store, and shortly thereafter started a remake in Unity that never got that far. A few months back I was playing with a “cross platform template” (for Apple platforms), and decided to remake this again. Best guess for completion: 3-6 months.

A game in Godot with my friend August My friend August is a “real” game developer. (By which I mean his day job is for a company in the industry that makes actual games with actual budgets that people work on during office hours.) We have made a bunch of games together over the years, and were lamenting that we hadn’t collaborated in a while. This project is much bigger and more ambitious than anything we’ve made before. Best guess for release: 2-3 years.

A new version of Go-Tetris Since this game, my first digital game, was originally made in Flash (specifically in ActionScript 2.0), you can technically still play it, but you have to find & download the .swf, and then plug it into an old version of flash or an emulator like Ruffle. I’ve started a project to re-write it several times over the years, most notably a version in Unity where I renamed it Action Go and commissioned some artwork. I even showed that version at some events a bunch of years back, but never got it far enough along to give it a proper release. I’m re-using some of the assets in a new-ish project made with GateEngine, a game engine built in Swift that should let me build for macOS, Windows, and Linux desktops. I am a bit blocked on this project, and haven’t touched it in months, but still hope to get back to it sooner or later. Best guess for release: 6-months to a year, (at soonest).

A book of Go Boards and Go variants I am somewhat stalled on this project too, but really want to get back to it. Best guess for release: 1-year (But I probably would have said that a year ago, and I was more actively working on it back then. I’d like to start releasing “pages” much earlier than that. I think once I have 2 or 3 finished, they would make for good blog posts.)

Various board game designs At any given time there’s usually 1 or 2 games I’ve designed that I’m most excited about. Right now that’s either a Chess variant or Go variant (depending on how you look at it) that is basically playing Chess and Go at the same time. But there are 2 or 3 others also burning some extra brain CPU cycles. No thoughts on releasing any of those, (although I might do a “make 100” kickstarter for the Chess-&-Go project), mostly I just pitch my designs to publishers as the opportunity presents itself. (I tried to make more of a concerted effort to do that this year, and made very little headway, tbh. I’m not sure if I’ll continue that effort next year or not.)

Transitioning this blog I would like to combine this blog with my other, more personal blog. I rarely write over there, and lately I also rarely write anything here. I think part of the reason for the lack of content is basically just WordPress. I’m pretty sick of it, and in general think these sites should be static content which would be better in many ways. I have managed to port the contents of both blogs to markdown, and had some ambitions to use one of the static site generators built in Swift for this project, but after evaluating some of them (namely Ignite and then Publish), I didn’t love either of the options that were out there. (More recently, I also took a look at Genesis, which actually helped renew my interest in the project, but while I love the ideas behind it, it’s not really full-featured enough – or maybe mature enough – for me to use it just yet.) I have some experience with Jekyll, so that’s where I’m leaning right now. But I kind of hate the nuts and bolts of front-end development, and this project is stalled out in the phase of finding and modifying a template to look like either one of the existing blogs. (Or maybe something else that I don’t hate.)

boardgame.design I stood up this website, https://boardgame.design, in little more than a few hours one afternoon. It’s not really a project so much as a thing I am committed to updating – once a month or so – on an ongoing basis. It’s not much more than a local (Twin Cities, MN) board game design related event listing at the moment, although there are pages for some other local tabletop-related stuff as well. I’m quite proud of getting the domain name, but I have yet to hear anyone say they’re using the site for the event listing stuff, and I might still repurpose it. No idea what I would use it for, though I have some ideas, they all sound like work.

vision pro game in progress

I’m timeboxing the creation of this blog post, so I can continue to work on my game for the apple vision pro. I’ve had the thing for a week now, and in the weeks leading up to the launch date, I began working on a port of a game I’ve worked on previously (but never released) called Puzzle Prison.

I have planned (for quite a while, really) to write a blog post about how and why I never launched Puzzle Prison, but I’ll go into it briefly here. It was a game I developed for originally for Google Cardboard. I actually showed it at an event at GDC one year (2016, maybe?), and at numerous events locally around the Twin Cities. (Various VR & HCI events and meetings, Twin Cities Maker Faire, in the lobby at a TEDx event, and probably other events too.)

The game is fairly simple. It’s a SameGame variant, with the twist that the game is played on four walls, one in each direction. It is a stupidly simple way to bring a 2D grid-based game into the third dimension, and despite having lots of ideas for how to make the game better than what I describe (I implemented a few of them), the simplest game ideas are often the best ones, and the base game idea was probably the best version of it.

Here’s a trailer I put out there at some point:

One reason I never launched the thing was that new platform development kept being more compelling than launching for the current platform. By the time the game was polished enough to release for Google Cardboard, I was doing a lot of “real” (3DoF) VR development, mostly for Vive, and I decided that I thought Google Cardboard was essentially dead, and I would wait to release it when the steam version was finished. Then I had similar thoughts about SteamVR, and wanted to release it for the Oculus Quest. I really should have just launched it on iOS and Android and been done with it.

Anyway, fast forward a bunch of years to this year’s WWDC, and I’m ecstatic to be able to work on a game for Apple’s new headset in Swift! And the APIs look great! I spent some time looking through my various VR game ideas, and nothing really jumped out at me as something as easy to make as Puzzle Prison. The project has another big plus going for it, and that’s the fact that I already have a bunch of awesome audio assets that I’d love to use and include.

Okay, so it’s a week after the headset launched. Two weeks ago, I thought I’d have an app out by now. What’s the holdup?

First thing, the game is playable. I’m tempted to launch a first version as/is, and improve it incrementally. But it’s missing a lot of stuff, and for one thing, I still haven’t implemented those aforementioned audio files.

But there’s another issue I’m working through, and weirdly, it’s related to game design. The original game has what I think are pretty awesome “block breaking” animations. (I’ll get to how this is relevant in a second.) I actually think they may be some of the best animations I’ve ever created in a game. (To be honest, it might be the only animation I’ve ever created that wasn’t directly necessary for a game’s design.) The game without them is totally fine, and playable… except… they take some time. A second or two. And at some point I implemented a feature in the old version of the game where there is a multiplier. If you break more than one group at a time, it increments a multiplier, and the second group is worth more points. But because the game currently has no animation, the scoring isn’t the same as the old game.

There are other effects that I think are more important than the block breaking effect. Namely showing you when and where the game is in danger of ending, as well as an effect for when the game does actually end. Both are not just cosmetic, but have important UX impact. So they may get my attention first, but I’ll get to those block breaking animations eventually.

2023 Recap

Introduction

This is the fifth year I’ve done one of these recaps. This is the longest and by far the most self-indulgent version of it. You can view all the previous posts in their specific category, but here are direct links to the entries for: 2019, 2020, 2021, and 2022.

Here’s a table of contents for this post:

By The Numbers

Game Design and Development

  • 2 iOS apps released (1 board game, 1 open source game-related utility)
  • 82 game design journal entries written (59 tagged tabletop, 15 digital)
  • 28 journal entries were “a continuation” of previous ideas
  • 2 journal entries were ideas from dreams (neither had any merit tho)
  • 9 board game ideas prototyped
  • 1 board game prototype ordered from The Game Crafter
  • 1 presentation given at CrafterCon on digital board game development

Games Played Log

  • 274 unique game entries
  • 195 games played for only one day
  • 240 days I played played some Picross
  • 20 game reviews in my game log

Board Game Arena

  • 457 plays completed there
  • 262 plays where I won (57.3%)
  • 78 different (unique) games
  • 56 plays of Gizmos (the most)
  • 24 different games only played once

Other Activity

  • 52 books read in 2023
  • 15 of those books I rated 5-stars
  • 52 movies watched in 2023
  • 4 of those movies I rated 5-stars
  • 8371 songs scrobbled
  • ~3104 photos taken (all from my phone)

Game Design and Development

Sometime last year I moved all my journals into Obsidian. Obsidian is great, but more importantly, they are all now markdown files, and much more organized than they were before.

A separate, but related project is to move all of my game design related documents and files into a .git repository specific to that purpose. It’s one of those projects that may be perpetually in-progress (although it is finite!), because there are so many files still in Google Drive. Some of those will remain, because they are publicly shared, or collaborations, but in all cases, I’d also like a copy to live in the repository.

The peace-of-mind I’m getting from this cannot be overstated, but additionally I’m finding it much easier to find where I’ve put things, and make progress on projects that have been shelved for ages. This process also surfaced some projects I’d completely forgotten about, and my list of prototypes (by what stage of development they’re in) has grown as a result. (Specifically, before the markdown version, I only had 28 “playable” board game prototypes listed, and I now have 31.)

My Game Design Journal

I wrote 82 game design journal entries in 2023. That’s twice as many as 2022!

After trying to “eyeball” some statistics, I decided to go through and tag all my journal entries, which made compiling the statistics reported above a simple matter of counting the instances of that tag in the file for 2023. (The tag count by file is built into Obsidian, and this was the main reason I decided to split the file up by year.)

My re-reading and parsing of the journal entries revealed a few other observations:

  • First, I think I tend to have a lot of game ideas where I have some game components, and I want to make a game using those components. For example, one of my holiday gifts this year was a set of 4-colors of wooden checkers pieces, and since receiving them, I have thought of no less than 4 new games playable with those pieces.
  • Initially, I wanted to tag new game ideas with whether or not they’re variants of other ideas. But I realized that it’s very hard for my brain to sort this out at a glance. This is actually a really hard question, and I now recall that there was a long thread in BGG about it sometime in the last year as well. I didn’t really resolve this, and decided not to report this statistic.
  • Related to the above, I was very liberal in my use of the #continuation tag. In the past, I always tried to list the date of the previous design journal entry that the idea continued, but this time around, I just went with whether the idea was building on any previous ideas I’ve had. A great many journal entries are about games I’m actively working on, and I certainly don’t list all the previous entries in those cases.
  • 7 journal entries were about variants for existing games not designed by me. Some of these were about new Go variants. I spent a lot of time last year thinking about Go variants, and am still considering publishing a set of them in some form or another.
  • 6 of the journal entries were game ideas that are playable with common components. I generally don’t include those kinds of games in my prototypes list. (Unless I really think they have merit, and then I’ll spend some additional time thinking about how or whether they could become commercial games. Maybe through some component trickery. Or, as was the case this year, perhaps by bundling them with other Go variants.)

Video Game Development

I was fairly focused on non-game contract work this year, but still managed to find time enough to work on (and release) the app version of my game Blither. I still have a lot of tasks on my TODO list for that game, but my enthusiasm for working on it has almost dried up at this point.

The only other video game development of note that I tackled in 2023 was to spend a few weekends porting Go Tetris to Swift. That project is maybe 50% complete at this point. I’m using an open source cross-platform game engine, called GateEngine, and I documented some of the exploration and learnings around using the engine (and my port more generally) in a series of posts on the Swift.org forums.

Games Played Log / Journal

Not including BGA turns, other turn-based board games, or Picross, here are my most-played games of 2023:

  1. Diablo 4 (Xbox): 117 days
  2. Legend of Zelda: Tears of the Kingdom (Switch): 80 days
  3. Army of Ruin (Steam): 30 days
  4. Coral Island (Steam): 25 days
  5. Stitch (iOS): 21 days
  6. Hogwarts Legacy (Steam): 21 days
  7. Grimoire (iOS): 19 days
  8. Garden Tails (ios): 13 days
  9. Rogue Genesia (steam): 13 days
  10. Sumaddle (iOS): 12 days

Note that there are no tabletop games in my top 10, but I did play tabletop games (in person) on 49 days in 2023, which is a heck of a lot more than the 31 days from 2022. My most played “in person” tabletop games, by number of days played were:

  1. Passo: 5 days – I played this a lot with my kid, and because the game is relatively short, most of the time we played at least 2 out of 3 games, so this number may be way low compared to number of completed games.
  2. Cascadia: 5 days – My guess is I “just” played this 5 times.
  3. Go: 4 days
  4. Gizmos: 3 days
  5. Say?: 3 days – This game’s designer, Khanat Sadomwattana is really on a roll. I just received Yuma from the kickstarter, and am eager to play it.
  6. Aegean Sea: 2 days
  7. Meadow: 2 days – Shout out to Nate and Ellie, who own this game.
  8. Euker: 2 days – This is a thanksgiving tradition among my dad’s side of the family.
  9. Splendor: 2 days
  10. Splendor Duel: 2 days – I mostly got this to see what makes it tick. It’s a fine 2-player Splendor variant.

It’s obviously an idiosyncrasy of my “played log” journaling that I don’t currently log when I played a game more than one time in a day. I’m going to try and think of a way to fix that for 2024.

Board Game Arena

My top 10 games played on BGA this year were:

  • Gizmos: 56 plays
  • Innovation: 43 plays
  • Splendor: 26 plays
  • Race for the Galaxy: 23 plays
  • Azul: 22 plays
  • Jump Drive: 20 plays
  • 6 nimmt!: 20 plays
  • Stone Age: 17 plays
  • Ticket to Ride: 15 plays
  • 7 Wonders Architects: 14 plays

It’s no secret that I love the game Gizmos. I was happy to see it at the top of my most played on BGA list. All the games in that list are ones I play with folks on my Tuesday night online game night. We play asynchronously all week, of course, but an hour or two on Zoom definitely helps keep things moving along. Notably, the group has shrunk a bit in the last year. I stopped inviting other folks, even when it looks like it’s not going to be many people on the call, because a) I’m lazy, but b) it’s easy to end up with too many. (We usually try and play only one game concurrently.) c) I also think it can be sometimes awkward when folks on the call don’t know each other. It’s always hard to align everyone on which games to play and when, maybe even more than with an in-person game night. Even when everyone has known each other for years (as with our core group), it can sometimes be hard to pick a game, which is why we end up falling-back on these staples we know everyone already knows and loves.

If you’re reading this, and are one of the people I’ve stopped pestering to come play with us, please know that I still want to play with you!

I also wanted to remark on some of the games I personally really enjoyed learning this year on BGA:

  • Ark Nova: 11 plays – Just barely missed the top-10 cut off. I’ve never played this in person, but I’ve enjoyed getting to play it on BGA.
  • boop!: 9 plays – I saw this in person and dismissed it as yet another commercial game that’s too simple, and probably broken. But it was something much more rare: a commercial release of an abstract strategy game with some actual depth and clout! I have yet to pick this up (at least in part because I can play it any time on BGA), but I probably will do so eventually.
  • Let’s Catch The Lion! – 7 plays – more about this one below.
  • That Time You Killed Me – 3 plays – I’ve owned the physical version of this since it came out, but have yet to play with my copy. The digital implementation was the push I needed to finally learn to play, and explore this game a bit.
  • Earth, and Forest Shuffle – 2 plays each – I think it’s interesting that I only played both of these tableau builders twice. They were both new to me, and I thought I’d played both of them more than I had. I really enjoyed both games, and have considered picking up physical copies. (More so Forest Shuffle than Earth, but only because I think it would go over better with my wife & kid.)

Abstract Strategy Games

Toward the end of December, I started playing games on AbstractPlay.com. I only finished 2 games there by the end of the year (one game of Tintas, and one of Adere, both new-to-me and excellent games!), and I’m eager to continue to play there daily. I’ll include stats for those games next year in a similar way to BGA. I’m always saying abstract strategy games are my favorite, and I do like to try out new ones whenever I get a chance, but in general, they seldom make my “most played games” lists. So I decided to take a closer look at my plays of Abstract Strategy games in 2023. (And additionally, maybe I’ll try and change this somewhat in 2024.)

One of the standouts for me this last year was a game I didn’t acquire until mid-November, called Passo. Shortly after that, I convinced my 13-year-old to play it with me, and my game log says we played it 5 days. I don’t remember a day that we played it where we didn’t play best out of 3 times. And there may have even been a day or two where we did that twice. On the other hand, one of the 5 days was introducing the game to Nick Bentley, and I believe we only played it once.

Passo is one of those short games with simple components that I really wish I’d designed. I’ve even spent some time in past years working on designs played on modular boards! Before taking our first plane trip in 3 years, one of the things I did to prepare was to write up a list of about 10 modifiers to try out while playing Passo. Then on the plane, I presented these to my kid as a “challenge” for us to figure out which ones are fun. (The grid of 5×5 board spaces fits perfectly on one of those back-of-the-seat tables, by the way.) Interestingly, we tried a bunch of combinations of all my ideas, and none of them felt as good as Passo. I don’t know whether we gave them a fair chance, but the impression I came away with is that Passo is incredibly “honed” in its simplicity. It’s hard to make a better game out of its components!

Looking at my log again, the abstract strategy game I played on the most days was Blither, (the game I released as an iOS app) played on 10 days. I’m certain I actually played it more days than I logged it, since I’m also sure I worked on it more days than that, and I doubt there was a day I worked on it that I didn’t finish at least a game or two.

Other notable abstract strategy games:

  • My friend Mike and I played boop! on BGA 9 times in the course of about 3 months between March and June. At first, I thought it was broken. (Mostly because you can get into cycles, or at least very long sequences, but it’s also possible to get out of them.) But the more I played, the less I cared. I enjoy it well enough, and really loved reading the boop! designer diary on BGG.
  • In contrast, Mike and I only finished 7 games of Go in 2023, though we always had a game going throughout the year. I played at least 3 games of Go on my phone this year (in the Smart Go app). And notably, I played at least 3 physical games of Go, although all three were against either my 13 year old or other teenage friends they had over.
  • It’s hard to say how many, but I also played quite a few Go variants this year. Mostly on Ludii, and AiAi, but as I mentioned I spent a lot of time thinking about them, and part of that time was just spent googling around for what’s out there.
  • Notably, I found that Stephen Lavelle has two excellent digital Go variants: Pachingo, and Go48 He is one of my game-design idols. Arguably a genius.
  • I played 7 games of Let’s Catch the Lion! on BGA – I think of this little Shogi variant to Shogi as Tic-Tac-Chec is to Chess. I love both of those small games. My impression is that they give just the tiniest taste of the tactics you can find in the larger game, while still being their own totally satisfying self-contained experiences. Although I’ve wanted to for many years, I never spent the time to learn how to play Shogi. I think I’ve been intimidated by the usual look of the pieces, which are indecipherable to my western-biased eyes. I enjoyed Let’s Catch the Lion! so much that I ordered the full version (also known as “Dobutsu shogi in the Greenwood”) from a little shop in Japan. It’s my understanding that version is essentially Shogi, with kid’s pieces. I haven’t received it yet, but when it arrives I’m eager to explore some of the other variants described in this Shogi geeklist.

Video Games

I mostly played Diablo 4 with friends, and I had sort of grown tired of it at one point not too long after it came out, but then the second season content sucked me (us?) back in again. Plus, at some point my brother got an Xbox, so I was also playing with him too for a while.

Legend of Zelda: Tears of the Kingdom is easily my game of the year. It’s just a really solid sequel, with tons of little improvements over the first one, giving me plenty of reasons to keep playing. Just thinking about it makes me kind of itch to play it again, though it looks like the last time I played was back in September.

I was surprised to see iOS appear so many times in the top 10. Although it’s kind of disappointing which games are on there. Stitch is a nice “easy” puzzle game. I think it’s puzzles aren’t all that great, but it’s art is very nice and the experience is meditative. I think it has a similar feeling to putting together a jigsaw puzzle. Both my wife and kid are also playing it. (And have probably played a lot more than I have.) I was actually going to drop Apple Arcade with the recent price increase, mostly because I haven’t played many of the games lately and have been disappointed with the recent releases, but I mentioned it at the dinner table and was told that would be unacceptable.

I had to open Grimoire to remind myself what it is, and it’s definitely a stupid idle clicker game. Garden Tails isn’t much better, though at least it’s got some match-3 in there, and it’s pretty. I should play more Sumaddle though. That’s a good puzzle.

I didn’t start playing Coral Island until November 18th, so it’s impressive that one got to 25 days. I’m kind of done with it, but there are a few other objectives that I could imagine playing just to get to. It’s definitely got content to play a lot more than I have already, but I only started playing because my kid wanted to play it. I definitely got sucked in. Notably, our friend Angela got it for Xbox, and ran into a ton of bugs that don’t exist (as near as I can tell) in the Steam version.

I play Picross fairly frequently as part of my daily workout, so it doesn’t seem fair to include it in the list above. Yes, it was (again) my most-played game of the year, at some 240 days. But this is fewer than last year’s 297 days, and at least part of the reason for that is that I figured out how to use a “spare” pair of Joycons with my Steamdeck. So I bought a dock and hooked it up to my TV, so it’s pretty functionally equivalent to playing a game on the Switch. It’s a little more effort to get it set up, so I still play Picross for my workouts 75% of the time though.

Video Game “Platforms”

Here are the results of tracking “where” I played games last year:

  • bga – 71 games on 355 days
  • tabletop – 51 games on 49 days
  • ios – 46 games on 131 days
  • steam – 36 games on 130 days
  • web – 33 games on 32 days
  • xbox – 14 games on 136 days
  • switch – 9 games on 279 days
  • oculus – 8 games on 9 days
  • aiai – 8 games on 5 days
  • ludii – 5 games on 2 days
  • playdate – 1 games on 1 days
  • ps5 – 1 games on 1 days

Poor Playdate. I played so much of it last year, but the last time I fired it up was to update it and check out the new catalog (store) built into the OS. But apparently I didn’t actually play any games that day, or I forgot to log them. (I honestly can’t remember.) There are at least a couple that I really want to try out now, so hopefully it will get more entries in 2024.

PS5 is a weird one. I’m sure I turned my PS5 on more than 1 day last year… but it’s true that there weren’t any games on it that I got into the way there were in 2022. I still have a small stack of games for it that I haven’t even opened yet, but that’s true for every platform.

A few words about “web” – It’s worth noting that, when entering a web-based game into my log, I often have the dilemma where I wonder if “web” is the correct platform. For instance, BGA is a website! Obviously I treat BGA as its own platform, and it’s tracked separately anyway, so that’s a bad example, and I’m planning to treat AbstractPlay.com the same way, but what about Yucata? (I actually didn’t log any games on Yucata in 2023, but I did in 2022.) Ludii is also a website, but I log plays as Ludii, because it’s also a stand-alone app. I think this year I’m going to try and avoid using “web” as a platform, and use the domain instead. So if I’m playing a game on itch.io, I’ll put that as the platform instead. This decision is at least in part because I realized I didn’t log all the times I was playing Glory to Rome on the website that exists for it, or solving puzzles on Puzzmo, which I can’t imagine I did more than a small handful of days. Even so, I should be tracking those, and will endeavor to get better at remembering this.

Favorite Video Games of 2023

I already spoiled this section by saying that Legend of Zelda: Tears of the Kingdom is my game of the year. And obviously I liked Diablo 4 just fine as well, or I wouldn’t have played so much of it. I kind of hate how loot-box-y it is, but there’s always plenty to do without paying.

Other notable games I loved this year included:

  • Cocoon (Xbox) – I finished this over 5 days. I’m pretty sure it would have been 3 days, but I got stuck on the very last puzzle of the game.
  • Walkabout Minigolf (Oculus Quest) – This is a surprisingly fun VR game, especially when you play with other folks. It feels basically exactly like playing regular minigolf, except you’re in a virtual world, where strange and interesting things can happen. (Also where you can fly around.)
  • Six Match (iOS) – I’ve had this game on my phone for a while, and have played it previously, but I played a bunch of it again this year. It’s a very interesting take on match-3, I think. They added puzzles at some point, and I enjoyed those quite a bit. (Probably haven’t even beat them all yet.)

Shout out to the weird (new-ish?) subgenre of “avoid-em-up” games, also known as “survivor-likes”, since Vampire Survivors was the one to bring a lot of attention to games like it. Army of Ruin made my top 10 most played, but there are a kind of ridiculous number of them in the middle of my games played log this year. A lot of them sitting at 5-10 days played, including Brotato, Boneraiser Minions, Pathfinder Survivors, and 20 Minutes Until Dawn. They all have upgrades that scratch a particular itch, and feel sort of like eating popcorn to me. Not filling, and certainly not nutritious, but satisfying none the less. My favorite of the bunch is probably Boneraiser Minions.

Other Tracked Activities

Books

I marked 15 of the 52 books I read last year 5-stars. My favorites were probably these:

  • Sure, I’ll Join Your Cult, by Maria Bamford – I am an unabashed fan. This was a hilarious memoir.
  • Also a Poet: Frank O’Hara, My Father, and Me, by Ada Calahan – Two memoirs in one year? I loved this book almost as much as I love Frank O’Hara. His best poems are on another level, but this included some very choice lines, and got me thinking about O’Hara and his work again, and was also lovely in its own right.
  • Legends & Lattes, by Travis Baldree – This was an excellent cozy book about an orc warrior whose life is changed by trying coffee for the first time, and decides to open a coffee shop. Delightful.
  • A Heart that Works, by Rob Delaney – Okay, seriously, I NEVER read memoirs. Comedian, actor, and writer Rob Delaney writes here about how he got his first book deal by being funny on Twitter. It’s probably worth noting that I listened to both this one and Maria Bamford’s book read by their respective (celebrity) authors.
  • Witch King, by Martha Wells – This was the first in a new series by one of my favorite authors. If you haven’t read Martha Wells, start with either Murderbot or the Raksura books (sci-fi robot or fantasy dragon/changlings – to taste).
  • Defekt, by Nino Cipri – This short sequel to an equally short first novel about the multiverse connected to the backs of big box furniture stores is compelling and lovely.

If you read this, and follow me on Goodreads, know that I’ve stopped updating there, and may even delete my account eventually. I’m now posting my mini-reviews, as well as rating and logging the books I read, on The Story Graph.

Movies

The number of movies I watched each month of this year was quite variable. I only watched one movie in August (a really weird french Power-Rangers-inspired movie called Smoking Causes Coughing, 4-stars), which was the least, while in December I somehow watched 11 movies.

I marked the following four movies 5-stars in 2023:

  • Nimona (2023)
  • Barbie (2023)
  • Three Thousand Years of Longing (2022)
  • Twelve Monkeys (1995) – This was a re-watch, and remains one of my favorites.

Music

I scrobble all my music, and last year sometime I imported everything from Last.fm into ListenBrainz.

I still send my scrobbles to both places, however, and interestingly enough, they have conflicting numbers for how many tracks I listened to. Last.fm says I scrobbled 8,578 tracks, while ListenBrainz says it was only 8,371. Last.fm’s report includes a bunch more information, so I’m not ditching it any time soon, but its totals for “most listened” both albums and artists are lower! I think there must just be some difference in how both services compute albums as “listened”.

Both sites do agree on a lot of numbers, so I think this is accurately my most listened to albums and tracks:

My Top 5 albums listened to in 2023:

  1. No Rules Sandy, by Sylvan Esso
  2. The Lion King: The Gift, by Beyoncé (and other artists)
  3. History, by The Knocks
  4. Touche, by O’o
  5. Sylvan Esso, by Sylvan Esso

My Top 5 tracks listened to in 2023:

  1. Apricots, by Bicep
  2. Heaven Takes You Home, by Swedish House Mafia
  3. Coffee, by Sylvan Esso
  4. Claws, by Charli XCX
  5. Echo Party, by Sylvan Esso

Shout out to Le Youth, which both sites agree was in my top 5 listened artists, but somehow doesn’t appear in either of the above lists. Bonobo and Ben Böhmer also appear in my top 10 artists.

Notes on Process

A bit about my tracking of this stuff: I’ve spent a fair amount of time for this post pulling together all my data. Here’s a list of my sources:

  • the daily log (text file) self-reporting all the games that I play
  • Board Game Arena
  • my game design journal entries
  • The Story Graph (I also track books I read and my reviews in a text file)
  • Letterboxd (I also track movies/dates/reviews in a text file)
  • Last.fm and ListenBrainz for music

Around the time I started the original game log, I was trying to log all my games to Board Game Geek (BGG). BGG is great for board game plays, but doesn’t do all the other games that I play, so I mostly stopped using it (or BG Stats, which syncs with BGG) in favor of my own custom text file that just lists the date, and any games that I played that day, as well as the platform each game was played on. Every year since 2019, I’ve enhanced how I parse this log, so I can milk it for more statistics. The latest version is, of course, written in Swift.

I spent at least a couple of hours on the Swift project this year, and mostly it does exactly the same stuff it did last year, but now it does it better. It’s got better error reporting (important for the inevitable data-scrub that has to happen before the file parses correctly), but also the report it spits out is clearer, and ordered with the totals that I really care about at the bottom (while still printing all the gritty details above, so I can fact check and get into the weeds if I want to). Finally, I did also do a refactor of the project itself, moving it from a command-line macOS application to a Swift Package executable. This allowed me to write some tests. So now I’ll know if any future changes I make break parsing of the older log files.

And I have already identified two things I want to be able to parse for next year:

  1. I’m going to start marking games that are new-to-me games in my “played log”, so I’ll have better stats on how many games I played that I hadn’t before. I’ll do this by prefixing them with a +.
  2. I’m also going to mark games that I played more than once in a day by adding something like x2 or x10 in the parenthetical section after the game name. Most of the time this won’t apply to video games, so it’s fine if it’s missing, but for board games or any other game where you can “finish it” one in a sitting, I’ll add this when necessary.

I’m 6-days into 2024, and I’ve already used both features a bunch.

I will of course continue to pull in my digital board game plays from Board Game Arena (BGA) next year, but I’ll be adding games from AbstractPlay.com to that as well, which means I’m pretty sure I’d like to somehow incorporate parsing both of those and then integrating them into the Swift project as well. Both so I can get consistent gameplay counts, but also just so I don’t have to do as much manual counting.

I’ve written quite a bit about my game design journal, and in some posts I did analysis around what kinds of ideas I had. This year, because I’d already added the entries from 2023 to .git, I decided it was fine to add to that file as long as I didn’t change its contents. So I went through all my ideas from 2023, marking each entry with 2-5 hashtags. Obsidian has several features around hashtags that let me easily pull together the raw numbers that I reported above.

Of course just the process of reading through all the entries from last year was interesting, and I even found an idea I thought might be of interest to the creator of a game I like, so I sent it to him. Hopefully he’ll find that unsolicited idea welcome, but I’m not holding my breath for a reply.

I mentioned moving to The Story Graph for book tracking. It’s what both my wife and I have decided to use instead of Goodreads. We both have Goodreads accounts that go back over a decade, but are unhappy with Amazon (who owns Goodreads), so we’ve decided to stop using the Goodreads entirely. I also have a text file for books I’ve read, and that file is actually far older than any of my other logs. (I neglected it for many years in the middle, but started keeping a list of books I read in 1995, while I was still in High School.) I love some aspects of The Story Graph, but I recently wanted to see a list of my wife’s books read in 2023, and that seems to be impossible currently, though the site has all this information and will show it to me in different ways, as well as show it to her. it just doesn’t make that list available to other users. (The stats are, in general, far better on Story Graph than on GoodReads though.)

As usual, pulling this post together took way longer than I’d expected. This year I even set aside a whole day for it (January 2nd), and even though I actually got a decent start on it the day before, I still wasn’t ready to post it at the end of the day on the 2nd. I then proceeded to spend at least half of the rest of the week on this endeavor, and still hadn’t finished it by Friday. I’m guessing I spent ~20 hours putting this post together.

Looking Forward

I enjoy this kind of introspection for its own sake, but I sometimes struggle to come to any conclusions after. And since I dislike putting pressure on myself, I usually avoid new-year’s resolutions and that sort of thing.

But in spite of that, I’ve decided I’m going to make a concerted effort to try and play more abstract strategy games this year. I’ve already made a deal with my kid to play a game of Go at least once a week, but I’m not holding my breath for whether that happens.

I will also be attending GAMA this year for the first time. I’ve heard it’s the industry conference to attend for Board Games, and I’d like to check it out for myself.

Here’s hoping that you and I both have a productive and happy 2024!

Porting Board Games to Digital Platforms talk for CrafterCon & Madison Protospiel

I gave a talk at this year’s CrafterCon, (a single-day convention The Game Crafter puts on before the Madison Protospiel), and they recorded it and posted it to youtube. Unfortunately, I am not in the video, it’s just of the slides, although it does include my audio.

A PDF of the slides is also available below.

I had a pretty great time at Protospiel. The big thing I did to prepare (aside from creating my talk) was to make sell sheets for each of the games I brought, and while I did show them to several folks, they were other designers, not (as far as I know) any publishers.

I had a great time playing other folks prototypes and hanging out with friends both old and new.

Card Game Systems

As a game designer, I am of course interested in “game systems” both as a concept, and specifically, as objects to own and play. I love the idea that games can be broken down into parts that can be used to compose other games, and I’m always looking for patterns in games that I play that I’ve seen used in other games, and thinking about how to abstract them.

So finding the Everdeck, a card game system meant to map its cards to multiple card game systems, is something that is of interest to me. Incidentally, I think I’d perhaps stumbled onto the Everdeck previously, but it wasn’t until the company that manufacturers my computer keyboard of choice also produced a similar deck, which they call ZSA Cards, and finding that they consulted with Wilhelm Su, who created The Everdeck, that I gave it a second glance.

I have a few stories to tell about card game systems that I’ve worked with:

First off, I did make a few different game designs for the Mystique Deck, a card game system designed and produced by Nestor Andrés, of nestor games. There may have been a contest, I can’t remember, but I designed several games, and at least one of them went into the book that was produced.

Secondly, at some point I had the idea to make a deck of cards for use with the Loony Pyramids game system. My friend August Brown illustrated the cards, and I playtested a bunch of ideas none of which really became “the game” for the system, and then eventually I just posted the PDF on my blog without any real fanfare. Ideally, I would like to formalize a game or two I think is outstanding with the cards, and then approach Looney Labs, but I haven’t done either of those things yet.

Finally, of course one of the oldest card game systems is the 52 card deck, and I have designed several games over the years for that system. Most notably, I published a solo deck-building game for a game contest, and it got a lot of comments on BGG, but I got too busy to really follow-up on most of them, and it was eventually disqualified from the contest for some reason. But I enjoyed that process, and think the game isn’t too bad as/is.

Here are some other card game systems I’ve enjoyed:

  • The Ell Deck – a deck of letter combinations, by Behrooz “Bez” Shahriari. I backed the Categorickell kickstarter, and was quite happy to finally have the deck in my hands earlier this year. There are 30+ games to play with these simple 2-letter cards.
  • Nautches – This is a hexagonal game system with a pun in its name (because all the sides have “notches” on them), and if anyone who knows me well heard that description, they would know I needed to own this. I was a little disappointed the deck itself isn’t larger, and that it didn’t come with the rules or ANY supporting materials, but the quality of the cards and hexagonal box is very high. Sadly, there are still only two games using the system posted on the site, but it does lend itself to playing around with different designs, and I’m very happy to own it. I have at least one or two designs for this, and I should probably make a separate post about those, or at least submit them to the Nautches site and see if they get posted.
  • Pairs – This new-ish card game system was also linked from the ZSA Cards site, and is published by Cheapass Games (and designed by James Ernest and Paul Peterson). There are already quite a few games you can play for it, and my “deluxe” copy (with rules for 30 games) is on its way.

Introductory Apple Developer Resources

I wrote up a list of Apple (iOS, iPadOS, macOS) developer resources that are not directly from Apple. (Perhaps obviously, if you are wanting to get into developing for Apple’s platforms, developer.apple.com should probably be your first stop. This was written for someone who wanted links to other sites they should know about.)

I figured since I spent a bit of time compiling these, I’d re-post them here.

  • If you still feel like you’re getting a handle on Swift syntax, (or just want to brush up and/or clarify optionals), I highly recommend the Unwrap app. It was instrumental for me when I first started learning Swift.
  • Similarly (on the topic of Swift syntax) https://swiftly.dev/ is a nice “cheat sheet” style site with a lot of topics. (Made by a local dude!) He also made https://iosref.com/ which is another “cheat sheet” for various device-specific info.
  • All Apple developers should at least know there is a book on Swift Language syntax. Importantly, it’s updated for every new version, and you probably don’t want the version that’s currently in beta, so be aware of which one you’re reading. Also, that link is to the overall swift.org documentation, which has a bunch of other semi-interesting stuff listed too.
  • The Swift Package Index should probably be the first place you look for swift packages. Apple is a sponsor.
  • I read iOS Dev Weekly when it hits my inbox every Friday. Might not be as much beginner content there, but it’s definitely the main way I “keep up” on interesting blogs and viewpoints. The intro usually touches on any news I should be aware of as well. (The author is also the maintainer/founder of the Swift Package Index.)

Some blogs that I find myself on regularly (with really nice articles):

  • NSHipster is kind of in-between a blog and a reference site. It used to feel more important than it does to me now, but it’s still a really nice set of articles on some of the tricker topics you might encounter.
  • Hacking With Swift is a source of SO MANY good articles. I have this one on SF Symbols bookmarked, as it’s the definitive guide, IMO.
  • Swift By Sundel has a TON of excellent articles, and this link (the “Discover” tab) feels especially full of “required reading”. The author uses a very nice static site generator written in Swift, called Publish, on Github.

There are also a couple of relevant and local (to the Twin Cities, where I’m based, in Minnesota, USA) developer meetups:

  • Our local Cocoaheads chapter merged with a meetup.com TCiDev group several years back. They have a joint Slack that has a not-zero number of posts per month (but it’s close).
  • SwiftMN is sort of the new-kid on the block. It obviously didn’t exist until Swift came about, and I was a late Swift convert (didn’t start using it until version 4), so I’ve only been to a few meetings. They have a mostly-dead slack also.

Introducing the Hexagon Grid Generator

I created an app called Hexagon Grid Generator. It’s open source, runs on iOS, iPadOS, and macOS, and makes it easy to draw hexagonal grids.

Hexagon Grid Generator

In short, Hexagon Grid Generator is two things:

  1. An open source example project (on GitHub it’s called SKHexGrid) for how to use a Swift package called hex-grid to generate hexagonal grids in various configurations.
  2. An easy (and fun?!) way to draw hexagonal game boards.

Here’s some text from the newly re-worked About screen in the application:

There are a couple of other uses imagined for this application (outside of serving as a nice example for the HexGrid library):

  1. You can configure and then Save images of hexagonal grids for use elsewhere. (For example, you might configure a grid for a board game played on a hexagonal grid, save it, then find it in your photos library and print it from there.)
  2. You could also use a grid to play some basic games pass-and-play right here inside the app. There are many games on Board Game Geek playable on a hex grid without much necessary equipment. Here are links to a couple of lists:
        • games played on a hexagonal grid (of any size), with single color markers/pieces/tokens
        • hexagonal territorial games with placement/capture but no movement

why am I just writing about this now?

So yeah, I think this first released in the app store back in March of this year (2023), although it had been on GitHub for almost a year now. I’m only just getting around to writing about it.

I guess I took a break from working on it for a while after Blither came out, but I’m back to thinking about it again, and I have a long list of things I want to make it do. You can see that list in the project README, but it’s a big bullet list that’s not really in any sort of order. I’ve written more about this below.

How did this come about?

While working on the app for Blither, I obviously needed to draw some hexagons on the screen. I had done this at least a few times previously, so of course the first thing I did was go look at my old code. The most extensive project with hexagons was of course Catchup (RIP earlier this year :sad:), but when I opened that up, I found that the hexagonal drawing was quite specific to the app, and not really all that extendible to different sizes or shapes of hexagonal grid.

I was disappointed by this revelation, and really wanted to use a library that could draw a multitude of different sized grids without too much extra effort. First-thing-first was to look to see whether such a thing already existed.

When making Catchup (and possibly even before!), I had been aware of the quite extensive tutorial on drawing hexagonal grids written by Amit Patel (Red Blob Games). That website is, as far as I can tell, the definitive guide on the subject. There are even links to other libraries, and it was there, in the Swift section, that I first found reference to the Swift package called hex-grid, that I ended up using for Blither.

So, while evaluating hex-grid, I still hadn’t quite decided what iOS framework/library I would use for drawing. Catchup uses UIKit, and I’ve used that professionally for over a decade, so it’s definitely the one I’m most familiar with. The only demo (at the time) for hex-grid was written in SwiftUI, which is Apple’s hot new declarative UI library, so I spent a bit of time with that, and realized the demo was quite limited. It really didn’t show off most of the features of the hex-grid library. (I’m also not sold on SwiftUI, but I did use it for all the menus in Blither as well as the menus in SKHexGrid, so I guess I’m coming around.)

I was starting to become familiar with hex-grid, and I decided to experiment with using SpriteKit , which is a 2D game engine/framework/library created by Apple. I’ve always avoided it because a) it’s proprietary to Apple, and b) UIKit is plenty capable of drawing a bunch of stuff really performantly, but at the same time, it has some nice capabilities, and I’d never used it before, so… why not?

Before long, I realized my “test” project (which I’d made specifically to easily switch around which grid is drawn) was a much better example of what hex-grid could do, and as I’d been in contact with the developers of that library a bit (mostly creating issues and asking them to add features for me), I showed it to them, and they promptly added it to the README.

One thing I’m really proud of creating for the application is all the different ways you can configure the coloring of the hexagons inside the grid. This is functionality that is unique to SKHexGrid, and not something that comes from the hex-grid project. (This is a candidate for pulling out of this project and contributing to that one, but it just sounds like a lot of work to me.) There are the following options for shading grid cells in the application:

grid shading types built into Hexagon Grid Generator

There is also a random color shading, but I didn’t picture that here. Each of these (aside from single and random color shadings) required their own algorithm, and were pretty fun to write. I only just thought of another shading type that might be fun, so I added it to the README.

What’s next for this project?

I did just yesterday submit the latest version (v.0.4.2) for app store review, so that should come out shortly. In it, I added the ability to draw and configure dots in the center of each hexagon, as well as lines between each of those center points. Just to illustrate, here are some example hexagons showing off those new features:

grids showing the new “center dots”, and “lines between center dots” features

As I said earlier, I have a long list of things I want to make the project do. I’ll just list a few of them, roughly in the order I want to work on them.

I really want to allow you to save the grid that you’ve customized, so the next time you load up the application you can see it again. This will let you toggle between different grids you’ve created, or save a “game in progress” that you’re playing with the app. But the serialization of colors makes it all a bit annoying. (SwiftUI uses a different object for colors than UIKit or SpriteKit, and it’s not serializable for some dumb reason.) I also think Apple’s new SwiftData framework is going to make syncing your serialized hexagon “save files” via iCloud a no-brainer to implement, and I’m kind of eager to play with that, so I might hold off on this feature until that is released along with the new iOS in the fall.

I think the next thing I’ll actually work on is showing coordinates not on the hexagons themselves, but as a sort of “key” along the side of the grid. This is common if you are doing any sort of annotation of your games, and should be highly configurable. Currently the cell (individual hexagon) coordinates are configurable, both in how they are displayed, as well as which coordinate “style” to use. But I’d like to be able to show the “axial” coordinate style both as two numbers (as it’s used in the library), as well as with a single number and an alphabetical character. Additionally, it would be nice to be able to “rotate” which side shows the coordinates, but I’m not yet sure how I would do that, so we’ll see.

After showing coordinates along the edges of the board, I’d also like to be able to show arbitrary colored borders for the entire grid. This is because one of the kinds of game most commonly played on hexagonal grids are connection games (like Hex). In connection games, the goal is to be the first player to have an unbroken group of your own pieces from one side of the board to the other. Or, as in The Game of Y, between 3 sides of a hexagonal board. Incidentally, showing the lines between hexes, makes the kind of board that is typical for The Game of Y possible, because (as in Go) you typically play your pieces on the intersections of lines, as opposed to inside the grid cells.

Anyway, if you’ve read this far, you are probably in the target market for this kind of application, and you should go download it now!

Download on the App Store

On being a self-taught programmer

This post was written this morning in response to a post on dev.to asking about how self-taught programmers got their first jobs. I have told versions of my career path so many times that I think I wrote all of this in about 20 minutes. But I was thinking just now that I’m not sure I’ve written it all out like this before, so I’ll reproduce it here just for posterity.

I’ve been working in tech for well over 25 years. My career path has been long and winding, so I’ll try and give just the highlights here.

I did take a class in Basic in Jr. High school, and an Intro to C in college, but it was while I was in college, as an English major, that I began to teach myself html. This would have been 1996 or so, and I was president of our juggling club. I just wanted to update the webpage for the club, and that’s when I started to learn.

Key take-away for getting a job as a self-taught programmer: When you’re learning, be sure to pick a project or projects that you’re passionate about! It will be so much easier to complete them, and when you inevitably talk about them, that passion will only work in your favor.

Really, I just had small changes I wanted to make to that site. I needed to add myself to the list of “club officers”, and change the meeting times periodically.

Take-away 2: It’s much easier to make small changes to an existing project than to dive in to a large project “from scratch”.

Eventually, I started working on websites for various projects in the English department. One was a grant-funded research thing, and did not have html anywhere in the requirements, but I decided to post our findings / research as a webpage. That led to a very part-time job for another English professor, and that in-turn led to working at the student-run newspaper, writing html for a new “microsite” for the A&E section every week. That was almost certainly my first real job in tech, though it was a student position, and only 10-16 hours per week.

When my financial aid got screwed up at the end of 1999, I just dropped out and it only took me a month or two to land a full-time tech job (it was in the middle of the dot-com bubble). That job was “front-end” work, (html & javascript) and ~2 years later the company merged with another company, and 2004 or so I was the last person remaining from that original. By that time I knew I wanted to do back-end development, or what I considered “real programming”.

Take-away 3: Never stop learning. Try new things when given the opportunity, and you might find you enjoy some things more than others. You can totally shape your own career!

Once I started looking, I had a couple of job offers, but I ended up taking a job with some of my previous co-workers, and the idea was for me to do 50/50 front-end/back-end work. But I never really did much front-end work after that.

Take-away 4: Almost every job I’ve ever gotten has been because I knew someone, or was just in the right place at the right time.

Around 2007 I decided I could teach myself flash, just long enough to make my first video game. (I followed a tutorial on how to make Tetris, then modified it to have very different rules.) Around that time I started attending meetings of our local Twin Cities chapter of the IGDA, which I found very inspiring. I did my first public speaking, talking about my Flash game, and it seemed pretty well received!

Take-away 5: If you can, working on side projects is almost always rewarding. It’s especially important to get them to the point you’re not afraid to show them off, and put them in your portfolio or resume. (I do think portfolios are more important for folks who are self-taught than for folks with comp/sci degrees.)

Toward the end of 2008 I decided my next game would be for the iPhone. I spent a lot of nights and weekends, and I think I really leveled-up my programming working in Xcode and Objective-C. (I fell in love with strongly typed languages.) About 3 months later I released my first iPhone app in the store.

Around 2011 I’d been attending lots of meetups related to App development, and I’d worked on several projects, both personal and for my employer. (But it was still mostly web-dev at my day job, even though my passion was clearly for mobile.) I gave several talks at a group called Mobile Twin Cities, and the founder of that group had a mobile consultancy, and he recruited me.

Take-away 6: Find user-groups in your area that are relevant to the work you want to do. Attend them and (ideally!) find a way to give a talk. (Or at least address the group for a few minutes. Most groups have time for announcements.) Putting yourself out there, especially in a way that shows off your skills/abilities, can be crucial to landing any job in tech.

I think I was only at that company for 6 months before another merger was announced, and a year later, I found myself no longer writing mobile apps, but doing macOS desktop application development instead. I lined up a contract gig, (fortunately a very flexible one), and gave my notice.

They convinced me to stay a whole month before leaving, but in 2012, I began working freelance/contract, and I’ve been my own small consultancy ever since. I’ve even managed to work on a bunch of games! (Though my passion is definitely still mobile, I’ve done some VR work, and I’m currently very excited to work on some projects in visionOS.)

I hope someone finds this helpful.