April 15, 2007

More Press

An interview with me (and a little of Bill):

http://www.firingsquad.com/news/newsarticle.asp?searchid=15011

An interview with Bill:

http://thexboxdomain.net/2007/04/06/developer-interview-torpex-gamesschizoid/

April 05, 2007

More Press

http://www.gamasutra.com/php-bin/news_index.php?story=13409

March 28, 2007

More Press

A lengthy article on XNA and Schizoid here:

http://www.shacknews.com/extras/2007/032607_youtube_schizoid_1.x

And an article I participated in that has almost nothing to do with Schizoid here:

http://www.1up.com/do/previewPage?cId=3158264

March 19, 2007

Some Answers

How is the approval process going with Microsoft?

To get an Xbox Live Arcade game approved, there's various stages and greenlight meetings you have to get through.  First you've got to get somebody there excited enough to get it into a greenlight meeting in the first place.  We showed a prototype to a manager from the XBLA team and he was excited enough to evangelize it. 

The next stage is the "Concept Greenlight" - they regularly have a group get-together to review proposals and decide whether they want to pass on them or not.  Apparently, at our greenlight, we were the only concept that had a prototype.  So a prototype will definitely help you stand out.  "Don't build it and they won't come."  Our prototype, by the way, was only three man-months of work.

The next stage is a due diligence meeting.  Here, they want to establish that you can actually execute, and finish the game before your launch window.  Any red flags or concerns they have will be raised.  For example, they wanted to know how long we could survive if the game slipped;  they wanted to know if we had a test plan.  For us, I think it helped that everybody on the team has an established track record.

And that's where we are now.  Coming up later is the certification or TRC - the "technical requirements checklist" - all the console manufacturers do this.  And games that have network play have much more elaborate requirements than ones that don't.  It takes two weeks to get through cert - and if you fail, it resets.  You have to take another two weeks. 

What do you think XNA's strong and weak points are?

Strong points: 

C# is a great language.  I'd much rather write in C# than any of the proprietary scripting languages that has been invented for any existing game engine.  I'd much rather write in C# than C++.  Someone once said in the comment section of this blog:  "When you're happy, you're more productive."  Fast build times, managed memory, array bounds checking, no stale pointers, higher-order functions, good refactoring and auto-complete in the editor, NUnit, happy. 

XNA is a great API.  I used Managed DirectX a bit and it took me a day just to get the gamepad working the way I wanted.  XNA did it with two lines of code.  I mentioned this to a friend who liked MDX and he said, "Well, you only have to write the code once."  But if you have to spend a day on overhead for every component in your game, you're going to be investing a week or two before you even get to start on the gameplay.

XNA is fast.  You look at the stuff that's coming out of the XNA community and compare it to other popular game-prototyping languages, like Pygame or Java, and already, even though XNA is in its infancy, the games just smash the competition.

Weak points:

No portability.  If we want to see Schizoid on non-Microsoft platforms we're going to have to rewrite the whole thing in C++.  (Or maybe Mono's an option...?)  I'm not concerned:  C# and C++ are close enough neighbors that this isn't the end of the world.  And "portability is for canoes" - Steve McCarthy.  Since this game is a new concept it makes sense to get it to one platform as efficiently as possible and then, if it's succesful, to move it to others.

No interoperability with C++ on the 360.  When I first started using it, I figured, "Hey - I'll use this and if something's too slow I'll rewrite it in C."  Due to technical restrictions on the console this isn't possible.  If they solve this, then it would be practically a no-brainer to use XNA for any game.  As it stands, you're not going to be able to make a *Halo 3* killer with XNA.  But people are already making really good looking stuff, stuff that looks as good as a lot of Dreamcast and PS2 and Xbox titles.

Some of my favorite things about C# aren't efficient on the 360.  Currently you have to make sure you don't generate a lot of garbage on the heap - which makes you ask "What's the point of having garbage collection if I can't generate garbage?"  So a lot of our objects get allocated in reusable fixed pools - I hate fixed pools (http://www.gamedevblog.com/2006/08/stl_memory_allo.html) because you spend a lot of time tuning the sizes;  if you're wrong in one direction the game crashes and if you're wrong in the other direction the game uses more memory than it needs to - and closures (http://www.gamedevblog.com/2006/08/siren_song_or_h.html) generate garbage, so no closures that get called more than, say, once per frame.  Still, it suited me fine to get the prototype up and running quickly, with lots of garbage generation and closures, to show it off to Microsoft, and to then optimize that stuff out later.

