Gamification of programming

Drop in for a chat and a cup of tea

3 posts
by Flojer0 » Sat Jun 23, 2012 9:11 pm
Hello. Today, as many others I presume, I greatly enjoyed the Turing Machine Google doodle. In the process I realized a couple of things.

One: embarrassingly, I never really fully wrapped my head around the concept of a Turing machine. But the doodle allowed an enjoyable environment to experiment it, learn, and appreciate what they are.

Two: After seeing such an example I realized how much room there may be in Gamificating (no idea if that's the word I want) programming. I.E. framing game play elements around programming and its concepts to make the act of learning less painful, more enjoyable, and more compelling.

To borrow the first line in the Wikipedia page:
Gamification is the use of game design techniques, game thinking and game mechanics to enhance non-game contexts.


I'm currently imagining having an environment or even an unadulterated computer game which can use situations or puzzles to introduce programming concepts and eventually to encourage experimentation. In the Turing machine Google doodle I was a little disappointed that there were only two sets of puzzles and it didn't give you room to start manually placing instructions. On the good side I was already having all sorts of ideas of things I could do beyond what the puzzles showed, so maybe mission accomplished. Because even if a game only fostered enough excitement for someone to jump into python/c++/whatever to begin designing their own programs then it would have been successful.

Below I've included links to the Wikipedia entry and to an episode from a web show called Extra Credits which speaks on the topic of Gamification, it's relevance in today's world, the benefits, and the downfalls.

http://en.wikipedia.org/wiki/Gamification
http://penny-arcade.com/patv/episode/gamification

Any thoughts? I think such a project could fit very nicely in the Raspberry Pi paradigm.
Posts: 31
Joined: Sun Jun 10, 2012 8:10 am
by andyl » Sat Jun 23, 2012 9:45 pm
Have you heard of Core Wars?

Basically you wrote programs in Redcode (a small assembly like language) which goes around in a digital environment attacking your opponent's programs in a kind of gladiatorial combat.

There is even a Programming Games Wiki http://programminggames.org/MainPage.ashx

From there I found http://jsrobots.com/ which looks as if it may be interesting.
Posts: 265
Joined: Tue Jan 10, 2012 11:05 am
by Flojer0 » Sun Jun 24, 2012 12:04 am
I have heard of core wars, just haven't got into it yet. Haven't looked through the list you posted yet but using core wars as an example I see it more as a game with programming as a premise than turning programming into a game. I'd recommend watching the episode I posted on gamification and if you have the time look through the Turing machine Google doodle. You'll notice in the doodle they do a good job of introducing concepts slowly to teach you how it works. I learned more about turing machines playing through that doodle for an hour than I have through all the rest of my reading combined.

What I'm imagining is possibly making a game where you have python commands on one side of a window and the output on the other. Maybe even having the game work like the doodle and you have simple commands that you can toggle between to give the program vastly different behaviors. In addition to that as the player progresses then they can be given the ability to place commands where they wish out of a 'tool set'. And finally of course breaking into writing real code blocks so solve the problems.

Core wars is more like chess where you need to know what you're doing before coming to the table. I'm shooting for something more like Mario/Halo/many other games that could be named that start you out with a fairly minimal set of skills and let you learn and expand off that.
Posts: 31
Joined: Sun Jun 10, 2012 8:10 am