Also in the game's text I found what appears to be unused enhancements. The "Electoon Guide" option especially sounds like it would have been very useful!
Also in the game's text I found what appears to be unused enhancements. The "Electoon Guide" option especially sounds like it would have been very useful!
And while saving the game's state at a photographer it does a lot of special things for the object links (even more in the Rayman Designer spin-offs due to the new gendoor types).
I tried looking into what causes it, but it's hard to know for sure.
However looking at the maps I can see both of them have the same issue: they link a normal killdoor to a super-killdoor. A killdoor is basically a trigger which despawns something, so linking them together is bound to cause issues.
Rib suggested it might have been for these 2 By his Fans levels, and sure enough, when I tried using the photographer twice it literally freezes the game!
As far as I know no one has found, or at least mentioned, this bug before, so this was surprising to see.
It started when I extracted the in-game text and found this unused string:
"Due to an issue in the original game, this level will end if Rayman uses the same photobooth twice. If this occurs, press {BUTTON GLYPH} to rewind or {BUTTON GLYPH} to open the menu and restart."
In the Rayman 30th Anniversary Edition there are 2 levels in Rayman by his Fans which you can't access. It simply says "Level not available". We didn't really understand why, until today (cont.)
#rayman
The Mr Dark fight has a sort of checkpoint system for each phase, which is how when you die you don't have to redo the entire fight. In the GBA version they forgot to reset this value after the fight, meaning that re-entering it loads you directly at the final checkpoint, which is for the boss end.
I know, but for a while there was a misconception going around that they literally just used Retroarch with some cores for this collection, which isn't true. It uses Digital Eclipse's proprietary engine to handle the emulation cores and their respective enhancements.
I'm sad we never got cool manuals like these in Europe
PAL mode which slows down the game
Adding a video of the pure chaos it can cause hahaha, this was hella funny (tho quite a bit long to setup without stuff to speed it up)
You can very easily try out this glitch for yourself by turning on invincibility (Right, Up, Right, Left, Right and R on the pause screen) and leaving the game for a while. Be warned that the game will lag a lot towards the end as it'll be processing the claw over 100 times each frame...!
So what ends up happening after 200 times is that the claw keeps spawning and extending the list beyond 200, thus overwriting other data in memory.
At this point almost anything can happen. Usually the game just crashes/freezes, however you can end up with a situation where Skops disappears ๐
Having the speed increase is pretty funny in of itself, but the boss fight is quick so it never really causes any issues. But how fast can the claw move? Well this list of active objects has a hard limit. After 200 items it runs out of space, and there's no bounds check besides logging an error.
For example, say the object should move 2 pixels to the left during 1 frame, but the object has been added to the list of active objects 5 times. Then what happens it it moves 2 pixels 5 times during that frame, resulting in it moving 10 pixels! So this now explains why the speed keeps increasing.
You may think this means there will now be multiple claws in the level, but there is only a single claw, so what happens instead if that the same ID for the same object gets added to the list of active objects over and over... Then each frame of the game it now processes the object multiple times.
Why they added this code I have literally no idea. Maybe they thought the screen size was too small so the claw would accidentally despawn after leaving the screen on the left and it'd break the boss? Either way this is what causes the bug. The claw spawns each time it's thrown, but never despawns.
In fact there are multiple bugs at play here, but the most important thing, and why this only happens on GBA/DSi, is that they updated the code for despawning objects to NOT do so if the position is -32000 (default position) or if the object is of type "SKO_PINCE" which is... well, the claw.
Each time an object is spawned it adds itself to this list. The claw does this as expected. Then when the object has finished doing what it should then it despawns and removes itself from the list. But this is where we start getting into the issue...
The issue as it turns out isn't in the claw's code at all. It's how the game handles which objects are currently considered "active".
The game has a list of the IDs for these active objects, which are objects currently on screen, as well as spawned objects (such as the claw).
I was confused for the longest time as to why this happens. The code for the claw's movement is identical to other platforms, and seems correct.
It starts with a speed of -128 (so to the left), adds 2 to the speed each frame so it slows down to 0 and then re-accelerates up to 110 (to the right).
For starters, and what made us discover this, is that there's a weird thing that happens in this boss on GBA/DSi. Each time Skops throws his claw it moves faster. Eventually it's so fast you don't even see it lol
Here's a video with invincibility which showcases it:
In Rayman Advance (and on DSi) there's a bug where you can make Skops disappear, or even crash the game...!
I'll explain below how it works. As it turns out there's quite a lot at play here!
#rayman
A week ago, it was considered impossible to beat #Rayman GBC 100% without revisiting levels. This is because some cages require powerups you get later in the game.
After some stratfinding by @supersqank.bsky.social & myself, the run is now hard, but possible!
www.youtube.com/watch?v=3Ht2...
They're normal audio files overlayed on top of the game, so they don't have any of the sound limitations of the GBA. But yeah I agree they didn't really replicate what GBA music sounds like. Feels more GBC-like in some ways. Still, I quite like it tbh.
I would also recommend checking this video on it as it goes into some of the technical aspects of the collection!
www.youtube.com/watch?v=jU6b...
I don't know anything about Saturn emulation so no idea ๐
Also worth noting is that while all games do use emulation, the PS1 version is unique as it's only partial emulation. All of the code has been statically re-compiled to native AOT code, which is what allowed them to patch the code for widescreen support (it requires a lot of changes to the og code!)
Out of curiosity I decided to check what emulators the 30th Anniversary Edition uses since I've seen a lot of misinformation about it (no it doesn't use RetroArch ๐)
SNES: Mednafen (snes_faust)
GBC: sameboy
GBA: mGBA
Jaguar: BigPEmu
MS-DOS: DREAMM
PS1: Pancake
#rayman
Yeah other platforms also prevent ting farming, but the implementation is completely different. Here it actually doesn't count how many lives you got from tings, but rather just checks if you got "any" lives from tings and then removes 1 life. Which works since no screen has more than 100 tings.