I’ve ‘made’ planes and helicopters in the past through heavily editing older systems, and adding onto them. I’ve never really made these systems from the ground up, and as a result, they can be janky, and when I try to make them from the ground up, I run into a lot of issues I don’t understand.
When trying to make a plane, I’ve had difficulty trying to determine if it’s best to run general plane movements through the client or server; I know running it through the client is best for fluidity, but I’ve had issues with a plane system a developer of mine made that use this method. When it was destroyed server-side by another player, this didn’t register on the pilot’s client and they continue to fly around.
I’ve made them server-sided, but the movement was NOT as fluid, which I know relates to the look vector of a BodyGyro Cframe in its parent part.
In both, I’ve had issues trying to check for changes in the player’s movement (I would have this done via checking the player’s mouse movements); for example, if I wanted to run a loop to constantly check it, it would crash my Studio. The system built by one of my developers did not have this issue, and it used the same thing. Having it run by events (Mouse.Moved:Connect) yielded issues with fluidity, such as when the plane was pointed at an angle, the plane would continue to fly in a straight line. This really screwed up the plane banking system I had that would angle the plane along the x-axis depending on your mouse, which was really cool…
For helicopters, I have dreamed about making a system like one seen in this game: 🚀 Starship Shooters - Roblox, where using the basic player controls A) makes it cross-platform friendly and B) has the nice helicopter banking to it.
Obviously, I can use kits or hire someone but I’m tired of relying on external sources for these things when my games are heavily reliant on aerial vehicles. I want to figure out how to do it myself!