Joystick Flight Control Suggestions? (OpenGL flight sim, etc.)

I’ve been working on what is more or less a flight-sim, and have been playing around with the flight control, with various degrees of success. If anyone has any words of wisdom in this area, I’d be happy to hear them. I’m hoping for something that works very well, with the ease-of-use of the old “Rogue Squadron” as a reasonable benchmark.

So far, I’ve tried a physically-accurate approach for the player’s ship, with a camera that tracks lazily behind the player. This looks pretty good, but is surprisingly a little difficult to control (free flying is fine, but attempting to aim at anything is a little tough).

Next, if I have the camera rigidly locked behind the player’s ship, things are better, but it kinda sucks to always see the back of the player stuck in the middle of the screen (doesn’t really have the same sense of motion and freedom as when the camera tracks lazily behind).

Finally, I tried throwing out the physical accuracy and had the ship follow the camera. This works well, since the player’s input is precisely linked to the camera view, allowing for really easy and accurate aiming. As mentioned, the physics are bogus though, since I have the ship moving sideways or vertically to track into position, but this is just a game, after all. The only downside is that I currently have some visible jitter due to variations in the framerate, and the combination of motion of the camera and motion of the ship relative to the camera. I can certainly try to average that out though, so no worries.

Anyway-- has anyone out there got any suggestions on other approaches to this?

-Roy

have you tried to attch the aim rigidly to the ship, and then adding lag
variables to your glRotate and glTranslate calls?On Wednesday 10 March 2004 8:15 am, Roy Wood wrote:

I’ve been working on what is more or less a flight-sim, and have been
playing around with the flight control, with various degrees of success.
If anyone has any words of wisdom in this area, I’d be happy to hear them.
I’m hoping for something that works very well, with the ease-of-use of the
old “Rogue Squadron” as a reasonable benchmark.

So far, I’ve tried a physically-accurate approach for the player’s ship,
with a camera that tracks lazily behind the player. This looks pretty
good, but is surprisingly a little difficult to control (free flying is
fine, but attempting to aim at anything is a little tough).

Next, if I have the camera rigidly locked behind the player’s ship, things
are better, but it kinda sucks to always see the back of the player stuck
in the middle of the screen (doesn’t really have the same sense of motion
and freedom as when the camera tracks lazily behind).

Finally, I tried throwing out the physical accuracy and had the ship follow
the camera. This works well, since the player’s input is precisely linked
to the camera view, allowing for really easy and accurate aiming. As
mentioned, the physics are bogus though, since I have the ship moving
sideways or vertically to track into position, but this is just a game,
after all. The only downside is that I currently have some visible jitter
due to variations in the framerate, and the combination of motion of the
camera and motion of the ship relative to the camera. I can certainly try
to average that out though, so no worries.

Anyway-- has anyone out there got any suggestions on other approaches to
this?

-Roy


SDL mailing list
SDL at libsdl.org
http://www.libsdl.org/mailman/listinfo/sdl


"They that can give up essential liberty to obtain a little temporary safety
deserve neither liberty nor safety. "
–Benjamin Franklin

Yup-- that’s the first approach I took. The crosshairs were always located along the forward vector of the player’s ship, with the camera lazily tracking into place behind the ship as its orientation changed (net effect is the same as you suggest with “lag” variables-- at least if I understand you correctly). Physically, it was accurate, it looked pretty cool, but it was kind of difficult to control very accurately. You’d tend to oversteer all the time, since the camera lagged behind the ship. :frowning:

-Roy> have you tried to attch the aim rigidly to the ship, and then adding lag

variables to your glRotate and glTranslate calls?

On Wednesday 10 March 2004 8:15 am, Roy Wood wrote:

I’ve been working on what is more or less a flight-sim, and have been
playing around with the flight control, with various degrees of success.
If anyone has any words of wisdom in this area, I’d be happy to hear them.
I’m hoping for something that works very well, with the ease-of-use of the
old “Rogue Squadron” as a reasonable benchmark.

So far, I’ve tried a physically-accurate approach for the player’s ship,
with a camera that tracks lazily behind the player. This looks pretty
good, but is surprisingly a little difficult to control (free flying is
fine, but attempting to aim at anything is a little tough).

Next, if I have the camera rigidly locked behind the player’s ship, things
are better, but it kinda sucks to always see the back of the player stuck
in the middle of the screen (doesn’t really have the same sense of motion
and freedom as when the camera tracks lazily behind).

Finally, I tried throwing out the physical accuracy and had the ship follow
the camera. This works well, since the player’s input is precisely linked
to the camera view, allowing for really easy and accurate aiming. As
mentioned, the physics are bogus though, since I have the ship moving
sideways or vertically to track into position, but this is just a game,
after all. The only downside is that I currently have some visible jitter
due to variations in the framerate, and the combination of motion of the
camera and motion of the ship relative to the camera. I can certainly try
to average that out though, so no worries.