dark10x said:
How much leeway were you given in regards to re-working original assets? Were the textures simply down-sampled from the original release or were new textures created?
We weren't allowed to make any substantive changes to the look of the game beyond what was required to make it work on the wii. The artists could have created new assets only if they looked effectively the same as the originals.
Lone_Prodigy said:
Ignorant me thinks that all you need for a Wii port is essentially like dialing down the graphics options in the PC version. Shadows? Off. AA? Less/off. Number of corpses? Low. Textures? Low.
This is why I'm not a dev.
We were able to simply downsample assets in some cases, but new asset pipeline techniques were required in a lot of situations. Purely downsampling only gets you so far. You have to realize that the data for each level (this includes textures, animations, map geometry, audio, scripting, characters, props, particle fx, UI, etc.) had to be shrunk from around 80mb on the xbox 360 to around 25mb on the wii. If all we did was simply downsample everything to the point where it fit in memory, the game would look more like star fox on the snes than call of duty 4. In some cases, we had to come up with programmatic ways to get similar graphical fidelity with less texture memory. In other cases, we were able to stream higher-res assets off of the disc, but then you run into the problem of how the game knows what to stream in, and when to stream it such that you don't get texture pops, audio stutters, and things like that. So each level had to be retrofitted with triggers to tell the game what to stream in, and partitioned into chunks of coherent stream data. Then there had to be a balancing act to keep from exceeding the wii optical drive bandwidth. We had this same problem with all asset types, not just textures. Memory management tasks like this took up a huge amount of time, and had to be done individually for each SP and MP level.
Other than memory restrictions, CPU time was the other main bottleneck. Even running the absolute lowest quality assets, a huge amount of CPU time is tied up in level scripting, AI logic, line-of-sight traces, and everything else central to a first person shooter. When everything first fit in memory, the game ran at about 2 frames per second, and hundreds of engine optimizations had to go in to bring that up to 30. Cod4 runs with 32 AI at times (safehouse, heat, and the bog are the worst cases), and each one is calculating animation matrices, doing geometry traces, and running thousands of lines of script - every single frame. We weren't able to reduce the number of AI without significantly changing the gameplay, and so other elements of the engine had to be re-engineered to maintain an acceptable framerate. Building off of WAW for the wii gave us a head start, but a lot more engineering and optimization had to go into this project to raise the quality above what it was last year.
I know it's easy to look at some screenshots of the game and dismiss it as a phoned-in port, but try to realize the sacrifices that had to be made to maintain the original cod4 content and gameplay - it's a lot more complicated than just turning the "good graphics" knob all the way down. There is a reason you don't see more ports of 360/ps3 games to the wii that don't try to substantially change the game in some manner.