[ Content | Sidebar ]

idea factory workshop at agile 2009

April 27th, 2009

I was pleased to learn last week that the workshop that Brian Marick and I proposed for Agile 2009 has been accepted. It’s titled “Idea Factory”; since that link goes to a page behind a login barrier, I’ll just reproduce the description here.

Summary

Ever heard a programmer say “I think the code’s trying to tell us something”? A joke, right? A metaphor. There’s a social world, where people tell people things, and there’s a world of objects that, at most, exert passive pressure.

But what if we deny that the two worlds are separate? What if we treat everything as a moving mashup of objects, ideas, individuals, and groups? This workshop will present some recent perspectives from sociology on that question, and will ask participants the following: if you believed in one of those perspectives, what would you do differently on your project?

Process/Mechanics

We will repeat the following N times:

  • We will summarize a theory from sociology. During the summary, the two moderators will talk to each other as a way to encourage the audience to ask clarifying questions.
  • The introduction to the next section is: “OK. Lay aside your skepticism. Assume the theory is true. What should you do differently on your project? Shout out ideas.”
  • Like a brainstorming session, our goal is not to criticize ideas but to generate them. Unlike a brainstorming session, we’ll allow discussion of an idea with the aim of understanding it better or building upon it. We’ll also allow clarifying questions about the theory itself.
  • The discussion will continue until it begins to die down. The moderators will try to cut it short a little before people are fully ready to move on. (“Always leave them wanting more.”)

The exact workshop mechanics will depend on the crowd. If the crowd is small enough and lively enough, we’ll work as a single group. If that appears infeasible or doesn’t seem to be generating enough ideas, we’ll move into small group discussions with the moderators circulating through the groups answering or asking questions and helping people generate ideas. (Because of the latter possibility, we’ll want seating in the rounds.)

It’s entirely likely we won’t exhaust our fund of theories. That’s OK. (“Always leave them wanting more…”)

Learning outcomes

  • Callon & Latour’s actor-network theory
  • Star & Greisemer’s boundary objects
  • Galison’s trading zones
  • Fujimura’s packages

jobs and roles

April 18th, 2009

One of my goals in going to GDC was to get a feel for what the industry is like on the inside. I think I succeeded in that, to some extent; what I wasn’t expecting, however, what that I’d learn so much about what I like about my current job, and about things to keep in mind whether or not I eventually move professionally in a game-related direction.

The talk that did the most to crystallize these thoughts was the Harmonix one. The speaker started the talk off by addressing the issue that everybody at the company has an idea of how the games should work, should evolve; rather than treating this as an imposition (how dare those programmers tell the designers what the game should be like!), they apparently treat this as an opportunity, a resource. This doesn’t mean that they let everybody go off and stick their own ideas into the game—indeed, most of the talk was about addressing that tension, about how to get a coherent game in the face of so many cooks. But what it made me realize is: I’m totally one of those people who has opinions about everything, and who gets unhappy if his opinions get brushed off. (I’m quite happy to have my opinions argued against and discarded after due consideration, though!) So I’d better spend my time working at companies like Harmonix.

And that has nothing to do with the video game industry: on any but the smallest project, there will be multiple voices that want to be heard, that (in my opinion) deserve to be heard. One of the reasons why I’ve stayed with my current job for so long (coming up on six years!) is that I’ve never (or at least rarely) felt that my voice wasn’t heard: people have given my ideas due consideration, and a reasonable number of them have been adopted by the project. (And a reasonable number have been discarded, too. That’s okay. Incidentally, none of what I’m saying here should be taken as arguing against the agile idea that there’s a Customer who ultimately decides what goes into the project: I have nothing against somebody other than myself having final authority over certain decisions, I just want those decisions to be made after appropriate Consultation.)

This also shed some light on the sort of organizational role that I’d prefer. For the last four and a half years, if I’m counting correctly, I’ve been managing people, but I’ve maintained a job label that puts me in Sun’s engineering track rather than it’s manager track. And this isn’t just a conceit: I will immodestly suggest that I know the details of our product’s code as well as anybody, and I’ve touched the code quite regularly over the course of those years. (And continue to do so: some of the back story behind my last post is my thinking that I should increase my technical efforts in certain areas.)

This puts me in an uncomfortable position career-wise: I like what I’m doing now, with a foot in the programming world and a foot in the managerial world, and I’m all-too-well aware that the vast majority of jobs out there make you choose the one or the other. And I won’t rule out the possibility that I’ll eventually leave the programming world entirely—in particular, I’m getting more and more curious about how organizational change works, which fits better in the managerial world. (This is one of the ways in which my current job continues to hold my interest: over the last half-year or year, I’ve gotten to talk to more people in other parts of the organization, and started thinking about how we might do things differently.)

But, for the time being, I think the main aspect that I like about being a manager is that it makes it a bit easier for my voice to be heard, about the organization of the team as well as the organization of the code. And this brings me back to the thoughts at the start of this blog post: I’m pretty sure that I’d be happy in any sort of position where my thoughts were heard, irrespective of whatever formal power my position within the organization gave me. So I shouldn’t be thinking about being a manager versus being an individual contributor: from the former, I should take the idea that I want to be heard, and from the latter I should take the idea that I want to be in touch with the beauty of the details of what I’m working on. And wherever that leads me is okay.

