The official "Seamless Planetary Flight" thread

Talk among developers, and propose and discuss general development planning/tackling/etc... feature in this forum.
Post Reply
Deus Siddis
Elite
Elite
Posts: 1363
Joined: Sat Aug 04, 2007 3:42 pm

Re: The official "Seamless Planetary Flight" thread

Post by Deus Siddis »

strook wrote:Among what i ve Seen in the actual vegastrike Engine (Not the ogre branch try) it is easily possilble to create Planet Flight with it. Yet i'm able to modify the vertices of à Planet (the 3D-Form).

The Next step is to modify an arbitrary half of the Planet.
Glad to hear it, this is probably the most greatly desired, yet unimplemented feature of vega strike.

How much control will you have over the detail level of the planet mesh using your intended method?
Rattan
Merchant
Merchant
Posts: 56
Joined: Sat Jul 18, 2009 5:35 pm

Re: The official "Seamless Planetary Flight" thread

Post by Rattan »

VegaStrike is very very close to "seamless planetary flight" already. You can fly in in very close to a planet, even get down to only a few meters off the surface. The only problem is that when you try to set down and actually land, it's a collision. What I've wondered is if some sort of docking areas could be added to planets at locations on the surface. To be able to land just anywhere wouldn't be all that useful for gameplay anyway. Logically you want to land at spaceports or at the very least airstrips or landing pads of some sort.

The pieces are really already mostly there.. You can navigate into a sort of orbit and make a controlled descent and (to a degree) detail increases as you get closer to the surface. You can fly low over the surface, even down to "rooftop" levels if the planet is smooth enough. Logically, if you could "launch" from the surface, you could just get some altitude and turn the nose of your ship towards space and there you go.

What I'm wondering is if it couldn't be managed with just establishing docking zones at spots on the planet surface, much like the ones on stations. They'd be much larger, most likely. But if you got considerably closer than the usual docking range for a planet as it is now, if requesting docking would light up some areas to fly to, and when you got close they'd turn out to be large landing fields or spaceports that you could get to within a few meters of and then hit your dock key, it'd pretty much do it, I think?

Then one could have some sort of a station type area there for trade and repairs and etc. If there was more than one dockable location on a planet, you might be able to make a few credits moving some cargo from one "city" on the surface to another. Wouldn't be able to land just anywhere, but the same is true of most flight sims. Most of those won't allow landing in a forest or etc, it'll respond as a crash landing, so you have to land on a runway or helipad somewhere. If docking at locations on the planet surface was an option and one could launch from the surface, I think at least most of what anyone is looking for as "seamless planetary flight" would be accomplished.

If objects can be added to the planet surface, to look like cities near (or around) the dockable areas, it could open up some good gameplay potentials as well as giving a creditable illusion of landings and take-offs on a spacefaring world. Even fights would be possible at atmospheric levels. One could avoid the complexities of having to basically incorporate actual airport style play with runways and approaches and etc by just deciding that spaceports have very large areas to land and presuming that after one touches down, some sort of tugs come out to tow the ship into docking bays or parking areas or whatever.
strook
ISO Party Member
ISO Party Member
Posts: 461
Joined: Fri Sep 03, 2010 12:10 pm

Re: The official "Seamless Planetary Flight" thread

Post by strook »

among what ive seen when starting the game and trying to land on cephid17, there is no seamless planetary flight.

no hills or mountains are created, and no textures which let the user feel flying in the athmosphere.

plz give an example planet where this is implemented actually... :x
plz visit my vegastrike project branch here

plz support VegaOgre by donating to it!

My systems: Mac mini 1, 4gig RAM;
i5 Quad Core 2400, 300mbit WLAN, 1,3Tbyte HD, 60 GB SSD,
nvidia geforce 8400gs 512MB, 6gig RAM with Ubuntu 11.4,
win7 and hackintosh installed
charlieg
Elite Mercenary
Elite Mercenary
Posts: 1329
Joined: Thu Mar 27, 2003 11:51 pm
Location: Manchester, UK
Contact:

Re: The official "Seamless Planetary Flight" thread

Post by charlieg »

