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?
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?
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).
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
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).
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:
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
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...
That's absolutely beast. Procedural generation has always been something I'm a huge fan of, but I've never really been able to wrap my head around it. Like I can make a very basic virtually infinite terrain using a procedural mesh - but doing a deterministic approach which yields the same results all the time according to some seed is what I've never been able to figure out.
Comment