Jump to content

Orbits


Recommended Posts

I know constantly moving things around is usually avoided in a voxel based game, but its very immersion breaking to see that everything in the universe is just static.

 

JC also talked about how they want to move the planets around the sun. But apparently in the current state of the game only the skybox is moved around and every voxel is static...

 

Of course there are more important problems on the roadmap, but there should be at least some mechanics to create the illusion of movement in space! (at lease after release ;))

 

The first precondition for this mechanic is of course to keep the server-load as minimal as possible, so I came up with some basic suggestions:

 

- Rotating spheres:

ZDZA8Wb.png

Around every planet and sun in the universe is a rotating sphere that defines 0 speed (or static voxels). So as long as you are inside a sphere everything seems static. Therefore all moons / asteroids are static inside a planet-sphere, and all planet-spheres are static inside a sun-sphere.

If a player moves from one sphere-area to another, it's speed is mapped to the new sphere, and he is slowed down to match the 0-reference of the sphere.

An obvious problem are the transition areas between 2 spheres, where objects are moving at very high relative speeds to one another. A solution could be that Objects are always pulled away from transition areas, so no one can park there ship in these critical areas.

 

- Fixed orbit "rings":

brIiL87.png

Everything in the universe is still static, but around every planet, or moon there are fixed rings that define where an object can "orbit".

Ships that want to orbit around the planet can "dock" to these rings, by entering a marked area. The ship then gets teleported into the ring with 0 speed, thereby preventing crashes with objects inside the ring.

The size of objects in the rings is limited, so they can't reach through the ring-walls.

 

I think especially the 2. option would be easy to implement without breaking the rest of the universe. Probably players will find a way to abuse, or break this mechanic. But at least this would enable some sort of orbiting.

 

I'm sure NQ already considered some solutions for that problem, but are working on more important topics.

Maybe we can find a compromise that looks cool, without breaking the game.^^

Link to comment
Share on other sites

JC said he wanted the planets to revolve on their axis for the day night cycle, and planet orbit around the star is not going to happen.

 

I don't think planets not-orbiting the star will be too immersion-breaking because it is such a slow process. Planets not revolving around their axis would be, though.

Link to comment
Share on other sites

Don't know if JC found a solution to his rotating planets.

 

If a rotating skybox is used, then it would rotate around all planets in the coordinate grid of the system.  Its not optimal, and there wouldn't be a seemless transition from one system to another, because players would need to travel beyond the skybox.

 

I'm not necessarily opposed to that though.  I believe a 32bit coordinate system is adequate to model a star system in an MMO.  Using 32bits per axis (32*4 for quaternial coordiates) instead of 64bits cuts the positioning packets in half, thereby doubling server bandwidth performance.  There's just too much empty space (aka NOTHING) between star systems to NOT require a star gate / wormhole solution.  

 

I'm very curious how they're planning on solving these problems.

 

We also know for some distance there will be gravitational pull.  This is obvious from the thuster video provided by NQ. 

 

Players would need to establish an orbit depending upon how far out planet gravity is modeled.  Once outside of the gravity, no orbit would be necessary.

Link to comment
Share on other sites

When I think of it, rotating planets are realy the best possible mechanic to handle orbits! ^^

 

The open space will be static, but the planets/moons will be contained in a rotating sphere (like my 1. suggestion in smaller scale)

Inside the spheres any ships will just be pulled downward by gravity, so no orbit is possible. The boarder to open space will need a sort of transition-zone to adapt to the speed difference.

Furthermore because voxels can float (at least inside the same construct) we could build some pseudo "geostationary" satellites by building up from the planets surface to the border of the sphere.
Any constructs outside the sphere will actually be static, but look like they move around from the planets perspective. -> no immersion break ;)

 

One question I've left now is how high can we build inside a planet/moon? They definitely need to limit the building height, because of the transition-zone...

Link to comment
Share on other sites

When I think of it, rotating planets are realy the best possible mechanic to handle orbits! ^^

 

The open space will be static, but the planets/moons will be contained in a rotating sphere (like my 1. suggestion in smaller scale)

Inside the spheres any ships will just be pulled downward by gravity, so no orbit is possible. The boarder to open space will need a sort of transition-zone to adapt to the speed difference.

Furthermore because voxels can float (at least inside the same construct) we could build some pseudo "geostationary" satellites by building up from the planets surface to the border of the sphere.

Any constructs outside the sphere will actually be static, but look like they move around from the planets perspective. -> no immersion break ;)

 

One question I've left now is how high can we build inside a planet/moon? They definitely need to limit the building height, because of the transition-zone...

So, what you mean is that when you're close to a planet, you become part of the planet's sphere basically?

Link to comment
Share on other sites

