I'm starting to develop a browser-based game (and by this I mean text-based, no Flash or similar stuff on it) and I'm struggling to decide on which development framework to use.

As far as requirements are concerned, the most important thing that I can think of right now is the ability to translate it to several languages. A good object-relational mapping and a way to generate forms from logical objects would also be very good, as I've noticed that I always spend lots of time solving the problems that come up when I change any of those things.

The programming language is kind of unimportant. I have some experience in PHP and C#, but I don't mind, and I would even like to use this as an excuse, learning some new thing like Python or Ruby. What I do want is something with a good and thriving community and lots of samples and tutorials online to help me.

Thanks in advance.

+1  A: 

I would reccomend sticking to what you know - PHP is more than capable.

I used to play a game called Hyperiums - a text based browser game like yours - which is created using Java (it's web-based quivalent is JSP?) and servlets. It works fairly well (it has had downtime issues but those were more related to it's running on a pretty crap server).

As for which framework to use - why not create your own? Spend a good amount of time pre-coding deciding how you're going to handle various things - such as langauge support: you could use a phrase system or seperate langauge-specific templates. Third party frameworks are probably better tested than one you make but they're not created for a specific purpose, they're created for a wide range of purposes.

+1  A: 

Check out django-mmo!

+4  A: 

I would reccomend sticking to what you know - PHP is more than capable.

That's true of course, but:

I don't mind, and I would even like to use this as an excuse, learning some new thing like Python or Ruby.

Then writing a browser game is an excellent opportunity to do this. Learning something new is never wrong and learning an alternative to PHP can never hurt (eh, Jeff?). While neither Ruby on Rails nor Django are especially useful for writing games, they're still great. We had to write a small browser game in a matter of weeks for a project once and Rails worked charms. On the other hand, all successful browser games have enormous work loads and if you want to scale well you either have to get good hardware and load balancing or you need a non-interpreted framework (sorry, guys!).

Konrad Rudolph
+2  A: 

I'd definitly suggest PHP. I've developed browser based games (pbbgs) for about 10 years now. I've tried .Net, PERL and Java.

All of them worked but by far PHP was the best because:

  • Speed with which you can develope (that might be due to experience)
  • Ease/Cost of finding a host for a game site
  • Flexibility to change/revamp on the fly (game programming seems to always have a different development cycle then normal projects)

Ruby is not to bad, but the last time I tried it I rapidly ran into scaling/performance issues. I have not tried Python yet...maybe it's time to give it a shot.

Just my two cents, but over the years PHP has saved me a ton of time.

It's Perl, not PERL.
Chris Lutz


is really good but php


I think that a very successful way is using PHP with JavaScript. PHP is more stable than ASP, and kind a faster than JSP. About JavaScript there some very usefull libraries like Prototype, jQuery and PHPJS. They are very useful for the most common problems, but also you must use simple js for the speed.

For the browser based game there is another reason for these two is that you can use both client and server side programing. Both very usefull in web programing.

Also maybe good idea to learn a little about the server on which you do all that. The new "very best" server is Nginx. The first to solve the problem 10k.