The Eden Project

quick video showing planet rebasing I just got going on the weekend:

This a sneaky way of avoiding jittering problems that occur when you have very large numbers in the positions of your vertices (because they’re based on floats which can’t store large numbers accurately).

When you rebase like this, it means that all the verts with large position numbers are so far away you can’t see the jitter anyway :slight_smile:

Got to admit this is coming together really well.

As for the Node editor - I would ask Ali as he has made a few node based tools.

I had something similar working on my terrain gen when I was using UnrealLibNoise (sadly GPL).

I’m using FastNoise now which is MIT, but only put a very basic wrapper around it. Shouldn’t be a lot of work, might spur me on to finish ‘Unrealing’ it. All that needs doing really is:

Make the noise generator a UObject module (already done)
Create a blueprint ‘select’ module with three noise module inputs for blending.

Urm that’s about it actually. I should really crack on with it :slight_smile:

The noise part I got down, I just want to make an artist friendly interface for it in the editor.

Anyways I spent tonight recoding normal generation, haven’t got it right yet:

91d5c2587d4f0bec488e773148c0d71b652edd2a.jpeg

And it’s going to need a bunch of optimization (some how)…

That’s what I was getting at. If you want a nice node-based interface for artists/designers to customise the terrain, all you need to do is put a wrapper around your noise generator and a few simple blending functions and they can do it all in Blueprints :slight_smile:

Ah, I see…

I guess the concern with that for me would be that it would become a bottle neck for the planet updating. Isn’t BP a lot slower than C++?

The way I had it setup, the noise modules are C++ UObjects. The terrain generation code (C++) takes a noise module reference as a parameter.

In the Blueprint you construct the noise modules, set parameters, combine them etc, and then pass the final module reference to the generator, and off it goes. You’re just using BP as the handy node-based configuration editor, all the code execution is C++.

I may be late and you have all probably forgotten about it by now, but 1e+3km = 1*10^3 = 1000 km.

Fixed the normals :slight_smile:

Time for another youtube I think…

Got the non edge verts normals done, just coding the edge ones now (they’re a bit trickier).

This looks really interesting. How big are your plantes? (radius in km) ? How big could you technically make them?

Well going off SheepHD’s info above the planet in the video above is 1000km in diameter:

e8ce13ca5d7dc2f5a3cfd49b654f1ab5e05633e2.jpeg

So that’s not very big compared to the earth or even the moon:

105581b2f8752aa4a7d5485b28a15fae788e7afb.jpeg

In the previous version I had it up to about 4000km in diameter (about 1/3 of the earth) which I should still be able to do.

Oooh, I see I got you back on track with this…
Goood…
Goooood…
:smiley:

I just generate heightmaps one unit larger than the chunk and calculate the normal from that, sorts out the seams :slight_smile:

Thats quite a number tho, if I look at curent game worlds that are not even that number in area, this is already huge enough for someone to spend days or even weeks just walking from one pole to the other. I like that.
But how would you make a planet like this then be populated with stuff… trees,plants,rocks,roads,towns and cities, vegetation and weather zones, mountains, caves, oceans, lakes, rivers… Would there be a way to somewhat procedurally generate those things? Like in minecraft. Are you planning on going down that route, or what is the aim of this project in the end?

I do have a bunch of mad scientist ideas for populating the planet surface with all sorts of interesting details, from the macro to the micro…

You have to too, otherwise it’s not really a procedural planet, it’s really just a procedural moon :confused:

Re my end goal, I do have some ideas for a game that I’d like to try and do but for now I guess I’m just seeing how far I can get with Eden.

Yay, finally got the normals fixed up (again) it was really hard (again).

Also added the space ship back in, having a big placeholder helps get a better sense of the scale.

Still lots to do of course, but it’s always nice to do a new youtube after a really hard bit :slight_smile:

wow this project is amazing. You did a very great job. Congrats!

Wow it’s realy amazing !

Hey everyone,

Ok, need some help with basic pawn stuff (albeit in C++).

I’ve got this so far:

You can see in the components list in the details panel it’s just a pawn with a camera boom and camera.

If I have “Use Pawn Control Rotation” checked, I can’t make the camera orbit around character third person style.
If I have “Use Pawn Control Rotation” UNchecked, then lean my whole character over to the side (like they were, you know, walking around a sphere with point gravity) the camera rolls wildly on the local Y axis…

Any tips/suggestions/haveYouWatchedThisTuteLinks?

Btw, have a ppt I made for a presentation at a local user group, only just realised I hadn’t shared it.

http://www.showmethatagain.com/presentations/edenPPT.zip [140MB]

Sorry about the size, but it’s got a bunch of videos in it.

It’s mainly just talking about the things that led me to making Eden and a (very) general overview of the way I’m building it.