It’s been a rough month for the project. I’ve been feeling the least motivation to work seriously on it that I have in a long time, and there’s probably a number of reasons for this, ranging from stressing out about volatile political conditions to worrying about money to being distracted by very good video games. However, I think the biggest thing undermining my motivation is lack of confidence in the technical side of the project, and I’m still figuring out what to do about that.

See, I’m building this project in Adobe AIR, which is essentially the same thing as Flash but repackaged for local installation instead of streaming. There’s a lot good to be said about AIR, and a number of good games have been made in it, but over time it’s felt like I’m struggling more and more against it, being limited by its weaknesses while not taking advantage of its strengths. I’m starting to question (again) whether I should be working in this environment at all. The past month has been a struggle to get the framerate up over 60fps. Originally I had believed that once I got my multi-threaded solution working it would just happen. Then I thought that once I got my multi-threaded solution optimized it would happen. Then I thought that once I went through and optimized everything else it would happen.

Now I’m thinking it might just not happen – at least, not with the amount of individual animated details I want to have in each level, and/or not with the lighting system blending in on top. There may be another way to handle the lighting issue, so I’ll look into that. I also can probably improve performance somewhat by more carefully culling draw operations that would take place outside of the screen space. I can try those things, but it’s time to start carefully considering what I do if they don’t work. I’m slightly tempted to try to port the engine into some new architecture/environment, though I probably won’t. I may experiment with getting it running in OpenFL again, since that gives me a lot more opportunities for optimization, but I probably won’t remake the entire thing running in C and SDL…


So, what do I have to show for this last month? (A bit more than a month, actually, since this devblog is a week late). I did all of the animations left to get the basic mask enemy working (though the enemy itself still needs some work since the behavior doesn’t work quite right), fixed a number of bugs, finished getting the multi-threaded particle system running and fixed performance problems therein, and made some performance improvements. It’s not a very productive month, but they can’t all be I guess.

But what’s next? What’s my plan to get out of this funk?

Most immediately, I’m going to go in and see if some judicious culling of draw operations can improve the framerate. Then I’m going to see if I can figure out how to do some decent looking water. Then I start building out the early levels, adding details, fixing up the mask entity so it feels good, and perhaps starting work on getting another enemy working.

There’s still so much to do, and I don’t feel like I have any momentum. But who ever starts with momentum? It’s something you pick up along the way.

PLAYERUNKNOWN’S BATTLEGROUNDS is a very silly name for a very strange game. The oddness of this game isn’t apparent at first: It looks and sounds like the most generic first person shooter ever made, where a hundred players are dropped into an island arena scattered with weapons and whoever manages to be the last person (or group) standing wins. PUBG is only the latest of what seems to be a burgeoning genre of battle royale games, and improves upon its predecessors by consolidating and simplifying boring mechanics while adding a lot of interesting and (sometimes) useful items to find, along with a few choice subtle nods to realism that mostly add new ways for things to go hilariously wrong.

None of this sounds strange, of course. No, what makes this game strange is that it’s incredibly popular while being blatantly, overtly unfair. This is so interesting to me because the idea of a game like this being successful even a few years ago is unimaginable to me: A game with the trappings of a hard core competitive tactical shooter, where skill can frequently be overcome by dumb luck – who would possibly want such a game? But now people do want it, and I wonder about what has shifted to make this something that we crave.

What’s changed, I suspect, is that people no longer expect fairness. PUBG feels right: It combines skill and luck in a way that feels real in a way that most shooters with more realistic graphics don’t – since most of those games are compelled to hold true to certain game design ideals of skill-based meritocracy. In the battlegrounds, finding good loot early on rolls into ‘finding’ better loot later, as you can easily kill less well-equipped opponents and take theirs. However, clever play can easily make up for an equipment disadvantage, and a well-timed ambush will easily leave an opposing team dead and their resources at your disposal. And yet, as the playable space is closed off, even if you have all these advantages, if you just so happen to be in a bad location you’re still at a huge disadvantage. Resources, skill, and luck: You usually need all three to survive.

It sounds awfully familiar.

It makes sense that it’s a game we crave now. It makes sense to model the gaps and myths of meritocracy, to reify this growing suspicion that the world isn’t fair and all we can do is our best and hope that it’s enough. It feels like we’re playing paintball themed around the collapse of capitalistic ideology – made all the more poignant by the game environments themselves being themed around soviet ruins. And, in the end, whether we win or lose, we’re given a few virtual coins – which we can use on a new coat or pair of shoes, to take away the sting of losing, over and over and over.

Which, too, seems familiar.

To play PUBG is to resign oneself to dying over and over and over again. Even very skilled and experienced players seldom can manage better than a 10% victory rate. We try to do the best we can, and give ourselves to fate.

And, if we can spend time with friends while we do so, so much the better.

