0
Fixed

PRT speed gets restored after cell load

Mr. Fusion 3 months ago in Gameplay • updated by Tyler Owen (Lead Developer) 1 month ago 5

If the PRT is decelerated/braked to a complete halt while a cell load is in progress (the loading indicator being visible), after the cell load completed (loading indicator disappears), the speed of the PRT will jump back from stillstand to approximately what it was at the time of the cell load starting and will continue as if it was never brought to a halt.

Not a bug

This is intended. Do you think this would not be the expected behavior?

If I brake the vehicle to a complete halt, I don't expect it to suddenly jump back to full speed for no reason, so no, this is not what I'd expect.


To clarify, it's not that the game completely stops running during cell load (which of course would also cause the PRT to appear not moving for the duration, along with everything else), then it continues to run and thus the PRT also starts moving again. When the cell loading starts, the game continues to run and can be interacted, the PRT can be accelerated/decelerated/turned/etc during the load duration (with varying levels of stuttering). Then when loading is completed (which can take up to 20-30 seconds, in part due to the incorrect memory use behaviour) and the load indicator goes away, the speed of the PRT will be changed back to what it was when the loading started, instead of what it had become due to me actively and visibly having changed it during the load period.


So if I start breaking when the loading starts, the PRT will gradually come to a halt the same way it would if I started breaking at any other time outside a loading period, while the loading is in progress. Then it will sit there not moving, since I just stopped it, for the rest of the load period (I could start accelerate it again, or turn or whatever, while the load process continues). Then when the loading finished, the PRT will jump back to the previous speed without me accelerating it, or even an acceleration phase. It's just suddenly moving again.

Under review

Ah, I see. Yeah, that shouldn't be happening. Are you getting a Loading indicator on your screen during this time or is there no indication of the loading other than the stuttering?

It's a proper loading phase on cell borders, with the loading indicator present. Any other kind of "unscheduled" asset loading causes the came to stutter/temporarily lock up and also ignore any user input during that period, unlike during the background loading that occurs on the cell borders. This is more or less how it looks:

  1. I hit a "cell transition border", the loading indicator appears and background loading of new assets starts as indicated by disk activity and the accompanying stuttering, while the game remains interactable and visibly running. The PRT still moves forward, can be turned, responds to terrain (shakes, bumps, wheel suspension can be seen following terrain, etc.) and user input.
  2. The loading indicator is on screen, asset loading continues, the game can be interacted with. I press and hold the brake key and the PRT (although somewhat sluggishly) stops as expected.
  3. The loading indicator is still on screen, asset loading is still underway, the PRT is now completely stopped. At this point I could reaccelerate, get out, open the datapad, etc., the game can be interacted with as normal while the background loading continues.
  4. Asset loading gets finished, disk activity more or less stops, loading indicator disappears and the PRT is suddenly moving on its own again, without any acceleration phase, roughly at the same speed it did when the loading indicator appeared and background loading has started.

I suppose it's a lot less noticeable / harder to reproduce on a system with a lot ot memory and the game installed on an SSD, since those factors likely drastically reduce the lengh of the loading period, but on a minimum requirement system (which still runs the game acceptably in terms of CPU/GPU performance, the only big issue being memory and asset management) it can last up to 20-30 seconds which gives plenty of time to interact with the game during the loading period.

Fixed

Well, I implemented a basic fix for this that will cause the PRT to come to a short stop while the loading initiates, but you should then be able to resume speed while loading continues. If you get out while it stops it will not automatically resume it's previous speed when loading is finished.