Ask any middle schooler with a vague interest in coding what they would like to do with those skills once they develop them, and 9/10 times you’ll hear some variation of “I want to build games”. As part of one of the first generations to grow up with video games from a very young age, it isn’t hard for me to understand why. It’s completely natural to want to be a part of the creation of something you enjoy.
With that in mind some of the BizStream Academy
team and I set out to put together an Introduction to Game Development course to be used to teach at a local public school, as well as for me to use with the middle school boys that I mentor. I, however, had never built a game before in my life (except for the very successful “Who Can Eat the Grossest Thing” game I forced my little brother into).
In looking for resources my team and I came across Chris DeLeon’s Code Your First Game
course. The course is hosted on Udemy
and is free for anyone to take. DeLeon does a great job stepping through the fundamentals of development and game creation in a very engaging way. By the end of the 2 hours of lectures, I had built a version of the classic game Pong
Now, in no particular order, the top 5 things I learned developing my first game:
This could entirely be based on my limited perspective as a front-end developer, but as a rule I don’t have to worry too much about what sequence things are happening in. Most of the code I write is event based. Oh hey, you clicked on a hamburger menu? Cool, I’ll slide that down for you. You hit enter on a search box? No problem, I can trigger that AJAX call to get you your results
. Thinking in terms of frames per second and timing between different items isn’t something I have to deal with on a regular basis though. It was a great exercise in really stepping through my code and making sure everything was in a logical order. While the little demo I built barely scratches the surface of this type of development methodology, I can see where this will become a very important part of the process very quickly.
Math Is a Thing
This is another item that I barely touched in my Pong emulator. The math required to build a game like this is very, very basic. I will admit, though, the fact that I had to think through ANY math was another small shift from what I normally do. Let’s just say that jQuery has spoiled me. I’m looking forward to more advanced game development where I can really challenge myself here.
Canvas Is a Pain
I don’t like it. It’s too static, establishing canvas
context feels very divorced from the things it effects, and it feels very limiting. Am I just whining here? Yep. Is canvas actually bad? No, it definitely has its place and is an excellent place to start on this kind of game design. It kept me from even thinking of jumping down a rabbit hole of 3D graphics and visual effects. Not that those things can’t be done at least to a degree on the canvas, but they weren’t immediately accessible enough for me to try and slap some poorly developed things in there that would have detracted from what I was learning.
Never Take Accessibility for Granted
You would think as a front-ender I wouldn’t have let this pass over my head but, alas, my daughter asked if she could pick out the colors for the game and, without a thought, I said, “Sure!” I shared my little pet project with my coworkers the next day and it was quickly pointed out to me by a colorblind colleague of mine that the colors weren’t the best. Actually I think his exact words were, “I didn’t even realize there was a paddle on the computer’s side until I almost had my nose against the screen”. Point taken. Always do a quick check of the Web Content Accessibility Guidelines
(WCAG). If you’re short of ideas, check out tools like Color Safe
for great ideas.
I Love It
As much as I do love video games, I wasn’t sure if actually building one would be my cup of tea. I love cheeseburgers but I’ve never really enjoyed cooking. This course was a ton of fun, though. I took it a little further and built some extensions to continue where DeLeon leaves you in the course; recoloring things and adding my own music and sound effects. I also pretty much immediately grabbed the second course in the series that steps through several more classic games and expands on some of the base concepts he introduced in the first course. I’m really looking forward to going through it and building a few things that my kids can play or we can throw onto a custom game cabinet here at BizStream.
Am I now a game developer? Goodness no. But, it is fun to know that I’m learning new concepts that I can take into the rest of my job to make me a stronger developer, as well as build some fun stuff on the side. If this is something you’re really into you can check out DeLeon’s game coding club, Gamkedo Club
Whether you’re an experienced game developer, or someone (like me) who’s giving this a shot for the first time, we’d love to hear from you! Want to see more articles like this? Hate this article? Hit the comments below and let us know!