Learning to code, one game at a time

Many see video games as a form of entertainment, but they can also be educational. Not only do they teach us to open our eyes and see new aspects to the world such as different ways of living; they can help us learn employable skills that can be used in our day-to-day lives.

Most of my career so far has been in an IT role where I’ve looked after best-practice and policy, so a move in July to a new job where I’m required to write code has been a little daunting. Although it’s fun there’s so much I need to learn – but I don’t need to worry because games may have the answers. A number of releases make use of mechanics that help teach various programming mechanics, so I’m adding the following onto my study-list. Bring on the revision.

2013: Typing of the Dead: Overkill

Although this title doesn’t teach any programming skills directly, what it does do is teach players how type faster – and that’s invaluable for getting the code out of your head and onto the screen as quickly as possible. Rather than blasting away at zombies with a gun using a controller, in Typing of the Dead: Overkill you instead use your keyboard to enter words and fire shots. Modern Dream’s release is my guilty pleasure: I really shouldn’t like it for several reasons, but somehow it manages to suck me in every time.

2015: Hacknet

I initially had to tell him know when a colleague asked me recently whether I’d ever used Unix. But after he showed me a few of the commands it hit me: I recognised them from playing Hacknet by Team Fractal Alligator. This title simulates computer hacking through a Unix-like operating system, and the core gameplay is to connect to other machines and run dedicated programs to break their security. Get in, take what you need, and get out again – but don’t be reckless, and don’t leave a trace.

2015: Human Resource Machine

Playing a game where you’re a corporate office worker who must complete mundane tasks like moving things from an inbox to an outbox doesn’t sound all that entertaining. But when it’s by Tomorrow Corporation and teaches you elements of assembly language, it’s kind of fun. Once a puzzle in Human Resource Machine is completed, you’re shown how many instructions were used and how long they took to process, giving you the opportunity to optimise your code.

2018: ERROR: Human Not Found

If you’re looking for a game that’s going to introduce you to programming without getting too heavy, ERROR: Human Not Found by CelleC Games is a good choice. This visual-novel is about a scientist who’s trying to clear her name after the death of an artificial intelligence (AI), and has portions of point-and-click adventure interspersed with four types of computer-science-based puzzles. It’s free on Steam so there’s nothing stopping you from giving it a go if you have a couple of hours to spare.

2019: Baba Is You

This one was recommended to me recently by quietschisto from RNG and, although I usually prefer my titles to have a storyline, it sounds like it’s good for helping you get to grips with programming. Baba Is You by Hempuli Oy teaches you how to code in a roundabout way: the rules you have to follow are present as physical blocks in the game world and you can manipulate them to cause surprising interactions. Turn yourself into a rock, patches of grass into hot obstacles, or even the goal of the puzzle into something entirely different.

2019: while True: learn()

while True: learn() isn’t only a game about machine learning, neural networks, big data and AI; it’s also one about understanding your cat. You’re a machine learning specialist who makes neural networks but it turns out your cat is better at it than you are, so build a kitty-to-human translation system to find out what else your pet is capable of. This title is used in schools and universities in countries all over the world and developer Luden.io receives tons of pet photographs from players each week.

Have you played any other video games that have taught you something, programming or otherwise? Let me know about them in the comments below so I can add them to my study list.