The Eden Project

Heh heh, I know I know… this current stuff (custom pawns / gravity) is a bit harder for me than the proc mesh stuff so it’s going a bit slower sorry :slight_smile:

On the up side, my brother has just chickened out of the satch gig in december, so there’s not much point piling lots of hours practice into that anymore :frowning:

More time for Eden I guess… (sigh)

Take your time. I would rather to see something done right than done in a rushed manner :slight_smile:

Very nice project, many applications. Can’t wait to see that one finished.

This is awesome work. Well done.
How are you finding movement across the dice boundaries ?
Are there any navigation issues ?
I am considering something like this for an MMO I had planned out.

Instead of using quads…and as you’re using your own mapping anyway.
Why didnt you go triangulation and icosahedral instead of quads on a dice ?
I know its a whole order of magnitude more complex, but would it not help with distortion issues…or are they arbitrary with the way you have rigged it ?

Pure Class.
/thumbsup

Hi Mick,

No dramas moving between the different panels in the cube, as the players position is based on latitude and longitude.

I did try icosahedral stuff at the start but didn’t have much luck getting my head around understanding or implementing it.

I posted on something else asking if it was like this.

Would you be able to have a satellite obit, or a moon, other planets with their own orbit, based on an angle so they are only in the ‘world’ when they orbit in the right position (so they save memory and outrageous world limits)???

Hey there nolea94,

Sure, although with the lod system in Eden, at that distance they would only be a couple of hundred polys and use hardly any memory.

What a nice Project! This will be an incredible tool, congrats and thanks for sharing!

Yeesh, two and a half months since I posted last…

I’ll just leave these here then eh?

4d7e2f9cdb13badd850325fac86810761b44b42d.jpegd81cb110fd7f01af22b876c8d49546de4e1ee67c.jpegcc18f0c3d5e461717f27c733f72f9c67faacf6d7.jpeg

This looks really cool :smiley:

I’ve been looking for months online for a tutorial on planet sized landscape like yours without much success. I was leaning towards a voxel implementation but would gladly buy your implementation in a heartbeat! Any chance of a market link?

It is not out yet

Yah, HeadClot is correct, I still have quite a way to go before it will be usable sorry :\

Having said that, the galaxy stuff (above) is coming along nicely.

I’m currently working on the code that gives each star a random number of planets with a range of different properties (it’s not actually as hard as it sounds).

Once that’s sorted I can go back to sorting out some low level problems I’ve been having with the actual planet mesh.

(Specifically where and how to place it in the level, because this impacts the LOD system heavily).

Out of curiosity. Did you bypassed float point coordinates limitation, or you just scale everything down fit into the 20km across limit ?

No and sort of :slight_smile:

To be more specific, I’m using world rebasing to keep the player and stuff close to them near the origin (to minimize float jitter in their transforms).

At a certain arbitrary (and distant) point, I’ll start logarithmically scaling stuff down to fake distance without actually being that far away.

Interestingly, the engine already supports quite large distances (much larger than 20km) to the degree where I suspect they already have some sort of logarithmic scaling built in.

Which is cool because I only wanted to be doing the scaling thing with really large objects (i.e. planets) anyway.

For the planet meshes, I’m offsetting the mesh vertices so that pivot point is at the surface point nearest to the player (again to minimize float jitter).

That last bit is definitely the fiddliest bit which has held me up for most of this year, but it needs doing because I was getting a small but persistent jitter walking along the planet surface.

Ah thanks for explanation. I thought you used something different than Origin rebasing (doesn’t work over network).
Last time I spend weekend trying to convert at least parts of engine to use doubles, but that’s herculean task, if don’t know engine inside-out.

Yah, I gave up on multiplayer a while back (collision authority was the killer for me).

You’re a braver soul than me too if you’re going to try and double up the engine :wink:

Heh thanks. I will probabaly be back to converting engine to doubles, but this time with more conservative approach. Instead of trying to straight up convert everything to doubles I try to focus only on single part (Vectors), and make them compatibile with floats inside rest of engine.

As for collision I early figured out that PhysX is not up to task for solar system scale collision and ther would be needed custom physisc engine for collisions (tracing etc), and PhysX could be used only for local simulation of non critical parts of game (means, only visual parts).

AIGHT

Nearly got random star system properties going, just needed to invent a way of being able select individual star systems in the editor so you can preview their random properties:

be1dea3ce2b800da9d4984c1b6c5175f77ecde94.jpeg

The whole galaxy is a single proc mesh (HISM just bombed my computer everytime I tried it) hence the need for sneaky trickery as far as being able to “select” individual stars…

Basically you drag the big sphere around the stars and the little sphere snaps to the one nearest to the middle.

New video day! (make sure you watch it in HD so you can see the names on the right).

Yay, I’ve finally got to the point where I can start to procedurally generate random content :slight_smile:

This video is demonstrating the random name generation that I’m using to auto name all the stars in the virtual galaxy (there are 18,000 of them).

It sort of works like this:

  • Analyze a list of real place names (in this case 100 capital cities around the world)
  • Document the arrangement of consonants (C) and vowels (V) in each one and store it as a “CVC_pattern” in an arrary
  • Store each chunk of consonants (CVC_cChunk) and vowels (CVC_vChunk) in each word in lookup tables
  • Choose a pseudo random CVC_pattern (i.e. London == CVCVC) based on the position of the star
  • Replace each consonant and vowel chunk in the CVC_pattern with a random chunk from the corresponding consonant or vowel lookup table

Next up: Randomly assigning star types and planetary groupings to each star system…