We Asked A Coding Professor To Explain Why Gamers Can Become Great Programmers

We Asked A Coding Professor To Explain Why Gamers Can Become Great Programmers
This article is sponsored by Coder Academy.

Gamers might be the most passionate fans of any form of media.

Whether it’s breaking entire games for a speedrun, building mods to enhance the quality of life, or even programming an entire port for PC so a game can actually be playable, gamers have a tremendous aptitude for coding thanks to their relationship with video games.

Modding has actually been proven to be a tremendous exercise in teaching gamers the fundamentals of video game development, which has led to massive video game studios like Bethesda hiring modders for their studios.

To prove the “gamer-to-coder pipeline”, we asked Alex Holder, an educator Coder Academy to help outline how gaming can introduce programming concepts to gamers, and why gamers have a natural affinity for coding.

What skills do you think gamers pick up on subconsciously that make them build an aptitude for coding?

Problem-solving is the big one. Gamers might not realise it, but every question or mission or match that they play is a big collection of problems that they solve at speeds that just get faster as the gamer gets better at their game.

Being able to solve complex problems is a crucial skill for many industries, but it’s especially important for programming – the first step to any software development is to translate a human version of a requirement or task into a set of programming steps or functions.

You basically have to understand the problem, translate it into the mechanics of the tool that you’re working with (or the game that you’re playing), and think of solutions to the problem within that translation.

You could ask anyone playing any game about how they play through a level or mission, and you can pick up on numerous problems and solutions all in a single response.

Whether it’s picking out the best route and order of engagement in high-intensity shooters like Doom Eternal, or planning the right materials and structures to craft your ultimate town in Animal Crossing – gamers are solving problems all of the time.

What games do you think help people understand how coding works?

There’s a nice variety of programming-themed video games out nowadays, such as Human Resource Machine. There’s basically a spectrum of games that range from “obviously helps you learn to code” to “you won’t realise it until later, but you just learned to code” like “Stop Talking and Nobody Explodes”.

There are different types of coding out there, so there are different types of games that match up with those types of coding.

This is going to sound absolutely nebulous, but: any game that lets you do different things to play the game can help you understand coding.

Coding is basically three main steps: inputs, processing, and outputs. Imagine you’re playing Pokemon, and you know that there’s a Gym Leader of a specific type in the upcoming town. You plan your team to beat the Gym Leader’s specific type – your inputs to that battle – and then the battle happens. If the output isn’t what you want, you can change your inputs and try again. That’s coding!

How do worldbuilding games like Minecraft, Roblox or Gmod help people understand coding?

Those games are fantastic as sandboxes for learning. They give you a variety of tools – or inputs, to continue the above analogy – and let you learn how to use those tools to create different results.

Minecraft’s redstone system is especially fantastic – it takes that idea of “inputs, processing, outputs” and lets people “physically” build out their code. The code can be simple when it achieves simple things, like “when this redstone signal is active, open this door”. And it can be complex, doing incredible things like running games within Minecraft.

Game mechanics or systems like that are wonderful to see because they’re usable by different types of gamers in different ways that help all types of gamers learn coding skills. Casual gamers can create systems with coding skills without even thinking about it, and gamers with programming skills can flex their skills to complex levels.

Minecraft’s redstone even teaches a fundamental programming concept of short circuit logic, which is required at higher-complexity uses of redstone.

What is a game you’ve played recently that you feel has great potential to introduce people to programming?

Oh, I’ve been clinging to Pokemon Go for a long while. As an RPG-based game, it’s full of data – different inputs you can use in your activities – that you can optimise or change to get different outputs.
Lately, this was shown with a recent Pokemon Go event – the global Go Fest.

Casual, non-coding friends and I were planning out our Pokemon to use in the legendary, high-level event-specific raids and it was all planned out months in advance to make the most of the event’s rewards.

As more and more information about the event came out, we would improve our strategies and change our team preparations to get the best outputs that we could from the event.

Any game that lets you plan your inputs to a specific process to get better outputs is a fantastic stepping stone to programming. You’re optimising gameplay – and thinking of optimisation in terms of “this input applied to this process leads to that better output” is basically coding right there.

