What have I been up to lately?

Writing some Lua

I’m working on a playdate game. It’s sort of a mishmash of tile-matching mechanics, and attempts to get the crank working with various ideas I’ve had for square-grid manipulation. I’ve sort of thrown a bunch of ideas together and what I need to do now is decide how I’m going to focus it into an actual game. Currently there are both realtime “action puzzle” levels and also some more discreet puzzle levels that are not really designed so much as some tutorial and proof that puzzles could be designed pretty easily. I’m tempted to write a generator so I don’t have to do any level design, but I’ve gone down that road before, and once I’ve got the generator, I still have to pick levels that seem fun, and that’s usually where I crap out. I’ve mostly been focused on the action puzzle mode, which is what I really want to be the game, but if I’m being honest, I think the other mode seems maybe slightly more fun right now. I think I might try and think of ways to make the levels not be realtime, but still have recursive puzzles.

Playdate game screenshots

As I touched on in my last post, toward the end of last year and into the beginning of this one, I spent a bunch of time building some framework stuff for iOS grid-based games. I only mention this because now I’ve re-built a lot of that stuff in Lua for Playdate dev, which has me thinking lately about how I could re-use it in Pico-8, and maybe also in Love2D. The Love2D aspect is interesting because I could then target/publish back on iOS (in addition to desktops), bringing my development path pretty much full-circle. (I still definitely prefer Swift to Lua though, and have been daydreaming a bit about writing a Swift package that generates my Lua for me… that’s probably silly though.)

But no Unity

After publishing Thrive Digital last fall, I have yet to even install Unity on my new MacBook Pro. I think I may be “done” with Unity as a platform. (At least until I have another VR or AR project, but possibly not even then.) Unfortunately, this means a whole lot of my “in progress” projects are kind of abandoned at this point. That includes remakes of Action Chess and Go Tetris (which I’d been planning on calling Action Go when I do finally finish it), as well as a handful of prototypes and game jam games.

One of the jam games I thought was particularly promising and that I always meant to finish up was called Tetro-Buddies, and it had excellent art by August Brown.

Tetro-Buddies game jam art made with cardboard by August Brown

Also in my Unity “in-progress” folder is Puzzle Prison, a game made for and targeting Google cardboard (no relation to Tetro-Buddies). I more or less abandoned Puzzle Prison around the time the first Oculus Quest came out. It was very near completion for a while, and I should probably have just released it. I actually showed Puzzle Prison at a number of events, and for a while it was my go-to demo whenever I wanted to show off VR on my phone. (It was a 3DoF Chain-Shot clone where the “puzzle was all around you”.)

Puzzle Prison screenshots

I have been meaning to blog about Puzzle Prison for years. I even had an amazing OST made by musician Paths (who was calling himself DR00 at the time). The gameplay was… fine, but nothing special. I had all these ideas for making it more of a unique take, (mostly I just implemented a few additional block types, but I entertained plenty of other ideas) but none of the ideas really improved the gameplay much, and I think that had a lot to do with my never releasing it beyond TestFlight.

Now this article has become more about what I’m not doing than what I am, so let’s get back to that.

And some Action Puzzle game cataloging

The other thing I’ve been spending a lot of time on lately has been action puzzle game curation and Taxonomy. I have a relatively long blog post I’ve been working on, so I won’t go into it here, but of course action puzzle game taxonomy is a topic I’ve written about, and even felt compelled to present about, in the past. One piece of this is that I put together a relatively long list of action puzzle games on IGDB, mostly to make it easier to get feedback from fans of the genre about any that I may have missed or just don’t know about while putting the list together. I think there are a ton missing from the last 10-20 years, and I’d love for this to be as close to comprehensive as possible, but I’m not including any sequels or games that just don’t add anything to the design-space (although of course sometimes that judgement is subjective, so I’m erring on the side of inclusion).

One thing that’s decidedly missing from the IGDB list are smaller indie and hobbyist games. The list started not on IGDB, and the original is more comprehensive, and includes a bunch of iOS games not found on IGDB, a well as Pico-8 games. Of course it is possible to add games to IGDB, but I’m not sure that’s the best use of my time. The Pico-8 curation has been especially fun, because I recently bought an Anbernic RG351V, and have set it up to play all my favorite Pico-8 games, including some excellent Action Puzzle games like Pushamo, PullFrog, Bondstones, Drop Blop, TetraChess, and Sirtet. I definitely feel like I’ve barely scratched the surface on finding them.

