Wednesday, February 20, 2008

The XNA Game Studio AI Challenge (or, The Art of Doing a Thing)

Think arrangement. Coordination. A Thing. You're with me, right?

Qu'est-ce que c'est? You're right – I'll explain.

Seats. Computers. Network cable. TVs. Signs. Hundreds of spectators. It wasn't that long ago that I looked at these elements in a disparate way – took the glue of the thing out, factored it right out – and saw instead a discrete point where I fit. Where the specific set of skills met a specific criterion for applying, it glowed, it said plug in. Beyond that, it was silent. No pushing beyond, no coordination to bigger, better things.

That worked for about two years, maybe three.

It started simple. I planned parties at my place. Made notes on the whiteboard about who was bringing the "lite" beer, the bratwursts, made question marks by the people that were tentative – I ended up with best-case worst-case counts and food arrangements for my own birthday party, because I wanted that kind of organization. No cracks, no places where people would run into a problem they couldn't solve and look around with that lost expression that just screams out that they're just not feelin' it.

I knew it then, I was talking about putting together a Thing. Let's step back and define this.

thing (ˈthiŋ): noun. a matter of concern what takes a certain size (t) of what-have-you, a length of time beyond x whenever, a given critical whatszit (y), and z wrangling of human beings to Make It Go.

Examples of a Thing: Shuttle launch, ladder badminton tournament, three-family Christmas, rock concert.

Examples of Not a Thing: Calling your masseuse, planting a flower (single), sending a Thanksgiving card, drawing a dragon (poorly).

So, sailing: that's a Thing. The instant I stepped into the O'Day 27 with the kitchenette you just didn't want to touch, backwards and missing instruments, smoky outboard engine, I knew something was going to happen with me. I imagined bigger boats, week-long treks, meals, and unforgettable evenings under the spell of sunsets. I spent money, I spent time, I passed tests, and before a year was out, I was hip-deep in self-made Visio charts, planning Bahamian cruises, San Juan adventures, and every single one of my one-hundred cruises since that day was officially a Thing.

And there was last year's GDC, and Europe, and all the workshops in between with their kickoffs and their checkpoints and their post-mortems, these, they were Things.

Today, it's a brand-new challenge, two months in the making, for this year's Game Developers Conference here in San Francisco. And I'm pleased to report that, once again, we're talking on the order of a Thing. The XNA Game Studio AI Challenge.

In Closure in Copenhagen, I alluded that it was the power of consensus that drove it home for me; XNA had earned its stripes by the gauntlet of the Community – through fire and flame, XNA had been stretched, torn apart, beat into every shape, rolled flat, and ultimately came out a winner – a genuine What People Want.

The XNA Game Studio AI Challenge was a push forward on that concept – what can we bring that leverages XNA that's got appeal – developer appeal, crowd appeal, something for everyone?

Without taking too much of your time, I'll tell you that they called me up on this one. Told me to go be a PM (Program Manager) on this for a while. Today was our first competition day at GDC, and it's been an amazing ride so far. Our first day we had hundreds of visitors, thirty-two competitors, and eight finalists with amazing AI bots that drove the crowd wild. And, we now have a full slate of competitors signed up for tomorrow – all remaining thirty-two spots are completely booked.

I figure I'm posting this as not only a plug for the continued success of XNA as a platform, but also as a personal touchstone as I realize that a PM's mantra – for me, anyway – really comes down to being the person that coordinates, administers, and seeks constant improvement, and their unit of currency – that atomic count of what they live and die by – is a Thing.

Can I put together a Thing? Can I Make it Go? While the jury's not in on the endgame – there's still all day tomorrow and the Finals tomorrow night – this Thing does indeed Go. And that makes me happy, it makes me confident, it makes me want to continue to reach higher, broader, bigger.

To all that made this first day spectacular – including our competitors and spectators – thank you! See you tomorrow!

Labels: , , , , , ,

Friday, March 09, 2007

GDC 2007 - Finished

My work in the City by the Bay is done. Fin. Beendet.

Overall, the workshops I came down to do went incredibly well. These were XNA Game Studio Express Hands-On Workshops: designed for people to sit down with a PC and an Xbox 360 and make a game, following my instruction up on two big screens. Two hours in length, I had originally intended them to go for one hour of guided instruction, then an hour of self-directed exploration.

One hour and one hour. Of course, 50/50 is a concept that always works well on a slide deck. Seeing anything wrong here? Maybe a case of expecting the universe to bend to fit in the little box I made for it because it fits on a PowerPoint slide better?

And, of course, you can convince yourself of anything. I wanted this thing to be an hour. Seriously, I timed it out. Used my little iPod stopwatch and everything. It went one hour. I ran it three times, sitting in my hotel room, annoying my shared-wall neighbor with my endless going on about "Vector3" this and "MathHelper.Lerp" that.

I half-expected to get a note under my door that said:

Dear Mr. Cox, Developer Educator from Microsoft, who is going to teach me all about XNA Game Studio Express (whatever that is): Please stop saying "lerp". That is totally not an okay word to use; it's really creeping me out. -Your neighbor
From start to finish, 65 minutes; I had it down to a science. But like the days of old when our ancestors did their meticulous calculations and forgot to carry the one, I missed a step.

