Gamasutra: The Art & Business of Making Gamesspacer
View All     RSS
September 19, 2014
arrowPress Releases
September 19, 2014
PR Newswire
View All





If you enjoy reading this site, you might also want to check out these UBM Tech sites:


 
Maximizing Virality - Achievements Everywhere
by Esteban Gallardo on 08/06/14 07:37:00 pm   Featured Blogs

The following blog post, unless otherwise noted, was written by a member of Gamasutra’s community.
The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.

 

One of the biggest challenges that bedroom developers must face when releasing to the world their beloved games is how to spread the word and reach the game's target audience. Even though I'm talking about marketing, this post is targeted for tiny teams or individuals like me, multidisciplinary people with 0 budget, so I'm going to talk about what programming techniques we can use to make our game have more chances to spread viraly: using the achievements and score systems of the gaming platforms.  

 

Piggies Rescue: Bedroom developers put a lot of love to our creations

Reasons to code external achievements.

It's a fact that for your game to be known, it has to be published in the front page of any big important gaming platform/portal/store. The main problem is that hundreds of games are being published everyday, so it's quite difficult to stand out between the crowd. On one hand, you can reach an agreement with a gaming portal to sponsor your game and the deal make your game to be in the front page for some time, time enough to let know enough people about the game and begin to spread the word. On the other hand, if you don't have sponsor to support you, you have to use other ways to attract the attention of enough people and the webmasters of these portals in a way that it can help your game to be in the front page of the portal. In this case, it helps that you use in your game their systems of scores and achievements, at least, you give a reason to the webmasters to promote your game for the sake of their platforms' social features.

So, next I'm going to tell about the challenges and reasons I faced for the different platforms I decided to support.

You can download the code used for the external achievements in my project Piggies Rescue here.

 

Web Platforms 

The main reason to choose Flash to develop this game is because the only chances the game has to go viral is through being published in the thousands the web gaming sites around the world. Even though other technologies are getting a piece of the market (Unity, HTML5) they still are too small compared with the Flash dominance.
For the web platforms I choose two community portals like Newgrounds and Kongregate, and a social network, Facebook.

 

Achievements Newgrounds: 

API: http://www.newgrounds.com/wiki/creator-resources/flash-api

 

Time to integrate the achievements and score in the game: 1 hour

 

Code:

// Achievements
API.unlockMedal(“achievementID”);
API.getMedal(“achievementID”);
// Scores
API.postScore(“scoreID”, scoreValue);
API.getScoreBoard("scoreBoardName");

 

Pros:

  • The most friendly portal for achievements and scores for Flash game developers.

  • These people are great to make it easy to plug and play (1 hour to do it all)

  • You can use their Ads CPMStar system at the same time.

  • They allow your game to use any Ads system, no restrictions.

  • Most of the games that go to the front page are community supported, but the webmasters also can promote games they like. By this way, maybe games that are not targeted for the tweens audience can be picked by the webmasters.

  • It's community based, that means that community helps to stand out the games that are submmitted.

 

Cons:

  • The audience is in the most part tweens, so if your game doesn't target this audience they aren't going to support it. Even though is a community more open minded when are presented to experimental ideas.

  • Don't support Unity or HTML5 games, I hope they consider them in the future.

 

 

Achivements Kongregate:

API: http://developers.kongregate.com/docs/api-overview/as3-api

 

Time to integrate the achievements and score in the game: 2 hours

 

 

Code:

// Achievements/Badges
kongregate.stats.submit(“achievementID”, 1);
//Scores
kongregate.stats.submit(“scoreID”, scoreValue);

 

Pros:

  • It's the most important community portal who supports Unity and HTML5 games.

  • It's purely community based, so the community will review the game and if they like it, it will be promoted. So if you have a game that matches with the taste of its audience, mostly tweens, you got a chance to go viral.

  • The API is quite straight forward to use and there are a lot of social features you can use, in the same style of Facebook.

 

Cons:

  • You will only be allowed to create achievements/badges if the webmasters let you, that is if they consider the game is worth their target audience.

  • The documentation is not clear enough about the achievements/badges.

  • The game is not allowed to have any advertisements, the game SWF file can't go viral, so make sure you lock it for Kongregate domain and encrypt it. Make sure that to put a link to your website where the gaming portal webmasters can take the SWF file for their gaming sites.

  • Only the community decides the games that will succeed. Webmasters have no voice. It's a pure democracy of tweens, so expect a lot of zombies, knights, wizards, tanks, ninjas, warfare, etc...

 

 

Achievements Facebook:

API: https://developers.facebook.com/blog/post/539/

https://code.google.com/p/facebook-actionscript-api/

 

Time to integrate the achievements and score in the game: 10 hours

 

Code:

// Scores
var params:Object = {score:scoreValue};
Facebook.api("/me/scores", onScoreSubmitted, params, "POST");
//Achievements
var params:Object = {achievement:”achievementID”};
Facebook.api("/me/achievements", onAchievementSubmitted, params, "POST");

 

Pros:

  • The audience is huge, they have a wider range of age and they has more casual taste for games.

  • Since they don't host the games you can use whatever technology you like, Flash, Unity, HTML5, PHP, etc...

 

Cons:

  • There is no community system to discover new games. The new games are only discovered after you spend an insane amount of money on advertisements to let the users know about your game. Facebook is not really interested in games, it's interested in profit, so don't expect to discover new game styles through this platform.

  • The documentation and working examples are horrible. You can waste many hours with things that well explained would take only minutes to do.

  • They are changing constantly the policies so you must have to waste your time synchronizing your code with their new demands.

  • You need a hosting service with HTTPS to host your game.

  • Facebook is a social network, not a gaming network

 

 

Mobile Platforms:

