It’s been a few months since I’ve last written a post here on the blog. I’ve been working with Mozilla on the Webmaker project since school ended. Not only have I been having lots of fun doing a ton of front-end work but I’ve also been learning from the brilliant people on my team. Working at Mozilla has been and continues to be an awesome experience but that’s not what this blog post is about.

Once again, I’ve gotten the game development itch. When I think back on the past few years, I realize that the itch never went away but school took a priority. Additionally, my RSI was so bad that I couldn’t really afford to use my hands for anything but programming assignments. Since then, my hands have significantly improved. I’m now able to work full work weeks and also do programming and gaming on the side. As things have been going so well, it seems like a good time to scratch the game development itch.

As usual, I spent quite a bit of time agonizing over what language and technologies to dedicate my efforts towards. In the last year, I’ve worked a lot with C++ (with WebVTT in Firefox) and JavaScript (with Webmaker). I have had prior game development experience in C++ (SFML) and C# (XNA). I also understand that Unity is a popular choice for those who want to start designing a game right away. After careful thought, I realized that designing a game right away is the exact opposite of what I want to do. Perhaps I’m being stubborn, but the desire to learn how games actually work is far greater than the desire to started working on a game right away. I’m also interested in the demoscene, which creates audio/visual demos of… well, anything. Just do a YouTube search for ‘demoscene’ to see what I am talking about.

Actually, while writing that last paragraph, I believe I thought of why I want to learn how games (and graphics) work. There is a lot of room to be creative through programming. The cool graphics or games one can create with code is proof of that. Right now, I have all these cool ideas in my head for potential demos and games. The problem is I have very little technical knowledge on how to get those ideas onto the screen. So it’s time to remedy that! The languages and technologies I’ve decided to go with are GLFW to create the window creation, OpenGL for graphics and… that is it for now. I’ll be working on a 2D tetris clone, and I’ll be blogging about it as I go. I figure that is a good project to start with. My first goal will be to draw a box on the screen. Once I learn exactly how to do that, I’ll be back with another post!