RPCS3 / rpcs3

PlayStation 3 emulator and debugger
https://rpcs3.net/
GNU General Public License v2.0
15.43k stars 1.92k forks source link

Broken LittleBigPlanet Physics (applies to main LBP titles) #5011

Closed ActualMandM closed 4 years ago

ActualMandM commented 6 years ago

Windows 10 64-bit GeForce GTX 1060 6GB i5-7600k 16GB RAM

This has been an issue ever since the game has gotten in-game. With On SPU Interpreter (Precise), the physics behaves like normal although the framerate is too low to be tolerable.

On SPU ASMJIT, the physics tend to be stiff and not move so much. Sackboy also has his head constantly switching between two angles. Here's a video that tries to demonstrates some of this. https://streamable.com/z1feh

RPCS3_LBPASMJIT.log.gz

In terms of SPU LLVM with accurate xfloat, when #4920 was in progress, the physics behaved normally (https://github.com/RPCS3/rpcs3/pull/4920#issuecomment-408561058). However, a commit that came later after that testing completely broke them in new ways (https://github.com/RPCS3/rpcs3/pull/4920#issuecomment-412368654). The physics seem to be over-exaggerated and move a lot. It's to the point where it's very glitchy. Sackboy is constantly twitching as well. To add onto it, the audio for LBP1 is mainly static in ASMJIT. The rest of the titles do not have this audio issue. The audio is muted in the video to prevent killing anyone's ears. https://streamable.com/eokk4

RPCS3_LBPSPULLVM.log.gz

ActualMandM commented 5 years ago

With PR #5430, SPU LLVM without accurate xfloat has the same physics issues as SPU ASMJIT.

Hopefullyidontgetbanned commented 5 years ago

Note: this issue also applies to LBP2 & LBP3 (stating this bc the games have been regressed to intro since September though has been progressed since fbo fixes) However in my testing Physics in LBP3 isn't as broken as LBP1. I'll provide more information at a later date.

ActualMandM commented 5 years ago

Neither #5762 or #5749 fix this issue.

ActualMandM commented 4 years ago

Recent builds of RPCS3 do not have physics issues on SPU Interpreter (fast).

MSuih commented 4 years ago

There are still some issues remaining, none of the LBP games are playable yet. But things did improve a lot and you can finish many levels without any issues.

MSuih commented 4 years ago

Physics are now working in LBP 1 at least, and from quick glance 2 & 3 seem to be working now as well. This issue can probably be closed, if someone finds an issue then this can be reopened

EngineMachiner commented 4 years ago

I am not sure if this is a physics issue, but in this level (shown in the video) https://youtu.be/7UScRbuM9Vw?t=295 the gas doesn't hide or you will always die. If you go in the purple part you can probably skip it. But that's not what it should happen. (if someone else can confirm please tell me)

Whatcookie commented 4 years ago

Did some debugging, figured out which instructions were breaking that level:

On accurate xfloat some platforms won't move, setting FMA to approx fixes that On approx xfloat the gas won't disappear in time, setting FM to accurate fixes that

Likely 100% playable with those instructions fixed

ActualMandM commented 4 years ago

If the physics are fixed then I'll probably keep this issue open until that LBP2 level is fixed.

EngineMachiner commented 4 years ago

Again, not sure if related to physics but in LittleBigPlanet (1) if you create a template in the moon and go to the last shapes of the level (to the right part). Some shapes cannot be selected with the Popit. And I tried it in LBP2 copying the level (from LBP1) and importing it and it does let me grab them with the Popit.

Just if needed I used the Savannah template.

ActualMandM commented 4 years ago

Realizing it now, it's probably a better idea to have the LBP2 and LBP3 issues in a separate issue.

EngineMachiner commented 4 years ago

If you play levels with water in LBP. The screen freezes forever but the sound keeps playing.

CtrlByName commented 8 months ago

LBP1 still seems to have this issue, I can't get past 'The Dancer's Court' because one of the moving platform pistons just doesn't move at all