What you think of the cost of doing "casual" games...?

I prefer the term "downloadable" because our players aren't going to be casual.  And, well, hey, it's cheap.  Really cheap.  A story went over Reuters today that said my alma mater - Spider-Man 3 - may cost $35 million.  Schizoid will cost over two orders of magnitude less than that.  And I believe it'll be just as fun.  You could make over a hundred Schizoids for the cost of a Spider-Man 3

Does that mean that
1) you have a pre-version of XNAGS Pro?
2) you're using the EE right now, planing to switch to the Pro version when it'll be released?

Up until now we've been doing all our development with the same consumer stuff that everybody can get.  Just now we got a pre-version of pro, sort of a "pre-pre-alpha" they're calling it, and to do the network play we have to get actual dev kits, which we don't have yet, but Any Day Now (tm). 

So we're the first guinea pig - we'll be finding the kinks in the system so people who use pro in the future will have the same ease of adoption as they do with the rest of Game Studio.

March 12, 2007

Living The Dream

As some of you noticed, the cat's out of the bag.  We're actually making a game - Schizoid for Xbox Live Arcade - and we got a couple of great write-ups:

http://www.1up.com/do/previewPage?cId=3157790

http://kotaku.com/gaming/gdc07/gdc07-torpex-games-on-xna-242020.php?mail2=true

So - yes - it's what every game developer dreams of.  The opportunity to do something that's never been done before...unprecedented levels of creative control...a small, kick-ass team...and without having to go for the housewife market: we're going for a market of people who are, for the most part, better at "Geometry Wars" than we are.  So it's still the kind of game we like to play. 

Not to mention, since we're using XNA Game Studio, we get to write in a nice, high-level, well-designed language instead of having to continue to live under the shackles of C++.

I'll tell you, though, we were spinning our wheels for a long time before we got here.  Starting a company is...impossible.

Anyhow, some of you probably have some questions.  Fire away - we're not talking about the game yet but we can talk about developing it and getting it approved.

October 04, 2006

Speaking Engagements

I'm going to be speaking a few times this year.

If anybody can make the trek out to Nottingham to attend Gamecity (http://www.gamecity.org) - which sounds like it's going to be a really cool event - I'm going to be speaking there not once but TWICE!

I'll be talking at the Hand-To-Eye portion of the show, a talk called "What We Learn From Games", which is a favorite topic of mine.  It's not what we're "supposed" to learn - but we learn.  That one's Friday the 27th at the Adams Building, New College Nottingham, at 14:45.  http://handtoeye.net/index.php/site/full_prog/keynote_speaker_jamie_fristrom_games_fun_and_invisible_learning/

And I'll also be talking on the 28th about another favorite topic:  the preproduction phase of Spider-Man 2.  This time I'll be focusing on how it represented something you don't see too often in the industry these days:  respect for our audience.  Far too often I hear "you've got to dumb it down for the mass market."  On Spidey...we didn't do that.  http://gamecity.org/index.php/events/detail/i_did_that/  I didn't choose the embarrassing title, which is the name of the whole "lecture series", not the individual talk.  Spidey was a group effort.

And, speaking of preproduction, after Spidey 2, as a consultant, I've seen preproduction go sour many times, and I'm going to talk about that at the Asian Game Developers Summit in December - http://www.agdsummit.com/speakers.html.  That's December 9th-10th in Singapore.

Also, if anyone is going to be at either event and just wants to hang out and get a beer or whatever, send me an e-mail!  jdfristrom - at - gmail.com.

September 25, 2006

So Why Do I Like The Name 'Torpex' So Much?

Before I joined Torpex Games I kicked around a lot of names for what I'd name my game studio if I founded a game studio.  (Other guys think up rock band names.  I think up game studio names.  There it is.)  The name would have to satisfy several criteria:

1) It needed to be unique.  I'd want my company to be the first thing that came up on Google if you did a search on it.  This is good for legal reasons as well.  It may be why so many Japanese imports are unlikely word-pairs - "Guilty Gear", "Vagrant Story", "Kingdom Hearts"... and is no doubt part of the reason why all these Web 2.0 companies have names that are hard to tell from Star Wars

2) But unlike the Web 2.0 companies, I'd want the name to actually mean something.  Something cool.  And there's the rub:  if your name means something cool, it's probably already taken many times over, and has a zillion hits on Google.

