[Raylib] - [Pseudo-RNG does not seem to work]
Description
Since the .getRandomValue(min: , max:) method seems to be deprecated, I tried using Int32.random(in:)/Int.random(in:) as stated in the deprecation message. However, these methods do not seem to be affected by the .setRandomSeed() method. I even attempted to set the seed via srand() and srandom(), but this did not work either.
Steps to Reproduce
- Set the seed via
.setRandomSeed() once (I did it in the beginning immediately after window initialization).
- Generate a random value using the method
Int32.random(in:).
- Print the generated value to the console.
- Restart the application and repeat steps 1-3 using the exact same code/seed.
Current Behavior
The generated values are not identical, nor are their sequences anywhere near identical. When using .getRandomValue(min: , max:), everything works fine.
Relevant Screenshots/Logs
-
Environment
Operating System: Ubuntu 20.04.6 LTS
Project Version: master
Swift Version: 5.6.2
Target: x86_64-unknown-linux-gnu
Troubleshooting Steps Taken
I tried only setting the seed once at the very beginning. I used a hardcoded seed of '123'. I tried setting the seed via .setRandomSeed() as well as srand() and srandom(). For getting a pseudo-random value, I tried Int.random(in:), Int(random()), Int32.random(in:), as well as UInt32.random(in:). After getting a value from the PRNG, I restarted the application and did the exact same thing as before, expecting to get the exact same value. But the value I received was always different. I also tried replicating this in a playground environment, getting different values/sequences there as well.
Possible Solutions
Maybe the problem is with my usage, but I'm uncertain.
Additional Information
You can use .getRandomValue(min: , max:) as a workaround, regardless of its deprecation.
[Raylib] - [Pseudo-RNG does not seem to work]
Description
Since the
.getRandomValue(min: , max:)method seems to be deprecated, I tried usingInt32.random(in:)/Int.random(in:)as stated in the deprecation message. However, these methods do not seem to be affected by the.setRandomSeed()method. I even attempted to set the seed viasrand()andsrandom(), but this did not work either.Steps to Reproduce
.setRandomSeed()once (I did it in the beginning immediately after window initialization).Int32.random(in:).Current Behavior
The generated values are not identical, nor are their sequences anywhere near identical. When using
.getRandomValue(min: , max:), everything works fine.Relevant Screenshots/Logs
-
Environment
Operating System: Ubuntu 20.04.6 LTS
Project Version: master
Swift Version: 5.6.2
Target: x86_64-unknown-linux-gnu
Troubleshooting Steps Taken
I tried only setting the seed once at the very beginning. I used a hardcoded seed of '123'. I tried setting the seed via
.setRandomSeed()as well assrand()andsrandom(). For getting a pseudo-random value, I triedInt.random(in:),Int(random()),Int32.random(in:), as well asUInt32.random(in:). After getting a value from the PRNG, I restarted the application and did the exact same thing as before, expecting to get the exact same value. But the value I received was always different. I also tried replicating this in a playground environment, getting different values/sequences there as well.Possible Solutions
Maybe the problem is with my usage, but I'm uncertain.
Additional Information
You can use
.getRandomValue(min: , max:)as a workaround, regardless of its deprecation.