Simplifying Orbital Mechanics

HarvesteR

Member
Joined
Apr 22, 2008
Messages
386
Reaction score
15
Points
18
Hello,

Not sure if this is the proper forum for this thread... Please move if needed :)

So, long story short, I'm making a space game... now, unlike most games in this genre, it is somewhat based on real rocket physics and orbital mechanics... The main premise is that the player is allowed to build rockets out of parts like solid and liquid engines, fuel tanks, command pods, and the like, then he gets to launch it and try to reach orbit and a safe reentry and landing, all without having the rocket explode in a million ways.
The game is meant to be a comical take on the history of space flight, and it's failures.

The problem is that my game is not Orbiter, nor do I want it to be... The physics engine quite easily allows for a very realistic model of orbiting bodies and all that, but doing things this way, although easy to implement, produces a very big problem... Most gamers aren't rocket scientists, and can't be expected to know how to fly an orbiting craft (it's no surprise that all orbiting games on the net are puzzle games)

So, what I wanted to get from this post are ideas about how one might simplify orbital mechanics, in a way that they are easy to grasp for the average gamer, but still be grounded on reality...
I don't trust myself to do it alone, since I have way too many Orbiter hours logged and am probably quite biased towards too much realism and complexity... so I wanted a second opinion... (yes, I am aware that this entire forum is populated with orbiter fans just like me, and equally biased in that respect... but I feel that many heads always have the potential of leveling out an idea, where one alone can easily create something that only makes sense to itself)



Well, bear with me now, as I go through what I've thought so far:
A real orbital rendezvous (as per Orbiter), would require 5 different steps: Launch, Establish orbit at LEO, Plane Alignment, Orbit Sync, and finally docking.
I want to simplify this to a point where the average gamer can do it, without requiring a reading of the JPL pages on orbital mechanics... So here's what I have so far:

- Plane Alignment can be removed by restricting the game to a 2D plane. (the game is 3D, but all motion is restricted to the XY plane)

- The game shows the space vehicle from the outside (a side-looking camera that is always oriented so that the surface of the planet is 'below').

- Characters go into the rocket as it's 'crew', which justifies (more or less) the fact that space flight is made easy, since one might think they are doing all the heavy work.

- The whole concept of 'Orbit' can be distilled down to simply 'altitude', where once above a given point (say, the limit of the atmosphere), the game takes on 'orbital mode' and you fly about on your RCS thrusters.

- in 'atmospheric flight mode', the main engines default to 75% throttle. Pushing them up to 100% may be considered as 'afterburning' and will increase heat and pressure, and may lead to an explosion. In 'orbital flight', the engines default to zero thrust, and the retro-engines (if available) respond to 'negative throttle' (all throttle is controlled by the W and S keys)

- as you gain altitude, the planet below moves around so that it's always visible to the sideways-looking camera. It moves in such a way as to be right behind the ship once it reaches orbit... in this way, one might imagine your orbital trajectory as being in the direction of the locked Z axis.

- RCS is simplified to clicking around the command pod to produce thrust in the direction of clicking... this is calculated to take rotation into account, so orientation only matters when it's time to land or dock.




As you can see, some of these measures are quite extreme... I want to boil down orbital flight to it's bare minimum (and the most fun) parts... But, I'm not completely happy with these decisions as they are...
I feel restricting the game to 2D might be too hard a limit to impose... or maybe that's just the orbiter fan in me talking...

Also, there are other problems yet to solve... Imagine this in a multiplayer scenario... I don't want players to launch off into completely different orbits and never meet again during the game...
I've thought about somehow restricting the flight area into a more managable space... but I can't think of a good way to do it...

Well...I hope all this made sense :rolleyes:

Can anyone think of other ways to simplify orbital mechanics to it's bare minimum (or it's most fun parts)?

Thanks in advance for any input :tiphat:

Cheers
 

Rtyh-12

Member
Joined
Sep 12, 2010
Messages
918
Reaction score
0
Points
16
Location
Kraken Mare
You know what? This sounded really cool! Until I read all those restrictions. Some are way too extreme. I would recommend leaving the 2d space behind, and the restricted camera option. Also, let them think a little (not too much, but a little). Don't just leave a fixed circular orbit, rather tell them what parameters to obtain and how (but make it in a fun way. Don't make the game too geeky, otherwise players with no enlightenment by the Almighty Probe will leave).
 

