navi homePPSaboutscreenshotsdownloaddevelopmentforum

Opened 10 years ago

Last modified 5 years ago

#309 new task

Spaceship steering and behaviour

Reported by: rgrieder Owned by:
Priority: major Milestone: Version 0.2 Codename: Bellatrix
Component: Control Version: 0.2.0
Keywords: PPS Cc:
Referenced By: References:

Description (last modified by rgrieder)

When the physics features were merged with the new Engine feature, a conflict has arisen that still exists. The main problem is the fact you want to steer a spaceship quite directly but a physics engine doesn't like that very much.
Another thing that needs some thinking: The engine class works with local velocities. So when you accelerate straight forward and then yaw by ninety degrees, the ship will stop abruptly because the lateral speed is limited at a lower level than longitudinal speed.

This could be sorted out by calculating the maximum thrust in function of the damping and maximum speed. But I guess that requires some glace at the Bullet code to see how damping is realised (most probably a linear velocity dependent factor in the differential equation which makes damping exponential).

The angular part is a little bit trickier. From my observations it is best to have a direct mapping of the mouse position to the orientation. Applying this directly to a ship can result in sudden movements (esp. if you look at another player…). I therefore suggest to make the camera direct and the spaceship adjust to the camera position. From what I know about the current implementation of the camera handling, this is not very easy to be done (other way round is not a problem).
As an example, this kind of steering is used in Unreal Tournament with vehicles.

Change History (8)

comment:1 Changed 10 years ago by bknecht

I see we have problems implementing fake physics in space :D.

The spaceship steering is probably the closest point to actual gameplay. Of course we have to ask ourselves what makes sense the most. The suggested method, similar to UT may be very fitting for some vehicles/spaceships and then for other usage totally unpractical.

However having more than one steering method and if they are properly implemented is a very good thing to have.

comment:2 Changed 10 years ago by rgrieder

Double ticket: #327

comment:3 Changed 10 years ago by rgrieder

  • Summary changed from Spaceship steering to Spaceship steering and behaviour

comment:4 Changed 10 years ago by rgrieder

Double ticket issue resolve: Title problem.

comment:5 Changed 9 years ago by rgrieder

  • Description modified (diff)

comment:6 Changed 9 years ago by scheusso

  • Owner changed from nobody to wirthmi

comment:7 Changed 9 years ago by scheusso

  • Keywords PPS added
  • Owner wirthmi deleted

wirthmi implemented a Freelancer-like controller. now it is time to add more features and niceify the existing code ;)

comment:8 Changed 5 years ago by jo

Note: See TracTickets for help on using tickets.