Thursday, 30 August 2012

zaga, score, expressivity, personality

Came across some brief discussion of Zaga-33 in the comments of this auro post while browsing google searches trying to figure out what had triggered a bunch of sales (I know, pretty sad). Padi and Keith make the point that there's limited scope for really expressive skillful play; we discussed this in the roguelike radio podcast as well.

I do agree with this; although there is room for skill in the game, there is a ceiling which can be reached. You can get to a point where you've fully mastered the game: you can complete it 95% of the time, get the maximum score, get the secret ending, whatever. It takes some time to get to that point, most people won't, but once you're there there's little reason to play again. It's not a game you can spend your whole life getting better at. And that's okay, it doesn't need to be, but let's think about why.


The scoring is something they mention as limiting Zaga-33's scope for virtuosity. And I think this is an error, in fact I believe the opposite. When a game (or anything) does a few things differently to usual, we tend to latch onto those differences as an explanation for anything about it; I think that's what's happening here.

Score is a measurement we take of a game system, ostensibly to evaluate how well a player performed. We tend to design scoring in parallel with the rest of the game, but it's a one-way interaction, strictly an output. It doesn't affect the system, it's not a resource to manage or whatever, it can't add any systemic depth to the game. It can reveal depth that was already present but not apparent, but it has to be there in the first place. So the fact that the score ceiling is accessible - well, that's an effect of the skill ceiling being accessible, not a cause.

Super Crate Box awards points for collecting randomly located crates which randomly change your weapon. Some of the weapons are terrible, or only situationally good, so improving your score can put you in a risky position. The developers joked about changing the game to award score for kills rather than crates, apparently this was somehow a common suggestion from players? That's a very uninteresting way to play; once you have a good weapon you can sit in a corner and safely rack up any number of kills, getting an arbitrarily high score without risk. However, there's nothing to stop you playing in either way regardless of how it's scored! Even if the game counted number of kills you could still perform the exact same actions as if it was counting crates and presumably enjoy the game just as much; the scoring simply provides a guide towards an interesting way to play.

In a multiplayer game we typically take a binary measurement: win/lose (although sometimes we allow draws or care about position e.g. in the context of a tournament). This is often appropriate in a single-player game, especially if there are other limitations on replayability (e.g. fixed story and content), but in a game that's meant to be played repeatedly, it's more satisfying to take a higher-resolution measurement of performance to provide goals and a sense of progression. Because your opposition is a fixed algorithm, there's a certain level of performance required to reliably achieve a binary "win" measurement, after which there feels like little reason to keep playing and before which there can feel like little progress. Again, there's nothing to stop someone playing a game repeatedly regardless of scoring, it just provides guidance towards an interesting way to play.

(Note that multiplayer games sometimes have a score value which is measured and compared to determine the winner; this is conceptually quite different to how single-player scores operate because ultimately all that matters are the relative values, scores are not comparable between separate plays of the game.)

When measuring a score, we typically throw away a lot of information about the game (we could encode all information about its state and history in a single number but this would be highly atypical). So there's a question of how much we want to throw away, what resolution to measure at. Zaga-33 has a fairly coarse score: one point per level, and one for each item when you complete it. Does this coarseness limit the game's expressivity? I don't think so; it actually increases it. See, the more precisely a score measures your performance, the more precisely it specifies what counts as a good performance. This reduces choice by dictating how you're expected to play. A score that throws away a lot of information allows players to more freely choose what that information is. This doesn't mean that it doesn't matter what you do: skillful play will get you further by conserving resources, resulting in a better score overall. But it means your actions are dictated less by details of the score and more by complex evaluations of the entire game state. It takes more skill to evaluate and manage resources when their relationship to score is more ambiguous. As I discussed in my last post about it, not having 'experience' awarded for killing enemies enables a choice about how to approach enemies - whether to engage them or to sneak past; not having a score bonus for killing does the same. The fact that the game doesn't specifically call out skillful moves and reward them is irrelevant; efficiency is its own reward and ends up reflected in the final score. I feel its scoring is close to the optimal resolution for the game - fine enough to measure variations in skill but coarse enough to leave some choices open. So if Zaga-33 ultimately lacks expressivity, I'd say it's despite the scoring, not because of it.

