Realistic Terrain Generation

Realistic Terrain Generation

3M Downloads

More trees

Ezoteric opened this issue ยท 33 comments

commented

So there are some pretty nice trees here that i wish to be converted into deco for the biomes.
Prefer this the generation way so it has some random variation in it but the using hardcode schematics is also good to start with, we can always make variation later on ourselves.
To show some inspiration of what i mean i will put some numbers here so you can see in the worldsave from the link to see what type of tree this mod needs :P

Site: http://www.planetminecraft.com/project/fantasy-tree-repository/
Its a worldsave including schematics.
To download press the yellow minecraft world save button :P

Tree numbers:
31, 32, 33, 37, 38, 45, 51
i mean start with these cause these are realistic right :)

commented

My style
1
2015-09-20_14 10 29
2
2015-09-20_14 09 37
3
2015-09-20_14 08 17
4
2015-09-20_14 08 11

Nuff said right ;)

commented

Some of those look really cool. I wouldn't mind adding more trees to the mix.

commented

Yeah me 2 I need to figure out how Ted made them and then we can add more trees that's my goal haha

commented

yeah, teds code is good also, i just dont know how deal with it yet :P

If i understand how to change it so it does what i want then yes its prolly pretty easy to master

commented

btw i was thinking of looking on google if there is a program where you can input simplex noise and then it generates a map with it with blocks so you can see the outcome
it would be even better if a program exists where you have sliders and then the output are the output :P

commented

meanwhile, something we deff NEED to add is this

Nuff said right ;)

2015-09-23_20 04 43

commented

That does look pretty sweet... much better than our current Mesas for sure!

commented

I was more aiming on the waterfall haha we need those :p

commented

We def need a tree guy haha, this is awesome, more variation on palm trees :P

2015-09-23_20 31 17

commented

Something to consider when adding more and more trees, is to connect tree generation with the current biome. Making the generator check which biome the sapling is currently in and then choosing the right generation cycle, so that we can not only generate plain old Vanilla oaks, but those awesome big oaks or eucalyptus etc.

commented

@priorphilipp Not sure if it's possible to do it exactly as you describe, but it's certainly possible to add a list of tree types to each biome so that when the generator is doing its thing, it knows which trees it's allowed to spawn. Birch Forest, for example, would have vanilla birch trees by default, but then we could design a few birch tree variants (e.g. Mega Birch, Tiny Birch, Fallen Birch, etc.) and add them to the biome's list of allowed tree types.

@Ezoteric maybe that's something you and @afanofjapan could work on whilst the new GenLayer system is in development?

commented

Well first of all I have no java knowledge so I don't know if I can make trees.

2nd. RTG uses a different tree generation then EB but EB does the way he Philip described I think.

And about saplings. I dunno if pink wants to add items to his version.

commented

One potential bug to be aware of (that I believe is still present in the BigTrees mod, for example) is that if the tree you're generating spans multiple chunks, if you're not calling the chunk loading "correctly," you can get phantom chunks spawning. I think this bug is present in the trees generated in the BoP Sacred Springs biome as well. The bug is tecnichally not in the mod code; it's a 1.7.10 bug for multi-chunk generation. See http://media-minecraftforum.cursecdn.com/attachments/40/557/635471738176434373.jpg

My understanding is that the server will generate the chunk but it won't get transmitted to the client; restarting the server "fixes" it... I haven't looked in to the actual code.

I hear EBXL has a workaround for this bug.

commented

