As my game neared completion, I decided it was finally time to try it on mobile. I upgraded from Godot 4.3 to 4.4 and went through the often taxing process of reinstalling all the export templates and requirements since I hadn’t used them in a while. After completing that, I installed my 60 FPS game on my device, ready for the first playtest-and my heart sank.
It was completely unplayable.
Everything was tiny: the buttons, the UI, the text, even the enemies. I couldn’t believe how stupid I’d been not to test earlier. What made it worse was that the frame rate had dropped to a miserable 10 - 15 FPS. I dreaded what would happen in later levels when hundreds of enemies appeared on screen at once. I had no idea what I had done wrong but suspected I had overloaded the game loop with too much enemy AI.
It took me an entire day just to recover and gather the will to start fixing things, and about three weeks to get the game back into a playable state. I had to completely rethink the controls because the original four-button layout was horrible to use on a touchscreen. I introduced twin-stick mechanics with direction indicators for movement and weapon aiming for firing. Getting the controls to look and feel right on mobile took days and caused plenty of headaches I won’t bore you with here. Some of the lovely UI layouts that looked great on my computer had to be scrapped entirely because they made no sense on a tiny screen. I also had to ditch parallax entirely and replace with a shader as it just was so glitchy on mobile.
The silver lining in all this pain is that the forced redesigns have actually improved the core gameplay IMHO. The twin-stick combat feels more dynamic and engaging, and the streamlined UI reduces cognitive load, making the game more enjoyable overall.
It never ceases to amaze me how much ‘stuff’ has to be done to complete a game properly. I still have to fix my sounds, which are currently horrendous, do the ‘settings’ screen, reformat some of the other scenes like the highscores table, rejig the difficulty settings and then finally decide how to do the tutorials.
I think I have another 2 months of work left but the discovery of the horror of my game on mobile was a shock I was not prepared for. It nearly completely derailed me and for a while I even blamed Godot for the lousy framerate. Needless to say it was not Godot, it was me and my stupidity for not testing earlier. Another mistake learned the hard way. But this mistake really hurt, I nearly gave up and walked away. Glad I didn’t but what a journey this is turning out to be. So much heartache.
So I wanted to share that and ask if you have had any similar experiences? And what saved your project from disaster? I’d love to hear any war stories and lessons learned - maybe you can help save me from further disasters in the future.