I get asked from time to time about the download size of my games. After all, it does seem like the file sizes should be far greater or at least the games should be downloading content constantly to make up for their small download and installation size. Instead, everything is compressed into a single installation file that is often only a few hundred megabytes or less. Indeed, the games do typically use about the same amount of system memory (RAM) when running as many other recent games, often several hundred MB, but the disk space requirement is extremely low by comparison. So how can so much content be compressed into such a small hard drive footprint? I'll explain a couple of the methods I use below and the reasons I consider it such an important design priority.
I'll review some of the reasons for the optimized file sizes first. My games are updated frequently and many players want to keep up with the latest versions. If they had to download a really large file every time there was an update, they'd spend much of their gaming time waiting for a download to finish. Instead, the single relatively small installation file for many of the games (which also works as an updating program) can be downloaded on most DSL connections in under 10 minutes. Another reason is I and many other gamers value hard drive space. I enjoy many other space games and most of them eat up a lot of hard drive space. I've found most gamers also appreciate saving hard drive space to leave room for other games they enjoy playing.
Now for a few of the methods. A lot of content can be compressed into a small download file, if done carefully. Using elaborate compression and careful design, download sizes for my games are usually under around a few hundred megabytes or less. I avoid adding unnecessary content or uncompressed media just to make the game appear larger than it needs to be, structure the content so it compresses well, and create a lot of media/data in code. Even after installation, the hard drive space required is still very low. The games still load very quickly and features content that would normally require about 10-20 times the download size without the compression, optimization, and coding.
As an example, consider a fading transition where several images might be used to gradually fade a visual effect from view. Instead of storing a series of static images for an effect that uses a fading transition, taking the original image and then processing the desired fading effect in code can greatly reduce the disk space needed. Compress the original image itself and you can even shrink down the size further. Repeat this process many times whenever you can and eventually, the disk space requirement is reduced to far lower levels.
I also avoid storing bulky images or mesh files as files when it's not needed. By creating some of the needed texture/image/mesh content in code, it can save massive amounts of space. This method involves drawing or creating some content in memory first, then using it as a texture/image/mesh where needed, rather than loading it from disk. Ironically, computers are so fast today that I can often build media I need in code virtually as fast as it can be loaded from disk. So with very little or no speed penalty, the space saving advantages are well worth the extra effort. My latest game, Evochron Mercenary, includes a fully seamless universe that needs to handle a lot of texture/image data 'on the fly' in real time anyway, so it's a natural system to incorporate into a game which depends on such capabilities already.
I do realize that there can be a negative perception by making the game as small as possible, there really has been a lot of effort (hype) put into building the mindset that it takes multi-GB's of hard drive space to provide a lot of content. But I often don't follow the crowd when it comes to development, I'm making space-sims after all :-) The risk of a bad perception is not worth the space/download time saving advantages to me or to most of the players of my games, especially considering there is a FREE playable demo to prove that there's actually a complete game packed into the small installation file for anyone who would doubt it. And if a doubter just doesn't want to be proven wrong, they don't have to try it.
For anyone that doubts a lot of content can be compressed into a small download, I recommend checking out '.kkrieger'. .kkrieger has been featured on magazine coverdiscs and gaming websites. It is a graphically impressive first person shooter (including real time shadows, advanced lighting, and shader effects) with a download size under 100K (yes you read that right, 100K bytes, not even 1/10 of a megabyte). That means about 14 copies of the game can be saved on one 1.44 MB floppy disk. This is an extreme example of how effective compression can be, but it's a good illustration of how advanced compression can reduce the size of a game. That level of compression does have a few drawbacks, such as a long load time, but the result is still very impressive. Head to http://www.mobygames.com/game/kkrieger-chapter-1 to check it out or you can watch a video of the game in action on YouTube here.