Although there is little exposition in Untrusted, the gameplay itself does a great job of illustrating the relationship between code and the digital worlds it creates. It does this by exposing the code that has made the game world to the player, and then allowing players to inject their own code to manipulate the game world. It's a concept that other games have tried to explore in much more dramatic fashion, like the mostly-defunct Code Hero project. But Untrusted's much humbler ambitions seem to serve it well.

The graphics may not be pretty, but they definitely show your code in action.

For example, Untrusted isn't about teaching JavaScript, although I think the opportunity for some tutorial-esque level development certainly exists. For the moment, however, the game assumes that players have a bit of familiarity with JavaScript, which makes Untrusted anything but a "casual" game, despite being browser-based. It can be quite difficult to discover the solution the developers most likely intended players to use in any particular scenario. But fortunately, you don't have to have to be psychic. JavaScript is JavaScript, after all, and while the game necessarily places some restrictions on a player's options, there's always more than one way to pass each level.

But Untrusted really excels in how the gameplay emphasizes reading code and about learning how to use an API. Many programming-centric games tend to over-emphasize the godlike aspects of being a programmer, and gameplay consists largely of creating and destroy objects in a game world, but Untrusted seems much more focused on training players to think about how to manipulate an existing code base. In that respect, Untrusted is far more like any real-world coding job than almost any other code-based game I've previously encountered.

For those who struggle to connect the abstract concepts of programming to real-world applications, or those who have taken some basic courses in JavaScript but don't really know how they might be asked to use those skills in real application development, Untrusted is a pretty useful model for how software applications can be structured and modified.

Over all, Untrusted is a clever programming game that seems perfectly suited to being guiltlessly enjoyed on a lunch break or incorporated into a lesson plan on programming or computer science. So what are you waiting for? Go give it a try at alex.nisnevich.com/untrusted.

Have you checked out Untrusted? Love it? Hate it? Want to share a particularly clever solution? Share your thoughts in the comments below.

I'm a recreational (or casual) programmer, and while I don't work with JS very often, I still found Untrusted very approachable, very fun, and very challenging -- a rare triple-win. I find myself wishing similar games existed for other languages... they make learning addictive! Thanks Alex (and Rachel)!

Catch The Fever!

Yes, I did just use a terribly punny headline to remind you that my interactive story about life and death during the Yellow Fever epidemic of 1793 is now available, totally for free, over at The Appendix. Over 45,000 words with 200+ unique passages and 20 different endings. So what are you waiting for? Go play The Fever! now.

Extra Life 2014

A huge thanks to everyone who watched the live stream and donated to my 2014 Extra Life campaign. In 2014 alone, Extra Life gamers around the world raised over $5 million for Children's Miracle Network Hospitals, and we couldn't do it without your support. Looking forward to 2015!