Realistic Terrain Generation

Realistic Terrain Generation

9M Downloads

Gen layer integration

Ezoteric opened this issue ยท 97 comments

commented

As i knew from the start, we need to start implement genlayer shit to be able to get islands and more

BOP uses it and climate control also
I did start adding genlayer to see if i could fix your mushroom BS biome :P (not realistic so replace to volcano goddammit ;) )

But what i was affraid of was that we almost need to import most layer files.
Soooo
A: i check first as this is mainly copy paste work and you keep focusing on the rewrite (if still needed)
B: you also start with it :P

commented

My gawd that climate control has a shit load of files....
I dunno if we should integrate climate control like that.

commented

Besides that, if we get islands from MCs gen layer and would be able to add the volcano on those islands it doesn't matter if it's still called ocean. Cause I think you can only name biomes right ?

Also gen layers add shores so that's a good a thing but I think it will be some work to get that in as well. I think I'll. Check how bop did it cause that code seems a lol easier then cc code

commented

Cool, I've just finished completely removing the old RWG base biomes, including the realistic sub-biomes that RWG added, so the only thing left in the 'rwg-base-biome-removal' branch is vanilla biomes. :) I don't know why I struggled with it so much before - it was actually pretty straightforward!

Anyway, I want to merge 'rwg-base-biome-removal' back into master, but I'll wait until you've synced your branch with the current master so I can see what the best way is to merge everything together.

I've been reading up on GenLayers (when I should be working, haha!) and I think I have a slightly better understanding of what they are and how we might be able to use them, but it's still quite confusing.

commented

Yeah can you make a branch for the addon or will there still be a way to add a few of those biomes ?

I'll merge mine in 4 hours ๐Ÿ˜‰

commented

"Yeah can you make a branch for the addon or will there still be a way to add a few of those biomes ?"

I'm going to merge the rwg-base-biome-removal branch back into master, but only after we get your Jason branch merged first.

Then after everything's up-to-date, I'm going to delete both of those branches, and then from now on, we create new branches for specific tasks only. For example, the rwg-base-biome-removal branch had a single purpose (to remove the base biomes), so now that it's been done, we should delete that branch after it's been merged into master... and then we create a new branch for the next feature/task, etc etc.

I know that means we're going to 'lose' all of the realistic biome code from RWG (RealisticBiomePolar.java, RealisticBiomeRedwood.java, RealisticBiomeIslandTropical.java, etc), but we can still reference those from the RWG repo and add elements of them back in if we need to. The tropical islands, for example, if we can figure out the GenLayers and make them generate inside an Ocean biome, that would be awesome.

commented

Hmmz i think i need your code before you need my code, ive seen why my code didnt work cause in chunkmanager i need to start genlayer and at the place it needs to be it starts the whole hot cold snow stuff. I think you deleted that code right ?

