My company, although not in game development, heavily invests in AI. Not to fire people, mind you, but to make them even better and faster developers (those big gamedev companies, don't invest in AI to fire people as well, they just use it as an excuse for shitty management and its consequences). Hence, I recently finished a course about vibe coding. As funny as it sounds, I am now a certified vibe coder!
I know the power of AI!
I also know what AI vibe coding tools might NOT help with.
You probably remember that some time ago, I decided to go all in on AI. I don't have to learn a language, I said. Two weeks later, I tried to solve a vibe coding task using Rust (the hypest of them all). I saw the result, and I cried. I did not understand a thing. Conclusion: I guess you have to get your hands dirty anyway and learn a language.
So I started going through a shmup tutorial in Rust. Damn, is this fun! The Rust compiler is so helpful, I don't want to vibe code too much, because solving compiler problems in Rust manually can be as fun as learning how to program from scratch. It's as stimulating as navigating a mouse through a game engine's GUI is not. Exactly what I wanted from choosing a game framework!
Of course, the dread of tutorial hell is still close. One thing is to finish a tutorial, the other is to rearrange this knowledge and use it in your projects. But I'll leave that to the moment it comes.
As you probably figured out, the shmup tutorial is what I do manually, but the tasks required for the certificate were all vibe-coded.
Which led me to many conclusions:
Don't do everything in one prompt!
Divide and conquer is still the best approach to projects of all sizes
If you want to create a small website with AI, you can skip all rules
For anything else, all best practices still apply, even more than ever, which sucks if you're a newbie, because the possibility of losing control can be high
When working on a project, many tasks need to be done on the side, using some simple tools that can be run in the command line. LLMs really help in this. Here, rules don’t have to apply as they are nothing more than small projects ;-)
But as for the shmup I'm tutorialing myself in and how it works with Rust, I can say the following:
I noticed (again, I think) that my biggest flaws in game development are math, and the other one is that I don't fully understand how a game works (or it just overwhelms me). But I'm hesitant to return to a game engine. My solution would be to either use a library or... rely more on LLMs?
What I don't understand, I ask Gemini (no particular reason on why I use this one and not ChatGPT or Claude). Once the compiler stops being helpful (rarely) or I just need to understand something more. I like the fact that instead of asking the community and risk all those "skill issue" arguments, I can ask the LLM, which is relatively good at explaining and has surprisingly high social skills!
Rust is a very secure language. And as I learned recently, the biggest advantage is also its biggest flaw. As there's nothing implicit in Rust, and everything needs to be stated; accessing some data can be very... troublesome.

Which sometimes leads me to thinking that maybe some fields are greener - like Lua
, or Odin.But then I think that Odin will require manual memory management, which Rust, in a way, does for me. Not to mention the language being not that heavily covered as different languages I've taken into consideration!Lua has dynamic types and a thing called metatables, which is one of the most WTFest solutions in a programming language I've seen so far…
But, Lua is also mentioned in gamedev related context. Even if there's a Rust engine beneath it, Lua might be the scripting language for programming game logic. I still don't understand how this works together, though. But the language seems so simple and easy, making complex things might get even more complex. Especially when you're like me, and the details of coding a game are so convoluted that you don't know what to ask LLM for.
Am I changing languages again? Well, not necessarily. It is a scripting language used in games, often after all ;-) #CodingExcuse
The funny thing about Lua - using it, you can become a teacher and teach kids how to make games in Love, you can make a game for the PlayDate easily, you can play around in Pico-8 (okay, maybe not, but it's still a possibility!).
Speaking of Lua and vibe coding. A few months ago, one of my favorite programmers on YouTube - The Primeagen - made a vibe coding week to vibe code a tower defense into existence. It was as inspiring as it was worrying. And hilarious because at some point it’s just comedy ;-)
Take a look:
When you're reading this, I'm somewhere in a forest in Poland, resting for a week, cutting myself off from my laptops and consoles.
Sometimes, you just gotta rest!
See you next week!
Congrats! 🎉