3) But I'm not done!  I'd also want the name to be sticky.  If you read off a list of names to someone, and the company name was in there, I'd want them to remember *that* name.

4) After spending a decade at "Treyarch" - I'd want it to be a name you could figure out how to pronounce by just looking at it. (Hands up who actually knows how to pronounce "Treyarch"...)

Extra Credit) Speaking of "Treyarch" someone once told me that the guy who founded "Starbucks" and "Red Hook" said that the secret to a successful company was a two syllable name that started with a consonant and ended with that hard-c / k sound.  ("Treyarch" satisfies this criteria...if you know how to pronounce it, that is.)  It was just cocktail party conversation but, hey, it stuck.  Somewhere there are highly paid branding consultants that come up with this stuff...

Anyhow, I never did find a name that fit all, or even most, of the criteria. 

But Bill did - and he didn't even know what my criteria were.  "I was thinking maybe something along the lines of Depth Charge when I came across it," he said. 

Torpex, by the way, is a kind of explosive they used in torpedoes back in the day.  So it does mean something.  Something cool.  And right now, if you do an unadorned search for "Torpex" on Google, we're the third result.  (Always need to make sure I've got personalized searching turned off before I make statements like that...)  Someday we'll be the first!

All that said, names are one of those things that everybody has an opinion on and likes to argue about (it took several months to settle on Die By The Sword...) but names have very little impact on success.  They're just really fun to have an opinion on and argue about...

July 26, 2006

Damage Control

A bunch of people took issue with the previous job posting, in particular where I said:  “Other studies have shown that there can be a ten-fold or thirty-fold difference in productivity between coders.  You guessed it:  we only want the people on the high end of the curve.”  Paul Sinnet said I lacked humility;  some guys offline said it was John Romero-ish; Chris Busse called me a snob...

Woah!

Maybe I miscommunicated.  Maybe everybody's thinking that we only want to hire those one-in-a-million Tiger-Woods-of-programming types – the absolute top of the curve. And that's not what I meant.  All I meant is we want programmers who are above average in productivity. Just like every other studio out there.

And Paul Sinnet has a good point.  People aren't necessarily good at self-assessment. I'd hate to think that somebody's out there going, “Oh, Torpex wouldn't hire me...I mean, I'm productive, but I don't know if I'm that productive.”

We do not think it's “worth rejecting a false negative over accepting a false positive.”  If we fail to hire somebody who would have been great, we've screwed up.  I keep thinking back to all the interviews I did when I was younger, trying to get a job, that I screwed up, where I froze and couldn't say what “SHLD” did, or was overly enthusiastic about Grady Booch's book with a team that only used C – those teams didn't hire me and I'm pretty sure they made a mistake. I turned out to be a pretty good coder.  We don't want to make that mistake.

And Paul's right: by posting a job listing that says, “Only apply if you're above average,” we might be ruling out a whole class of people who are above average but don't realize it. 

So, if you read the job posting, and you thought to yourself, “I'd like to apply but I don't know if I'm good enough,” hey, give it a shot!  Apply!  (Once again, jfristrom – at – torpexgames.com.)

July 17, 2006

Help Build A Start-Up

A project is imminent, and Torpex Games is looking for more coders to join the team.  You could be one of those coders!

I've got to tell you, working at a small company, and watching it grow, is the bomb.  Being in that first tier, Tier One, of employees is great - and not just because of the possible upside later.  In the early days, you can all go out to lunch together - at the same restaurant.  When there's a problem, the whole team chips in and solves it.  There's a flat org chart - you don't have to report to a boss who reports to a boss who reports to a boss. 

The main thing, though is you're helping to form that company's culture - you become part of its genetic code.  You feel like you really make a difference;  you feel ownership

We're going to keep the talent bar high at Torpex, through a combination of testing and rigorous interviewing - so if you're up for a challenge, and you want to work with talented peers, get in touch.

As per the book *Hire With Your Head*, which I recommend (though I think it underestimates the value of testing), I'll be very specific in the job description, focusing on performance and results rather than skills or experience:

- Help us ship fun, addictive games on time.  We're looking at getting two out the door in 2007 - we aren't going to be doing big-budget games at first - we want to ramp up slowly, so we can be extra-selective about whom we hire.  In the long run we'll be back on the big budget titles, though, and if you get in with us now, and you rock, you'll be managing those titles.