On mobile platforms there is no concept of a game going viral, since the contents are totally centralized, it's the companies who own the platforms (Google,Apple,Amazon,Microsoft) the ones who decide who succeed and who fails. Of course, you have the information about the best-sellers, but to be in that list first you have to be exposed to the public time enough to get traction to work, and this first exposure it's decided by the corporations behind these platforms, so a lot of business deals are being made to promote big budget titles, and the rest of the games still have the small chance to be picked up by the webmasters, but it's likely they pick up titles with high productions values than new original ideas. You may think about “Flappy Bird”, or other small budget success, but if you think about the buzz created about these games it didn't come from the mobile platform itself, but from outside the platform.

 

 

Achievements Google Play:

 

API: https://play.google.com/apps/publish/

http://www.milkmangames.com/blog/tools/#gpg

 

Time to integrate the achievements and score in the game: 2 hours

 

 

Code:

// Scores
GoogleGames.games.submitScore(“scoreID”, scoreValue);
GoogleGames.games.showLeaderboard();
//Achievements
GoogleGames.games.showAchievements();
GoogleGames.games.unlockAchievement(“achievementID”);

 

Pros:

  • It's the easiest and most accessible mobile platform to upload your game. You don't need approval from anybody to put on sale your app.

  • You don't need to have an Android device, there are emulators like BlueStacks that works perfectly (a little slow though).

  • Android has been the most flexible device to install and debug games.

 

Cons:

  • Nobody reviews the application to get the approval, so no chance that the webmasters can pick it up. The market is so crowded that the webmasters simply give up to check what are the worth games uploaded everyday. You have to do all the marketing.

  • The fragmentation is huge, but the achievements/score system is implemented by the ANE, so you don't have to worry about the performance as a developer.

 

 

Achievements Game Center:

API: https://developer.apple.com/membercenter/index.action

http://www.milkmangames.com/blog/tools/#gpg

http://www.macincloud.com/

 

Time to integrate the achievements and score in the game: 3 hours

 

 

 

Code:

//Scores
GameCenter.gameCenter.showLeaderboardForCategory(“scoreID”, GCTimeScope.TODAY);
GameCenter.gameCenter.reportScoreForCategory(valueScore, “scoreID”);
//Achievements
GameCenter.gameCenter.showAchievements();
GameCenter.gameCenter.reportAchievement(“achievementID”, 100.0);

 

Pros:

  • This store is well known because its users are more willing to pay that in other mobile platforms.

  • There is less fragmentation of devices to support.

 

Cons:

  • You have to pay a subscription to be able to develop in the platform.

  • You need to have a real physical Apple device to test the games.

  • The approval process takes at least a week, so rejection can cause huge delays.

  • The certification process is a little bit more complicated than on Android.

 

 

Achievements Amazon:

API: https://developer.amazon.com/home.html

https://github.com/digicrafts/AmazonGameCircle-ANE

 

Time to integrate the achievements and score in the game: 5 hours

 

Code:

//Scores
GameCircle.gameCircle.showLeaderboards();
GameCircle.gameCircle.submitScore(“scoreID”,_score);
//Achievements
GameCircle.gameCircle.showAchievements();
GameCircle.gameCircle.submitAchievement(“achievementID”, 100);

 

Pros:

  • It's a big store and growing in popularity, but still smaller than AppStore and GooglePlay.

  • The users are big spenders.

  • The fragmentation is small, if you consider their Kindle Fire devices.

  • It's Android based, so almost all the tools used in Android are compatible here.

 

Cons:

  • They official has dropped the support for AIR in their 2.0 api, still you can use 1.0 api, but I don't know for how long.

  • It takes some time to fully understand their documentation, at least for AIR, but considering they are dropping the support you can expect this won't be improved.

 

 

Conclusions

The community based web portals, Newgrounds, Kongregate, are democracies who promote the games they like but they are ruled by an audience of tweens. On the other hand, platforms with more wider audiences, like Facebook or mobile stores, don't have any system for the community to discover new games and promote them, mainly because it will go against the advertisements revenue that the developers should pay to let their games known.

 

More platforms to explore:

 

Blackberry: Less crowded store, supports AIR, but you still have to do some of changes to adapt the game, since it's not Android based. So you can have problems with your ANEs. Still I think it's worth to try.

 

Windows Phone: Another small store, but it doesn't support AIR. If you choose Unity as the development tool, it is a good choice to go.


Related Jobs

Trion Worlds
Trion Worlds — Redwood City, California, United States
[09.18.14]

Senior Gameplay Engineer
Heavy Iron Studios, Inc.
Heavy Iron Studios, Inc. — Los Angeles, California, United States
[09.18.14]

Game Programming Intern
Wargaming.net
Wargaming.net — Hunt Valley, Maryland, United States
[09.18.14]

Sr. Gameplay Engineer
Wargaming.net
Wargaming.net — Chicago, Illinois, United States
[09.18.14]

Sr. Gameplay Engineer






Comments


Paolo Gambardella
profile image
great post! very useful, thanks for share!

Chris Herborth
profile image
You can target BlackBerry 10 devices natively using Unity, and you can package your Android version to publish in BlackBerry World as well. On 10.2.1 devices, you can load the Android .apk file without modifications, but there's no Google Play service support on BlackBerry devices, which might affect in-game purchasing, etc.

Flash and AIR are supported on BB10 as well, and HTML 5 support is excellent. ScoreLoop is being shut down in December 2014 though, so I'm not sure what your best bet for leaderboards/achievements would be.

Disclaimer: I work for BlackBerry, but I don't speak for them. Also, I really like Unity, and I once started designing an open achievement system/service (usable from any platform that can send/receive via https) but I doubt I'll ever get around to implementing something useful. ;-)


none
 
Comment: