Gamifying AnkiDroid: Making learning more appealing

Sebastián Velásquez
4 min readJul 3, 2018

--

Introduction

In a straightforward, yet simplistic way, Gamification is the process of adding game elements and schemes in non-game contexts. The main objective is to make an application, product, or service more appealing to users. In learning contexts, Gamification can be used to improve the learners’ perception about the source of knowledge. This way the learning process is more pleasant and the results are better [1].

AnkiDroid is an excellent learning tool. However, the lack of motivational components, other than the desire to learn something, can make it boring for certain users over time. This was the premise to start a project aimed to gamify the application. In this post, I explain the strategy used to gamify AnkiDroid, and the reasons behind the decisions made.

Basic gamification

First, I decided to integrate a casual game into AnkiDroid. This integration was meant to set the stage to implement some game components. The idea is simple: a game with elements that can be only used in an exchange for resources obtained when reviewing flashcards in AnkiDroid. A similar strategy proved to be effective in tutoring systems [2].

The next step was to define the type of resources. Initially, I defined game coins; their objective was to be exchanged for tricks that make the game easier. A step further led to the creation of points, these elements were meant to make the tricks available for use. Therefore, using a trick requires to meet two conditions: having enough points to unblock it, and having enough coins to “buy” it.

Coins and points are similar resources, but they have distinctive characteristics as well. First, both are earned when reviewing flashcards. However, the main difference is how they are used. While coins can be spent by the player to buy tricks, points are just informative, they simply tell which tricks are unblocked. These particular characteristics of points and coins allowed to add more game elements.

Screenshot of AnkiGame showing the integrated game

Advanced components

The informative aspect of points was used to implement a social aspect to the application in the form of a leader-board. There, users can see and compare the number of points of other players. Although users are unlikely to have any relationship among them, the leader-board can promote competition between them. Such competition can increase the motivation of users to earn more points (by reviewing more cards) to improve the position in the leader-board.

Screenshot of AnkiGame showing the leader-board

Points can also be seen as rewards obtained after reviewing each card. However, a further step required the implementation of more advanced rewards or achievements. Here is where I created the ankimals which have to be rescued. Ankimals are achievements in the form of images obtained after earning a given number of points which means that the user needs to review several cards to rescue an ankimal.

Other common elements in games are nicknames and avatars which provide a more custom experience to players. A nickname is set by a user with no restrictions other than the number of characters. Taking advantage of ankimals, they were set to be selected by the users as their avatars which are displayed in along with the number of points and nickname in the leader-board.

Screenshot of AnkiGame showing an achievement (rescued ankimal)

Coins were set to be exchanged for tricks in the game. If the user is no longer interested in the game, coins can become and idle resource. To minimize this problem, I decided to make coins usable in the AnkiDroid context. Originally, rescued ankimals were displayed as grayscale images, moreover, the ability to select an ankimal as the user’s avatar set the perfect scenario to use the coins. Therefore, coins can be spent to color ankimals and select them as avatars.

Finally, games constantly display information about the progress and other elements. Therefore, I decided to implement a status bar displaying information related to the previously described game elements. I set the status bar to be displayed in the most frequently used screens in the application. It contains information about the coins, points, rescued ankimals, avatar, and nickname.

Screenshot of AnkiGame showing usage of coins

Summary

In summary, the following game schemes and elements were added to AnkiDroid to make it more appealing:

  • Resources: coins
  • Rewards: points
  • Competition: leaderboard
  • Social: leaderboard
  • Achievements: Ankimals
  • Customization: Nickname and ankimals
  • Progress: Status bar

The application is available in the Play Store, feel free to try it. In a upcoming post I will talk about the effectiveness of the strategy I explained here.

References

[1] Salomon, Gavriel. Television is” easy” and print is” tough”: The differential investment of mental effort in learning as a function of perceptions and attributions. Journal of educational psychology, 76(4):647, 1984.

[2] Johnson, Matthew W, Okimoto, Tomoko, and Barnes, Tiffany. Leveraging game design to promote effective user behavior of intelligent tutoring systems. In International Conference on Intelligent Tutoring Systems, pp. 597–599. Springer, 2012.

Hi, I am Sebastian. I am software developer and AI consultant. I work in projects related to machine learning, computer vision and UX. Connect with me on LinkedIn.

--

--