Spartan: Total Warrior
A technical examination of Creative Assembly's latest.
In the first part of the interview, we talked about the conceptual grounding for Creative Assembly's move into the third-person mass-combat game. Now, with the effusive Lead Programmer Clive Gratton, we have a look through the technical demands of a game that manages to keep hundreds of people hurting each other on screen without dropping a frame.
By the way - when we say "effusive" we mean "swears like a trooper". Most are edited out to spare your ears. But wait until next week where you'll see him cackling about violence like a man who's spent the last two years working exactly how best a sword can cut a man.
It's interesting - and Sony is going to love me for this. I'm not even being facetious. Stop me if I'm going too techno, but there's a number of sub-processors in Sony's PS2. And there's one which no-one uses ever: Vector-unit Zero. Sony engineers, they'll continually say "Use Vector Unit Zero. The secret to speed is User Vector Unit Zero". And no-one does, as no-one can find a decent use for it. And the secret is, I have.
I'd written the framework for the game, the display engine and the AI. All of that during pre-production. And then we got the rest of the team on board, who didn't really know what they were getting into. I'm constantly, throughout the entire project, cracking the whip to make thing works faster, better, smaller, faster, FASTER! Any bits of code which were taking too long, I'd first sit down and look at them algorithmically. If it was doing too much work, I'd write a load of hand coded assembly language. A large chunk of this game is written in hand coded assembly language on the vector units. It's... a miracle of technology!
Since the CPU of the Xbox and Gamecube are very adept, all the work on the PS2 to make it fast enough to run it at 60fps there applies straight across. And the Gamecube surprisingly so. I had serious reservations about whether we'd achieve this game on the Gamecube, and it's running exceptionally well.
From a technology point of view, it's all about bespoke technology. There's nothing off the shelf in this game. And there's nothing that wasn't written specifically for this game.
Creative Assembly's whole ethos is about pushing technology to provide us with areas of gameplay which no-one else is doing. It's where Total War came from - thinking about technology in a different way. When everyone else is climbing onto polygonal character rendering, we thought "Well... we could do that in foreground, but if we used sprites in the background...". Thinking of technology in this different manner to achieve different areas of gameplay. If we used middle-ware, we couldn't have made this game.
That's the fundamental premise of the game. It is technology driven. If we're going to have hundreds of people on screen [then] what does it do for us? At that point, every single design decision in the game is lead by that technological innovation. What roads do that allow us to go down which no-one else has been down? That's kind of cool. It instantly gives you an interesting perspective where you don't have to force innovation. It comes naturally, out of the change you've made right at the beginning.
I don't think you'll necessary that you're going to get the members of Id and IS back together just by telling them that though. Let's all have a group hug.
They tend to focus on areas of technology that are beautiful visualisation technology rather than anything that'll actually touch gameplay. That area of technology doesn't inherently breed new or novel games. That creates "oooh - look at the beautiful world". Don't get me wrong. I love a pretty thing. Spartan is inherently beautiful, as the number of polys we're chucking around allow the artist to create breathtaking vistas and enormous worlds.
For example, everyone's talking about High Dynamic Range for next generation platforms, and we've got it running on PS2. At the beginning of the project, it was an area I was fascinated in forever. I remember - before anyone had done a lens flare in game... well, I like to think I'd invented it. And this is circa when I was doing Microcosm, one of the first CD ROM games. 3D Graphics were still years off. I remember talking about watching 2001: A space odyssey. They did this wicked thing when during an obvious special effects shot as we're looking at the Earth and the planets aligning in space, they put a lens flare in there. And the reason being, /of course/ there's a camera viewing that scene. And that made me go "We've got to put Lens Flares" into it.
It's always been a point of interest, so when we were talking about a visual look for the game. I was talking about High-Dynamic Range to these producers and they were like... what's that?
Kylie's "Can't Get You Out Of My Head" video had just come out and used bunches of post-processing, via some offline plugin for creating beautiful flares, glows and interesting artefacts... Well, I pressed play on Kylie's video and had the European head of a major publisher and all of the suits staring this film. "See the way the light goes around the edge of the building?".
Well, when you've got that look going, it a) makes it immediately look interesting and b) it's not a SHAZAM! RPG! Programmer driven special effect which is pretty but meaningless. It's part of the world we live in, and part of how the world looks like when we see it through a lens. And things like lightning become an absolute piece of piss to do, as all you do is draw stuff which is intense and bright, and it'll glow. All of those naturalistic, real world effects immediately become very easy to do.
Join us again next week for the final part of Kieron's Creative Assembly interview, as well as a full in-depth review.