[ Content | Sidebar ]

back to cable

April 15th, 2009

Despite our earlier plans, we are now back on cable TV again. We actually went pretty far in carrying out the plan: after getting lots of useful advice, I bought a Mac Mini and a PS3, along with various accessories, spent an hour or two rewiring things, and spent several hours over the next few days trying to get it all to work.

But I failed. The obvious problem was that I just couldn’t get the Mini to display well on the TV. I’d been warned that it’s hard to get it to display well on CRT TVs, with the borders going over the edge of the screen, but also had been told that there are third party products that let you deal with this. I downloaded one of them, but it just didn’t work: the TV stayed blank whenever we installed a custom resolution, including the ones that the program started us off with. (Good thing I was doing this through a VNC session!)

To make matters worse, our TV is particularly odd in being an HD TV in a 4:3 resolution. The Mac really wanted to display at 1280×720, which meant that everything on the screen was stretched vertically: when I watched videos on it, actors looked even more anorexic than they do in real life. If I could have dealt with the edge-of-screen issues, 800×600 actually looked fine, but I kind of like having a menu bar visible at the top of the screen.

If we could have solved the display problems, we probably would have stuck it out, but I’m fairly sure that would have been a mistake in retrospect. For one thing, while I’d done some advance research to locate online sources for some shows Liesl and Miranda like, I hadn’t done a thorough search, and it turns out that the shows I’d thought of first were unusual in being relatively easily available. Also, getting a Mini didn’t really solve the more important device problems we had, namely that there was too much contention for our one laptop.

So I returned the Mini and got a MacBook. (And we decided to continue our cable subscription, meaning that this really did cost money, instead of being able to hallucinate that it would sort of pay for itself after a couple of years.) Which I’m really happy with: it’s a nice machine, and over the week and a half since we’ve gotten it I’ve never either not been able to find a laptop to use or felt guilty that I was preventing Liesl or Miranda from using the laptop.

Swapping computers turned out to only be the first of three visits to the Apple store that weekend, though. I got up on Sunday morning and turned on the Mac to make sure that I’d be all set to record a podcast over Skype. And it was a good thing that I got up early to try that out, because I couldn’t connect to the internet! I cursed the router and rebooted it; I still couldn’t connect, so I started cursing Comcast instead. But before calling them I plugged the laptop straight into the cable modem, and it connected fine. When I played around with the router a bit more, it turned out that the router’s administrative interface could ping the outside world just fine and that machines within the wireless network could ping each other and the router just fine: the router had simply decided that it wasn’t up for actually, you know, routing.

Sigh. So I recorded the podcast plugged into the cable modem, and then went shopping. Actually, I was happy enough to replace the router—every few months, it stops working and needs to get rebooted, usually at inconvenient times when I’m on vacation and really want to be able to connect to my home machine to respond to e-mail or review Japanese or something. (Yes, I should probably move both of those off of my home machine.) And I’ve gotten tired of hooking up a hard drive periodically to back up my Mac, a problem that will only get worse with two of them around. So a Time Capsule seemed like a good idea: back to the Apple store.

Once I got home, though, it turned out that there was another problem. The Time Capsule says it supports WEP, but apparently what that means is that it’s willing to connect to existing WEP networks but won’t start one of its own. So I had to either turn off encryption or go to WPA; I would have done the latter long ago, but I had devices in the house that, bizarrely, don’t speak WPA. I figured I could live without having the DSes on the internet (and I’ll probably buy a DSi soon enough anyways, our DS Lite’s touch screen is getting a bit flaky), but my Linux machine is connected to a wireless bridge that only speaks WEP, and that’s a more serious problem.

Fortunately, Apple has a solution to that problem, too. So: back to the Apple store for the third time that weekend, the fourth time in two weeks, the fifth time in just over a month. After ignoring the person in the orange shirt who said things I didn’t want to hear, I got to talk to a person in a blue shirt (who remembered me from one of my earlier visits) who confirmed that yes, the Airport Express would do exactly what I wanted. (And, as a bonus, extend my wireless network a bit, though actually the coverage upstairs was already pretty good.)

So I bought one and went home. I set it up to extend the existing network and act as a bridge, and told it to reboot; it didn’t find the network. Took a deep breath, tried again, and everything worked just fine. And has been fine ever since; as a bonus, it also has a USB jack to plug in the printer, so I don’t have to fiddle with swapping cables around for that.

Not a bad outcome, all things considered. I wish I hadn’t had to go to the store three times that weekend, and I’ve certainly learned a bit about not letting optimism cloud my advanced planning. But I’m really glad that we have a second laptop now, and it’s very nice to click on the Time Machine menu icon and find out that this machine was backed up 9 minutes ago without my even noticing it. It’s too bad my DSes can’t connect to the internet, but I have a hard time worrying about that too much. It’s nice to know that the Airport Express works, I would even be tempted to get a second one to extend the wireless range downstairs except that, now that I’ve checked on it, it seems that the Time Capsule’s signal is enough stronger than the old router’s signal that we don’t have any dead spots in the house any more! And if we’re going to be unexpectedly spending money on various bits of computer gear, it’s best to be doing it in the same month when I find that we overwithheld our taxes by an amount that will cover those expenses almost exactly.

Our house is now strewn with boxes, though; I really should clean that up this weekend.

the alchemy

April 13th, 2009

For the second time in the last week, I am regretting that I didn’t blog about a work as soon as I finished it. But the series in question is too good for me to completely ignore an excuse to write about it, and I did take a few notes right after I finished it, so:

Reading The Alchemy has done nothing to lessen my suspicion that the color volumes of Kabuki are the most beautiful comics in existence. This volume is perhaps less so than, say, the fifth volume, but that’s okay: its style fits in with this volume’s experimentation, the way it puts together sometimes simpler fragments in unexpected ways.

I’m not sure what I expected this volume to be like, but I’m quite sure I never would have imagined how it actually turned out. Which is good: the series could easily have fallen into a rut, as an action series about beautiful women fighting crime. Instead, it took a fairly large turn away from that; the main worry that I have now is that the series will go too far into megalomania, in the “grand theory of everything” direction.

Or maybe not; for all I know, this is going to be the last volume of the series. Which is fine with me; I have a hard time seeing how Kabuki’s story is going to develop further, and while I wouldn’t be against individual volumes about the other agents, I wouldn’t want to see that at the expense of the main story. Then again, David Mack clearly has more imagination about how to develop Kabuki’s story than I do; if more volumes do appear, I’ll be first in line to buy them. But if he decides to work on something else instead, that’s great too.

Anybody read any of his Daredevil volumes? Are they anywhere near as interesting or visually stunning as these ones?

random links: april 12, 2009

April 12th, 2009

update on working standing up

April 11th, 2009

I’ve been working standing up for about three and a half months, so it’s more than time for me to provide an update on that experiment. Which is: somewhat to my surprise, I’m still doing it! I’m not going to go out and start proclaiming that it is the way everybody should work, and I’m not even going to promise that I’ll still be working that way a year from now, but I haven’t stopped yet.

As expected, it stopped being actively annoying after a few weeks; my feet are still relieved when I give them a break and sit down, but they don’t hurt enough when I’m standing up for them to be on the forefront of my mind. I’m not completely sure whether the net effect on my aches and pains has been negative or positive, but I think I’m doing okay. Reading my earlier report, I noted that my back used to hurt sometimes when working sitting down; I haven’t thought about that for a while, so that suggests that my back is doing better. I occasionally wonder if it’s making my knees hurt, but I haven’t wondered that recently. My right foot did start hurting in a new way when walking a few weeks ago; I’ve changed shoes for now, and it’s getting better, but if that continues to hurt and correlates with working standing up instead of being a coincidence, that would be a problem.

It may have caused me to lose weight; I’m not completely sure, since we don’t own a scale, but I’d thought of myself as being in the 190-195 pound range. So I was surprised when we got Wii Fit a couple of months ago that I only weight 185 pounds. If I really have lost weight, though, I don’t know if working standing up is the cause; it’s possible that it’s instead due to my dietary changes. If I continue to lose weight, then I won’t worry about joint problems, because I figure that removing pounds will help my joints more than working standing up might hurt them.

None of that, however, is the reason why I’m continuing to work standing up. I’d read others report that working standing up gives them more energy, so I was hoping to start feeling peppy; that didn’t happen, alas. What did happen, however, was that, on days when I’d gotten to bed a bit later than wise the previous night, I didn’t feel like I needed a nap the next day. So that’s all to the good: while I still try to get to sleep at reasonable hours, I’m definitely glad that I have less of an early afternoon lull than I used to. (There is a flip side, though: on days when, for whatever reason, I’m not working standing up in the middle of the afternoon, my body seems even more likely to fall asleep than it was before.)

Which is enough to keep me going. As I said above, I’m not completely wedded to the practice—part of what makes it workable is that I’m doing isolated manager stuff much of the day, whereas if I were pair programming more then it would start to become a problem, and I’d stop the experiment. But the truth is that I’d like to experiment even further: if I find myself working from home regularly at some point in the future, for example, I think I will see if I can create some sort of treadmill desk. I don’t think I’ll follow Kathy Sierra’s lead and work while sitting on a saddle, but I totally believe her that it works: anything that makes it easy to keep your back straight and get your muscles moving around a bit sounds like a win.

apollo justice

April 8th, 2009

It took me a while to get around to playing Apollo Justice: Ace Attorney. I’d enjoyed the earlier games in the series, but I’ve played through enough video game series (and, for that matter, read enough book series) to know how these things go: the initial spark that makes the first game special gets more and more hidden in the later iterations, they add new mechanisms for the sake of novelty rather than because they actually improve the game play (indeed, the new mechanisms are at least as likely to hurt the gameplay as to help it), and, after enough iterations of the series, I’ll feel sad at best, indifferent at worst.