Back to GDC and the video game industry: in the GDC Confab, Michael asked me if I was thinking of entering the gaming industry; my answer was that I wasn’t sure, and one big worry I had was the industry’s belief that it’s appropriate to force people to work extremely long hours. (I didn’t have anything to say at the time about the “But What I Really Want to Do Is Make Games” panel, but one of the comments that’s stuck with me was a panelist saying, basically, games journalists are already used to working ridiculous hours, so that’s a way in which they fit right into the game development world!) I don’t think that’s a good way to produce software in general—I’m pretty sure I can’t maintain disciplined, creative thoughts on one project for more than 40 hours a week—but even if it were, I’m not so obsessed with my career that I’m willing to let it dominate all other aspects of my life, my family in particular. I’ve recently heard the statistic claimed that the average amount of time people spend in the game development industry as a whole is five years, while I’ve already been at a single job for longer than that; the humane working conditions are a big part of that, and any industry would have a hard time learning and growing if it churns through its workers as quickly as the games industry apparently does.

It is certainly the case, however, that a lot of what I saw at GDC excited me. People were talking about all sorts of interesting things, things that I don’t necessarily get a chance to think about so much in my current job. And its artistic nature is a big draw for me: I’d like to work on something beautiful, something that nourishes my soul. Though, to be sure, code can be beautiful and nourish my soul, even if the beauty is hidden within the product: it may well be the case that I’d get more out of revealing the beauty hidden within some of our code at work than working on something more overtly artistic! Also, working on games would be a change of pace, which I like; I’m sure the fact that my role at work has changed significantly every year or two is one of the big reasons why I’m still there. (And has been changing again over the last year, the last few months, even seeing the seeds of new ideas over the last couple of weeks.)

If I had to say what sort of position appeals to me most right now, here’s a stab at what my list would look like:

  • I’d be getting my hands dirty with software
  • but would be able to think and talk about aspects of the product beyond just the code
  • (and have people listen to me!)
  • including the structure of the organization.
  • (Said organization would ideally be small,
  • and in particular I’d be on a small team.)
  • That structure would be an agile one
  • or, better/broader yet, a lean one,
  • including working at a Sustainable Pace.
  • (Working close to home would be good, too.)
  • The product would be a work of art
  • (a game would be nice),
  • working on it would nourish my soul.
  • And I’d be learning something new,
  • both technologically
  • and at a domain level.

Which is a lot to ask for. (But if there are any companies in Mountain View using agile methods to write soul-nourishing games in Erlang, please get in touch!) In the mean time, I’m doing pretty well on that checklist right now…

inbox zero and technical debt

April 17th, 2009

About 10 minutes into a talk he gave at the Philadelphia library, David Allen says:

A lot of it was based upon my experience getting a black belt in karate. … One of the things you need to learn is the strategic value of clear space. Trust me, when four people jump you in a dark alley, you do not want to have your brain wrapped around 3000 e-mails sitting in your in basket. That’s why, when I’m not doing anything else, folks, I’m cleaning up e-mail to zero: if I’m not exactly sure there’s something mission-critical I need to be doing right now, I am cleaning up.

Why? Because there is a surprise coming toward me I can’t see, and when that sucker hits, tonight, it might be landing while I’m speaking, … when that surprise hits, do you want to have still a lot of unconsciously accepted but not clarified agreements with yourself that you don’t know exactly what it means but it might be important and then suddenly having more stuff come in on you? That’s why interruption and surprise is becoming such a stresser these days, simply because most people have such a backlog of stuff that those surprises are hitting on huge backlogs so you have a subliminal sense of angst, you’re going to have a level there that is not clear to engage with that appropriately.

Which is a great argument for paying down your technical debt, too. If there’s one thing you can be sure about when working on legacy code, it’s that surprises are going to hit you when you don’t expect them. And, when that happens, you’ll be so much better off if you have a relatively small backlog of technical debt to work with. Whereas, if your code has “a lot of unconsciously accepted but not clarified agreements with [itself]” (where “not clarified” can mean untested, it can mean tested but badly structured, it can mean code that only one person knows how to work with), then your sense of angst will be far from subliminal, and you won’t be able to engage with the code appropriately to solve your problem.

Incidentally, about 50 minutes into the talk, he mentioned that he’s started generating a tentative daily plan. He’d previously recommended against that, since one unexpected event can and probably will change the course of your entire day, but now he’s finding it useful to structure his day by picking up a few candidate high-priority items, while accepting that events may cause that plan to change. Which I was glad to hear, because I’ve been doing that at work for a few months, and am quite happy with the results. Though he also says that he didn’t need to do that until a year ago; I’m quite sure that I’m less busy now than he was a year ago, which suggests that I’m having problems with managing my commitments and next actions.

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.)