Anyway, look for that blog post… sometime soon-ish.

Prototyping Snake Shapes

Snake Shapes prototype app icon

I don’t know that I have ever written a blog post about a game I’ve prototyped before. I mean, of course I prototype every game, but I don’t often talk about games that are in the early phase of development. In this case, I spent a non-trivial amount of time working on a game with the WIP title “Snake Shapes” in December 2021. I don’t think I’m going to spend any more time on it unless I have some big epiphany or something. I don’t know how many games I’ve worked on where I abandon them like this, but there have been a few over the years, I just don’t think I’ve done very much, if anything, to document one of them before.

First, what is Snake Shapes?

The original idea came from an entry in my game design journal on October 15th. Around the end of November, I knew I was going to have most of December to spend on some new game idea, and “Snake Shapes” was just one of many ideas that were competing for my attention. It wasn’t actually what I considered “the best idea”, but it was one that I thought would be “quick and easy” to prototype using a new written-in-swift version of my Generic Game Model (GGM) library.

Anyway, the idea for the game was a turn-based version of Snake, where you try and form shapes (initially just squares) with your tail. This evolved during development a bit to have less emphasis on the actual shapes created. I was going to have a pop-up every time you created a shape, saying how many of that shape you’d created, and giving extra points for shapes that hadn’t been created before. I did not implement that aspect. Every time the snake moves there is something new that gets added to the gameboard. The first 8 are fixed pickups of only two colors, but they are randomized after that, and every 4th thing added is a “wall” square that you cannot move into or through. The game as it is currently is just to get the highest score by eating things and making shapes with your tail until you run out of room to move.

I did spend a bit of time trying to brainstorm different names for the game. I might use the terms “Snake Shapes” and “Square Snake” interchangeably, because I’ve called the project both things, and frequently mix them up. I did also try to entice my 11 year old (who is getting quite good at making art in Procreate) to make artwork for the game, but without any luck.

At some point I had and latched onto an idea that each shape created would boost a counter for “number of power-ups” for a given type of collectible on the gameboard. I thought these would be fixed, one per type, but then I couldn’t decide what all the power-ups should do, so I decided to ask the player which one they’d like after each new square color. I implemented 6 power-ups in total, (which only took 3 days or so, including the popup, which took almost a whole day itself). They are:

  • sort your tail by color
  • remove half the walls on the board
  • convert half the pickups on the board to a random color
  • remove half the pickups on the board
  • clear out a 5×5 grid around your snake head
  • push every wall 1 square away from your current position

Unfortunately, one of the power-ups breaks the game by allowing the player to continue to play indefinitely. Can you guess which one?

Updates to Generic Game Model

I have written a bit a few times about Generic Game Model, but I’m especially proud of a talk I gave about the library to the MN Cocoaheads in 2014. That original version of the library was written in Objective-C, and for at least a year or so, I’ve been working periodically on a new version written in Swift.

Because I haven’t really had a specific project to use it on, I’ve mostly been trying out different things as the mood/whim strikes. For instance, at one point I really wanted it to be a swift package, and you can find a version of it on GitHub that kind of works, but I ran into so many problems using it that way (specifically for Square Snakes development, and while the package is “in flux” so to speak) that I just copied all the files in the project. (I still need to copy the files back out of the project into my package again, as there have been a ton of changes and improvements.)

Another thing I spent extensive time working on was deciding how much to embrace SwiftUI for this iteration of GGM. There’s another repository on Github where I decided to ONLY use SwiftUI, and I abandoned that idea too, after numerous headaches. I think I might know enough now to give that version another go, but I have some concerns (possibly unfounded) about performance, particularly in regards to animation. (SwiftUI does have animatable properties, including offsets and frames, but it was unclear how complex animations would be possible, and animations weren’t the only place I was seeing performance issues, but they may have been my fault entirely.)

What did I really accomplish here?

What am I proud of about working on this game? It’s not really the game idea, frankly. I proved it out, but sadly, I think it’s more fun to play without the power-ups. That said, there are a lot of different directions I could take it, and it could be that it just needs some tweaking in one direction or another to be fun. At this time, I just don’t think I’m going to spend the time necessary to figure that out.