Most games only give us weapons. Yes, some also give us a button for talking, and a handful allow us to guide a conversation but, more often than not, all we can do is shoot or cut. Our only windows into the worlds of these games, then – worlds of love and loss, myth and legend, tragedy and comedy – are the holes we carve into them for ourselves. Our perspectives of violence shape these worlds, and our experiences within them, but a world far vaster and more meaningful than our small, mean, and violent place within them can still be implied. Even if a vast cathedral becomes just set dressing for a gunfight, even if it has nothing to do with us at all, it still implies a religion, still implies builders, still implies history.

It’s impossible not to feel a little out of place, even if this church is made explicitly to have a gunfight happen in it. We are still intruders against the spirit of what this place might once have been.

Game designers have started acknowledging the strangeness and off-puttingness of this innate violence more explicitly in their designs. Yet, despite knowing that these constructs will always seem weird and artificial, we are still loath to pass beyond the types of games we once loved. We still want to fight nazis and zombies, dragons and aliens – but now, perhaps, we’re more interested in having a good reason to do so. It becomes difficult to ignore the suggestion that every enemy must once have been a person like us – and, if so, what does it mean about them, and about us, if we kill them? Even when it’s all make-believe, it still has to make a certain amount of sense – and what’s implied when you think about it too much, or think about it at all, was all to often very ugly.

So now we play ghosts, terrifying beyond comprehension, imbued only with the power to deal death. Revenants, returned from the grave to right wrongs. The last few games I’ve played, Dark Souls and Axiom Verge and Hollow Knight, feature a protagonist who stands at the boundary of life and death. These characters return from beyond the clutch of the grave to fix the world that wouldn’t allow them rest. We, as players, occupy these border characters, avatars of the boundary separating life from death, and fight to bring peace – even if it’s the peace of a shared grave. We are recontextualized from a murderous opponent into a kind of shaman, helping long-restless spirits find peace at last.

As I develop my game, write out its story and characters, I find myself walking this same path, creating this same archetype. The framing is different but, still, my protagonist stands at the boundary of life and death with the others, poised to guide misplaced souls from one side to another.

This might not seem new. After all, heroes have brushes with death all the time: “No one could have survived that” is a cliché for a reason. What’s changed is there’s an explicit acknowledgment that even if we fight for the right reasons, even if there really was no other way, we are still beyond the pale. We have no place in the world we are fighting for. We are remnants of the trauma that made us. At the end of the ghost story, the ghost is laid to rest, the haunting past uncovered and resolved.

Perhaps, as time moves forward, we will create games more comfortable with non-violence. Perhaps, as well, we’ll find new and interesting ways to contextualize our violence into a world and story in ways that don’t seem crass and tone-deaf. If so this may be a discrete generation of games we can look back to: The twilit years of Dark Souls, where we all stood on the boundary of the afterlife and judged who might live and who must die.


Evaluating art is difficult. Or, to be more precise, while the evaluation happens quite easily and naturally as we look back on our experiences with the work and judge the impressions they left upon us, what’s actually difficult is trying to share those evaluations with others – in other words, to be a critic, to find some way of describing the work in a way that will let other people guess at what their personal experience may be like, to encode something essential about the art into words.

It’s not really possible to make a definitive statement on the quality of a piece of art. In order to argue that a work of art is good, we are actually forwarding two separate arguments for each point we make. The first argument we make is that this work of art has some particular noteworthy aspect. Observations in this vein might include; element A is harmonious (or disharmonious) with element B in a particular way; this aspect of the work expresses (or fails to express) something important about the world we live in in; this work is similar to (or dissimilar to) this other particular work in some particular respect. However, none of these map to ‘good’ (or bad). We can say we like them, we can make claims about the benefits of the insight they offer, but that doesn’t make them ‘good’ per se.

Thus, once we present the argument that this work has this noteworthy aspect, if we want to argue that the work itself is good or bad we have to then argue that the aforementioned noteworthy aspect is good or bad. Most critical works omit the second step. Consumer reviews skip this step by way of having implicit assumptions about what comprises a good work; more artistic criticisms bypass this step via a common understanding that the reader may decide whether they value a given aspect or not.

For instance, most game reviews tend to omit any argument as to whether a noted aspect is actually desirable or not: they tend to assume that an aspect is good if it adheres to the mark set by a previous game that was generally considered to be good. Or, often, they don’t even draw a connection to a real game, just invoke a sort of unspoken platonic ideal of gamehood – the ideal gaming experience, like living within a story, where everything seems completely real and everything you might imagine happening happens just as you’d imagine it would. To the extent which games approach this ideal, they largely manage to do so, not by expanding the possibilities of game creation, but by constraining the imagination that shapes these expectations.

