Get Your Application Game On!
Adding Integrated Gaming Features to your Web Application
Dave Burke
Founder and Lead Developer, Sueetie LLC
____________________________________________
Get Your Application Game On!
What We'll Cover
-
Would you like to Play A Game?
Even cooler than tic-tac-toe and thermo-nuclear exchange simulations, we'll define gamification
-
Gaming in Action
We'll experience real-time gaming in a .NET application for both users and administrators using the game architecture built into the Sueetie Online Community Platform
-
Enter the Adventure Zone of Code
We're going to look at some of the source code behind the magic
Salient Geek Bio-Points
- Assistant Professor in Information Science when the Mosaic Browser was released in 1993
- Put my first website online in 1994 on an IBM RS/6000
- Web development ever since, specializing in .NET Online Community Development
- Sueetie Version 1.0 released December 2008
Gamification Defined
...applying game design thinking to non-game applications to make them more fun and engaging.
Gamification Defined
..the term “Gamification” will soon go away. It will just be called “Design."
Note: We'll be looking at Game Mechanics and Design Principles as opposed to the Social Media and Marketing aspects of gamification. ("How" to build, not "Why" you should build.)
Gamification in Real Life
Game Mechanics
-
Points
The most basic component of a gaming system
-
Badges
Think FourSquare "Fried Chicken Buster" or whatever. Can also use Achievements or Awards
-
Leaderboards
How members compare to others "playing the game"
Game Mechanics
-
Progression
Showing users how close they are to completing a goal (LinkedIn Profile)
-
Exploration
Offer bonuses for visiting new regions, or some unique content to foster a sense of discovery
-
Time-Sensitive Events
Have users complete tasks in specified time or certain time of day for an extra reward — think happy hour in a bar
The Gamified Application
Lessons and observations from building a Gamified Application
- A Weighted Points System is the starting point. Need to modify the point types, their weights and add new point types
- Badges (also refered to as Achievements and Awards) follow user behavior: number of forum posts, thanks received, products purchased, etc. "Accentuating Member Engagement." Also rewarding users for actions YOU want them to take
The Gamified Application
- Members should be able to view their awards from their member profile and optionally on a community list
- We are tying points and achievements to every conceivable Member Engagement activity in your application. Your application's engagement points are unique, which is why deep integration is key
The Gamified Application
- Must design both real time and asynchronous processes for awarding achievements and assigning points
- Gaming is a first cousin to your Use Analytics efforts, as both give you metrics to measure site activity and user engagement
- Points and Achievements should be able to be awarded both automatically and manually, and for both onsite and offsite activity (Terrific Tweeter Award...)
The Gamified Application
- Must be able to change Point Weights, which means member point totals can never be static and are always generated dynamically (SQL chops)
- Must be able to filter administrative, community managers and utility users from Gaming Features
- Must give users the ability to opt-out of receiving award notifications and other gaming communications
The Gamified Application
- You are awarding different types of engagement and often the first occurrence and multiple levels of engagement within that type (First Forum Post, 10th Forum Post, 30th Forum Post, etc.) Duration of activities (ex: 1-yr membership) another approach.
- Gaming and New Features go hand-in-hand. The process of integrating the fun never ends. Ex: Wall Email Subscriptions.
The Gamified Application
- Must have a beefy Communications architecture to handle gaming process notifications, as it plays a huge part in keeping members informed and engaged
- If you are making the investment of going down the gamification path, you should consider someone who's creative and with design and writing chops to get the most out of it. There's SO much you can do with a gaming system once put in place
Sueetie Plays The Game
Sueetie is a .NET platform for building Online Communities
We took four great .NET Open Source apps we loved--BlogEngine.NET, YetAnotherForum.NET, Gallery Server Pro and ScrewTurn Wiki. Then we added single sign-on, global searching, analytics and other community features (like gamification) to produce the most awesome Social Networking Application no one has ever heard of
"All that and the source code, too!"
Sueetie Offerings
Sueetie is Open Source with both Free and Commercial Product offerings
Sueetie comes in two flavors, a one-click install web package called Gummy Bear and our Visual Studio Developers Solution called Atomo used for building custom websites with Sueetie's rich feature and application set as a baseline
Sueetie Offerings
Sueetie offers four online community products, each complete with source code.
-
Community Edition
Free. No Premium Features (like gaming.) Limited Users.
-
Small Business Edition
All Premium Features with some limitations
-
Sueetie Enterprise
Unlimited everything
-
Sueetie Enterprise Plus
Unlimited everything and premium source code
Users Playing the Game
- Fun with Friedrick and Zonan
Managing the Game
- The Configuration, Care and Feeding of a Gaming System for the Creative Administrator
The Adventure Zone of Code
The Adventure Zone of Code
The Adventure Zone of Code
- Points are awarded dynamically in real time using a global RecordPoints() method and the appropriate Point Type
- Example of Recording Points when a user creates a new Forum Topic
- Recording points for various activities in forums
- Many member engagement processes occur clientside with a web service (tagging a favorite, thanking a fellow member, etc.) Here are various examples of recording points in a Sueetie WCF Service
The Adventure Zone of Code
- The process of Awarding Achievements starts with the point of engagement in real time. They are also awarded asynchronously.
- Here in the Sueetie WCF Service a member marks a forum message as an answer. We're going to specifically look at awarding a user for providing an answer.
- At this point we add logic for first thanks provided and activity levels. Only Achievement Types that are defined pass through to the next step.
The Adventure Zone of Code
The Adventure Zone of Code
- You need to employ asynchronous awarding for activities that cannot be awarded in real time or require more processing demands than should be performed synchronously.
- Because these processes often require a lot of SQL logic (and to make scaling easier to manage) the achievement processes are broken out into individual SQL procs and called by a single Stored Procedure.
The Adventure Zone of Code
-
You may want to put as much logic as possible in the SQL layer in generating leaderboard data (then cache it, of course.) You may also want to use it elsewhere to let users know who it ahead of them and with by many points.
Buy or Build
There are 3rd party vendors in the Gaming Platform space, with the leader being Badgeville.
Buy or Build
Offer APIs for you to write to. For better integration (which is key) offer "Connectors" for select products.
We Reached the Final Level!
Nothing left to say, but "Thanks for playing!"
-
Learn more about Gamification and Sueetie at http://sueetie.com and in the Sueetie Wiki.
- For questions about Gamification or anything we covered today, use the Sueetie Contact Form. It'll get to me.
- Other contact points: burke@sueetie.com. On Twitter: @daveburkevt. Google+ at gplus.to/daveburke
← →
/