Other roguelikes I've played (mainly Nethack, Rogue, ADOM) have these complex score systems measuring all kinds of things - gold collected, monsters killed, tripe eaten. I tend to ignore them and just pay attention to how far I get; basically I'm modding them to use the same score system as Zaga-33. And I think I'm not the only one, I don't think many players care about these scores unless they're an expert looking for an additional challenge - a "high score" play as an additional optional constraint akin to "ironman", "pacifist", "vegetarian", "atheist".

An advantage of coarse scoring in a game with heavy randomisation is that it covers up some of the variance. If killing enemies is rewarded, someone who draws a powerful weapon will score higher than someone with powerful armour, even if the two items are perfectly balanced in terms of efficiency. That's not an insoluble problem, but it's nice to be able to skip over it entirely.

One other thing - when a game is played repeatedly, we get a sequence of scores. How we interpret that sequence also affects what we count as a good performance. In Zaga-33, how you play differs greatly depending on whether you aim to maximise your maximum score or your average score (although skill at one easily translates to the other, because it entails a good understanding of the underlying system).


So what is it that ultimately determines a game's scope for expression? I think it's quite simple: how many options you have. If there aren't many, there's not much room for different players to make different choices. Comparing Zaga-33 to a similar game like Nethack, its choices are a lot more limited: there are fewer of them altogether, there are fewer alternative options when you make a choice, and they have fewer consequences and interactions. The movement, 4-way versus 8-way, is I think not very significant, but the large number of items, skills, and spells Nethack sports give room for very distinct approaches to situations. Equipment and character progression present decisions with long-term effects.

If there are a large number of options they need to be presented in a way that can be dealt with intuitively. Just selecting from a long list is pretty horrible and overwhelming. Here are some ways I can think of to give lots of alternatives in a reasonable structure:
- Geometrically. Picking from a list of 14 options is hard, but moving a rook on a chessboard is pretty easy to visualise. Picking from a list of infinity options is really hard, but turning and moving in a direction is really easy to visualise.
- Sequentially. A small number of options each turn multiply out to a wider palette of choices - e.g. 4 directions to move in is not many, but after a few turns they give thousands of possible paths.
- Combinatorially. Building a deck of cards, selecting subsets of sets. Race for the Galaxy does this well with the mechanic of spending cards from your hand as payment: you're choosing between dozens or hundreds of alternatives each time, with significant consequences for later moves, but it never feels overwhelming.
- Chronologically. In a real-time game, you constantly make continuous-valued choices about when to act and how long to spend. Tests of speed and reflexes are not so interesting to me on their own, but as a component of a system they can give an extreme variety of possible inputs.


I've been somewhat ambiguous with what I actually mean by "expressivity" here - expressing what exactly? This was intentional: I don't think it particularly matters. A system with room for expressing a particular thing probably has room to express other things too. The default assumption has been "expressing skill at the game", as the posts I'm not-responding to were about, but we could equally much talk about expressing personal character and creativity. In any game that you can spend a lifetime getting better at, skillful play does tend to express a lot about the player's personality. There isn't a single optimal path that everyone is channeled into - if there is, then once it's found the game is essentially solved and therefore not worth spending a lifetime on. There's a close correlation between skill and expression; beginners may make different mistakes but in general they play much more similarly than expert players (although the capacity to recognise the depths of nuance that distinguish experts may be inaccessible to non-experts). In any game played at a tournament level, there are clear differences of personality between professional players in terms of how they approach and play the game.

Saturday, 18 August 2012

action games, ziggurat

Thinking about Ziggurat, because I'm making an game of a vaguely similar type (action, highscore, endless hordes of enemies) and they got so many things incredibly right.

It's hard to get difficulty right in an action game. Competitive multiplayer is kind of self-balancing in some ways, your opponent sets the difficulty, but for a single-player game the designer has to set the difficulty in advance, and it's desirable to suit a wide range of different skill levels (althought not necessarily in the same mode). It's hard to get an absolute reading of how challenging things are, because your skills continuously improve as you test.

It's important to design for people less skilled than yourself if you want anyone else to play; you'll usually be the best at your own game at first. Ziggurat uses the age-old method of starting slow and ramping up gradually - in fact, it would be too gradual to be interesting once you've played a few times if not for the alien ship. (I'll get to the alien ship.)