I’m in the habit of playing DS games on vacations; while I did buy Apollo Justice when getting ready to go on our first vacation after it was published, I let Liesl monopolize it, spending my time on The World Ends With You instead. Liesl reported enjoying it, though, so I figured there was still something there, and I gave it a try when we went on a trip recently.

And, sure enough, it’s fun. As the title reveals, you play a new main character, but that doesn’t mean that Phoenix has gone away: in fact, he’s your client in the very first trial, and he’s a presence in later trials as well. Capcom did treat his presence in an intelligent fashion, though: while Phoenix returns, the game in general doesn’t refer to the story arc from the first three games; many series would instead rehash the same events, crushing them under the weight of still more dramatic revelations.

As expected, there are pointless tweaks to the mechanics of the system, but they’re not too bad. It’s the first game in the series to be developed for the DS (the original trilogy first appeared on the GBA in Japan), so they felt compelled to occasionally show you that they’re capable of doing 3D tricks, and they replaced the pointless psyche-lock mechanic from the second and third games with a pointless perception system. All in all, though, Capcom was pretty restrained on that score: the 3D effects are quite rare, and the perception system didn’t bother me until the last trial. (It got really bad then, though, with a couple of places where you had to do huge amounts of tedious searching to find the right place to use it.) In fact, they slimmed down the mechanics in one way: they went back to the old system of only being able to present evidence, as opposed to being able to present both evidence and people, which meant that your search space was cut in half in the inevitable occasions in trials when you get completely stuck.

So: all in all, pretty well done, and they avoided stepping in some potholes that some companies might have fallen into; I’m certainly glad to have played the game and will happily play the next game in the series as well. Or at least that was my opinion until I got to the last trial. There, they added another new mechanism, and a quite different one: you spent time going back and forth between different time periods to reveal Phoenix’s backstory and to understand what lay behind the trial that you were currently fighting. To my surprise, this worked quite well, leading to a very satisfying resolution to the game.

Which put me in a good mood, a mood which thinking about the game further after finishing it only increased. Apollo differs from its predecessors in other subtle ways as well: the NPCs were less over-the-top than in the previous games, and while I enjoyed that aspect of the previous games, I think the developers made the right choice in turning down that knob this time. The game’s prosecutor also has an interestingly different nature than in the prior games, occasionally even helping nudge you to uncover the truth rather than leaping at any flaw in your argument to find your client guilty. (Don’t get me wrong, I thought Edgeworth was a great character! And I’m quite curious to see what his game is going to be like, which sounds like it will be a much more significant reset in the gameplay of the seres.)

All in all, Apollo Justice is a bit quieter than its predecessors, perhaps in its own way even a bit more lyrical; it’s very, well done, it’s certainly not at all what I feared that it might be, and it may even be my favorite game in the series.


I didn’t find much in the way of other blog reactions to Apollo Justice, though I’m pleased that Schlaghund also enjoyed it

gdc gamer’s confab

April 6th, 2009

I apologize for the lack of posts over the last week; I hope to remedy that over the coming evenings. In the meantime, I did have the pleasure of being one of the guests on the most recent Brainy Gamer podcast, a collection of confab segments on our recent GDC experiences; I thoroughly enjoyed the discussion in the segment that I took part in, and am very much looking forward to listening to the other segments.

gdc 2009: friday bioware talk

March 28th, 2009

At 4:00pm on the friday of GDC, I attended The Iterative Level Design Process of Bioware’s Mass Effect 2. I went because I loved Mass Effect and because I’m always happy to see the word “iterative” used, but the talk turned out to be an excellent final experience from the conference for a completely unexpected reason: it was all about how they were in the middle of an apparently quite successful lean transition!

Mass Effect was a fabulous game, but it had problems. Elevators are one example; also, the world where you found Liara was once intended to be the same length as the other key worlds, but they ran into late issues that they couldn’t solve in time. There was costly, unplanned rework; insufficient cross-department communication; and performance issues that they couldn’t iron out in the final product. One factor contributing to several of the problems was that levels were rarely playable: this made it difficult to evaluate the game and its mechanics, it made QA testing quite difficult, it lead to late revision instead of early revision. So they wanted to do better in Mass Effect 2.

To fix these problems, they broke down the work on each level in the sequel into six phases; each phase was designed to answer a specific question, you were supposed to avoid any work that didn’t bear on that question, and the end result of each phase was a deliverable that bears specifically on that question. In addition, they had three ground rules: they game should always be playable, the current stage should always be a foundation for future work, and the game should always have acceptable performance.

The stages:

  • Stage 0: Narrative Overview. This stage is answering the question “What is the story?”, and the deliverable is a document describing the narrative, the characters, the 2D layout, the art themes, and the cutscenes. This stage is different from the others (hence the numbering) in that it largely involves the writers rather than the full team and in that there’s nothing playable at the end of it.
  • Stage 1: Narrative Playable. The question: “Is the pacing and spacing good?”; the deliverable is the first playable. At this stage, the level only contains its box-level geometry, placeholder set pieces, and “box level” dialogs (i.e. saying “X will tell Y to do A, B, C” rather than the actual words that X will use); there are pop-up cutscenes, and prototype level mechanics. But it’s still enough to get a feel for what’s going on, and an awful lot gets changed at this stage. In fact, this can even be enough to get a global overview rather than a local overview: over Christmas, team members took the game home, even though many of the levels were at stage 1, and discovered that, while the endgame felt fine in isolation, it didn’t work well in the context of the whole story. Which led to significant rethinking, but it’s much less costly to do that rethinking at this stage than later on, or to not do that rethinking at all.
  • Stage 2: White Box. The question: “Can you see the fun?”; the deliverable is a level with representatitive collision. You have first-past modeling on the geometry, and a first pass at the dialog. There’s basic placement of cover for the combat scenes, and animatronic cutscenes. And there’s placeholder music: without that, levels felt blah, leading to criticisms that, in retrospect, weren’t well-founded.
  • Stage 3: Orange Box. The question: “Is it fun?”; the deliverable is a level with actual collision. The textures aren’t all there, yet, but it’s working; the dialogs are ready for voice acting and are cinematically blocked out; there’s full cover placement for combat; and they’ve done the basic motion capture for the cut scenes.
  • Stage 4: Hardening. The question: “Could this be shipped?”: they’d rather not ship the level like that, but if the rest of the game was polished and a deadline was coming up, they could ship the game with a level in this stage. The deliverable is a “finished level”: the level art is textured and lit, the voice-over dialogue has been recorded, and unfortunately I didn’t managed to take notes about what the other aspects of the level should look like. But you get the idea, I hope.
  • Stage 5: Finishing. The question: “Can you feel the awesome?”; the deliverable is the final shipping level.

After this, they talked more about some of the lean principles. They avoid muda (waste) by only doing work that they’re willing to iterate upon. They avoid muri (overburdening) by time-boxing and load balancing. (But they don’t load balance across teams.) They avoid mura (variation) by having established deliverables at each phase. They do kaizen (continuous improvement) with level reviews at each phase, with peer reviews (once per level, at the phase in which that department’s work should be final), and they have level design mindshare meetings weekly.

In general, they use a scrum-like process, but not completely; in particular, the individual components (art, cutscenes, modeling, etc.) didn’t always proceed in lock-step, so they felt that sticking too rigorously to sprint goals slowed them down. This is one difference from a pure software development context: in software development, it’s frequently reasonable to have enough cross-training that everybody can swarm on unfinished tasks, whereas a writer is unlikely to be able to help with cinematic rendering. They do have final reviews by the product owner, preceded by at-desk previews; this is a creative signoff, and makes sure that the next steps are clear.

What worked:

  • Pairing level art with level design.
  • Colocated teams.
  • Time boxing.
  • Going deep with some levels: rather than doing stage 1 on all levels before going to stage 2 on any, they finished a few levels much earlier than others. Among other things, this helped make sure that the process worked, and improved the quality of their estimates.
  • Testing out the combat systems in game.
  • Evaluating levels in sections, as necessary.
  • Being agile with their Agile process.
  • Stopping to assess the big picture.
  • Having different goals in different phases. For example, each stage’s question let QA know what bugs can be legitimately filed at a given stage; incidentally, one of the stage exit criteria is that they can’t have any bugs at major severity or higher.

What didn’t work:

  • Sometimes, they skipped a step; it came back to bite them.
  • Not every level can be a “special snowflake”.
  • Level teams that got too big.
  • Creatures need to be “representative” early: it’s hard to build a space around a creature if you don’t know what it looks like, how it will fight, how big it is.

That’s my notes from the presentation. What I found most exciting about the talk (other than its heavy lean focus) was the intelligent questions that they used to differentiate stages. In a lot of the agile software literature, you’re told that you not only can but should ship your software frequently (weekly, daily, hourly), leading to a feeling that there’s a lack of texture in the development process. But that simply won’t work for a long narrative project like this. You can imagine breaking the game up into smaller episodes (c.f. their point about going deep on some levels), but nothing that gets you close to a weekly ship cycle. And I think it’s not a coincidence that they went beyond agile to lean in their inspirations: Toyota also has people working on a project with significantly different skills (somebody designing the shape of the body of a car won’t be able to contribute meaningfully to refining the engine), and Toyota is unlikely to have a genuinely shippable car at many of the stages in their design process.

So what they did was keep the core of that “constantly shippable” idea (indeed, they heartily embraced the core, getting huge amounts of mileage out of it), in that the game was always playable and performant; but they explicitly iterated up to a releasable version instead of pretending that the game could always be releasable. And they turned this into a further strength by combining it with the notion of mura: the focused questions for the stages of the iteration turned into a very powerful tool for the elimination of waste.

Of course, their questions, while applicable to many projects, won’t be applicable to all situations. In particular, this game is a sequel, which reduces the scope of the experiments that you’ll want to perform. And they were very up-front about this: when asked if this process would have worked on the original Mass Effect, they answered that yes, they felt that the process would have worked, but the questions would be different.

