-6

Billy Bob boots up Tomb Raider on his PlayStation. He loads the saved game from his memory card and it loads up the level he is on. Then Billy controls Lara in a sloppily manner, so that she dies. Now he (obviously) chooses to load from the last save game.

Since the level is already loaded into RAM at this point, you would think that, immediately after Billy presses the "OK" button to load the save, minus the time it takes to access the file on the memory card (which is near-instant), Lara and every other "object" in the 3D world would simply be insta-reset to their original positions, without any need for it to access the game disc at all. (Or maybe just to start some music playing in the beginning, which was not playing at the time the game was over, and had already been unloaded from memory.)

However, in actuality, there is the same "Loading..." screen as when you originally load the game/level. It appears to forget anything loaded into the work memory of the PlayStation and starts over from scratch. Every. Single. Time.

In contrast, some PC games (including at least one copy of Tomb Raider, although it could contain mods/hacks which I'm unaware of) appear to instantly put back Lara to the original position when you load the save game. No loading/accessing any disc once it's in the RAM. Not even a brief flash to a "loading" screen.

What could possibly explain this? It was a big deal to have to wait each time, yet this practice continued for the subsequent PS Lara games (at least up until 3). Why? Was there a technical reason for having players wait for it to re-load the asset data from the disc each and every time you die. (And it sure happened many a time during a normal playthrough...)

8
  • 8
    I cut the worst of the ranting out, and I would rather not have to do it the next time you ask a question. You don’t have to insinuate spite on people every time, really. – user3840170 Feb 27 at 21:08
  • 9
    Then write them politely in the first place. – user3840170 Feb 27 at 21:26
  • 8
    I agree with @user3840170 and have (again) removed your ranting. I assume you're the same person that repeatedly posts rants about video games. Please stop it. – another-dave Feb 27 at 22:54
  • 4
    Is that a fairy tale or a technical question? So far I'd go for the first, making it rather unfit for SE.RC. – Raffzahn Feb 27 at 23:24
  • 3
    Welcome to Retrocomputing. Sorry to hear about your frustrations with the game. Your question is quite long and does not get to the point; I had to read through it several times just to understand what you are asking. The reason why others are editing your question is to improve it, not to vandalize it. Please let others try to help you, instead of getting angry at people. Thanks. – DrSheldon Feb 28 at 5:53
9

Because the PS1 has a very small amount of RAM, and sophisticated games, especially those on linear tracks like Crash Bandicoot, would load new data from the disc continually as the player traversed the level, replacing the data in RAM that was already there. When the player dies and reappears at an earlier location, the level would have to be reloaded from that point.

From a related thread on Quora:

Dave Baggett Naughty Dog (employee #1):

Here's a related anecdote from the late 1990s. I was one of the two programmers (along with Andy Gavin) who wrote Crash Bandicoot for the PlayStation 1.

RAM was still a major issue even then. The PS1 had 2MB of RAM, and we had to do crazy things to get the game to fit. We had levels with over 10MB of data in them, and this had to be paged in and out dynamically, without any "hitches"—loading lags where the frame rate would drop below 30 Hz.

It mainly worked because Andy wrote an incredible paging system that would swap in and out 64K data pages as Crash traversed the level. This was a "full stack" tour de force, in that it ran the gamut from high-level memory management to opcode-level DMA coding. Andy even controlled the physical layout of bytes on the CD-ROM disk so that—even at 300KB/sec—the PS1 could load the data for each piece of a given level by the time Crash ended up there.

I wrote the packer tool that took the resources—sounds, art, lisp control code for critters, etc.—and packed them into 64K pages for Andy's system. (Incidentally, this problem—producing the ideal packing into fixed-sized pages of a set of arbitrarily-sized objects—is NP-complete, and therefore likely impossible to solve optimally in polynomial—i.e., reasonable—time.)

0

Just off the top of my head, and without checking how much the premise holds up: the PS1 has enough memory to hold a single instance of level state.

As the player progresses, they modify level state.

So the question is: why might the PS1 not have enough memory to hold two copies of level state — the original and the current?

I think just because reloading is cheap, and doing it that way around lets you spend every single byte on level detail.

Of course, countless examples of that being unnecessary exist, starting with Ridge Racer that doesn’t even need its own disc inserted once it has loaded.

3
  • 1
    Extra commentary: I used to have this debate a lot with my brother as to why the norm in ZX Spectrum games is often that enemies are dead only for as long as you stay on that screen. Same reasons, I think. – Tommy Feb 27 at 21:33
  • Ridge Racer is a great example, yeah. The entire game, all the cars and the (variations of the single) track are all in memory. This has the bonus of letting you set up a link-cable game on two PS1 systems while only needing one disc. – knol Feb 27 at 21:36
  • @Tommy - Same for e.g. Super Mario Bros. Had the same discussion with my son recently :-) – Michael Graf Feb 27 at 22:57

Not the answer you're looking for? Browse other questions tagged or ask your own question.