Jump to content

  • Log In with Google      Sign In   
  • Create Account

Physics in zero G


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
11 replies to this topic

#1 NewDeal   Members   -  Reputation: 134

Like
Likes
Like

Posted 10 July 2001 - 11:41 AM

Im working on a 3D space-simulator (combat) in style with X-Wing and Privateer. Im at the part where i need to implement some of the actual simulation. My question is: Should i implement the physics as they would be in real life ie Force, torque and so on? Or, would it be better if i invented som pseudo-physics to obtain a more arcade-like feel? What do you think Thanks in advance

Sponsor:

#2 Dean Harding   Members   -  Reputation: 546

Like
Likes
Like

Posted 10 July 2001 - 12:00 PM

Space is very boring in real life. Almost every one who does anything to do with space (movies, games, etc) does it "wrong". Accelerating a 1000 ton spaceship even a small amount takes hours, and deccelerating takes even longer (because of crappy forward thrusters). You can''t hear anything in space, so whenever you fly past a giant space station you don''t hear a deep rumbling sound, or whenever a fighter flies over your head you don''t hear it''s screaming engines.

My advice is just get it "feel right". You won''t want to get it "right". If that means doing forces and torques and whatnot then that''s great, but it still won''t be accurate. You could just do a whole bunch of hacks and get it to feel the same as well, but maybe the force/torque idea is a little more generic and it won''t be as hard to add new things into the game (e.g. you could make a nearby explosions push your ship around or something)

Just some random thoughts...


War Worlds - A 3D Real-Time Strategy game in development.

#3 Anonymous Poster_Anonymous Poster_*   Guests   -  Reputation:

Likes

Posted 10 July 2001 - 07:28 PM

oh and you can''t see lazers in space, since there is no air for them to heat up. Yep, space is boring.

#4 smitty1276   Members   -  Reputation: 560

Like
Likes
Like

Posted 10 July 2001 - 09:39 PM

Another thing that always gets me in movies... is the EXPLOSIONS! In space, things COULD exlode. BUT, they wouldn''t be big, slow-motion, fiery explosions. The flame would burn all of the oxygen and die out almost instantly, and all of the debris would continue in motion at the velocity (direction AND speed) at which it moved immediately after the explosion (assuming the debris didn''t collide with other debris).

It would be so undramatic that it might be funny.

#5 grhodes_at_work   Moderators   -  Reputation: 1361

Like
Likes
Like

Posted 11 July 2001 - 04:51 AM

My opinion is that real-life-like physics makes for a more fun game than arcade-style motion. And by real-life-like I mean that objects do follow the Newton-Euler equations of motion (or a subset of those equations), just with time accelerated so it doesn''t take hours to do simple maneuvers. This is of course similar to what games like Privateer and Independence War do.

The one thing you might consider leaving out though is fully 3D effects such as gyroscopic precession. I''d consider just simulating all the motion directions separately. So you''d have uncoupled equations for translation and rotation about x (2 equations), translation and rotation about y (2 equations), translation and rotation about z (2 equations) for 6 total equations. The way to do this is to have an inertia tensor that is diagonal, i.e., no non-zero off-diagonal terms. I have not tried this so it might not feel right, but I do believe that the gyroscopic effects would confuse the player of a space combat game, even though they would be interesting and realistic.

You may also want to ignore gravity effects of planetary bodies, or at least only apply the effect of the *closest* body.

These suggestions may make the game play easier, and they can also help you avoid numerical stability issues.


Graham Rhodes
Senior Scientist
Applied Research Associates, Inc.

#6 NewDeal   Members   -  Reputation: 134

Like
Likes
Like

Posted 11 July 2001 - 08:10 AM

Thanks for your responses

I got a basic(needs some adjustment) model implemented now. I choose not to make it too realistic but still not unrealistic. I kinda imagine a flight-computer taking care of the more annoying parts of steering in zero-g .

The ship contionuosly tries to stabilize roll, yaw and pitch in respect to the flightvector(direction of movement). Instead of controlling thrust for propulsion the player will control the desired speed. The ship will then try to match that speed as fast as the equipped thrusters allows. And so on...

Thought you might like to know what i came up with .

#7 Strife   Members   -  Reputation: 374

Like
Likes
Like

Posted 11 July 2001 - 09:34 AM

Here''s what I think:

Make it somewhate realistic, but at the same time, do not make it so realistic that it''ll make the game extremely difficult/boring/time-consuming/etc. such that many people would quit playing it. For example, make acceleration more like it would be in space (e.g., if you stop your engines, you keep going), but not so much that it takes forever to accelerate the ship.