Example:
public ChunkManagerRealistic(World par1World)
{
this();
long seed = par1World.getSeed();

    perlin = new PerlinNoise(seed);
    cell = new CellNoise(seed, (short)0);
    cell.setUseDistance(true);
    biomecell = new CellNoise(seed, (short)0);

    biomes_snow = new ArrayList<RealisticBiomeBase>();
    biomes_cold = new ArrayList<RealisticBiomeBase>();
    biomes_hot = new ArrayList<RealisticBiomeBase>();

ETC ETC

and i think it needs to be
public ChunkManagerRealistic(World par1World)
{
this();
GenLayer[] var4 = GenLayerRTG.makeWorld(par1);
this.genBiomes = var4[0];
this.biomeIndexLayer = var4[1];
blablabla

I think ?

commented

Have you pushed all of your local commits to the remote Jason branch?

commented

No I thought if i used your removal branch I could surprise you with a working gen layer but it seems to be more then I can chew on I'll dump the files in Jason in a few minutes and you can take a look

commented

I think our chunkmanager needs to have more work done to get genlayerrtg to work haha

commented

So I did this and got no error but I get the feeling it doesn't trigger genlayerrtg so I still need to check why that is happening.

But when it works I think I also will get the real mushroom island cause I did change that to ours.

I'll update my branch when I'm home from work

commented

btw how do i create a folder in world/gen it needs to add a folder layers so i have world/gen/layers
On github cause i can only make a file not a folder ?

commented

np found it

commented

Not sure how to do it from Eclipse, but... I just go into Windows Explorer and create the folders manually and then drag & drop an existing class file and fix the errors in Eclipse.

By the way, if you're going to work on GenLayers, we should delete the Jason branch and create a gen-layers branch. Do you have anything else on Jason that you want to keep?

I have to go do some personal stuff now, but I'll be back on the scene in an hour.

commented

PS - Let me merge the base rwg-base-biome-removal branch first, then I'll create the gen-layers branch. Gotta run! be back in a bit!

commented

No jason didnt had anything i just downlaoded your removal and dumped it into mine haha

I only needed to change the config it seems :P

commented

lol i dunno where it is, but i think its on my page, github is crap !!!

Also i saw you deleted config files !!

commented

btw ignore patch 8, check in fork and you will see the correct one

commented

Ok, I've just merged rwg-base-biome-removal into master and deleted both rwg-base-biome-removal and Jason branches.

I also created the gen-layers branch, so if you could grab the latest stuff from master and then switch to the gen-layers branch, that way we can push & pull from that branch without affecting master.

That cool?

commented

I'll try haha stupid github :p

commented

Btw where you from ? The UK?

commented

Yep... is it that obvious?! :) Whereabouts are you from?

commented

Oh I forgot to ask... do you use GitHub Desktop? I don't think I would've been able to get my head around GIT without it!

commented

Well your English is good and I think I saw some typical English UK words haha

I'm from Amsterdam haha :p

commented

I do have it but have no clue how it worked.
If programs don't follow the universal menus they can go for them selves haha I just use Web page and just edit or create them there and then copy paste my stuff

commented

I mean the time I have to put into finding all that Shit out I can edit a zillion files haha

commented

Yeah, I can relate to that... the interface for GitHub Desktop isn't very intuitive at first, but if you stick with it, it starts to make sense. If you can get your environment setup so that you can push & pull from that gen-layers branch, we'll be able to collaborate so much easier. You can do stuff, commit, then push... and then I can pull what you've done to my copy of the branch & then I can do some stuff, commit & push back... then you can pull, etc etc. Let me know if you get stuck and I'll help in any way I can... really important that we start using these branches, especially when we start advertising for "TEAM RTG" W00000t!!!! ๐Ÿ˜„

commented

lol
If you really want to help me understand that program, skype and show your desktop en tell me what is what :P

Anywayz ill try to merge with gen layer

commented

That's a good idea... I've got grown-up crap to sort out first, but I'll be back on the scene later... do you have a Google account? I'd rather do a Google Hangout if that's cool with you? (Back in about an hour)

commented

wow this is actually again getting out of control lolz

But i think you might be able to fix all the stuff to ours if needed :P

still getting crashes so im trying :P

commented

Cool, no worries. Just let me know when you're ready to commit/sync your stuff to the branch and I'll pull it down to take a look.

commented

well, i think bop does more then i wanted to.

Im stuck now. cause i need to import too much from bop cause i dont know how to stop doing what i dont want it.

commented

It's cool - just push your stuff to the branch if possible. If not, just let me know what files you brought across and I'll try to get them working.

commented

lol dont have permission to upload to this branch :p

commented

Bah! Still getting used to this team stuff! One sec

commented

:p

commented

i do get a crash but you have to check maybe you know whats up and needs to be changed :P
its a mess tho, but youll see soon enough :p

commented

Ok, I've deleted the old branch and created a new gen-layers-test branch... if you switch to that branch in GD, then copy your stuff into the folder we created earlier... then commit & sync... I should be able to pull it down. Let me know if you get stuck.

commented

Or, you might have to do a pull request.

commented

zzz cant do shit.... just not working here

commented

need permission for everything even the pull request

commented

Just sent you a message on MFC.

commented

i did by making a fork then add the changed and then asked the fork :P

try now

commented

"Btw pink biomegenbase is pretty much our realistic Base ? So in other words we replace biomegenbase and the biomes? Cause it makes changing to genlayerrtg easier :)"

Not sure what you mean... are you referring to the new BiomeBase.java or MC's BiomeGenBase.java?

commented

I mean biomegenbase from MCs is where all their biomes are in right. like you use biomegen.desert and now be realisticbase.vanilla desert orso

commented

Ahh, I see... well, I'm using the BiomeGenBase biomes as 'seeds' for the realistic biomes, so I think we'd need to keep those.

But feel free to play around with stuff and see what works... if we need to do it a different way, that's fine, as long as it works ;)

commented

No worries first I'll screw with layers and replace chunk with layer haha let's see what it does then

commented

euh, how are our biomes called now ?

This isnt correct anymore:
RealisticBiomeBase.vanillaTaiga
found it its:
RealisticBiomeVanillaBase.vanillaTaiga :P

commented

Yep, still kinda the same as it was before, just slightly different. ;)

