Is there a JavaScript based gamification engine / model framework?

I’d like to add gamification features to my app. Of course I can build that from ground-up, but I am wondering if there is any existing JavaScript frameworks for experience points, achievements / badges, leaderboards and the like. Wouldn’t have to be a complete solution, even a model framework would be nice. It doesn’t have to be too sophisticated, either. For the time being, features like in this forum would be fine (trigger achievements, collect points, advance to certain levels).

1 Like

If your needs are simple there is score.js. I was looking for something similar a few months back and ultimately decided on creating my own class based system. Gamification is very specific to each individual project. Not a good fit for a framework imo.

Thanks for your reply. Score.js is really quite basic, I need more than that. Guess I will implement my own, too. :slight_smile:

1 Like

You might find this helpful. I’m currently working on an achievement system myself so if you find an easy-ish way to accomplish that, do tell! :slight_smile:

I have not used it but there is also something called Phaser. (https://phaser.io)

Thanks. But this seems to be a game engine, not a gamification framework.

(Gamification means game-like reward and reputation mechanisms. It is not only being used in games, but also in “serious” apps, to motivate users. One good sample for this is the badge system of this forum).

Hi @waldgeist, I know it’s an old topic how did you end up doing this ?

We’ll need a similar feature on our project and I don’t really want to overcrowd our meteor backend with verification that the player won the next badge or reward after each of its action seems way too overkill. Could use cron jobs but we want the reward to be immediately appearing.

Was considering using lambdas each time an action happens to potentially trigger the reward, but not sure it’s the best approach. We intend to add plenty of badges / rewards for plenty of action so I’m up for any advice.

I ended up rolling my own gamification framework. I use an event bus on the server side, so everytime a component wants to reward XP or a badge, it sends an event and a central gamification manager credits it to the user. It also decides if certain limits have been reached, so the user advances to the next level. You can see it in action in my project guzz.io If you click on “Open in browser” link, you get to the actual app. Once you register, you’ll get the first badge.

1 Like