Saturday, March 10, 2007

GDC 2007

This year's GDC was very valuable to me. It was great to meet more Bioware and Pandemic Australia folks. Project Bravo sounds very cool, and it sounds like they have a fantastic team working on it. The dinner was nice, and getting to see Mass Effect was great, I'm really excited to play it. Some notes on some of the stuff I saw.


Playstation 3

Since I'm going to be starting PS3 development soon, I focused mainly on Sony's PS3 talks. I actually came away very impressed. Going into GDC I had assumed that the PS3 was barely more powerful than the 360 on the CPU side and definitely slower on the GPU side. I'm still pretty sure the 360 GPU is quite a bit better (mainly due to shared memory and processors), however I'm now fairly convinced that the PS3 CPU is quite a bit faster than the 360. After seeing the Edge demo and hearing some of the statistics it's pretty clear that you'll be able to do quite a few things on the PS3 that the 360 will likely be too slow for. Unfortunately for Sony, this seems to only be very useful for first party teams. Third party teams will likely end up with better looking 360 games due to availability of memory and extra graphics card power. Edge does look fantastic, however.

Sony Keynote

The Sony keynote was entertaining, if not totally relevant to developers. It really felt like an E3 keynote, not much about actual development or the development process. I'm going to reserve judgement on the Home stuff, but at this time it seems kind of annoying, I'd rather just use menus, I think.

I think people are kind of underestimating what's going on with SingStar PS3, because people aren't really talking about it, but this product could be huge. It has very broad appeal and a youtube like quality with the availability of uploading videos. Also having a song store that you can buy any song from could be a huge positive for Sony. Particularly since their parent company owns a record label.

Little Big Planet looks absolutely fantastic. I can't wait to mess around with this game. Great graphics, interesting gameplay, the ability to create my own content? Where do I sign up? And it looked like a lot of fun, too. Sony, Please don't let me down.

Miyamoto Keynote

The Miyamoto keynote was interesting, if perhaps overly long. I was also disappointed by the way the GDC people handled these "big talks". They didn't allow people to go straight in and wait for the talk, but instead opted to create a huge line that ended up having the same effect. The first people in ended up getting the best seats.

That aside, it was an interesting keynote. There was no information about new nintendo products (which I enjoyed), and he mainly talked a lot about Nintendo's business strategy and his own personal vision for making games. It was an interesting talk, but there wasn't a huge amount of new information. Miaymoto is a very engaging speaker (though it was translated), and he showed an amazing facility with the wii remote (which he used for his slideshow).

Odds and Ends

All in all, it was a great experience, I love San Francisco, and I was really glad to have the opportunity to attend this year's Game Developer's Conference. Even if I hadn't learned anything from the sessions (I did), I would have really enjoyed networking with the people from Pandemic and Bioware and just experiencing the event.

Saturday, March 3, 2007

Protoyping is Underrated

Maybe underrated is the wrong word. Underutilized? I'm not going to say that prototyping is the silver bullet that will save the game industry from itself, but man, it sure can help. The ability to think, talk, act, and decide upon things based on decisions made while actually playing the game versus trying the same things when all you've done is thought about the game is just very powerful. How can you really decide that something sucks when you haven't even tried it? Some ideas are just obviously unfeasible or just plain don't sound like fun, but there are plenty of things that only show up once they're partially implemented.

A lot of companies pay lip service to prototyping but actually end up just implementing things too fast. And frequently gameplay can be one of the last things to be implemented. Having something up and playable is rarely as high a priority as prety graphics, this is somewhat understandable due to the fickle market that seems to be easily swayed by graphics, thus causing publishers to depend on graphics as a selling point and making it more difficult to sell them on gameplay alone.

And let's face it, fantastic gameplay with crappy graphics will rarely sell huge copies unless there is something truly amazing, new, and different (witness Wii). Even then it's unlikely. How many "fantastic" games do hardcore gamers lament as being killed due to an ignorant or immature marketplace. So yeah, prototyping is a tough sell to a manager of a game studio.

But it's really important to sell it.

I think it's the difference between a crap game and a mediocre game, a mediocre game and a good game, and a good game and a great game. It's the difference between spending time, money, and manpower on something that's not worthwhile and saving your resources for what really works. It's the difference between long masturbatory discussions about "big ideas" and hard nosed, nitty-gritty discussions about what's working and what isn't.

So now that prototyping seems to be A Good Thing, how do you do it? Normally a game team consists of artists, programmers and designers. Designers is a pretty broad term, usually this refers to level designers and mission builders. Programmers control the functionality of the game. They're the ones who do the implementation. If a programmer has game design or visual inklings or can be trusted to properly iterate a system, it's probably smart to have them be the driving force behind prototyping the feature. Some programmers don't have this inclination and are still useful to have to implement things, so in that case, the programmer should be paired with a designer or artist depending on the feature. This way a programmer can implement the base functionality and the designer or artist can then take what's there and tweak it and ask for different or more functionality. An example of this could be a skin shader that a game needs to make a character look right, and a programmer who isn't that visually inclined. That programmer could go to an artist, show him or her what it looks like, and expose parameters in the 3d modelling package for the artist to use to make the shader look right, the artist could also ask for different looks to the shader, which the programmer would have to then go and implement.