Loru

Retired Staff Member
Retired Staff
Addon Developer
Donator
Joined
Sep 30, 2008
Messages
3,731
Reaction score
6
Points
36
Location
Warsaw
There was an old game on c-64 called Halley Mission.

Orbital mechanics were simplified to control altitude (by burning up and down) speed, and side position. Basic idea is what you've described so I encourage you to check it out.

hm2.jpg
 

HarvesteR

Member
Joined
Apr 22, 2008
Messages
386
Reaction score
15
Points
18
You know what? This sounded really cool! Until I read all those restrictions. Some are way too extreme. I would recommend leaving the 2d space behind, and the restricted camera option. Also, let them think a little (not too much, but a little). Don't just leave a fixed circular orbit, rather tell them what parameters to obtain and how (but make it in a fun way. Don't make the game too geeky, otherwise players with no enlightenment by the Almighty Probe will leave).

Well, that is exactly my problem... real orbital mechanics are way too complicated for the non-enlightened to grasp (great term there :thumbup: )

I'm not feeling good about the 2D restriction too... but I fear that leaving all directions open may result in the game requiring (no offense) Orbiter-geekiness to handle...

I've thought about instead of restricting the game to a plane, somehow working with a 'flight volume' where one is free to move about... but that seems impractical...

Also, I've thought about realeasing the 3rd axis only when in orbital mode... in this way, all players would lift off on the same orbital plane, then be free to move about in 3D... I don't know if that would be weird or not...

The last but, IMO, worst option, is to guide the players along his path to orbit... but I don't like the idea of the game hand-holding the player and leading him where he should be... I want players to be as free as possible, without making the game too complicated...

@Loru: That's neat!! I'll definitely check that out!! not many games have tackled this route... most have star-wars-like depictions of space flight... or worse...


Cheers
 
Last edited:

Quick_Nick

Passed the Turing Test
Donator
Joined
Oct 20, 2007
Messages
4,088
Reaction score
204
Points
103
Location
Tucson, AZ
My suggestion to simplify things is to overpower your rocket. Make an ACME type rocket that you can pretty much point and shoot. It leaves plenty of room for error in reaching orbit and succeeding in maneuvers.
 

Arrowstar

Probenaut
Addon Developer
Joined
May 23, 2008
Messages
1,785
Reaction score
0
Points
36
Most gamers aren't rocket scientists, and can't be expected to know how to fly an orbiting craft (it's no surprise that all orbiting games on the net are puzzle games)

Why?

Orbital mechanics is, from a piloting perspective, simply a set of rules to be followed. It's really not any different in premise from learning to fly a computer aircraft: throttle in, go faster; yoke forward, nose down.

I would think that if 'gamers' are capable of learning the intricacies of games such as Starcraft and Halo (with all their myriad of tricks to learn), surely we can teach people to get to orbit with a highly over-powered rocket that makes life relatively easy. This is the idea behind the Deltaglider, after all. :)
 

statickid

CatDog from Deimos
Donator
Joined
Nov 23, 2008
Messages
1,683
Reaction score
4
Points
38
my first reaction is to say that you can have the attitude by autopilot and they just need to turn off the thrust when the orbit is circular. (the rocket tries to fly into a circular orbit on its own but the engine cutoff is critical to the player)

If you want to include orbit plane, maybe it could just be a preflight parameter, such as an angle to launch into as that is more realistic but also simpler than changing the plane in orbit. Don't make them calculate the launch window, just have them match an angle of launch to launch into the plane and say that the rocket will launch "in the window" by default, so to speak. just some thoughts off the top of my head...

you could have them docking in a more defined corridor, sort of like having to stay in the docking path or the mission fails.

example: rendezvous is successful (within a certain range, say .5km) so the game switches to "docking mode" and then the player is presented with a view from the cockpit with the flight approach windows all lined up. they will have to successfully approach with precision or the mission fails if they get ...oh...say .... 200 meters out of alignment...or something.

these ideas would be pretty arcade like but just throwing them out there :thumbup:
 

HarvesteR

Member
Joined
Apr 22, 2008
Messages
386
Reaction score
15
Points
18
Why?