I think you missed the point. He was saying you can already fly close to the surface, just there are no effects and instead of landing you crash into the planet.
Free Gamer - free software games compendium and commentary!
FreeGameDev forum - open source game development community
Rattan
Merchant
Merchant
Posts: 56
Joined: Sat Jul 18, 2009 5:35 pm

Re: The official "Seamless Planetary Flight" thread

Post by Rattan »

Strook, I did not claim that "this is already seamless planetary flight", nor did I claim there were any atmospheric effects, or whatever. Please read what is said before you go getting all :x , ok? :wink:

The degree of detail on some planets and moons is at least suggestive of mountains and hills. Here is a pic from orbital height of the Earth's Moon..

Image

..and here is from a fairy close distance of under 40 km..

Image

Note that is certainly looks a bit like hills, probably about as much as it would from that height. Also note in the orbital pic, no indication of atmosphere, which is to be expected, since the moon doesn't have any. But a pic from fairly close in to Earth (as compared to the usual docking distance)..

Image

...and we do see some indication of atmosphere.

What I was saying was that if a flat object we can refer to as a "starport" or something was attached on or very near the planet surface, and it had dockable regions, that it would be possible to land there and it might function like the stations or whatever we currently end up at when docking at the planet do now. My thought is that this would be possible quicker and could achieve some of the functions and feel of being able to land and take off from the surface of at least some planets. A large "spaceship landing area" like that might have some terrain details near the edges and buildings and such features. Since landings and take-offs would be made in these small (compared to the size of a planet) areas where detail could be higher, it could look and feel maybe at least reasonable.

I at no point said that all this exists in the game at present. But maybe the ability to fly very low, coupled with some sort of a dockable landing port such as already exists on some stations, might be used to put together planetary landings and take-offs and etc with objects the game already has.
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: The official "Seamless Planetary Flight" thread

Post by klauss »

Rattan... what about an up-to-date shot?
;)

