Play & Code – Learn Programming By Playing Games

- Fire development

Learn Programming By Playing There are a lot of tools out there to turn learning into a game. The process when game thinking, game mechanics or whole games are used in non-game contexts is called gamification. Nowadays, specialists can gamify almost everything from customers interaction with a website to education. They turn routine processes into fun to improve user engagement, make learning more effective, and provide new unique user experience. As coders always were hardcore gamers, the appearance of gamified coding programs and courses was inevitable. Nowadays, there are dozens of video games which purpose is learning programming. To become a good coder, you just need a right game. Of course, it works better with theoretical courses but in this post we will tell you about games.

Dungeons & Developers

Skills and prerequisites you need to have in every RPG to reach a new level are often organised in a form of tree. The folks at 352 Media thought that it can be a good tool for real life learning. As a result, they created Dungeons & Developers – an RPG-style skill tree. This useful tool outlines what you need to master to become a good web developer. All the skills from the tree are represented with dedicated icons. The skills include such things as HTML, CSS, AJAX, etc. You create a character and start to gain stats and unlock more advanced skills by learning something new from the tree. Each skill provides a link to the appropriate course or an educational resource. A skill tree of every user is tied to a unique URL, so everyone can bookmark it to save the progress and see the level up.

Learn Programming By Playing

Dungeons & Developers

Ruby Warrior

There is also a cool game to learn Ruby syntax in a funny way. The game is called Ruby Warrior. You start as a tiny pixelated warrior and master levels by by typing some Ruby code lines. The objective of Ruby Warrior is to get to the next level and score as many points as you can. With each new level, the previous code is copied over, and new functionality may also be available. The game is great to improve the knowledge in conditions, loops, method declaration syntaxes. The only downside of Ruby Warrior is music. The soundtrack is good, but it is too short, so after the 2 minute it can become very annoying. The good news is you can disable it any time.

Learn Programming By Playing

Ruby Warrior

CodeCombat

If you want to learn programming, you don’t need endless lessons. First of all, you need to write a lot of code. Of course, basic understanding of theory is important, but it means nothing without practice.  Often, practical lessons are boring, but not in case when gamification is in business. If you thought about gamified lessons, you were close enough, but even a skill tree from Dungeons & Developers is not so fun as CodeCombat –  a multiplayer role-playing game. If you’re going to get addicted to a new game, choose this one and become the experienced coder. CodeCombat teaches fundamentals of JavaScript, and let you control your warrior by writing a code. This RPG-style game has a single-player campaign and a multiplayer option.

Learn Programming By Playing

CodeCombat

Codewars

With Codewars you can easily master your current programming language or expand the understanding of a new one: JavaScript, CoffeeScript, Ruby, Python, Clojure, Haskell, and Java are among available. Choose the language and start the competition or collaboration with your friends and random users. Codewars is based on Katas – coding challenges. After Katas are completed successfully, the system analyzes your coding skills, and you are asked to link your GitHub account. You get honor points for every step. Every new point leads you to the leaderboard. Of course, Codewars is not so engaging as RPG but it significantly relies on gamification mechanics.

Learn Programming By Playing

Codewars

Play My Code

Play My Code is more than a codding game. It is an online platform for building, playing and distributing. Two main products of the platform are experienced developers and browser games. Play My Code is powered by HTML5, so you can build your games within the browser and embed them anywhere. No account is necessary for testing the platform. You can also play games built at Play My Code without registration. Play My Code provide a complete toolkit for game creation right in your browser. You can code, test and debug with ease. All games created within the platform are written in Quby. Play My Code is easy to learn and extremely fast solution for learning game programming and browser games creation. There is also a responsible community around the platform, so you will newer stuck.

Learn Programming By Playing

Play My Code

Fight Code

The idea of Fight Code is simple. You create your robot to fight other robots. To create a robot, you use JavaScript. The game requires a basic understanding of this programming language. With every new robot, you can significantly improve your skills in JavaScript. Fight Code provides you with the ability to challenge your friends or foe robots. There is a leaderboard in the game, so you start climbing the ranks with every victory. There are more than 27 thousand robots and 28 thousand participants in Fight Code.

Learn Programming By Playing

Fight Code

Robocode

Robocode is another programming game. This time the goal is to develop a tank to battle against other players. The available programming languages are Java and .NET. The battles are running in real-time. To create a simple robot, you need just a few minutes, but you can spend months perfecting your unit. Robots can move, shoot, scan, and hit the walls (if misprogrammed). Robocode combines a simple idea with the complex strategy. Sometimes, thousands of code lines are required for the winning strategy. To test a robot against others, you just need to download the Java bytecode or CLR Class Library.

Learn Programming By Playing

Robocode

Code Hunt

You can learn programming easily with Code Hunt – another educational coding game. The premise is simple: you win levels and earn points. On every level you turn into the code hunter, who discovers missing code fragments. Keep in mind, that elegant solutions provide extra bonuses. You can play in Java, C#, or in both. Code Hunt provides a rich coding experience with squiggles, syntax coloring, search and keyboard shortcuts. As you progresses the sectors, the game teaches you about arithmetic operators and conditional statements, strings and loops, search algorithms and more. Code Hunt starts with simple problems and covers advanced tasks as you progress through the game. It is a great tool to get new knowledge and sharpen the existing algorithm skills. The game runs in most modern browsers and also works on iPad.

Learn Programming By Playing

Code Hunt

Vim adventures