Mostly, the tech was fun to build, and I’ll list some aspects of that here:

  • SwiftUI – It was surprisingly quick to build out new screens with SwiftUI. I used it to build essentially everything outside of the game grid itself, including a bunch of tutorial screens, and a popup that asks you to choose which power-up you want to associate with the color of square you just made. I’m not sure it would work in a “real” app, but I was pretty happy with the structure of the State object that controls all of what is displayed in the Application.
  • Xcode Cloud Build – This was one of the last things I did on the project, but it’s a fun one. It was only a day or so of work to set up the project so that when I push to the GitHub repository, Xcode Cloud will create a new TestFlight build for me using the new changes. It’s kind of amazing that, as a solo-indie developer, I can get continuous integration working on a project in an afternoon.
  • A-star pathfinding – This was actually something that came out of doing Advent of Code (adventofcode.com) in December as opposed to the Square Snake project, but if I hadn’t been working on the project, I am certain I wouldn’t have been as excited about the pathfinding problem. I essentially followed the A-Star tutorial over at Red Blob Games, and had it working in only a few hours. I didn’t really have a use for it in Snake Shapes, but did the work to integrate it with my library anyway, and that work paid off a few days later when I implemented the “push every wall 1 square away” power-up. I didn’t use the A-star itself, but used the PriorityQueue struct that was part of the code written for it.

What could I have done better or differently

This wouldn’t be a good retrospective if I didn’t think about what I could have done differently on this project. To be honest, even though I’m abandoning development, I’m fairly happy with how it turned out. Not happy enough with the game itself that I want to spend any more time on it, but happy with the things I learned and my progress toward making my GGM-swift library a usable tool for native iOS game development. I felt pretty “focused”, and even though what I was building meandered around a bit, I’m pretty happy with how on-task I stayed and the personal growth as a result of the project.

Here’s a few (minor) regrets:

  • I would like to have spent more time on the Tetronimo aspect of the game. As previously mentioned, at some point I decided it would be “too easy” to make shapes other than squares in your tail, and abandoned that aspect of the game idea. That meant I could be exceedingly lazy with the code to detect “shapes” in your tail, and allowed me to abandon one of the aspects of the game I was looking forward to developing. (I have several Unity prototypes that do Tetronimo shape detection, and I was kind of looking forward to porting that code to GGM.)
  • Also previously mentioned, I abandoned SwiftUI for drawing the game squares themselves. Because the library relies on UIKit for this aspect, it means it’s limited to iOS. If I really embraced SwiftUI, it would support iOS, MacOS, tvOS, and possibly watchOS. This is an area I’d still like to spend more time experimenting.
  • I had a TODO in the project to flush out the tutorial views in the app with examples. I didn’t do it because it felt like “work” (in a way that working on the game itself didn’t), but also because I wasn’t sure if I was going to change to using images for the game states themselves at some point, and that might have necessitated re-work. Anyway, the tutorial as it exists now is pretty much the worst kind of tutorial in that it’s just a bunch of text you have to read.

Demo

Demo time. Here’s a video of a couple of play-throughs of the last version of the game, so you can get a sense of it.

Blither Heuristic Notes

Note: If you haven’t already, you’ll probably want to read my original blog post introducing Blither before you dive into this one.

What’s a heuristic?!?

I promised to write up some “strategy notes” for Blither, but then yesterday I read this excellent article by David Ploog about Abstract Strategy game Heuristics, and had the revelation that most of the advice I’d already written would not actually be in the realm of strategy. Ploog lists 4 types of Heuristics: Evaluations, Strategies, Tactics, and Patterns. To quote:

  1.  Evaluations: Assessing a position, locally and globally.
  2.  Strategies: Global methods and formulation of subgoals.
  3.  Tactics: Local methods, generally small scale and short term.      
  4.  Patterns: Specially denoted moves or structures on the board.

I think most of the advice in this article falls into the category of Evaluations. How to read the board, and what to look for that might be an advantage to you while playing. (Possibly some of it will drift into the realm of Tactical decisions.)

Caveats

It’s a new game still, so I can’t promise these are all anything more than tips for beginners. It is also certainly possible that someday this post will only serve to prove how terrible I am at playing my own games.

It’s worth noting that I haven’t played that many games of Blither, although probably more than anyone else at this point. (A few dozen at most.) It’s also possible that some of the tips here are circumstantial, and don’t apply in situations that I haven’t considered yet.

