Contents
Postmortem: Sniper Studios' Crazy Taxi Fare Wars
 
 
Printer-Friendly VersionPrinter-Friendly Version
 
Latest News
spacer View All spacer
 
November 22, 2009
 
Video Game Watchdog National Institute On Media And The Family Shutting Down [11]
 
Modern Warfare 2 Infinity Ward's 'Most Successful PC Version' Yet [12]
 
New Tech, Design Details Of Project Natal To Emerge At Gamefest In February
spacer
Latest Jobs
spacer View All     Post a Job     RSS spacer
 
November 22, 2009
 
Sucker Punch Productions
Character Artist
 
Sucker Punch Productions
3D Environment Artist
 
Sucker Punch Productions
Network Programmer
 
Sucker Punch Productions
Texture Artist
 
Sony Online Entertainment
Brand Manager
 
Monolith Productions
Sr. Software Engineer, Engine - Monolith Productions - #113767
 
Crystal Dynamics
Sr. Level Designer
 
Gargantuan Studios
Lead World Designer
spacer
Latest Features
spacer View All spacer
 
November 22, 2009
 
arrow Upping The Craft: Susan O'Connor On Games Writing [6]
 
arrow Small Developers: Minimizing Risks in Large Productions - Part II [6]
 
arrow iPhone Piracy: The Inside Story [48]
 
arrow And Yet It Grows: Analyzing the Size and Growth of the European Game Market [5]
 
arrow NPD: Behind the Numbers, October 2009 [13]
 
arrow Reflecting On Uncharted 2: How They Did It [5]
 
arrow Sponsored Feature: Rasterization on Larrabee -- Adaptive Rasterization Helps Boost Efficiency
 
arrow Postmortem: Wadjet Eye's The Blackwell Convergence [2]
spacer
Latest Blogs
spacer View All     Post     RSS spacer
 
November 22, 2009
 
Accepting the Inherent Value of Games
 
Planckogenesis, Part II: Song Structure & Gravy Train [1]
 
Designing Games Is About Matching Personalities [1]
spacer
About
spacer News Director:
Leigh Alexander
Features Director:
Christian Nutt
Editor At Large:
Chris Remo
Advertising:
John 'Malik' Watson
Recruitment/Education:
Gina Gross
 
Features
  Postmortem: Sniper Studios' Crazy Taxi Fare Wars
by Jeff Hasson
0 comments
Share RSS
 
 
October 3, 2007 Article Start Previous Page 3 of 4 Next
 

What Went Wrong?

Looking back over the development cycle for Crazy Taxi Fare Wars PSP there were several key areas that posed technical challenges not only to the performance of the game but even threatened our ability to finish the game over all. There were difficult hurdles with two cabs in multiplayer, framerate issues in all modes, having both CT and CT2 on the same UMD, streaming data off the UMD and using the default Sony game state for Ad Hoc.

Multiplayer – The first topic to mention is the multiplayer modes of the game and specifically the Head to Head mode. We took the original Dreamcast source code from Sega of Japan and used it as our basis for porting. From a design standpoint, multiplayer was the next logical step in the evolution of the franchise, but re-engineering the original code to support two independently controlled cabs in the same space, on the same map, at the same time, proved to be a difficult challenge.

Advertisement

The original source code layout for the collisions and physics of the cars was spread out into several areas, making the task even more technically challenging. Our engineers were perplexed by this layout and knew that it would take too long to try and completely track down all of the effects that a single change might make to either part of the code.

So overall it was decided that we would not attempt to change any part of this code, both to keep the original feel of the game as true as we could and also so we didn’t accidentally create bugs that we would then never be able to track down. This isn’t a complaint against SOJ’s Dreamcast code; it’s just a fact that the original code was never intended to support two players at the same time.

The first step to getting the second car working correctly was making both the cars aware of each other on the map. Next was making the AI cars correctly spawn and track to each user-controlled cab. We ran into many issues with memory and framerate problems here too, especially in CT2, where the player cars are all loaded individually, as compared to CT, where the four player cabs/characters are all loaded from the same file at the same time. One of the few limitations of porting Crazy Taxi to the PSP was having to compromise on the amount of AI traffic in multiplayer. In the single player game you’ll notice that there is much more AI car traffic around your cab compared to the head-to-head mode.

The PSP didn’t have enough memory to handle many more than five AI cars per player-controlled cab without severe framerate slowdowns. So if both players are within sight of each other on the map, then there should be approximately ten AI cars total in the world. These AI cars had to be made aware of their physical location in relationship not only to the cab that they were created to be around, but also the other cab and its AI cars as well.

UMD – Another area that proved to be challenging was the fact that we had two complete games on one UMD. In the original design for CTFW we technically had four complete games with the addition of the multiplayer code for both CT and CT2. We were going to have the multiplayer modes available from the main menu, but this quickly became a problem with load times because the entire multiplayer code is based off the single player code.

If we wanted to play a CT2 head-to-head game, we had to first load the CT2 single player game code. The reality of having a multiplayer button on the main menu was that the user had to wait for the single player game to load anyway, so it seemed like it was taking forever to launch a head-to-head game. We decided to have the single player game executables on the main menu and then add the multiplayer game options to the existing GUI for each version of CT.

Although we ended up not having a direct route to the multiplayer modes from the main menu, we actually slightly improved the load time of getting into a multiplayer game by keeping these modes in the game menus and off of the main menu.

Streaming data off the UMD also proved to be a difficult issue for us to nail down. We were on a compressed schedule to try and finish CTFW as quickly as possible. The lead times to request and obtain testable UMDs burned from SCEA were prohibitively long, so we didn’t get any UMDs made until very late in the development cycle.

The theoretical assumptions we made early on in the design of streaming the data weren’t tested until just before we were preparing to submit to SCEA for approval. What we found were long load times and decreased frame rate that we had to adjust for. You’ll notice that if you use the custom music player instead of the in-game music, the performance of the game improves a bit. This is due to the fact that the custom music player streams the data from the Memory Stick and not the UMD, thus the seek times for the rest of the game data improved.

 
Article Start Previous Page 3 of 4 Next
 
Comments

none
 
Comment:
 


Submit Comment