(I'll post one when I get home)
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
strook
ISO Party Member
ISO Party Member
Posts: 461
Joined: Fri Sep 03, 2010 12:10 pm

Re: The official "Seamless Planetary Flight" thread

Post by strook »

look here:

Image

this is what i mean.
this is my first result.

among what i've seen in the code, terrain generation is disabled and not yet complete.

textures aren't generated either.
plz visit my vegastrike project branch here

plz support VegaOgre by donating to it!

My systems: Mac mini 1, 4gig RAM;
i5 Quad Core 2400, 300mbit WLAN, 1,3Tbyte HD, 60 GB SSD,
nvidia geforce 8400gs 512MB, 6gig RAM with Ubuntu 11.4,
win7 and hackintosh installed
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: The official "Seamless Planetary Flight" thread

Post by klauss »

I've been reading about the technique you posted.

Did you know that technique requires like 100.000 passes to produce any kind of detailled geometry?

And that it is completely random?

I don't think it will produce any kind of quality terrain... maybe you should be digging the net for better techniques.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
strook
ISO Party Member
ISO Party Member
Posts: 461
Joined: Fri Sep 03, 2010 12:10 pm

Re: The official "Seamless Planetary Flight" thread

Post by strook »

Actually i'm on a faster technique, it's like the "Fuzzy landscaping" technique.

Fuzzy landscaping gives results after 1 pass already, but it needs aligned after a pass.

none of the techniques are completely random, because the random function in vegastrike isn't completely random.

normally the computer gets a random number from an offset of the number PI.
and if you take the same offset, the same number is generated.

therefore in every run the same planet will be generated - if you take another offset you'll get another planet. :mrgreen:
plz visit my vegastrike project branch here

plz support VegaOgre by donating to it!

My systems: Mac mini 1, 4gig RAM;
i5 Quad Core 2400, 300mbit WLAN, 1,3Tbyte HD, 60 GB SSD,
nvidia geforce 8400gs 512MB, 6gig RAM with Ubuntu 11.4,
win7 and hackintosh installed
Boaal
Hunter
Hunter
Posts: 93
Joined: Sun May 06, 2007 6:43 pm

Re: The official "Seamless Planetary Flight" thread

Post by Boaal »

I'm actually confused as to the direction of the planets art wise.

The recent developer blogs seem to indicate that you're staying with the system as it is now, but concentrating on some very nice atmosphere and texture work. At the same time you've got a developer who is making fairly steady progress on psuedo-random planetary terrain generation.

The two seem to be kind of at odds with one another, unless you're planning to apply the impressive texture and atmosphere work, in time, to this type of terrain.

Which direction is the team actually sticking with?

Another thing - how will this seamless planetary flight work with gas giants and such?
The Twitching Pattern - http://www.last.fm/music/The+Twitching+Pattern
Have a listen.
strook
ISO Party Member
ISO Party Member
Posts: 461
Joined: Fri Sep 03, 2010 12:10 pm

Re: The official "Seamless Planetary Flight" thread

Post by strook »

i dont think that we re working against each other.
the terrain generation can depend on existing textures.
for example, on ocean planets i want to set a sphere which is simulating
the water surface. if the color of a vertex of the surface is blue - or its texture - and its
above the water level, a correction could occour.

the same thing could i make with gas gigants with a normal sphere as surface - note that a gas gigant has a solid core cause of its gravitation.

water and gas gigants athmosphere could be generated through the opengl
func glfog.
normal athmosphere is already done - i think i ll have to update the skybox if
going deeper into the athmosphere than yet is possible.
plz visit my vegastrike project branch here

plz support VegaOgre by donating to it!

My systems: Mac mini 1, 4gig RAM;
i5 Quad Core 2400, 300mbit WLAN, 1,3Tbyte HD, 60 GB SSD,
nvidia geforce 8400gs 512MB, 6gig RAM with Ubuntu 11.4,
win7 and hackintosh installed
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: The official "Seamless Planetary Flight" thread

Post by klauss »

I'm indeed skeptical of strook's approach. I think terrain generation should happen on the GPU, not the CPU as strook is doing, but changing that isn't inherently hard.

Good shaders are required by both approaches, and from the distance you actually don't want any kind of terrain generation: it's a waste of resources. So the nice shaders at the very least will work until you get close enough to start needing terrain generation.

From my experience, that distance is quite close. The shaders do a very good job of rendering fine detail until you start coming close enough to actually fly below mountain peaks.

Well before then, clouds start to degenerate (since the technique assumes you're looking from space, the shaders can't render clouds when you're looking from below or at grazing angles).

So, both of our work will be needed eventually. I am skeptical of the path strook chose, but choosing a path and working towards the end is by far more than anyone ever did on the subject, and I don't want to discourage him.

Since whenever he has a working algorithm we can move the bulk of the work towards the GPU (by writing appropriate geometry and vertex shaders), I don't think he's effort is going to go to waste.

That's assuming he ends up with a working algorithm.

From what I've seen to this point, I fear strook is forgetting a very important point: terrain generation is useful and needed only when you're very close to the surface. That means you don't see the entire planet, and there's no need to generate the entire surface - and you could even generate more detail for the parts of the surface closest to the player. Of course, multiplayer (and I'm not talking about MMO only, split-screen too which VS supposedly supports) complicates the subject, but nonetheless, I don't think strook is even aware of the issue for single player - so I'm bringing it to your attention now.

Furthermore, strook's work is long-term. He's just starting. Mine, on the other hand, is immediately applicable. Se we don't compete. In fact we can cooperate.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
Boaal
Hunter
Hunter
Posts: 93
Joined: Sun May 06, 2007 6:43 pm

Re: The official "Seamless Planetary Flight" thread

Post by Boaal »

Ah ok then, that tidies up things somewhat, good to see things are rolling onwards.
The Twitching Pattern - http://www.last.fm/music/The+Twitching+Pattern
Have a listen.
strook
ISO Party Member
ISO Party Member
Posts: 461
Joined: Fri Sep 03, 2010 12:10 pm

Re: The official "Seamless Planetary Flight" thread

Post by strook »

im aware of the fact that the terrain data will become large, but as i saw the
infinity engine, especially from near surface, i saw 2 tricks -
1.planets are very small in size. for example, in comparison - the earth has the
size in the game of the moon.
2.there is a small number of real vertices. the rest is interpolarisation data
and is thrown into your viewport when you come near to the surface and you
see only a small part of the planet.

but im now at start yet only.
today, i needed the whole time in finding out how to modify the vertex data without
making holes in the planet, and installing vs on my mac.
plz visit my vegastrike project branch here

plz support VegaOgre by donating to it!

My systems: Mac mini 1, 4gig RAM;
i5 Quad Core 2400, 300mbit WLAN, 1,3Tbyte HD, 60 GB SSD,
nvidia geforce 8400gs 512MB, 6gig RAM with Ubuntu 11.4,
win7 and hackintosh installed
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: The official "Seamless Planetary Flight" thread

Post by klauss »

Forget about 1, VS seeks realism in scale. Planets aren't realistically scaled atm only because of technical constraints, which could be lifted anytime.

Sol is already at 1:10 scale, which is far more close to real than anything else (including infinity if I'm not mistaken).
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
strook
ISO Party Member
ISO Party Member
Posts: 461
Joined: Fri Sep 03, 2010 12:10 pm

Re: The official "Seamless Planetary Flight" thread

Post by strook »

hmm then ill create an terrain map that is updated on the normal position that the player has got.
spheres are very hard to modify, too.

newest pic
Image
plz visit my vegastrike project branch here

plz support VegaOgre by donating to it!

My systems: Mac mini 1, 4gig RAM;
i5 Quad Core 2400, 300mbit WLAN, 1,3Tbyte HD, 60 GB SSD,
nvidia geforce 8400gs 512MB, 6gig RAM with Ubuntu 11.4,
win7 and hackintosh installed
charlieg
Elite Mercenary
Elite Mercenary
Posts: 1329
Joined: Thu Mar 27, 2003 11:51 pm
Location: Manchester, UK
Contact:

Re: The official "Seamless Planetary Flight" thread

Post by charlieg »

I don't see an image. Only the word 'image' instead. :(
Free Gamer - free software games compendium and commentary!
FreeGameDev forum - open source game development community
strook
ISO Party Member
ISO Party Member
Posts: 461
Joined: Fri Sep 03, 2010 12:10 pm

Re: The official "Seamless Planetary Flight" thread

Post by strook »

try to reload it.
does anyone know a good pic hoster
plz visit my vegastrike project branch here

plz support VegaOgre by donating to it!

My systems: Mac mini 1, 4gig RAM;
i5 Quad Core 2400, 300mbit WLAN, 1,3Tbyte HD, 60 GB SSD,
nvidia geforce 8400gs 512MB, 6gig RAM with Ubuntu 11.4,
win7 and hackintosh installed
Deus Siddis
Elite
Elite
Posts: 1363
Joined: Sat Aug 04, 2007 3:42 pm

Re: The official "Seamless Planetary Flight" thread

Post by Deus Siddis »

strook wrote:does anyone know a good pic hoster
I would recommend photobucket though others sometimes use imageshack.
strook
ISO Party Member
ISO Party Member
Posts: 461
Joined: Fri Sep 03, 2010 12:10 pm

Re: The official "Seamless Planetary Flight" thread

Post by strook »

Image

i try now to modify now the class halo.
i load a sphere mesh made of nurbs meshes and modify them.

the good thing at this solution is, that one can replace one or more
nurbs surfaces with a base installation on the surface.

however there will be very many vertices.
but todays hardware should be sufficient.
plz visit my vegastrike project branch here

plz support VegaOgre by donating to it!

My systems: Mac mini 1, 4gig RAM;
i5 Quad Core 2400, 300mbit WLAN, 1,3Tbyte HD, 60 GB SSD,
nvidia geforce 8400gs 512MB, 6gig RAM with Ubuntu 11.4,
win7 and hackintosh installed
strook
ISO Party Member
ISO Party Member
Posts: 461
Joined: Fri Sep 03, 2010 12:10 pm

Re: The official "Seamless Planetary Flight" thread

Post by strook »

i can't use high polygon counts.
i use the unit converter and successfully convert an sphere.
it has 159960 faces, 159562 vertices, 0 lines, 800 tris, 159160 quads.
as i want to view the model, vs, loads successfully, but when moving the ship towards the
model, quits.
plz visit my vegastrike project branch here

plz support VegaOgre by donating to it!

My systems: Mac mini 1, 4gig RAM;
i5 Quad Core 2400, 300mbit WLAN, 1,3Tbyte HD, 60 GB SSD,
nvidia geforce 8400gs 512MB, 6gig RAM with Ubuntu 11.4,
win7 and hackintosh installed
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: The official "Seamless Planetary Flight" thread

Post by klauss »

Please attach the bfxm (or .obj or whatever), please compress it ;) , so I can debug why it crashes.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
charlieg
Elite Mercenary
Elite Mercenary
Posts: 1329
Joined: Thu Mar 27, 2003 11:51 pm
Location: Manchester, UK
Contact:

Re: The official "Seamless Planetary Flight" thread

Post by charlieg »

Deus Siddis wrote:
strook wrote:does anyone know a good pic hoster
I would recommend photobucket though others sometimes use imageshack.
Or reddit's fav, imgur.
Free Gamer - free software games compendium and commentary!
FreeGameDev forum - open source game development community
strook
ISO Party Member
ISO Party Member
Posts: 461
Joined: Fri Sep 03, 2010 12:10 pm

Re: The official "Seamless Planetary Flight" thread

Post by strook »

ok, guys here is where i am:

i went to load in sphere files as unit objects since the unit class allows high polygon counts.
i loaded in a sphere with 500 slices and 500 stacks (this limit is set by blender - does anybody know a program where i can make spheres with higher detail?)

pic:
Image


i modified the code in planet.cpp to load in a sphere like that is used at wormhole load in:

Code: Select all

GamePlanet::GamePlanet( QVector x,
                        QVector y,
                        float vely,
                        const Vector &rotvel,


...

    if (!wormhole) {
        static int stacks = XMLSupport::parse_int( vs_config->getVariable( "graphics", "planet_detail", "24" ) );
        atmospheric = !(blendSrc == ONE && blendDst == ZERO);
//old code
//        meshdata.push_back( new SphereMesh( radius, stacks, stacks, textname.c_str(), technique, NULL, inside_out, blendSrc, blendDst, false, 0.0, M_PI, 0.0, 2*M_PI, MIPMAP, false, false) );


//new code

        int    faction = FactionUtil::GetNeutralFaction();

is "sphere" the correct name?
vvvvvvvvvvvvvvvvvvvvvvvvv

        static std::string surface_unit = "sphere"/*vs_config->getVariable( "graphics", "surface", "surface" )*/;


        string surfaceplanetname = surface_unit;
        Unit  *surface  = UnitFactory::createUnit( surfaceplanetname.c_str(), true, faction );
        while (surface != NULL) {
            if (surface->name != "LOAD_FAILED") {
                if ( surface->meshdata.size() ) surface->meshdata.pop_back();
                while ( surface->meshdata.size() ) {
                    this->meshdata.push_back( surface->meshdata.back() );
                    surface->meshdata.pop_back();
                }
                surface->meshdata.push_back( NULL );
                Unit   *su;
                for (un_kiter i = surface->viewSubUnits(); (su = *i) != NULL; ++i)
                    SubUnits.prepend( su );
                surface->SubUnits.clear();

            }
            surface->Kill();
            surface = NULL;
        }



        meshdata.back()->setEnvMap( GFXFALSE );
        meshdata.back()->SetMaterial( ourmat );
        meshdata.push_back( NULL );
    }
...

Image

how do i load in the sphere right?
plz visit my vegastrike project branch here

plz support VegaOgre by donating to it!

My systems: Mac mini 1, 4gig RAM;
i5 Quad Core 2400, 300mbit WLAN, 1,3Tbyte HD, 60 GB SSD,
nvidia geforce 8400gs 512MB, 6gig RAM with Ubuntu 11.4,
win7 and hackintosh installed
strook
ISO Party Member
ISO Party Member
Posts: 461
Joined: Fri Sep 03, 2010 12:10 pm

Re: The official "Seamless Planetary Flight" thread

Post by strook »

i've got it :)

now i'll modify the surface.
plz visit my vegastrike project branch here

plz support VegaOgre by donating to it!

My systems: Mac mini 1, 4gig RAM;
i5 Quad Core 2400, 300mbit WLAN, 1,3Tbyte HD, 60 GB SSD,
nvidia geforce 8400gs 512MB, 6gig RAM with Ubuntu 11.4,
win7 and hackintosh installed
Post Reply