The Speedrunning community is notorious for breaking games in a matter of days by noticing issues in coding. Can you think of an example that wowed you with how creative someone got discovering a glitch?

My favourite example of this is from Pokemon Brilliant Diamond and Pokemon Shining Pearl – speedrunners figured out how to complete this massive RPG game in under 17 minutes, within weeks of the game being released.
Basically, user interfaces don’t exist within the game world. They exist on top of it. But, user interfaces can still control what happens within that game world.

So, players realised that they could quickly and cleverly activate or deactivate certain user interface elements (menus, button prompts, etc) to skip through certain barriers within the game world.

Or for a non-Pokemon example: when I was a kid, I played the Halo series like it was the only game available. Because that is a 3D game with a physics engine, eventually you can discover crazy ways to apply game mechanics to that physics engine – and launch yourself straight over the game’s intended battles.

Finding clever ways to use the mechanics you have to absolutely break the world’s physics is a common thing in all physics-based games, even modern Halo entries like Halo Infinite and other action games like Doom Eternal.

No amount of game testing could realistically find glitches like that – but when you have millions of gamers playing a game, they’ll find more ways to interact with the game than a team of dozens or hundreds of developers ever could.

How would you recommend gamers get started with programming if they were interested in game development?

The best way to learn any amount of programming is to start. Sounds silly, right? But it’s like gaming: you can read books or watch YouTubers as much as you want, but until you start playing the game, you can’t really say “I’m so good at this game!”

My first start in programming was focused on making interactive little webpages – I think I built a virtual guitar with Adobe Flash as my first real project.

Having a goal of what you want to build and working backwards from that can be a good way to start, though a far-off goal might make a scarily-long journey for yourself.

What’s a misconception about video game programming that gamers might take for granted?

Oh, the most common and fundamentally-wrong idea I see gamers shout about is that games should just add multiplayer if a game releases without multiplayer. Networking adds so much complexity to a project that you often have to start with multiplayer as a goal or core part of the game.

For example, in Minecraft, there is no such thing as single-player. Every world is run as if it’s about to run for multiplayer, which is why they have features like “Open to LAN” in the game.

Do you think programmers make for better gamers?

Absolutely!

With video games, everything you can do is either planned out by the game designer or allowable within the rules of a complex game system. A programmer can figure out what they can and can’t do very quickly, allowing them to achieve more-complex levels of skill in a game.

Within the tabletop gamer space, a similar thing can happen – but for a game like Dungeons & Dragons, the programmer has to communicate effectively with the Dungeon Master to truly figure out the “ins and outs” of a game.

What’s a game you’ve played recently that’s wowed you with its attention to detail?

I’ve been re-playing The Legend of Zelda: Breath of the Wild in anticipation of its sequel coming out soon, and falling back in love with its attention to detail.

That game uses systems to allow players to generate their own experiences throughout the game world. Most notably, they have a “chemistry engine” so players can apply real-world logic to the game’s mechanics and discover mechanics that help them progress through the game, even accidentally. Like carrying a flaming torch through a grassy field that leads to burning grassy fields, or holding metal equipment in a lightning storm that attracts lightning to you.

Details like that are often avoided in games because they can take a lot of manual effort to develop, but by putting those types of interactions into a system, developers can create a bigger variety of interactions with less effort. It’s so nice to play with that system.

Is gaming an incredibly popular hobby among other programmers?

Yes! While you can definitely find programmers that don’t game, it’s far more common to find programmers that are super passionate about games than not at all.

Many people might think of gaming and programming as antisocial things, but that is very far from the truth these days. Especially when those two things combine! Programmers (like myself) will often decorate their workspaces with all sorts of memorabilia about their passions – mine is covered in Dungeons & Dragons monsters and Pokemon figurines. This makes it easy for people to connect with each other and socialise on shared interests.

If you’d like to know more about where Alex teaches, click here.

Coder Academy is an OG Australian Bootcamp provider that blends its experience in education alongside industry leaders to design courses to fill skill gaps. The courses offered are 100% online and designed to be intense, compressing qualifications that take up to one year into shorter periods without compromising learning outcomes.

If you’d like to learn more about Coder Academy and the bootcamps they offer click here to speak to an advisor.

 

Comments


Leave a Reply

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