Log in

Stats

  • Category: Games
  • License: GNU General Public License (GPL) version 2
  • Updated: 2014-3-19
  • Downloads: 2071
  • Recommendations: 11

Releases


Previous releases:

Other Projects

View Ismayil Kharedinov's plugins

hypeGameMechanics for Elgg 1.8

Game mechanics (points and badges) for Elgg

Features

hypeGameMechanics allows your users to:

  • Earn points actively for performing certain actions / activities on the site
  • Earn points passively by receiving interactions on their content items (e.g. ratings, comments, likes)
  • Claim badges when a set of defined criteria are met

Introduction

This plugin is governed by a set of 'rules' - conditions that describe an event (action). Each rule has a unique name and defines a set of conditions that should be met for the points to be awarded or deducted.

Rule Definitions

A set of rules can be extended / modified via the 'get_rules','gm_score' hook.

See readme.md for more.

Throttling

Global settings are exposed in the plugin settings, but you also override those for individual rules.

  • daily_max - maximum number of points the user can accumulate each day with all rules
  • daily_action_max - maximum number of points the user can accumulate each day with a given rule
  • alltime_action_max - maximum number of points the user can accumulate with a given rule
  • daily_recur_max - maximum number of times the points can be collected each day with a given rule
  • alltime_recur_max - maximum number of times the points can be collected with a given rule
  • object_recur_max - maximum number of times the points can be collected for a single object with a given rule This can be helpful to throttle rules that apply to multiple events, such as 'create','object' and 'publish','object'. Another example would be likes that only apply once to an object
  • daily_object_max - maximum number of points the user can collect each day by performing actions on a single object
  • alltime_object_max - maximum number of points the user can collect by performing actions on a single object
  • action_object_max - maximum number of points the user can collect with a given rule on a single object For example, you can limit the maximum number of points for commenting on an object

Badges

Badges are rewards given to users upon fulfillment of predefined conditions. Each badge can be conditioned with 4 criteria:

  • A minimum number of points the user should have
  • Up to 10 rule definitions with a number of recurrences for each rule
  • A number of points a user should spend to uncover the badge
  • Other badges that are required before a badge can be claimed

There are 3 types of badges:

  • status - status badges will define current user status on the site
  • experience - experience badges will be displayed on the user profile to symbolize achievements/contributions
  • surprise - surprise badges will not be visible in the badge gallery

Notes

  • Administrators are exempt from point rules

Examples

See readme.md

 