Orbital mechanics is, from a piloting perspective, simply a set of rules to be followed. It's really not any different in premise from learning to fly a computer aircraft: throttle in, go faster; yoke forward, nose down.

I would think that if 'gamers' are capable of learning the intricacies of games such as Starcraft and Halo (with all their myriad of tricks to learn), surely we can teach people to get to orbit with a highly over-powered rocket that makes life relatively easy. This is the idea behind the Deltaglider, after all. :)

It is one thing to learn about different stats for different units in a game like starcraft, and another to be required to relearn the basic notion of 'movement' in a game... These tricks one learns in games like starcraft or WoW all fall in the 'advanced mechanics' category... flying a spaceship is a very basic mechanic, like movement through WSAD keys, and if players aren't able to pick it up in a very short time, they are very likely to drop the game altogether...

So far I've been able to implement a few good ideas, like a centralized control scheme, where it doesn't matter the setup of your ship, the same keys will always produce the same result, like A banks left, D banks right, and so on... (I've played some build-your-own-vehicle games where the game forced you to setup the whole control scheme each time you changed any parts that read input... It was incredibly annoying)

The thing is, I want this game to be really simple to pick up (as far as it's possible, given the premise), but very deep and hard to master... I know that is what every game strives for... but in this instance, I find it really necessary...

I'm thinking about implementing the 'story mode' missions as a long tutorial, where each new mission introduces a new aspect of space flight... the first ones would be simply "reach this many meters in altitude", then "reach a little higher", and incrementally adding to the complexity of the game, while by the end you're flying orbital missions and launching payloads and whatnot... By then, a player would be apt to play the game in sandbox mode, and do whatever he wants...



my first reaction is to say that you can have the attitude by autopilot and they just need to turn off the thrust when the orbit is circular. (the rocket tries to fly into a circular orbit on its own but the engine cutoff is critical to the player)

If you want to include orbit plane, maybe it could just be a preflight parameter, such as an angle to launch into as that is more realistic but also simpler than changing the plane in orbit. Don't make them calculate the launch window, just have them match an angle of launch to launch into the plane and say that the rocket will launch "in the window" by default, so to speak. just some thoughts off the top of my head...

About this, I've thought about something similar... All orbiting objects are in 'geostationary orbits' so there is no need for complicated rendezvous maneuvers... there would be a radar of sorts, or some kind of waypoint system that always points to your destination (and other points of interest, like other players and things like that)... this would simplify things a bit I think...

About the 2D vs 3D thing... I'm still stumped about that one... Going full 6-DOF 3D implies a major design change (which is why I'm asking now rather than later on)...

I've though about making the whole launch procedure 'semi-autopiloted', so that as the pilot, you only need to worry about keeping the rocket leveled and rising (which isn't as easy as it seems)... the whole ascent profile would be merely a function of altitude, so that if you manage to reach 'orbital altitude', you've also developed enough ground speed so as to be in orbit. From there on, since everything is geostationary, you essentially have a stationary volume in which you can move about in 6DOF without much complication. There would be one compromise from reality, which would be a 'G' meter, that goes down to zero as one approaches orbit... from there, the game can become a large-scale version of docking with the ISS in orbiter, since everything in the 'geostationary volume' is in the same reference plane as you... This kinda shoots to hell my idea of mouse-click RCS, since that depends on a fixed camera frame... hmm... maybe a 'docking camera' of sorts...

It's very easy to overload the player with things to do... my main concern is that it may prove a frustrating experience... remember that this game allows them to build their rockets, and when piloting, keeping it from exploding is not so easy... also, since the game features a 'building mode', the focus is somewhat divided between designing a ship and flying it (as in 'did my mission fail because I was a poor pilot, or because of a design flaw with my ship?')... so I want to condense the flying part so that it's not too complicated as in a game that focuses solely on flying.

Anyways, these are very interesting thoughts everyone's raised here so far... It's given me a lot to think about...

Keep 'em coming! :thumbup:

Cheers
 
Last edited:

Carmen A

redneck kitten with pillow :3
Addon Developer
Joined
Jan 1, 2011
Messages
751
Reaction score
0
Points
0
Location
Can I be in Texas?
Website
v149th.yolasite.com
Orbital mechanics - in games I would rather have the 'real deal' that feels like Orbiter, than a simplified format which more or less ends up playing like an arcadey format. We can have a good Newtonian flight model and use AI thruster assistance to help the players go where they want to go but at the touch of a button, use manual engine and RCS controls to gain an edge over those flying with simpler control setups.

