Issue Three: Featured Area—The Tools Team

  1. The Tools Team
  2. Chad
  3. Gareth
  4. POB
  5. Ian
  6. Nick
  7. Lisa
  8. Chris

So. Tools programming, eh?

Hmm. Going to be difficult to sell this.

Start at the beginning I suppose: My name is Ian, and I'm the Lead of the Tools Programming team at Bizarre. I used to be a scientist for the Ministry of Defence, but for reasons which involve everything from girlfriends to motorways, and the fact that the heater didn't work in my car, I ended up applying for a job as tools programmer at Bizarre about 3 years ago.

Back then Gotham 2 was in development, Treasure Planet had just shipped, and Bizarre needed someone to look after their in- house 3D editor (affectionately known as SmakEd). Fast forward 18 months and the tools team was born when Keith and Dave joined me from other projects in Bizarre, and we hired a fresh faced graduate called Ken. Sneaking in about 8 months ago is Jan, a wandering Dutchman we captured from the gradual implosion of the northwest UK's games industry. And finally, at the 11th hour, we’ve acquired Michael, our newest recruit!

So what do we do?

Essentially we develop and support anything which isn't in the game itself. So that includes working closely with Maya and sometimes XSI, writing plugins and scripts, as well as supporting artists when things go wrong (which they always do at some point). Exporters are written from 3D packages to our own format, which Ken has cleverly designed to be a superset of all 3D packages, so we can go from any package into our games. This abstract file format is the foundation on which all our tools are based.

Then there are the standalone tool pipeline processors, namely the lighting and visibility tools, both developed by Jan. The lighting tool is a raytracing lightmapper, which stores the light colour and direction for every point in the game world. Light is cast from the sun and the sky dome, then bounced around within the city giving an amazingly realistic result. Even dynamic objects are lit using this information, so they sit convincingly in the game.

The visibility processor allows us to calculate what objects are visible from a given location in the world, which means the game doesn't have to render everything all the time. As both the lighting and visibility tools are processor intensive they are designed to split the load across the office LAN, so each PC runs a screensaver which processes tasks as needed whenever the machine is idle. Think Seti@Home, but with fewer graphs.

Who do we work with?

Probably the oddest thing about being a tools programmer is needing the ability to talk to other humans, which is not a skill that always comes easily to programmers. We work closely with artists, which are delicate creatures, bursting with creativity, who need to be looked after and understand that their needs are being met. Sometimes they become demotivated and upset by the most trifling of events, such as a wayward plugin eating their past two days work. In this case, a kindly tools programmer will be despatched to soothe and cajole the artist, whilst desperately trying to find out how the same problem can be prevented from eating the art assets of the entire project.

Fingers crossed, we might succeed.

Back to top


CHAD

Optimisation. That’s the current buzz word for us programmers. The trick to making your game run well is to make sure your code is optimised for the hardware. For all you techies out there, this means you have to take into account size of cache lines, tweaking code and data structures in such a way that will minimise caches misses and therefore stalls when accessing memory, making sure space monkeys haven’t invaded overnight and stolen critical bits, etc… For all of you that don’t think in 1s and 0s, this is that part where the coders wave a magic wand and restructure the flow of time.

Beards. That’s another buzz word. Well, actually it isn’t, but I just wanted to stick it in there. Nice transition, no? There’s a kind of academic stereotype that says all programmers have beards. I’m proving that this isn’t the case by growing one. Haven’t entirely worked out how this disproves the myth yet, but I’m sure the logic is hidden away in there somewhere. Just have to optimise until it becomes clear. Seriously though, I’m disappointed by the current level of beardage in the office, although granted it is on the rise as the late(er) nights set in. So I’m making it my mission to have the biggest beard of all (mwuhahahaha), until:

A) I get bored and shave.
B) Get stressed and tear it all out.
C) Fiancée makes me choose between beard and her.

Place your bets now on which one you think will be the case (banzai, banzai).