It's also important to design for people more skilled than yourself, to make sure a game has depth and remains interesting at high levels of play. Even if nobody else ever surpasses your skills, you have your own future self to worry about - they'll be better at the game than you are now. It's unsatisfying for a game to have a skill ceiling that can be reached, after which you can simply play indefinitely until collapsed from exhaustion. It's easy enough to make something actually impossible, but that's also unsatisfying; it's uninteresting to lose only because the game threw a situation at you where you have no chance at all. Instead you must push ever closer to the limit of what's humanly possible without crossing it.

I'm thinking about endless games here. The above problems are lessened if there's an end; you can have a maximum required skill level without leaving someone stuck in an interminable game until they get bored and quit, and you can explicitly test whether that skill level is achievable. (This too is why turn-based games should rarely be endless; if at every step there's an option to keep going you'd have time to find it, and if not then you have the unsatisfying ending of reaching an impossible situation.)

So, the alien ship. It flies overhead sometime near the start of the game, and stays as long as you keep shooting it. While it's on-screen things are harder. Essentially it's a difficulty option elegantly incorporated into the single game mode: if you want things harder shoot the ship, otherwise let it pass. It's also a hint at hidden depths to the game: can you destroy the ship if you shoot it enough? Does anything special happen if you do? I haven't managed yet, and from skimming comment threads I couldn't find any indication that anybody else has, so it remains a mystery to me.

Ziggurat's score is just how many enemies you've killed. (It could measure time instead and it'd play the same, but counting kills instead of time works thematically: it's a game about vengeance, about taking down as many of them with you as you can before your inevitable demise.) I noticed some common complaints in the comments on the game, a bunch of people object to not getting score bonuses for combos, for killing lots of enemies in one explosion. But no, you shouldn't, Ziggurat gets it right. You already want to make big explosions because they're more efficient, they let you clear the screen of enemies faster. You already want to make big explosions because they go boom and the screen shakes and it's totally sweet. Awarding extra points for it would be superfluous, it wouldn't significantly change the way you play, there's no need for further incentives for something you want to do already. Those kinds of bonuses are interesting when they warp the way you play, encouraging you to take risks you wouldn't otherwise - and that's where the concept of scoring extra points for killing many enemies at once probably comes from, from a game where that was a riskier way to play, but now it's added blindly to too many games. And mechanics like that get perceived by players as a sign of added value, like they're saying "the more rules a game has the better". Sheer madness.

And yeah, the suggestion of combos has come up in the game I'm making too, and is equally inappropriate. I'm using the same scoring system of "1 point per kill" - I do like to avoid rewarding killing enemies if possible (as in Zaga-33), for the same reason as above: eliminating threats is already a beneficial activity and need not be further encouraged; but in this game some interesting play comes out of it, there can be enemies that only pose a threat if attacked, and whether to engage with them is an interesting choice; part of my version of the 'alien ship' difficulty option.

Another common complaint I saw on Ziggurat is that there's only one level (and one weapon). This is so bizarrely wrong. A small amount of good replayable content is worth much more than dozens of levels each worth playing at most once. And in Ziggurat's 'one' level there's actually a lot of content in the progression: new enemy types are introduced, difficulty rises, events happen, the background changes, the nature of the game shifts. This progression is hinted at right from the start - the sun is setting, slowly but fast enough to be perceptible, signalling that there's going to be changes to come. For me, the goal of "survive until sunset to see what happens" was a much more powerful draw to keep playing than a myriad of levels or a high score table.

It's just frustrating to see these things that I value about the game (and am trying to emulate) being perceived as negatives; its clean and pure design, the way difficulty levels and other elements are elegantly incorporated into a single level/mode. I'm not sure how common these viewpoints are in this case, a bunch of people do like Ziggurat, no idea how successful it's been. But these comments are indicative of quite common perceptions about what's valuable in a game: rule complexity is valued over depth and elegance (it tends to be mistaken for depth), quantity of content is valued over careful design and curation, graphics are valued over gameplay, and things that are the same as what people are used to are valued over anything else at all. Not everyone thinks this way, but it seems like a majority.

Tuesday, 14 August 2012

meaning through repetition

Having odd feelings after releasing Vesper.5. A bunch of people are intrigued by the concept, and have started playing it, which is great. I really look forward to when they find certain things. But I worry a little: I don't want to disappoint anyone. The game is very slight - intentionally so, it's a pure expression of a single idea - and I'm just a bit uncomfortable with the idea that someone might expect more from it than is there...

