Diconstruction #4: Blowing Your Load


A new installment of Diconstruction is now online. In this one Chris talks about level loading times; those (seemingly) interminable waits between levels while the CD spins and the new monsters and loot are readied for their ritualistic destruction. As with the other Diconstruction columns, this one starts off with Diablo I, back when level loading times were a real factor. (We were just talking about those in the D1 forum.) Diablo II improved wait times a great deal. As for Diablo III? Chris speculates about it too.  Click through to read the full column.

Blowing Your Load

One thing that’s never bothered me about either Diablo game is the amount of time it takes to load the next level.  At best it’s a heartbeat of time between killing things on one level and killing things on another, and at worst it’s a momentary break in the doldrums of aimlessly slaughtering everything that has a name and moves (in some cases).  However, it seems this has been a matter of contention for some time for some reason, so I may as well get the placating of the fans out of the way early.

Since it’s possible some of you don’t know what I’m talking about here, let me begin by explaining what I mean by load times.  The games were designed to only hold so much content in memory at any given time, presumably due to restrictions of the systems they were built for.  Simply put, the files the game uses are significantly larger than the expected capacity of the system the game was meant to be played on.

Let me give you an example: Diablo came out in 1996 when most computers had less than 64MB of RAM and you were rich beyond comparison if your CD drive ran faster than 6x speed.  Meanwhile, DIABDAT.mpq is over 500MB in size.  I’m sure you can see how not trying to shove an entire horse in your mouth at once would be beneficial, and this follows a similar concept.  You only need so much at a time, so that’s all the game gave you.

What this means is that time is spent swapping out which levels are in memory before you play them, so that the game doesn’t have to constantly spin the CD while you play, which would get noisy and hot like a good night in with the girlfriend.  Then the drive would fail and your enjoyment would be cut prematurely short, just like …you get the idea.

Lasts Less Than 5 Minutes

The first Diablo was designed for systems with so little memory (minimum requirements were 8MB, 16 for multiplayer) that it had to swap out levels literally every time you climbed a flight of stairs or went through a portal.  It’s like the game had the memory of an amnesiac goldfish swimming in circles.

I view this as a good thing, because it means they were designing a game for a system that didn’t exist yet, and really that’s what everyone keeps wanting to see.  The alternative is to design a game for what’s out now, and by the time it’s released the system it was designed for is already 2 years obsolete, so the options are to release it and be laughed at, or go back to the drawing board and try to improve it to the point where it needs what’s out there now in order to work, and so on.  I wonder if this has anything to do with Duke Nukem Forever…

Anyway, since loading levels every five minutes gets tiresome, Blizzard decided to give us amusing little screens to occupy our time with while the level load progress bar advances.  When taking stairs to a level of the dungeon, you get to see a picture of those stairs, broken up by which part of the dungeon the level you were entering was on.  When taking a town portal, you see a pretty blue circular pattern that I guess is supposed to be the portal you’re going through, even though the middle of it is supposed to be black.  When taking an in-game portal, you see something similar which is red.  This is amusing, I promise.

What the load screens accomplish (other than allowing the game to continue) is to give you a brief reprieve from your job of killing everything you see and then pressing the Z key to try and see what they saw fit to drop.  Speaking of which, if you can tell me where Snotspill was hiding that plate armor you’re a better man than I.  The load screens give relief from the very dark mood of the game, however short that break is, to remind you that it is in fact only a game.  And this is a good thing.

Now With Increased Sensitivity

Diablo 2 was built for slightly better computers, coming 3 years later.  This time they recommend 64MB of RAM for multiplayer games (more if you’re hosting it), and a 4x CD drive.  The total size of the .mpq files across the game and expansion is over 1.7GB, so the trend of building for the future continues.  It only seems like an underpowered game now because we’ve been playing it for almost 10 years and we all have 2GB+ of RAM and processors 20x faster than the game requires.

However, they seem to have gotten better at managing RAM, because the only time you have to wait for data to load now is when going between Acts, and even then you only really have to wait if you just beat the Act for the first time and you decided to skip past the cinematic, forcing the game to load the next Act earlier than it was expecting to.  There’s also a brief load time when jumping waypoints between Acts, but such delays seem to be minimal (though it could be my overpowered-for-the-game computer speaking here).

Apparently people were getting all upset about this, because they had to wait as long as (say) 5 seconds for the new Act’s map to load, but what they seem to be forgetting is that the first Diablo waited as long as 30 seconds every level!  I’m sure most people who were complaining about the load times when the game came out migrated to D2 from D1, and apparently their memory is worse than original Diablo’s.

Even if load times were a bad thing, you can literally play Diablo 2 for hours without having to wait on the game to load new data.  When the game does have to load more information it just stutters for a second and then lets you go on your way.  They even did away with the old clunky progress bar, so there’s just a brief pause as a doorway blows up in your face and you’re back to slicing off limbs and somehow killing swarms of bugs with your sword.  Compare this to the supposed 5 minutes at a time of the original Diablo and tell me how it’s worse please, I’m dying to know.

I could help a bit, I could carry it, share the load

The bottom line here is that load times aren’t a bad thing, and even if they were, Diablo 2 does significantly better at it than its predecessor did.  More than that, if you’ve kept your system the least bit up to date with technology it shouldn’t delay you for more than a second or two anyway.  The only real load time you’re likely to see now is the initial loading of a multiplayer game in Diablo 2 as your system retrieves data and syncs up with the server.  I’m sure there’s a dirty joke in there somewhere, but I’m not able to find it.

Of course, the big question now becomes “what will Diablo 3 be like for load times?”  If the past is any indication, the mpq files will total about 15GB and the game will have a minimum requirement of 1GB of RAM, but game information will be processed efficiently enough that you won’t even notice when things are loaded.  After we’ve been playing it for 20 years, with the last 5 being spent using robots with perfect virtual reality, we’ll look back and not care at all about the load screens because they DON’T MATTER.

I’ve been trying to keep Diablo 3 out of this column so far and only talk about the past games. Given that load times were only really an issue when the games were first released, it seemed like the only way to keep this topic relevant.  And that’s kind of the point, really.  The load screens were there because the computers needed them in order to play the game, but as technology rapidly advanced the load screens themselves became little more than a novelty.  While playing Hellfire recently I thought to myself after a load screen went by in less than a second “Wow, I remember when that seemed to take forever.”

What we all need to remember about this is that the minimum system requirements are just that: the absolute minimum you need in order to play the game.  The more your system excels in comparison to those requirements, the less you’ll notice any lag or gameflow slowdowns.  2GB of RAM is just a little bit superior to 8MB, after all.

Speaking of which, I have an idea for scaling game behaviour based on system ability.  If you have enough RAM to hold the entire game directory in memory at one time, don’t force the player to load each part of the game individually; put it all in RAM to start with if there’s room for it, and then we’ll really have a reason to splurge on those 4GB sticks of RAM.  Now all that’s left to do is end this article abruptly.



Diconstruction (Diablo Deconstruction) is written by Chris Marks.  It examines differences between the two (soon to be three)
Diablo games, as well as comparing them to other games, in a hopefully amusing style.  Diconstruction is published on the first and third Tuesday of every month. Leave your comments below, or contact the author directly.

Tagged As: | Categories: Diabloii.Net Columns

Comments

You're not logged in. Register or login to post a comment.