Hey guys, JAMBOX from the forums here. Trees are more math than java, check out my experimental code for ore gen in my repo (also, the reason I didn't jump on board to help when you guys started up, with the little time I have), it's the same idea.
I actually used some of those trees from that pack MainFlava referenced in some structures for my singleplayer. I can tell you some of those trees will be very "heavy", making those pines will be easy and light though, if you avoid Math.sqrt!
And, if you do anything big, chunk loading is a must.
I might have a shot at some point if I get the time.
I think you should give it a shot Esoteric, if you haven't already, messing with random generating structures is fun, give me a shout if you need help.

Just a note on waterfalls ATG tried it when it updated to 1.7, was the main reason the first version was laggy, don't know whether he's optimised it since. Minecraft calculating flowing water while still gening nearby chunks is really bad. I'm sure there's a work around too.

commented

Hey @WelcomeToJamBox - I've been working on custom water lakes recently, first time working with world gen... it's going alright, but it's very time-consuming!

If RTG is going to expand in this area, it's probably gonna have to be driven by contributions, so if anyone wants to add some customs trees, please feel free!

Here's what we have so far: https://github.com/Team-RTG/Realistic-Terrain-Generation/tree/master/src/main/java/rtg/world/gen/feature/tree

Some of those trees (like WorldGenTreeBig) have variables that we could possibly start messing around with to try and come up with some different versions:

double heightAttenuation = 0.618D;
double branchDensity = 1.0D;
double branchSlope = 0.381D;
double scaleWidth = 1.0D;
double leafDensity = 1.0D;
int trunkSize = 1;
int heightLimitLimit = 12;
int leafDistanceLimit = 4;

If my custom lakes turn out alright, I might try my hand at some custom trees, but I'd love to see what you guys can come up with.

commented

Cool looking forward to it :D.

Are those the trees from RWG?
Are they implemented yet? Well I've seen mangrove in there =p.

Pretty busy, don't get much time to do my own stuff let alone others, but I will probably end up Messing around, and if I get anything good I will send it your way.
Anything in particular you guys are looking for?More variety for birch forest? Thought can say, half surrounded by them, they a just flat and dense. Or, just a revamp of most stuff, got to say I loved Teds redwoods and conifers and the poplars.

commented

@WelcomeToJamBox

awesome, but if you have a good example of one of the pines that would be insane :)
I can copy paste and edit i cant create shit :P

commented

"Anything in particular you guys are looking for?"

Whatever you wanna do man, go for it. The birch forest definitely needs some love, but happy for you to do whatever you feel like doing, whether it's a single tree or a revamp of an entire family of trees.

If there's anything I can add to the code that would help make it easier for you to create/test/etc, just let me know.

As for the current collection of trees, those are all from RWG, except for a few size variations that I made for convenience, but not all of them are used in RTG.

I've been meaning to do this for a while now, so here's the breakdown of what's being used where:

Tree RTG Biomes RWG Biomes
WorldGenTreeBig N/A WoodHills, WoodMountains
WorldGenTreeBirch VanillaBirchForest, VanillaBirchForestHills, VanillaBirchForestHillsM, VanillaBirchForestM HotRedwood, Test, HotForest
WorldGenTreeBirchSmall VanillaBirchForest, VanillaBirchForestHills, VanillaBirchForestHillsM, VanillaBirchForestM N/A
WorldGenTreeCocoaSmall N/A N/A
WorldGenTreeDesertDead N/A N/A
WorldGenTreeJungleFat N/A HighRainforest, RedwoodJungle, Test
WorldGenTreeJungleSmall N/A JungleCanyon, RedwoodJungle, Test, IslandTropical
WorldGenTreeJungleTall N/A RedwoodJungle, Test, IslandTropical, DuneValleyForest
WorldGenTreeMangrove VanillaRoofedForest, VanillaRoofedForestM CoastMangrove
WorldGenTreePalm VanillaBeach Oasis, IslandTropical
WorldGenTreePine VanillaIceMountains, VanillaColdTaigaHills, VanillaTaigaHills TaigaHills
WorldGenTreePineBig VanillaFlowerForest, VanillaForest, VanillaForestHills DarkRedwood, DarkRedwoodPlains, Redwood, RedwoodSnow
WorldGenTreePineEuro VanillaExtremeHillsPlus, VanillaExtremeHills N/A
WorldGenTreePineSmall VanillaIceMountains, VanillaColdTaigaHills, TaigaHills, EBCarr, VanillaColdTaiga, VanillaTaiga, VanillaColdTaigaM, VanillaTaigaM, VanillaMegaTaiga, VanillaFlowerForest, VanillaForest, VanillaForestHills SnowLakes, TundraPlains, HotRedwood, SnowHills, SnowRivers, TaigaHills, TaigaPlains, TundraHills, HotForest, DarkRedwood, DarkRedwoodPlains, Redwood, RedwoodSnow
WorldGenTreeRedwood N/A N/A
WorldGenTreeSavanna VanillaSavanna, VanillaSavannaM, VanillaSavannaPlateauM, VanillaSavannaPlateau, EBClayHills, VanillaMesa, VanillaDesert, VanillaDesertHills Savanna, SavannaForest, MesaPlains, CoastOasis, CoastTest, CanyonForest, DuneValleyForest, SavannaDunes, StoneMountains, StoneMountainsCactus, JungleCanyon, JungleHills, TestRiver, Desert, DesertMountains, DuneValley, Oasis, Mesa, RedDesertMountains, RedOasis, RedwoodJungle, Test
WorldGenTreeShrub (Virtually everywhere) (Virtually everywhere)
WorldGenTreeSprucePineBig VanillaMegaTaiga, VanillaMegaTaigaHills N/A
WorldGenTreeSpruceSmall EBPolarDesert, VanillaColdTaigaHills, VanillaTaigaHills, VanillaMegaTaigaHills, VanillaColdTaigaM, VanillaTaigaM, VanillaColdTaiga, VanillaMegaTaiga, VanillaTaiga Polar, SnowLakes, TundraPlains, SnowHills, SnowRivers, TaigaHills, TundraHills, TaigaPlains
WorldGenTreeWillow VanillaSwamplandM, VanillaSwampland N/A
commented