commented

Oh, forgot to ask... am I alright to delete the current gen-layers branch and create a new one? It's just that I created that branch before the last batch of rewrites, and I want to make sure we're all working off the latest version. Is that cool?

commented

i already have new ones :P

BTW can you look at https://github.com/Glitchfiend/BiomesOPlenty/blob/BOP-1.7.10-2.1.x/src/main/java/biomesoplenty/common/world/layer/GenLayerBiomeBOP.java

And maybe change it to our 5 or 7 step climate ? :P

i think with that i can launch a test, i dunno if i can get it working without :O

commented

or wait, ill first make all files ill need to be working, and i think with that we can check if this way works like we want to :P

commented

I've nearly got it running without crashing... that's the good news. I'll tell you the bad news after I get it running ๐Ÿ˜

commented

Lolz course there is bad news Probably the noise and Shit haha at least that's what I think is gonna happen

commented

I may gonna discard bops way and try and look at EB's gen layers to fix ours :P

But ill wait on your answer from the current layers :P

commented

I've just updated the gen-layers-test branch with my stuff... I couldn't get it running without crashing, and I think I know why... in order to use GenLayers, I think we need to convert RTG's realistic biomes so that they extend BiomeGenBase... this might be where the previous author struggled, because doing that isn't going to be easy ๐Ÿ˜ข

You can try doing it the way EB does it, but I think you're going to run into the same problem... you can only get so far, and then we'll need to use biomes that extend BiomeGenBase in order to do what we want to do with islands, transitioning, weighting, etc.

I'm going to ask around in the forums, etc, to see if that's definitely the case and hopefully I'll know more soon.

commented

yeah exaclty what i suggested on the other topic :P

well we tried and learned some more right :)

commented

Just testing something... I might have been wrong about it being difficult... even if I wasn't wrong, I think I just fixed a massive bug... I'll keep you posted after some testing.

commented

lol well thats a good thing i hope :D

Ill wait cause im a lil bummed out and i was checking streams and thats a load of shit with this mod lol
chops down hills and what not, also i cant make my shader compatible with the streaming water as the mod author tells something i clearly dont have in my log haha

Anyway im looking forward to your update, meanwhile im still checking EB's source cause that village shit is what i was looking for for a long time !!!!

commented

Yeah, that's one of the things I loved most about it. You can increase the size of the villages and have absolutely MASSIVE villages! And yeah, the custom materials... RTG already does that I think... I'm sure I saw some villages with different materials for houses.

commented

