Sign in to follow this  
Riviera Kid

Modelling a planet and landing on it

Recommended Posts

Hi I was wondering how one would go about creating an entire planet which you can land on with a space craft and explore. Without loading. Do you think it is feasible with todays technology? Are there any games where you can do this? Has anyone here done or attempted this? i would say most of the land would have to be procedural and some would be repeated height maps. With random placement of trees and rocks. you could use a quadtree as once your on the planet the land would appear flat and not spherical. (like irl). I also thought it would be cool to have a moon and then create tides. I think the hardest part would be making a pretty admosphere which you can pass through realistically. Thanks for listening.

Share this post


Link to post
Share on other sites
That's an idea I also had some years ago. I'm not sure if there are any games out there that implement it. Maybe you can do something like this:

First of all, planets are assumed to be almost spheres. Some you can start off with a simple tetrahedron, and then subdivide the surfaces depending on the distance (closer surfaces are subdivided more). There are two options for subdivision:
a) splitting one triangle face into three triangular faces, by connecting the three corner points with a point inside the triangle
b) splitting the triangle into four triangles by splitting its three edges and connecting the three split points
For me the second alternative seems reasonable.

The subdivision algorithm also creates a coordinate system on your sphere. Just give your initial four triangles numbers 0 to 3. If you subdivide face 1 for instance, you will get subdivision faces 10, 11, 12 and 13.
The positive thing about this coordinate system is, that you do not have any poles.

When your spaceships enters the athmosphere, you can use some kind of visual blending to change the world from a space simulation to a planet simulation. Then stars and other planets would become part of an environment map or similar. While coming closer to the planet, you can also transform the planets surface from a perfect sphere to a plane.

An important fact is, that all this data should be calculated 'on the fly'. You remember the old game Elite ? There were infinite posibilities just by using pseudo-random numbers. Here your planet would be described by some numbers, which are seeds for the random-number-generator.
Don't forget that your ship wants to take off later on. So if you use random numbers to generate the terrain/planet, you must always be able to reproduce the data. Real randomness would not be a great help in this case.
But not just the shape of your planet, also the texture should be generated procedurally. Perhaps three-dimensional textures (like those the raytracer povray uses) in combination with shaders allow to generate the textures in realtime.



So good luck with your project.
I would be interested in the results.

Share this post


Link to post
Share on other sites
Just an ideea: why keep everything in memory ? especially if you have lots of planets (moons or something). You could implement a cool streaming module and load data without a loading time.

Share this post


Link to post
Share on other sites
You want to generate only the amount of detail that the user will see into memory. Procedural generation helps keep data requirements in check. However, a fully procedural universe turns out to be pretty boring to explore (there have been some articles and examples over the years; including one series on gamasutra.com)

Games known to do this currently include Rocket Club (an indie game from synthetic-reality.com) and There (no rocket ships, but players figured out how to get into space and look down on the planet!).

Share this post


Link to post
Share on other sites
Quote:
Original post by Riviera Kid
I was wondering how one would go about creating an entire planet which you can land on with a space craft and explore. Without loading.

Do you think it is feasible with todays technology?
Are there any games where you can do this?
Has anyone here done or attempted this?

Frontier ('sequel' to Elite) did that, some dozen years ago. It was about as pointless back then as it'd be now, but that's another story...

Share this post


Link to post
Share on other sites
Quote:
Original post by tolaris
Quote:
Original post by Riviera Kid
I was wondering how one would go about creating an entire planet which you can land on with a space craft and explore. Without loading.

Do you think it is feasible with todays technology?
Are there any games where you can do this?
Has anyone here done or attempted this?

Frontier ('sequel' to Elite) did that, some dozen years ago. It was about as pointless back then as it'd be now, but that's another story...


I wouldn't call it pointless...

Anything which enhances the realism, immersion, and freedom of the game is surely worth looking at- and it is certainly possible on todays hardware given that David Braben could pull it off, even on the humble Amiga.

Also being able to land on a planet did actually serve a gameplay purpose in Frontier. You could set up mining machines on the surfaces of planets to extract minerals and precious metals. It was just another way of making money in the game..

Share this post


Link to post
Share on other sites
Quote:
Original post by Darragh
I wouldn't call it pointless...

