Developer diary: Steve Jopling, senior programmer
I was responsible for programming the enemy NPC (non-player character) AI on The Getaway: Black Monday. In this developer diary, I'm going to talk about some of the things we developed and a few of the challenges we faced while creating the missions.
I joined the team in April 2003, roughly five months after the release of The Getaway in Europe. The team had been busy planning the sequel's story and putting together designs for the new gameplay features that they hoped to include. From the very start we decided that the best plan was to overhaul the AI code from the first game and add new behaviours and functionality that would provide much more variety for the player. Something that was very important for us was to let the enemies utilise as many of the player character's moves and skills as possible, which would add much depth to the gameplay and provide a more rewarding experience for the player.
Before I started, some re-development had begun on the code, which meant that I had to spend time working with the design team to get the code in a state to allow future development. We were able to iron out many of the flaws that had been present in the original code and really tailor the system to their requirements. After all, they would be making the missions over the course of the next 18 months and if I wanted my vision of the AI to be realised, then I would have to be available to help them as much as I could while keeping on track with all of my other work requirements.
We worked towards monthly milestones that allowed us to create components and build up the NPC behaviour in a modular way. For example, one month we added stealth support to the SO19s and the next month we added new moves, like jumping, vaulting and crawling. This happened while the design team produced mission content (sometimes at a very quick pace), so I tended to work on things as they were required. It was hard work, especially as I had to keep an eye on the AI schedule while fire-fighting the bugs and problems that seemed to crop up on almost a daily basis.
All of this was leading up to the first public showing of the game at E3 in May 2004, a time that also coincided with our alpha milestone and the beginning of regular late nights and pizza!
Prior to E3 we had worked a lot on the Mitch mission Chase on the Rooftops but for the public show we decided to show the Eddie mission Shootout at the Snooker Hall. These missions had a very different feel and also showcased different aspects of the gameplay such as hand-to-hand combat and the ability to jump and climb. The snooker hall was the perfect level to show the enhancements we had made to the enemies' movement and their ability to use the cover of the snooker tables during the gun fights. As the show would be public we were all aware that this would mean our first magazine and web previews so it was imperative to iron out as many of the problems as possible while making sure that the game was fun and would capture people's imagination once again.
It's surprising the advances that are made when everyone is working together towards a tight deadline and this was no different, with the game coming along really well before the disc went to E3, even if we did work for 36 hours straight! After the show it was great to hear of the buzz that had been generated and reading the positive comments in the previews made all the work worthwhile, especially when the AI received particular mention!
We were now in the final phase of the game's development, heading (quickly) towards our master acceptance date and the knowledge that the game would soon be in the shops. During this period we worked many late nights, and some weekends, fixing all the remaining hard-to-find bugs and adding as much polish to the game as we could. It may seem extreme to work such crazy hours but the extra time spent really helped to make the final product as good as possible. It also means that when I show my friends and family the game, they're less likely to see an enemy running on the spot or doing something stupid.