When most people talk about gamification, they’re talking about extrinsic reward systems. Virtual numbers going up at a strategic rate to keep people as interested as possible. Levels, experience, badges, achievements, golden blooms, and high-pitched bleeps and bloops. This has certainly been applied to learning how to code in the past, but CodinGame actually turns the coding into a game.
Without getting too much into gamification as a concept, it’s thought by some people I quite respect (and agree with) that our “traditional” interpretation takes the worst elements of gaming and slaps it onto other disciplines in the hopes of milking more out of humans via psychological manipulation. Structure the sales targets differently, and get more out of our salespeople? Easy to see why managers love it.
That said, the power can be used for good, and it’s quite popular in education circles as well – and there are decent examples of gamification to help people learn to code. I’m specifically thinking of Codecademy, which I personally used to learn Javascript, and would recommend to anyone.
But even Codecademy relies on simple virtual numbers and badges as motivation. And the best way to actually make something fun and memorable isn’t through extrinsic rewards, it’s to give it intrinsic value. And that’s what Codingame aims to do.
I’m not very far into it, but it’s kind of apparent to me right from the beginning that this isn’t something you should pick up to learn a language from scratch. It seems more like a “continuing education” tool, or just something to use to brush up on a language when you’ve got a few spare minutes.
The first level has a lot of assumed knowledge — I’ve loaded up the C# section and I’m expected to know all about classes and that sort of thing. I’m supposed to edit a loop so it outputs the closest enemy and its distance from the player sprite, and then it’ll process to shoot it. There’s a small amount of handholding, allowing you to cut & paste the answers into the right part of the window, but what’s the fun in that?
Give it a go here, and let us know how you go!
Comments
3 responses to “CodinGame Is The Most Literal Gamification Of Coding I’ve Ever Seen, And That’s A Good Thing”
As a software engineer myself, I’ve always wondered whether these games/gamifications have value beyond sparking an interest in development. It’s one thing to learn a language and the fundamental concepts of coding (data structures, loops, variable manipulation etc.), but it’s another to learn how to think like a programmer and code well.
From what I’ve seen of the site over the last night, it doesn’t look like a place to learn programming, but rather a recruitement/skill test site. I think it makes for a pretty interesting way to take technical tests and showcase them to potential employers
I punched through Python three tutes, and there was no OOP in those.
Junglist, the class stuff in the code they provide, from what I saw, are calls (methods) to special game objects that simulate the inputs and you’re not meant do anything with them, except consume the variables they spit out to solve the puzzle at hand. You didn’t need any OOP-fu.
Once I understood what I had to work with in the game loops (that was not always crystal) they quickly fell out.