It has been a couple of days since my first post, and besides all the day-to-day things I had to do over the weekend, I took the time to think about what projects I actually want to build this year, or at least some of them. The idea for this blog is simple: I’ll take one project at a time, and will be posting weekly (on Sundays most likely) about my progress and the things I’m learning in the process.
As I mentioned in my last post, I started my journey into Software Engineering through game development, and since I remember enjoying that area a lot, I’ve decided to build a game. It will be a simple one. I haven’t done any game development in a while, and to be realistic, due to the current situation in the software engineering world, I am rusty, so I’ve decided to take things slowly, starting with small projects and growing from there. It is a bit frustrating doing things from the very basics, but it is still the best way to rebuild a solid foundation and regain some confidence in my skills.
The project
The game I am building is one I already built in the past, prior to all the AI noise that has taken over the industry. It is a game I built for a challenge during my college years when I was studying Game Development, and back in the day it took me less than 30 minutes to build from start to finish, art included (that was the challenge). I built it using the Unity game engine and the game loop is simple:
You have three buttons on the screen:
- One with a triangle
- One with a square
- One with a circle
Every x seconds, a new shape spawns from the right side of the screen and starts moving to the left side, where your “character” is. Before it reaches you, you need to click on the button that matches that shape, which fires a “bullet” of the same shape from your side. On collision, both shapes are destroyed if they match, otherwise only your bullet gets destroyed. If an enemy reaches your character, you lose one life. Every time you destroy an enemy, the spawn rate and the enemy speed increases, making the game harder. The player loses after three lives are gone.
I don’t have access to the old project anymore, but it looked something like this:

As you can imagine, this game is fairly simple to build, however it still has some pieces to it: shape spawning, shape randomising without excessive repetition for the enemies, difficulty progression, etc., making it valuable and a good starting point for my journey, in my opinion.
The twist
As I said, back when I built this game I used the Unity game engine, the reason? It was the only thing I really knew how to use, and the goal was to finish the game as fast as possible. Now that the goal has shifted and what I actually care about is learning something new and regaining some confidence on my skills, I will be building the game without a full-blown engine. To make things more interesting: I decided to randomise the programming language I am going to build it in, so let’s spin the wheel, shall we?

So Lua it is. I am lucky with this one, the language is widely used in game development, and NeoVim is configured in Lua, so I am a bit familiar with the syntax.
I am really excited about this project. It is a small project, probably not impressive at all, but it’s something I’ve been wantint to do in a long timeand, after all, it’s mine to figure out, and that alone makes it exciting. Next week I’ll let you know how my journey is going. Thanks for reading.