Affiliate Disclosure: By buying the products we recommend, you help keep the lights on at MakeUseOf. Read more.
Programming is fun once you know what you’re doing, but getting to that point can be a grueling journey.
Which is why you should set aside time to play these coding games and challenges. Not only do they serve as fun breaks, but you’ll learn faster and retain more info thanks to the hands-on practice and experience.
Robocode is a complex programming game where you code robot tanks that fight against each other. Your job is to write the artificial intelligence that drives your robots to success—using real languages like Java, Scala, C#, and more. To get started, check out the Robocode Basics and Tutorials.
The Robocode installer comes with a development environment, built-in robot editor, and Java compiler. You’re actually writing real code! Despite launching back in 2000, Robocode is still regularly updated and maintained, helped along by the fact that it’s open-source and addictive.
Learn more about game development programming languages, especially for Unity.
Codecombat is another web app for game-like puzzles and challenges that can only be solved by writing code. But whereas Codingame is more entertaining, Codecombat has a significant educational bent with a “Classroom Edition” that teachers can use to help their students learn how to code. As of this writing, three course paths are available: Computer Science, Web Development, and Game Development.
Codewars isn’t so much a game as it is a gamified way to practice coding and solving algorithmic challenges. You get points for completing puzzles and point values are determined by how efficient your solutions are. Codewars lets you view solutions submitted by others, which you can study and learn from. I believe it’s one of the best ways to learn a new programming language and its idioms.
Vim Adventures is a fun game-like tutorial for learning how to use Vim, a highly unusual but extremely powerful text editor that many programming pros love to use. It has a huge learning curve though, which is why tutorials like this exist. So while Vim isn’t a programming language per se, mastering Vim can help you become a more efficient coder, hence why I’ve included it in this article.
“It’s the assembly language programming game you never asked for!” It says so right there on the tin. TIS-100 is a video game like no other, forcing you to learn and use a mock version of low-level assembly coding to solve its puzzles. This game is not a joke—it’s difficult, it’s open-ended, and it has incredible replay value as long as you don’t become so frustrated and confused that you uninstall in a fit of rage.
Download: TIS-100 ($7)
7. Shenzhen I/O
From the same studio behind TIS-100 comes Shenzhen I/O, a puzzle game where you’re tasked with creating simplified circuits and writing simplified assembly code that runs on said circuits. Between the two games, Shenzhen I/O is easier to get into and more enjoyable yet just as satisfyingly complex.
Download: Shenzhen I/O ($15)
8. Human Resource Machine
In Human Resource Machine, you play as an office worker who completes tasks by combining various instructions together. In a sense, this game is all about puzzle solving through visual programming, even going as far to touch on concepts like logical flow and memory management—but presented in an easy-to-digest, office-themed way.
It’s a great game for exercising your programmer’s brain, and may even make a good coding game for kids, too.
Download: Human Resource Machine ($10)
Download: Screeps ($15, optional subscription for $9/mo)
Other Ways to Sharpen Your Coding Skills
Looking for yet more ways to hone your programming ability? We have an awesome beginner project for learning C programming. You may also benefit further by listening to some of these podcasts for coders and developers.
You can also start making your own games with these game development tools. If you’re looking for a suitable way for your children to get into coding, you may want to consider these easy coding projects for kids using Microsoft Small Basic.
However, if after everything you’re still struggling and can’t seem to grasp the basics of programming, you may want to step back and consider whether programming is the right choice for you. Let us know how it goes!
Explore more about: Programming Games.