It's free to join Gamasutra!|Have a question? Want to know who runs this site? Here you go.|Targeting the game development market with your product or service? Get info on advertising here.||For altering your contact information or changing email subscription preferences.
Registered members can log in here.Back to the home page.

Search articles, jobs, buyers guide, and more.

By John Li
Gamasutra
[Author's Bio]
August 15, 2002

What Went Right

What Went Wrong

Game Data

Printer Friendly Version
   



Game Developer Magazine Back Issues four CD Set.
Every issue 1994 to April 2002.
Price: $189.00 + S&H

Letters to the Editor:
Write a letter
View all letters


Features

Postmortem: Pixelogic's The Italian Job

What Went Wrong

1. The Chicken and the Egg. Large amount of art resources were taken up to coincide with the development of COSS, which will allow for large free-roaming environments to be loaded 'on-the-fly', but to test this new technology to its limits, levels needed to be modelled to a near finished state. This whole process involved a lot of art being reiterated and the fact that London ended up being built before the loading technology was finalised resulted in four 'wasted' months, the pressure was on to have a level up and running so playable missions could be implemented, publishers wanted to see a game, these first four months would better have been used finding a good quality/style for the levels.

Basically, all the artwork done on the London in the first four months was scrapped except for the general layout and the whole city had to be modelled again, this new version of the city was done in double time and so there was no time for quality assurance. After a couple of months of our artists slogging away, it became clear that the almost complete new London level just didn't reach our graphical standards so the artists had to start building pre-fabricated buildings with textures and replacing all the poor quality buildings with the improved ones. All this re-working of environments also affected the mission schedule so playable missions were no longer playable and had to be re-tweaked or even re-designed by the designers to make them work.

This turned out to be a good learning experience in how to deal with massive levels but if there was a little less pressure in the beginning while COSS was being developed, we may have actually kept the first few months of work.

Some lessons must have been learnt, the hard work at the beginning wasn't all a waste of time as Turin was built in a similar fashion but actually took less time to build even though the completed city was quite a lot bigger than London.

London finally contained over 150,000 polygons and Turin consisted of over 250,000 polygons. The layouts for each city were based on real road maps so the authenticity of how these cities came across were as accurate and true to life as possible.


London, as modeled in 3DS Max


2. Joy riding. During the final stages, just two weeks before submitting the gold master, Robin one of our programmers had been working over the weekend tying up some loose ends. He left the office, got into his car and started on his way home, meanwhile some delinquent joy-riders were screeching around a corner so fast, they had veered onto the opposite side of the road resulting in a head-on collision with Rob.

The rest of the team found out about the accident on the following Monday morning, Rob was in hospital, strapped down so he couldn't move. The news from his mother was, he could have seriously damaged his spinal column and the fear of Rob being paralysed was in the air, everyone was in anticipation of the X-ray results.

A call was received later that day, again from his mother, the doctors said he was in the clear but he wasn't allowed to move and had to stay in hospital until further notice, a sigh of relief was heard from everyone in the office.

Luckily, after a few days he soon started to recover and was sent home to rest, we sent him cards and joked about ideas of how we considered transporting his PC from the office to the hospital and rig it so he could look at a screen and code while still being laid on his back -- we wouldn't really do a thing like that.

The game still had to be finished so after a few phone conversations we sent the PC to his house in case he got bored and he painfully continued to finish coding his part of the game from his bed.
This delayed the completion of the game by two weeks; I don't think you could ever prepare for such an event in a development schedule, it's definitely one Pixelogic will always remember. Rob has now fully recovered; he only twitches now and again.

3. Fast-loading blues. There is nothing worse than having to wait for a game to load, especially if the mission only lasts a couple of minutes.

Our loading system before the fast loader involved having a separate executable for each mission, which had to be loaded in and executed. Once executed, the executable file had to initialise all of its variables and load all of its graphic and sound data, this proved to take too long and something had to be done to reduce the load times.

The basics of the fast loading to be developed involved taking a snapshot of the memory contents once a stage had been loaded with the graphic and sound data initialised, this snapshot could then be loaded at any time and the stage would effectively be restarted. At first, this method was thought to be too complex for a simple problem, and it did not solve the problem of having separate executables for the front-end and every single stage in the game.

More research into solving similar problems involved using memory overlays, which would mean the front-end, and the basic game code would be contained in one executable. Unfortunately this method was not compatible due to the complexity of our current game engine and adding this sort of functionality would have meant completely re-writing the game engine, a task we simply didn't have time to do so it was back to the original snapshot idea.

A basic fast loading system was written within the next few days, which worked fine on the PC but would not work when run from a CD. After days of hair pulling, the problem was traced to a combination of bad CD's and dodgy playstations that had been dropped one too many times on the floor. After more testing and code optimisations, the new loading system worked fine and the loading times began to become more reasonable. The only drawback was that it still had not solved the problem of separate executables for each stage and this became a real pain as we had two main cities which were shared across over 86 stages, so if small level changes had occurred, this meant having to recompile 40 or more stages again before re-taking the snapshot. It got even worse than this, if there was an in-game front-end change; all 86 stages had to be recompiled and run before a snapshot could be taken.

Compile times have always been long, but not as long as we anticipated. Our problems did not stop there, we tried to get a system going where we shared the compiling between two machines to cut the time down, this itself contained many problems as the two sets of snapshots simply wouldn't work together when burnt onto a CD. After many late nights and living out of the office with frustration and another added problem of our CD burner breaking down, the two PC's compiling problem was traced to fact the game data on each of these machines were not totally synced. A streamlined compiling method eventually surfaced that did not involve too many late nights and compiling could be then left to run on one machine overnight until the last couple of weeks of the project where game testers were brought in to help iron out any left over bugs, so compiling became an everyday occurrence until the game was finished. The result of all these problems encountered finally gave us a more efficient system of compiling a whole game build successfully and reliably.

4. SFX. The sound code and how we added sound from our previous projects enabled any member of the team to add sound to collisions, objects, vehicles, and levels quickly and easily, however on TIJ the code structure of objects differed slightly so we lost some of the flexibility that our original sound functions gave us. More of our sound playing functions were lost as new technologies were coded such as car handling, rigid body physics, and collision code. While implementing new sound code and adding the actual sound effects to the game, problems began to occur due to lack of sound resources available, because of this some of the engines sounds ended up looping very badly. The main music tracks and basic SFX were outsourced at the start of the project but there was never a review of the ongoing work and this ended up with nobody really liking the results.

In the end it was considered best to re-do all the sound effects ourselves and due to the unforeseen car accident of our programmer who was in the process of implementing this code, it became a bit of a rush job. Eventually with our sound functions back in place where they should be, the game began to sound how we intended.

The amount of speech and effects to be implemented in TIJ was far greater than any other game we had previously encountered, a lot speech samples had to be squeezed into memory with a lot of other generic sounds through heavy editing and compression techniques.

Our mistake of underestimating the length of time for this amount of sound implementation has taught us a valuable hard lesson; we now take much more consideration of sound from the outset to allow us to make proper use of any outsourced sound resources efficiently.

5. FMV. The inclusion FMV was discussed at the design stage of TIJ, we planned to use our in-house scripting language known as the Mission Builder which allows us to prototype and create game content quickly without the need of programmers, so designers could create short scenes using the in-game engine and blend it to the corresponding missions for a seamless gaming experience.

However, the Mission Builder was never designed to produce complex cinematic scenes and new functionality had to be added to achieve this. The process of creating in game cut scenes could be quite crude since there was a limited amount of feed-back to the designer and to create a short sequence of five seconds could take up to two days which then would have to be constantly tweaked. This involved creating paths for cameras and objects within 3DS Max, then exporting these positions to the Mission Builder where speeds and simple camera behaviors could be scripted to make the scene work. Unfortunately, the designer could not see the total outcome of their work until the stage/mission was compiled and ran.

The whole process took way too long to make a scene look right, with limited camera controls and once a high standard of camera work was reached, it was extremely difficult to leave any other camera work that wasn't up to scratch, the time would have been better used to polish the missions. The amount of time required to produce this type FMV would definitely need cutting down in the future by creating better tools so our designers can produce in-game cuts quickly and confidently.

The main FMV to be shown at key stages of TIJ was going to be outsourced by the Publishers, unfortunately this did not get confirmed and time was getting on before we were told that we were not going to get any outsourced FMV. We quickly realised the need to produce at least a minimum set of FMV ourselves to progress the plot within the game. In-game footage had to be created, captured and edited together to create these FMV sequences in the three months left of the project. Some mayor story lines had to be explained and there wasn't much time to do this in, the final results could have been a lot better if we had known earlier that we would be doing this stuff ourselves and time would have been scheduled for this. However, an intro movie was outsourced but these key plot sequences would have been a lot more polished if they had also been outsourced from the start of the project. Production values are so important and can affect how the general public judge any product.

______________________________________________________

Game Data


join | contact us | advertise | write | my profile
news | features | companies | jobs | resumes | education | product guide | projects | store



Copyright © 2003 CMP Media LLC

privacy policy
| terms of service