Permission granted to reprint/reproduce on the web so long as it includes a link to my website.
How to be a Multi-Player games developer
In my first article So You want to be a Game Developer?, I discussed various games genres, including Web/Email games. This is one of the easiest ways to start developing games- you aren't restricted to one language or platform and the costs are pretty low. In this article, I'll look at the various technologies that you can use, and give you an idea of what its possible to do and how you get started.
Before you start, go and take a look again at the Multi Player Online Games Directory- MPOGD Its an excellent resource and gives you an idea of the type of games out there ranging from small free games to the massive games like Sony's Everquest.
The big multiplayer games aren't web based but they do work across the Internet. They tend to have their own custom written clients, with encrypted protocols, fast 3d graphics and large teams of customer support staff. I recommend TerraNova Blog as an excellent blog on this- you'll find articles and quotes from luminaries such as Richard Bartle who produced the first Mud (its short for Multi User Dungeon), and Professor Edward Castranova; an expert on virtual world economics. Muds also tend to use their own clients, usually based on Telnet. Although these are not web games, I recommend you widen your experience as much as possible. Muds in particular although not the most popular genre still do exist and provide a good model for interactive games.
Breaking into computer game design and programming is as easy as becoming a fulltime commercial game programmer- i.e. its not! But there is nothing to stop you developing your own web game, and MPOGD will be happy I'm sure to list it in their directory. If its Open Source you can set it up and find other developers on SourceForge.
There are two categories of web game: real-time and turn based, and this dictates the type of technology that drives it. Real-time is more complicated- the server has to support multiple connections at the same time and care has to be taken to synchronise actions between clients. If you attack someone and they've already moved but your client isn't keeping up then your game is not going to be popular.
A crossover between multiplayer web games and custom client games is possible with Macromedia's Flash. It is likely that multiplayer action games based on Flash will become more prolific- there are quite a few around now. Sadly sourceforge has many such ideas that have not got past the planning stage. Also what does exist may not be open source as creating such games takes a lot of work. Googling for flash, multiplayer game returns a couple of million results but add open source and it drops to a few hundred thousand.
Unless you are an excellent Flash developer and can write good server code as well, I suggest you stick to turn based games. The good news is that web based is an area where open source development is prolific. A search on sourceforge.net for 'game servers' returned several projects that are mature or beta. Fancy developing an RPG in Java? Use Arianne. Or if C# is more your style, have a look at Ovorp. The most popular languages are C++ and Java (for the server) but C# projects have now started appearing and you'll find C, Perl, and Python as well. But don't limit your searches to sourceforge- there are many projects elsewhere as well. An excellent resource for finding games is dmoz.org-= the Open directory Project. Have a look at Dmoz Open SOurce Games and DMoz Independent Games
If you are going to develop a web game you need a server. Yes you could do it online via shared hosting but that can be slow. Best to setup your own server or rent a dedicated server but thats not cheap.
A good starting point with the most popular technology is the Open Source L.A.M.P. family. That is Linux, Apache, MySql and Php. If you are replacing your windows pc with a new pc, wipe the hard disk on the old pc and install a Linux distribution and hook the two up with a crossover network cable. What was a relatively sluggish Windows PC is now a good development server running Apache, Php and Mysql. Linux Guis are pretty friendly these days but if you are unsure of administering Linux, download webmin from webmin.com and install it. It makes all the Linux administration stuff like configuring Samba (if you want to share drives), adding virtual sites to Apache etc very easy. Or easier still is the W.A.M.P route with everything installed on your Windows box. For pros and cons of this have a look here. Windows v Linux
One word of caution. You might consider exposing your web server to the internet down your dsl connection. Nothing wrong with that though it limits you to having two or three users at once. If you have a static IP its pretty easy to map a domain to it. It can also be done with a dynamic Ip connection as well. Search for dynamic dns to find out how to make that work. Be sure in either case that you have enough firewall protection. An unprotected Windows pc will likely be taken over in under 15 minutes. I strongly recommend that you buy a firewall router or invest in a professional software firewall at the least.
In future articles I'll discuss the nuts and bolts of game software development and start developing an open source game.