The Top 5 Games for Developers Looking for Technical Challenges
- March 12, 2019
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
- Add to favorites
- Share on Facebook
- Share on Twitter
- Share on LinkedIn