Rayman 1

For discussions about the Rayman series.
Forum rules
Please keep the forum rules and guidelines in mind when creating or replying to a topic.

Which version is your favourite?

Jaguar
10
4%
PC
56
23%
PlayStation
143
59%
Saturn
15
6%
Game Boy Colour
4
2%
Game Boy Advance
7
3%
DSi
9
4%
 
Total votes: 244

Hunchman801
Bad Rayman
Posts: 87685
Joined: Thu Aug 07, 2003 6:50 pm
Location: Paris, France
Contact:
Tings: 640537

Re: Rayman 1

Post by Hunchman801 »

Greengoop wrote: Sun Dec 24, 2023 3:13 pm Apparently every raytuber also believes it :lol:
Yeah, it's like those urban legends that propagate without any fact checking. They should have checked RayWiki beforehand!
metalflygon08 wrote: Mon Dec 25, 2023 5:03 am The first one appears like it would have been for the Sucking Trumpet, which is funny since IIRC the sucking trumpets in the actual game uses the regular blow animation.
That's a good point, I have updated the trumpet article with this information.
PluMGMK wrote: Wed Dec 27, 2023 3:22 am It's interesting that it's associated with royalty and nobility in Japan, since it also traditionally was here in Europe… Is there a connection or is it a coincidence?
I think this might be because purple pigments used to be extracted from certain species or shellfish and were very expensive to produce. We had Tyrian purple in the West, but a quick search shows that Kaimurasaki dye was also a thing in Japan.
Droolie wrote: Wed Dec 27, 2023 6:09 am Perhaps it might have something to do with the name in combination with the color? Considering he is known as Reiman over there, and rei means spirit/ghost... and while purple/death doesn't seem right, I do believe that the purple/ghost connection exists - heck, Pokémon's ghost type is represented with purple, isn't it? And the pokémon themselves are often purple as well. I'm fairly certain I've seen purple used for ghosts in other Japanese media as well, but I don't know where exactly it comes from either.
It's true that in the original Pokémon games, ghosts are found in Lavender Town, which is, as its name suggests, a shade of purple. I cannot, however, find any sources that connects spirits or ghosts in Japanese folklore with the color purple.
metalflygon08
Mawpaw
Posts: 164
Joined: Tue Jul 27, 2010 5:43 am
Tings: 545

Re: Rayman 1

Post by metalflygon08 »

Hey wait a minute...
O.gif
O.gif (2.83 KiB) Viewed 2719 times
The O used in the large font is the same sprite used to make the Flying Rings, just polished to look shiny!
ItzalDrake
Armoured Toad
Posts: 1102
Joined: Tue Nov 01, 2016 6:44 pm
Location: Somewhere in the pizza-pasta country
Contact:
Tings: 16373

Re: Rayman 1

Post by ItzalDrake »

Oh wow I have never noticed this before, nice find! :D
SilverLum
Ly
Posts: 940
Joined: Thu Jan 05, 2023 10:26 pm
Location: The Woods of Light
Contact:
Tings: 200530

Re: Rayman 1

Post by SilverLum »

metalflygon08 wrote: Thu Dec 28, 2023 2:36 pm Hey wait a minute...

O.gif

The O used in the large font is the same sprite used to make the Flying Rings, just polished to look shiny!
This blew my mind. I wonder what came first, the idea of the flying rings being shaped like donuts, or the "o" :lol:
PluMGMK
Annetta Fish
Posts: 40521
Joined: Fri Jul 31, 2009 9:00 pm
Location: https://www.youtube.com/watch?v=cErgMJSgpv0
Contact:
Tings: 136671

Re: Rayman 1

Post by PluMGMK »

Oh wow! That is so mind-blowing, and yet so obvious in hindsight! :lol: I mean, the rings are O-shaped, so of course they'd use the letter O… :oops2:
metalflygon08
Mawpaw
Posts: 164
Joined: Tue Jul 27, 2010 5:43 am
Tings: 545

Re: Rayman 1

Post by metalflygon08 »

wrote:
This blew my mind. I wonder what came first, the idea of the flying rings being shaped like donuts, or the "o" :lol:
I bet the font came first s8nce the ring is just some eyes and wings tacked on.

Most likely they decided to use them for the grapple mechanic.
Hunchman801
Bad Rayman
Posts: 87685
Joined: Thu Aug 07, 2003 6:50 pm
Location: Paris, France
Contact:
Tings: 640537

Re: Rayman 1

Post by Hunchman801 »

Very nice find, it makes a lot of sense and yet we never noticed!
lumgum
Medieval Dragon
Posts: 370
Joined: Tue Sep 17, 2013 6:44 pm
Location: In stores now!
Tings: 11163

Re: Rayman 1

Post by lumgum »

SilverLum wrote: Thu Dec 28, 2023 3:32 pm
metalflygon08 wrote: Thu Dec 28, 2023 2:36 pm Hey wait a minute...

O.gif

