Monthly Archives: November 2013

Aperture Science Sokoban Testing Initiative

Last week I mentioned a game that I was working on in PuzzleScript. There was a link to the game in progress.

To-day, there is a link to the game which is done: Aperture Science Sokoban Testing Initiative.

It’s Portal, told as best as I can through the game engine. Which, honestly, came out pretty great, given that my last experience attempting to code a game happened on a TI-83+ graphing calculator. 

I’m quite proud of myself. For designing levels which people have found challenging but possible, for punching out bugs wherever I discovered them, and for writing which, in my mind, serves as a pastiche of what made the Portal series so entertaining, without simply hitting identical beats; in the same way that Portal 2 featured some callbacks to the initial game (companion cube, cake, etc.) without simply repeating the bits which had become memetically entertaining.

I gave myself a challenge to do something relatively new with “cake,” and I honestly think I achieved it. But that’s a spoiler, technically, and this isn’t a post-mortem analysis. This is an announcement that a thing has been completed!

Go, play Aperture Science Sokoban Testing Initiative! Push some crates, fling some portals, eat some cake, and enjoy!


Synanthropes, simplification, and emotional beats.

Hey there folks; it seems like it’s been a dog’s age since I last mentioned Synanthropes. Let’s me fix that.


It’s been a while, but I finally started working on the game again; you’ll note that the versions in the sidebar have been UPDATED.

With Synanthropes Lite, I didn’t have too much to do; I changed some of the wording, I altered the Roach’s attitude toward the Artifact to encourage a bit more fussing, and I dropped the timer down to ten minutes, which is a bit more reasonable than fifteen for pure arguing. There’s a semblance of mechanics there as well; indeed, I’m pretty sure I’ve created the world’s simplest game engine: you can do anything that you say you can do, unless someone says you can’t do that, in which case… you can’t.

(I’m sure I’m not the originator of this game engine, which owes a lot to the third grade “Nuh uh, ’cause I have a laser shield” brand of narrative construction).

As far as Synanthropes proper, there have been a few more changes, one of which is a baby-killer: no more career dice.

I think one of the advantages of not looking at this game at all for almost two months is that it allowed be to clear away some of the assumptions that I had been making, and instead throw a fresh pair of eyes into the problems. Before, players had a Career; it gave them a bonus which they could use once per floor, allowing them to either re-roll a failed roll OR allow another player to re-roll a failed roll, if that roll had some sort of relationship to their career. It’s… it’s fine enough, I guess. It’s really useful, at times! It does some of what it needs to do: gives players a meaningful way to work together AND to have a sense of self-identity not tied solely into their species. Plus, it seemed like a great idea when I made it, which was at a time when characters were nothing more than their species.

Also, it was a fiddly thing to track. It wasn’t commonly used. It was often unhelpful. In playtests, I would make an effort to use it every floor, and other players would… not often remember it existed. Sometimes they would take advantage of it, usually because I prodded them. It may have been useful, but it wasn’t memorable and it wasn’t FUN, so it wasn’t used. I had to have a bit of a think about why that was, and that think happened subconsciously over the course of October, springing forth the instant I clapped eyes on it this week.

“If I am a soldier,” I thought to myself, “I can use this re-roll when I fail when I’m fighting. But, if I’m fighting, shouldn’t I… not fail? Shouldn’t being a ‘soldier’ be something that helps me do well, not something that fixes it when I don’t do well?”

Consider it an issue of emotional beats. If you haven’t read Ryan Macklin’s commentary on this, well, you should, but the hyper-brief summary is this: every action you take produces an emotion, and you should ensure that the emotions created by the mechanics are able to work with the emotions created by the fiction. Career dice were producing a toxic situation here.

In the fiction, I set up to do a difficult task, attempt it, and (hopefully) succeed because I had the skills and resources. Call that the narrative progression. Mechanically, I gather my pool (which re-enforces the idea of marshaling my resources, a positive or at least appropriate emotional beat). I roll the dice and count the successes (it’s an analysis moment, so it disrupts the emotion but only very briefly… call it almost neutral). I see I have sufficient successes, and accomplished the thing (hooray, I did well) or I do not, and I failed (oh no, what goes wrong?), either way my reaction as a player to the roll of the dice matches and re-enforces my reaction as a character to the situation.

