RPCS3 / rpcs3

PS3 emulator/debugger
https://rpcs3.net/
GNU General Public License v2.0
14.55k stars 1.85k forks source link

Demon's Souls Glitches #4302

Closed IbanPetrov closed 1 year ago

IbanPetrov commented 6 years ago

<Bubble in world3-2 (second tower before boss) RPCS3.log.gz

PS311 RPCS3 b02

boss cap/hood or what is PS3 b05 RPCS3 b01

layer ground in world 4-2(begin) b02 b01

Round shield b04

Weird effect(rare) RPCS3.log.gz

31 demonsouls01

isshininu commented 6 years ago

Yes, Also mentioned here: https://github.com/RPCS3/rpcs3/issues/3088#issuecomment-368229395

kd-11 commented 6 years ago

These look like some kind of memory corruption or something. I certainly have never encountered any of them, with the exception of the first one which I could have missed. It is known that sometimes the game is not sending geometry for drawing (like the invisible soldier shield) but the cause is still unclear. The last picture is definately memory corruption (there are no easy ways around the root cause, it is triggered by warping using archstones and the proper fix is currently very slow). Are any of these persistent across restarts of the emulator? i.e save and quit, shut down rpcs3, restart and load back the save

isshininu commented 6 years ago

For example, invisible bubble in world 3-2 (first screenshot) persistent between all versions of emulator.

kd-11 commented 6 years ago

First screenshot looks like the game didn't even draw it at all. This may be a bug in cell where the game thinks the bubble isn't there, or generates the draw geometry outside the viewable area, or a vertex bug in rsx which is less likely since one shield is also affected, but all other shields render correctly. The corruption after warping isn't going away any time soon unfortunately. Requires some rewrites in the emulator's memory manager with features that are usually not exposed by the operating system.

Parthorisian commented 6 years ago

For this game[blus30443] this kind of distortion(i got sometimes something like that or this, like last 8th screenshot) isnt persistent kd-11 wrote

save and quit, shut down rpcs3, restart and load back the save

then image turns back to normal ground layer still missing for 3rd floor of world 4-2 cave

YaPeL commented 6 years ago

I'm closing #3088 in favour of this more broad issue

kd-11 commented 5 years ago

Retest and update for all reported issues here.

YaPeL commented 5 years ago

Soldier shield still missing, tested on opengl, default config except for "Write Color Buffers."

isshininu commented 5 years ago

I'm afraid "bubble" issue is not fixed. Tested on RPCS3 v0.0.5-7177-9e380a4a4 - - 1152

dukenukemx commented 5 years ago

I'm having the same issue.

dunestorm333 commented 4 years ago

Any ETA's for a fix?

Parthorisian commented 4 years ago

