My first game using Godot — #Devlog2: Descent into Madness

Bobby Robin
3 min readJan 21, 2024

No one said it better than Thanos: “Reality is often disappointing.” As much as I like open-source software, I have to admit that Godot does have its Achilles heel. And I’m not just talking about the virtually non-existent asset store or the substandard text editor with poor autocomplete features, but more substantial issues like terrible performance on mobile devices and the complete lack of support on certain problems. Written down below are all the dumb mistakes I’ve made so that you don’t have to.

After about a month of fine-tuning the controls, I came to a heart-wrenching realization that my game was completely unplayable. As easy as it seemed to me, others found the swipe and drag controls to be too confusing. Without giving it a moment’s thought I quickly concluded that everyone else was just too dumb to play the game and decided to pivot to a virtual joystick to idiot-proof the controls, which meant throwing away almost all the work that I’d done so far. In retrospect, I could have spared myself a lot of pain if I just collected feedback more often.

Virtual Joystick controls

Juggling sessions between doodling assets for the game and churning out bug-ridden code has been difficult, to say the least. So I decided to pair up with our favorite digital overlord — ChatGPT. In a perfect world, I could copy the perfect code fabricated from thin air and paste it into my over-engineered game and everything would just work flawlessly. Unfortunately, in my not-so-perfect world, the debugging console would flood with error text, slowly dissolving my sanity while trying to debug before completely abandoning it and coding it myself from scratch. I would recommend copy-pasting code that you don’t understand, to anyone who loves the idea of spending the weekend troubleshooting why your character just randomly launched itself to space.

The secret ingredient is “particles”.

Another specific pain point was with shaders. As clueless as I am with the shader language in Godot, I managed to cobble together a script to make a portal.

Portal generated with shader

It worked like a charm on my computer but the moment I tried it on my phone, the controls went haywire, the fps tanked and the game was nothing short of a trainwreck. The moral of the story- If you’re building for mobile stay away from CPU-intensive shaders like the plague.

In the end, it all boils down to the fact that game dev is just difficult and it has nothing to do with the engine. A lot of the process just happens through trial and error, setting progress at a glacial pace.

Despite the shortcomings, the fledgling engine keeps chugging along, taking everything that I can throw at it.