|
That
highlights an interesting dichotomy in that the game itself is so classically
streamlined in the hardcore sense, and yet the whole presentation layer
surrounding it -- being in the browser, being a two-minute download, having
automated matchmaking -- is actually incredibly inviting.
JC: Yeah. We've certainly, over the years,
seen a lot of cases, especially in the early days before everything got
hyper-competitive online, where people just had the magic of wandering around
in the world and taking a shot at somebody else wandering around the same world
with them.
There are still millions and millions of
people who are open for that experience.
But, we do need to segregate them into
the shallow end of the pool, because it's all too easy to have a shark swimming
around in those waters making it no fun for anybody.
But with a large enough body of players
there and good automatic skill-ranking, you should be able to get people who
don't know how to play the game very well go in, wander around, and find that
it looks neat, it sounds neat, and interesting things are going on.
They just
need to build up a little base level of skill to start achieving those
incremental advances and personal rewards of playing the game.
Speaking
of matchmaking, you said it's been tough getting that system tuned due to the
current skewed player base. How do you deal with that, especially now that
newer players will be coming in?
JC: There's a training map to kind of
assess the skills. And it's kind of interesting how Marty was just talking
about the changes that have been made in there. Originally, they just asked
people for an assessment of their skill. And we were finding that all sorts of
people would go, "I'm an expert." [laughs] And they weren't anywhere
close to that in the global scheme of things.
So it changed over to more of a challenge
exercise, where they have to do certain skill-based things to get into the
right pool, aside from the interaction with the bot.
I think that helps a lot,
where you're going to find people who can't even jump from a pedestal to
pedestal at the very beginning if they're not coordinated with the
mouse-keyboard combination. They'll be in the beginner pool.
Then you get people that can rocket jump
and do strafe-jumping and wall-climbing stuff -- really, only the true experts
and masters of the game can kind of get into that pool. And that's as it should
be. It will be interesting to see how the community goes as more people get on,
how many people go in just to grief other players in different ways.
I think that we have some advantage in
this, having accounts -- the complete anonymity of a typical PC game did make
it easy for some people to just be spoilers. There was very little you could do
to censure them in different ways.
But with the account-based system, at least
it could take some 15 minutes to go make a new account. They don't do it 100
times if they keep getting kicked. I hope that has some benefit there. But we
are going to learn a lot in the coming months.
What's
involved on the rendering side of this? I mean, did you have to rewrite a
renderer, or was it just an issue of plugging in to existing APIs?
JC: In the core rendering system, hardly
anything at all changed. It's interesting, because I am kind of poking through
the Quake III codebase on the iPhone
right now, for some after-hours work a couple of us are doing, and I'm going to
have to go in and make some serious renderer changes to get that up to the
performance that I want. But for Quake
Live, the game rendering code didn't change at all.
For the framework around it, about making
sure that you've got the right context and the right PC and the right rendering
going, there's a little bit of work, especially dealing with all the different
browser versions.
Between the different browser types and versions, a lot of
tweaking has to be done to make it work right, to switch quickly between
full-screen and the browser. But all of that is on the fringes.
When I look back at the original codebase,
the data points that it was designed around, it was a good design point for
just before GPUs started doing vertex acceleration.
All of Quake III was built around minimizing state changes and crunching
up broken drivers, because this was back in the days when we had 15 different
video card companies and 13 of them didn't have a clue how to do what they were
supposed to be doing.
So it was a very defensively programmed
renderer. I look at it now, and compiled vertex arrays are completely archaic.
Everything should be in vertex buffer objects. But for Quake Live, it doesn't make a damn bit of difference.
There's a
part of me that wants to go in and do the optimal point design for any given
thing. But the smarter part of me just looks back and says, "It works just
fine right now. It's been tested to death by all the remaining video-card
vendors. Don't touch that. Let it go. It's doing a good job."
|