Which raises the issue of how you come up with the questions that will fit your situation? Further combining my obsessions, I’m wondering if Christopher Alexander’s The Nature of Order might give us some ideas. The second volume is all about growing your structures by amplifying centers, which seems to me to be quite consistent with this sort of phased process; I’ve just started reading the third volume, and I’m cautiously optimistic that some of the worked out examples there of how designs got fleshed out might give some insight into how to structure the specifics of this sort of iteration, how to give up on the notion of a product being always releasable without slipping back into Big Design Up Front.

That last paragraph is probably pretty unlikely; I really don’t have enough of a feel for how, or even if, Alexander’s techniques work in practice to know if they can be turned into concrete guidance like this. Something to dream about, though; certainly this talk was a fascinating talk and a wonderful end to the conference.

gdc 2009: friday

March 28th, 2009

My notes from the talks that I went to on Friday at GDC:

9:00am: Dirty Deeds Done Dirt Cheap: Design Lessons Learned from Rock Band. Which began with the question: what do you do about the fact that everybody wants to have input into the design of your game? If a designer has tight control, then other people get mad when their ideas aren’t used, and you lose good ideas. But design by committee doesn’t work, either.

To solve this, you need a way to get everybody on the same page. Their answer: each game has One Question that you can always come back to as a touchstone. Compare this to Level 5’s answer from Wednesday (or, for that matter, Bioware’s answer from later on Friday); note also Iwata’s / Miyamoto’s claim that design documents don’t work to this end, because people don’t read anything. In addition, as an audience member pointed out to me after the talk, just phrasing your touchstone in the form of a question has benefits, in that merely repeating it gets you thinking about whether or not it applies to what you’re doing.

For Guitar Hero, the question was “Does this rock?”. For Rock Band, they began with the question of “Is this different from what we’ve done before?”, which is of course a lousy question: there’s no way to focus a team behind it. After a lot of experimentations/investigations, they settled on a much better question, “Is this an authentic band experience?” So, for example, for the gameplay, this suggested adding big rock endings, coming back from the brink, and solo bonuses; it suggested avoiding powerups, guitars that caught on fire, and minigames.

So that gets everybody on the same page. Still, though, to really understand others’ suggestions demands mind reading, and can lead to graceless compromises. His solution involved something called perceptual control theory, which I don’t really understand, but the example he gave (which sounded kind of like a Theory of Constraints evaporating cloud to me) was: people complain about hard songs in random setlists. One bad solution is to say “what part of random don’t you understand?” and tell people to learn to play better. Another bad solution is to come up with some complicated algorithm to improve the setlists and make them not, in fact, random. A better solution: give people some info in advance about the difficulty of the setlist. (Editorial note: though, personally, I wouldn’t mind if I could pick the difficulty of each song in a random setlist independently.)

More on the theme of feedback from players: hardcore players will tell you, frequently at length, what they think about your game and what they think you should change about it. (See the previous sentence for an example!) One thing to keep in mind here is that the term “hardcore” contains multiple cultures; you have to interpret the advice you get in the context of the culture that spawns it. More casual players won’t tell you; fortunately, achievement data gives lots of information there. For example, in the original Rock Band, they were surprised at how much more popular the band tour mode was than the solo tour instruments (they’d thought of the former as relatively hardcore); they reacted by adding a patch to make the band tour even more accessible, which proved to be quite successful, and removed the solo tour style from the sequel.

Other tidbits:

  • Separate design from content as much as possible. E.g. they needed to make it easy to drop in songs at the last moment; to make this work with all the various playlists that a song might appear in, they added a layer of indirection by having the playlists generated from metadata associated with the songs, instead of writing the playlists directly.
  • Don’t design for some sort of ideal situation in your head: it will take a long time and probably won’t be what people actually want.
  • A good use of user suggestions: one of the Rock Band 2 battles of the bands was entitled “Schrödinger’s Cat battle”, containing the songs “Dead” (The Pixies), “Alive” (Pearl Jam), and “Wanted Dead or Alive” (Bon Jovi).
  • They’re the world’s largest manufacturer of drum sticks.

10:30am: Stretching Beyond Entertainment: The Role of Games in Personal and Social Change. A panel discussion including Peter Molyneux, Will Wright, Bing Gordon, Lorne Lanning, and Ed Fries. But, apparently, you weren’t supposed to be interested in what any of those guys might have to say, and the real draw was supposed to be the moderator, Rusel DeMaria, because for the first fifteen or twenty minutes of the panel, the moderator spoke more than all five of the panelists put together.

I was kind of expecting to be annoyed by Lorne Lanning, and my expectations were met: he even discussed Abe’s Oddyssee, and presented it as a game where, if you choose, you could kill the Mudokons with gruesome and entertaining death animations, only to realize the error of your ways when confronted with the bad ending. (I believe he even used the phrase “profound impact” when talking about this.) Whereas my experience was that you could choose to dutifully slog through the game’s puzzles, saving as many Mudokons as you could, and realize when you nonetheless got the (gratuitously callous) bad ending that the error of your ways was letting the game come anywhere near your console.

Will Wright said some interesting things, though; the one that stuck with me was his claim that the works in other media that have brought about the most social change are those that have honestly depicted bad behavior instead of those that have depicted good behavior. (So, hey, video games are halfway there!) The John Holt fan in me was amused by Bing Gordon’s anti-schooling rabble rousing. But, all in all, not a good choice.

12:00pm: The Dating Game, with Dustin Clingman, Richard Dansky, Wendy Despain, and Steve Meretzky. (And with much more active and effective audience participation than any other session I attended.) This was my most pleasant surprise of the conference: I mostly went because I loved Planetfall and because, frankly, there wasn’t a lot else in the time slot, but it turned out to be thoroughly delightful.

The question that the session posed: in the U.S., the canonical thing to do on a first date is go to a movie. (Well, dinner plus a movie.) What would have to change for playing a video game to replace going to a movie? They broke down their analysis into a number of subquestions; basically, it came down to why are movies an actively good first date and why are games an actively bad first date? But the discussion went in all sorts of directions at different times, so I won’t stick to the script, instead just listing some of the points that were raised:

  • Movies are in a public, neutral space: currently, video games usually aren’t played in such a space.
  • That public space is dark, giving you some privacy.
  • Movies are a shared experience, with no scope for dominance in your shared experience. In particular, competition is bad, which is one strike against games.
  • But cooperation is good: you can imagine bonding more strongly while working together to create something while playing a game than you might while watching a movie.
  • One audience member reported a game date working well when they were playing a cooperative light-gun shooter side by side in a sit-down semi-enclosed arcade cabinet, which addressed all the above issues.
  • In a movie you have your hands free, and you won’t die a gruesome death if you look away from the screen and at your companion for a bit.
  • When going to a movie, it’s typically the first time both people have seen it, and you don’t have to worry about differences in prior expertise, so both participants are on a more level playing field.
  • Multiple audience members brought up the example of a carnival as a successful first date, and a Japanese audience member said that was quite common in his company. And games are part of the carnival experience; they can provide a way for people to show off something they can do well (while dominating an external situation instead of the other person), which can certainly be attractive.
  • Movies give you something to talk about afterwards, allowing you to get to know the other person without exposing too much of yourself right off the bat.
  • There’s an established “date movie” genre; what can we learn from it, what makes it successful?
  • Movies (especially date movies) hit on emotion a lot.

They didn’t come to any grand conclusions—it was much more in the spirit of “let’s see what we can come up with when thinking about this together” than “here’s how to solve this problem”—but I thoroughly enjoyed the meandering discussions that occurred.

1:00pm: Lunch, in the delightful company of Michael Abbott, Wes Erdelack, and Manveer Heir.

2:30pm: Lionhead Experiments Revealed. Molyneux speaking, and I expected more out of him. Lionhead lets people propose/run experimental projects between games (kind of like Google’s 20 percent time, but less bold), so Peter talked about that and showed some examples as experiments. But nothing about the details of their structure or about the experiments he showed particularly grabbed me.

4:00pm: The Iterative Level Design Process of Bioware’s Mass Effect 2. My writeup for this turned out to be long enough that I’m splitting it off into a separate post.

gdc 2009: thursday

March 26th, 2009

A quite good day today; three of the five sessions that I attended were extremely interesting. My notes:

9:00am: GDC Microtalks. I was wondering if I should go to it—my experiences yesterday didn’t leave me entirely sold on the value of panels—but I figured that, if I got one interesting thing out of it, I wouldn’t regret going, and probably one of the nine speakers would say something that resonated with me.

In fact, it turned out to be awesome! It was in a pecha kucha format: this meant that the presenters had do do a lot of hard thinking about what little they were going to say and about how to use the slides to best effect; the result was that I got something interesting out of every single one of the nine.

Specifically:

  • John Sharp: I loved the slide showing a Chinese general playing go while simultaneously undergoing bone surgery.
  • Tracy Fullerton: Masterful play can’t be a solitary activity, it needs others both to participate and to appreciate. So you need to develop a culture of mastery.
  • N’Gai Croal: Some interesting examples of player-controlled difficulty. In The World Ends with You, your character levels up, but you can choose to play at a lower level. (Decreasing both difficulty and item drops.) In Gears of War 2 co-op mode, the two players can choose difficulty independently. In God Hand, the game gets more difficult as your combo meter increases.
  • Robin Hunicke: Players want creativity, collection, complexity, community. (I think; my notes aren’t entirely legible.) Players are trying to do all four in Home, but the environment doesn’t support their efforts enough; she had some rather focused suggestions on how to provide more vehicles for such desires.
  • Eric Zimmerman: Spontaneous play; he got the whole audience to play a cooperative game.
  • Clint Hocking: He doesn’t like grade inflation, and doesn’t like 100 point scales where the difference between 89 and 90 is much larger than the difference between 90 and 91. He drew an interesting systems diagram linking these two: the 100 point scale makes it easier to have tiny amounts of inflation each year, which adds up over a decade. So he prefers a five-star scale. Which was interesting (and his slides were great), though I’m not really convinced: for one thing, grade inflation doesn’t bother me; for another reason, the term “grade inflation” comes from a five-star scale, namely A/B/C/D/F.
  • Jenova Chen: He had a pie chart dividing experiences into intellectual, emotional, and social, with some interesting examples of art forms whose sweet spot is at various places within one of those or on the border. Games are still pretty weak on the social side.
  • Frank Lantz: Started of with saying that “games aren’t a form of media”. And then he proceeded to justify it by starting with statements that made me roll my eyes but somehow transitioned to statements that made a lot more sense; I wish I’d caught the transition from the one to the other.
  • Jane McGonigal. CZADOF: Confucius, the Zombie Apocalypse, Dance Off, and Fractions. All things we should strive for in games; the Confucius bit was related to a notion of “jen”, which means something like kindness.

