Game Development Community

Torque X and the 50 MB limit

by Ron Barbosa · in Torque X 2D · 05/11/2010 (2:52 pm) · 14 replies

Hey all...I'm frustrated right now, and I'm looking for some guidance/inspiration.

I'm using Torque X and building an Xbox 360 Indie Game. I got some really great artwork from a really talented artist, and the size of my .ccgame files are growing. I'm looking to hit the $1 sweet spot and try to make the game successful on volume, but as XNA Creators Club members know, you can't sell your game for $1 if it's larger than 50MB.

I'm just curious what folks are doing to keep the visual appeal up without cresting that 50MB limit. I'm in prototype stages right now, I have 1 .txscene file, no sound effects, and no music, and my build is about 9.7MB.

I got a great sample background image and integrated it into my scene file, and the .ccgame file grew from 9.7MB to 11MB. The background image would be 1 of maybe 8 images for this level. At that growth rate, I'd be looking at 20MB for the first level alone. I'd like to have about 8 levels minimum in the game.

I've tried setting the texture format to DXT Compressed, which saves significant space, but looks completely destroyed onscreen. The source image is a JPG. When using DXT compression...it's just a very tiled and disjointed image. You can see some of the shapes and colors of the original, but it's completely not a usable asset.

[UPDATE]When deployed to my Xbox 360, the DXT settings work fine. In the end this will probably suffice, because I'm targeting 360 only for this build. But I guess it's just my once-state-of-the-art-but-now-defunct-Radeon-9800-Pro card not keeping up with the tech. ?

Help me out, community.

  • What cool tricks are you all using to get a good balance of visual appeal and build size?
  • What file formats are you using for your imagery?
  • What is your ratio of asset pixels to on screen pixels? In my prototype, I imported the background image of 1280x720 pixels, but it's "zoomed in" to be 4 screens worth of playing space, so every image pixel takes up 4 screen pixels.
  • What are the resolution limits to Torque X? I tried to import an image of 2560x1440 pixels and it doesn't register in the Material Editor.
  • What sage advice do you have for me to manage my wants in terms of content in relation to my need to either remain within the 50MB limit or charge more for my title?

Thanks all!
--RB

#1
05/11/2010 (4:16 pm)
Heya, I'm not even trying for the 50meg size. My game will hopefully be around 140megs when done. That being said I have a tons of images, sounds, and music loaded.

Some things.
I use PNGs for my base image format. You should not use jpegs they are already compressed, knocking out a ton of non green color info. With PNGs I use DXT compression without problems. Even if your not having issues you should probably switch your native format away from jpegs.

Also I don't belive DXT compression will save you file size but instead cause the image to take up less memory when loaded into a video card.

Torque X Builder Crashes if you try to load an image taller then 1024 pixels. Its a real pain but I tend to cut my large images into pieces and reassemble them in game.

You shouldn't be seeing a growth that large from a single image. I have over 300 1024x1024 images in my game with sound and music. What format was that backgound image? JPG or Bitmap? As I mentioned mine are all PNG so saving your images in that format is something to try. Plus PNG is a lossless data compression as an added bonus. :)
#2
05/11/2010 (4:58 pm)
@Matt, thanks for the guidance, man. I agree and I'm totally anti JPG. The only reason I used the JPG in this exercise is because that's what the artist sent me as a sample. All of the other art in my game is in PNGs.

As for the DXT compression. I think the problem is with my very ancient PC and video card. It works quite well on my Xbox 360 (which is my target platform). Hopefully my next XNA game will sell enough copies for me to warrant an upgraded game development rig.

But FYI...the DXT compression DOES IN FACT save file system space and it's a significant savings.

I just did an exercise where I built my game and created a .ccgame file with the default settings of "Color" for the texture format.

The resulting .ccgame file size was: 10,719,905

Then I went to XNA GS 3.1 and changed all texture formats to DXT:

The resulting .ccgame file size was: 3,031,151

That's a huge savings.

In the end, what I will most likely do is go through my build and use the Color settings (so that I can play test on my PC). But when it comes time to do the final build, I will most likely change to DXT compression for the savings in file size.

I wish I could just get my PC to work with DXT, that would at least give me an idea of how the file size is growing as I add content. But I guess every once in a while during my build, I'll just switch them all to DXT and monitor it that way.

Sucks...but if it works in the end...no one said game development was easy. ;)
#3
05/11/2010 (7:48 pm)
"Reasonable men adjust themselves to their environment. Unreasonablemen attempt to change their environment to suit themselves. Therefore all progress is the work of unreasonable men."

