Children of Godot

You ever realize you've been wasting your time? I do sometimes. But it takes a while to reach that point. We all delude ourselves with fantasies, that all the cost we sunk into something is worth it, no matter what. But then the cracks start appearing, surrounding your vision with all you've refused to acknowledge. And eventually, you're unable to ignore it.

I remember when I first started using the engine. I was delighted. It ran so much faster than Unity, it made more sense to use, you could even arrange text so well. It's not wonder I made so many games with it until 2023. It was a tool for me, I thought. It respected me.

But it became hard to ignore the flaws that showed up, one by one. Workflows would be tiresome, documentation poor, and making it run on the web was dreadful. I had never seen something so slow! Flash games by comparison felt like being treated to a supercomputer. I tried to convince myself these were merely growing pains of a project that was starting to pick up in popularity. But it was becoming hard to keep it up. I began to express my discontent to many, including the people I worked with on my games. I looked schizophrenic, but within the madness was very much reason.

In truth, my history with programming was strange compared to any of my gamedev peers. I first started learning it with Python, as I wanted to eventually get into making stuff for Space Station 13 and saw that BYOND, the game's engine, used a similar language. Those were strange times, where I didn't really understand what I was doing, but I eventually persevered enough to start looking for other languages that could maybe help me make a game. After all, I had learned to make things using Clickteam Fusion, but I knew there were more options out there. I am quite stubborn and I know when there is a different method, one that could possibly provide me better results, I will try to pursue it. My programming peers would mock me for ever believing I could program a game with a engine I very well made.

Maybe their worries were sometimes well-placed, and I certainly had a rather annoying personality back then. Angry teens are cheaper by the dozen on the world wide web. It took a while for me to really mellow out into who I am now, but by 2019 I was much nicer than before. But I never stopped thinking about my ideas. I would constantly make project after project to attempt to make it happen, and every time, I learned a bit more. I even put out a little game! It was little, yes, but I made it using SDL2 and darn it, it's 2024 and I am still a little proud of what I managed to accomplish so long ago.

I still remember when I'd be so afraid of a little line of Lua code back in my Roblox days more than half a decade ago. Now I knew the language made in my own country well enough I even made a few games using PICO-8. What a lovely fantasy game console it was, and I believe it influenced greatly how I later approached my engine ideas, including my recent most successful one.

All this knowledge made me see things however. Sometimes Godot would suddenly crash just because I fiddled around with multi-threaded presentation. Sometimes texture memory would leak for no reason. Sometimes GDScript arrays would inexplicably mirror one another.

I think where I really had enough of everything going on was when I tried to make a pull request addressing an issue with one of the blend modes. It was ignored up until I got told that they couldn't merge it because of some silly compatibility excuses. Same nonsense for when I made another one to add in a vertex interpolation type that was MISSING since a while. Enough is enough, I said. I closed both of them and slowly got to work on something of my own after I released one last game using the engine.

It is ludicrous that this is what passes for acceptable within the gamedev community. We are complacent idiots pushed into engines that we have no access to code to, or when it's available, it's merely "available" like Unreal Engine or a complete labyrinth like Godot Engine. We are slaves to the whims of corporations and/or figureheads because it is apparently lost knowledge to just develop your own tools. Godot developers will tell you to make a PR if you want something done about an issue. I did it. Twice. It is apparently too much to ask to add something some miniscule to the engine. All while they give priority to someone more popular doing something similar. Everyone is equal among Godot contributors, but some are more equal than others.

No surprise then that I've managed to make something on my own that is beginning to surpass Godot in so many aspects. My "Gunner Engine" requires no downloads, has a binary almost a hundred times smaller than Godot's editor, uses a language people actually know (Lua), and guess what? Every Gunner game is all you need to start making one. All the magic powering the game you like is in one folder you can go in and edit as you desire. And you'll see the changes right away, too. If you want something done RIGHT, you do it yourself!

It doesn't have all the nice little things about Godot though, but who cares? Do you really need almost a gigabyte or more's worth just to make a little game? It's not about how games "used to be made", as much as we can learn a thing or two from older methods. It's about how we can make them with what we have today. And we have a LOT! We are orders of magnitude quicker than 2 decades ago. So why then does Godot still stutter about doing scene loading? HINT: It's not an asynchronous texture load bottleneck.

Maybe it's something that'll be mainly useful only to me, but that's the beauty of it. I think we could use more opinionated tools! I may question how you made something but I'll respect that you went through the effort of making it so you could have the workflow YOU desire. When you make something as general as Godot that tries to compete with some giant proprietary junker like Unity (Godot devs will say it's not competing with Unity then proceed to make comparisons all the time, curious!) you'll try to appease everyone and end up appeasing no one in particular. (look at how its 3D offerings have been recieved even after years...)

When you make something that caters to a field you enjoy, that gives you the flexibility you need, and works as quick as you can manage, maybe it'll not be that popular but it'll let you have fun doing what you love the way you want. There is a toxic tendency globally to dread the thought of making something that isn't "universally appealing". To tune down the dials and make things more generic and docile. And yet there is nothing quite as rewarding as making something worthy of thought, or that is simply fun between your friends or some group. Making someone close to you happy is priceless.

Happy Valentine's Day!

Return Home!