This week at work I’ve been mostly working on replay systems and tweaking car material and lighting stuff (see the Studio Update 02 from Ben). Other than that and optimisations (and beards), I haven’t really got anything to report. Sorry.

Meanwhile, at home: Saw Sin City the other day. Was good. Didn’t have Jedis, which was bad. Did have a ninja though, which was sweet.

Damn! Have just popped to the kitchen to make a hot chocolate (caffeine reaching critical levels) and realised that Maccy has a bigger beard than me! Is good that The Movement is growing, but I must surpass him (or get him drunk and shave it off).

Anyway, gotta go, must concentrate on growing beard. Oh, and making a game. Until next time.

Back to top


GARETH

Balancing, balancing, balancing.

The biggest problem with balancing any game is the number of moving parts that can change, which will affect the difficulty of the target. I used to work on MMOs and the balancing task in such a system is a nightmare. One change to a piece of equipment or character class fundamentally affects the way people play the game individually and the dynamics of group battles. You can never make everyone happy, believe me.

Thankfully, racing games have fewer moving parts and we’ve tried to lock down as many pieces early on for PGR3. The cars are finished and handle great, with a good feeling of variety. Although all the cars will do 170 m.p.h., the difference from a heavier luxury model and a Mclaren F1 is enormous. Then there’s “track special” cars that again handle completely differently. I guess you could say the whole vehicle set has moved up a gear compared to PGR2, but we’ve still got the variety. Every car is desirable in its own right and there’s a load of new vehicles that are faster than the Speed 12 on certain tracks this time round!

Speaking of the Speed 12, a big goal for us was to not have one car be the “best” in its group, across all the tracks and game modes. We’ve taken a lot time making sure the stack rank of cars in each group varied across routes. Some cars haul ass on a long straight tracks, but are dogs in corners so struggle on the tight twisty routes. Some cars get their back end out, great for Kudos earning, but are much harder to drive. Some shine in certain game modes. We’ve tried to remove a golden path with the cars this time round, so all of them are worthwhile. And they all look the business.

Anyway, that’s it for now--I better live up to my promises and crack on.

Back to top


POB

The team continues to beat the drum of the Xbox 360™ not for rain or blessings from the gods, but because collectively, they want to make a great game and show the public (that’s you) their talent.

You may hear occasional statements that there is a kind of magic to making games. Trust me, there isn't. Despite the fact that development (at times) can feel like you’re in a straight jacket, suspended by a 4-foot rope, attached to a crane, 200 feet above concrete, with no key; there are no Houdinis. Without magic, we get out of situations like this, in the final phase of development, (every time we submit a milestone - joking!) by making hard decisions.

Successful development is about having a vision (very few people have the ability to make their vision into the game they want), detailing that vision in a coherent design, communicating that vision (endlessly) to a team, and tracking the team to complete the vision on time and to spec. Failing any of the above, baton down the hatches, and prepare for a firefight.

It’s precisely because of the above that development of modern games is a team effort. To create is inherent in all development disciplines. Lucky for us, we have some of the best makers in the business.

Bad Things:

  • The British weather
  • The sole of my shoe coming loose
  • Never enough teaspoons for a cuppa
  • Unable to get on high score boards with old school arcade games

Good Things:

  • Sweets provided by Microsoft
  • Xbox 360 goodies spread amongst the office
  • LCD TVs ... (Hurry up with HDTV Britain!!!)
  • Rachael Stevens flash movie

Back to top


IAN

This is the part of the project that scares me. It’s only now that all the systems we have developed get properly tested with the full weight of data that the Gotham artists have produced.

And they have produced a lot.

We have spent the last year writing the tools for Gotham, and back then it was easy. Scenes were small, most of the work was being done on a cityblock-by-cityblock basis, and it took a couple of minutes to process the scene for the game engine. Not any more...

The scenes are just enormous now. Each city is hundreds of megs of geometry, and literally gigs of texture data. Every step of the pipeline from Maya to the game has to be engineered for scale. Those stages that can't actually fit into Windows 2GB limit have been moved to 64bit. New tools have been written just to load and export Maya scenes to our native format to save artists having to wait for their scenes to load.

