Gamasutra is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Gamasutra: The Art & Business of Making Gamesspacer
Postmortem: Realtime Worlds' Crackdown
View All     RSS
April 19, 2021
arrowPress Releases
April 19, 2021
Games Press
View All     RSS







If you enjoy reading this site, you might also want to check out these UBM Tech sites:


 

Postmortem: Realtime Worlds' Crackdown


September 7, 2009 Article Start Previous Page 5 of 6 Next
 

3. Renderware Studio and Data Pipeline

Not to dance too lively a jig on Renderware's grave (if only because the people at Criterion were nothing but professional and courteous at all times), but the Crackdown asset pipeline issues began and ended with Renderware Studio.

The initial evaluation of Renderware Studio's capabilities via the available demos was very promising. Unfortunately, we learned too late that these did not scale nearly so well to major next-gen game development. A lot of data that might otherwise have been part of the source code or simple text files was stored in the XML database.

As the project grew larger, the task of synchronizing Renderware Studio data with source code became more difficult, with changes to source code often requiring corresponding changes to Renderware Studio data.

Worse, a dependency between the structure of the XML data and the contents of the source code header files meant that code changes would regularly break the development environment for the artists and designers.

We were forced to introduce a more onerous check-in system that attempted to reduce the risk of one person single-handedly screwing over what became a very large team, again radically impacting efficiency.

The start-up time and general performance of Renderware Studio suffered heavily as the volume of game data steadily increased. Data sorting and searching was also inadequate so, as the structure became increasingly more complex, changes became correspondingly more dangerous. The inherent design of the system made it impossible to fix this.

When we started porting the game to Renderware 4, it emerged that the matching new version of Studio would not be ready in time. We opted to stay with the old version of Studio by means of some judicious hacking. We were then stuck with old unsupported software and a halfway-house build pipeline. We wasted a great deal of time making two Criterion products work together.

Renderware dominated our tool chain. The testing of a single asset could take upward of an hour, directly impacting productivity and indirectly impacting quality since it naturally discouraged regular testing. One ongoing frustration was that the 3ds Max exporter source was never made available to us, preventing any modification and ultimately leaving us to write an alternative exporter.

Internally, we made various pipeline improvements, largely focusing on the automation of batch asset exports and subsequent error checking. Despite this, our final workflow was massively slower than the comparable environment of Unreal Engine 3. The required pipeline improvements were well understood, but the scope of overhaul and inevitable teamwide disruption made them completely non viable mid-project. We had no choice but to limp on to the finish line.

4. Cooperative Mode

Co-op mode certainly wasn't something that we did wrong, far from it. The implementation was spot on and the result was phenomenal. Unfortunately co-op mode was something that, during development, went wrong, repeatedly.

Crackdown was always designed to be a multiplayer experience. The plan was to make arena games running client/server for 8 to 16 players. The first playable demo delivered on Xbox featured a crude four-player version of Stockpile (a competitive game mode that was eventually shipped in the downloadable content pack). Though the game was great fun, the number of NPCs and interactive objects within even a limited arena were sub par for the intended Crackdown experience.

Then came a big push from Microsoft to include co-op in every title. After some fervent head scratching, we concluded that a traditional lock-step solution would be ideal for Crackdown, provided the number of players did not exceed two. Transmitting only player data meant that the bandwidth requirement would be low and the potential for maintaining an experience that felt pretty close to the solo game was very appealing.

The only potential stumbling block was that the game had to be tolerant of roundtrip latencies of up to 200ms. In this worst case scenario, the game's response to control input would be lagged for that same amount of time. The situation was mocked up and although noticeable, was acceptable.

Central to this method was a fully deterministic implementation of all game code. Initially progress was good with only the occasional bug, but soon the mounting pressure caused a knock on of programmer errors (un-initialized data, linking game logic to render data, random number issues).

All sync bugs were Severity 1 but needed to be tracked sequentially with no way of knowing how many lay in wait. For a long time, the soul-crushing task of tracking these down fell to just one person whom nobody envied.

Mass scale sync-locked development will always be difficult, but we should have planned to share the burden of identifying the bugs, if not to improve understanding of the key contributing issues, then at least to maintain coder sanity!


Article Start Previous Page 5 of 6 Next

Related Jobs

Sucker Punch Productions
Sucker Punch Productions — Bellevue, Washington, United States
[04.19.21]

Staff Environment Artist
Sucker Punch Productions
Sucker Punch Productions — Bellevue, Washington, United States
[04.19.21]

Senior Games Writer
Sucker Punch Productions
Sucker Punch Productions — Bellevue, Washington, United States
[04.19.21]

Senior Systems Designer
Arkane Studios
Arkane Studios — Austin, Texas, United States
[04.19.21]

Lead VFX Artist





Loading Comments

loader image