10:30am: Kojima’s keynote. Mostly banal: you can climb over an impossible game design wall through a combination of improved hardware, improved software, and design. Slightly less banal: you can also overcome it by walking around the wall, climbing a different (and lower) wall. Subtext that’s particularly interesting in today’s landscape: Mario can jump higher than any of us.

1:30pm: Creating Replayable Cooperative Experiences, basically a lot of discussion of Left 4 Dead design decisions; I now have an overwhelming desire to go out and play that game some more. Some notes:

  • Successful coop games have legs; with L4D, Valve was trying to design a game where playing cooperatively is the only successful strategy. So, from a design point of view, they treat the entire team as a unit, and make sure that, if one player becomes isolated, that player will die. But they want to do this without being too heavy-handed.
  • Zombie movies provide an familiar framework whose conventions reinforce the importance of cooperation. (E.g. jerks go off alone and die a horrible death.)
  • The special infected all exist to solve specific problems, as well as adding variety. The hunter will kill off stragglers/lone wolf players. The smoker will also do that, but will also add chaos to tightly coordinated teams that are at risk of being so good that the gameplay gets dull, because all of a sudden one team member gets dragged far away. The boomer teaches you to be careful where you shoot, and sets up some dramatic anticipation (about which more later).
  • Special infected’s incapacitating attacks, besides creating a fear of separation, also give characters an opportunity to be the hero; also, helping is fun! Ditto for other situations where people are helpless/incapacitated (e.g. hanging from a ledge, or health dropped to zero).
  • And then there are the boss zombies: they give the strongest “oh, shit!” moments in the game, lead to more dramatic anticipation, and make the team talk and re-evaluate their tactics. The tank halts your forward momentum, forces you into a defensive instead of an attacking mode, and its throw makes you re-evaluate your environment; the witch really teaches you to be careful where you shoot (and point your flashlight!), and adds a stealth mode to the gameplay.
  • Characters’ automatic vocalizations in the games have three roles: they provide situational awareness (“The Hunter’s got Zoey!”), they tell you about short-term goals (“The subway is just up the street”), and provide a baseline level of cameraderie (“Thanks for that” after healing a teammate).
  • Limited critical resources might be expected to discourage sharing; in fact, they end up encouraging sharing, because you really need to keep everybody alive. Also, healing other people helps break the ice.
  • They spend a lot of time thinking about dramatic anticipation: key events are signaled in advance, so you have a few seconds when you know that something bad is going to happen and are (pleasantly) panicked. All the special infected have their own noise to signal their presence; in particular, the witch’s cry and the tank’s stomp let you know that bad things are going to happen soon. Or when you get vomited on by a boomer, you know that a horde is going to descend upon you in a few seconds. And then there’s the end of the game, when you’ve made contact with the rescue vehicle: you know that hordes (and tanks) are going to be attacking, and you’re first counting off the seconds until that happens and then the minutes until the vehicle actually arrives.
  • They like structural unpredictability: very dramatic events with low predictability leads to an experience that is always good and that, at its best, can be quite memorable. There are many possible dramatic scenarios (basically all procedurally generated rather than scripted), but only a few will happen in any given run.
  • They strive for alternating peaks and valleys in your emotional experience; their Counter-Strike experience shows that this works well. They start with a baseline scenario that’s randomly generated but that fits this model. And then they add in a model for players’ emotional intensity (updated in response to what actually happens), and use this as a second level of tweaking. This latter leads to a state machine where they’re building up intensity, then sustaining peak intensity for 3-5 seconds, then playing out the current scenario as the peak fades, then relaxing for 30-45 seconds. (Or until you’ve travelled far enough since the last peak.)
  • The bosses aren’t affected by the emotional intensity model, though: they have a different random model for those two zombie types, which they stick to no matter what excitement has happened recently.
  • If you don’t have four players, then you can fill the extra spots by bots. This is useful for three reasons: for one thing, the game designers can assume that there are always four players present, making their task easier. For another thing, the scenarios are long enough that it’s useful to let players drop in and drop out. And the third is an area dear to my heart: they use it for automated testing, by letting the game run with bots overnight to uncover bugs!

3:00pm: Helping Your Players Feel Smart: Puzzles as User Interface, by Randy Smith. Puzzles are great: they let players feel smart, they let players feel actively involved in their progress through the game, and they provide a change in pace in gameplay. Except that they often lead to players feeling dumb: if you don’t help players enough, they can’t solve the puzzle, but if you help players too much, they feel like they must be idiots to be treated that way.

He then presented some notions from user-centered design. Specifically:

  • Visibility: Players should know that key parts to the puzzle exist! This applies to steps in solving a puzzle, not just the objects. Of course, sometimes you’ll want to obscure some of that—these are puzzles, after all.
  • Affordances: Players have notions of what they can and can’t do with an object; if they have the wrong ideas, puzzles will be mystifying, while deducing less-visible affordances can be a key step in solving a puzzle. (Oh, that platform can move!)
  • Visual Language: It helps to have consistent cues as to what objects are interactive and what aren’t, and what their affordances are.
  • Feedback: Communicate what has changed after an action. Or what hasn’t changed: explicit negative feedback is very useful, too.
  • Mapping: Which objects map to what? My notes here aren’t very clear, alas…
  • Conceptual Models: An important part of puzzle solving is coming up with a model of how a system works under the hood.

He then talked about puzzle structures: the steps players go through to solve the puzzle. (Important: a list of steps, not a list of objects.) Combine this with playtest data to improve the quality of your puzzles, in two ways: if people are wandering around aimlessly off of the path given by the puzzle structure, then apply the above notions to make the right path clearer. Whereas if people are actively on a path that is a plausible puzzle structure but not one that will actually solve your puzzle, then make the negative feedback more explicit so they’ll realize that they’re going down an ineffective route. E.g. if there’s a switch at the floor and people are shooting at it instead of putting something on it, then you can increase your negative feedback by having your shots bounce off the switch in a particularly obvious way, and you can also raise the switch to make it more obviously a pressure switch, increasing its depressability affordance.

If you do this well, you get guidance on demand. Some players players will solve the puzzle quickly, and they’ll feel smart because they weren’t given excessive hints. But players who take a longer time will get more information through their interactions with their environments, so they’ll also feel smart because they used that information effectively! Either outcome is much better than dumbing down puzzles or deciding what hints to give in advance.

4:30pm: But What I Really Want to Do is Make Games. I went to the panel because there’s some amount of truth in the title for me; I’m not sure what I expected to get out of it, though, and indeed I didn’t get much out of it.

And in just under an hour I’ll be having dinner with a bunch of interesting people; very much looking forward to that!

gdc 2009: wednesday

March 25th, 2009

Notes from today:

9:00am: Iwata’s Keynote. The part I enjoyed the most was his discussion of Miyamoto’s development style. I wish I’d taken better notes on one slide in particular; a few things he talked about:

  • No design documents. Instead, they depend on personal communication among small teams.
  • They use very focused prototypes. These are designed to answer some specific question about how the game might work, and ruthlessly omit anything that’s not necessary for that. (He showed an example of a Wii Sports Boxing prototype that just had cubes fighting: the only point there was to test fighting mechanisms involving wiimote/nunchuck controls.)
  • They spend a lot of time on these prototypes; by the time they’re done with those, they’re pretty confident in how the game will work and that it will work well. (Though surprises happen nonetheless.)
  • Frequently, the prototypes reveal difficulties and are discarded. Sometimes those prototypes can reappear years later.
  • Miyamoto will grab employees in the hallway, have them play a game, and watch from over their shoulder, seeing how they react to various aspects of the game.

I’m trying to figure out how to link this to lean/agile thoughts. (Because, of course, everything I care about must be related!) Certainly the emphasis on personal communication is right up there in agile land, as is the emphasis on prototypes and iteration. But I see a strong lean flavor here, too: the focussed prototypes designed to answer a single question remind me somehow of A3 reports. And the early, exhaustive prototyping reminds me of set-based development, too: you spend a lot of time exploring different solutions up front; it’s a lot of work, and takes a lot of time, but leads to a design that allows you to confidently hit the ground running once you’ve worked that out. And, as with set-based design, solutions that aren’t adopted for one project aren’t thrown away, they’re shelved in a way that lets them remain accessible for future use.

I would complain about the product announcement parts of the keynote, except that I’m happy enough to have gotten a free prerelease copy of Rhythm Heaven. I also had a quite pleasant chat afterwards with somebody I didn’t know and whose name I’ve forgotten (sorry, I’m bad with names); he doesn’t have a blog yet, but if he’s reading this, please start one! (Update: his name was Joe Osborn.)

10:30am: Evolving Game Design. I went to hear Ueda and Suda 51, but they didn’t have much to say; Emil Pagliarulo (Fallout 3) was better, but it was still the talk I got the least out of today. I got to meet Michael Abbott in person, though!

