Closed (fixed)
Project:
Achievements
Version:
7.x-1.x-dev
Component:
Code
Priority:
Normal
Category:
Task
Assigned:
Reporter:
Created:
2 Feb 2010 at 18:24 UTC
Updated:
12 Nov 2011 at 14:53 UTC
Jump to comment: Most recent file
... is attached. A quick shortcut until I get the full environment going.
| Comment | File | Size | Author |
|---|---|---|---|
| #10 | achievements.tar_.gz | 13.71 KB | univate |
| #1 | achievements.zip | 16.18 KB | morbus iff |
Comments
Comment #1
morbus iffComment #2
askibinski commentedI was looking for a reward system not uncommon like the one found on foursquare.com for example. But I don't think it is possible with the userpoints/rules combi because they award badges on certain level of points while in my case, I would like to award 'a badge' when a certain condition is met (and in addition points). So this module looks good, thanks!
I looked at the code (laughed a lot at your comments by the way) and I think your module would be a great start for anyone wanting to create its own award system.
Comment #3
Vidus commentedThis module looks great. I know multiple users at my University would love something like this for websites to use with students. Please continue work on this!
Comment #4
poopertropper commentedAny news on this mod? I'd be interested to know if its still in dev. Thanks!
Comment #5
TapSkill commentedYou can download the code in its unfinished state and change a few things as needed, but it is not easy to add more achievements to. You will need knowledge of how the Drupal API works and how the module works, but both are documented fairly well.
I dug into that code, and I can tell a lot of thought went into it. I used it as a stepping stone toward a custom achievements system on my site, so thanks a lot, Morbus.
I do not have time to volunteer as a maintainer, but if I solve any major problems with the code, I will definitely share my changes. As it is, I only noticed one major flaw: the user-specific achievements list does not show up. The achievements page is also a 404 error, but I do not consider that a big problem, because I can make a simple page to take its place. Overall, the module works very well as-is.
Comment #6
univate commentedI have taken the code here and modified it to created a version that extends the ctools plugin system which means that achievements can be defined in code or in the database, making it a lot more configurable. You still need to define achievement types in code, but once that is done you can change certain variables like in the example of comments you could define as many achievements as you want for comments.
I could setup a new project or just sandbox project for this, or if no-one else is interested in maintaining this module I would be happy to take over it. In any case I will try and post what I have somewhere soon.
Comment #7
morbus iffAs an FYI, this will likely be going back into active development soon, starting with a port to Drupal 7.
Comment #8
morbus iffThe first release for Drupal 7 should be this week, so I'm closing this.
Comment #9
morbus iffComment #10
univate commentedHere is the module I am using at the moment. It is largely based on the code above with some work done on implementing support for ctools exportables.
It does change how this module is currently working, where instead of defining achievements in code you just define achievement types in code. These could be "counting comments" or "counting node posts", both are implemented in the attached code. But it could be something more complex.
Then you define the goals, so an actual achievement will be based on one of the achievement types and define a specific goal:
* user posts 20 comments
* user posts more then 5 nodes of type forum
With each goal you can specify a title and points.
These goals can either be defined in code or entered through the UI. Once you enter then in the UI you can also export these into a feature through the interface with ctools exportables.
It still retains the same idea of once you have unlocked an achievement that you don't get it again.
What I have written here does need a bit of polish, but I thought I would share it since there looks to be some renewed effort on development.
Comment #11
morbus iff@univate: I won't be supporting such a thing, for reasons explained at the bottom of the D7 README and the project page.
Comment #12
morbus iffachievements-7.x-1.0 is now available.
Comment #13
BenK commentedKeeping track of this
Comment #14
univate commentedI did read your reason and also agree that basic achievement like posting 'X' comments is not interesting, although would have thought there is a place for an achievements system that can do both. The way I see it, by supporting simple achievements that can be defined through a UI it make this module more accessible to gets started.
Comment #15
manuel garcia commentedVery interested in the module, splendid idea!
I think integration with ctools exportables is totally a must, for all the reasons we all know.
As far as shipping with example (default) achievements, I’m fine if there are none, and I actually agree with the philosophy behind the decision. If someone doesn’t they could always create a separate project called achievements_examples, to help real newbies understand I suppose.
I take the liberty of setting this to needs work, with no disrespect meant to the project's maintainer... in Hope the 6.x branch gets committed in some form, univate... perhaps you may want to comaintain the 6.x branch? :>
Comment #16
morbus iff@univate: Of course. There *is* a place for an achievements system that can do both - it's just not something I'm going to support in core. I clearly couldn't stop you if you wrote a layer on top of Achievements and released it as a contrib module (and it'd be quite simple to do, really - wouldn't even need ctools). However, I firmly believe that making an achievements system "more accessible" for non-coders immediately harms gamification. Gamification *already* has a bad name. Achievements have been getting worse for *years*. Allowing a Playskool "put in the numbers" approach to achievement creation is not going to help the situation. I'm a hardcore gamer and achievement whore and I want better achievements. Better achievements come from creativity, not a UI.
Comment #17
morbus iffI will not support a Drupal 6 branch. Drupal core has its own way of pushing forward upgrades and removing cruft (by never caring for backwards compatibility), and I, in turn, have MY own way of pushing forward upgrades (by not supporting previous versions of Drupal core). To each his own, of course.
Comment #18
manuel garcia commentedFair enough morbus, thanks for the reply! =)
Comment #20
jurriaanroelofs commentedIt's too bad the D6 version doesn't have a branch. I want to add achievements to my open atrium installation so the D7 version won't work and it won't work in in the foreseeable future. I understand you want to push forward Morbus but maybe other would like to backport your D7 work to D7 and it would be easier to collaborate if there were a branch and maybe a D6 maintainer.