For a recent client Flash game project I needed a highscore table to be shown in-game and in-html outside of the game experience. I considered buy vs build and decided on find a great solution online.
There are a few contenders out there offering high-score tables and other things for Flash developers. Some are cost money. Most are free.
So what is Scoreoid?
As CasualConnect says – Scoreoid is a non-restrictive, reliable and easy to use gaming platform designed to handle scoring, leaderboards and game management, including advanced functions for multi-platform games such as platform content awareness to advanced player management, developed by game developers for game developers.
Scoreoid’s goal is to handle scoring and leaderboard functionality offering plenty of features to make games better; shortening game development time and costs, and giving developers time to work on their games.
What makes Scoreoid unique?
Unlike similar solutions, Scoreoid is focused on providing game developers in game features to help improve their game titles and at the same time focusing on giving game developer’s more time to work on their game. Scoreoid is also truly cross platform: with Scoreoid’s Open Web API there is no need to download SDK’s, no waiting for updates, and yes, Scoreoid works on every platform.
1. Easily create saved games
2. Create advanced leaderboards
3. Player management and in game notifications
Overall its really great. Scoreoid’s marketing is proud it has no download. It *is* cool that it is ‘language independent’ (independent from AS3 vs JavaScript vs Objective C++, etc…) however any project that uses it, will require quite a bit of boiler plate (boring code) just to get it into your game. Any scalable implementation of their framework would require developers (per platform) to create an SDK of classes and patters to use the API.
My Philosophy of API Design
- Easy to learn – Intuitive, readable, with good examples & documentation
- Easy to use – Single entry point, KISS, adopts common standards, & has its own consistent language
- Hard to misuse – Explicit error message suggesting parameters values & strong typing
- Audience-appropriate / Sufficiently Powerful – Meet current needs and be (invisibly?) flexible for the future
My Scoreoid AS3 SDK
As the first comment below states, the terms ‘SDK’ and ‘API’ can be confused and unclear. I chose to call my work an ‘SDK’ in that it is a closed chunk of code that is language specific (AS3) to access Scoreoid’s server-side ‘API’.
Strong Typing
The SDK is meant to be a vertical slice representing 100% of a subset of the Scoreoid API. There is a method to initialize, to make the request, a strong typed request object, a response event (success and failure). Its 100%, EXCEPT I was thinking to make a strong object “also” for the response (this is not done, it stays a json/xml object depending on the request parameters). I use a custom implementation of ‘AS3 Enums’ to further this goal. Enums do not natively exist in AS3.
Snippet from My Scoreoid AS3 SDK
[actionscript3]
//INITIALIZE
Scoreoid.initialize(Configuration.SCOREOID_API_KEY, Configuration.SCOREOID_GAME_ID, Response.JASON);
//LISTEN TO REQUEST’S RESPONSE
Scoreoid.addEventListener(ScoreoidEvent.GET_SCORES, onGetScores );
Scoreoid.addEventListener(ScoreoidEvent.GET_SCORES_COMPLETE, onGetScoresComplete );
Scoreoid.addEventListener(ScoreoidEvent.GET_SCORES_ERROR, onGetScoresError );
//CREATE REQUEST – CONSTRUCTOR ACCEPTS ONLY THE REQUEST’S REQUIRED PARAMETERS
var getScoresRequest : GetScoresRequest = new GetScoresRequest();
//ADD OPTIONAL PARAMETERS
getScoresRequest.order_by = OrderBy.DATE;
getScoresRequest.order = Order.ASCENDING; //asc or desc
getScoresRequest.limit = "";
//DONT’ SET A START DATE
//BUT DO SET END DATE TO EXACTLY NOW
//getScoresRequest.start_date = new Date();
getScoresRequest.end_date = new Date();
getScoresRequest.platform = "";
getScoresRequest.difficulty = 0;
//SEND REQUEST
Scoreoid.getScores(getScoresRequest);
[/actionscript3]
It rocks!
Next Steps
- Leave comments below. What do you think is great? What do you think is horrible?
Member Resources
[private_Free member]Enjoy this members-only content!
- Watch my video screencast overview of the Scoreoid AS3 SDK
- Setup an account on Scoreoid.com
- Download my Scoreoid AS3 SDK
[/private_Free member]