IGN64: What strengths and weaknesses did the N64 have when porting this game over from the PC?
Factor 5: The big strength was the N64 cartridge. We use the cartridge almost like normal RAM and are streaming all level data, textures, animations, music, sound and even program code while the game is running. With the final size of the levels and the amount of textures, the RAM of the N64 never would have been even remotely enough to fit any individual level. So the cartridge technology really saved the day.
In terms of weaknesses we fought hard against the fill-rate limitations of the N64. We loved Hi-Res on Rogue because of its crisp look, but the framerate was questionable. So when starting the engines for both Indy and Naboo, the main goal was to get a high framerate in Hi-Res. This meant not using the Z-Buffer, because it alone uses quite a bit of the N64's fillrate.
IGN64: We've noticed that the game has some really crisp textures. How did the team manage to get so much out of the N64?
Factor 5: We are using every trick possible in terms of optimal use of the 4K texture cache for every single texture. The programmers figured out the weirdest texture formats to get every texture to maximum resolution. An elaborate tool analyzes each original source texture and tries to come up with the best texture format for it on the N64. The tool also allows manipulating and choosing these texture formats by hand, something which we had to do in a lot of cases.
The sheer amount of textures was possible due to the streaming from the cartridge. While the player is running through the level, the program figures out which parts of the level need to be streamed in and does that in the background. So the amount of textures and size of levels is only limited by the cartridge, not the RAM of the N64. To achieve this, we had to rewrite not only all of the microcode but also quite a bit of the N64s operating system.