- Architect, implement, and improve systems and integrate middleware.  We're not going to pigeonhole coders into boxes like "graphics coder" "sound coder" "network coder" "tools coder" - etcetera.  You'll pitch in to work on whatever's high priority for that iteration - so you'll have to have skills in multiple areas, and be willing and able to learn new skills in new areas.  You'll feel like I did back when I worked on *Die By The Sword* and I worked on the network code, audio, particle systems, GUI, scripting language, AI, and so on - you'll feel like the games are yours.

- Be on par with the rest of the team in both productivity and bug rate.  In other words: keep pace with the rest of us, but don't work so fast you get sloppy.  This shouldn't be a problem, since studies have shown that careful coders are fast coders.  Other studies have shown that there can be a ten-fold or thirty-fold difference in productivity between coders.  You guessed it:  we only want the people on the high end of the curve.

- Participate in planning and estimation meetings.  We're firm believers that the people who do the work should also estimate the work.

- Help us to create and refine the processes and methodology by which we create games, continually improving our productivity and quality.

- Stay current, or ahead of, trends in game and software engineering tech.  At first, you'll have a small, recommended reading list - the Torpex canon of programming books - if you haven't read them already.  And I'd love to read any books you'd recommend.  That's so we can all get on the same page.  And then you'll be on your own, but we expect you to keep learning.

More on promotion:  although I obviously can't promise that you'll be promoted, we're big fans of promoting from within and giving management training rather than hiring outside leads.  So if you rock, you'll get there.  If management doesn't appeal to you, you can grow into a technical savant/guru role, where you'll be doing more R&D, more architecture, and more advising.  If that doesn't appeal to you, you can grow into a "chief gameplay programmer" role, where you'll be doing lots of prototyping and design - good for the wannabe Sid Meiers and Will Wrights out there.

Also, if you're already a lead or senior programmer or technical director, this is still a good opportunity.  Maybe you miss getting in the trenches and writing lots of code, maybe you miss the turnaround time of small projects, maybe you miss the camaraderie of small teams, maybe you want a new kind of challenge.  I believe we can work something out where you'll be happy here.

So, if you're interested, send an e-mail to jfristrom - at - torpexgames.com or call 310.529.1593.  (Yeah, yeah, I still haven't switched my phone to a Washington prefix yet.  One of these days.)

And -- hey -- we're looking for more artists too.  Spread the word.

July 05, 2006

It's Official

Anybody who's been wondering what the hell I've been doing with my life lately I can now answer:  I am now a partner with Bill Dugan at Torpex Games. Http://www.torpexgames.com. My official title is "technical director" but I hopefully will be much more.

I've been wanting to do something entrepeneurial for a while now.  I've been kicking myself ever since I turned Pete & Don down for a partnership in Treyarch, back when Treyarch was just a twinkle in their eye, only to join up with them anyhow, half a year later, for a much, much, much smaller stake.  And you can't read all the business and management books I've read without getting psyched for trying it yourself.  And I've written a fair amount about management myself, so this is an opportunity to really put my money where my mouth is. So since I quit Treyarch I've been looking around for the right opportunity and this is it.

Maybe you're wondering, why Torpex?

I worked with Bill Dugan on Spider-Man 2 and he's what Good To Great calls "The Level Five Leader."  The gist of it is a Level Five Leader doesn't have a big ego; they don't need to take credit for everything; it doesn't have to be "their way or the highway" all the time; they listen to (and argue with) their trusted advisors and in the end do the right thing, quietly getting results.  Not that there isn't a point where the buck stops with Bill – there were a couple issues we argued about with Spidey 2 where I eventually caved (and, later had to admit, yes, Bill was right.) 

Bill and I had a long conversation before I decided to join up where we talked about our values and it seems like we're on the same page about everything: we should do right by our employees;  we're about making games rather than making franchiseable characters or worlds or brands; excessive crunch time is toxic;  we need to be humble at first, taking whatever projects we can get, and build our way up to the giant dream projects;  talent is everything—it's better to not hire a mediocre person and limp along understaffed than to dilute your talent pool;  and much more that I can't remember all of right now. It was after that conversation that I decided Bill was the guy to go with.

And Richard Garfield and Skaff Elias are our allies;  these guys invented a whole genre of gaming, for Christ's sake.  Who wouldn't want to work with them?

Finally, Torpex is a cool name.  I could write a whole article on why it's such a cool name.  Maybe that'll be my next blog entry.