12:00pm: Threaded AI for the Win!. I figured I should give a programming talk a try at some point, and there wasn’t anything else that was pulling me strongly at this time slot. I won’t say it was a great talk, but there was one useful takeaway: a lot of concurrency issues go away if your state at time N depends only on what other objects’ state was at time N-1, instead of their state at time N. For example, don’t worry if you want to move objects in a way that will cause them to collide now: instead, look to see if the movements they just finished doing caused them to already be colliding! (Which reminds me vaguely of the first of Michael Feathers’ Convenient Lies about Functional Programming.)

1:15: I was planning to attend a poster session, but reading the poster made me think I had philosophical objections to what he was going to say, and objections that are boring ones rather than interesting ones. So I had lunch with a bunch of blogger and media types; I won’t try to name them here, since I’m sure I’ll forget some of them if I try, so I’ll just cite Michael’s tweet instead. Very nice to put faces to names!

2:30: My Professor Layton fanboyism led me to attend Level-5’s Techniques to Producing a Hit Game. He talked about how they plan the marketing for the game right from the beginning; at first, I was a bit put off by that, but now I rather like the idea. Part of that process is to come up with three talking points about the game: the good thing here is that those talking points serve as a mechanism for all the people working on the game to align themselves, to help get everybody on the same page. So if marketing works as a way to get a strong vision for a game, I’m all for it.

He also put up some sales numbers; the one that I cared about the most, namely US/Europe Layton numbers, was the only one that he didn’t give details on, but it was over a million. So they have to be localizing the rest of the games in the series, right? One of the audience members asked about that, and he said that yes, they were planning to; no explanation of the holdup, though, so, while I remain cautiously optimistic on that front, I’m also not holding my breath.

4:00pm: Margaret Robertson on Why Your Game Doesn’t Need a Story to be a Hit. By far the most interesting talk of the day; I still haven’t processed it, though, so I’m hoping that somebody else can do a better job of blogging it. Basically, her point is that story mechanisms that we’re using now cost a lot of time and money and don’t have commensurate benefits; a lot of games would get along just as well with much lighter weight mechanisms to provide the benefits that those expensive mechanisms are supposed to have. But that leaves out a lot; good slides, good details, good presentation style.

my gdc schedule

March 20th, 2009

I’m trying to firm up my GDC schedule. (Though, as you will see below, I’m failing miserably in that regard.) For people reading this blog who are going to be there: this is what I look like, please say hi! The only meal I have scheduled right now is dinner on Thursday, if anybody wants to get together.

Wednesday:

Thursday:

Friday:

Any advice? Any sessions I didn’t list that I really should go to?

vgc game 5: chrono trigger

March 18th, 2009

For its fifth game, the Vintage Game Club has chosen Chrono Trigger. We’ll begin our playthrough this Saturday, and I’m really looking forward to it; if you’re interested in joining us, please grab a copy of the game and come on over to the forum!

bye bye, cable tv

March 17th, 2009

Comcast is forcing us to switch over to digital TV soon; given that this will break our DVR, we’re thinking that we should just give up on this whole cable TV idea, and set up a computer as a media center instead.

Conveniently, Apple has just upgraded the Mac mini, so we’re going to go with that. It will replace our current DVD player; we’ll also have iTunes and various web options for video and audio. Never having done this before, though, I’m requesting advice from anybody with experience with this sort of thing.

Some things I’m thinking about:

  • For HD video, we currently have a spare component input and a spare DVI input (no HDMI, the TV is too old for that); it looks like the mini should work fine with the DVI input.
  • For high-quality audio, we currently have a TOS link input; it looks like a simple adapter should let us convert the minijack optical audio port on the mini into TOS link.
  • I am worried about controlling the thing: this is a computer, not an appliance, so we’ll need a keyboard and a mouse substitute. For use from the sofa, we’ll want those to be the same device (i.e. a keyboard with integrated touchpad/trackball/whatever) and for them to be wireless; any suggestions? I found that surprisingly hard to accomplish the last time I was shopping for keyboards. (I have no idea why touchpads are everywhere on laptops but very hard to find otherwise.)
  • Hopefully the Apple remote will work acceptably for watching DVDs, despite its minimalist nature?
  • Any recommendations for good online video sources?
  • Anything else I should be asking about?

Thanks in advance for any and all advice.

random links: march 16, 2009

March 16th, 2009

More links (and older links) than normal this time: Reader has developed a nasty habit of not showing me all the items with a given tag, so I didn’t realize that I hadn’t posted some of these already.

tweetie rocks, and other ipod touch thoughts

March 15th, 2009

Thanks to everybody who game me twitter client recommendations for my iPod Touch; I’ve tried them out, and settled on Tweetie. (Recommended by Shawn Rider.) It’s been successful enough that I immediately stopped launching Twhirl on my Linux machines, and I’ve recently stopped launching Twitterriffic on my Mac.

Others I considered:

  • TwitterFon. It didn’t have any way to grab old messages in the timeline that I saw, and when I tried it, it was only grabbing 20 messages at a time, which combined to make a deal breaker. It seems now to be grabbing more messages than that, but I haven’t seen any reason to go back to it; I still think that not letting me grab old messages is a deal breaker, even with the more generous fetching.
  • Twitterrific. This is what I use for the Mac, and the iPod version is okay. But the send button is immediately above the keyboard, causing me to accidentally send a half-written tweet; also, there’s no way to look at your replies, which I like to do occasionally. (Especially since I want this to be my only twitter client at work.) Also, you have to pay ten bucks if you want to get rid of ads, which is out of line
  • NatsuLion. This one isn’t so bad; its main problem is that it has a notion of “unread messages” that doesn’t work well on the iPod and which is badly implemented (basically, not being properly persistent between views or invocations). So the result is that it’s constantly showing nag numbers in bright red. Otherwise, I would probably happily recommend this client.
  • Tweetsville. I read some good things about it, but I tried Tweetie first, and I was so happy with Tweetie that I decided not to spend the four bucks to see if Tweetsville somehow managed to be even better.

Tweetie has none of these problems. The interface works great: everything I want is right there, and it reliably places me where I left off reading in my timeline. It has access to the full twitter user interface; so if you want a Notes-style minimal application, this isn’t the client for you, but since I’m using it as my primary Twitter client, I appreciate having access to my replies tab and even my follower list. (E.g. so I can try to figure out if a new follower is a spammer or not, and block them if appropriate.) Looking at the screenshots made me worry that an iChat-style bubbles interface is the only option, but there’s also a more traditional interface that’s a lot more economical with your screen space. And I just found the option to turn off multiple accounts support, so I don’t have to look at that screen again. (Of course, for some people, multiple account support might be a bonus.)

So, basically, it’s easy enough to use to become not only my preferred iPod twitter client but to displace the twitter clients on computers that I use. In particular, the iPod keyboard works fine for me; I also find that I prefer not being interrupted by notifications that tweets have arrived, I prefer being in control of my twitter interactions. (I’d already turned off notifications on my twitter clients at work.) And it’s nice to be able to check my tweets when walking Zippy first thing in the morning, too.

Other non-twitter-related notes:

  • This device is wonderful. If you bought another kind of iPod after it was released, then I’m afraid that you made the wrong choice. (Sorry, Dan!) So when I complain below, keep in mind that my overall impression is amazingly positive.
  • The keyboard and browser really do work very well; there are limits, but it’s fine for following at least 95% of the links in tweets, probably 99%.
  • One minor annoyance with the music player: there’s no easy way to pause. With my old iPod, if I was listening to the music in a context where I wanted to be open to interruptions, I’d just leave it unlocked, so pausing was a simple button press; even if it was locked, pausing was flipping a switch followed by a button. Whereas on the Touch, the screen will lock itself automatically, which means that pausing requires pressing a physical button, sliding your finger, and pressing a virtual button: three gestures, one of which is fiddly and two of which can’t be reliably done without looking at the device.
  • Podcasts automatically advance to the next episode, which I find slightly annoying, but I imagine other people would prefer that. Also, if an episode is a multi-segment AAC file, then there’s no easy way to see how much time is left in the whole episode from the default screen. But both of those are more than made up by the fact that the album art is huge and beautiful and that you can see the duration of an episode before you start to play it.
  • Podcast episode notes have also disappeared, which baffles me. Though, fortunately, they’re still there for JapanesePod101 episodes; those folks must be using a different mechanism. (Song lyrics, perhaps?)
  • When I went to the App Store from the device, it wanted to update two of my applications; were both of them really updated over the last week, or did I get old versions when I originally purchased them (via iTunes)? Odd.
  • My car accessories didn’t work properly with the new device. I ended up getting a couple of Griffin AutoPilot devices instead.
  • The battery life isn’t nearly as long as the nano; no big surprise there, and it’s still quite long enough. Though that was definitely an impetus for making sure that our cars had adapters that could charge the iPod, not just play from it.
  • I haven’t taken much advantage of it yet, but I appreciate having a device that’s more autonomous from iTunes. I’m sure at some point I’ll start downloading podcast episodes directly from the iPod, for example, and that I’ll purchase apps directly from it as well.
  • I haven’t tried any games yet, though Zen Bound and Eliss have caught my eye.

boom blox

March 13th, 2009

I’d been thinking of giving Miranda a copy of Mario Kart Wii for Christmas, but Amazon was sold out of copies on the day that I was ordering presents. Rather than hunt for that game at other stores, I went with my second choice, Boom Blox, which turned out to be a quite pleasant alternative.

Most of the discussion I’d heard about the game described it as Jenga combined with a throwing game, with a good physics engine. And, indeed, the physics engine is quite nice. (Physics engines were a bit of a theme for 2008, weren’t they? Speaking of which, I really need to play World of Goo…) What I wasn’t expecting was just how many different gameplay styles there were.