Noooo I was talking about changing the house it self the complete build of it and adding more stuff to it. Not just the size or the blocks hahaha I gonna change the torch and see if it does what I think it does :p

commented

Ok, I've made a change to master and merged those changes into gen-layer-test so if you grab the latest version of gen-layer-test you'll see that I've made RealisticBiomeBase extend BiomeBase, which is now extending BiomeGenBase. So it looks like it wasn't hard after all!!! (Although I haven't done much testing, so I don't want to get excited too much yet!)

Also, I fixed a bug in RealisticBiomeBase that was mixing up the biome IDs a bit, which should improve biome generation a bit. For example, Swamps are no longer a rare/missing biome now.

I'm gonna carry on working on the gen-layer-test branch to see if I can get it running with the BOP approach to GenLayers... if that doesn't end up working, I'll create a new branch for the EB approach.

commented

hmmz ill test a bit and think i want to use the EB ones
mainly cause he also has village shit i also need to test !!!
i need 2 accounts !!!

commented

euh... i still crash with the same crash :P

commented

btw no matter what, if we wanna use layer we will need to fix the biomegenbase :(

commented

also EB has multiple biomes in 1 chunk :P

just so you know :p

commented

BTW did you kept using chunkmanager with EB layers ?

as i see eb is still using that :P

commented

Btw I think eb has a fix for biomegenbase or else can't we just make our own and extend it to the MC one ? :p

commented

dunno what i did but i dumped a lot of shit in the addon and im actually generating a map :O

commented

Ok so far everything still works it just not doing anything. Now what I think what needs to be done is porting the noise Shit what makes RTG realistic into the specific layer file.

Cause even tho I did activate the genlayerrtg in the chunkmanager it still didn't do anything which is weird right.

I also spotted something I sadly forgot but I will remember it when I'm home. I will also make a list of what needs to be fixed in the addon file so in turn that also helps RTG with layers.
I get the feeling we are really close to getclocal this working :)

commented

I back tracked most of the files and I think I did everything that eb did besides the grouping eb does but I can't seem to add ours.

Also I can't add biomes to lines like biomegenbase. Desert but then our variant? Did you change anything?

commented

Realisticbiomebase.vanilladesert doesn't work anymore :(

commented

Yeah, something weird is going on there. I think it might be related to what's going on in the F3 info, which is showing the right biome, but the realistic base & river biomes look wrong. For example, I'll be in a Desert or some other hot biome, and the realistic base will be Ice Plains. Surely that can't be right?

Now that I've finished adding EB support (needed a break from ChunkProvider), I'll take a look at your genlayer stuff and see if I can get it working.

commented

just had a thought... this might have something to do with making RealisticBiomeBase extend BiomeBase extend BiomeGenBase... I'll do some testing to confirm.

commented

Yeah well figure it out btw F3 doesn't show the right info to me when I'm in desert it says me say for example

commented

Doh! Found it... see, I AM a noob!! ๐Ÿ˜„

commented

;) good luck I'm home in about 30 min hehe

commented

K im home lets get this shit working ;)

commented

Me is mesa and damnz no edit on mobile haha

commented

Just went to have a quick look at your addon fork, but didn't see any changes other than the readme file... unless I'm missing something? (probably just me being a noob ๐Ÿ˜‰ )

commented

Well either you a noob or I did something wrong cause I added 6 RWG biomes the village files and all eb layer files where I deleted 4 we don't need so you tell me sir ;)

commented

Btw it's not the master file but rather addon branche from my fork maybe that is the confusion :p

commented

Rather is the lol

commented

Ok, I've loaded up the Addon... can you hop on IRC in a bit? http://webchat.freenode.net/?channels=%23RTG

commented

"So that version also runs like mine ?"