Anything which enhances the realism, immersion, and freedom of the game is surely worth looking at- and it is certainly possible on todays hardware given that David Braben could pull it off, even on the humble Amiga.

I found it pointless because it did nothing to 'enhance the realism etc' -- if anything it was a constant reminder how *artificial* the presented world is, when a whole friggin' planet had literaly 3-4 points of interest. And no, procedural generation of some mountains and lakes is going to change nothing about it. A planet remains the same sphere, devoid of game content immersion-breaker, just more tessellated.

A planet the size of Earth has ~500 mln square kilometres of surface. Even when you discard all oceans, it still leaves over 100 mln square kilometres of terrain ... while your typical MMO has trouble creating enough interactive content to fill anything between 20-50 square km of land. Strategy games hold their campaigns on similar areas, size-wise. Heck, even the widely recognized pinnacle of content creation that is Tolkien's Middle-earth wouldn't likely fill more than 1% of the real land we have at our disposal... and that's just on single planet.

Seriously; even if one used the procedurals to fill all these planets with random terrain, and water and flora... ultimately, is it really good judgement to spend the time, money and manpower on developing such system when the player will land on maybe 2-3 planets, check out the views from few spots (out of billions of possible places your system created) ... and never bothers again? Couldn't the resources spent on putting this feature in the game be spent better on something else that'd actually have *effect* on the gameplay..?