In a rare blast of pure optimism (I'm not used to whatever they put in the water down here), I forgot to apply the first rule of program management: whenever you think you know how long something's going to take, or how much it'll cost - always multiply it by two.

Needless to say, it was about twenty minutes into the first presentation when someone in the front (and God bless him for this) said:

"Hey. Can you slow down?"
Man, did everything change after that. It's a slippery slope when presenting; if the audience loses you once, you run the risk of never getting them back.

Fortunately, I designed the presentation with built-in crumple zones, so I threw the switch and we went to the full two-hour guided tour. I'll say this: after two hours of standing up and coding and talking with no breaks, I am fully convinced of the power of adrenaline.

Knowing the necessary speed going in on the second day, I was amazed at how well the presentation flowed the second time around. We even had a few folks venture out on their own and make their own unique game while I was talking. It was incredible.

Both sessions were completely booked at fifty attendees, two per computer. The energy was great, the questions were thoughtful, and the students even caught my code bugs. XNA Game Studio Express is just one of those big deals that's changing the world, and I'm thrilled to be a part of it.

Thanks to the crew at Microsoft for making this happen, and for those folks (they know who they are) for giving me this opportunity. I suppose we can all wait to see the instructor evaluations, but I think it's safe to say we all made a big impact this week.

See you back in Seattle!

Labels: , , , , ,

Thursday, March 08, 2007

GDC 2007 - XNA Game Studio Express Sessions and Feedback

If you're an XNA Game Studio Express user or an GDC 2007 XNA session attendee, let me ask you a favor.

XNA Game Studio Express has hit something pretty huge. Today's workshop session was packed, and tomorrow's repeat session is shaping up to be similar.

People want to make games. Whatever makes it easier for them is a big plus. The word I've been getting after my first session was along the lines of "Wow, this is great stuff, XNA Game Studio Express is making game development much easier."

Good - Phase I accomplished. Now, I and the combined XNA Game Studio Express documentation and education teams are looking for ways to make it even easier, through tutorials, great reference documentation, samples, and more.

Some of this work is already making its way to the new creators.xna.com website (check out the samples, video tutorials, and more!), and of course, the product documentation continues to be updated and expanded with more examples, tutorials, and reference documentation.

While it's looking like today's session did good for the attendees, I want something back: specifically, feedback on our current education efforts.

What's hard to learn with XNA Game Studio Express? What doesn't make sense? Where did you get stuck? Comments, please!

Labels: , , , ,

Tuesday, March 06, 2007

San Francisco, Day 0

10:11 AM

I've been in this airport fifteen minutes and I'm already in a cubicle. They've taken to stripping out all of the power ports around the airport and consolidating them in for-rent cube farms, paid by the minute.

So I rented one. There's even a little hanger for my jacket.
The staffer on duty is courteous and smiling.
"Can I bring my coffee?" I asked her.

I want this cube to be darker - I'm switching off all the harsh fluoresecence I can find around the tiny room, but there's no roof; no matter how hard I try, there's no skipping off the surface of the reality that I'm in a crowded, busy human transportation hub.

Fine. iPod time. A thought: The airport could catch on fire, I'd never know it. A shrug: Acceptable risk.

I'm in a warm coccoon of sound. Nobody is snoring next to me. No babies are crying. No humans exist but me. Well, me and Howard Jones, and he's singing just for me, so we're cool.

Irrespective of whether or not the 'pod-inspired New Selfishness movement is ultimately bad or good for our human race, it sure does wonders for an only child.

Labels: , , ,

Sunday, February 25, 2007

GDC 2007 - Parties, Poker, and XNA

It's about a week away: The 2007 Game Developers Conference in San Francisco, March 5-9. I'll be there on the 6th through the 9th, working and partying. For those that'd like to know more about what I'll be doing and where I'll be going, here are the events so far:

March 6th, 9:30 PM
Starlight Foundation ISM Poker Tournament
San Francisco Mariott

March 7th, 6:00 PM
Massive GDC Party
101 4th St

March 8th, 12:00 PM
XNA Game Studio Express Hands On Workshop
Moscone Conference Center, Room 2011

March 9th, 2:30 PM
XNA Game Studio Express Hands On Workshop
Moscone Conference Center, Room 2011

Yes, I was able to weasel into a charity poker tournament even while on the road. But it's for a good cause: even if I lose, the Starlight Foundation makes sure that kids in need still win.

If nothing else, any GDC'ers out there had better cut a two-hour hole in their schedule on the 8th or the 9th to come play around with XNA Game Studio Express at my workshop.

See you in San Fran!

Oh, and one more special guest here at home:

March 10th, 9:00 PM
Lebowski Fest
Kenmore Lanes, Kenmore, WA

The dude abides.

Labels: , , , , , , ,

Monday, January 15, 2007

Charles Cox and XNA Game Studio Express at GDC 2007

Just dropping a quick note: I'll be presenting an XNA Game Studio Express hands-on workshop at the Game Developers Conference in San Francisco this year.

If you're interested in trying your hand at game development with XNA Game Studio Express, and are planning on attending GDC this year, come on by for this introductory session and I'll show you how to get started! No experience necessary!

I'll be giving the workshop twice - once at noon on the 8th, and once at 2:30 PM on the 9th. Each session is two hours long. See you there!

Link to Event Details

XNA Game Studio Express Hands-On Workshop
Thursday, March 8 - 12-2pm
Friday, March 9 - 2:30-4:30pm
Charles Cox
Come see XNA Game Studio Express in action! Try Game Studio Express and see your creations come to life on Windows and Xbox 360. This workshop will include step-by-step instructions to get you up to speed on Microsoft's most recent game creation tool for casual and hobbyist game developers.

Labels: , , , ,