Game Development Community

Questions about packaging my game & file sizes

by Shawn C. · in Torque Game Builder · 10/18/2005 (12:42 pm) · 5 replies

Hi. I have been creating 2D games and publishing them on the web for close to 10 years now, and I have recently had a desire to put more engine behind my games. Previously I have created my games in Flash and/or MFC ActiveX C++/GDI. When I design and create my games I am always thinking about how long players will have to spend downloading the game. With Flash, I can do a complete game in 100-200K. I realize this will not be the case for a D3D based engine, so my question:

How is the final game packaged and how big will the download be?

Let's assume for the sake of my question that I am making a Tetris clone with graphic and sound resources totalling 500K in size.

After using T2D to create my game will I be left with an .exe, some jpgs/pngs, and a few .mp3s which I then have to package with a third party installer (such as Installshield)?

Are there redistributable DLLs to consider?

How big is a Hello World project (including required DLLs, etc.)?

I thank you in advance for helping me make an informed purchasing decision, and apologize if this info is already readily available elsewhere.

-Shawn

#1
10/18/2005 (1:01 pm)
As you noted, you can chop down "all that's required to play" for games in Flash, etc. into a very small package--but that's primarily because of the fact that simply by having a windows computer (or mac, or whatever) that can play "flash" games, much of the underlying engine has already been downloaded to that customer's computer.

Put another way, the only real direct comparison between a TGE/T2D game's distributable size and a flash game's distributable size would be if you were to include in the flash game's size not only the game itself, but flash, the executable and required assets for the browser, etc., etc.

To answer your other questions:

1) Yes, most of the scenarios for distribution will incude some form of 3rd party (not part of Torque) installer capability.

2) For cross-platform capability Torque has a couple of small .dll's (OpenGL/OpenAL stuff mostly) which are not normally used, but included in most Torque game distributions. You do of course have to provide the Torque/T2D executable.

3) A "Hello World" project is a really bad example--it's kind of like saying "how big is a new furry steering wheel for my porsche?" The script lines to do the "Hello World" output is roughly 5 lines of code...but you still need the engine executable, the stock assets for splash screens, etc., etc....or in the car example, the fuzzy steering wheel cover weighs 4 ounces, but the porche to put it on is a ton or two...make sense?

I know this didn't answer your root question (how big is the distribution package for a generically sized T2D game), so hopefully someone that has put together some demo's/downloadables can take care of that for you. I can say that the one commerically available game using T2D (Gold Fever by Tik games) has an installer package on my hard drive that is 10 meg.
#2
10/18/2005 (1:19 pm)
Thanks for the quick reply.

Quote:3) A "Hello World" project is a really bad example--it's kind of like saying "how big is a new furry steering wheel for my porsche?" The script lines to do the "Hello World" output is roughly 5 lines of code...but you still need the engine executable, the stock assets for splash screens, etc., etc....or in the car example, the fuzzy steering wheel cover weighs 4 ounces, but the porche to put it on is a ton or two...make sense?

This is really what I was trying to get at. I know how big my furry steering wheel is. But what I don't know is how much the Porsche weighs. I want to know how much Torque overhead will need to be downloaded by the user for even the simplest of games which I may create.

When I look at the Desert Defender demo and the 2D Fish Bowl demo, they are each about 4.5megs. If it is safe to assume that they are not loaded with unnecessary overhead, then I guess that really provides my answer.
#3
10/18/2005 (2:13 pm)
The demos most certainly haven't been reduced or optimized either for download size or performance. We're were initially (possibly not the best call) trying to show what you can get done in half a day to a day.

It's a very hard question to answer without asking lots of questions (or sounding like you're trying to avoid the question) like, do you want D3D support or OpenGL or both? Do you want OpenAL support? Are you interested in using the common script-libraries or do you want to roll your own or remove the stuff you don't want? etc etc.

Taking the T2D executable, the OpenAL library, the OpenGL library and some basic scripts and compressing them gives about 980Kb. Of course, this is the full T2D executable with *everything* in it and doesn't include the graphics for your game which is unknown. A full v1.1 executable can be UPX'd down to 670Kb.

Even these values become useless quickly as soon as your start doing your own things.

- Melv.
#4
10/18/2005 (2:41 pm)
I have a very simple game called "Magic Boxes" ziped down to 2 MB (1.96MB)... uncompressed its 3.91 MB

I haven't even tried to optimize it though...
#5
10/18/2005 (10:12 pm)
Don't use UPX. It's an illusion! Try this: zip an exe both before and then after you run UPX on it. You'll see that the UPXed EXE, while smaller, will end up with a bigger zip.

Also try to use LZMA compression, it can be much smaller than zip/zlib. The NSIS installer can do LZMA, some others too I think.