(sorry for the rant... it probably wouldn't irk me at all if it hadn't been posted in *game* programming section out of all places >.<;;;

Quote:
Also being able to land on a planet did actually serve a gameplay purpose in Frontier. You could set up mining machines on the surfaces of planets to extract minerals and precious metals. It was just another way of making money in the game..

Indeed; And i think i tried that in Frontier exactly once, concluded i'd make more money on single trade run (without waiting for the machines to drill the stuff out) and that was the end of it. I think anyone who plays Eve-Online --or any game which includes resource harvesting-- can pipe in and provide their feedback on what great fun this kind of gameplay is... there's pretty good reason why this activity is typically left to scripted bots.

Share this post


Link to post
Share on other sites
I also want to make planets that are more than a simple textured sphere. I'm planning an (non MMO) RPG with SIM and FPS elements. Much of the game will be in space, either as a trader or fighter pilot (Pirate, mercenary or military). However, I also want to be able to fly in the athmosphere, land on planets and walk or drive around. Possible scenarios include attack on military installations, enemy bases, or bank robberies and such.

I know that it will be impossible to fill the planets with points of interest, but automatic landing sequences on fixed landing points doesn't make much sense either. IE, I hate it when you autmatically land on the only possible landing site on the entire planet, at least in an open RPG game. If it's story based such as the SW:KOTOR games it makes more sense.

Scenarios:
Water planet with just a few scattered islands. This works since it doesn't need much detailed surface. Good source of hydrogen/deuterium and oxygen means it will probably have population.

Desert planets with breathable athmosphere (Tatooine from Star Wars or Dune in Herbertverse). Possibly rich in certain minerals. Will have settlements, but not much widespread setteling. You can land basically everywhere, which will make it hard to create detailed environment. But then again, it's a desert..

"Desert" planets without breathable athmosphere like Venus, Mercury and Mars might have domed or underground settlements and terraforming stations. Landing outside of sheltered sites can be discouraged by corrosive or othervise hazardous athmosphere. This will also discourage flying inside athmosphere except for quick descent to landing zones and to space.

Forest planets will probably have settlements, but due to the forest it will be hard to find landing spots except for landing pads.

Plains planets will be tough. It will be very easy to find landing sites, and would probably have a lot of settlements

Ice planets. Easy to find landing sites, but nothing much to see. Possibly underground settlements.

Temperature gradient planets (Earthlike) will be extremely difficult to get to look good. There are lots of landing sites and probably widespread settlement.


I think the best way to make it the way I'd like is to have a planet with flight-sim quality landscape over the entire thing, and have additional ground detail around the points of interest (for fps style walking or driving). After all, it doesn't make sense to park the ship on the other side of the planet and drive on the ground to the enemy base you're attacking. You'd want to land as close as possible and do the rest on the ground. This is of course if the base is havily defended against air attacks, but poorly against ground attacks, or if you're on a mission where stealth is paramount. Otherwise it'd make more sense to pound it from the air. Example of missions: Prison rescue, data "retrieval", theft, sabotage, espionage etc. Smuggling would probably also not be done from established landing zones.

If I could find a GOOD reason why it's impossible for any ships to fly in the athmosphere or at least in certain landing patterns, then I could dispense with ground detail away from POIs altogether, but I can't. Air defense systems can be protected against or bombed, and fighters would be just as easy to kill. The player could be fined for not following the planet's air controller's orders or something, but if he's there to do an attack then he won't care about a fine. The possible death sentence if he's caught during the attack is more worrisome. If the landing is for "legal" purposes such as trade or exploration then the automatic landing system would be employed, and the ship would follow a set trajectory to the landing zone.

In any case I want the landing to be in the engine, not cutscene or *poof* -you're landed as in Freelancer. IE, I want to have the entire landing without cuts all the way from space to ground. So some ground detail is necessary.

Share this post


Link to post
Share on other sites
building and rendering the planet aside....

what about actually landing?
what are the physics involved?
i recall from random space documentaries something about having the perfect angle goign in to avoid burining up or somthing....

and to actually land at your chosen spaceport you have to start your decent from a specific position and spiral orbit in....


hows all that work???

Share this post


Link to post
Share on other sites
Quote:
Original post by frostburn
If I could find a GOOD reason why it's impossible for any ships to fly in the athmosphere or at least in certain landing patterns, then I could dispense with ground detail away from POIs altogether, but I can't.

As economic measure, the ships are not built to withstand atmospheric (re)entry and/or (re)launch which would require climbing out of planet's gravity well. It's expected for them to dock at orbital stations only, where they can deliver mass quantities of goods (small amounts can be possibly dropped from orbit in special capsules reinforced to not burn in the atmosphere)

The few ships which *are* aerodynamic and capable of atmospheric flight still need to be strapped to huge external engines with insane amounts of fuel to get back in space. This kind of engine can be only obtained, installed and used at spaceports, and has price comparable to the space ship itself (more on planets where fuel is scarce)

There's your reasons why one would have to land at pre-defined points or not at all... -.^

Share this post


Link to post
Share on other sites
Yes, what tolaris said. Those are very good, and very *realistic* reasons - once you have a somewhat decent orbital infrastructure in place, there's absolutely no reason for a huge majority of interplanetary (not to mention interstellar!) vehicles to ever enter an atmosphere, except perhaps for aerobraking.

Consequently, there is also no reason to design and engineer real spacecraft (other than surface-to-orbit taxis) to withstand a re-entry, resulting in huge savings, even if you actually had the technology to build a reusable, single-stage-to-orbit, interplanetary vehicle (building such a beast would be pretty deep in the realm of impossible with any technology currently this side of the horizon, except perhaps for an Orion-type nuclear pulse rocket).

A mature enough space elevator technology would probably make surface-to-orbit rockets pretty obsolete in most cases, anyway.

Share this post


Link to post
Share on other sites
If the space craft has enough power to counter gravity then it wouldn't need to be aerodynamic. The energy consumption would be high compared to space flight, and it would possibly cause too much stress on the hull, but that's it. The ships in my game will use some kind of exotic energy source and not today's chemical rockets, so energy consumption isn't a problem except for economy.

The ideas are good though, but it doesn't make sense that no ships are capable of both space and athmospheric flight. It certainly more efficient for huge cargo ships of several million tons not to land on the planet (size of SW's star destroyers), but smaller shuttles or fighters would still be possible (SW's Millenium Falcon).

Anyway, I want it to be possible to land on some areas, but if it was possible to land anywhere then the entire planet would need to be extremely detailed. If there were only certain areas that could be landed on and traversed on ground then it would be much simpler.

The biggest problem I've got with games such as Freelancer, Independece War (2) and X2 is that there's a lot of planets, but you can't land on them. That is, in Freelancer you can, but only on one spaceport on each planet and you can't explore that spaceport. In X2 I think you can land, but I haven't played it much. I've speen screen shots of crafts flying in the atmosphere or even cities.

Share this post


Link to post
Share on other sites
Quote:
Indeed; And i think i tried that in Frontier exactly once, concluded i'd make more money on single trade run (without waiting for the machines to drill the stuff out) and that was the end of it. I think anyone who plays Eve-Online --or any game which includes resource harvesting-- can pipe in and provide their feedback on what great fun this kind of gameplay is... there's pretty good reason why this activity is typically left to scripted bots.


I do find it interesting that you bring Eve-Online into the discussion. The next expansion is rumored to include planetary based flight and there are many dedicated miners in game that want to see planetary based mining as well (though the devs have stated there are no plans for planetary based mining at the time, but simply because there are not enough resources available to add it to the todo list). I think in this particular case, there is potentially valuable gameplay based ramifications as we are now talking about a different flight medium, space vs atmospheric flight and all the technical differences that SHOULD exist between the two; and a whole new mining medium, landing the ship on a terrestrial surface for mining, as opposed to just floating around asteroid fields with a quick warp away from any potential danger.

Quote:
i think i tried that in Frontier exactly once, concluded i'd make more money on single trade run


That to me says implementation flaw more than a fundamentally flawed idea. I do agree with you with regards to the unavoidably barren landscape with this idea, but that only makes it of little value from an exploration sense. Going back to Eve, virtually every asteroid belt looks like every other asteroid belt, yet they are all consistently mined. The content isn't in the varied appearance of the belts themselves, but in the act of mining/processing, and avoiding or defending against Pirates (whether PC or NPC) while mining. The gameplay doesn't HAVE to rely on a variety of landscapes.

Share this post


Link to post
Share on other sites
Quote:
Original post by frostburn
It certainly more efficient for huge cargo ships of several million tons not to land on the planet (size of SW's star destroyers), but smaller shuttles or fighters would still be possible (SW's Millenium Falcon).

I'd blame the very Star Wars for originating this dumb notion a space ship should be able to land on a planet and relaunch as it pleases in the first place... for a single reason it looks good in a movie and is a convenient *movie* plot device in a world long time ago in galaxy far away, with magically resistant materials and magically efficient (while still tiny) power sources. ;P

But note, that's convenient for a movie which isn't supposed to be interactive. In a game? it'd be probably more convenient to introduce the 'middle man' i.e. non-player controlled surface-orbit traffic. If nothing else, it creates room for extra layer of optional challenges in rpg game, in the form of having to deal with both stations' and spaceports' security, taxi drivers who might not enjoy the idea of helping in illegal activities, and a bunch of other things... and if there's actually a ship in the game that *can* both land on planets and travel between them, then with this kind of setup it can be be easily turned into valuable rare reward, something 'special' for the player to lust after instead of something taken for granted... (and certainly more unique than the usual "turret with +1 to damage" you're likely to see otherwise)

Share this post


Link to post
Share on other sites
Quote:
Original post by jRaskell
That to me says implementation flaw more than a fundamentally flawed idea.

I think it was some combination of both -- the ability to mine seemed like thrown in there as afterthought, to give *something* at all one could do with feature which on its own seemed like put in game just for the sake of it since the flexible game engine coupled with simplified graphics allowed it. Badly calculated profit from the activity certainly was a part of reason why it seemed pointless, but that's just a part of it -- the other part is, resource gathering as the very activity is something that seems extremely hard to implement in a way that's actually entertaning and/or challenging... at least judging by the track record of games made so far.

Quote:
Going back to Eve, virtually every asteroid belt looks like every other asteroid belt, yet they are all consistently mined. The content isn't in the varied appearance of the belts themselves, but in the act of mining/processing, and avoiding or defending against Pirates (whether PC or NPC) while mining.

No wonder really, as mining in Eve is efficient way for one to make money, and large quantities of minerals are needed to build anything bigger than frigate. But note this is part of the game which is widely recognized as about the single dullest aspect of it, a necessity that *has* to be done in order for one to be able to have fun rather than something one'd enjoy on its own. Hence numerous macro-miners and people afk-mining in ships rigged in a way that allows to leave them unattended, or in places where they cannot be interrupted.

Share this post


Link to post
Share on other sites
Quote:
Original post by tolaris
Quote:
Original post by frostburn
It certainly more efficient for huge cargo ships of several million tons not to land on the planet (size of SW's star destroyers), but smaller shuttles or fighters would still be possible (SW's Millenium Falcon).

I'd blame the very Star Wars for originating this dumb notion a space ship should be able to land on a planet and relaunch as it pleases in the first place... for a single reason it looks good in a movie and is a convenient *movie* plot device in a world long time ago in galaxy far away, with magically resistant materials and magically efficient (while still tiny) power sources. ;P

But note, that's convenient for a movie which isn't supposed to be interactive. In a game? it'd be probably more convenient to introduce the 'middle man' i.e. non-player controlled surface-orbit traffic. If nothing else, it creates room for extra layer of optional challenges in rpg game, in the form of having to deal with both stations' and spaceports' security, taxi drivers who might not enjoy the idea of helping in illegal activities, and a bunch of other things... and if there's actually a ship in the game that *can* both land on planets and travel between them, then with this kind of setup it can be be easily turned into valuable rare reward, something 'special' for the player to lust after instead of something taken for granted... (and certainly more unique than the usual "turret with +1 to damage" you're likely to see otherwise)


So? This is a Sci-Fi game or even future fantasy. I don't care at all if things in it is going to be possible. I'm going to include faster than light speeds, shields and ships that are as big as cities, and even bigger space stations as well. It's probably not going to happen in the real world, but so what? As long as it's possible to display on a monitor I don't care if it would be possible in real life. I'm not interested in making a 100% realistic space sim. I'm interested in making a cool game. I am going to use certain features from real life, but I'm not going to limit myself to it.

Also; most of the mass of today's space crafts is fuel. If a way was found to use more efficient propulsion, like a fusion reactor and either propellant launched at near light speed or more (implausible, theoretic,) exotic means, like electromagnetic or anti-gravity propulsion, it would be a lot more efficient to go to and from planets' surface. It's not something you'd do unless you have to, since it certainly will use more energy than if you stayed in space. But it would be possible, and I want to make most of what's possible in real life possible in the game.


As I said.. I WANT it to be possible to land on planets. If for no other reasons than that I think it will be cool. I also think it will open up for a lot of various land based missions. The only REAL headache is how to make it "plausible" that it's only possible to land on or near points of interest and not the rest of the planet. Modeling entire planets in FPS-ish detail is plain impossible. Modeling a few square miles in that quality and leave the rest of the planet in lower detail however, is.

Finally, making a special super-unique ship that can land on planets aint gonna happen. Making a textured sphere that looks like a planet is simple. Making an object that looks like a planet, no matter if you're 1000 miles up or 1 mile up is a lot harder, and if I were to spend countless hours designing an engine that can do both space flight AND planet-surface-flight, then at least I want to be able to do both things about as much. It's all or nothing.

Share this post


Link to post
Share on other sites
Quote:
Original post by frostburn
So? This is a Sci-Fi game or even future fantasy. I don't care at all if things in it is going to be possible. (..)

The only REAL headache is how to make it "plausible" that it's only possible to land on or near points of interest and not the rest of the planet.

Since you don't care at all if things in your game are going to be possible, no point in caring if *this one particular* limitation has plausible explanation, right? Super-efficient spaceship defense, planet-wide protection shields (hello, Spaceballs) or even magic tractor beams preventing ships from landing where you want them to will fit such universe perfectly... heck, someone might even find them "cool".

Quote:

Finally, making a special super-unique ship that can land on planets aint gonna happen. Making a textured sphere that looks like a planet is simple. Making an object that looks like a planet, no matter if you're 1000 miles up or 1 mile up is a lot harder, and if I were to spend countless hours designing an engine that can do both space flight AND planet-surface-flight, then at least I want to be able to do both things about as much. It's all or nothing.

I think you misunderstood. Not giving the player such ship from the very beginning doesn't prevent you from allowing them to get on planet surface. It merely means the player has it more difficult to get there before they get their hands on one... the reward is in having those extra obstacles they had to dealt with so far removed, not in being able to *finally* land on planets at all. (the difference between being forced to use public transportation and acquiring your own car, if you will)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this