The same could be done with a design feature, a programmer could implement a drivable vehicle and expose a bunch of tuning parameters, and a designer could step in and tune the parameters to make the vehicle "fun", and thus be the driving force behind the prototyping.

The one constant rule is whomever is actually doing the prototyping is in control of the feature. Having a document written up for a programmer to then "follow" is not prototyping. One gets a feature into the mindshare of the team, gets it implemented by a programmer, and then either the programmer iterates on it, or exposes values for other teams to use for iteration. No one is reading a document and implementing, because whatever is in the document isn't as good as what can be implemented. Period. Long, detailed design docs that aren't a product of prototyping are by and large masturbation.

Anything too difficult to prototype as a game mechanic is very likely too risky to implment in the game, and so should seriously be considered for cutting, even during preproduction. Prototyping should be able to come before technology. If there isn't enough technology to prototype, then the team should be reduced in size until there are enough programmers to build an engine for prototyping and enough artists to support the engine efforts, or an engine should be licenced that allows prototyping. There should be no designers on a team like this. Unless they can prototype in some other, existing game engine while the other departments are working. Having a team of people churning out documents that no one will read is an incredible waste of time. Even if people do read them, they're usually not well-considered enough to be actual gameplay features.

Agile development seems to be a good way to go about prototyping with a focus on refactoring. Early prototypes should be hacked in to get the feature visible to the various departments, and then refactoring should be used to ensure the code stays maintainable. Unit tests may also prove useful in this endeavor. This relies on a very good prioritization of features, however. Without a strong list of features with a good prioritization, you'll end up prototyping the wrong things first.

In the future, as game projects become so expensive that any wasted time or effort is a huge blow to the product's success, I think prototyping will become the difference between a successful team and a failing team. Prototyping shows the compromises that will have to be made early, and it shows the best parts of your game early. It saves tons of time, effort, and money. It's just the right thing to do.

Friday, March 2, 2007

Innovation is Overrated

I'm a game developer, and I used to frequent several game forums that I had read before I entered the game industry. One of the common topics in game forums has to do with innovation in games. Both bemoaning the lack of innovation in major games and celebrating small indie games that innovate SOMETHING for God's sake!

Personally I don't think game mechanic innovation is usually all that necessary. Give me a well-executed polished, by the numbers, game almost any time. The core design still needs to be solid, and if innovations have been made that your game has completely ignored, I might take issue. But overall give me Halo2 before Indigo Prophecy any day. I'd rather see a game that executes fully on all of its goals and manages to create a fun experience than see something that I haven't seen before but is done poorly.

This isn't a topic reserved for game enthusiasts, game professionals also fall into the innovate or die trap. It happens all the time where there are a ton of "shoot for the sky" feature requests, and not enough attention is being paid to the core gameplay.

This is not to say that innovation is bad, I think innovation can be fantastic, especially when well executed. I just think it's overrated. I'd much rather see execution than innovation.

The Current State of New Fantasy Novels

In the past decade or so, I've noticed an incredible explosion in the number of high-quality fantasy novels beinig published and coming into the public eye. Ever since the beginning of The Wheel of Time, it seems like I've had a decent fantasy novel to read ( I started WoT in '98). Here's my opinion on the current state of many of the "big series".

Wheel of Time

Seems almost "on hiatus". There haven't been many (any?) big plot developments in the past couple of books, and it seems like Jordan has written himself into a corner here with the sheer number of plot threads he's opened, it seems like with so many plot threads you wouldn't be able to write so many pages about characters whining and squabbling and generally not getting along. What started as a fantastic series has turned into something I force myself to slog through.

The Song of Ice and Fire

Another series that started out as pure genius. The beginning of the first book instantly drew me in and I was hooked for another 2,500 or so pages. Fantastic plot, wonderful pacing, incredible characters who go through real change. An instant fantasy classic. Then A Feast For Crows came out. MARTIN JORDANED IT UP. The pace slows to a crawl, I get to read about a bunch of characters I don't care about! GAH! Another series I'm forcing myself to read???? Fortuantely Dance of Dragons looks to solve my problems by focusing on the characters I'm more interested in. Hopefully it won't take too long.

The Malazan Book of the Fallen

This series took a bit to grow on me. The first book was hard to get into as you're sort of thrust into the action. Then the second book picks up with a completely new cast of characters. However the third book starts and it really beings to rock, picking up from the ending of the first book and showing probably the best designed fantasy world I've ever read about, complete with an amazing history and cast of wonderful characters. The novels are full of badass characters who go around doing badass things and can be killed at any time. Another series (much like Song of Ice and Fire) where no one is safe. I've read all the way through the last book and so far all the books have been good. I have VERY high hopes for this series.

Harry Potter

As it enters into its final chapter, the Harry Potter series has grown and matured. Each time I start one of these books I forget just how damn good they are. Such wonderful tales woven into such a magical atmosphere. Granted, the stories aren't particularly "adult", but they're still interesting, and the books are nearly impossible to put down. With the final book coming out in July, the question is whether Harry survives or not, I'll be first in line to find out.

I'm also reading another, finished, series called The Prince of Nothing. So far I'm liking it, if it's not quite pulling me in the way some of these other series have.


Thursday, March 1, 2007

First Post

Man I hate blogs, so I figure, lets just go ahead and start one.

Hell yes.

This is going to rock so hardcore.

Sweet.