The Scoreoid AS3 SDK
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
//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);
It rocks!
Next Steps
- Leave comments below. What do you think is great? What do you think is horrible?
Member Resources
You must be a 'Free Member' to see this content. With your access you will enjoy members-only content like this, HD video tutorials, and access to complete source code.
Ready To Join?
- Sign up for 'Free Member' level now. Its free!
- Sign up for 'Paid Member' level to enjoy much, much more! (Invite Only)
- Log in and enjoy!












Hi I think it’s great that you created an AS3 wrapper for Scoreoid, we welcome community support and community plug-ins. In the future we’re going to offer plug-ins and other wrappers but not SDK’s we believe in giving the developers the power without restricting them code the way you want how you want.
And if your interested in doing a an official plug-in with us would be glad to talk about we’re looking at doing a JS plug-in for some tools.
I also I think your wording is a bit wrong your not offering an “SDK” as there is no UI you created a wrapper class for HTTP communication with Scoreoid which is great.
http://www.scoreoid.net/
Thanks,
Almog
Almog, thanks for the thoughtful comments. As my code here is young, I’d like to get some community feedback on it and update it as needed. It is an exciting option to graduate this work to an ‘official plugin’ someday. I’ll keep that in mind.
Really great and it’s great to people support Scoreoid
i joined as a free member but still can’t download? Huh?
Haha. Ok.
I look forward to using this in future AS3 projects using scoreoid.
Today I needed Scoreoid for an old game programmed in AS2, and just thought I’d share this example of how I made it work: http://abstracttravels.com/tools/ScoreoidAS2ExampleCS6.fla
It’s nowhere near a full API Wrapper for AS2, just an example of setting a score and getting the 10 best scores. Might save other AS2 devs a bit of time, though
Excellent work!