with pines for example:

it has 3 parts:
Root
trunk
leaves

So lets say you have 1 base root
the trunk will random choose the height and from top to bottom it has 1 block line of 5 to 7 high then it splits to a 5 block trunk from 10 to 15 high orso and end with a length of 17 to 21 and 13 blocks wide base all in shape of a +

the leaves will drop down 2 blocks and add one to the side. i think that would work ?

commented

ow btw i do have all schematics from all those trees. But i think that would make the game slower as its HUGE

commented

Here is the java code for tree nr 51 (you can see on the pic earlier in topic)

51.txt

commented

Lol, I get up and boom, information overload.
Yeh, you don't want to be running off schematics.
-Author might not be happy for them to be used.
-Certainly parsing them everytime would be amazingly slow.
-And, you don't get that procedural randomness.

That said, parsing JSON classes, which can handle randomness, at inititialization would be quite cool, even allow users to make there own with a little java knowledge.

Had a wee look about the interwebs after and found
https://github.com/tyronx/vintagecraft
Got some amazing trees, they are using noise (bit beyond me but I'll learn at some point =p), but must be pretty light since they are overhauling tree gen in general.

Well, i'll have a read through the tree code proper, and see if I come up with a way of doing it. Some of my mines in Geocraft are heavy (saved by its awesome way of generating) and need lightening so I'll be busy with that too. But if I get a chance I fancy giving it a shot.

I like the idea of a few versatile classes which can build vastly different trees, might give that a go first and then you've got something to play with @Ezoteric

commented

"I like the idea of a few versatile classes which can build vastly different trees"
๐Ÿ‘

commented

Its not about using someones trees, if so i would ask for permission ofcourse BUT in the converter i used you can see the layers and one thing that i saw was that it was not symetric but all random which in turn makes the tree realistic ahaha

I have no code knowledge i sadly only have ideas and theories of how things should or could be ;)

But with a base i can always screw arround with :D

commented

that definately sounds interesting, i agree we could use something that looks more like the vanilla dark oak, or maybe thaumcraft 2*2 silverwood

commented

I'd really like to tidy up RTG's collection of trees into a more robust (i.e. more trees) and more manageable system. At the moment, we have several class files for one type of tree in many cases.

I'm thinking either one tree class that accepts tree 'part' objects (so like, there could be a trunk object, branch object, leaves object, etc), allowing us to mix & match trees.

Or if that's too complex, maybe just one class file for each overall 'shape' of tree that accepts various settings for trunk, branches, leaves, etc.

I don't know what's best... all I know is that we need to give RTG's trees some love at some point as trees can really make or break a biome's overall look & feel.

commented

if we are working on that i think we should be refactoring the decoration system in general. I would like fore each biome to just specify what decorations it uses at what weights and such, and then do the actualy decorating from RealisticBiomeBase. Except for being way cleaner, it would also mean it would be possible to let vanilla saplings grow into RTG trees, which is a feature id love to put in either rtg or an addon at some point

commented

I noticed that most of the trees are very thin and high but there are not many bulky ones. I think having some more of those would improve the feeling in the forests alot. Maybe more at the borders of the forests and some just scattered in some other biomes. This Issue seems a bit forgotten maybe it can be revived again :).

commented

Be aware with trees that wide trees strain the decoration system.

commented

Configs would be way easier with a refactored decoration system. Vanilla is halfway there with the generic decorators but it doesn't go all the way. We might need something a little more sophisticated than the vanilla Generator system though.

commented

I really hope there will be some more bulky trees soon because the main reason why I did not put the mod into my modpack yet is that I do not really like the forests in RTG. Some good examples for trees are the greatwood trees from thaumcraft or the trees in the Woodlands of the Highlands mod I think. But the big vanilla oak trees are not bad too. Keep up the great work :).

commented

Created a new issue for this: #577