A very short primer on gamification

Yacapaca is a gamified formative assessment system. I want to discuss briefly what that means, and how we interpret it in software.

Gamification is the art of making things you want to do anyway more fun, and more motivating. To understand why this is so powerful, I recommend this 12-minute TED talk by Seth Priebatsch because it is a lot more fun and motivating than the admittedly more-comprehensive Wikipedia article.

Let’s start with the observation that formal education is already a game. Students compete for prizes such as university entrance through a series of activities “lessons” through which they proceed through various levels (O-levels, A-levels, etc) by scoring points (grades). Most of the time, their motivation is entirely endogenous (look it up); Johnny is not motivated to do his homework by visualising a glittering career as an insurance actuary. He does it to not get moaned at.

And here’s the problem: the game of education is not fun, and it’s not very motivating.

In Yacapaca, we have attempted to take one of the core processes of education, assessment, and make it fun. Student feedback shows that we have partially succeeded. Note, though, what we did not do. We did not add games to Yacapaca; Yacapaca is the game.

The conventional toolkit of gamification is points, levels and badges. Here is how we have used and extended those ideas.


We have created an internal currency called Badge Points. Students earn these through various actions such as correct answers, completing homework early and writing feedback statements that other students will vote for. Badge points are totally separate from quiz scores (so they don’t pollute each other), and mostly reward activity, not ability.


We have a straightforward levelling system based on judo belts. Start with white belt, move up to black belt and then go up the dan grades. Levels are achieved mostly through effort, and the gap between adjacent levels increases as you go up. So far the highest level ever earned is 7th Dan. Once a student has achieved a level, it cannot be rescinded. Students are proud of their levels and very competitive about earning them.


Students earn online badges for various milestones and achievements such as 25 quizzes completed, or the first quiz completed with 100%. The most popular are badges achieved for levelling up.

A unique twist is that students can buy physical button badges to match their online badges, with the currency of badge points. We then send these badges to the teacher for disbursement. I know from the fact that there is hell to pay when a batch gets lost in the post that these are really motivating.


One of the aims of every game is to keep the player enjoyably engaged. Time flies when you are having fun because your awareness shifts off the clock and onto the task at hand. We know from research that educational attainment is closely tied to time-on-task, so fun and learning clearly go together in this context.

Our contribution is to attempt to give the student long enough to answer the question without stress, but not long enough to get distracted. Badge points earned are then tied to answering within the optimum time. More detail here, if you want it.


There is a problem with competitive games: every winner begets a loser. We see all too often in education that the kid at the bottom of the heap gets demoralised, demotivated and disenfranchised. Organising into teams can completely solve that; here’s how.


Yacapaca can be seen as a game-within-a-game. That’s not all it is, of course, but the game aspect is what makes it much more appealing to your students than the same content delivered as a straight test.


One response to “A very short primer on gamification”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Website Built with WordPress.com.

%d bloggers like this: