I have some ideas that I think might make interesting games for a Facebook-like platform, in that they are social and casual. Does anyone have advice on how to get into Facebook development from a background in traditional C++ game development? Is there anything special that differentiates developing facebook games from developing other web-based games, such as API intricacies and so forth?

To start with this will probably be hobbyist level instead of some sort of professional enterprise, anything I need to know about making indie-level facebook games?


You need to use the Graph API that they provide. In my experience it changes pretty frequently and is not terribly well documented -- though that may have changed. One thing worth considering is whether you want your game to work solely on Facebook using their canvas or anywhere through the Connect API.

The best clients seemed to be written in PHP (not surprising since Facebook itself is written in the language) and Javascript (ditto). If you choose to use Flash to write the game you'll likely want to use the ExternalInterface API to make calls to a Javascript layer you create, or you could make REST calls to a web server running PHP.

I think the biggest thing to be aware of is that there is a ton of competition amongst games on the platform, so if you build it they will likely not come. From a game design perspective I would actually advocate starting by detailing what the "sharing" moments are and why they will engage users. Once you've nailed these scenarios you can build the rest of your game to fit. This will give your game the best chance of being distributed by users amongst their friends.

Another gotcha is testing. When I made my game the only way to test, say, that your high score list worked was to register 20 fake accounts, mark them as test accounts, and then perform a manual test. I think for a more complex game it would be worth mocking the entire Facebook API that you leverage.

  • \$\begingroup\$ +1 on the Graph API, but that is related to the environment your game will live in more than the game itself. \$\endgroup\$ – Larry Smithmier Aug 14 '10 at 20:19
  • 1
    \$\begingroup\$ Is the graph API still relevant? I know it's an older post, so I asked. \$\endgroup\$ – johnny Jul 26 '12 at 0:51
  • \$\begingroup\$ Last I checked, about six months ago, the Graph API still seemed like your best bet. \$\endgroup\$ – Alex Schearer Sep 23 '12 at 20:40

Sorry if it seems judgmental, but I believe you are approaching the question from the wrong angle.

Somehow I feel you would end-up prisoner of something you didn't expect if you started designing your game exclusively for Facebook.

I believe the ideal is to make a true game (C++, PHP or HTML5 based) which integrates with any social network.

The idea is to make the game and concentrate on the gameplay/fun first. Integrate all the social features you need independently of the social network you use and create an interface which will convert your social requests into calls to the social network the game is deployed on.

Concerning Facebook the graph API is very simple to use. It's basically a REST API which returns JSON data. You can use it from your web server (PHP), from your mobile application (Objective-C, Java, C++). All you need is to create an application in your developer app interface. Your application will get the key and secret hash you will then have to use to communicate with the facebbok API. You can start experimenting within minutes :)

The only gotcha is that even public data now requires authenticated access. So you will have to authenticate the user using one of the available mechanisms.

Whatever you do you will probably need servers of your own or some cloud servers to store your game data if you want to make it multiplayer.

I might have a biased view of the subject as I usually integrate Facebook into existing projects.


Here is a pretty interesting article on The Economics Of Facebook Games that might help with monetizing your game.


If you want your game to be an actual app inside of facebook you may want to take a look at the canvas documentation and other related stuff here: http://developers.facebook.com/docs/guides/canvas/


Not the answer you're looking for? Browse other questions tagged or ask your own question.