Establishing an orbit is ONLY required when gravity exists.

 

Technically, all an orbit is, is traveling at a 90 degree angle to gravity fast enough to miss the planet when falling.

 

So, your sphere example would mean only items within the sphere (and influence of gravity) would be able to orbit. Once outside of the splere, there's no need.

Link to comment
Share on other sites

The biggest problem isn't that ships and stations may collide with the orbit of planets, but that planets orbiting stars will make navigation so difficult it essentially becomes completely random. 

 

At the dinner in San Francisco, we got to see what it actually looks like to see a planet off in the distance and not the close-up positioning we've seen in the footage so far. They can be almost indistinguishable from the stars in the sky if you're not paying attention. 

 

At one point in the night, JC moved a bit too far away from Alioth and got lost. Luckily he had a god mode shortcut that let him teleport back to the Arkship. 

Link to comment
Share on other sites

The biggest problem isn't that ships and stations may collide with the orbit of planets, but that planets orbiting stars will make navigation so difficult it essentially becomes completely random. 

 

At the dinner in San Francisco, we got to see what it actually looks like to see a planet off in the distance and not the close-up positioning we've seen in the footage so far. They can be almost indistinguishable from the stars in the sky if you're not paying attention. 

 

At one point in the night, JC moved a bit too far away from Alioth and got lost. Luckily he had a god mode shortcut that let him teleport back to the Arkship. 

Game's so vast, the game's director has to use shortrcuts to find his way back :P I hope JC does these things live on stage one day, unlike Sean Murray's scripted shows.

Link to comment
Share on other sites

One question I've left now is how high can we build inside a planet/moon? They definitely need to limit the building height, because of the transition-zone...

You can build 1 kilometer high and 1 kilometer down.

I would assume that is counting from sealevel.

 

Game's so vast, the game's director has to use shortrcuts to find his way back :P

Pretty cool right. ;)

I love getting lost in MMO's.

Something that was removed in the last decade of mmo's.

Link to comment
Share on other sites

So true. There is just no sense of discovery anymore. What kind of adventurers are we supposed to be if everything has been mapped and colonized already?

You are right, i am missing this feeling so much.

Link to comment
Share on other sites

You are right, i am missing this feeling so much.

I think this is the biggest appeal. It is a vast universe to explore with little to no limits and endless possibilities. And with no loading screens (except logging in) it is seemless and free flowing

Link to comment
Share on other sites

Ok this is not what I meant about orbits. xD

 

 

So, what you mean is that when you're close to a planet, you become part of the planet's sphere basically?

 I've no idea how "constructs" are represented inside the game engine. But apparently ships are already pulled down when they are close to a planet, so planets are already a sort of special area inside the game. The next step would just be to make that area rotate.

 

Because of the server-load it's not possible to constantly update every voxel on the planet to create the rotation. But the planet could be in a special instance that looks static from the outside(like a mega-voxel, created through a static 3D image of the planet, that is updated once a day). Vice versa everything outside looks static from inside the planet.

In the transition-zone of the planet it should be possible for ships to see each other, if they are close enough. So it's not like an invisible wall when a ship enters the planets sphere. When a ship got through the transition-zone the actual voxels of the planet are loaded.

 

I know it will be quite hard to make everything look smooth here, but maybe this could work with the current technology of the game. ;)

 

Most people are making suggestions by saying "I want that in the game". They then expect the devs to do their magic and solve all the problems.

I think it is our responsibility to at least discuss HOW these mechanics could be implemented!^^

 

 

Establishing an orbit is ONLY required when gravity exists.

 True, but I only meant it should look like an orbit ingame...

 

At one point in the night, JC moved a bit too far away from Alioth and got lost. Luckily he had a god mode shortcut that let him teleport back to the Arkship.

This is very unlikely to happen. Traveling between planets will be very expensive and happen long time after release. Therefore by that point we will have developed some mechanic to display where the nearest planets are. The ships interfaces are also customizable, so I'm sure someone will create a LUA script for that! ;)
Link to comment
Share on other sites

I think you might be forgetting something.

 

JC said and says that anything big enough will be seen from space and vice versa.

If you go with the idea of an instance that periodically updates I think there might be a conflict in ideaology.

 

Far away objects will update the client less frequently and as you get close the level of detail *should* transition smoothly. There are no loading screens or instances in the game, so immersion seems to be a big point in the design statement.

 

Might your idea not be breaking with that?

Your idea would lead to objects popping into existence, would it not?

 

Just some thougts.

Link to comment
Share on other sites

