Engineering is a hard discipline. I should know, as I’m currently studying Mechatronics. There is a lot I need to know, from mathematics to physics, to programming, to industrial processes and standards. A lot of people taking up engineering kind of end jumping into the deep end and scrambling from course to course, shoving as much information into their brain as possible- without really comprehending it or understanding why they’re learning these things in the first place. You don’t end up remembering much of the stuff that matters, like your FairGo casino login.
For example, I took a course called “Linear Algebra” in the first semester of my first year. However, I barely used linear algebra until the second semester of my second year. This is a failure of traditional education. However, since there’s not much any of us can do about that without shifting careers into law school, we should mitigate these problems by tackling these subjects from a different direction.
Video games are a unique art form. More than that, they are one of the most complicated mediums to work in. Let’s compare it to a book: An author gets an idea for a story and then sits down and writes. If he’s feeling old-school, he grabs a pen and paper and gets to work. If he lives in the 21st century, he opens his laptop or PC and types. Outside of that, it doesn’t get much more complicated than that.
By no means does that mean that writing a book is easy- far from it, but the barrier to entry is far lower than, say, a movie. Movies require directors, actors, screenwriters, audio engineers, cinematographers, producers, set and prop designers, stunt doubles, and much, much more. Video games are at least as complicated (at the AAA level, at least). A big studio has coders, 3d modelers, animators, sound designers, directors, producers, mo-cap actors, voice actors, writers, and so much more.
The point is that video games are very big and cover a massive range of technical skills to produce something even as simple as “Pong.” Programming, mathematics, physics, 3d Modeling, and… hey- wait a minute!
Learning Programming from Making Video Games
I guess this one is fairly self-explanatory. All software is made from code, and video games are no exception. The advantage is that learning the fundamentals of coding in just about any language gives you an intuition that can largely be carried over to every other language.
Concepts like classes, functions, variables, loops, objects, and recursion are basically the same in most object-oriented languages. The rest is just syntax, which you can get used to fairly quickly. Game engines like Unity and Godot even support C#, which will give you experience that can be directly transferred to other programming projects (aside from the built-in functions and features unique to the engine).
Learn Physics Intuitively From Making Video Games
If you’ve played video games before, you’ve probably heard of someone at some point talk about (complain about) a game’s physics. It’s probably half true that video games have physics at all. They’re games, and good game devs prioritize making the game feel good and fun more than being physically accurate.
However, you’d be surprised just how much real-world physics DOES apply to video games. You might remember the kinematic equations from high school physics: x = x0 + v0t +0.5at2. This equation is the basis for how jumping works in video games. Mario, Hollowknight, LEGO Star Wars- it’s all the same simple physics.
My advice would be that most engineers should learn how to make a simple platforming game, like the original Mario, to familiarize themselves with how these formulas actually work. It’s one thing to imagine how a ball works on a piece of paper; it’s another to actually see something move in accordance with the numbers you’ve worked out. This gives you an intuitive understanding that regular classes simply… don’t. And that sucks, but there’s only so long we can go about moping about our terrible education systems.
Learning Math Intuitively From Making Video Games
Yeah, math sucks. I know. Still, it’s a vital tool that everyone who works in just about any field needs to know to a certain degree. Mathematics and computers are intertwined down the basics of binary computations. Thankfully, most of those calculations are handled behind the scenes for us, but it’s still omnipresent, and there’s no way you’ll get into a field like an engineering without ever touching math.
You know what’s particularly annoying? Vector math! Understanding how vectors work is vital for making any progress with calculations involving forces, velocity, moments, and more.
You know what also uses vectors? Video game engines! Vectors are used to track positions, velocity, gravity, directional lighting, raycasts, and plenty of other useful development tools. One of the best ways to gain an intuitive understanding of vectors, in my opinion, is to develop a character controller for a simple game.
Implementing controls and getting a character to move in a game engine like Unity or Godot will require you to use vectors, and the best way to learn is by doing!
Learn to Think in Three Dimensions… From Making Video Games
“Hold up a second,” I hear you say, “I ALREADY think in 3D. Everything is in 3D.”
Sure. You also see apples every day. Try to draw one photo realistically.
A very important skill is the ability to imagine the movement and rotation of objects in three dimensions. Being able to visualize shapes is also extremely useful, especially when it comes to drawing schematics. Actually, it’s important for drawing in general, but this article is geared towards engineers.
As both an artist AND an engineering student, I aced my schematics class easily. However, I realized that what I thought was an easy-peasy class my classmates were struggling with. Taking an object and transferring it onto two-dimensional paper isn’t as easy as it sounds.
Learning this visualization skill is super useful, and I think that there is a strong way to develop it- actually, two: Drawing and 3D Modeling. Depending on the kind of game that you want to make, you’ll end up using one or both to make your game look like something other than cubes against a gray background.
For an engineer, I recommend dabbling in both. Drawing trains excellent visualization skills, and 3d Modeling trains a whole bunch of skills, both mental and technological.
I’ve recently started a course called “Dynamics” (which to the rest of the world is called “Classical Mechanics”). Something we’re required to do is create relative coordinate systems for moving objects. The explanation the professor gave during his lecture was long, tedious, and turned our brains to sludge by the end of it.
He kept going on and on about “World Viewers” and “Relatives Viewers” and who sees this and who sees that- and it was hard to wrap my brain around what he was even talking about until I realized, “Oh! That’s like what I did in Blender!”
3D modeling software, like Blender, uses general coordinate systems to define the “world,” and each object gets its own relative coordinate system that stays centered to that specific object. Having made that connection, suddenly, what my teacher was talking about made far more sense. Working with 3D models also helped me develop an intuition for visualizing how the parts would behave as they moved and even gave me a better understanding of what was moving in the first place.
All in all
Video games are the clockwork machines of the information age. They’re an infinitely complex combination of fields, technologies, and knowledge that must all come together and make an enjoyable experience. While the barrier to entry for making games is easier than ever, that shouldn’t take away from the immense accomplishment a good game is.
That’s why I truly believe that Video Games are an art form, as worthy of their place in society as movies, books, and paintings are. They’re a medium of entertainment capable of producing excitement, jubilation, despair, panic, terror, and empathy.
Making such an experience requires an understanding of art, programming, mathematics, physics, sound, and tech skills that are transferrable to a number of other fields. Does that mean that if you program a flappy bird duplicate, you’re ready to design the next Empire State Building? Of course not.
What it DOES do is put tools in your toolbox. It gives you practice and an intuitive understanding of some pretty abstract concepts in an easy, fun way that traditional education simply does not provide. Which sucks, yes, but in today’s competitive market, it’s up to YOU to make yourself stand out from the crowd.
I’m not the best in my class. I don’t get the highest grades either. To be honest, I don’t really care enough to fight for that honor. What I do bring to the table is a wide, malleable set of skills that I can apply in a vast number of different ways. Skills and experience that none of my classmates have. I’m not “better” than them because of it, but I know that there are employers out there who’ll realize my worth.
And that’s when the big bucks will start rollin’ in, babyyyy.