The lighting tool and visibility processor are the most CPU intensive processes so we made them distributed applications, running across every spare PC in the office a la Seti@Home. To give you an idea of the processing in the tools pipeline, to light one city currently takes over a billion raytraces through a scene consisting of millions of polys, and the next version will be an order of magnitude more intensive.

You can almost hear computers creaking under the strain.

On the plus side, as Chad mentioned last week, it’s fantastic to see the game world coming together. Suddenly the cities are looking real, the lighting has so much impact with a whole city mesh instead of test scenes, the cars are now being lit to blend into the environment and the artists are in detail mode, adding trees, barriers, crowds and street furniture to really bring the cities to life.

It may be stressful, but perhaps this stage of the project is actually the most fun...

Back to top


NICK

Audio gets the horn…

Since the last update we have had a little fun (not too much, we aren’t here to have fun) as we dragged various car parts up and down the road outside our building. We tied them to the back of one of the sound designer’s cars and with me hanging out of the back with a microphone and we proceeded to drive off. We also had a gladiator style duel with two car doors, hit various things with a big hammer and dragged things across fences and bashed things into walls. It was just what was needed to liven up a sunny weekend afternoon.

We have also been recording lots of crowd sounds, which mainly involved people from the office standing around cheering, whistling, and clapping for us. We also bought some air horns (can’t have a racing crowd without them) and proceeded to make lots of noise.

All in all far more exciting than a normal week, and we didn’t even get to play with any supercars.

This week I have been mostly listening to… small block V8s.

Back to top


LISA

‘Good Morning! Bizarre Creations, Lisa speaking!’

This week I have been a very busy lady. I have been helping the Master Chef (not Master Chief!) Graeme with the evening meals for our dedicated staff who have been staying late working hard to ensure the game gets out in time! I’m not a very good assistant cook though, I am capable of burning soup! So the only thing Graeme lets me do is chop the onions and prepare the salad!

Just last Friday the sun was shining, and so to cool things down the whole office had ice lollies in the garden. YUM! So guess what we’re hoping for this Friday???

Saturday was a busy one. I did my big office clean up which took me eight and a half hours to do! By the end I was so dirty my white bottoms were grey! But at least I don't have to worry about that for another six months.

I try and do all the DIY in the office. Never leave it to the men, they leave it for days and then don't follow the instructions as meant to and if it still wobbles…put 20 nails in it… glue it and sticky tape it together…hey, Graeme!!!

Today I bought two new benches for the studio garden – but encountered a problem. Once I bought them, I couldn't fit them in to my little car. In the end I had to call the office and ask Brian to come down in his monster truck and collect them for me. Very embarrassed, I must say! And then when I finally got back to the office my parking space was nicked by one of the lads! It's mine, mine, all mine!

Today I was told by our Air con guy that I make the meanest cup of tea. I'm not surprised! I'm forever making tea – that’s why they put the toilet next to reception, especially just for me, tee hee! One of the nice men fixed the broken doors arms around the office for me. The office always needs some kind of DIY job doing everyday, its just non stop for me and my many skills!

Next time we speak I will have more metal in my mouth than Jaws from the James Bond movie Moonraker.

Bye for now!

Back to top


CHRIS

Balancing is the single most difficult task I’ve done in any game. When you balance an online game this only gets harder, with griefers and cheaters constantly trying to make the game do things we never designed it to do.

This last few weeks we’ve been looking into the overall game balancing aspects of the project, setting up systems to get areas completed and making sure the online counterbalances the offline nicely, rather than one being easier than the other. With the amount of features we’re pouring into the game this time, it’s very hard work involving very long hours and very difficult problems. Hence my short update!

Man, I wish I concentrated more in my mathematics lessons in school.

Back to top



© Copyright 2010  Microsoft Corporation. All rights reserved. | Terms of Use | TRUSTe Approved Privacy Statement | Game Content Usage Rules

email this page Email this page    blog this pageBlog it