Make Programming Great Again
Create time for the things that interest you. Get lost exploring your curiousity
I am getting tired of the corporate grind and would honestly just love to take a gap year. Don’t get my wrong, I love my team and love working on software for big tech. However, many times it can be exhausting and I wish I could just turn it off. Wouldn’t it be nice if we get paid while we sleep? Or better yet - get paid to work on whatever we derive pleasure from? This is where side projects can bridge the gap and make programming fun again.
I got interested in programming and art because of games when I was young. I owned Sega, GameCube and all the PlayStations except PlayStation 2. Memories of Mortal Kombat cartridges, Konami’s Winning Eleven and Metal Gear Solid brings back so much joy. Unfortunately, in my later years as an adult, I lost the passion for sitting long hours to play video games. This is partly because I played FIFA mostly with friends online and the game is just horrendous and keeps getting worse every year. In addition, it has also been a while I found a game that truly made me escape. Games like Metal Gear Solid and Uncharted series will forever be etched in my heart. A true masterpiece. I was a kid all over again.
I really miss that feeling. I found in the course of my career that this feeling comes from following your curiousity and just not caring so much about the outcome (or the impact). It comes from exploring your interests and not caring whether it fails or succeeds. You know you’re doing something you enjoy when you lose track of time. Very different goal from writing software or working on a project in big tech. Anyways, I decided to get back to why I started programming in the first place - making games. Well, kinda. To be honest, I think the goal is not really to make games but to learn how games are made. Even though I do not play video games that often anymore, I am always fascinated about the entire process. I find myself checking for behind-the-scenes interviews with game designers and programmers on the process.
I learned the basics of game engines earlier this year so that is a good starting point. Making a simple game engine for simple games will get my feet wet. I want to abstain from using game engines like Godot and Unreal Engine for now. Since the goal is to learn the internals, it’s best to create from scratch but cheat along the way. I will still use third-party libraries to speed up the process. Eventually though, I really want to learn Unreal Engine. Not for making games but for virtual production combining live-action footage with 3D rendered environments. As you may already know, I am also into filmmaking in my free time. I am a man of many passions. It’s the only way I can live a full and rich life without getting bored.
I learn best from books and I have identified the following books that have a lot of substance:
- Game Programming Algorithms and Techniques: A Platform-Agnostic Approach: I like that this teaches the techniques found in every game without focusing on a specific library
- C++ Game Animation Programming: This might be advanced and focuses on 3D
- Beginning C++ Game Programming: I forgot to add that I will do all this in C++ so I need a quick refresher while working on the engine. I haven’t used C++ professionally since I started working on cloud based services.
That’s all for now. The key takeaway here is to always create time for your interests. Let’s make programming great again.