For those of us who chose long ago to reject the idea of a single ideal game, it can be difficult to formulate criticisms that still feel weighty and meaningful without using the implicit assumptions most game reviews are built off of. Nevertheless, if we want to push people towards interesting experiences – and why are we here, if not for interesting experiences? – then we have to formulate these arguments.

And, when I say ‘we’, I don’t mean professional critics, or even more generally those who write about art. I mean anyone who ever wants to get their friend to play a game they loved, anyone who wants to lead horses to water in the manner most likely to get them to drink. Learning how to express what we love about something is a skill that is tested for all of us eventually, one way or another – so it can be helpful to think about how these arguments are made, and just how much usually goes unsaid, assumed and uninterrogated, in the process of describing what we love about the things we love.

As someone who likes games, I find the vocabulary that people use to describe games that they didn’t like, or that they found frustrating and infuriating, quite interesting. When you describe a game as mean-spirited, unfair, or disrespectful of your time, you probably mean something different than if you were to use similar terms to describe a written narrative like a book or film. We ascribe malice to the designer, call the game sadistic or cruel or condescending, based on the challenges it presents to us.

This is particularly curious because one of the main reasons we come to these games is to be presented with challenges – and yet, when the challenges prove to be, well, challenging, there’s a common reaction of declaring those challenges invalid. At the extreme end, those challenges may be declared unfair or the game may be accused of cheating – but, just as often, saying that a particular challenge is poorly designed or that the player isn’t given adequate tools to prepare for it.

The common thread through most complaints, extreme and minor, is usually that of fairness. And what we consider to be fair in game design is something that has shifted a lot over time. In the 80s, as the scope of game design rapidly exploded, anything went. People got frustrated, sure, but because their expectations were largely unformed by other games and they were approaching each game largely as a new experience they didn’t feel especially put upon. As the language of game design established itself and came to be understood by its audience, people grew angry when games would disregard those established conventions of game design. Then, on into the end of the 2000’s and beginning of the 2010’s, it started to become clear that a lot of what we had considered ‘good game design’ was really just the most facilely approachable style, that we’d created an industry of the interactive equivalent of children’s books, made with large type and short words to be simple and enjoyable – and there was a backlash.

It is, perhaps, helpful here to distinguish between fairness and game balance. Game balance is not so much a concession to the player, to make sure that they don’t feel put upon, as it is a way to ensure that the different aspects of the game work well with each other, that the player isn’t encouraged to just always pick a dominant strategy and stick with it. The clearest difference is in the intent behind them: The intent of fairness is to avoid frustrating player, while the intent behind balance is to ensure that the player is encouraged to explore the design thoroughly.

A game like Dark Souls, would have been considered fair and fun if it was introduced in 1991, unfair if it was introduced in 2001, and was considered largely fair again when it was actually released in 2011 – though the consensus there is far from complete. Demon’s Souls, its predecessor, came out just a couple of years earlier – and, while people were starting to get on board with what the series could offer, at the time many people still regarded it as little better than an arbitrary and cruelly punishing curiosity.

Thus, while I tend to dislike the approach of selling Dark Souls as the most difficult game ever, as with the ‘Prepare to Die’ edition of the first game, this presentation does serve a purpose. While it may mislead the player as to what’s actually good and interesting about the game, this cues the player to modify their expectations regarding what to perceive as fair. What’s we expect in a fantasy action RPG and what we expect in a fantasy action RPG that says “Prepare to Die” on the cover are vastly different: for one thing, we are prepared to die. Within this framework, we can expect that much of the constraint that many developers take on in the quest for fairness will be lacking. The irony is that in a post-Dark Souls world this kind of signaling is no longer quite so necessary, since these games have redefined genre norms to an extent where, as long as you communicate some degree of reflex challenge and obtuseness of systems in the game’s description, people will largely be on-board with what you’re selling – especially once word-of-mouth about a new Souls-like game spreads to the eternally hungering fan base of the series. If Dark Souls were released now, it probably wouldn’t have such a ham-fisted subtitle – but that ham-fisted subtitle is part of what it allowed it to have the success that now obviates the need for a ham-fisted subtitle.

Another trend away from fairness and towards unpredictability was enabled by the modernized incarnations of the classic ‘Roguelike’ genre. With Spelunky and its ilk, because the game environments were no longer created by the designer but by an algorithm players quickly came to accept that some situations would be unfair and regarded them as opportunities for clever inventiveness rather than frustration. Any challenge was allowed as long as it wasn’t literally impossible to solve. However, some designs realize this more effectively than others: Whereas in Spelunky a challenging level generation is brutally difficult and dangerous in a way that is exciting to overcome, in The Binding of Isaac it’s merely slow and tedious, forcing the player to slowly chip away at opponents a few points at a time for potentially a couple of hours – one of the few flies in the ointment of an otherwise very exciting and interesting game design.

