How to build gamification into your online course

Photo by AronPW on Unsplash

As a lifelong learner who has been studying online courses for years, it has been amazing seeing the progression of online courses in quality and accessibility. This has been fast tracked by the pandemic that has given remote workers, furloughed workers, university students and at home parents more time to invest in personal development.

Being able to access complete course syllabuses at top universities without paying hundreds of thousands of dollars is a massive opportunity. Some would say that university courses are being outdone by the interactive, practical and user-friendly set up of online courses.

Online courses have come a long way but there’s still ways to make the learning experience even better. Before diving into how we can take steps to achieve this, let’s define what is the optimal learning experience:

Being able to retain, develop an intuition for and apply what you’ve learned.

There is a whole science behind what makes a successful learning experience leading to the satisfaction and new found competence of the student. Gamification has already been applied to everything from apps, marketing and online course platforms to make the experience enjoyable particularly for difficult subjects.

Any gamification platform is explicitly designed to stimulate the reward pathway in your brain which can suppress your perception of time.

Nicole Spector

I believe as an avid gamer and fan of online courses, there is room for adding a new layer of gamification within online courses.

These are the 4 advanced methods to gamifying the learning experience that’s rarely used in most online courses. These tactics go beyond scoreboards, colourful animations, point systems, milestone trophies and progress tracking. These are all already being implemented in programming courses from Codeacademy, Khan Academy and Datacamp. My inspiration for these ideas come from my love for RPGs and competitive shooters, I spend my evenings playing. 

Difficulty Settings


What is good challenge? Fundamentally, it’s about raising the stakes and rewards for those who want it. 

When someone traditionally builds a course it’s for a specific audience in mind. For example, “Python for Beginners” or “Machine Learning with Python” with a list of prerequisites including prior Python knowledge. But within that audience there’s probably smaller segments of people with a range of competences. There’s people who have mastered the prerequisites to those who have zero knowledge of the foundational subjects your course is based on.

The question is how do you provide an equally satisfying learning experience to those that need hand-holding and learners only needing a quick refresher/crash course? Difficulty Settings.

Tuning of difficulty levels result in extended longevity for the game, and increased enjoyment for players at all levels. It goes without saying that games should be appropriate for their target players on all levels, providing challenges for each skillset.

It is good to build for the least competent students to avoid overestimating your student’s knowledge but you don’t want to hold them back from their potential either. So you introduce difficulty settings into your course. A good starting point is the harder it is, the more you hold back supporting material, allowing students to engage their problem solving skills. 

It is imperative you clearly outline the difficulty settings. Simply saying “this is optional” will lead to students not challenging themselves because they don’t know what the real challenge is. Also the difficulty tiers must be as natural as possible. You want to avoid the “artificial difficulty boosts” seen in video games where they just add more health to the enemies or increase the time it takes to complete quests. In the case of an online course, don’t make the more challenging content more time consuming while not requiring more competence.

For example if I was going to build a online course today I would have harder difficulty modes that require you to:

  • Apply the same coding principles to new material with less context.
  • Strip back the narrative and start with a simple question so students can work through the steps of thinking the problem through. Easier difficulties will provide more prompts and guide more of the steps.

Khan Academy does this very well where the idea of mastery is built into the very fabric of their courses. One of the Khan pedagogy is that students get instant feedback and can keep moving up difficulty levels.

The positive impact of adding difficult settings into your course exercises is two fold. First, you provide multiple options catering to students thus increasing student satisfaction. Secondly, you appeal to the competitive nature of students. Essentially encouraging them to Git Gud. Git Gud is a term used a lot in the video game world where complaining is frowned upon and instead you should just focus on improving. 

Most students wanting to prove a point to themselves or their peers would select one of the higher difficulties within your course and work even harder to complete the exercises. This psychological incentive to invest more into your course will lead to higher satisfaction because of the effort expended.

Build a portfolio, create a network, and land your dream job with Techdegree (UX Design, Full Stack Javascript and more)


You Think Your Favorite Video Game Is Hard? Try Speedrunning It : NPR

One of the key advantages of online courses is working at your own pace. Whether it was fast or slow, it doesn’t matter when you complete it. But what if you wanted to prove your mastery beyond a certificate? Let me introduce you to a speedrun which is a popular way of playing games where you aim to complete them in record timing. Finding a faster way to accomplish goals, a better route, a more efficient method of movement: all are part of the approach in achieving a good speed run,

