Game Development Community

If you've submitted a Xbox 360 Indie Game... Can you tell me how you compressed your audio, video, and large art files?

by Randy Lutcavich · in Torque X 2D · 10/16/2009 (1:54 am) · 5 replies

I'm trying to figure out how to get my game down to under the 150MB size limit required to publish games on Xbox Live Indie Games. I have a couple questions to anyone who has successfully done this already.


1) When you packaged for XNA did you have to do anything special because you are using TX2D? Or does packaging the Xbox Game class automatically remove all of the unecessary TX2D files??

2) Did you have any large art files or cutscene videos and if you did, how did you go about compressing them but keeping their quality?

3) The WAV files required for XACT are huge!!! How did you compress them? I have seven songs in my game and just one of them is 50MB! How do I get these down in size but still be able to use them in XACT without losing too much quality.

4) Were there any other troubles getting your TX2D game on Indie Games that you could warn me about?


Thanks!

#1
10/16/2009 (11:54 am)
1) You don't need to do anything special - just 'package as an XNA creators club game'. Have a look at the resulting .ccgame to see how big your game will be on xbox.

2) In the Visual Studio project's properties make sure that 'Compress content pipeline output files' is checked in the Content Build section. If you need further/specialist compression then check out the XNA forums. Also, try to maximize reuse of art by decomposing it into reusable parts as far as possible.

3) XACT supports compression down to about 10% of original size. For looping music use XMA compression for xbox. For non looping you can use xWMA which has a better compression ratio, but seems to cause a small gap when looping.

4) Nothing specific to TX that I know of.
#2
10/16/2009 (12:20 pm)
Debug builds do not compress the files. If you do a release build it will compress everything and give you an idea of the final size. You will also be able to look in your bin directory to get an idea of which files are taking up the most space and decide which ones you want to modify to make them smaller if necessary.

In StrikeForce Psi I had 3 layers of scrolling backgrounds. I took the back sky layers and reduced the files to one quarter normal size and then resized it back up in code before drawing it to the screen. That kept the detail of the front layers and really didn't affect the back layer very much. I also set my audio files to compress to medium quality rather than best quality. I couldn't really tell the difference in game, but those 2 actions allowed me to go from about 70 MB to under 50 MB.

--Tom
Starlit Sky Games, LLC
#3
10/16/2009 (1:47 pm)
Duncan and Tom are right on target. I always found the XACT compression to give me the most gain since the audio files tend to be the largest assets. We've been working on custom a content importer and processor for .txscene, .dts, and .ter files - but we're still a good ways away from that being ready. When available, that will also shring asset size and improve load times.

John K.
www.envygames.com
#4
10/16/2009 (2:10 pm)
Thank you all!

I did find a link for compressing audio in XACT. XACT can be confusing so if anyone else reading this needs help, here ya go:
[URL]http://blogs.msdn.com/mitchw/archive/2007/04/27/audio-compression-using-xact.aspx [/URL]

I will definitely try clicking the 'compress content pipeline output files' option and checking the size of the release files.

John, the custom content importer and processor sound cool. Can't wait!

Finally, has anyone added video to their published game since the latest updates that allow it? If so, how did they compress it?
#5
10/16/2009 (10:16 pm)
Will be adding video on one of the projects I'm currently working on, but haven't done so yet. Any heads up on possible 'gotchas' always appreciated.

On a different note, I built Debug and Release versions of the .ccgame and they were the same size (33megs) - in fact the release build was 100k bigger. Projects vary though, so as always, check the release build - never assume that a release build will be exactly the same thing as a debug build.