While it may seem obviously desirable for a game experience to be as fair as possible to the player, trying to always present a fair experience will inevitably tie the designer’s hands. A world with no unpleasant surprises, where all choices are equally valid, where nothing is ever out of reach and every problem has an immediate and obvious solution, sounds like a paradise. However, in the context of a medium that thrives on presenting its audience with interesting problems to solve, it more often than not creates a flat, dead, world, so painfully blandly sweet it rots the teeth from your jaw.

Not only does it remove life and spirit from the experience, it also sends a kind of weird mixed message. The plots of video games are frequently about a loner, outnumbered and outgunned, fighting for what’s right – and yet the mechanics of these games are tortuously dedicated to fairness, to making sure the player never actually feels endangered and alone the way their character does. To put it in the words of dads everywhere: Life Isn’t Fair. Creating games whose main purpose is to create worlds that are merely fair, at the expense of creating worlds that are challenging or interesting, is one of the least rewarding ways to use the resources we have as designers.

New posts are being rescheduled to 10am Mondays. I’ve been slowly hemorrhaging readers over the last couple of years, and I never had that many to start with. I think there are a few possible explanations for this:

  1. Maybe my work is getting worse. I don’t think is the case but there’s not really any way to rule it out.
  2. Maybe my newer posts don’t have the same readership appeal. Earlier posts were mostly about specific game design issues and new ways to approach problems: Newer posts are much more about how we generally interact with art and its impact on us as human beings. I think these are both interesting, but one is a harder sell to new readers, stymieing the word-of-mouth that has bolstered previous posts
  3. Maybe Saturday at noon is a bad time to post. It made sense to me at first, since those are peak leisure hours so people would have lots of free time for reading. On further reflection, I don’t think many people are interested in thought-provoking mini-essays during peak leisure hours – they want to spend that time pursuing their own interests. I think many more people are interested in this sort of article-reading when they’re on break or procrastinating at work. The numbers on when new posts are successful seem to bear this out.

So yes. Mondays at 10am PST. I’m also going to be blocking more writing time into my schedule, which may result in longer pieces, though we’ll see how that shakes out in practice.

In any case, I don’t say this enough but this seems like a prime opportunity: If you read my work, thank you. Even while I put only a few hours per week of dedicated work time into this blog, it’s one of the rocks I anchor myself to in my life. I only hope that, in return for the attention, I can provide some sort of insight to those of you who choose to visit Problem Machine.

In a bit of a weird spot right now. I’ve been working on doing the animations for the first and likely most complex non-boss enemy of the game, and I’m starting to feel a bit depressed about it. Working on a bunch of very simple very similar pictures for a few weeks tends to get old, even if you feel proud of the result. I ran into this same issue working on the main character animations, and now as with then I’m going to have to figure out more kinds of work to mix in because this is starting to undermine my motivation to work on the project. I need to remember never to leave myself on the same animation task for more than a week or so, since it tends to do terrible things to my morale after a little while.

Because these guys aren’t quite symmetrical, but I didn’t want to create left and right facing versions, some interesting properties emerged. The most noticeable of these is where they actually momentarily drop their knife and then catch it in their other hand in the running turn animation, which nicely adds to the frantic and panicked feel of the animation and swaps hands so that when they run the other direction it looks natural. The strap holding up their clothing also quietly changes shoulder, and the light shifts to the other side of them, during the turn. I think these weird fudgings of reality will largely be invisible in action, but it was an interesting problem to figure out as I went, since I hadn’t really considered it before.

I had originally planned to make several different shapes of mask for these guys, but I think that’s something I’m unlikely to do now. To create each mask I’d have to do a bunch of drawings of the mask facing in different directions for the turn, add code to make it draw in front of or behind the head based on where they are in the current animation, and make sure the movement perfectly syncs up. That’s possible, but seems like a lot of work for something that might not look very good. Alternately I could just make a bunch of different animations for different masks, which, again, I don’t think will be worth the effort. That said, there are alternate versions of this enemy with different capabilities, so when I make them I can make their masks look different, which will be more communicative and less labor intensive than what I was planning on doing.

That’s mostly it for the last month, though I also did some miscellaneous work fixing bugs in path-finding, improving the cave tileset and building out the caves. The particle system is basically functional but is still not really an improvement on what I had before I started in any way, remaining extremely buggy when run in multi-threaded mode while still not quite performing as well as I’d hoped – for reasons which, as yet, remain mysterious.

I think for the next week or so I should focus on getting all of the editors working  so that I can spend some time detailing the levels, adding foreground and background elements, generally making them feel finished – or as finished as they’re going to get until I finish making enemies for them.

I like these animations, but they’re not much to show for the better part of a month or work. I don’t know what to think about that: It doesn’t feel like I’ve been slacking. Maybe these guys were just difficult to animate.