When your day job as a programmer is not demanding enough to hone your programming skills, there’s only one solution: look for technical challenges in games! They may not be legion, but there are quite a few games targeting a niche audience that loves to play with combinators and assembly.
And after spending a fair amount of time trying many of them out (for the purposes of science!), we’ve narrowed down the choice and come up with the top 5 single-player games for developers, from the most accessible to the most hardcore.
Currently the #3 best reviewed game on Steam, Factorio has a straightforward storyline: After crash-landing on an alien planet, you have to build a factory all the way up, from mining coal to being able to launch a rocket into space.
Although you can definitely play this without being a programmer, the same skills will be put to use. You may need to debug a stuck line of production, optimize the throughput and energy usage of your factory, and get creative about complex logistical problems. You can even wire logic machines with combinators to automate your train network or build a digital clock (because why not?!).
Warning: Factorio has earned a reputation for being extremely addictive. Play at your own risk!
Platforms: Windows, Mac, Linux
Best for: Logistics nerds
From the creators of World of Goo, 7 Billion Humans is a puzzle-solving game where you can program an army of humans to perform tasks. Whereas its predecessor, Human Resource Machine, used an assembly-like language to control a single human, 7 Billion Humans allows you to use a multi-threaded, more expressive language.
The game stands out thanks to its quirky visuals, offbeat humor and, according to its creators, “incomprehensible cutscenes”. You’ll definitely enjoy watching your swarms of little office workers running around and occasionally falling to their deaths when you introduce a bug into your solution.
Platforms: Windows, Mac, Linux, Switch, iOS
Best for: Challenge-seekers on the go
While waiting for an elevator to arrive, have you ever found yourself wondering what code was running behind the scenes? Have you ever thought its routing algorithm was dumb and that you could do better? Well, here’s your chance!
Best for: Algorithm-optimization enthusiasts
Out of the many excellent games Zachtronics has released over the years, one stands out for its similarity to the job of hardware programmer: Shenzhen I/O.
In it, you are given a 47-page technical manual that explains the inner workings of a series of microcontrollers. It is then up to you to wire them together and program them with an assembly language in order to build consumer devices ranging from a fake surveillance camera to a virtual reality buzzer.
Shenzhen I/O is not for the faint of heart and even goes the extra mile by having the whole UI of the game be a virtual desktop, via which you receive your next assignment by email.
Platforms: Windows, Mac, Linux
Best for: Aspiring hardware programmers
Created back in 1970, Conway’s Game of Life has been a source of fascination for several generations of programmers. At its core it is a very simple cellular automaton in a 2D grid, which you can try out online or using fully featured software such as Golly.
What makes this game still relevant today is that, over the years, researchers have discovered many patterns exhibiting emergent behavior. The first one was the glider, but soon afterwards came guns, followed by reflectors, methuselahs, computers, demonoids…
Seeing how active the community remains nearly half a century later is astonishing. However, as programmers, maybe we shouldn’t be so surprised that a few simple lines of code have given birth to a world of infinite complexity!
Best for: Cellular automata researchers
This article is part of Behind the Code, the media for developers, by developers. Discover more articles and videos by visiting Behind the Code!
Want to contribute? Get published!
Follow us on Twitter to stay tuned!
Illustrations by WTTJ
More inspiration: Offbeat
Thinking outside the box once in a while is essential while coding. Take a step back on your day-to-day developer tasks and discover how other people use the same technologies and tools as you to create amazing things.
Poem #4: Firefighting
Enjoy this poem program written in the Python programming language that generates an ASCII art fire animation.
Dec 19, 2019
Poem #3: Avalanche of Stars
Enjoy this poem program written in the C programming language that generates ASCII art mountainscapes.
Nov 12, 2019
4 Things to Expect When You’re the Only Security Engineer on a Developers Team
Here are some things security engineers need to be aware of before their first day if they’re going to survive on a team of developers.
Oct 29, 2019
Poem #2: Alphanumeric
Enjoy this poem program written in the Julia language that uses a simple statistical model to generate endless paragraphs of redacted text.
Oct 03, 2019
Tired of Chrome? Try These Six Browsers
Are you tired of Chrome, Safari and Firefox? Here are six alternative browsers to consider if you’re looking for a different Internet experience!
Oct 01, 2019
The newsletter that does the job
Want to keep up with the latest articles? Twice a week you can receive stories, jobs, and tips in your inbox.
Looking for your next job opportunity?
Over 200,000 people have found a job with Welcome to the Jungle.Explore jobs