How would this work in an online course?

The more predictable way is how quickly you can complete all the exercises in a course but you’ll just be going over the same questions or coding through the same examples. This focuses too much on memorisation of syntax and not problem solving ability. The aim of speedruns is to show your competence by solving problems efficiently. For example:

  • Can you write a programming solution in the least amount of code?
  • Can you visualise this data with the least amount of detail?
  • Can you write a short story with as much world building and character development as succinctly as possible?

And the best part of speedruns is showing off how you did it. This is important because skill mastery is proven through your ability to teach it to others. It is also common practice to have your “speedruns” on a global scoreboard for bragging rights and would also inspire new students to rise to the challenge. This is a good way to build camaraderie within your student community.

PvP Battles

The Genius of Soul Memory - Fextralife

PvP in video games offer longevity through social interaction, in a way no other entertainment medium can. You can gain the same benefits for your online course by encouraging civil, healthy competition within your community of students. Academic studies have shown that certain competitive games, if used properly, can also promote prosocial behaviour and skill development.

Kaggle does a great job of this by providing global challenges that feel like data science battle royale (without killing each other part). Although there’s room for more 1 vs 1 personalised “battles” such as finding Kaggle Partners to pair up with on Discord or taking on unique Kaggle tasks.

This reminds of a Writing Fiction course I did some years ago which included a peer-to-peer pair-up where we would critique each other’s work. Although there isn’t an actual “winner” in these cases, by knowing who exactly you need to compete with, you’ll be more motivated to put your best foot forward. 

I believe in the power of challenging a direct rival student on a similar skill level. With online games bringing you someone to play against anytime, there’s always a drive to improve and play “just one more match. It’s the same with learning in such a way, it’s personal, direct and offers clarity of objective. Now imagine if this can be replicated repetitively?

This can be applied to your course by randomly pairing your students at the beginning of the course. Or a more asynchronous way would be to offer the option to compare student exercise solutions against someone else’s.

Skill trees

Most courses have an occupational outcome, whether that’s a data scientist or a full stack developer. And within that you have to complete big projects such as a recommendation engine or a website application. These are what I would call complete abilities or character builds within a role-playing game. But unlike video games, courses tend not to clearly define the smaller skill acquisitions that lead to the final outcome. I believe more online courses should have Skill trees.

Skill Trees are progression systems, starting from (a) common basic trunk(s), and expending into more specialized, micro skills.

Progression metrics are already present in most courses such as syllabuses and projects. Adding skill trees visualises this more clearly in a more practical and hopefully digestible way. Commonly used in RPGs skill trees are added to ensure progression is built into the game’s design.

For example, if I was going to build an online course to be a data scientist I would structure a set of modules that unlock “mini-skill sets” including:

  • numpy pro – Unlocking the ability to crunch numeric data efficiently
  • pandas specialist – Unlocking the ability to deconstruct spreadsheets at will
  • Sklearn explorer – Unlocking the ability to train your computer to spot patterns
  • Seaborn knight – Unlocking the ability to visualise complex information

These skills could give you the experience to take on the “quest” of building a recommendation system for songs on Spotify. This is how you can build a narrative around the journey to becoming a data scientist on top of a generic syllabus of modules that don’t mean much to the uninformed learner.

In video games, Skill trees should be designed for the player to work towards navigating a path that is tailored to their playstyles and chosen builds for their characters. In the case of learning I have certain objectives in mind.

  • In a writing course I want to focus more on a world building “playstyle” because I want to be a fantasy novelist
  • On a programming course, I want to focus more on classification models so I can build recommendation algorithms for entertainment genres

These things should be considered when building an online course for students with different goals in mind.

What you will notice with all these tips is that they add some sort of additional feedback loop to drive your students to higher levels of mastery. The reason video games are so popular is that tiny feedback loops appear all over in every game. Nailing a combo in a fighting game and seeing your opponent bested feels good. Leveling up in an RPG boosts your stats just a bit more. Unlocking new power-ups and finding secrets encourages you to look for more.

Interactive platforms like Datacamp, Khan Academy and Codeacademy do this very well with their career tracks. So when you get round to building your own online course, you should consider picking up some learning from the pros and your favourite video games.

Leave a Reply

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

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

Twitter picture

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

Facebook photo

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

Connecting to %s