Habitica: a role-playing game for self improvement
What if real-life chores could gain you fake internet points like in an online role-playing game? That's the premise of Habitica, a productivity application disguised as a game. It's a self-improvement application where players can list their daily tasks or to-do items in the game; every time one is checked-off, the game rewards the player with points or game items.
The game dresses up the task-checking mechanics with the standard trappings of the genre; there are character classes, weapons, armor, and level progression. These are mapped onto real-life tasks in novel ways; it is designed to make daily chores fun. The game is hosted on the Habitica server and can be played from either a web interface or a mobile app (iOS and Android). Both the mobile apps and the server software are available under the GPLv3.
Playing the game
Habitica draws from the tropes of fantasy role-playing games. The player creates a character to represent themselves in the game. The character's appearance, such as skin color, hair, and gender, can be customized. The player's character will belong to a class: warrior, mage, rogue, or healer. All characters start off as warriors, but a player can choose one of the other classes once they reach level ten. Playing the game involves listing "habits" that are real-life activities that the player wishes to do on a regular basis. Habits can be anything, such as exercise or flossing; the player needs to state the difficulty level of each habit when listing it.
Whenever a player performs one of the listed habits in real life, the corresponding item in the game can be clicked; that action will be rewarded with experience points and game currency. Experience points help with the character's level progression and currency can be used to purchase equipment. A player can also earn pets, which are unique little cosmetic additions to the character's avatar. The pets can be "fed" with "food" (which is an in-game prize); with sufficient food the pet will grow into a mount, which the avatar can ride.
For habits that the player wants to cultivate regularly, there is a special list called "Dailies", though items on the list can be less frequent than daily (certain days of the week, weekly, etc.). Players will be penalized health points if they miss checking off an item from their Dailies list. Finally, there is a to-do list where one-off items can be listed and checked-off for points. The character's class has some modifiers to the point-scoring system, but it often does not make much of a difference which class the player's character is.
Players can team up with other players to form a questing party and team up in group quests where every task accomplished will contribute points to the quest at hand. Missed habits will incur a penalty to the entire party, so friends can team up and motivate each other to stay the course for their daily habits. Besides the party system, there is also another way players can work together in Habitica: a group chat feature called guilds. A guild is formed with a theme or shared common goal. For example, there are guilds for artists, students, and healthy living enthusiasts. Guilds can set up challenges, which will add tasks to the habits list; completing them will earn in-game prizes.
It is a relatively simple web game, the graphics are two-dimensional and lack the sort of sophistication you'd find in modern video games. The characters are reminiscent of the sprites from 8-bit Nintendo games of the 1980s, albeit lacking animation. There is an old-school kind of charm to the game's look and feel.
Since the game can't enforce whether or not you do a particular challenge in real life, it is up to the player to accurately record their habits in the game. To get the most out of the self-improvement aspect of the game, players need to be honest with themselves. The social aspect of the game helps in this regard, as party members encourage each other to stick to their respective routines and not give up.
Development
Habitica grew out of a personal project by Tyler Renelle to help him track his daily habits. The first version was called HabitRPG, and it was just a Google Docs spreadsheet. As interest grew for the game, it was converted into an online app. Eventually, Renelle was joined by Siena Leslie and Vicky Hsu to create a company called HabitRPG Inc. to develop and support the game. A Kickstarter campaign was launched in 2013 where 2,817 backers pledged $41,191 to help fund development. The code for the game is available from the company's GitHub account.
Playing the game on HabitRPG's servers is free, but to finance its operation, the company has a paid tier that offers players special items not available on the free tier. Paid-tier members can accumulate another in-game currency called gems that can be used to acquire special items and quests.
The site is developed mainly in JavaScript, with Vue.js providing the front-end rendering. Node.js and MongoDB power the server-side back-end of the application. The site is developed as a community effort; users of the site collaborate with each other and HabitRPG to add features, artwork, and bug fixes. The development community uses a combination of tools to aid in development: Trello, Bountysource, and Habitica itself. It is interesting how the software can be used as a way to gamify its own development.
There is a guild for contributors where development can be discussed and specific tasks will win prizes in the form of in-game gems. Bountysource is also used for further incentives; users can donate money toward a feature request, which can be claimed by anyone who successfully implements the feature. Contributors organize their tasks on Trello. Once a contribution is accepted, there are a number of in-game badges of honor, special items, and gems as rewards.
Unlike regular applications, games require not just code but all manner of assets such as graphics, music, sound, and playable content. Thus, the Habitica development community isn't just coders, but also artists and gaming enthusiasts. The community has created categories for contributors: blacksmiths (coders), artisans (artists), bards (sound designers), linguists (translators), linguistic scribes (wiki translators), socialites (question and answer support), and storytellers (game content writers). Each group has a dedicated community around creating new content and features for the site.
In the coding guild there are over 5,400 members, and the artist guild has over 1,700. The other guilds have less than a thousand members, but even the smallest guilds have more than 300. Granted, not all the members are active, but the number of people joining are a metric of how interested people are in contributing to the game. Contributors consist not only of professional developers and artists but also people who write code or draw art as a hobby. The simplicity of the game's mechanics and graphics make it relatively easy for contributors to jump in. The messages exchanged in the guild chat room are supportive and constructive, which keeps the environment friendly and welcoming.
The site exports an application programming interface for third-party programs. A third-party app can talk to the server using a RESTful interface. The documentation is comprehensive and lists every possible available action in the game that can be invoked via the API. This allows for innovative third party tools such as a bulk pet feeder or a tool to create Habitica tasks from GitHub.
Conclusion
Habitica is both a game and a productivity application and, as such, the development of the software gets the best of both the application and game development worlds. Most games need to be "finished" before they are interesting enough to play, and this is why most open-source games have not really taken off. However, the Habitica development model lets players invest their time in the development of the game as part of the game, and offers gamified incentives to contribute.
The game is also useful in itself as a tool, unlike a conventional game. However, the development process relies on a number of different tools that lack a degree of integration between them, so developers may run into problems such as tasks on Trello being unable to update bounties on Bountysource. These issues will probably be addressed in the future, as there is an enthusiastic community around the game that is proceeding with a rapid pace of development. Habitica is useful as a self-improvement tool, fun to play, and fun to engage with as a developer.
| Index entries for this article | |
|---|---|
| GuestArticles | Hussein, Nur |