More than anything, I hope this post will give you a sense of what a person could be thinking about while playing the game, and whether that appeals to you. To that end, I’ve also included an example game at the end of this post, and I’ve attempted to annotate it with my reasoning for each move.

Tip1: Try to maximize your liberties

In Blither, you capture opponent’s groups by surrounding them, so you want to be sure to leave your pieces with the maximum amount of empty spaces, or liberties, around them. As with Go, I’m certain that higher-level play will involve some amount of counting empty spaces around your pieces. Fortunately, the small board means the numbers are never very large, and it’s not the counting that is difficult, but anticipating what your opponent will do.

Designer note: Initially, Blither was designed with a hex6 board. Only a few games were play tested on that size board. It just felt like hex4 let you get to the “meat” of the game faster.

Blither, liberties illustrated

Tip 2: Move into the center early

Corner spaces only have 3 liberties. Edge spaces only have 4. But a space in the middle of the board has the potential for 6 different empty spaces around it. For this reason, you should only play on the edges of the board when it’s giving you a strategic advantage to do so. (Or at the end of the game when there aren’t any other options.) Leaving a piece in the corner is even more dangerous.

Tip 3: Pieces are stronger in larger groups

Because your own pieces also remove a liberty, it only makes senes to play next to your own pieces when they are of the same type, which does increase liberties for the entire group. But unlike most games with surrounding capture, in Blither, you can actually move away from surrounding pieces. Ideally, strive to maintain any group connections when doing this, however.

Tip 4: Try to position pieces next to open spaces of their own type

The reason for this is one of the things that (I think) makes Blither interesting. It is possible to move a piece onto its own type, and either 1) place the resulting new piece back on the original space, or 2) place the new piece elsewhere, thus migrating the piece that moved. Because, the original piece is now on a matching space, it has no immediate movement opportunities to another matching space, but the newly placed piece, assuming it was placed next to that original piece does have that potential. Toward the end of the game, there’s often a period where you wish you could move onto a specific shape, but you just don’t have that potential. Keep in mind what shapes your opponent wants to place as well, and try to deprive them of those types of move.

Tip 5: Your pieces types that have been captured are now safe

I don’t meant that those types can’t be captured again, but rather, if they are, your opponent is no closer to winning the game as a result. This means moves that were previously too risky are now a little more acceptable. The previous tip about keeping your pieces in a single large group can safely be ignored.

An Example Game

As promised, here’s an entire game, illustrated and annotated. This took way more time than I intended, and I got a little rushed at the end. Please let me know if you see any incorrect moves or if anything is unclear.

Thrive is out for iOS, Android is still forthcoming

Update: Thrive is live now in both the iOS AND Android app stores.

First the good news – Thrive, the digital version, has been released for iOS. It’s available now, and you can find it in the iOS App Store.

https://apps.apple.com/us/app/thrive-board-game/id1528236222

You can also find it by searching for my name “Martin Grider”, or “Thrive Board Game”. (If you search for “Thrive”, you won’t find it, maybe it’ll start showing up in search results after some folks have bought it, who knows.)

I would very much appreciate your purchases and reviews!

Now the bad news: I thought I was prepared and ready to release the Android version simultaneously on the Google Play Store. This was going to be my first simultaneous app store release EVER, and I was very excited to make it happen.

Sadly, I ran into unforeseen issues, and all I was able to make live is the store page itself. You can wishlist it there, and hopefully it’ll be live in the next week or so:

https://play.google.com/store/apps/details?id=com.AbstractPuzzle.Thrive

Back to the good stuff: This release features a full interactive tutorial for learning the game, 3D graphics that I hope are close to the actual physical product, and the ability to play two-players on the same device. Probably most importantly, it also includes an AI player to play against. But my favorite feature that made it into this release is that it also has the “variable setup cards” from Pond Life, so you can very quickly and easily jump into a game with different setups and peg layouts.

I hope you enjoy it!

Blinks 3D Printed “simulator”

