Sunday, July 13, 2008

Doom - why it still rocks so many years later

The End of The World Is Coming! Are You Ready? Hehe. Not that kind of Doom. I am talking about the best game of its time, and maybe one of the best games ever, DooM from iD Software. Surely you have heard of it by now. While you probably have heard most of the reasons why other people think DooM is cool, that doesn't mean you have heard of mine. They are unusual reasons, and by themselves don't mean much, but taken as a whole they add just that much more to DooM.

DooM is cool because it runs on many different platforms, and most importantly, on UNIX. In fact, DooM was developed on machines running NeXTSTEP! Did Id do this so that the could tap the previously starved UNIX Game Player Market? NO! They did it because UNIX is cool, and makes an excellent development environment. Note that just about the last environment that DooM was ported to was the MAC. I think that has a lot to do with the fact that the MAC is the least like UNIX of the popular OSes (and because of that the MAC also happens to be the least cool OS). DooM is the most wildly ported game that has ever reached such a high level of popularity. The only other game that comes close as far as portability is ABUSE, which just happens to also have some ties to Id software (although none of the Id team wrote any of ABUSE's code).

DooM is also cool because of its .WAD file format. It holds all of the graphics and sound files for DooM. No compression is used, but it saves quite a lot of disk space because a .WAD file is much more effichent way to save many small files at once than the FAT format DOS uses. The biggest reason is that in DOS, files are alocated space on the hardrive in clusters. On most hard drives a cluster is 8K, so each and every file on a disk stored in the FAT format takes up at least 8K. If a file is 10 bytes long, it takes up 8K! if a file is 8.1K long it takes up 16K! And if your hard drive is really big, a cluster can take up 16k, or even 32k! The .WAD file beats this by storing all the files in one big file, so that the most space that can be wasted by the entire .WAD file is one byte less than the cluster size. The big problem with WAD files is that files stored within are harder to modifiy than files stored in FAT. But in a computer game this isn't a problem, you hardley ever want to change the data in the .WAD file. And if you do want to change some of the files in the main WAD file, Id has given you a method to load other WAD files to patch over the main .WAD file at run time. Any program released after DooM that doesn't store its files in a format that saves disk space like the .WAD file does is poorly writen, and in my apinoin, should not be purtchased. *plug*In my game, HAIL, data files are stored in a format that is even more compact(but even less flexible) than the .WAD format.*end plug*

No comments: