# .font: font.text_2
2020-07-01 01:15 DarkStoorM  
# .font: font.text_1
I decided to make a test series to see how BD1 caves would look like with a different Random Number Generator implementation.  
  
I skipped the intermissions and the caves with no RNG involved.  
The Funnel cave (O) had to be corrected manually, because the Space was placed right between the MWall and the boulder.  
  
All seeds and random fill values are the same, the only difference is the random number implementation

# .font: font.text_2
2020-07-01 08:54 nesdori  
# .font: font.text_1
 darkstoorm , funny experiment :) another variation would be to keep the original rng but switch the values of seed1 and seed2 :)

# .font: font.text_2
2020-07-01 09:56 Arno  
# .font: font.text_1
nice! :-D  
  
just note that the original caves have some extra dirt placements, which are missing in your remakes. not sure if that's on purpose, but just in case, these are the locations i'm referring to:  
  
- cave D: dirt boxes around the 4 bfly cages.  
- CAVE f: 2 vertical dirt lines just next to the 2 firefly dens.  
- cave h: horizontal dirt line above the mwall, but not directly above the mwall; rather the 2nd line above the mwall.  
- cave l: dirt boxes around the 3 ffly cages.  
- cave M: dirt rectangle below the line of boulders below the bflies.  
- cave o: horizontal dirt line above the mwall (so your manual fix won't be necessary).  
- cave P: dirt boxes around the 4 ffly cages.

# .font: font.text_2
2020-07-01 10:23 DarkStoorM  
# .font: font.text_1
 Arno  oooh! Thanks, I didn't know there were additional dirt placements!  
  
I thought there were manual placements, but I admit I didn't take a closer look into it, I only paid attention to the diamonds placement. in the cave files from GDAsh. I noticed there also were some dirt placements, I actually don't know why I skipped them :P  
  
I will fix these caves, thanks for pointing that out :D  
  
 nesdori , I thought about that, haven't looked yet, I might check that out!

# .font: font.text_2
2020-07-01 10:32 DarkStoorM  
# .font: font.text_1
or actually, I will leave these caves as they are - just as a reminder to double check things :D

# .font: font.text_2
2020-07-01 11:26 dustin  
# .font: font.text_1
cool! ;d  
what would interst me - did you randomize the caves in gdash and then rebuild them here or did you use the randomizer of this site's ckit directly? i just noted that the random fills don't look c64-ish. but gdash has two different random generators, so perhaps you used the other one? ;d

# .font: font.text_2
2020-07-01 11:28 dustin  
# .font: font.text_1
ah, i just didn't read your initial post properly. so you used the second random generator in gdash and then rebuilt the caves here, alright! ;d

# .font: font.text_2
2020-07-01 11:32 dustin  
# .font: font.text_1
if you intend to do the same thing with bd2, here's a way to save a lot of time: if you just open the game in gdash and then open the editor, you can just work with the original caves and the objects are already there. all you have to do then is to overwrite the rng and put this new object at the top of the other objects!

# .font: font.text_2
2020-07-01 11:37 nesdori  
# .font: font.text_1
 dustin , i got a feeling that the rng  darkstoorm  used is not any gdash rng but either a standard library rng or his own implementation.. :)

# .font: font.text_2
2020-07-01 11:40 DarkStoorM  
# .font: font.text_1
 dustin , I wrote a quick PHP script to render the cave based on the cave data (seeds, and random fill data), it uses mt_rand(min, max) algorithm, so only the cave seed in this case was necessary, then just placed everything by hand on a cloned BD1 cave in this site's CKit.  
  
The C64 generator uses two seeds, which I assume is the "related number generator". Seed_1 is initially 0, Seed_2 is a constant value from the cave, with each random pick the Seed_1 is the result for placement probability check and is also a base for another random pick. This is quite interesting! :D  
  
I used the same exact random fill technique as  Arno  posted on his forum, just translated to PHP. I also checked with the C64 generator to make sure the placement works the same way.  
  
I might upload a working example later just for funsies :D  
  
My quickest source for value was the cave file in GDash, so I hope these values were correct as I didn't want to make a full research on the original caves.  
  
Interestingly enough, the GDash cave files seem to always use four randomfill objects, which was a bit confusing, but it did not have any im pact on the generator  
  
"RandomFill=SPACE 255 DIAMOND 9 SPACE 0 SPACE 0"

# .font: font.text_2
2020-07-01 11:42 DarkStoorM  
# .font: font.text_1
Oh wait, my bad, Seed_2 is not constant didn't notice it was also a pointer :D

# .font: font.text_2
2020-07-01 11:44 DarkStoorM  
# .font: font.text_1
 dustin , I might also try BD2! If the values are correct of course :D  
  
*impact, whoops

# .font: font.text_2
2020-07-01 11:46 nesdori  
# .font: font.text_1
 darkstoorm : yes, both seeds are importart part of the number generation. another way to see it is that there's just one 16-bit seed and seed1 and seed2 are the upper and lower byte of it :)

# .font: font.text_2
2020-07-01 11:50 DarkStoorM  
# .font: font.text_1
Ah, thanks  nesdori , that generator is a black magic to me, not enough experience :D

# .font: font.text_2
2020-07-01 11:51 dustin  
# .font: font.text_1
ahhh, ok! yes, i'm pretty sure the values are correct &gt;;d

# .font: font.text_2
2020-07-01 11:58 DarkStoorM  
# .font: font.text_1
Nice, I will add them later! I have to skip half of them, though - they don't use any RNG at all :(  
  
Good thing is that it's not time-consuming as it's just alt+tab and place since the tile sizes are the same and we have the CKit shortcuts  :D

# .font: font.text_2
2020-07-01 13:37 dustin  
# .font: font.text_1
i'm curious what you'll do with cave j, which technically does use a rng ;d ;d

# .font: font.text_2
2020-07-01 13:48 DarkStoorM  
# .font: font.text_1
 dustin , you mean from BD2, right? I will try all the caves later! :D

# .font: font.text_2
2020-07-01 17:46 dustin  
# .font: font.text_1
yes ;d bd2-j uses the funniest rng imo - BOULDER 1 and that's it ;d