Although it’s a fun game, I had problems with it at first because it doesn’t follow real world physics. I don’t mean that I didn’t like the game. I mean I had a problem – I couldn’t do one of the levels. In one mission, you have to dock with another object in orbit. For your own spacecraft, you can turn and thrust. This means you can use the rocket thrust to push your spacecraft either tangent to your orbital path or perpendicular.

Composite screen capture from Space Agency

Here is the problem. When you thrust tangent to the orbital path, your spacecraft moves faster but stays at the same orbital radius. When you thrust perpendicular to the path, your spacecraft changes its orbital radius, but not the speed. Although this makes navigation in orbit a bit simpler, it isn’t what I expected.

Orbital Physics 101

Let’s say I have an object in orbit around the Earth. There are two, well maybe three important ideas.

Gravity. The gravitational force is an interaction between objects with mass. The farther away the objects get, the lower in magnitude the gravitational force becomes. I can model the magnitude of the gravitational forces as:

In this model, G is the gravitational constant. M and m are the masses of the two objects (I will let the Earth’s mass be M) and r is the distance between the centers of the objects (if you assume they are spherically symmetric).

The next thing to know is the momentum principle. It says:

Or, the total vector force on an object is equation to the time-rate of change of its vector momentum. Basically, forces change the momentum of an object. In this case, we can say that the vector momentum is the product of mass and vector velocity.

The last thing is the change in momentum for an object moving in a circle (like a circular orbit). If it is moving with a constant speed in a circle, the magnitude of the change in vector momentum would be:

R is the radius of the circle. If you like to look at this in terms of the speed of the object, v is the magnitude of the velocity. Or maybe you prefer to look at the angular velocity – ω. Either way gives you the same thing.

Back to the spacecraft. Let’s look at this capsule in orbit (circular orbit). There is only one force on the object, the gravitational force.

Putting all this stuff together into the momentum principle, I get:

If you want to be at a particular circular orbit radius (R), you have to go a certain speed (v). That’s it. If you increase your speed while in a circular orbit, you will not be at the same circular orbital distance.

Gravity in Space Agency

Clearly, the game Space Agency doesn’t use the same model of gravity that the real world uses. Big point here: that is OK. It’s a game. If this used realistic gravity, a rendezvous in orbit with another spacecraft would likely be super difficult.

Even though it’s not “real” gravity, I would still like an idea about the gravitational parameters in this game. Let me look at an orbiting space craft and get an estimate for M (the planet mass) and G the gravitational constant. That way, I can reproduce the same situation. From the same view of the game above, it is pretty simple to get an estimate of the speed. Let me call the radius of the planet, a value of 1 rp (for radius of planet). Now, I can use Air Server and Tracker Video to get a plot of the angular position of the spacecraft.

This puts the angular velocity at 0.267 radians/second at an orbital distance of about 2.75 rp. This would give a magnitude of velocity at around 0.73 rp/s. Using this, I can solve for GM for this particular planet (I assume it’s not Earth).

If you want to check, you can show yourself that GM should indeed have units of distance cubed per second squared. Anyway, I will use this value for GM even though it doesn’t work. It doesn’t work because I can have another object with the same angular orbit speed but at a different radius. Perhaps there is a gravitational model for this game that would work, but I will save that for later.

What about the thrust? I’m glad you asked. In the video example above, I can find the angular velocity both before and after I turn on the thrusters in the direction of motion of the space craft. If I also look at the time the that the thruster is on, I can get the angular acceleration during this time. Before the rockets were fired, I had an angular speed of 0.259 rad/s and after it was 0.282 rad/s. The rocket burn time was 1.87 seconds. From this I can get both the angular acceleration (α) and the tangental acceleration (at).

I will use that rocket acceleration for both tangential and perpendicular rocket thrusts. They might not be the same though – you could check this as a homework assignment.

Modeling Space Agency Orbits

Really, this is the fun part. Here I will use VPython to calculate both the gravitational force and rocket thrust on a space craft. I will use the standard numerical recipe to determine the spacecraft motion. Breaking the motion into small time steps, during each step I will dot the following:

Calculate the gravitational force (and rocket force if needed).

Use this force to find the new momentum after a short time interval.

Use the momentum to update the position.

Update the time and repeat.

When building things like this – the first step is to get an orbital motion without rockets. Then I can add the rocket thrust once I am sure the other stuff is working correctly.

Here is an example from that program (and here is the python program if you want it). In this case, a spacecraft starts off in a circular orbit. At t = 5 seconds, it fires the rocket in the direction of motion until t = 10 seconds. The red line shows the motion of an object that did not have a rocket (just for comparison).

You can see that this does not keep the spacecraft in a circular orbit. What if I fire the rocket perpendicular to the direction of motion? Here is a plot of that trajectory (no movie, just a picture).

Output from VPython

This doesn’t move the spacecraft to a higher orbit. It does change things though.

Ok, back to my main point. Space Agency is a cool game – but it doesn’t use real physics. If it did use real physics, how would you get two objects to meet in orbit? It wouldn’t be so easy, would it? Really, I think this is the game that I am going to make. I will call it Realistic Orbital Rendezvous.

Here’s The Thing With Ad Blockers

We get it: Ads aren’t what you’re here for. But ads help us keep the lights on. So, add us to your ad blocker’s whitelist or pay $1 per week for an ad-free version of WIRED. Either way, you are supporting our journalism. We’d really appreciate it.