TASEmulators / freej2me-plus

A free J2ME emulator with libretro, awt and sdl2 frontends.
https://tasemulators.github.io/freej2me-plus/
Other
9 stars 2 forks source link

Rayman Raving Rabbids, controls "unpressing" issue #11

Open TwoSpacesSG opened 2 months ago

TwoSpacesSG commented 2 months ago

Compatibility page claims perfect compatibility with this game, but actually it's basically unplayable (on freej2me and all other emulators) because of an issue with controls implementation. You might be the first ones to successfully figure this out!

Like in other platformers, normally when you have Rayman jump while moving, Rayman jumps and continues moving. This is not the case with this game on emulator implementations though, where pressing jump unpresses the directional key and makes him stop until you release and press the directional key again. It makes the game much harder to play than it should be.

All versions seem to have this issue, such as the Sony Ericsson K850i version.

AShiningRay commented 2 months ago

Marking this one as an enhancement because, as far as i can tell from logging the jar i have, running it on my old Huawei G6608 a year ago, and testing on other emulators, this behavior is actually a quirk in how the game reads inputs. Basically nothing in FreeJ2ME is bugged or anything, the game registers input downs and ups exactly when they should happen, however, it doesn't seem to treat certain situations correctly, in this case, situations where more than one key is pressed.

I think a fix for that isn't actually a fix, but rather, something that would chain nicely with this issue on the main FreeJ2ME repo: #214

Because here, while transitioning to up-right by pressing up and right at the same time causes issues, doing the same thing by going from key 6 to key 3 doesn't (if 6 is still pressed, doesn't matter), so what might end up helping this game is a feature that allows users to press the numpad's diagonal keys by using a combination of 2 arrow keys and/or numpad keys.

TwoSpacesSG commented 2 months ago

Oh haha, I don't doubt it's the game's fault if every "emu" implementation independently got it "wrong". But on the Nokia and SE phones that I have, it doesn't behave like on emulators. Maybe on Huawei it does. It's possible the devs built a version for Huawei that behaves as intended, but I don't remember such versions being preserved sadly.

AShiningRay commented 19 hours ago

016a913742147d39c46e75160f07885e7104e91b Might be a solution to this. But it's libretro-only for now.