I’ve previously only mentioned once on this blog (in passing) that I spent some time a couple of years back working on a prototype for the Blinks game system (https://move38.com/). I backed the first Blinks Kickstarter, and was very excited to make games for the platform when I received my development kit.

I worked the most on a game called Takeover (https://github.com/mgrider/takeover), which I’ll admit doesn’t take advantage of the real-time possibilities that Blinks as a platform affords. It uses the digital aspect for a sort of rules enforcement, but the game is more or less a traditional board game, gussied up in fancy LED clothes. It’s got fairly simple rules that you can read on the Github page linked above (in the README.md file that is automatically displayed on that page). Although since I’ve made a physical prototype, (more about that in a second) I’ve been experimenting with different rules variations.

Takeover was well-received at the events where I showed it off, but much like demoing VR, it’s hard to gauge whether that reception was for the game I’d developed, or the medium in which it was presented. In contrast, Takeover had a rather lackluster reception on the Blinks forums, so I sort of soured on making another game for Blinks. Or probably more accurately, I just didn’t have another idea that compelled me to spend the time it would take to code it for the platform. (It’s also worth noting that all of this happened before I got the final retail version of Blinks in my hands, and by the time that did occur, I hadn’t worked on anything Blinks related in several months.)

Fast forward about a year, and it occurred to me that, precisely because Takeover doesn’t use the Blinks platform to its fullest advantage, it would be entirely possible to play it with only physical components. This of course led to the question of what those components would look like.

I landed on 3D printing hexagonal trays with “slots” for 1 cm cubes to sit in. Because I think there’s a chance other game designers have these 1 cm cubes laying around, and they might also have access to a 3D printer, I’ll also make the .obj file available for download.

Click this image to download the corresponding .obj file.

To use this, you’ll obviously want to print a bunch of them. I think there are lots of possibilities for these above and beyond “simulating” blinks games. If you come up with something cool, please let me know!

Thrive – IGDA Twin Cities talk

Last night I gave a talk (on twitch.tv/igdatc, as all of our IGDATC talks have been for the last 6 months) about Thrive. It was basically a retrospective on the design and development of Thrive as a physical board game as well as a bit of a preview of Thrive as a digital board game app. You can watch the talk on YouTube already, but I’m also embedding the slides here for posterity.

Incidentally, I am now distributing the Thrive app on TestFlight, so if you see this and want to play it on your iPhone, let me know, and I’ll send you a link!

Spiel 2019

This year I attended my first ever Essen Spiel, the world’s largest board game convention.

Bucket list item: Check.

I came back with this pile of games

…as you can see, they are mostly (but not all) abstract strategy games. And for the most part (with a couple of notable exceptions) they are games that I am unlikely to see in a store here in the states. I haven’t played them all yet, but I have made a dent, and I’ve quite enjoyed Control V, Nova Luna, Hetrix and Stackers so far. My family played a game of Miyabi, and my wife even declared she approved of the purchase!

I was demoing and exhibiting with Adam’s Apple Games, who had, months ago, during the kickstarter, hoped to have Thrive there for sale, but alas, there have been manufacturing delays, and it now looks like it’ll be next March (probably at the earliest) before we see the final production copies. You can see me here standing next to the 3D printed prototypes that we’ve been showing around for the last year or so.

Spiel is more like a trade show (they refer to it as an expo) than most of the other board game related events I’ve been to. Comparing it to Gen Con in particular is interesting, because at Essen there are really no “events” at all. Some exhibitors might post a list of events they are having in their booth, (signings or tournaments most likely), but the convention itself has no designated spaces for events, and doesn’t post a schedule. At Gen Con the expo hall is maybe 1/4th of the designated convention center space, and probably 1/2 of the total space is purely for events. (Many of which are ticketed and cost additional money.) Another difference is that most people expect to actually play games in the exhibitor booths. So most booths, even the smallest ones, have a demo table (or a dozen!), and folks sit down at them mostly to play entire games. Although many of the larger games at the bigger publisher booths (but not all) were just shorter-length demos, which is usually what you get to do, (if anything!), on the show floor at Gen Con. But of course Gen Con has all that additional space for events, most of which are just scheduled times to play specific games.

A lot of people attend Spiel, this year nearly three times as many as attended Gen Con. (If Wikipedia’s numbers are correct, 209k vs 70k.) But for that, it never felt significantly more crowded than Gen Con to me. Yes, there is more physical space, certainly, but I think another factor could be that more folks attend Spiel on day passes than Gen Con, and so you have fewer people at any given time. Certainly Saturday and Sunday did feel very crowded, but I saw very little shoulder-to-shoulder, wall-of-humans that is common walking the expo floor at Gen Con.

You don’t see stuff like this at Gen Con.

You can’t throw a stick without hitting a designer. Not thinking of the attendees so much, but as I walked around the convention, the folks staffing the booths were quite often the game designers themselves. This was definitely not as true in the larger booths, but the smaller ones it felt very common for the designers to be present, and if there was only one person staffing the booth, I’d guess it was 50/50 whether that person also designed a game being shown.

It was super multicultural. There were definitely publishers there from all over the world. I personally met folks from Australia, Korea, China, Spain, the UK, Ireland, and of course Germany. But as large as it was, not all the US publishers were there. I can only speculate why, but certainly some of them don’t think a cost/benefit analysis holds up, but I also think it’s just plain impossible to go to all the events all the time. I’m fairly certain you could find a board game event somewhere in the world to go to every weekend, if you tried hard enough.

I’m definitely glad I went, and I would do it again. I really enjoyed wandering around the show floor and seeing all the new games.

Thrive is on Kickstarter!

So Thrive is a game I designed during my game-idea-a-day project, way back in 2016! It’s a two-player abstract strategy game (which should surprise nobody), and the big innovation is that you augment the way the pieces move as you are playing the game. A little over a year ago it was picked up by Adam’s Apple Games, and just NOW, TODAY, it’s on Kickstarter.

This is my first ever board game getting a print run of any size. I’ve been extremely grateful to Adam for taking me along on this ride, keeping me in the loop on many of the decisions along the way, and allowing me to be such a part of this project.

Protospiel MN 2019

Last weekend was Protospiel MN. After how much fun I had at the Madison protospiel (was it just a month ago!?!?), my expectations for this one may have got away from me. I ended up spending quite a bit of time in the last few weeks prepping new prototypes. Here’s what I brought and tested:

Adam Rehberg and I both brought copies of Thrive in various states of quality. It was interesting to compare his 3D printed pieces to my own. (We are using a new model courtesy of local artist Colin Cody-Waters, and his printer does a better job with it than mine.) At this point, we are more in marketing mode than actual play testing, but we did have some new things to playtest.

Worth noting that there will be a kickstarter for Thrive at the end of February, or beginning of March, and at least in part to collect email addresses for that kickstarter, there is a Thrive print-and-play contest going on right now over at Adam’s Apple Games.

I managed to get a new “pyramid tile laying / fitting / stacking game” to the table several times. The tiles are (some of them) glued together in 1/4th overlapping shapes and patterns. (This is harder to describe than I realized.) I’ll include a photo of one of the end-game pyramids below, but you can’t really get a sense from the photo which tiles are actually glued together and which are singletons. The idea is that you use the singletons as currency to pay for the larger tiles. One of the last parts left to design was how to score the game, (though I had plenty of ideas), and I got lots of useful feedback on those ideas, as well as plenty of other helpful suggestions from my play testers. One of the games we ended up calculating scores for each player in 4 different ways. None of them fully met my criteria for how I wanted the scoring to incentivize building up rather than out, so I still have some thinking still to do on this one.

Oh Tetrominoes! – just the blocks – I made a version of this game by gluing 1-inch cubes together (pictured below). It was easy to get to the table, because it just looks and feels really nice, I think. Adam gave me some great feedback about wanting a “qwirkle moment”. And someone suggested having blocking pieces. Next time I play it I want to try where only the three polygons score, and the spaces marked X are blockers. Notably, the game board (with score track) was the first and only thing I’ve ever created in Illustrator, only about an hour of work.

Windrose – I did playtest this again at the convention. There were some new ideas thrown around. I sort of thought this was “done”, but the conversation left me bristling with ideas. I sort of feel like most of them would result in a different game entirely, but that’s not necessarily a bad thing.

I did also bring my Blinks dev kit, which was running my game Takeover. I only actually brought it out on Saturday night, after the main convention hall was closed for the evening. Immediately after we played it, we played Oh Tetrominoes!, and someone paid me the compliment (paraphrased) “You’ve shown me both the most sophisticated (technically), and least sophisticated (physical components) games that I’ve seen this weekend.”

Other highlights:
– My standout game for the convention was a numbers-heavy (but not at all otherwise heavy) strategy game by Patrick Yang. He’s calling it Mathemagical, which is a great name, and I really liked the game.
– I got to play a tetromino stacking prototype called Lots. It was light and quite fun.
– My daughter attended with me on Sunday, and she ended up spending at least an hour (maybe two) prototyping a game in collaboration with another little girl who was there. I think they both really had fun, and there were even some neat ideas they came up with together.