Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

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?

share|improve this question
add comment

closed as not constructive by Josh Petrie, Sean Middleditch, Trevor Powell, bummzack, Tetrad Jan 7 '13 at 16:25

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

5 Answers

up vote 15 down vote accepted

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.

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

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.

share|improve this answer
add comment

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

share|improve this answer
add comment

If you need to promote your game for free, you can try appstrip.com, gamebarads.com or maudau.com

share|improve this answer
add comment

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/

share|improve this answer
add comment

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