A bit confused and trying to find a better way about this...

A pal and I are working on rendering a playable planet. I sort of assumed we needed to make it efficient at the very least and so I sought out a decent algorithm we could implement for this. This was also a bit of wishful thinking on my part, I’ve become fascinated with these things (DS & Algorithms) and I’ve been itching to apply things I’ve learned.

So I found a scientific paper or two and selected one then set about implementing it.

I’ve implemented it sort of completely and I am left wondering: was this really necessary? Unity’s terrain is very efficient already. The question is how to wrap it around a sphere. I tried to use a QuadTree LOD meshing algorithm, it sort of works right now.

I guess my question is: is this really necessary? Said terrain algorithm for planet rendering? Does anyone know of a better way?

What is a “playable planet”? Define this more… don’t leave us to make assumptions. I can assume you mean a spheroid planetoid, how big, what features should this planet have. You talk about Unity’s terrain, do you mean heightmaps? What features of a Unity’s terrain are you hoping to implement as a planetoid?

What scientific paper did you find? Talking about what? Was it about the effect of psilocybin mushrooms on dogs?

You’ve implemented what? If you implemented psilocybin mushrooms into your game I doubt it was necessary… but certainly interesting. Please, tell more. Not sure what QuadTree LOD meshing algorithms have to do with that though…

Maybe?

1 Like

Sir you have deftly grabbed the steering wheel and swerved this thing in a very unexpected and hilarious direction. Bravo!

If the code is written and operating, leave it. If it falls short in some way, then identify and quantify how it falls short, and either improve it or delete it and start afresh.

2 Likes

1.By that I mean one you can walk around on, and fly in to space with. ._. Was it really not obvious?
2. Yes.
3. Literally a heightfield terrain at this point.

Must I spell things out for you? I feel that you are jerking my chain here.

Nope, not obvious at all. Especially not “fly into space with”.

Very clear answer there :wink:

Cool.

You feel very correctly as to my intentions.

If you can’t put in the effort to clearly and directly describe what you are trying to discuss, why should I bother to put any effort in deciphering your rambling?

1 Like

Spare me the sarcasm… maybe there has been some misunderstanding. Many times I feel some users on these boards are not too friendly to my presence.

Let me explain.

  1. We are working to render a planet. By “playable” I mean one can descend to the surface, walk around on it, and return to space via some vehicle.
  2. We were going to use this algorithm to subdivide terrains into smaller ones for finer detail via the Quadtree meshing algorithm. (link: http://stereofx.org/papers/TERRAIN.PDF).

Well at least we have a starting point.

So you want to know if this algorithm only just now shared is ‘necessary’. And if any of us know of a better way.

Well for one… it’s necessary in that you’ll need some sort of algorithm to generate your planetoids. And it’s not necessary in that, that specific algorithm isn’t the only algorithm that exists, so therefore is not necessary. This is sort of a non-question as far as I can tell.

As for if we know of a “better” way.

Well, that depends. What level of detail are you hoping to get? What efficiency requirements do you need? How large are these planets? Are you hoping to get a diversity of terrain (like spanning planes, rolling hills, jagged mountains, etc)? How walkable must it be? Should the algorithm take AI pathing into consideration?

There’s a lot of variables built into your “better” question.

I don’t know the answers to them.

You do.

Now you may think I’m being sarcastic at this moment. But trust me, that is not my intent. I’m trying to impress upon you the depth of the question you’re asking. I do not know from what perspective you’re coming from… if it’s pure naivety of the topic and that you’re a newb to this, I don’t want to assume this though as that’s rude. Because in the same respect you might be well informed on the topic and you just really suck at communication. And you could be any number of other people with different skill sets. I don’t know.

So my statements impart a multi-tiered consideration.

If you’re naive… maybe these are questions you need to ask yourself about your project.

If you are skilled… maybe these are variables you should define for us.

If you are any number of person… maybe these are topics you can research.

“better” is a subjective term… better for what? For you? For me? For what game? Years ago I worked on a project where you played a space girl who flew around a dyson sphere around a small solar system. The people who lived on the dyson sphere would launch their garbage into space and you had to go around and clean it up before it smashed into things destroying the eco-system. The planets in the dyson sphere were randomly generated and could be landed on to walk around and collect resources to help with getting rid of the garbage. Thing is… what we needed for generating our planets was very specific to our game, it didn’t need to be super complicated, this was an arcadey little game. So the algorithm you posted was really useless to us. I literally just applied a perlin noise to the radis of the verts of a generic sphere model my artist slapped together.

1 Like

OK. Good points, and thank you for not being sarcastic as I had originally assumed you were.

But enough about that.

By “better” I meant is there an easier/more elegant solution that I could use, maybe one Unity was especially designed for?

Reason being that I have found it sort of clumsy to implement this algorithm. An obvious problem is how do bend said terrain in to a sphere to form a planet, less obvious is the method.

How much detail is something we need to discuss. I’m not sure we need an entire planet as that can be pretty boring (example: NMS), yet we are aiming for a first person shooter feel, possibly with little monsters clawing their ways out of the darker recesses of this planet.

Honestly planets are a cool concept but filling them up with interesting things to do is a huge exercise. Its a lot like giving the player a massive arena but very little to do within it.

So if you don’t really need an entire planet… why bother coming up with a spherical algorithm at all then?

Just have a rectangular area that generates using the standard unity heightmap. You can generate heightmaps for flat surfaces relatively easily (google around, there’s TONS of algorithms for creating various different randomly generated terrain that’s flat).

Sure you might want it to look spherical when you’re flying about… but as you do your landing sequence you just swap out the terrain.

You really do need to do a little more definition work. Currently its unclear what you are trying to do.

Let me give you two examples of games that meet this description:

Mass Effect. You can travel to a planet by selecting it in the navigation menu. You descend to the surface in an animation. You can walk around the surface, which is a regular square terrain. You can return to space via an animation.

Kerbal Space Program. You travel to a planet by calculating an orbit and completing a thrust maneuver. You descend to the surface via decelerating to be able to survive reentry. You can walk around the surface, which is actually an entire spherical planet. You can return to space by launching a rocket.

Currently we have no idea where your game sits between these two extremes.

2 Likes