The main story mode has four sections, each of which has three chapters, and each of those has a different gameplay mode, often with further minor variants. So, to elaborate on the “throwing game” theme: at its most basic level, you throw a ball to knock down stacks of crystal blocks. But then there are minor variants: the crystal blocks are typically stacked on top of a tower non-crystal blocks, and you might do better by knocking down the latter, taking down several crystal blocks at once. And if you throw from the right angle, you might knock the tower down in such a way that it falls into another tower, knocking down those blocks as well. (This is where the physics engine comes in; ironically, at times that can make the game a bit frustrating, in that, if you don’t knock down as much as you’re expecting, you’re not sure if it’s because your approach is wrong or because you’ve hit it at just barely the wrong angle for the physics to work.) And there are further types of blocks that can set off explosions, either singly or in combination.

Going slightly further afield, sometimes there are enemies. So you might be throwing balls to knock down the enemies, or to knock down the towers that they’re standing on, or to set off explosions near them. And maybe the enemies are moving towards a central area, so you have a moving target (moving past different potential obstacles) to deal with. Or, in some levels, you might be throwing a bowling ball instead of a rubber ball, decreasing the number of ricochets, and in other levels you have a gun, removing ricochets entirely. And sometimes your goal isn’t even to destroy the environment or attack enemies at all. And that’s without getting into the levels that are based on a completely different mechanic, namely moving blocks instead of throwing stuff!

So: lots of gameplay styles to entertain you. And, to make it even richer, they give you levels of challenge, even within the basic story mode: a given stage might allow you five throws to knock down the crystal blocks, but you’ll get a silver medal if you can do it in three and a gold medal if you can do it in two. So if you find you enjoy a given puzzle type, you can obsess over it a bit more; the physics engine really makes a difference here in the range of solutions that it allows. And if you get enough of the better medals, you can unlock more difficult challenges in that particular play mode.

Of course, the flip side of this variety is that not all the gameplay variants will be to everybody’s tastes, and certain people will find different variants or individual challenges within a single variant much harder than others. On the whole, I think the game did a reasonable job with this: while you did have to go through the story mode in a linear fashion, the bronze levels in the story mode were generally easy enough that you could make progress through it even if you weren’t very good at one of the variants, and if you didn’t like a variant, you’d see something different after a few more stages. Whereas, if you did like a particular variant, you could go for high medals on all the levels with that variant, and unlock more challenging stages for that particular variant. I did bail out right at the very end of the story mode, where I ran into a variant that I found both unpleasant and annoyingly difficult; but I stuck through the vast majority of the story mode, and in fact put in the effort to get gold medals on most of it, and did a fair number of the bonus stages as well.

So: a good lesson in how to provide variety and how to structure challenges. Plus, throwing balls to knock down towers is fun!


Not much discussion of the game in the blogosphere, but I did enjoy reading Manveer Heir’s Design Lesson 101 on the game.

beyond good and evil

March 10th, 2009

The Vintage Game Club chose Beyond Good & Evil as its fourth game. I played the game when it first came out; I enjoyed it, but it didn’t make a big impact on me, and I mentally pigeonholed it as a short Zelda clone.

Still, I was happy enough to have an excuse to replay the game. One reason is that it seems to have a loyal fan base that includes people that I respect; the other is that I almost never replay games, and I’d been wondering if I should reconsider that policy. So replaying the game in company seemed like a pleasant way to address both of those issues.

I enjoyed my second playthrough of the game, no question, and in retrospect my earlier labeling of it as a Zelda clone was unfair. Having said that, I’m still not a convert to the BGE fan club. For better or for worse, I don’t have any grand theories about the game, though, so I’ll fall back on my favorite standby: a sequence of bullet points!

  • One way in which it’s not a Zelda clone: there’s quite a variety of play forms in there. Sure, there’s Zelda-style dungeon exploring and combat; there’s also photography, racing, chasing, being chased, stealth, traditional vehicle shooting, a couple of minigames, and probably some other gameplay mechanics that I’m forgetting.
  • In fact, you could argue that its dominant gameplay mechanic is stealth rather than adventure gaming; I don’t think that’s quite correct, but it’s pretty close. Which made my heart sink when I first realized/remembered that, for reasons that Greg Tanahill has recently done a great job of explaining. Having said that, I didn’t mind the stealth sections too much, even though I both dislike stealth and am not particularly good at it, so I won’t fault the game on that score.
  • Another difference from Zelda games: the world is extremely compact. There are four dungeons, but there’s no overworld, they’re all immediately accessible from the single city in the game. (Incidentally, the city does a nice job of opening up more possibilities for exploration as you progress through it.) Like Dan Bruno, I found that compactness refreshing; having said that, it was also frustrating in that there were parts of the city (the east side, the areas you can fly over) that were charming to look at but where you couldn’t actually get out and explore! (I wonder, were there once plans to flesh out those areas more fully?) I wish the game had given you more places wander in without losing its compactness, its density of experience.
  • Several people have commented on Jade’s relationship with Pey’j, and in particular the power of the scene when Pey’j gets dragged away while Jade is running back, not arriving in time: see, for example, Michael Abbott on the topic. This is doubtless a sign of my heartless nature, but, while I found Pey’j a pleasant enough companion, I didn’t find either the relationship or that cut scene particularly moving. In fact, one of my surprises when replaying the game was how pleasant I found Double-H as a companion: I’d kind of forgotten about him, but I rather enjoyed having him around. The cut scene where Jade discovered that the kids had been taken away did have an impact on me, however: apparently threats to younger generations have a visceral impact on me in a way that threats to older generations don’t. (Having a dog involved didn’t hurt, either.)
  • Which isn’t to say that I think that latter cut scene is particularly well-done, or that the logic behind it makes sense: if they really wanted to stop Jade, they should have threatened to hurt the kids, perhaps actually captured/hurt some of them. That certainly could have raised an interestingly direct moral question; I even wonder if, done right, taking that route could potentially have stopped me from continuing to take down the DomZ? (It probably would in real life.)
  • At least, that’s what I thought right after the cut scene; then, of course, it turns out that they wanted to lure Jade in further, so I guess getting her to go to the moon was part of their clever plan. The big problem with this is that the whole “Jade is a saviour with superhuman powers” aspect of the end of the game was flat out awful: it’s extremely jarring when placed against the rest of the game, and was completely unnecessary. I really do think that having the main character save the world should be enough, even by video game standards, without having to turn her into a Christ figure.
  • In a medium full of works created by white guys, Jade is distinctive in being a non-sexpot female with a hue to her skin. Which was refreshing, and the game did a few things with those breaks from tradition. It presented an optimistic view of a world where our current ethnic differences have ceased to matter, where ethnic differences in general haven’t gone away, but where they’re enriching our lives rather than hurting us. And I liked how Jade had stereotypically female aspects to her behavior (looking after the kids), stereotypically male aspects (fighting), and less-gender-marked aspects (journalism). Having said that, the game could have done a lot more with its non-stereotypical aspects: for example, I’d recently finished Persona 3, and despite playing a male character in that latter game, it puts relationship building (which I think of as female-marked) much more in the front and center.

So: good game, quite well done, especially if you cover your eyes/ears during the cut scenes in the last dungeon. But there wasn’t anything that grabbed me and made me sit up and take notice, either. I’m happy for the VGC to have played through it as our fourth game, but I’m also happy for it to be in the rearview mirror.

(A few blog entries that I found in my trawl that I didn’t work into the above: Greg Tannahill’s thoughts on the game, and two more from Michael Abbott.)

iphone game sites?

March 7th, 2009

What web sites should I be reading if I want to learn about iPhone / iPod Touch games? There are an awful lot of games for the platform already, with a pretty staggering variety, and the web sites that I’m reading now are generally more focused on the traditional console space. So I’m pretty sure that there are a lot of interesting games that I’m completely unaware of and that there are many more to come.

Incidentally, thanks to all of you who chimed in with twitter client recommendations—I’ve downloaded the clients that you recommended and am planning to cycle through them over the next week or two.

game writing and passion

March 6th, 2009

Searching for others’ blog posts about Persona 3 got me exposed to the different kinds of posts people write about games. And I was surprised about the extent to which my search clarified my feelings about what kinds of posts I like.

Generally, the posts fell into a few different categories; I could break them down in a few different ways, but one (not all-inclusive) taxonomy is:

  1. “I’ve just started playing this game, here are a few initial reactions.”
  2. Reviews.
  3. Focused approaches to some theme in the context of the game.

I cherished each example of the third variety that I came across: they invariably got me thinking about the game in a way that I hadn’t before, taught me something new about the game. Unfortunately, they were few and far between. Posts of the first variety, which were much more common, didn’t have a similar impact, but they did at least get me to smile: we’ve all been in that position many times where we’ve just started to play a game, we’re excited by it, and we need to tell somebody about it.

What I wasn’t expecting was my reaction to reviews (which were also quite common): I was generally annoyed by them! This is, I realize, completely unfair: for one thing, that’s what the delete key (or the back button) is for, and for another thing, I simply wasn’t the intended audience for reviews. I’d just finished playing the game, after all, while reviews are targeted at people who are thinking of purchasing the game. Having said that, the more reviews I read (or skimmed, to be honest), the more I wondered why reviews are so common in blogs, who their target audience is, and in what cases I would find them useful. Clearly a lot of people are putting in a fair amount of effort into crafting reviews; to what extent should I follow their lead?

My tentative conclusion to that last question: I should actively avoid writing reviews. I suspect that the reason why so many video game bloggers write them is that we’ve all been exposed to mainstream video game web sites, and reviews are all over the place on those sites. And they’re great there: most of the time, in fact, I think that’s the only useful purpose for mainstream game sites. Clearly other bloggers have spent as much time reading mainstream reviews as I do, because their reviews follow a similar pattern: they lead you through the game play, they talk about “traditional” criteria such as the quality of the graphics or the difficulty or the price, they discuss the plot enough to give you something of a feel for the game while studiously avoiding spoilers.

