So I have recently implemented and committed RPG Achieve in the RPG module series for Drupal. This allows games to record achievements of players, such as "You have slain 14 dragons", or "You were the first to summit Ploggers Peak". Next in that progression will be RPG Quest, which will allow achievements to be grouped together.
I've begun implementing achievements in Spindowners, an upcoming sci-fi RPG being built with the RPG module. The game's shaping up nicely, and is currently in a closed Alpha. It's nearly ready for an open Alpha, with one character class at least.
Achievements may be defined in the administration pages, or through rulesets. Once defined, you only need to call rpg_achieve_set("achievement_1", $pc) to set the achievement. Each achievement has fine-tuned permissions, so that they may be visible to the player or not, and whether or not a message of achievement is sent, for instance. Obviously, each player character has their own achievements. Once Views 2 is out and RPG is ported to d6, I'll also hook it into the upcoming RPG Views.
Other new changes: I've ripped out the definitions from Rulesets into their own .inc files, for automatic inclusion on import, since those will only be called once. It's easy to limit character classes for user roles, etc., now, with hook_rpg_pc_types. I'm also in the middle of defining a few more useful core objects in Drudge, such as "Shuffled Event Lists" (which spout out occasional messages when appropriate, such as "A hawk cries in the distance," or "A meteor shoots across the night sky"). Along these lines, I've introduced rpg_trigger_all('event_name'), which will call rpg_trigger for all objects in scope.
Scope is another new thing, necessary for events to work properly. Now, when each event is called, the $rpg['scope'] array will hold all objects in scope for that event. By default, that will be the pc, the pc's containing room, and any objects invoked during an action. Other objects may be added or removed manually, but that should be sufficient in most cases.
Next on my plate: the holy grail: a single game page that never reloads, instead reloading just the blocks as needed. This allows for the creation of neato game UI's, battle music, and the ever-popular ad block from hell...
IF YOU HAVEN'T ALREADY, make a character at Drupal RPG. It's fun! Pointless right now, but you can see what all the fuss is about. Make sure to check out the snowbank for fun things to do...
Aaron Winborn
AaronWinborn.com (my blog)
Drupal RPG (home for the RPG module)
Spindowners (an upcoming sci-fi game built with the RPG module, currently in closed alpha)
Advomatic (my day job, a really cool place to work)
Glad that you're able to make it in one way or another! :)
hello!,I love your writing so so much! proportion we
be in contact more about your article on AOL? I require
a specialist on this house to solve my problem.
May be that's you! Looking ahead to see you.
Greetings! I've been reading your weblog for a long time now and finally got the bravery to go ahead and give you a shout out from Atascocita Texas! Just wanted to tell you keep up the good job!
Having read this I believed it was very informative.
I appreciate you finding the time and effort to
put this informative article together. I once again
find myself spending a lot of time both reading and posting comments.
But so what, it was still worth it!
Hello there, just became aware of your blog through Google,
and found that it is really informative. I am gonna watch out for brussels.
I will appreciate if you continue this in future. A lot of people will be benefited from your writing.
Cheers!