Two years passed and still no fix for this bug(

Asinin3 commented 4 years ago

If you want to see visual issues looked at then you should be providing Renderdoc captures and RRC captures (to take a RRC, just open RPCS3's debugger and click RSX capture when you see the issue ingame) make sure you compress the captures though e.g with 7zip LZMA2 Ultra, it makes the files much smaller. Are we even sure that all the issues are still there?

dunestorm333 commented 4 years ago

Here is my RRC

RevenantX commented 4 years ago

If you want to see visual issues looked at then you should be providing Renderdoc captures and RRC captures (to take a RRC, just open RPCS3's debugger and click RSX capture when you see the issue ingame) make sure you compress the captures though e.g with 7zip LZMA2 Ultra, it makes the files much smaller. Are we even sure that all the issues are still there?

Yes. Tested on v0.0.6-8368 Alpha [2019-07-13] . Issue still here

RevenantX commented 4 years ago

my RRC. BLES00932_20190714181301_capture.zip

arkbg1 commented 4 years ago

@Parthorisian is this common for RCPS or indicative of a dead project? My gf and I just started DeS after I guided her through DaS, is there anything we could do to get RCPS3/DeS help?

mavethee commented 4 years ago

@arkbg1 RPCS3 is not dead :v Just head to RPCS3's discord, but if your problem will be solved depends on that if it's fixable ;)

kd-11 commented 4 years ago

This bug happens very rarely and is not simple to fix. It is therefore not very high priority since most players will never even notice the missing blob in that one area. Compared to the other hundreds of bugs, instability and missing features, this is a relatively minor problem. Will it get fixed? Sure, but not before we have other more serious problems squared out.

RevenantX commented 4 years ago

@kd-11 well invisible soldier shield - is always invisible. 100% reproduce...

kd-11 commented 4 years ago

Yea, its the only shield affected though. The problem is that it seems to not actually have been sent to the graphics card at all, the game considers the shield to be invisible but present. This means debugging as a visual bug hit a dead end early on in this game's emulation and disassembling the eboot to find the conditions that trigger this is not easy.

YaPeL commented 4 years ago

@kd-11 so the shield issue its unreated to this one?? I'm gonna re open the other ticket then.

kd-11 commented 4 years ago

I think its related though. I think in all of these some check is happening and the game thinks the geometry is not there. Or there is some kind of glitch that happens to just work on retail PS3, the firmware for retail can vary quite a bit and some releases have per-game hacks in the sprx files. I'll self-assign this one and review in the next fortnight, the emulator has changed a lot since this game was worked on two years ago.

Parthorisian commented 4 years ago

kd-11 wrote

happens very rarely Yea, its the only shield affected though

WtF? I can clearly see all these 3 missing textures(bubble, cave floor and boss hat) excluding round shield though, between all versions of "official" master builds, since december 2017! Why just not consider to mark reason of this bug as unfixable for now?

kd-11 commented 4 years ago

WtF? I can clearly see all these 3 missing textures...

How much time does a player spend in these areas? Does it really justify abandoning the other hundreds of issues to resolve this specific one? This is the balancing act when in the initial stages of development. The bug was looked into without a resolution a while back. I already said I'd revise it again during the next fix cycle (I'm already working on another issue).

TheFallender commented 4 years ago

How much time does a player spend in these areas? Does it really justify abandoning the other hundreds of issues to resolve this specific one? This is the balancing act when in the initial stages of development. The bug was looked into without a resolution a while back. I already said I'd revise it again during the next fix cycle (I'm already working on another issue).

Is it still useful if we continue giving the RRC files? If that could help fixing it, I think it's worth it and everyone that wants to get it sorted out could help.

I could try looking at the files but I don't think I'm that deep in C++ to code it.

Realmantik commented 4 years ago

I've experienced with issue "Weird effect"(first image) once, but in Resident Evil 4.

Canzah commented 4 years ago