Yep, I started with the 'working' EB stuff that you did and have been going through and doing what I can. The first step was to replace the EB layers with vanilla layers (which is done now). And the next step is to get our own version of BiomeManager working, which unfortunately involves migrating the modded 'support' system into the way vanilla does it (i.e. a separate class file for every biome, and a separate class file for the terrain & surface that the biome uses).... which means I need to migrate EB, BOP, EBXL (and Highlands) to the new system.... that's a LOT of work, but thankfully there's not much thought involved so I'm hoping I can blitz through it all and be finished by the weekend. Part of that process also involves assigning biome weighting, so we will have made some good progress by the weekend... hopefully!! :)

"Btw I wasn't home yesterday but today I'm done at 12 so I'll take a look at it and see if I can fix something but don't get your hopes up ;)"

No worries... btw, I posted a link to the IRC channel on the OP in the forums... I'm going to be in there whenever I'm online, so feel free to pop in anytime. That goes for anyone else who happens to be reading this as well ๐Ÿ˜‰

commented

Haha nice. Btw that a lot of work if leave a example in all files I can do that Shit.

But let's talk in Irc so we can plan some shit and maybe in the weekend we have a stable core :)

commented

Yeah ok, that sounds like a plan. Maybe you can do BOP, I'll do EB, and maybe @PaddyDwyer can do Highlands, if we haven't scared him away yet ;) That would only leave EBXL (TC's already done), so whoever finishes first can do EBXL as well..

Note to self: Next time I start a mod, wait until everything's working before adding mod compatibility! :P

commented

Lolz silly goos haha ito all gonna be OK

commented

haha i'm not scared away. I've been busy with work. I'll probably work on highlands tonight or tomorrow

commented

Just a quick update on this... I've created a new branch called gen-layers and have been working on it every chance I get. Hopefully I'll have something cool to look at this weekend.

commented

So that version also runs like mine ?

commented

Btw I wasn't home yesterday but today I'm done at 12 so I'll take a look at it and see if I can fix something but don't get your hopes up ;)

commented

It's all good mate :) Right, so I've just updated the gen-layers branch with some BOP & EB examples of what I've been doing in the support section. Essentially, this is what I've been doing for each biome:

  1. Check RealisticBiomeBOPBase.java to see which Surface & Terrain classes it's using.
  2. Copy the terrain class, paste it into the biomesoplenty sub-folder, rename it to TerrainBOPWhatever.java & refactor
  3. Copy the surface class, paste it into the biomesoplenty sub-folder, rename it to SurfaceBOPWhatever.java & refactor
  4. Copy an existing RealisticBiomeBOPOld.java and rename it to RealisticBiomeBOPNew.java & refactor to use the new biomes info
  5. Update RealisticBiomeBOPBase.java to use the new class.

Pretty simple once you get going, but mind-numbingly booooring. ๐Ÿ˜ช

Anyway, I'm gonna carry on with the EB stuff and hopefully get onto the EBXL stuff afterwards.

@Ezoteric / @PaddyDwyer Are you guys just going to fork that gen-layers branch and then you can do a pull request when you're finished? Or is there a better way to go about it? Paddy, I'm mainly directing that question to you as myself and Ezoteric are pretty new to GitHub. I'm also still trying to figure out this whole 'Organisation' stuff as well, so.. if you know of a better way to coordinate this, I'm all ears.

commented

Btw on a side note. Maybe Ted didn't use genlayerrtg cause it didn't work hahahah I hope not tho haha me and my thinking. ...

commented

"Maybe Ted didn't use genlayerrtg cause it didn't work"

Possibly... but I don't see why it wouldn't work... we'll still be doing everything that ChunkProvider is doing at the moment, we'll just be spreading it across a bunch of layers. At least, that's what I'm going to keep telling myself, because if it doesn't work I'll be devastated :P

commented

and there was land

Its all vanilla biomes so i guess ill try to hardcode ours if i can.

http://imgur.com/zedTddG

commented

As discussed, let's abandon this approach for now. If we can't resolve the issues using our own approach, we'll re-open this.