views:

440

answers:

4

I want to learn how to make a social game in facebook. How to go about it. I think you would need a team of devs. What languages are used to make social games like farmville, happy aquarium, etc.

Are any tuts available or any book?

+1  A: 

The way you learn everything: step by step, with a lot of patience.

From a software point of view, there is nothing special about social games. It is just a blend between a web application and a game. I suggest you look into both.

But before all, you should ask yourself one question: what exactly are you trying to accomplish? Given specific requirements, a developer should be able to chose suitable platforms and tools for implementation. It seems to me, however, you don't really seem to have any requirements yet.

What you really need to make a social game is 1. a good game design for it to stand out (in case you even want that) and 2. fancy graphics, so that people are pleased. None of that is a programming problem. Software developement starts when you break down the game design into features and requirements. But that, as I said, should be a natural process for a developer.

greetz
back2dos

back2dos
I can manage the graphics part. I am good at that. Its the software part that I am not excellent at. I can manage writing some scripts. But nothing complicated. Thats why I was thinking which language is the best.
nishantcm
What I am planning to do is to make a small scale version niche game for facebook. And then if all goes well, update it and upgrade it. There are a lot of issues like handling large amounts of traffic and cron jobs and stuff. So I just want to be going step by step and learning new things as I go on.
nishantcm
@nishantcm: have you considered teaming up with someone? Many good programmers are bad at all graphical things. Working in a team produces a little overhead and you run the risk of the team breaking apart, but I think this is outweighed by all the advantages team work provides.
back2dos
A: 

I'am a flash developer and I have made about 10 games for social nets.

If you want to make a social game you need: 1) Gamedesigner or make game concept by yourself 2) Flash developer, php developer and art designer. If you planning to start with small game it can be one person. You may find developers on freelancers sites such as elance.com, odesk.com, freelancer.com and others

There are many tutorials and books how to make social apps I recommend this tuts http://www.insideria.com/series-facebook-dev.html

terbooter
Hi,Do you need an isometric engine to develop the flash architecture for such a game.
nishantcm
+3  A: 

There are both books and tutorials for this. Countless in fact. What you are trying to do is not trivial, hence the amount of books one could suggest.

Lets break your question apart:

I think you would need a team of devs.

There are really only two reasons for working in a group. First, more people can complete more work in less time. Second, having more people requires less knowledge of each single individual. But if youre asking that question Im tempted to state that the answer is simply no; if you feel you cant judge the amount of work involved or are new to the subject I think youre not ready to work in a group. But it sounds harsh. Remeber that working (effectively) in a group is hard.

What languages are used to make social games like farmville, happy aquarium, etc.

"Social games" are all the hype right now, but vaguely defined. But since you compare it to Farmville and the like I take it that you mean a web game. Those can be done in any language or platform that targets the web (surprise!). Flash, php, python take your pick. Social is also a broad term thats vaguely defined. Do you by social mean "Facebook integration"? How about MySpace? Or Twitter? Or why cant the game itself be social (whatever that means).

Since Im strangely enough in a good mood right now, I have created a roadmap for you:

Farmville clone 101

  • Learn flash, I recomend Kongregates Shootorial, start at step 0.
  • Create your first game (this will be hard), post it to Kongregate and feel good about yourself (because you should, if you complete this step).
  • Make it social, target the Facebook platform, you can find the developer portal here.
  • Realise that now is a great time to learn php.
  • Make a second game, integrate it with facebook and publish it. Feel good about yourself again.
  • Going from a shoot em up to a persistent game (the worlds "state" is saved between sessions) you will need to learn mysql.
  • Find a host with a database so you can keep the players games saved.
  • Make a third game, persistent and Facebook integrated. Feel very good about yourself.
  • Now is the time to look for a group! If you decide to take this further and want to create something either to time consuming or complex to do it by yourself.

Good luck. Youre in for a hell of a ride. 50% dont make it past step 1, 90% dont make it past step 2. This is hard.

Oh, and welcome to Stackoverflow! Feel free to return with any questions you have during your projects. But try to make them a tad more specific.

mizipzor
I have already made a game with kongregate's shootorial. see at http://apps.facebook.com/bhavishyavani/mahasangram.php
nishantcm
Thanks mizipzor for the detailed reply. I have made quite a few apps with facebook, so I am comfortable with it. The storing of player scores has also been done with the above game. The social games sort of have these timers, like your health is going to increase in 30 seconds. I dont know how that is done. Also, most of these games have sort of a plot of land on which you add houses and stuff. How is that made.
nishantcm
"Going from a shoot em up to a persistent game (the worlds "state" is saved between sessions) you will need to learn mysql." This is precisely the question I had. But I phrased it up all wrong.
nishantcm
Then its a mysql tutorial youre probably looking for. But Im interested, you said you had the ability to save the players scores? If you can do that, why cant you save a players health? Or the position of a house? Sounds like a very similar technique can be used there if you ask me.
mizipzor
Hmm. there are a lot of mafia wars spinoffs selling. I will probably buy one of those just to have a look at the coding. That will give me some more ideas about this.
nishantcm
If you search some, you could probably find an open source clone.
mizipzor
For those people who have the same question as I do- http://wiki.developers.facebook.com/index.php/Open_source_projects
nishantcm
Thanks mizipzor, I found some free code at chromacoders.
nishantcm
@nishantcm: for the love of god: please do NOT use MySQL. The standard is from **1974** and it is because of that, that SQL is a pain in the ass to work with in an object oriented model. Use a key-value-store, a document store or a OODBMS or even a combination of those. I suggest an in-memory-cache, and MongoDB or CouchDB for a persistent database. Also, you should look at different server solutions such as SmartFox, that support lot of features for game developement out of the box. Last but not least, I think you'll be pointed to PHP a lot. I suggest you find something better.
back2dos
@back2dos: you seem to know what youre talking about. if you want, feel free to update the answer suggesting other databases instead.
mizipzor
Yes, but I really don't have the resources to learn a new language. What I am planning to do is to learn how a game works and all that stuff. What I plan to do is to go step by step. I will look at the server solutions. Because that is a big issue if you have lot of traffic coming in.
nishantcm
A: 

This is a useful book for social game devs. http://www.chromacoders.org/social-game-book.pdf

Also plz check here- they have a link for source code -http://www.chromacoders.org/

nishantcm