Vim adventures is a well-crafted adventurous game that lets you progress through levels by using Vim script. You move with the help of vim keystrokes and defy obstacles with shortcuts. When the game starts, you just can move up and down, left and right. You use a keyboard to get through the maze, open treasure chests, collect keys, and follow hints. Going from one level to another, you master VIM script. After the first free level, you get access to the rest of them. Vim adventures costs $25 for the 6 months.

Learn Programming By Playing

Vim adventures

Check iO

With this game, you will write better code in Python. CheckiO provides a safe environment for code learning. The game suits for both beginners and advanced programmers. Keep in mind, that CheckiO is a place to train your own understanding of a perfect code. By sharing your solutions with others, you can get the review from the community and inspire other developers with your unique approach.

Learn Programming By Playing

Check iO

Code Pupil

Learning HTML and CSS is easy with Code Pupil. The platform provides a lot of visual exercises and games designed to entertain you. The basics of web design were never so clear and affordable. Gamification techniques provide a unique approach to code learning and the combination of theory and practice implemented into games make the boring routine processes fun and engaging.

Learn Programming By Playing

Code Pupil

Schemaverse

With Schemaverse  – a space-based strategy game – you will become a fleet commander.  The game is implemented entirely within a PostgreSQL database, and relies on raw SQL commands to fight against other players. With a strong PL/pgSQL-foo, you can even write an AI and make your fleet independent.

Learn Programming By Playing

Schemaverse

CeeBot

CeeBot is based on a programming language which is very similar to those used by professional programmers. Being a set of software products adapted to age groups, CeeBot introduces modern features from such environments as C++, C# or Java. You start from learning the syntax of CeeBot. Then, exercises lead you to such concepts as variables, conditional branching, loops, functions, objects, classes, etc. CeeBot includes 4 major software products: CeeBot-Teen; CeeBot-A; CeeBot3; CeeBot4.

Learn Programming By Playing

CeeBot

Python Challenge

The name of this programming game speaks for itself. Every level in Python Challenge can be solved by a bit of Python coding, and all tasks can be solved by short and straightforward scripts. It is also possible to solve most riddles in any programming language, so Python Challenge welcomes all possible codders. Of course, some tasks require Python only. Keep in mind, that extra modules are also required. Fortunately, everything can be downloaded for free. New skills and a lot of experience are waiting for you at the end. Keep the scripts you write while playing Python Challenge, as they might become useful.

Learn Programming By Playing

Python Challenge

Code Hero

Programming a game is available to everyone with Code Hero. This game teaches you how to make other games. Code Hero is about saving the world and you are the hero with a gun that shoots Javascript. The first-person science shooter turns code learning into fun. You use your code gun to copy code and fire it to create new things. You can do anything you can imagine by editing the code. Code Hero gives you a new type of learning. Even beginners can learn JavaScript and Unityscript with the game. Players start using code without any need to understand it. Then master that code to conquer some specific challenges. Learning happens naturally and gradually.

Beta The Game

Beta The Game is a run and jump style platform. It uses codePOP – a custom-built language designed for gamified learning of programming. There is an in-game coding terminal in Beta the Game. Players use it to enter the codePOP commands to interact with the world around them. They can modify the environment by adding new platforms and changing properties of objects. The code POP as a programming language offers a nice mix of code scripting with object-oriented programming. At the same time it also carries some idiosyncrasies. Beta The Game provides a great set of support features. For example, thanks to level sharing the community produces tons of additional challenges.

Learn Programming By Playing

Beta The Game

Hack ‘n’ Slash

This is a puzzle action game about hacking. Gameplay of Hack ‘n’ Slash relies on reprograming object properties, hijacking global variables, hacking behavior of creatures, and rewriting the game’s code. The player sees the same code that underlies the game. At first glance, it is ordinary puzzle action, but the only way to win here is to ignore the rules. Being based on Zelda series, the game aims to push the learn-to-code genre into new territory. Hack ‘n’ Slash is the best way to master game programming with fun.

JSdares

With JSdares, you can learn programming by completing short puzzles called dares. To solve the puzzle you should copy the example and reduce the number of code lines as much as possible. The game starts with simple dares and becomes more difficult as you progress. The number of examples is limited. The developers of JSdares promise new collections of puzzles. There should also be the ability to create your own dares.

Learn Programming By Playing

JSdares

Minecraft LearnToMod

Even Minecraft can be a tool for learning coding. There is a tweak to the Minecraft game, called LearnToMod. It expands the existing abilities of the game and turn the gameplay into programming courses. LearnToMod consists of two major parts: first one relies on Blocks, the second part uses Javascript. By choosing Blocks, you will be able to learn to mod Minecraft without any typing. Learning coding concepts without syntax errors is possible, as Blocks are as powerful as JavaScript, but they are significantly easier to use. If you are looking for more traditional programming, than you can learn to Mod Minecraft with JavaScript. This language of the web is extremely versatile. Both variants are good for improving your coding skills.

Gamify your life

In addition to the gamified learning of programming , we’d also like to introduce some other useful tools:

  • HabitRPG – a tool for general productivity based on a role playing game;
  • Mindbloom – mood and mental health tracker;
  • SuperBetter – a tool for tracking a single goal (quitting smoking or starting an exercise routine);
  • Fitocracy – fithess and nutrition;
  • FourSquare – checking into places and earning badges;
  • ChoreWars – gamified household activities;
  • SaveUp – gamified managing of finances;
  • EpicWin – a playful productivity application;
  • Life RPG – cultivating useful habits in a game form.

More examples of gamification at TrueLifeGame.