I might have to submit a connect issue about this filesize limit 80 point thing. If MS wants quality games on the service they have to realize that 50 megs is a bit too small. I think it worked for the XBLA people, those games used to be 50 megs too or maybe 150 but now they are upwards of a gigabyte.
#4
05/12/2010 (12:42 am)
Ron I had the same results when I built my ccgame file. I used DXT and the originals were png. I believe png is lossless so ask your artist to supply you with them.

Also do not forget about sound, you can compress the audio as well. I don't remember what format my audio was in and I am on the mac now so I cant look. However in another thread I explained what compressed format would loop.

I also believe that TX has issues with ATI cards. I have an nvidia and all is well, but I do recall that there was some issue with some ATI cards.
#5
05/12/2010 (4:02 am)
@All...thanks for the guidance.

I think I'll manage to find a way to pull it all together. I was surprised to see how much the DXT compression caused the final archive to shrink. From 10.7MB to 3.0MB is much more than I'd anticipated.

@Henry...thanks for the info on the ATI thing. I'm due for a PC upgrade. Most likely after this title ships though. :(

Thanks!
--RB
#6
09/04/2010 (2:40 am)
Hi Ron,

I'm quite new to using Torque X and I am trying to locate "*.ccgame" files to determine what size (less than 50 mb) they become for XBLIG distribution.

Do you happen to know where I should look on the hard drive for these files? From within Visual Studio 2008 Express Edition, I select:

"Build-->Package Game as XNA Creators Club Game"

...and then on the bottom status bar it says "Publish succeeded".

However, I cannot find the ".ccgame" file anywhere on the hard drive, even using Windows Explorer search function.

Am I missing something here? Does this have something to do with the "Active solution platform" in "Configuration Manager" needing to be "Xbox 360" instead of "x86"?

Thanks in advance for any advice.
Neil
#7
09/04/2010 (3:52 am)
In reply to #6,

I think I discovered the answer, which I copied here in case anyone else needs to know or if this becomes a dead link:

Excerpt from msdn.microsoft.com/en-us/library/bb464158(v=XNAGameStudio.31).aspx

Quote:Sharing with Another User
The XNA Game Studio package utility compresses your game's built executable and assets into a special compressed format that other XNA Game Studio users can open and play. You may package only XNA Game Studio game projects. The package utility does not support XNA Game Studio library projects.

To package your game using the XNA Game Studio package utility from the Visual Studio development environment

In XNA Game Studio, open the project you want to package.

On the Build menu, click Package [projname] as XNA Creators Club Game, where [projname] is the name of the current project.

The output window indicates the status of the packing operation. If the packing operation is successful, the package file will be created with a .ccgame extension, and placed in the appropriate output folder of the project. For example, the package file for the release version of your Windows game would be located in the binx86Release folder. This example assumes that the default project settings have not been modified.

You may share this .ccgame file with other XNA Game Studio users. It is a compressed version of your project that contains no source code or source assets. Other users can play it, but they will not be able to view or modify your source files.

Note
Currently, only Xbox 360 games can be shared through XNA Creators Club.

I also want to point out that it seems to not matter what target you set whether "Xbox 360" or "x86" from within Configuration Manager within Visual Studio Express 2008. My settings were "Release" and "Xbox 360", and it seemed to work just fine. It compressed a compiled executable including both GarageGames.TorqueX.Framework and GarageGames.TorqueX.Framework2D libraries at a mere 436kb. This definitely leaves a small footprint well within the less-than-50-megabyte range.

Being new to Torque X, I was suspecting that adding the Torque X libraries / SDK / game engine might cause the compiled executable to expand to near or past the 50 megabyte range, making an 80 MSP pricetag on XBLIG an impossibility (because anything over 50 megs cannot be priced at 80 MSP according to current XBLIG enforced rules). I'm glad Torque X has a very small storage requirement - that's a relief.

Anyways, I hope this is helpful if anyone is trying to find their .ccgame files.
#8
01/05/2011 (6:14 am)
.
#9
01/05/2011 (1:57 pm)
Well you sure as s*** aren't going to get any help from anyone with that attitude :-)
#10
01/06/2011 (5:10 am)
Ahhh sweet you can help me then! Basically, everytime I import a PNG material into the 2D engine, and render the scene. The png image comes out in a huge white block? How come
#11
01/06/2011 (5:13 am)
.
#12
01/10/2011 (7:57 am)
You lost me at bam, I can't take someone who finish's their rant with that 3 letter word seriously.
#13
01/19/2011 (9:23 am)
@Solloman: Every single one of us knows the answer to your problem, but do you think for a second we want to help you right after you've been dissing on our buddy Matt? If you want help, then ask for it. This whole sh*t Bam stuff is ridiculously immature. You have to realize, all of us are like a family on here. Anyone you push, your pushing me.

With that said, welcome. ;-)
#14
02/13/2011 (1:45 pm)
LoL Just reading this... I cannot remember writing this so I apologize on an unusual behalf.