Comments

  • ElggCloud 830 days ago

    @Ismayil  Thanks for your all great plugins. 

    I have installed this plugin:

    - Elgg 1.8.3
    - hypeFramework 1.8.5
    - Uploaded 2 badges.
    - Defined 10 points for a adding comment, and 5 points for liking.

    But user points are not added when doing certain actions.

    Am I missing something else?

     

     

     

     

  • Ismayil Kharedinov 830 days ago

    Points for comments and likes appear in the list twice, the first instance is for core elgg comments and likes, the later ones are for hypeAlive. Make sure you've defined the points for the right one.

  • ElggCloud 830 days ago

    Aha, I didn't know that!  So I defined points for Elgg and hypeAlive comments / likes.
    However, so far no luck. I still don't get any points. This also did not work with deactivated hypeAlive plugin.

    Ok, let's see if somebody else has the same problem.

     

  • Ismayil Kharedinov 829 days ago

    Can you check your error log to see if any errors are registered there? Have you tried defining points for other actions?

  • ElggCloud 829 days ago

    I already checked the logs, no errors!  Also, I tried other actions like bookmarks etc. but no luck so far. Hmm ... I will continue testing but enough for now :-)

  • ElggCloud 829 days ago

    Well, I continued testing.  So I deactivated all plugins and re-installed hypeFramework 1.8.5 and hypeAlive 1.8.5.  I activated plugins one by one until I found out that there is conflict with one of my cutom plugins.  Ok, I will look into this later.

    Here are my test results so far:

    • Awarding points for hypeAlive comments works.
    • Awarding points for standard Elgg comments does not work.
    • Awarding points for hypeAlive likes works but there are two issues:

           - You always see 'Processing ...' system message that shows above the other 2    
              important messages: points and saving your like.

           - Sometimes I get double points for like!  Also, I see 2 messages for awarding points.

    • The list of actions in the plugin settings is too long to find certain actions easily.

        Suggestion: a stronger visual separation (incl. labels/wording) between standard Elgg
        and hypejunction plugins actions is needed.

    Otherwise, plugin is recommended!  Very well done, thank you!

  • Ismayil Kharedinov 829 days ago

    For the conflict, I would look into your event and plugin hook handlers and what they return.

    Points for Elgg comments should work if you disable hypeAlive.

    Likes will only be awarded once if you disable the Likes plugin, or not enter the value in the corresponding field

    List of actions is indeed long and sometimes confusing, but I kept the additional labels out to not overload the language file - it's quite big as it is, adding a plugin label to all actions would require that I add twice as many language strings - I think you can cope with the confusion at the cost of better performance (each language string is parsed with js at page load).

  • ElggCloud 829 days ago

    other test results:

    - Minor issue with language file: Manage hJ  admin:hj:mechanics in admin site.

    - I uploaded 2 badges (a simple scenario): a golden badge was assigned 100 points
       and a second silver badge 50 points.

       Now, I have reached the 100 points and claimed my golden badge as a super user :)
       But the thing is that the silver badge is still available to me to claim it too. Just out
       of curiosity, I claimed this silver badge. Unfortunately, I have now only this silver
       badge on my profile, and not the golden one (my points remained the same).
       This is unfair :-) 

       Well, seems that I downgraded myself!  Was this case designed in your point
       system to handle this in that way?


      

     


      

     

  • Ismayil Kharedinov 829 days ago

    That's why you have required badges ;) The plugin has all the functionality in place, you just need to think it through.

    Gold must require Silver, and you are all set.

  • ElggCloud 829 days ago

    Ok, I'd better explain what I meant with that test scenario. 

    If I click now on every badge I got (on the badges page), I see the following:

    Golden badge:  This badge is already proudly displayed in your profile
    Silver badge:    This badge is already proudly displayed in your profile

    But on my profile there is only the silver badge shown!


     

  • Ismayil Kharedinov 817 days ago

    Sounds good. Could you add these to hypejunction.com/trac, so I don't loose track of these. I think another good suggestion would be to allow admins to give an arbitrary amount of points to users.

  • stoz 812 days ago

    I've got this installed and running and it's very impressive. I've got a couple of questions though:

    1. What are the differences between the 4 badge types? (Status, Experience, For Sale, Surprise)
    2. Is it possible for users to have multiple badges, or does a new badge overwrite the pervious one?
    3. Is it possible to configure a badge that can be arbritrarily handed out to users by an admin rather than earnt / bought?
    Thanks for any answers you can provide, and keep up the good work!
  • Ismayil Kharedinov 812 days ago

    Status Badges display as the current user status under the profile icon. Any new Status badge will overwrite the previous one (however all status badges will be display under profile info)

    Experience badges - you can get as many as you want, they only display under profile info

    Sale - the intention is to introduce Badges for $$$ in one of the previous versions. 

    Surprise - these actually relate to your 3 question. They are not visible to users. I haven't gotten to the part to actually making it work, either running a cron to see who qualifies and / or letting admin award them

  • stoz 811 days ago

    Ok great, thanks for the quick reply. The badge types make a lot more sense now.

    I'm really excited about the Game Mechanics plugin, however like you mentioned in the notes I'm not sure if I can afford the performance hit on a production website. I've very much looking forward to an optimised version of this plugin. :-)

  • Ismayil Kharedinov 811 days ago

    I am not really sure how much faster I can make it run. It uses too many hooks. I think your best bet is to identify the actions you actually need and reregister some of the hooks.

  • Nudeler2
    Nudeler2 805 days ago

    You are deceiving people. You delete my normal comments. You just want recommendations, you delete comments when someone not recommend your not recommendable addons.

    Your forum addon doesn't work, too.

  • Nudeler2
    Nudeler2 805 days ago

    btw: I saved it all. Have in mind to integarte that in my site under: 'Arrogant developers'. :)

  • DhrupDeScoop 805 days ago

    Thank you - I just woke up and had coffee and was looking for some entertainment. Made my day ;oO;p;Q;X

  • Nudeler2
    Nudeler2 805 days ago

    I asked this a couple of hours ago, but you just deleted my normal comments:

    I have deinstalled hypeGameMechanics, but the river-entries of hypeGameMechanics are still in activity page.

    How can to delete this?

    You are the developer, so just give an answer!

     

  • DhrupDeScoop 805 days ago

    just @ phpmyadmin
    just @ table elgg_river
    just = delete rows as @ desired
    ;)

  • Nudeler2
    Nudeler2 805 days ago

    Thanks, I will try this.

  • Nudeler2
    Nudeler2 805 days ago

    That works fine. Thank you very much!

  • Flexx 804 days ago

    Suggestion: How about an option to keep certain entities or pages hidden until a user reaches accquire a certain amount of points?

  • Ismayil Kharedinov 804 days ago

    Too much overhead when not knowing specific pages, so I would suggest that you right your own hooks and hide the necessary pages.

  • ancientspark 760 days ago

    Um..   no points for VIDEOS posting?  you have no actions for posting videos even at the core level with the simple video plugin...  when are you going to add the videos as a thing to administer points to?