In short, who''s gonna really know that your game isn''t accurate? If you answered rocket scientists or astrophysicists to the above question, you are correct


Got Slack?
Commander M

#8 johnb   Members   -  Reputation: 347

Like
Likes
Like

Posted 11 July 2001 - 09:33 PM


> The one thing you might consider leaving out though is fully
> 3D effects such as gyroscopic precession. I''d consider just
> simulating all the motion directions separately. So you''d have
> uncoupled equations for translation and rotation about x (2
> equations), translation and rotation about y (2 equations),
> translation and rotation about z (2 equations) for 6 total >
> equations.

If you uncouple rotational motion it looks really weird. E.g. if you do

while (1)
{
SetObjRotFromEulerAnlges(xrot += delta, yrot += delta, zrot+= delta)
...
}

it rotates like nothing in nature and is immediately noticable.

> The way to do this is to have an inertia tensor that is
> diagonal, i.e., no non-zero off-diagonal terms.

All inertia tensor matrices can be diagonalised, i.e. they are all diagonal with the right choice of axes (the principal axes of the object).

The main simplification related to inertia tensors is if the inertia tensor is a multiple of the identity matrix, i.e. it is diagonal with the diagonal elements the same, then it causes no precession. Objects like golf balls and dice are like this.

But I think gyroscopic effects are good: we''re very used to recognising them in real life E.g. watching a football in flight, throwing a floppy disk to a collegue across a room, or balancing and steering a bicycle, and a world without them would seem very strange.

#9 grhodes_at_work   Moderators   -  Reputation: 1361

Like
Likes
Like

Posted 12 July 2001 - 04:10 AM

quote:
Original post by johnb
If you uncouple rotational motion it looks really weird. E.g. if you do

while (1)
{
SetObjRotFromEulerAnlges(xrot += delta, yrot += delta, zrot+= delta)
...
}

it rotates like nothing in nature and is immediately noticable.



I was afraid of that!

> The way to do this is to have an inertia tensor that is
> diagonal, i.e., no non-zero off-diagonal terms.

quote:
Original post by johnb
But I think gyroscopic effects are good: we''re very used to recognising them in real life E.g. watching a football in flight, throwing a floppy disk to a collegue across a room, or balancing and steering a bicycle, and a world without them would seem very strange.


Yeah, that''s true of course. But I do think that simulating a computer-controlled stabilization (as NewDeal says he''s trying to do) will make it easier to control for the player. (On the other hand, it could make for cool out-of-control animations if you get blasted by a force that sets you into a wobbly motion like a poorly thrown football!


Graham Rhodes
Senior Scientist
Applied Research Associates, Inc.

#10 Wavinator   Moderators   -  Reputation: 1825

Like
Likes
Like

Posted 15 July 2001 - 06:01 PM

Just some food for thought:

One of the old Elite games (the 3rd, I think) implemented realistic physics, including inertia. I''m not sure if this was strictly a UI issue, but the game had a disasterous combat model. Beam weapons had a near instantaneous effect, so you couldn''t travel at low speeds (where the ship was more controllable). Yet high velocity combat was the equivalent of jousting, and by the time you found your target, you were often already flailing past it.

I''d say, unless you''re going to deck the player out with all sorts of predictive aids like NASA regularly uses to determine position and velocity over time, stick with a more arcade feel. X-Wing and Privateer thrive because they fly somewhat like aircraft, which users can relate to.

--------------------
Just waiting for the mothership...

#11 phueppl1   Members   -  Reputation: 122

Like
Likes
Like

Posted 15 July 2001 - 06:14 PM

We used xrot += delta; yrot += delta; zrot += delta; for our first engine demo script... hehe.. I got dizzy after watching it for 10 minutes.. grml grml... ( delta was a constant value so it just rotated somewhat around... very strange..)
cya,
Phil
btw: Americans got a verrry strange Keyboard... Stayin'' in California for 5 more weeks :o)



#12 LOWORBIT   Members   -  Reputation: 122

Like
Likes
Like

Posted 18 July 2001 - 08:32 AM

A game that managed to get the balance between aracade and relife as I see it, correct was Freespace. It had sound, you didn''t instantly getup to speed, but it didn''t take forever either. While the explosions were more then normal airless explosions they did create debris fields. Go pick up the original freespace for like 10 bucks and get a feel for that.

-Scott




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS