Game achievements, popularized recently by the success of XBox Live, have become an almost expected feature in games today. Players love the bragging rights and recognition of accomplishments and as a developer you can utilize achievements to increase engagement and re-playability within your game and even get a better understanding of your games tuning and what resonates with players when planning an update.
If you havent seen Jesse Schells excellent Dice 2010 talk, I definitely recommend it. In it he discusses the meta game, creating an experience that lives on top of other experiences. One can see a future where achievements are rewarded for everyday tasks and one OpenFeint-enabled application, Dunnit! (a to-do list) does just that. Coming back down to game development, achievements are a great way to reward your players and give them new challenges above and beyond your standard gameplay options.
The development of achievements should not just consist of slapping points onto the completion of a level and calling it a day. There are so many opportunities to use achievements to guide users, introduce them to new game mechanics, and provide hints to other things that players can do in the game. The basics can consist of elevating the number of points awarded for each level completed and some kind of capstone if your game has an ending.
Moving to the next level, early on its a good idea to reward more complex movements that will be absolutely necessary later in the game. A good example of this is introducing chaining mechanics in a puzzle game. The first chain can unlock a small achievement with larger rewards later on for much more complicated chains. Some developers have gone so far as to put achievement points within an optional tutorial, giving users more incentive to learn how to play the game before jumping in.
Regardless of how you implement early achievements, its important that you dont bombard the user with achievements, particularly if youre using a more invasive notification, as it may provide more of a distraction than a reward. User feedback with fresh builds can give you a good basis for calibration.
Have fun creating achievements for things that come up in testing or that reward experimental behavior. A good example of this is found in Jet Car Stunts Car Tricks achievements. Unlocking them is generally going to net you a slower track time, but rewarding the player for fun activities like a 360 flip draws attention to cool events in your game and gives achievement junkies a goal to try themselves. Some of the most charming achievements are those that are based on aggregate behavior that comes during regular gameplay. Tiki Totems tracks the number of times you fail (breaking the idol) and awards achievements such as Gave Volcano Gods an Ulcer and Volcano Gods Now in Counseling.
For the true achievement junkies, theres nothing better to reel them in than by creating secret achievements. Entire forum threads have sprung up with players trying to figure out how to unlock rewards that arent listed. Going off of this, you can also use secret achievements to hide story or gameplay elements from players who have not yet gotten that far. For example, you wouldnt want something like Darth Vader is Luke Skywalkers father 10 points.
At OpenFeint all games are allocated 1,000 points to distribute as player rewards. There are a few overall policies [Link to policies doc], but in general we encourage developers to tailor the achievements based on game difficulty or milestones. A good rule of thumb is to break achievements into categories and determine the number of points for each. We recommend the following:
5-10 points: Easy / Creative Basic gameplay elements (tutorials, easter eggs, etc.) and easily obtainable thresholds. 25 points: Medium Obtainable by players who have invested some time with the game and have gone beyond the first few difficulty levels. 50 points: Hard Only players who have truly mastered the game should be able to obtain these. Often requires the player to specifically aim for the guidelines of the achievement. 100 points: Nightmare Capstone achievements, such as finishing all the levels or aggregate achievements that require significant gameplay investment to obtain (e.g. kill a million zombies)
Its probably best to have a few base achievements for the different difficulty levels and fill in the rest as you and your testers start uncovering events that are interesting, difficult, or entertaining. Aggregate gameplay achievements (along with a way of knowing how youre progressing) is a great way to drive re-engagement, particularly if the player is close to the threshold. Dont feel pressure to use all 1,000 points right out of the gate. In fact you should hold back some to allow for game updates, new achievements to bring players back, or unveiling achievements later on that call attention to elements that you discover players are ignoring. One other thing, if you provide achievements that dont end in 0 or 5, give the players some method to square things up. Its not something we hear about that often, but it does drive some players crazy that their gamer score seems uneven.
I cannot stress this enough: achievement notifications should not interrupt gameplay. At OpenFeint weve seen countless games use the default achievement notification that appears along the bottom of the screen, often resulting in the player launching the OpenFeint dashboard because it appears over the games controls. If you really want to optimize notifications you should really be customizing the experience for your user and not interrupting the play session.