• entries
232
1463
• views
961877

# Time for.. an update.. yes!

338 views

I just realized that i've never posted screens of my "old" planet engine (it's from 2003) on this journal. So for posterity, here they are:

I'm looking forward to reimplenting these scattering effects in the new engine (soon i hope).

In the last weeks i've been working on more physics. I realized things are not as simple as i initially thought.

Bear with me, it's not easy to explain. Basically, all my bodies are dynamic and hierarchical. You have planets, orbiting stars, moons orbiting planets, and space stations orbiting moons/planets. All of that in "accelerated" real-time.

So, in world space coordinates, the position of a specific planet is always changing - up to 1000 kilometers per second. Internally i store all my coordinates in 64-bits floats using the kilometer as the unit. The server controls how bodies are moving, and the client interpolates and predicts the movement using dead reckoning. It's all good in theory for one unique body.

But when you've got a hierarchy of bodies, the movement of one body should affect another's. What i mean is, if a space station is in the gravity field of a planet, translating the planet by +500 km in space should also translate the station by +500 km in space. If you don't do that.. the station will end up motionless in space while the planet it was orbiting goes away. Hence the motions of bodies must be somewhat "linked" together.

It gets even more tricky when you add imprecision due to networking. Let's say that your latency varies from 0 milliseconds to 10 milliseconds. Sure that's not a lot and no big deal.

Wrong.

In any other game, that wouldn't be a problem. But due to my time acceleration and huge speeds of my bodies (we're not playing with kilometers per hours here, but with kilometers per second), it can lead to huge errors.

A simple calculation: if a planet is moving at 1000 km/s in space, a latency of 10 ms leads to an error of 10 km in the body's position.. after one second!

Imagine what would happen with real Internet latencies.

Frontier, the classic David Braben's game in the 90s, probably solved the first part of these issues... except he didn't have to deal with networking, which made his life easier. I do not have the same luck..

Hiya. So tell me...how do you plan to release your combined galactic/solar/planetary engine? Are you creating a commercial or an eventually open-source middleware tool? Assumedly you'll be making a game with it?

I mean to imply that I'm sure there would be people interested in using such an engine for their games. :) What were your plans?

Sounds like you're going to have to do at least some of the physics work on the client side. I didn't realise how many errors would be caused by latency when working on this scale.

I love that purple one, the whole colour sceme just works so well. :)

Quote:

My current plan is to make an open-ended sci-fi game, similar to Elite/Frontier (if that wasn't obvious). Indeed i plan to release the engine commercially as a way to finance the game (especially since it doesn't have a lot of competitors), but there will likely be a free license for non-commercial usage.

It's exciting to think of a powerful engine like this being released as a middle-ware tool...and I've been considering a game that could use your technology.

Oh, and perhaps you'd be interested in this: Noctis IV CE

((Also, apologies for not reading your game description in that previous post before I asked :/ ))

Beautiful. I can't wait to explore a galaxy of these in real-time someday.

## Create an account

Register a new account

×

## Important Information

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!