Recently I’ve finished a little Space Invaders (the 1978 classic game) clone in Godot 4, an interesting short-project I took in order to develop my skills with a new tool I’m interest in. But before talking about the Godot game engine, the original game I based my project on, or my adventure trying to recreate it using my new tool, I’d like to have a short say about my relationship as a game programmer with the tools that allow me to create those games.
My first steps on making games started back in 2008, I started fiddling with the Game Maker engine, a simple game engine designed to create game projects with little to no code. I enjoyed using it a lot, and had lots of fun breaking the default projects that came with the free version of it. I also started learning the basics of programming with some friends at school, we tried to figure the fundaments of C++ and Java with whatever resource we had (the year was 2008 so youtube was not that resourceful). At the time, (and for a long time) both general programming and game programming became an on-and-off thing for me. After that, years went by until I had a serious try again at game design or programming.
I remember making some projects in the meantime, at the end of high-school I reunited with 2 other friends and trying to design and program a game, we were pretty serious with the whole idea of making it come true, we had some nice discussions on how to move forward with it, what we would need, many many ideas. We never actually went through, but it was a spark and actually broke a 5 year hiatus on learning game dev.
One of the reasons I went into an engineering course the next year, was learning a bit more of programming so I could use on my personal projects, even though the last time I thought of being a professional game developer was back when I started learning programming. This time, despite learning only really basic concepts, since engineering courses study much more than programming I actually went much deeper than the first time I started learning programming by myself. It was a much more structured approach than just reading through what felt like gibberish and trying to make a game out of it.
I liked programming and game development so much, that years later, in 2016 I changed from my engineering course to an IT course, which is when I started to study programming really deeply. I went from barely understanding arrays and pointers to creating more complex and fun algorithms, data structures and so on. The course structure was really rigid, so even though I went in it 99.9% motivated by taking the classes in game development I couldn’t attend to the Game Engine classes, and sticked to the Math and development ones for the first 2 years, while making some Unity tutorials on Udemy.
I actually watched a whole lot of tutorials at this time, following step by step the videos in order to understand better the tool. Actually, I watched so much of them, that when I matched the pre-requisite subjects for attending to the Game Development and Engine courses I wanted so much when I got into the course, they felt like yet another introduction, and I ended up not taking them, I signed for more math and algorithms courses instead.
While making lots and lots of Unity tutorials, I didn’t felt ready to take on my own projects. I made a lot of Game Jam projects with friends I’ve met in the course that were also interested in game development. I’d also help on college projects from my university, but always on the game design side of things, never on programming. I liked understanding what engines were capable of, but was still stuck on the following steps stage of things (we can totally call it a tutorial hell). I was more interested in the academic side of programming, so the on and off thing with gamedev was closer to an off (or maybe a very casual hobby) than an on. During this time I participated on 3 game jams and 2 game project college.
In 2020, I finished my bachelor course. By that time I was participating much less on game projects and game jams, I was fully focused on creating articles and boosting my academic production on Computer Science. But at this time went the quarantine, and between staying at home, finding a programming job and living my life away from college, learning web development took priority in my life, and I felt in love with it (I’m still currently working with it). I really enjoy the product driven side of it, and the way it drives me to get things done.
(Coming soon…. I will also split it in more than one post, thanks for reading ^^)