Unfortunately the issue is still there as of v0.0.6-8568, hopefully you'll fix it because it's very distracting when you see it happen, the part with the "bubble" (it's an egg actually) is especially annoying because it can fool you into thinking it's a death pit.

kd-11 commented 4 years ago

image The good news is that I figured out why some stuff isn't showing up. The bad news is that the "bad" data looks to be completely intentional.

dunestorm333 commented 4 years ago

@kd-11 As in, they messed with the rendering techniques to make emulation harder?

kd-11 commented 4 years ago

The blendweights for the missing geometry are missing for seemingly no reason. This causes their verts to converge to a single point, and the blendweight being 0 also has the "benefit" of introducing NaNs through division by 0. The blendweights may be stored per object since the glitches are model specific, so idk why they're set to all 0 which hides the object. Its likely some bounding volume math is incorrect somewhere. In this case I'm referring to the pieces of "clothing" which btw also includes weapons attached to the character. Checked on hardware, if you give RSX zeroes it reads zeroes, which means there is no rendering bug per se; the glitch happens long before the information is sent to RSX for drawing. Further debugging would require reversing the model loading routines and the accompanying math involved.

dunestorm333 commented 4 years ago

@kd-11 Nice job! This is FromSoftware we're talking about, most of their games up to DS2 are very buggy. I can only imagine what goes on underneath the hood...

YaPeL commented 4 years ago

cool! I know hacks are a nono, but can we get a hacked version that makes the geometry appear? or does that fix have other side effects too?

Zerowalker commented 4 years ago

What more bugs are there than this, haven't played the game so no spoilers please;p But this seems quite big, the shield i can live with, is it all round shields or just a specific round shield? But the areas seems more problematic, if it's someplace you go through (say a village or whatever), or if it's a place you visit often, it would be very annoying and lose immersion if it's like a blank void.

I am not a fan of hacks but if it's possible to solve it by one that i would have to do myself i would do be fine with that. I wouldn't want it in the emulator itself (unless it was temporary), cause hacks are just workarounds and we know how pcsx2 looks like nowadays;P

Asinin3 commented 4 years ago

It's only the starting shield for the soldier class. All other shields render properly. As for the graphical issues in the areas it's only affecting a very small amount of things afaik. Many people have finished the game, it definitely runs more than well enough to be considered playable. Just has a few minor issues.

Zerowalker commented 4 years ago

Ah that's great!

jokoputera commented 4 years ago

is it solved with the latest release ?

javsp commented 4 years ago

is it solved with the latest release ?

No.

SlippyGuy commented 3 years ago

The projectiles that Storm King fires are also invisible, making the fight more frustrating.

You can see it in this video here at 3:20: https://youtu.be/2KBnPuncULY?t=200

Although it is old, the issue still persists in the current build like these other missing graphics and probably happens due to the same problems as the others. I'm surprised I've seen no one mention it before.

kd-11 commented 3 years ago

I played through this game recently and the purple projectiles were visible if that is what you're talking about.

SlippyGuy commented 3 years ago

There should be large arrow-like projectiles that create the purple effects, like in this video of the original: https://youtu.be/tENmFe09bOE?t=252

In the first video I posted showing the error you can actually see the air-trails which would accompany the projectiles flying through the sky, just not the projectiles themselves.

kd-11 commented 3 years ago

Ok, I see it now, although I never noticed they were missing, I always hide in the broken room and snipe from there.

SlippyGuy commented 3 years ago

Haha fair enough.

Are there any plans to fix these graphical issues currently? They are the last few things that are keeping this title from being basically perfectly emulated as far as playability goes, although I understand that they are low priority and time may be best spent elsewhere.

kd-11 commented 3 years ago

Yea, the problem is that if it takes more than 3 days to figure out what's going on, I have to move on to something else. The main blocker for me last time was that the mod tools for DS1 could not properly open the DeS models, which I need to do to figure out why the soldier shield is different from the other shields. This would have given me a starting point, but all of them refused to render the 3D model or show me the model's attributes without crashing. I could get some basic info out of them but not much else which made it a dead end. From the emulator point of view the game is "intentionally" passing in values that indicate to scale the object to 0 which is obviously not right. Maybe the DeS modding has come along enough that I could in theory try again and maybe get different results, but I'm not very hopeful for improvements on that front.

SlippyGuy commented 3 years ago

Ah, shame it's such a tricky bug.

Yeah, modding tools at the moment seem to be a very limited debug menu patch. Although if texture mods are available then it might be possible to make a hacky fix for this until the issue is properly solved on the emulator side, or would simple texture mods not fix the issue? The collision boxes are at least all there and work properly.

theoldsport commented 3 years ago

@kd-11 there have been model/animation swap mods for DeS, drop by the souls modding discord if you find the time!- https://discord.com/invite/mT2JJjx Or check out this writeup- https://www.nexusmods.com/demonssouls/mods/21

Perhaps Dropoff#1639 can help you (he managed to port DeS models to the DaS engine)

csando commented 3 years ago

I will send money to the person who solves this.

No way I am paying for a PS5 just for this game

Edit: Should note I own it on PS3 already, just want to play it at that sweet 4k/60fps. Sony has nothing that interests me on PS5 aside from this title (plus it's just so ugly), so it would be a huge waste of money. I'd rather support the guy who does some magic to make the RPCS3 version 100%.

griever-gf commented 3 years ago

Invisible shield bug is still presents in November, 2020.

daedrixxx2 commented 3 years ago

The Spiral Rapier dropped by the gargoyles in Latria 3-2 is also invisible :/....

Will these bugs ever be fixed?

SJalltheway5 commented 3 years ago

I was able to track down the particular models that are failing to render and edit the problematic weight values of most of them. The edited models seem to render perfectly in RPCS3. I've released what I have so far as a mod for the game. Feel free to check it out: https://github.com/SJalltheway5/DeS_MissingGeometryFix https://www.nexusmods.com/demonssouls/mods/39

EDIT: I found the last few meshes that needed fixing. All the missing geometry I'm currently aware of should now be restored via the mod, which I've updated to version 1.00.