But with career dice in play, there’s an extra step: I fail, and I have to ask myself if I can use my career here, if I have already used it, if the situation is important enough TO use it, so on and so forth. Emotionally, I am already disappointed by my failure, and the flow of the narrative is even more disrupted by another round of the “what resources do I have” game, with a resource that is more rare and finite than Artifacts, allies or even hoard points. Even if I do re-roll and succeed, I succeed having already been irked by my failure earlier; emotionally, it becomes a toxic moment, destroys the flow of the game, makes me dislike thinking about my career, and does not bring the fun.

Damn! No wonder everyone ignored their career dice! If anything, being a soldier and trying to do soldier-ish things is actively DETRIMENTAL to feeling like you’re good at stuff. Not only are your odds of success only slightly improved, but often those successes don’t FEEL good.

So what do I do? I get rid of it. Oh, there’s still a career die, but now it gets put in your pool like everything else; simplicity, consistancy, and now the awareness that “hey, this is the sort of action I’m trained for” is a part of that marshaling of resources which is where I want it to be!

As for giving someone else a boost with your career, that’s been folded into Hoard points. Again, one less thing to track (now, the only mechanically-limited resources you have are your hoard points, which you can track easily). You can’t re-roll for yourself (which means that for the actual roller of the dice, there isn’t an additional hiccup), but you CAN offer your career-based boost to other players; this is a different emotional response. For one thing, it means that, in a situation in which you are otherwise outside of the roll, you can still be invested in it and participatory in it. For another, the emotional journey of “Oh no, I failed! Wait, Seneca is here to help me? Huzzah!” MAKES SENSE; it’s a case in which the mechanics track with the fiction, instead of fighting against them, while simultaneously re-enforcing the theme of working together (or attempting to work together) which flows through the piece. At the same time, if it’s tied to Hoard points, it still remains a relatively valuable commodity (which means I might need to consider awarding Hoard points more often, in light of their increased value and necessity).

The question is whether this will make careers more useful; my gut says that it will mean players can have a greater investment in their careers, which will translate into an increased tendency to show them off. Whether that is true or not, time will tell.

GMotW: Push Crate

PuzzleScript is not a game. It is, indeed, an engine for creating games, but here I am, treating it as IF it were a game, and porting it into my Game Mechanic of the Week.

(There’s a huge discussion to be made with respect to “What is a game?” and frankly, it’s a kettle of fish I don’t want to get into, but you know. Maybe it is a game. Whatever.)

If you’re not familiar with PuzzleScript, it is an open-source scripting language for creating Sokoban-style puzzle games; that is to say, it’s turn-based, tile-based, and naturally structures itself around requiring players to move crates onto targets without getting them boxed into corners. You can create different kinds of crates, different kind of targets, and different kinds of walls, but the game, as an engine, is really made for that simple sort of interaction.

But just because it’s simple doesn’t mean it’s simplistic. I don’t just mean with respect to the complexity of the puzzles… Sokoban can be tricky when it wants to be. I mean… well, here’s what I mean. Today’s mechanic is a rule that loads up as soon as you open the editor to the fresh template:

[ > Player | Crate ] -> [ > Player | > Crate]

The language is a series of cells and arrows. The cells represent tiles, if they’re bracketed together, they’re adjacent. The “>” indicates intended motion, so ” > Player” means “The player character is attempting to move in this direction.” The “-> ” is an order for the game engine; it says “Whenever you see the situation on the left side of this arrow, turn it into the one on the right of the arrow.”

Taken together, it’s like this: “Whenever the player character is next to a crate, and attempts to move into the crate, try to move the crate in the direction they’re pushing.”

What do I love about this? I love how simple it is. I love how intuitive it is. I love, love, love how intensely VISUAL it is.

Look at it! Of course that’s what it means! How could it mean anything else? There’s a player next to a crate, you can tell because he’s NEXT to it. He moves toward it, so he gets a little arrow moving TOWARD it. If you want a player to pull crates as well, it looks exactly as you might expect:

[ < Player | Crate ] -> [ < Player | < Crate]

If you want players to crush crates against walls, then you just need to define a few extra things:

[ > Player | Crate | Wall ] -> [ | Player | Wall ]

Three tiles in a row, with an empty cell that means, well, “empty that cell, PuzzleScript.” But honestly, did I need to tell you that? If I say

[ > Player | Crate] -> [ Crate | Player ]

isn’t it clear right off the bat what that means? You can come up with any number of ways to interact with crates.

PuzzleScript, to me (that is to say, someone who does not code things for a living or for funsies) exists in a perfect point between “easy enough to be approachable” and “complex enough to get things done.” Certainly, I’m limited to a handful of 5-by-5 pixel objects, and rules regarding where they exist on a square grid, and exactly one action button, but within those limitations not only can I decide what happens, I can lay things out in a perfectly clear and comprehensible sort of way. If I don’t understand why the player and the crate keep switching places, I just have to look at the cells when I mention them, and realize that, oh hey. That’s what’s going on there.

