Package files - Do we really need them for our game?

Started by
3 comments, last by jbadams 11 years, 11 months ago
For me, the only reason to use a package file is to keep people from messing around or using the resources from the game. So the question is..., is this a legitimate concern?
Advertisement
It's also faster to read in multiple resources from a single file rather than individual files.
Saw this topic some days ago, it's definitely worth a read: http://www.gamedev.net/topic/622754-are-pack-files-pak-zip-wad-etc-worth-it/
Even if you don't compress your files, but have a bunch of relatively small ones, you can save space. The filesystem typically writes files in clusters of sectors, which have a fixed size. This can be anywhere from 512B (a single sector, less wasted space on small files but much more bookkeeping on bigger ones) to 64KB or higher (more wasted space on small files since you have to use an entire cluster, but less bookkeeping for big files since fewer clusters are used). With a package file, you get the benefits of little wasted space of small files and less bookkeeping of big ones, plus defragmentation puts all of your data in a nice localized section of the hard disk meaning less seeking time. Yes, it's more complicated reading and especially writing a file, but in the end I feel the benefits outweigh the penalties. Add compression and depending on how you do it you could even get faster read times than regular old files.

I'm in the process of creating my own package file format library, with my package format being inspired by Blizzard's MPQ (mostly just the idea of using a hash table instead of storing full file names for finding files, though each file can still store some metadata like file path and creation time).

Saw this topic some days ago, it's definitely worth a read: http://www.gamedev.n...d-etc-worth-it/

Absolutely, I was going to dig out that link myself, it's an excellent discussion on the topic.

As to the original question, I would say that unless you are legally required to put effort into "protecting" your assets (which package files do a poor job of, but may be good enough for legal requirements in some situations) it's not really a legitimate concern to try to stop players interfering with your game's files -- in some cases, player-made modifications can help your game to become drastically more popular, and if a player wants to change something there isn't really any reason you should feel the need to stop them.

That being said, there are other good reasons for using package files, as covered more extensively in the other topic.

- Jason Astle-Adams

This topic is closed to new replies.

Advertisement