...which is paradoxical, because the very concept is about making more out of it than is really there. Imbuing it with meaning that isn't intrinsically present. Turning a mundane action into something transcendent through repetition, ritual. Mystery.

It's a very simple exploration game, quickly made. Without the one-move-per-day limit there wouldn't be very much to it; the concept is everything. With an ordinary game I don't worry about disappointing anyone; there's only a small commitment required to get a rough idea of what's in there. But this one demands such an investment. I don't know if this is really a problem. Ultimately I think what you get out of it will depend mostly on what you put in, what meaning you create for it yourself. But it makes me uncomfortable. Which is interesting!

The game demands patience, commitment, making choices with unknown consequences. There's a kind of symmetry between player and designer; these same concepts reflect back on me. Making the game I couldn't know what it would be like to play it as intended, moving into the unknown one step each day; I had to commit to a design only imagining what this might be like. And now I still have to wait patiently for others to play through to find out, experiencing it vicariously. But from seeing initial reactions I have more of a glimpse than before, and there are some things I'm tempted to change. Questioning the reasons behind my decisions.

For now I'm resisting the urge to fiddle. I don't know for certain whether the changes I could make would be improvements. But even if they were, there's a cost to making an update; it diminishes the reality of a game. When working on something it's in a state of constant flux, anything is subject to change. But once it's released and played it becomes a solid thing, a world. Allowing that world to become mutable fundamentally alters its nature, makes it less real. Changing it in response to player actions alters the meaning of those actions.

I've committed to my move, released the game in an inevitably imperfect state, and any mistakes I've made we will have to live with.

edit: Minutes after posting that, in response to Pippin Barr's lovely post, I updated the game - for a minor improvement in presentation (hiding the flashing ESC after the first day), not to change anything in the world.

Sunday, 12 August 2012


Made for a Super Friendship Club Pageant with the theme "ritual": thread.

windows download
mac download

In this game, you may take one step each day, and then you must wait for the next day. If you wish to complete the game, you will have to make it a part of your life for at least 100 days. Make a ritual out of it. How will you incorporate it into your daily schedule? Will you tie it to an existing activity? Will you treat it as a ritual or merely a routine? Will you add to the ritual, embellishing it in your own way, making it yours? Meditate, say a prayer, think back over what has happened while you have been playing? Will you approach it alone or share it with another?

Is it worthwhile? You'll have to answer that for yourself.

It's a pilgrimage. It's very simple, but it does have choice in it; even the smallest decisions have their consequences amplified when you can only move daily.

Friday, 3 August 2012

glitch tank update again

Glitch Tank has both a turn-based and a real-time mode. For me the real-time mode is the true game and turn-based is a minor variant, but I know some people greatly prefer turn-based so I'm glad I included it. (I do recommend though that you persist with the real-time mode if you find it strange at first.)

I've experimented a bit with how to introduce the game to new players. I had thought that it might be better to start with turn-based because there's less pressure, but this turns out to be false. Turn-based is quite slow with new players spending too long thinking about their moves, and ends up not being engaging for their opponents. The best way to introduce it is to let two new players face each other in real-time and figure it out for themselves. If there is only one new player I prefer to run it in real-time mode, but let them move first and take turns with them until they realise for themselves that they don't need to wait between moves.

My friend Jonathan (of Path of Exile) mentioned one time that he'd like to see a sidestep movement action, because some situations arise where it'd help a lot; e.g. you face each other, your opponent has a laser and you don't. From this I deduced that he was playing turn-based; in real-time this isn't an issue because you can rotate and move quickly to get out of danger. I tried out this idea, but it didn't play very well, as well as requiring icons that might be easy to mistake rotate left/right when acting quickly.
A few days ago I came up with a solution. It's very simple: a "+2 moves" action which only shows up in turn-based mode. This brings turn-based play more in line with real-time - you can sometimes move quickly, see an opportunity and grab it before your opponent can react. It works really well, it's an interesting resource to play with, it's a difficult decision when to use it for maximum advantage. It enables a variety of different combos - rotate and move, rotate and shoot, U-turn.. or just cycle through unwanted actions more quickly. You never get more than one copy of the action at a time, so there's no infinite loop there.

So today's update is mainly for people playing turn-based. But there's a couple of small things for everyone else:
- There was an extremely rare crash bug that I believe I've fixed (but it was so hard to reproduce that I'll never be certain). When a game has "glitch" in the title bugs like this aren't necessarily a problem, but it's still nice to (hopefully) have it gone.
- Perhaps something mysterious that you'll probably never see?