Of course, it can be used to create complex interactions, with hundreds of little rules, and all sorts of crazy additional twists, but even at its most convoluted, the game boils down to looking at groups of tiles, and changing them to other groups. Even at its worst, you can go through the rules and SEE what’s going on.

Anyway, a week ago I sat down to try and make a game about a princess escaping from a tower, and then I figured out how to let her toss fireballs, and then things sort of fell apart and the long and the short of it is that I more-or-less accidentally recreated Portal as a sokoban-style puzzle game.

Here, check it out, why don’t you?

GMotW: Overlord and the Button.

Let’s talk about Overlord.

Well, more specifically, let’s talk about Overlord II, which is what I’ve been playing lately. It’s the sequel to the original, one which improves upon its progenitor in numerous ways, sharing enough of the original’s DNA to be What We Liked, but containing sufficient nuances in play to be But Different, which is pretty much what sequels are supposed to be. For those unfamiliar, the protagonist of the Overlord series is, well, an Overlord, one in a series of Overlords who rule over hives of Minions–small, gremlin-like creatures with vague elemental attunements–and in so doing amass evil empires. Yes, evil. Intensely, parodically, self-aware evil. It’s a game about being evil, which is right up my alley. And the most important thing is that… oh wait, let’s me put this in traditional Game Mechanic of the Week bold italics, the rule from the manual itself:

To Send an individual Minion, use [the left mouse button].

You see, you are always surrounded by minions. Well, not always, there are a few plot points where the poor Overlord is alone, and you can lose all your little friends through severe mismanagement but the BASE state of being an overlord is being surrounded by twenty to fifty little monsters. And when you face a thing, and you press the Button, and one shoots off and goes to interact with the thing. If you hold the Button, then minions will flow off of you, toward the thing you want to interact with. You can send them all off into a frenzy of destruction, if you want.

Why is this interesting? Well, for one thing, I can never get over the primacy of the Button; I’ve yammered about it before, and the way that keying a particular action to the left mouse button (on a PC) or a trigger or the bottommost face button (on a controller) is an effective way to tell the player that THIS is the most important interaction of the game. Whatever the player will be most naturally inclined to do, whatever the most convenient point of interaction is, that’s the Button. When you pull the trigger to shoot the gun, then this is a game in which shooting guns is your most important skill. When the Button jumps, then it’s a game about jumping. Certainly, there is a hierarchy here… on a PC, I would say that the second most important action is whatever is bound to space, for instance (in this case, that is bound to swinging your weapon, because this is just That Sort of Game). But there’s a Button, and for the Overlord, that means your primary way of interacting with the world is by making something else interact with it for you.

This, coupled with the fact that the minions move much, much faster than the Overlord, has an interesting side effect. See, Overlord is far from the only game in which there are crates to break and chests to open because they contain potions and loot. That’s… that’s like an entire genre: games with loot in crates. But your speed is slow, and trundling over to crates takes a while, and since minions will break open crates and grab their goodies for you, if you send them forth, the player is less-inclined to have the Overlord walk over and grab the loot himself, and more likely to stand in a central place in this loot-filled room and direct minions to get to work.

This is great. Unlike in battles, where using minions is essential (they do piddling damage individually, but can gang up on enemies and succeed by being to numerous to effectively attack, or by sweeping around and getting enemies from behind), this isn’t a necessity, but it is a natural reaction; it’s easier, and players will tend to do things the easy way unless they have a good reason not to. And that’s fine and dandy.

But why do I love it? Because it means that my Overlord strides imperiously into a room, raises his arms, and sends minions to destroy everything! That’s what the game is about, not just being evil but being in command of a force! A force–and this is the important distinction between Overlord and, say, an RTS where I send tanks against my enemies–a force which I use for entirely petty ends as well. It sells you on your power as an Overlord, as a leader of these creatures: they do anything and everything for you, and you take advantage of that. Without thinking, it becomes nature to make the minions do it, not just when it’s necessary, but when it’s convenient. It’s a game, in other words, which mechanically encourages you to take advantage of those in your command for entirely selfish reasons, which, given that being an imperious and evil ruler is rather the point, is absolutely perfect.

Plus, there’s something wonderfully evil about being so evil that you don’t even smash things anymore, you just have people to smash things, while you stride forth, calm as the breeze. It makes for a beautiful moment.