Game Developers and Software Engineers

Before starting this Capstone course, I had always been interested in learning how to use Unity to build little games. That’s one of the reasons why I chose this project. I wanted something to push me to learn it, just because I was so curious about it and machine learning. After working with Unity and building a simple 2D game from a tutorial and starting to build our own 2D game, I can’t stop thinking about a quote about games and simulations from someone who also happens to be the richest person alive.

This week with my project (a replica of Atari’s Breakout that uses a neural network to learn how to play the game), we started to diverge from the tutorials on Unity and ML-Agents and actually began to build the base game. I had already had a very simple version of the game in place before this. There was a paddle that could move left and right and blocked at both edges of the screen. There was also a ball (that didn’t move), and one brick (that didn’t break), and that was about it.

Within just a few days, I had placed all the bricks, completed the functionality for the bricks to disappear when struck, created a base Game Manager class that gets called to when a brick disappears, gotten the ball to actually move around, and figured out a way to get the ball to increase its speed with each new layer of bricks that it comes across.

This took me quite a while, even though this can still be seen as very, very simple stuff. But I’ve started to gain a newfound respect for game developers in general. Just implementing basic functionality can take a long, long time to figure out, and this is just with the 2D games. I can’t even imagine all the work that gets put into contemporary 3D games.

But I’m still curious to learn about those too, and that’s what brings me back to the quote from the world’s richest person. Elon Musk has once said during his interview process for Software Engineers, he believes that many of the best engineers have spent time working on developing video games. He also related to how the skills gained from working on a game could definitely cross over into a different part of the industry, and I’m really starting to understand why he thinks this.

Scripting all the different classes and getting everything up and going within Unity takes a lot of cross-referencing. There’s inheritance upon inheritance, and references to Singleton objects, and a multitude of objects interacting with each other. It’s all quite cool.

Elon Musk has also said that because of the rapid development of game quality that he believes there’s a one in a billion chance that we’re not living in a simulation. I’m not sure what to think about that. Either way, there’s no way for any of us to know. What I do know is, game development can really strengthen someone’s skills as a software engineer.

Leave a comment

Your email address will not be published. Required fields are marked *