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)