Take, Beta The Game, for example. It's a run and jump style platform that uses a custom-built language called codePOP. Via an in-game coding terminal, players use the codePOP language to modify the world around them, adding platforms and changing properties and behaviors of objects. David Thomas, who reviewed the game for Graphite, points out how this unique language has its benefits and drawbacks: offering a nice blend of "code scripting and object-oriented programming" while also carrying with it some "idiosyncrasies." Still it's got a great set of support features, and level sharing provides users with tons of additional player-designed challenges.
While these two games are a bit under the radar, Hack 'n' Slash has more reach due to the big name talent behind it. Developed by fan favorite studio Double Fine Productions -- the company behind critical darlings like Psychonauts and Broken Age -- Hack 'n' Slash aims to push the learn-to-code game genre into new territory. Modeled on the Zelda series, and trading on Double Fine's signature charm and inventiveness, Hack 'n' Slash mixes adventuring and puzzling and doesn't pull any punches in terms of what players can do with the game's code. Just about everything in-game can be tweaked and modified in whatever ways the player chooses. In fact, the same code that underlies the game is the code the players see. And, bravely, Double Fine made a decision early on in development to not wall off or gate the code; instead, it's set up like a sandcastle waiting to be stomped. For players that's an empowering feeling – like the game can be fooled. Graphite hasn't reviewed it yet because it's still in-development, but are interested to hear what teachers who have already played it think.
All of the games mentioned above represent and expose a key quality of play that's often lost in stuffy, overly-scaffolded learning games -- subversion. While code might be all about rules and procedure, play isn't. Games are the things that harness play through rules, but play -- and players -- can never quite be tamed. Play is too big and too slippery, ever redefining itself and evolving. Yet code -- and in some sense games -- are defined by stability. How can the two be reconciled? By letting games be games -- finicky and structured -- and players be players -- risky and inventive. This offers an appealing counterpoint to the dominant and perhaps tired code literacy rhetoric: stop 'learning to code' and start messing with it.
Tanner Higgin is Senior Manager, Education Content, at Common Sense Media, creator of Graphite ™, a free service for educators in search of the best apps, games, and websites rated for learning. This post is one in a series collaboration. Games included here have received high ratings on Graphite by educators and by the editorial staff at Common Sense Media. Go to Graphite to read full reviews of games and how teachers use them for learning in class.