planets rotating is fine, and orbiting planets is possible to navigate with a good enough map, or orbit calculator calculating where the planets will be after enough time. However server side of things if we can get planet to rotate and move easily, that means a ship of that size could rotate and move easily. Which means obviously highly robust mechanics. Remember Planets are no different from spaceships and stations rendering wise. Basically the solution would be to make static buildings not so static. Anchored structures are simple bounded to a large construct. Anyway if we do get planets to rotate I think that will be more of a beta topic than an alpha one.

Link to comment
Share on other sites

My understanding is that a planet is a construct like everything else.

 

The NQ videos have shown the "build area" when a player places a core unit down (you see the red lines of a cube indicating the limits).  I would bet that area has its own gravity and coordinate system.  The gravity can be seen in the video of the moving platforms, and we've seen constructs move and rotate with people standing on them.

 

My guess is, that if a planet is a construct like everything else, then it can rotate on an axis like everything else.

Link to comment
Share on other sites

Well maybe I'm overthinking this and planets are just like normal constructs (with special properties).

 

But somehow it "feels" for me that these gigantic structures must be handled differently by the server.

No matter how efficient their engine is, you have to update the voxel positions somehow... and this is resource intensive!!

We also know that you can't dig into the planets core, and only 1km high, which might also be to reduce the server-load.

 

Far away objects will update the client less frequently and as you get close the level of detail *should* transition smoothly. There are no loading screens or instances in the game, so immersion seems to be a big point in the design statement.

 

Might your idea not be breaking with that?
Your idea would lead to objects popping into existence, would it not?

That is exactly the challenge! I think it could work as I described it, but that is depending on how the engine would handle this situation.(especially replacing voxels with a 3D model when far away)

 

As we saw in the February DevDiary "smooth transitions" while rendering planets is a problem they are actually working on right now. ;)

Link to comment
Share on other sites

No matter how efficient their engine is, you have to update the voxel positions somehow...

JC said that the only thing that gets updated or stored are the changes. That would reduce the stress on the hardware.

But I'm not a software engineer so I might not understand it as intended.

 

Why would the game need to replace a voxel construct with a 3d model? Its just a construct displayed at a lower LOD.

 

I think Ripper makes a good observation.

The engine does not make a difference between planets or constructs, JC's own words. That includes the potential to rotate on an axis.

Link to comment
Share on other sites

Yes you are all correct: constructs already have theire own coordinate system, which is the reference system for objects inside (or very close to) the construct.

Also only changes are only stored if blocks are changed, no matter how the movement of the object is.

But all this has only been shown with small constructs moving around....

 

Obviously I've no idea about the current state of the game... maybe the size is no problem at all and everything is working already!

To let planets rotate and have a big gravity sphere will be a scripted behavior anyways. No playermade construct should start to rotate at a certain size, even a Deathstar. xD

A little tricky is how the transition-zone from one coordinate-system to another will be handled. But that can be said for smaller constructs, too. What happens if a shuttle starts of from a carrier that travels at warp speed?

 

I'm very curious what NQ will come up with in the following DevDiarys. They sure have lots of challenges to come.^^

Link to comment
Share on other sites

  • 4 weeks later...

DevDiary Updates - March = Orbits confirmed, FINALLY! Thanks JC! :D

 

I think they came up with the best possible solution for this mechanic. It also works completely different than what we've discussed previously... xD

 

To my understanding it is intended to be a simplified version of KSP orbits(but without apoapsis ect.) -> once a Object reaches a certain speed (escape velocity) it maintains that speed in a circle around the planet. Everything too slow will just fall back down to the planet. The orbit-speed gets slower the further away the object is from the planet. At a certain distance the speed gets to 0, which represents the free space.

 

Even though I'm happy this feature was important enough to get into the alpha, the explanation JC gave us was very vague:

Why did he say that the engines have to be "shut down", and then it "starts to orbit" the planet.

I somehow have the feeling these "orbits" are actually just some scripted manipulation of the "acceleration" of objects.

 

Here are some of my concerns:
What happens when you log out while your ship is orbiting?
Are you able to match speed with an orbiting space station (for docking)?
How are collisions between objects orbiting in contrasting directions managed? (it will get very crowded around Alioth!)
Will space-debris also stay in orbit?
Will asteroids and moons also orbit around planets?
Will objects be able to orbit around moons?

 

I guess the details of these mechanics need to concider these exceptions, but luckily there is still some time untill September. ;)

Link to comment
Share on other sites

Will asteroids and moons also orbit around planets?

Such constructs don't orbit, they're fixed. The moon only moves because of rotation of the planet

Will objects be able to orbit around moons?

Can't see why not

 

I think this escape velocity is only for the feels. So you wouldn't need an orbital trajectory (like in KSP) to start orbiting, it would be enough if you just fly straight up with escape velocity and then the game assumes you achieved orbit.

 

I support those questions - would be good to know.

Link to comment
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
×
×
  • Create New...