Monday, October 25, 2010
Sunday, October 24, 2010
Phill and I have been focusing on the Wii port for the last while. One of the biggest challenges is squeezing the game into nintendo's 40mb limit for WiiWare titles. The game originally shipped with roughly 400mb data and 600mb music. To get it to fit we have to make absolutely every bit count.
The last thing we want to do is completely butcher the game so we've been trying lots of tricks. For the textures we started with 298mb of data. That's 32bit completely uncompressed. We have a budget of 6mb so simply resizing them is not going to work out at all.
Without looking at compression we noticed that many of the textures had repeating information in them. This came about from the texture compression on the dreamcast. We limited the textures to power of 2 and square. This meant that the artists filled the textures to meet that when smaller repeat textures would do.
To solve this Phill whipped up a shading language to sit of the Wii gx. With it we can apply texture repeating and scaling. Here's an example:
New Texture with shader
texwrap MirroredRepeat MirroredRepeat
Some of the unique detail across the texture is lost but we get to maintain a better resolution.