Example - Orbital mechanics was supposed to be in the design of Independence War. It turned out to be a challenging space combat game with scalable difficulty. They removed orbital mechanics but even today, the Newtonian flight model therein is a fantastic work of art which allows for totally unlimited tactical options.

The default flight control is computer assisted and limits relative velocity to 1000m/s. This can be overridden either temporarily or permanently with thruster controls or disabling the "FBW" system which attempts to keep the ship flying straight.

I believe, that if you used I-War's setup you can scale the basic premise from Orbiter (which is like hitting N in I-War for full manual control) to Star Trek, which can be mimicked by using very powerful linear RCS to force the ship to fly "straight" as it changes direction in space.

As mentioned above, we here in Orbiter also have some custom ship configurations to simplify flight control.

Realistic rockets and spacecraft like the Shuttle have to live with realistic engine performance, which means small amounts of thrust are relied upon to make changes in vehicle trajectory over a long period of time. (Say, a Shuttle de-orbit burn).

With the XR and Deltaglider series, these are more "futuristic" designs with likewise improved propulsion. Orbital maneuvers are simplified because it's easier to visualise where the ship is going, due to the faster acceleration and greater margin of error.

It also has scalable difficulty, as you can elect to disable the damage model and increase engine performance to literally, Star Trek levels. But I find this unnecessary.

The XR2's default setup is intuitive enough so long as you've taken a few Shuttle rides in Orbiter (on autopilot). For a greater challenge, load up an XR5 (itself a much heavier ship) with 600 tons of cargo and fly that into space and back down again.

Almost everything else, including the Shuttle, would be a piece of cake then.

As far as learning goes, I have been in Orbiter for only a month. Orbital mechanics is nothing difficult once you've seen how a real launch goes, and have some practise flying the ships in a controlled environment before doing any mission-based activity.

In this premise, Independence War is a fantastic newbie friendly space combat game.

For a real time strategy perspective, what I want is something like Nexus: Jupiter Incident with manual thruster overrides. It has a far simpler physics setup (actually, NO physics as far as I'm concerned) but things move so slowly in 3D that you're tempted to think the capital ships have a realistic sense of motion.

With a superior tactical interface like I-War and manual override controls, Nexus would have been way ahead of the competition.

I believe that the ease of use of a spaceflight simulator relies on its interface. I-War has an "Orb" display that tells you exactly which direction to point to correct your manually flown 20km/s Newtonian combat trajectory.

You can't do that in Orbiter because it doesn't have that interface gadget, but you can improvise - use the stars and other planets to reference thruster burns, like Apollo.

A good interface, once again like I-War, removes that need to improvise, and as such makes it newbie friendly.

But how newbie friendly do I want your game to be? Sure I might need a couple hours to familiarise myself with your control interface, but after that, give me the full manual space cowboy stuff :3


---

Part 2 - semi automated launch

This is in direct response to your suggestion above:

This is a great suggestion. Instead of dumping the player into Orbiter in the Shuttle with SRBs (and tell him "just launch it, now"), use the 3D interface to project a holographic series of loops into the air, so that if the player goes through the holographic flight path, he will enter orbit successfully with the correct combination of horizontal and vertical velocity.

This is referenced with either me in OMP calling out squadron commands over voice comms, or an easier reference from Hegemonia's introductory movie.


Part III - Navigation (sorry for crap formatting, at work here)

Once again, to navigate in your universe and to intercept orbital targets (or other ships) we can simply get the player to select a target in the targeting / navigation interface and the computer will present him/her with a holographic interception course. Keep the velocity vector through the hoops and you'll reach the target fine. With an Orbiter style docking HUD display, I don't think anything can go wrong, once the player gets used to monitoring the closing velocity indicator.

Here, a page from the new Star Trek movie can be borrowed - once player reaches recommended optimal cruise velocity, a big floating text informs him of it. If he fails to fire retros in time a huge "WARNING, CLOSING VELOCITY OVERSPEED" or something stares back.

There is of course possibility of programming the autopilot to get the ship there under computer control, similar to the F6 / approach target command in Independence War 2. Likewise, F7, match target velocity, can also make orbital formation and dockng really simple.

Once again I'm using smart interface and AI assistance to make the premise of Newtonian space easy to understand. After all, future air and spacecraft will have increased automation and even yes, I-War style AI assistance to make flight easier on the human pilot.
 
Last edited:

HarvesteR

Member
Joined
Apr 22, 2008
Messages
386
Reaction score
15
Points
18
Wow, thanks for the very detailed reply!! (I love this forum)

Well, I've checked out some reviews of Independence War, and it seems they've gone exactly where I wanted to go, even though I wasn't aware of it :lol:

It's like X3 Terran Conflict... The physics are unrestricted, but the planets don't exert gravity, so it's like being in open space (or a very large orbit)

The only thing here, is that my game features launching and landing back into the planet, so that transition between atmospheric and "pseudo-orbital" flight might be a little weird... it would be theoretically possible to achieve a 'real' orbit by thrusting horizontally just below the pseudo-orbital threshold... then, if one crosses that line, he would be launched along the tangent...

Well, that could be solved I guess by not having a binary threshold between the two modes... but somehow smoothly transition between them...

it might work...

Anyhow... Today I've implemented point gravity (engine's default is linear), and a spherical planet instead of the placeholder square km of terrain I had... Just by using point gravity I was able to launch a ship into orbit (it was a comically small planet for testing purposes) and circle around a few times... lots of fun!!:cheers:

