Skip to main content

Baldur's Gate and Fourteen Years of Data Inflation

Often when you read an article or listen to some TV program mentioning some amount of money significantly in the past, they will often give a separate amount in “today’s dollars”. That is, since the value of the dollar decreases (usually) over time (inflation), how many dollars would we need today to have the same value? Such “adjusted for inflation” amounts are often provided in order to give a better perspective to a modern listener or viewer just how much value a given amount of money had back then to society.

What we don’t see often though (I have never seen this actually), is an “adjusted for inflation” value when talking about data sizes of the past. Referencing the double density floppy disk as holding 1.44MB has sounded abysmally small for the past decade. However, when they were released back in the 80’s, this was not the case. I remember a tech teacher of mine saying that when he first got his 3.5 inch floppy drive and disk, the question that came to his mind was “how on Earth will I ever fill this thing up?” Sounds crazy today, a decent quality MP3 song wouldn’t even fit on a floppy. So just how big would a new storage medium need to be in order to give the average modern power user an identical impression?

I’ve thought about this concept before but it just recently came back into my head. I was discussing game install sizes with a colleague. The recently released Max Payne 3 has a rather large installation size of about 35 GB. Not much out there has the potential to beat it (neat list here) in terms of size. I then remember the game Baldur’s Gate. This classic from 1998 was stuck in my mind for years. Not just for being a great game, but because it had the largest full install I had ever seen and it maintained the record (for me at least) for several years afterward.



Placing the install disc in today and selecting all the options results in an install size of 2266MB. I remember when first getting the game shortly after its release, opting not to do the full install. I can’t remember if it was due to a lack of space or just wanting to have some room left over. I had either a 4.3GB or 6.4GB hard drive at the time so even if possible, it would have been a significant portion of my install space used up. This was such a large install that in all my gaming, it took several years before I came across a larger game install. I remember even its sequel, Baldur’s Gate II: Shadows of Amn, taking up less space with its own full install. If I recall correctly (sorry, doing a lot from memory here, Google is not easily directing me to these old facts) the first game to break BG’s record for me was Unreal Tournament 2004 (close to 5GB), six years (and my first game on DVD) for it to happen.

So, the question is, how big would a game have to be today in order to have the same impact as Baldur’s Gate did back in 1998? Based on percentage of drive space, assuming a 2TB hard drive today, and that I was using my 6.4GB drive at the time, a game install would be roughly 691GB! Which of course would be insane. Even with dual layer and double sided DVD discs and assuming a 2 to 1 compression ratio before installation, it would still take 44 DVD’s to store the game. Up that to dual layer single sided 50GB Blu-Ray’s and we’re down to a much more manageable 8 discs, much closer to BG’s 5 discs. Digressing, I personally think this somewhat shows our lack of progress in the media market. Granted that means less today with more distribution happening online, but with my first PC (circa 1995), the optical CD-ROM drive could read from a disc that could store more than the entire hard-drive (half a gig). I later (late 90’s) remember reading about technologies promising 450GB on one optical disc. I’m still a tad disappointed these big advanceds didn’t happen. It would be nice to be able to backup my entire system on a disc or two, at least until home Internet upstreams get sufficiently better. Oh, and to download 691GB, a little over 8 days on a fully maxed-out 10Mbps Internet connection.

Granted, percentage of a drive’s usage is only one way to look at it. We could also compare hard drive storage costs. That gets a bit more complicated though, I’m pretty sure storage price (even with the Thai floods) has decreased more than linearly over the past decade and a half, we would probably want to then factor in the percentage of cost that a hard drive has in a system in both era’s. I can think of even more logic branches here to make it even more complex. All that said, just going by percentage of a disc is probably reasonable as it’s the metric our brains are most likely to comprehend when presented with an arbitrary measure of data space.

So, needless to say, Baldur’s Gate was one enormous install and is unlikely to be rivaled in terms of shear installation-shock-factor any time soon.

Comments

Popular posts from this blog

Fancy FTP Deployment with Grunt

I recently dove into Grunt.js at work for automating our build process and I haven’t looked back. It’s an awesome tool with a plug-in for just about anything. I expected the usual would be there like JavaScript minification and concatenation, but I was surprised at a few others that I found, one being for FTP file deployment. Just shows how popular and community supported Grunt is.

There are a few FTP plug-ins available for Grunt. I didn’t do an analysis of all of them but ran across grunt-ftp-push which seemed to do what I needed so I decided to try it out. A simple ftp-push setup to upload an entire project via FTP could look like this:

grunt.initConfig({ftp_push:{all:{options:{host:'example.com',port:21,dest:'/project/path/',username:'user',password:'pass'},expand:true,cwd:'dist',src:['**/*','!**/*.zip']}}});
Some details here: I opted to put the username and password in the main config rather than using an .ftpauth file. The …

Accessing other HTTP servers on Cloud 9 IDE

If you're using Cloud 9 to do development, you'll quickly realize that only ports 8080 through 8082 are available to the outside world from your development box. This is generally not an issue as you can set your application to bind to the $PORT environment variable when in development mode. However, there are sometimes other servers that we want to make use of that host on different default ports.

I recently had to setup a Neo4j server which defaults the admin interface of port 7474. Unfortunately, I could not access the admin interface even through the IDE based web browser window. So, what to do? I could change the default server settings so that it runs on a different port. However, the app I'm working on with a team has 7474 hard-coded and I currently don't feel like writing a local only work-around.

After some searching, I ran across a neat Linux tool called socat. This allows us to easily forward one port to another. After a quick install via apt-get, I ran the …

Moving to Babel 6 on the Server

Cross post from my employer's development blog: http://rootinc.github.io/2016/03/14/babel-6-server/

Decided it was time to upgrade my server-side code to run on Babel 6. Below is a synopsis of all the issues I ran into and resolved while upgrading my 0.11.3 SailsJS server to run with Babel 6 transpilation.

The upgrade to Babel 6 itself is easily achieved in Sails by upgrading the `sails-hook-babel` package.

### Missing preset
`couldn't find preset "stage-0" relative to directory`
Just because a preset is on the official Babel preset page, doesn’t mean that Babel comes with it. Simple fix by installing the [package][1] from npm. Read more [here][2].
[1]: https://www.npmjs.com/package/babel-preset-stage-0
[2]: http://jamesknelson.com/the-six-things-you-need-to-know-about-babel-6/

### Need strict mode everywhere
`Block-scoped declarations (let, const, function, class) not yet supported outside strict mode`
I didn’t have to worry about this before, and I don’t feel like …