There are two problems with this approach, though. One is that it tends to give a flat feel to such posts: they follow a relatively narrow template, and, unless the author is rather careful, this means that such posts will feel like a checklist at times. The second problem is that there are a lot of other people out there, including many professional sites, who are following a similar template to you: this means that, by writing traditional review posts, you’re swimming in a red ocean. Concretely, it will probably be the case that anybody reading your review who is actually in the review audience will already have read at least one review for that game from a mainstream site; what are you giving such readers that they won’t have already gotten from that mainstream site?

In my experience, the answer is: not much. Which raises the question of what a poor video game blogger (your humble narrator, for example) is supposed to actually do? Posts of the first variety are pleasant but not particularly satisfying. Posts of the third variety are great, no question about it; I personally however rarely have the energy to write posts like that.

Fortunately, the above taxonomy isn’t inclusive: at the very least, there are hybrids of those three types. Going back to my earlier complaint about reviews: there are two reasons why they almost always feel flat. One is that the author feels compelled to write about certain things that are “supposed” to write about but doesn’t really feel strongly about, so those areas are lacking in energy. The other is that the author feels compelled to not delve in depth into whatever minor aspect happened to have particularly captured her fancy, because that would lead to an unbalanced-reading review.

If, however, we’ve decided that the traditional review structure isn’t, in of itself, a good thing to follow, the latter criticism loses all of its potency, as does the former compulsion. Which leads to the following recommendation, turning both of those points on their head:

  1. Write as much as you want about what speaks to you.
  2. Don’t write anything at all about what doesn’t speak to you.
  3. If the results look weird, if you can’t imagine anybody other than close personal friends being interested in what you are saying, you’re on the right track.

For one thing, you’re simply more likely to write well if you’re writing about something that interests you than if you’re not. You may worry that not many people are interested in what interests you; motivated writing will make up for that to a surprising extent, but even when it fails, consider whom you’re competing against in your search for readers. If you do traditional reviews, you have to compete with thousands of sites, many of which are written by people who have written a hundred times as many reviews as you have, and you’ll have to work extremely hard and be extremely lucky to do a better job than they do. Whereas if you follow your own nose, you’ll have a much smaller potential readership, but a single post that strikes a chord with people who didn’t even know they resonated like that can go a long way. (And, ironically, the more you stay away from a traditional review format, the more you’ll influence others to buy the games you’re passionate about: I know the reasons why I’m interested in, say, Yakuza 2 have nothing to do with reviews that I’ve read of the game and everything to do with little scenes from the game that people felt like they just had to talk about.)

Which looks like it’s leading us back to the third category in my taxonomy above, and if that’s where you end up, great: I’m sure the world needs the definitive post on Shadow of the Colossus furry porn, or whatever topic happens to float your boat. But if you, like me, don’t usually end up quite that focused, that’s fine too: there’s nothing wrong with a hybrid between the first two categories, with a discussion of a game that dives into a few aspects of the game that happened to interest you while studiously ignoring large (or small!) swaths of it.

Michael Abbott recently posted about spoilers, taking the point of view that we should get over our fear of them. When he wrote that, I was largely inclined to agree with him, but I didn’t really understand why: thinking about the issues in this post has clarified that for me. The best pro-spoiler argument (or anti-anti-spoiler argument, I’m not saying spoilers are actively good) isn’t that we should try to imitate discussions of works in other genres, or that we should take a comprehensive approach to games. It’s that we should write about what interests us, that we should write about topics that we have something to say about; the main thing that we would accomplish by putting spoilers off limits is to make our discussion artificially less rich, and why would we want to do that? (See also Michael’s post today about how spending too much time on “games as art” is similarly unproductive compared to personal interpretations of experiences with games.)

So: follow your nose, write about what you’re passionate about, don’t write about what you’re not passionate about, and we’ll all be richer for it.

agile politics of nature

March 3rd, 2009

I’ve recently been reading Bruno Latour‘s Politics of Nature, and have been struck by how well various agile practices fit into his framework. So I want to try to explain his framework (again!), and to explore how agile practices might fit in.

His book begins as a reaction against the split between nature and society, the split between facts and values. He sees in this split a misplaced polemicism: if, for example, these two worlds are separated by a vast gulf, then how is it that scientists, as members of society, manage (quite successfully!) to understand the workings of nature? In place of this split (the “old bicameralism”), Latour proposes a new split (the “new bicameralism”), between the “power to take into account” and the “power to arrange in rank order”.

This isn’t to say that Latour finds the old bicameralism to be completely useless: in particular, he uses both bicameralisms at once to create four quadrants, leading to four requirements, which are, in (temporal) order, “perplexity”, “consultation”, “hierarchy”, and “institution”. The first and last are related to the concept of nature from the old bicameralism, while the middle two are related to society; in the new bicameralism, the first two form the power to take into account, while the last two form the power to arrange in rank order.

To these four requirements, Latour adds two further functions: the separation of powers actively maintains the new bicameralism, the scenarization of the totality works to unify the resulting collective. Finally, the seventh function is the power to follow up, which reminds us that this is an ongoing process rather than a one-time activity that will analyze the world once and for all.

To make these seven functions more concrete, Latour discusses each of them in the context of various professions (scientists, politicians, economists, moralists, administrators); some professions are more associated with one side or the other of the old bicameralism, while some straddle the boundary. I’ll devote one section to each of the functions, giving a brief explanation of that function, a summary of how each of those professions contributes to that function, and ending with a discussion of how that function might be viewed in an agile context.

The Requirement of Perplexity

The first requirement is the requirement of perplexity, also known as the requirement of external reality. It says that “you shall not simplify the number of propositions to be taken into account in the discussion” (p. 109); or “First, the number of candidate entities must not be arbitrarily reduced in the interests of facility or convenience. In other words, nothing must stifle too quickly the perplexity into which the agents find themselves plunged, owing to the emergence of new beings.” (p. 110) In the old bicameralism, it was part of the notion of nature, while in the new bicameralism, it is part of the power to take into account.

Scientists bring to this requirement their remarkable ability to create speech prostheses: they’re wonderfully capable of creating instruments that allow us to be perplexed by the behavior of entities (or candidate propositions, if you like) whose existence we didn’t even suspect a few years prior. Politicians bring their sense of danger to this requirement: if they ignore the wrong people, the wrong facts, they may find themselves out of a job and disgraced before they know it. Economists are particularly sensitive to attachments between humans and nonhumans, increasing the ties between the two as a result. Moralists continually go outside the collective, actively attempting to ensure that those previously excluded have their say. And administrators can keep track of external reality over long periods of time, enabling us to be perplexed by phenomena that we might otherwise miss.

In an agile context, the first thing that the requirement of perplexity brings to mind is tests. An unexpected red bar is a wonderful example of perplexity, a reminder that our intentions of what the software should do aren’t always matched by reality. Like scientists, agilists go out of their way to build pervasive networks of speech prostheses in the form of comprehensive automated test suites. Though there is more to testing than automated tests: perhaps recent discussions of exploratory testing in the community are a reminder of the role of moralists, that we should actively look for the excluded.

Like politicians, agilists also have to have a sense of danger: if what we implement isn’t what potential users want, then we’ll be out of a job. The Customer role is our main defense here: like tests, Customers are a speech prosthesis, this time speaking for humans rather than nonhumans.

The Requirement of Consultation

The second requirement is the requirement of consultation, also known as the requirement of relevance. It says that “You shall make sure that the number of voices that participate in the articulation of propositions is not arbitrarily short-circuited.” (p. 109) Alternatively, “the number of those which participate in this process of perplexing must not itself be limited too quickly or too arbitrarily. The discussion would of course be accelerated, but its outcome would become too easy. It would lack broader consultation, the only form capable of verifying the importance and the qualification of the new entities. On the contrary, it is necessary to make sure that reliable witnesses, assured opinions, credible spokespersons have been summoned up, thanks to a long effort of investigation and provocation (in the etymological sense of “production of voices”).” (p. 110) In the old bicameralism, it was part of the notion of society, while in the new bicameralism, is is part of the power to take into account.

Scientists consult their colleagues through a process of peer review, and ease this consultation through descriptions of their experiments that are precise enough to be replicable. Politicians can really shine here, discussing matters with a whole range of people and groups who might be affected my the matter at hand. Economists can use their practice of attaching a value to interactions to smoke out stakeholders that might be ignored otherwise. Moralists can make sure that the people who are affected by a problem get to chime in, instead of leaving decisions solely up to the traditional powers that be. And administrators help ensure appropriate consultation by verifying the credentials of those wishing to participate.

And agilists? Certainly having a Customer make the business decisions is a big step up from, say, having engineers make those decisions. Of course, you don’t want the business side to go so far as to make decisions without appropriately consulting the engineering side; to that end, having the engineering team in charge of primarily technical decisions is probably consistent with this requirement. In general, I think collective code ownership is aligned with this requirement as well: given that database changes affect everybody working with the data, for example, you don’t want to give a DBA magical powers over them. And retrospectives give a forum where the whole team can be consulted on areas that matter to all of them.

Having said that, I’m not entirely comfortable that the agile role of a Customer does adequate justice to the requirement of perplexity. There are a lot of people outside the engineering team who will be affected by non-engineering design decisions; putting all of them behind a single Customer point of decision doesn’t fit the requirement of relevance, to me. I’m not saying that having a single Customer decision maker is bad—this requirement doesn’t mean that everybody has to have a direct say in every decision, just that they have to be consulted—but there’s a whole lot of consulting that has to go on behind the Customer’s decisions to fit this requirement. And agile is neutral on that: a non-consulting Customer is just as consistent with agile practices than a broadly-consulting one.

The Requirement of Hierarchy

The third requirement is the requirement of hierarchy, also known as the requirement of publicity. It says that “you shall discuss the compatibility of new propositions with those which are already instituted, in such a way as to maintain them all in the same common world that will give them their legitimate place” (p. 109), or that “no new entity can be accepted in the common world without concern for its compatibility with those which already have their place there. It is forbidden, for example, to banish all the secondary qualities by an ultimatum, on the pretext that one already possesses the primary qualities that have become, without due process, the only ingredients of the common world. An explicit work of hierarchization through compromise and accommodation makes it possible to take in, as it were, the novelty of the beings that the work of taking into account would risk multiplying.” (p. 110) In the old bicameralism, it was part of the notion of society, while in the new bicameralism, is is part of the power to arrange in rank order.

The example that Latour gives of this requirement for scientists is their ability to come up with potential compromises through innovations: pig organs might give a way around some of the moral concerns pitting human transplant recipients against their potential donors. If I’m understanding the requirement correctly, scientists also have examples within their own discipline: if you’re trying to overthrow an existing theory, you have to treat the phenomena that it can explain with appropriate respect. Politicians satisfy this requirement in a more straightforward method: they must always compromise in order to get bills passed, to have the government continue to run. Economists can make a whole range of phenomena commensurable, by discussing them in financial terms. The very process of moralizing involves establishing a hierarchy, making judgments of how entities fit into a common framework. And administrators have recorded the previous hierarchization decisions, giving us the framework to enable us to discuss the new hierarchization.

The first agile example that comes to mind here is the existence of your test suite, thought of as regression tests: that’s a very stark example of new entities having to show concern for existing entities. They don’t mean that the world is rigid, that existing features can never change; but if you want to make a change, you’ll have a red bar which you’ll have to explicitly decide how to turn green again. I suspect that the notion that the Customer decides business issues while developers decide engineering issues is consistent with this requirement; certainly the idea that you have a single linearly-ordered stack of incoming stories to implement is. Perhaps Kent Beck’s rules of simple design could also be seen through this prism?

The Requirement of Institution

The fourth requirement is the requirement of institution, also known as the requirement of closure. It says that “Once the propositions have been instituted, you shall no longer question their legitimate presence at the heart of collective life” (p. 109), or that “once the discussion is closed and a hierarchy established, the discussion must not be reopened, and one must be able to use the obvious presence of these states of the world as indisputable premises for all the reasoning to come. Without this requirement of institution, the discussion would never come to an end, and one would never succeed in knowing in what common, self-evident, certain world collective life ought to take place.” (p. 111) In the old bicameralism, it was part of the notion of “fact”; in the new bicameralism, it’s part of the power to arrange in rank order.

Scientists are very good at instituting propositions, at reaching a consensus on a theory and then building upon it. Politicians institute the results of their work in the form of laws; they are willing to bring closure by making enemies instead of trying to keep everybody their friend. Economists document the results of their deliberations in the form of measurements and calculations which can be used to make further decisions. Moralists, perhaps, help us understand the boundaries of institution through their concern for those who are left on the outside. And administrators ensure that the procedures are followed so that the institution happens according to due process.

Agilists have a few tools in this regard. The Scrum notion that you can’t add anything to a sprint once it’s begun is a form of closure, as is the existence of a Customer who has final say on business matters. The existence of an acceptance test suite that isn’t allowed to go red is a manifestation of institution. And agile teams generally have a specific process that they follow (perhaps one of the standard processes combined with local adaptations); that process, together with the idea that you can only alter it through an explicit process (retrospectives, typically) also brings closure to discussions of what to do, instituting the results.

Separation of Powers

The first four functions led us through the process of constructing the collective, leading through the quadrants that were formed by analyzing candidate propositions both through the old bicameralism (facts versus values) and the new bicameralism (the power to take into account and the power to arrange in rank order). The fifth function focuses explicitly on this new bicameralism: it is the separation of powers, “the maintenance of the separation or shuttle between the power to take into account and the power to put in order.” (p. 137)

Scientists bring to this function their tradition of autonomy: you can’t ignore something because it’s not part of the current version of the collective. The very notion of separation of powers comes from the political tradition. Economists are a bit harder to analyze in these terms; Latour’s claim is that their extreme simplifications of attachments between entities helps preserve this separation of powers, but I don’t completely understand his argument. Moralists emphasize the relation between the two houses by concentrating on the shuttle between them rather than the separation: decisions made in the ordering will have effects that we’ll have to take into account. And administrators will be unable to effectively coordinate activities and ensure that proper procedures are followed unless they keep track of which actions are within the one house, which within the other.

Agilists have several rhythms that, I think, fit well into this separation. Perhaps the red bar could be thought of as within the power to take into account, refactoring could be thought of as arranging in rank ordering, and the green bar is the shuttle from the first house to the second? Frequent releases are part of the shuttle from the second house back to the first. I mentioned the Scrum notion that you can’t add anything to an iteration once it’s begun back with the forth requirement (that of closure), but perhaps it fits better here, as part of the separation of powers? At first I thought that the customer / engineering split was part of this separation of powers, but now I’m dubious about that: it’s a separation of powers, certainly, but I don’t think it’s this one, because I don’t think either the Customer or the developers fit in one or the other of the houses.

Scenarization of the Totality

The sixth function is that of scenarization of the totality: “instead of starting from an already-constituted unity (nature or society), the various skills (of the sciences, politics, government, and so on) propose scenarios of unification that are all provisional and that the reconsideration of the collective will quickly make obsolete”. (pp. 248–249)

Scientists package all their individual findings into grand theories, grand narratives, happily rewriting past discoveries into a new narrative structure based on their latest understanding. Politicians are at their most effective when using a narrative that resonates with as many people as possible. Economists provide a scenario for the collective through their model of interactions, through what that model takes into account and what it excludes. Moralists I have a harder time with; my first inclination is that their grand moral statements provide scenarios, but Latour suggests that I’m misreading the intent of this function, giving them instead a role similar to their role in the requirement of closure, as a sort of loyal opposition to the very idea. And unless I’m missing something, Latour doesn’t even propose a role for administrators in this sixth function.

For agilists, that most obscure XP practice of Metaphor is doubtless relevant here. I suspect that refactoring as a whole is: for example, ensuring that each relevant concept lives in one and only one place in the code is a miniature bit of scenarization here. And I suspect that there’s a gap here in agile practices on the Customer side: an effective scenarization is an essential part in presenting your product to its buyers and users, as is the ability to change scenarios as the product evolves.

The Power to Follow up

The seventh and last function is the power to follow up. The journey through the first four requirements isn’t a one-time thing, leading to a collective that has reached its final form. Instead, the resulting collective is a provisional construct, and those placed outside the collective at the end (“enemies”) are there to perplex us, kicking off a new round in which they are candidate members of the perspective at the end of the next cycle.

Scientists bring to this the notion of a research front: the end of one experiment and its analysis suggests many more candidate experiments to carry out. Politicians bring an awareness of changing power relationships: the slogans that got them to power may be as likely to disgrace them two years later. Economists continuously measure the health of a system, its booms and busts and the shifts from one area of the economy to another. Moralists are always on the lookout for areas where we aren’t living up to our ideals, are seeking to represent those who have been previously excluded. And administrators bring continuity to this whole process, making sure that we follow up according to our protocols.

For agilists, this power is embodied in the concept of the iteration or, more generally, the various cycles (minute by minute, hour by hour, day by day, week by week) that pervade an agile product. We know as well as anybody that all decisions are provisional: the code that we write to get a test to pass this minute may look quite different fifteen minutes later after we’ve gotten another five tests to pass. The candidate features that have been excluded from this sprint may well be added to the next sprint; alternatively, our experiences over the course of this sprint may bring new candidate features to the fore that we hadn’t dreamed of a day ago. The composition of the collective is constantly in flux: the release that users are using today will differ, perhaps subtly and perhaps remarkably, from the release that they’ll use next month, next week, or at times even an hour from now.

This power is also at the core of the agile desire for clean code. We know that we’ll be going through this process many more times; we want to make sure that our pace through this process doesn’t slow, that our power to follow up doesn’t weaken. More subtly, the agile obsession with the notion of “done” plays into this power: we want to know when we’re following up and when we’re going through the various requirements, and the sharp boundary of doneness is an essential tool in that regard.

Final Thoughts

Looking back through the previous sections, in general I think agile comes off pretty well. Our tests serve us well right at the start, by giving us speech prostheses to detect entities that would otherwise be hidden within the software, and they also assist with the requirements of hierarchy and institution. And our appreciation of the power of iteration is an excellent embodiment of the power to follow up.

There are gaps, however. In particular, I think we’re weaker than we could be when it comes to the requirement of consultation: having genuine customer involvement is much better than having developers make business decisions on their own, and having the developers use velocity as a metric to inform the pace of development is much better than having a product manager try to decide both what goes into the product and the date at which the product will be released. But the idea that a single Customer makes all business decisions is a mockery of the notion of consultation, of seeking out appropriate spokespeople; while nothing forbids the Customer from consulting appropriately, surely we could give more assistance in that regard?

Looking through the examples that Latour gives from other professions, I wonder what agile could learn from them. I think we’ve done a reasonable job at learning from scientists, and even from some of the other professions (e.g. our focus on a few key metrics has something to do with the virtues that economists bring to this enterprise), but not from all of them. In particular, I suspect that digging into the contributions of politicians would be fruitful: like politicians, we have to win a contest by successfully navigating the desires of various interest groups (both internal and internal), so perhaps we should pay more attention to their skills.

As always, I suspect that lean has much to teach us. The single Product Owner doesn’t bother me in the way that the single Customer does, because the Product Owner’s role is symmetric across business and engineering. Set-based development is one answer to the requirement of consultation: it helps ensure that we don’t cut off discussion prematurely. Going to the gemba comes straight out of that requirement: if you’re perplexed about something, go to where that something exists, consulting with both humans and nonhumans who are located there.