By using this site, you agree to our Privacy Policy and our Terms of Use. Close
Tachikoma said:
SvennoJ said:

It is that easy if you cache the state of the world you want to return to. Dump that part of memory to a temporary file and reload it on death. Or since the bonfires are fixed points, have those optimized and ready to read in one chunk from disk, together with a change file to quickly update the local changes.

If you dump instances to memory to aid loading you would need to add to that instance dump each time an element of the world changes, there is no benefit to be gained from dumping the presence of a mesh to file if that file has to be reloaded anyway.

When you destroy an object, the objects original form is unloaded from memory, saving that to file would make no difference to the loading time because reading from an instance dump and reading from the games own archives is essentially the same thing.

At all times during gameplay, assets are being streamed in and out in their various LOD levels, if you do any sort of venturing the load time jumps along with it, thats because the initial spawn points geometry, textures, sound data and scripting has all been streamed to either lower lod levels or removed entirely, thus if you reload back to the spawn point that data HAS to be re-loaded to memory, saving gamestate dumps is not a solution, because you are STILL loading data on death.

The only viable solution is to optimize the "begin" point, a predetermined point where the game will allow you to start BEFORE the correct low level has been loaded, right now that point is high, so there is very little LOD change in the initially loaded area after you are given control, though it IS there.

A solution to reduce loadtimes would be to adjust that start point to be much sooner, the result would be a faster load time at the cost of lower quality world / textures initially until these assets are streamed in.

You are looking at things far too simplistically with no real understanding of how engines operate.

SvennoJ said:

It is of course more work to program right. Slow lazy load from scratch code simply means the game wasn't fully polished on release, big shocker. Well that and the 2.69 GB day 1 patch.

And here in lies your reason for carrying the attitude to "its an easy fix".

If you want to hate on the game I suggest finding an angle you understand.

Maybe it's very different from the other souls games, but as I remember it is you die, you go back to the last bonfire, everything resets, except the stuff that you left lying around. Cache the pristine start area as 1 chunk and apply the change log you have already.
Yes it gets slow when you create a new instance, allocate and load each object separately. You don't have to do that, you can create a fully initialized start state and apply changes from there. It's harder to debug sure, but direct memory writes shouldn't be an issue on consoles.

I've done plenty such optimizations in the past. It's not part of the standard object oriented guide of practice, but screw that, it's just a block of memory with a bunch of pointers in the end. Especially on consoles you have full control of the memory layout.

I worded it wrong by using the word lazy I realize. Developers are anything but lazy. It's the easy, safe, initial get it working way. I bet they already had a much faster loading version ready. The fact that they announce a patch for the loading times on release day says 2 things: They were well aware of the problem, and a proven significant improvement is currently stuck in the testing stage.
I've been there myself. Work overtime to get big improvements ready months before release. Then management comes by: We reverted to an older version since those changes have only been in stress testing for 2 weeks and figured it would be a good thing to add in a later patch to sneak in / draw attention away from a bunch of less pleasant fixes.

I'm not hating on the game, just annoyed with the process of how these things go. As a buyer I'm not getting the finished version on disc. As a developer I read complaints in reviews that have been solved long ago.

Anyway I'm buying the game first opportunity I get. However I'll finish the new DC content first (The Lamborghinis events are great so far) and wait for the finished version before starting the game.