I'm tempted to leave it as is... but I fear it may prove too much for the non-initiated in the cult of the almighty probe...

I guess the best way to find out is playtesting... I'll try rigging up a transition between the two modes, and see if that works out... if not, I'll think of something else...

Well, I gotta think up some new keyboard controls for 3D piloting... it was quite simple using just the WSAD keys for bank/throttle and the mouse for RCS... now I need 12 keys to handle the 6DOF...

Keep them ideas coming!! It's really helping :thumbup:

Cheers
 

Carmen A

redneck kitten with pillow :3
Addon Developer
Joined
Jan 1, 2011
Messages
751
Reaction score
0
Points
0
Location
Can I be in Texas?
Website
v149th.yolasite.com
Looking really good, wish I could see some video footage of the first launch into space :3

For precision flight control for both space and air I would actually prefer mouselook for rotational control (rot RCS). This will serve as a very precise pointing medium that you will use 90% of the time in atmosphere, and of course for targeting the nose at enemy ships in space.

Linear RCS (lateral thrusters) are best served by the WSAD keys - typical I-War scenario where you fly to intercept something with the main engine and then as you close and the enemy is firing back, jink from side to side using the lateral thrusters (also WASD), which are optionally controlled by the hat on the joystick (very intuitive).

The WASD area of the keyboard can also be used for retro and main thrust overrides (Q and Z) for Newtonian free flight.

This setup I believe reduces the amounts of keypresses necessary in your action oriented space combat game, and also the mouse look for rotational control will be familiar to almost all gamers of today's age. Difficulty level in this respect is scalable as well. No inertia in rotation plays out like the arcade style combat in X2 where twitch maneuvers are usual (not fun). Realistic inertia means the patient pilot / astronaut has an advantage over twitch gamers who over-thrust in rotation and spin out of control.

Just as it is in Orbiter, we could have a "kill rotation" button for panic situations or to more quickily lay in a firing solution - > once again typical Il-2 Sturmovik online tactic where 90% of the time a good "energy fighting" pilot is focusing on gaining a superior position, then swoop down and take no longer than 5 seconds taking the kill firing at very short range.

If you need someone to alpha / beta test control setups, gameplay, etc I'm pretty much available.
 

HarvesteR

Member
Joined
Apr 22, 2008
Messages
386
Reaction score
15
Points
18
Cool, Thanks again!

The game is still in very early development, and right now looks so bad I don't think it'd be a good idea to show it off :p

We are planning on doing an open alpha though... this forum will be one of the first to know when it's up :)

This game is not so much a space shooter as it is a game about rocket engineering and space exploration... as of now, no enemies are planned... that can change though (probably will)... I guess since there is no twitch action, the movement can be a little more complex than X3 or the usual space shooter... still, I find full Orbiter mechanics to be a little too much... so I'm thinking about ways to reach some mid point between orbiter and I-War or X3

