Feedback on demo plane controller

Hello,
I would like feedback on a plane controller demo I’m working on for another game.

Link to the game: Plane Demo - WIP - Roblox

Picture:

Controls can be found in the game’s description

So far it has:

  • Mouse controlled steering
  • Banking when turning
  • Increasing and decreasing speed when pitching up/down
  • Throttle
  • Free look

Planned Mechanics:

  • crashing (currently it has no collision)
  • manual take off + landing

Please note this is just a prototype, so all graphics/sound/UI is just a placeholder.
Please respond with any feedback/suggestions/bugs

Thank you!

Edit: Crashing and respawning has been added.

2 Likes

It still needs a lot of work yet to call it a plane controller. The controls seem to be working okay. However, there is no stall mechanism, meaning I can keep climbing vertically without speed impacting my flight. Maneuvering the plane in general feels a bit harsh. Definitely a step in the right direction though. It just needs a bit more work.

1 Like

Thanks for the feedback.

Regarding the stalling: The system currently uses body gyros plus body velocities, other games using a similar system just stop the body velocity from working once the plane reaches the stall threshold, causing the whole model to just fall from gravity with no forwards movement. I didn’t want to go about it that way. I will add stalling though based on your feedback, maybe just forcing the gyro down when a threshold is met, and preventing the player manoeuvring until they gain enough speed to break out of the stall.
However it should also be noted the game I’m making the plane for is more arcade than realism, so I’m not sure if stalling would fit (my bad for not mentioning that)

As for “manoeuvring the plane in general feels a bit harsh” could you please elaborate a bit more? Are you referring to the mouse control, the responsiveness etc.

Thanks again for taking the time to play the demo!

What are the steps for manually landing the plane? Apologies if I am missing something.

1 Like

I can show you an example of what I mean here. Assuming you have used a vector-based control system for the mouse, and you draw out the vector physically on the screen:


For instance, if your mouse is located on the first quartile, you would be climbing up and banking to the right. If it’s located on the X axis, you would only be banking to the left or right, and if it is touching the Y axis, you are pulling up or down. If it’s on 0 you stay on “cruise” mode.

My point here is, change in banking angles and pitch isn’t done in a linear way. When altering Physics values, be sure to implement an EaseIn-EaseOut solution to closely resemble real life. This is done due to the altering of aerodynamics in the plane body and for that to slowly come into effect.

To bring another example, say you quickly move your mouse from the first to the second quartile. Change of banking direction is done almost immediately which is unrealistic, even for arcade standards. That will even add a bit more challenge for the players instead of a simple pull-up/pull-down, turn left/turn right mechanism.

1 Like

Sorry for the late response.
Landing the plane currently isn’t implemented. It’s something I would like to add, but given the plane’s current handling, I don’t think it’s possible right now.

1 Like

Currently mouse control is done through mouse.hit.position, but I’ll change it to getting the screen coordinates as having the Z axis is probably pointless, and if anything may be causing some issues. Also screen coordinates just make more sense.

Ill change the way the body gyro’s cframe is altered (or just tweak the max torque values) to try and make the manoeuvring less linear.

Thanks again for the feedback.

1 Like