The O used in the large font is the same sprite used to make the Flying Rings, just polished to look shiny!
This blew my mind. I wonder what came first, the idea of the flying rings being shaped like donuts, or the "o" :lol:
It's not uncommon for 2D games to reuse the same sprite to represent different things to save space, particularly in the early days of gaming - see the clouds and bushes in the first Mario game, for example. Maybe they came up with the idea of flying rings to hang from first, then made the font, then realised they could reuse the O instead of making a new sprite.
Eurotool
Red Lum
Posts: 14
Joined: Thu Apr 21, 2016 12:36 am
Tings: 70

Re: Rayman 1

Post by Eurotool »

metalflygon08 wrote: Thu Dec 28, 2023 2:36 pm Hey wait a minute...

O.gif

The O used in the large font is the same sprite used to make the Flying Rings, just polished to look shiny!
Great find!

Random question, is there any reason these guys have blank eyes? An error perhaps, or a strange design choice?
Image
PluMGMK
Annetta Fish
Posts: 40521
Joined: Fri Jul 31, 2009 9:00 pm
Location: https://www.youtube.com/watch?v=cErgMJSgpv0
Contact:
Tings: 136671

Re: Rayman 1

Post by PluMGMK »

I don't think it's an error, since there have been so many different releases and spin-offs of the game that it would eventually have been fixed in at least one of them (like the mosquito colour fiasco…).

I always thought of those lianas as being one singular entity, so it wouldn't make sense to have four separate eyes (implying four different heads).

Another possibility that comes to mind, now that you bring it up, is that the sprite system was too limited to have four separate independently-moving pupils that would also move fluidly in sync with the swinging. In fact, even if they could have done that, it might have been distracting for players to have pupils moving around in eyes that are themselves swinging around – or at least it would look plain weird!
lumgum wrote: Fri Dec 29, 2023 4:26 pm It's not uncommon for 2D games to reuse the same sprite to represent different things to save space, particularly in the early days of gaming - see the clouds and bushes in the first Mario game, for example. Maybe they came up with the idea of flying rings to hang from first, then made the font, then realised they could reuse the O instead of making a new sprite.
I don't think that's the case here though, as the fonts are located in a completely different file from the ring sprites…
lumgum
Medieval Dragon
Posts: 370
Joined: Tue Sep 17, 2013 6:44 pm
Location: In stores now!
Tings: 11163

Re: Rayman 1

Post by lumgum »

PluMGMK wrote: Sat Dec 30, 2023 9:57 pm I don't think that's the case here though, as the fonts are located in a completely different file from the ring sprites…
Hmm, how odd. I suppose it was just laziness then.
Hunchman801
Bad Rayman
Posts: 87685
Joined: Thu Aug 07, 2003 6:50 pm
Location: Paris, France
Contact:
Tings: 640537

Re: Rayman 1

Post by Hunchman801 »

PluMGMK wrote: Sat Dec 30, 2023 9:57 pm I always thought of those lianas as being one singular entity, so it wouldn't make sense to have four separate eyes (implying four different heads).

Another possibility that comes to mind, now that you bring it up, is that the sprite system was too limited to have four separate independently-moving pupils that would also move fluidly in sync with the swinging. In fact, even if they could have done that, it might have been distracting for players to have pupils moving around in eyes that are themselves swinging around – or at least it would look plain weird!
I think it might be both: not only does it make sense that the spiky balls in the chain are not individual entities like the regular ones, it might also have been easier to animate.
metalflygon08
Mawpaw
Posts: 164
Joined: Tue Jul 27, 2010 5:43 am
Tings: 545

Re: Rayman 1

Post by metalflygon08 »

I'm surprised they just didn't make a sprite without the blank eye.
Steo
Holly Luya
Posts: 36340
Joined: Sun Feb 25, 2018 3:57 pm
Location: Globox Village
Tings: 100575

Re: Rayman 1

Post by Steo »

I seen in the Rayman Archiving Discord server, that the Rayman Saturn prototype is getting dumped; hard4ganes posted it on their twitter page.

The context of the tweet:
We've been busy. #gamedevelopment #preservation
GFQa3_2WkAA3YSF.jpg
Hunchman801
Bad Rayman
Posts: 87685
Joined: Thu Aug 07, 2003 6:50 pm
Location: Paris, France
Contact:
Tings: 640537

Re: Rayman 1

Post by Hunchman801 »

How do we know it's an early prototype? The case reads "Demo", but Rayman is handwritten so I suppose it could have been used for anything.

Regardless, I'm curious as to what we'll find in there!
RayJuan
Electoon
Posts: 4
Joined: Wed May 22, 2024 2:18 pm
Tings: 20

Re: Rayman 1

Post by RayJuan »

I have a question, if rayman 1 was the most hardest games, that means it's hard.
Also I have another question, I have a android port of the game by downloading the APK and OBB.
Greengoop
Joe
Posts: 19390
Joined: Fri Jun 30, 2023 4:32 pm
Location: The bog of murk
Contact:
Tings: 76030

Re: Rayman 1

Post by Greengoop »

Uhhhh… those aren’t questions??? :P

Anyway welcome to the forum Juan!
RayCarrot
Carmen
Posts: 2476
Joined: Sat Jan 11, 2014 5:46 pm
Tings: 40322

Re: Rayman 1

Post by RayCarrot »

I recently posted a Twitter thread about this, but thought I'd share it here too :) All code samples shown have been rewritten from decompiled code to make it more readable.

As recently discovered it turns out Rayman 1 calculates the times for the Magician bonus rounds incorrectly under certain circumstances. Did you know that a time of 12:1 is actually greater/slower than a time of 12:14? :fou2:
Time 12-1.jpg
I'll try and explain why in detail here. First of all we need to look at what the time displayed actually means. Is 12:1 the same as 12:10 or 12:01? By looking at the code we can see that it's the latter. If it's a single-digit value then it pads it with whitespace on the right side, so it becomes "1 ".
do_perfect_bonus.png
The second thing to note is that there is no conversion from frames to milliseconds for the value after the colon. This means that the timer actually displays in frames. The range for each second then becomes XX:00 - XX:59. The time difference between say 1:59 and 2:00 would then actually be around 16 ms, rather than 410 as you might first have expected. Counterintuitive, but not an actual bug (yet!).

With that out of the way let's look at the actual bugs. The problem is that if the time is XX:0 or XX:1 then it seems to be showing a lower time than it should be. To figure out why we need to look at the math involved here.

Let's break it up and look at each value separately. First we have the value for the amount of seconds. It's calculated like this:

Code: Select all

allowed_time - (left_time / 60 + 1)
allowed_time is the time limit in seconds and left_time is the remaining time in frames. Also all values are integers since the PS1 doesn't support floating points.

Dividing by 60 seems reasonable since we want to get seconds from frames, and the game runs in 60 fps, but why the +1? Well because we want to round up if it's a fraction of a second. Why round up and not down? It's because the left_time value is how much is left, not your actual time, so it's reversed from what you might first expect.

However there's a bug here. What if the time is not a fraction of a second, but rather XX:0? Then the +1 actually offsets it by 1 second! Since we're subtracting the left_time, this means we end up with 1 second less than it should be.

So we've now established that if the time is showing for example 12:00 then it's displaying 1 second less than it should, and the time is actually 13:00. But like I said before there is also an issue if the time is XX:1. How come?

Let's look at the second value, the amount of frames within the displaying second. This is using the map_time variable, the amount of frames you've been in the map, and doing mod 60 on it. This is all well and good, but how does map_time relate to left_time?

In the main game loop we have two functions, horloges and calc_left_time, that run each frame. Exactly how they work isn't important, but horloges increments map_time by 1 each frame and then calc_left_time sets the left_time value based on map_time, thus keeping them in sync.
do_moteur.png
do_moteur.png (4.32 KiB) Viewed 561 times
But here comes the issue. When you finish a bonus level and get taken to the "PERFECT!" screen, then it exits the main game loop and enters another game loop called do_perfect_bonus - the same function that creates the timer text. Notice anything wrong here?
do_perfect_bonus.png
As you might have seen the do_perfect_bonus game loop calls horloges each frame, but does NOT call calc_left_time. This means map_time is going to be off by 1 frame from left_time! And this is exactly what causes a time of both XX:0 and XX:1 to be off by 1 second.

I wrote a small program to test this out, replicating the logic and adding 1 to map_time, and yep, same results!
sample-code.png
sample-results.png
sample-results.png (1.56 KiB) Viewed 561 times
So here it is - thanks to 2 bugs in the code it turns out that the time displayed is off by 1 second if it ends with a single digit of 0 or 1! This was quite confusing and had us stumped for a while until we figured it out! This is thanks to the speedrunners originally noticing the times sometimes not matching that we decided to dig into this. I should also mention all of this is for the PS1 version, but I had a quick look at the PC code and it seems the same, so I assume this bug exists in all versions (besides Jaguar probably since that is coded entirely differently).
Hunchman801
Bad Rayman
Posts: 87685
Joined: Thu Aug 07, 2003 6:50 pm
Location: Paris, France
Contact:
Tings: 640537

Re: Rayman 1

Post by Hunchman801 »

Amazing detective work! I had no idea this bug even existed, but it's really interesting to see how the game works under the hood. I wonder how many subtle bugs remain undiscovered. :hap:
PluMGMK
Annetta Fish
Posts: 40521
Joined: Fri Jul 31, 2009 9:00 pm
Location: https://www.youtube.com/watch?v=cErgMJSgpv0
Contact:
Tings: 136671

Re: Rayman 1

Post by PluMGMK »

Nice detective work indeed! :D Wouldn't be the first case of dodgy time accounting uncovered in a Rayman game :hap:
Post Reply