Thanks for the control suggestions! Joy Hat for RCS is quite neat... the only thing though is, which axis does one map to hat up/down? vertical or longitudinal?
For orbiter I have a (very) complicated setup for my X52 that uses all 3 hats and axes, plus the pedal set, to have 6 DOF RCS without switching... one day after I made that setup, I couldn't remember where I had put my controls :p

Hopefully I can think of something more practical than that.

I'm thinking of having a few fixed 'maneuver cameras', where mouse-click RCS is enabled... I've tried it out, and it's a lot of fun to control a ship like that. It's not very realistic, since it uses an external camera, but then again... my game isn't focused on sheer realism... for that we have Orbiter :hail::probe:

Cheers
 

wehaveaproblem

One step closer
Addon Developer
Donator
Joined
May 18, 2008
Messages
913
Reaction score
0
Points
16
Location
London
Website
wehaveaproblem.wordpress.com
I trust you have played BARIS... the hardest game ever in the world to complete 'on schedule'. There is a free version available here.

It won't help you re:graphics and so forth, but it may give you some ideas for historical context, project management and simplification of science.
 

Carmen A

redneck kitten with pillow :3
Addon Developer
Joined
Jan 1, 2011
Messages
751
Reaction score
0
Points
0
Location
Can I be in Texas?
Website
v149th.yolasite.com
I wouldn't worry on the specifics at this point, a lot of the control setup thing will be up to the individual, and without a test platform we will only be adding confusion and "good ideas" without adding to the project.

Complexity is a good thing, I feel, because the lack thereof is annoying in today's games, which are merely slightly playable tech demos of the latest hardware. Leave the "ease of learning" stuff to the manual, the tutorials, the interface, and a smart scalable difficulty system.

As far as complex control setups go, I will not live with anything less than a fully programmable HOTAS setup. I don't have any issues with the custom mappings so long as I programmed it in a logical way.

I have no aeronautical experience or talent and I'm completely at home with a virtual cockpit. If players have an open mind for new ideas they will pick up basic orbital mechanics easily enough, given a pretty enough user interface. I am a legal secretary (absolutely the furthest from aerospace you can go) and don't find myself at all disadvantaged doing Pugachev's Cobras on my first day in Orbiter.

That's your trick to making it look simplified. Pretty interface, fun tutorials :3
 
Last edited:

HarvesteR

Member
Joined
Apr 22, 2008
Messages
386
Reaction score
15
Points
18
I'm not too worried about the specific control mappings for the game... that will be customizable (later)... But just above the control mapping comes the input structuring... A game like EVE online has very different controls than Orbiter, for instance... and no amount of command mapping will approximate them.

Anyhow... I'm kinda leaning towards the idea of interface guidance assistance, as an option for 'easy' difficulty settings... If you plan your flight beforehand, the game can know enough to help you get there... hmm... Maybe some sort of flight planner screen... in which one could set waypoints... might be more useful than the plain game map I had imagined.

Oh, and I played Buzz Aldrin's Race to Space... Man, that game is cool! I love these old DOS games, and the whole space center overview is something I had thought of for my game, but wasn't sure how it would play out... problem solved!!

Well, things are shaping up... Hopefully by the end of the week I'll have a much more solid idea of where this is going :)

Cheers
 

n72.75

Move slow and try not to break too much.
Orbiter Contributor
Addon Developer
Tutorial Publisher
Donator
Joined
Mar 21, 2008
Messages
2,696
Reaction score
1,355
Points
128
Location
Saco, ME
Website
mwhume.space
Preferred Pronouns
he/him
In my opinion simple physics are more complex then complex physics because complex physics rely on simple rules.
 

HarvesteR

Member
Joined
Apr 22, 2008
Messages
386
Reaction score
15
Points
18
That's very true. With real physics (or at least as real as we can get in the game), if you think it can happen, it probably will, unless you are really bad at mental physics ;)

with arcade physics it's always a game of trying different stuff out to see it the game allows you to do it that way or not... personally I really dislike that kind of thing.

Thanks for all the help so far!! I feel I'm really gonna need it when it's time to do all those 'helpful interfaces'... if the players aren't doing the math, that means I am :p

Cheers
 
Top