[Improvements] Infinite Triangle Terrain Generation

What’s new?

  • Performance improvements, changed chunk updates to 5 per tick instead of 15 per tick (no noticeable difference)
  • Pine trees spawn is colder taiga areas
  • Added terrain water
  • Complete Lighting system overhaul :stuck_out_tongue:

Hi! :slightly_smiling_face:
I recently made a system which generates infinite procedural triangle terrain. This has a lot of variation, including very tall mountains but also flat plains.
Here’s a bunch screenshots of the place, please let me know what you think and give me any suggestions for what I should add to my terrain generator later! :grinning:

When you load a new server, the game picks a random seed and prints it to the console too!

Q: Will you open source this?
A: Yes, later I will
Q: How well does it perform?
A: Surprisingly well actually. Read the post comments for some more details

Screenshots, many many many many screenshots


Game link

TO-DO List

  • More vegetation
  • Small rocks/decorations

Info for all of my nerdy scripters out there
It uses trigonometry to create the triangles and it uses layered perlin noise with octaves to achieve the random and natural looking terrain


terrain generation is very good maybe try to add lakes

1 Like

Thanks! I’ll add it to my to-do list!

1 Like

Great generation really like it !
Impovement you can make

  1. make mountains dont generate too near each one
  2. different variation of trees
  3. different biomas
  4. generate rocks
    I think that would help too look better :slight_smile:

Thank you for the ideas! I actually have a biome system planned on my to-do list :smiley:

are you going to open source this later on, would be fun to mess with

1 Like

Yes, I will most defenitely do that!

performance, as ive told you, is nice, I like the game

for those who didnt see/know
I can maintain a stable 60+ fps on max settings, and 16 chunks with
8gb ram
outdated graphics card
really old cpu too, forgot the name,im dumb

overall, only 500mb ram usage and 10% cpu usage

1 Like

Thanks for sharing the info ^^

Looks good. Layered perlin noise produces some really nice terrain
You should try combine that with my method for filling wedges with terrain

Perhaps also pick the material used based on the color of the wedge. (e.g. white wedge = snow, green = grass)

1 Like

I am actually going for a low poly look, so that is not for me. Thanks for the suggestion though :slight_smile:

I was expecting it to be not as performant but woah, i even kicked my computer into silent on max graphics max render distance with little to no stutter. Nice job optimizing it. Generating was a little laggy but that’s to be expected.

The same tree with the same size does look a bit repetitive, i would suggest to add multiple tree types in different biomes(which i saw you planned which would be amazing), or maybe even small rescale of the trees. The world will also look nice with some water lakes, maybe rivers, and sand. Some sort of vegetation like grass or flowers or small rocks would really add to the scene and terrain.

This is really nice and really performant and with some changes it can be really amazing, keep up the great work!

1 Like

I really like the mountains. I think you did an amazing job!

kinda reminds me of Astroneer

1 Like

Super interesting demo. Can’t wait to play with it once I get home!

1 Like

Thank you very much for the kind words! I am defenitely going to add more onto this, such as biomes and different tree sizes and types (great idea)! :grinning:

1 Like

Haha thanks, I do notice it looks similiar in a way too! ^^

1 Like

Small announcement: I made an update to the post and the generator place ^^

Wow ! you have improve it and look better a feedback i can give you is making trees generate from different scales thats all i can think on :slight_smile:

1 Like

Just an idea on how to do rivers/ oceans generally, set the water level to a certain point, low, then, any parts made under that are either stone or sand. Just an idea, you could also use raycats sent from above to find indents, and set a part there acting like water. I don’t know too much about scripting, only idea.

1 Like

Good idea! I might actually use this way :smiley:

1 Like