My development group recently released a new game, and it’s been performing pretty well recently. The only real complaint I have heard about it was spawn killing/camping (which I believe to have fixed), and mobile controls for the planes.
Personally, I think the mobile controls are “good enough” for the game, but that’s from my experience. I will say, occasionally, they don’t seem to work very well, and they will shift a bit to the right and be uncontrollable before they crash and blow up. This is rare from my experience on mobile, but more than a few players have complained about it.
For reference, here are the plane’s mobile controls in action. You tap on your screen to change the direction/orientation of the plane, and you can also use your mobile thumbstick for this too. However, the thumbstick isn’t always the best, and if you tap the buttons on the right of the screen for things like the machine guns etc., it can screw with your direction.
In Military Tycoon, their controls for mobile are based entirely on the thumbstick for changing the direction/orientation of the planes, as seen in this video.
I am looking for information on how to use the ThumbStick on mobile for plane control, like seen in Military Tycoon
For reference, here is (some) of the code used for the controls for the planes with my plane system:
local val = script:WaitForChild("plane") local connection = val.Value local gyro = engine:WaitForChild("BodyGyro") local engine = connection:WaitForChild("Engine") local USINS=game:getService("UserInputService") local clickMove = USINS.TouchEnabled local Mouse = player:GetMouse() local Down = false local LastHit if clickMove then Mouse.Button1Down:connect(function() if uiDown == false then Down = true LastHit = Mouse.Hit while Down do LastHit = Mouse.Hit wait() end end end) Mouse.Button1Up:connect(function() Down = false end) end game["Run Service"].RenderStepped:Connect(function(step) local BankAngle = GetBankAngle(Mouse) if clickMove then ---- this is for mobile. its essentially just a tap to change your plane's direction but... doesn't seem to work too well for a lot of players. I personally rarely have issues with it gyro.CFrame = CFrame.new(engine.Position,clickMove and (LastHit and LastHit.Position) or Mouse.Hit.Position) --Camera.CFrame else ------ this is for PC and XBOX controls, where we bank the plane based on their cursor, etc gyro.cframe = (Mouse.Hit*CFrame.Angles(0,0,BankAngle)) end end)