It really doesn't make sense for me to be doing more work on Glitch Tank right now given how popular it's been; I really need to get onto trying to make something that more than a handful of people actually want. But I just really love this game, it's probably my favourite thing I've made. I will never understand what makes some things more popular than others.

Wednesday, 1 August 2012

You Can Make Videogames

You Can Make Videogames - a handy site created by Richard Perrin, a good place to look if you're interested in making games but you don't know where to start.

No You Can't Make Videogames - don't read this, it's silly.

You absolutely can make games.
(Videogames if you want. There's not a categorical difference. Cardboard is a great place to start.)

I've been making games for as long as I can remember.

My first games were terrible, and completely derivative. "Fan-fiction", if you like. I remember one, Snakes and Ladders with the squares randomly scattered across the board in different shapes and sizes, different instructions written in each, roll and move, no decisions. Another, Chess with all the movement rules changed - no reasoning behind them, just all every different pattern I could think of. Terrible terrible games, but I still had a lot of fun making them (and playing them, when I could convince my always-skeptical parents or siblings to give them a try).

Later, I found a book about BASIC programming in the library and learnt from it. My first videogame was typed in from a code listing in the book. This is as derivative as you can possibly get: an exact copy of someone else's game. But then I tried out changing numbers and seeing what happened, modified it, made it my own - totally broke it in the process of course, made it worse and worse until I reached a point where it didn't run at all and I didn't know how to fix it.

So I made terrible games. But I got better.

Eventually I was able to program my own games from scratch. I made text adventures (not worth being glorified by the term "interactive fiction"), copying ADVENTURE. They were very bad in many ways. The gameplay combined the worst of "guess the word" puzzles, unnecessarily complicated mazes, and brute force solving. But the code, the code.. I had no idea how to organise things, no conception of data structures and algorithms, but I didn't let that stop me. For every single room in the game, I had a separate block of code, with its own input loop, looking something like this:
    100 PRINT "You are in a dark maze."
    110 IF GOTLASER=0 THEN PRINT "There is a glowing laser gun here."
    120 PRINT "You can go south or west"
    130 INPUT WORD$
    140 IF WORD$="get laser" THEN GOTLASER = 1
    150 IF WORD$="south" THEN GOTO 190
    160 IF WORD$="west" THEN GOTO 420
    170 PRINT "I don't understand."
    180 GOTO 100
If you're a programmer, you're wincing. If not, you probably don't see what's supposed to be bad about this. And in a sense, there is nothing bad about it: it worked. There are good reasons for the ways programmers like things to be done; they're less prone to error, they save time once you know what you're doing, they're easier to modify. But when you're just starting out, all that you should worry about is whether something works.

Now, after 20 or so years of making games, I think I'm pretty good at it. I've made some games that I'm very proud of, that I consider worthwhile contributions to the medium (whether others agree or not) - and many more that are terrible, but were satisfying to make. But it's been a long process, and there's still room for improvement, I'm still getting better. You can't expect to change the world with the very first thing you make, but it can still be a step towards it.

If you're reading this, you have access to much better resources than I started with. An internet full of programming tutorials, source code, willing helpful people, and tools that are both much more powerful and much easier to use than a stupid BASIC prompt. You're in a much better position than I was as a kid trying to figure this out by myself.
At the very least, you can make something silly that nobody else wants to play. Why would you want to do that? Because it's fun. It's not easy, it's time-consuming and sometimes hard work, but making your own videogames is the most fun you can have with a computer. Forget playing games, making them is where it's at!
But also, because you'll get better. Everyone starts out terrible at everything, we only improve with practice. If your goal is to make a good game, you have to start by making bad games - it's the only way. When you're doing something that's hard for you, you're not wasting your time. Making games isn't easy, but it's something you can do if you want.

"We have created a situation where -everyone- creates things, all the time."

No we haven't. Not yet. I hope we do though.
More people are creating things, and that's great, but so many are not. They get discouraged because they think they're "not creative" (creativity is not a talent, it's a way of operating - John Cleese), because they think it's hard work, because they worry they'll never be good enough. Don't be discouraged. Creation is good for you: it's worth doing even if you just do it as a hobby and even if you never make anything that anybody else cares about (although you will, if you persist).

Make games.