AnOpenSauceDev / FastRandom

An optimized rewrite of Minecraft's RNG system, for Fabric!
Apache License 2.0
48 stars 3 forks source link

Altered Cave Generation with Faster Random #17

Closed Minecrafthyr closed 1 year ago

Minecrafthyr commented 1 year ago

Seed: -4103198678841418197 /execute in minecraft:overworld run tp @s -45.86 19.00 -12.76 460.65 14.40 2023-11-09_13 58 04 /execute in minecraft:overworld run tp @s -130.59 23.50 -28.43 514.20 6.30 2023-11-09_13 58 35

AnOpenSauceDev commented 1 year ago

can you provide a world seed? I'd assume Faster Random would probably cause some terrain changes.

Minecrafthyr commented 1 year ago

seed -4103198678841418197

/execute in minecraft:overworld run tp @s -45.86 19.00 -12.76 460.65 14.40
/execute in minecraft:overworld run tp @s -130.59 23.50 -28.43 514.20 6.30
AnOpenSauceDev commented 1 year ago

Weird, I'm not getting the same terrain as you, generating again just to be sure.

AnOpenSauceDev commented 1 year ago

It looks like cave generation gets randomized, but I'm seeing the same surface terrain here.

AnOpenSauceDev commented 1 year ago

Can confirm, ThreadLocalRandom has issues with generation (images below)

[!NOTE] Both images are taken with Faster Random

World 1

2023-11-09_15 58 42

World 2

2023-11-09_15 58 56

But at the surface, the actual land lines up 1:1 for me.

AnOpenSauceDev commented 1 year ago

Non-cave terrain generation is unaffected though (notice how the lava and azalea trees randomly vanish).

World 1, again

2023-11-09_16 05 53

World 2, again

2023-11-09_16 06 08

AnOpenSauceDev commented 1 year ago
Minecrafthyr commented 1 year ago

It looks like cave generation gets randomized, but I'm seeing the same surface terrain here.

I'm using a new seed that's different from the one issue was created with.

AnOpenSauceDev commented 1 year ago

It looks like cave generation gets randomized, but I'm seeing the same surface terrain here.

I'm using a new seed that's different from the one issue was created with.

I know, I was just pointing out that terrain is unaffected outside of caves.

AnOpenSauceDev commented 1 year ago

I'm using a new seed that's different from the one issue was created with.

I'm not actually referring to that at all, it turns out that caves are randomized differently every time you make a new world with Faster Random. And I'm not getting that "chunk-error" to pop up, so that might be a problem with vanilla mc.

AnOpenSauceDev commented 1 year ago

Closing and pinning, as there isn't really much I can do to fix this.

Rozbiynk commented 10 months ago

i have same issue, it also can be viewed using worldeditor's "regenerate" function

Rozbiynk commented 10 months ago

but i hope it was fixed in 2.0

AnOpenSauceDev commented 10 months ago

but i hope it was fixed in 2.0

Yes and No, cave terrain generation is much more consistent (sometimes even at parity with vanilla with carver shapes), but stuff like ore generation and feature placement is now off compared to vanilla. Overall, there should be way less "broken" caves that spawn in.

Rozbiynk commented 10 months ago

yeah I mostly mean this ugly chunked generation, it's also very annoying in the nether

AnOpenSauceDev commented 10 months ago

Because of how Faster Random works (both pre and post-2.0.0), everything has their randomization modified. Having edge-cases for everything 1) takes time to develop, and 2) reduces our potential performance uplift, especially for worldgen. I've said this for #20 as well. It's possible, and Francium does this as well, but on an older version of Minecraft, where this is much easier to do.

Rozbiynk commented 10 months ago

but i hope it was fixed in 2.0

Yes and No

no it wasnt fixed. First screen is faster random 2.0 + c2me, second is c2me without fast random third screen is faster random without c2me 2024-01-13_15 31 32 2024-01-13_15 40 22 2024-01-13_15 46 18

AnOpenSauceDev commented 10 months ago

no it wasnt fixed.

What I meant by "Yes and No," was that terrain generates like vanilla, but is not 1:1 for generation. Also, because of how the random system works, there is no difference with/without c2me, as the seed for cave terrain will be randomized the same way.

abidbmt commented 7 months ago

So as far as I understood, cave structures like ancient cities and mineshafts (and any other structures) are unaffected?

AnOpenSauceDev commented 7 months ago

At the very least, re-creating a world (which should make a world with the same seed as the previous one) lead to the ancient cities being in the exact same spot as vanilla in Faster Random 3.0.3. IIRC, the generation changes are mostly related to "features", which are non-structure things like trees, lava pools, lush cave glow berries, etc.

That being said, changes to a feature probably aren't game-breaking, and you've probably experienced this without even knowing.

abidbmt commented 7 months ago

Ah I see thank you for clearing that up, I recommend adding that to the mod description to avoid further confusion since I thought by "in a subtile way" you meant that they arent at the exact same spot but instead close to the original spot.

GopsRay commented 6 months ago

Hlo I just want to clarify this [NOTE: Faster random alters world generation for caves in a subtle (3.0.0+) way, due to some limitations with ThreadLocalRandom and L64X128MixRandom. Structure placement (villages, strongholds, ancient cities) is not affected. If you are willing to accept this and compromise for much faster worldgen and random logic, then this is for you!] Does this problem 'alters world generation' is fixed or never be fixed?

AnOpenSauceDev commented 6 months ago

I doubt that the world generation can fully 1:1 match vanilla, but with every major update we get much closer to vanilla parity for features. This issue was specifically about some cave generation being really broken at chunk borders in older versions of Faster Random, which has been fixed.

GopsRay commented 6 months ago

That means in the latest version of [Faster Random 3.0.4] cave generation is not 1:1 same as vanilla world cave generation.

AnOpenSauceDev commented 6 months ago

Technically it's not direct cave generation, but it's the location of some types of cave carvers in 3.0.0+. The caves themselves generate as they should.

GopsRay commented 6 months ago

Soory,I cant't understand this properly do u mean vanilla cave generation and faster random cave generation are not the same?

GopsRay commented 6 months ago

My english is not good and soory if you think I'm annoying :( but can pls clarify this doubt [vanilla cave generation and faster random cave generation are not the same]

abidbmt commented 6 months ago

My english is not good and soory if you think I'm annoying :( but can pls clarify this doubt [vanilla cave generation and faster random cave generation are not the same]

The difference is nearly unnoticable so you dont have to worry about it

AnOpenSauceDev commented 6 months ago

It's close to vanilla, but is not exactly vanilla. If you're speedrunning, the run would not be approved, but aside from that you will not notice anything 99% of the time. There's nothing else I can really say to clarify this.

If you have anything else to say please make a new Discussion so people do not get tonnes of notifications.