Multiplayer Online games

Hi, I'm interested in building a multiplayer online games but just don't understand how the calculation of turns and the accumulating of turns are done in the web server automatically.
How do I write the script out in perl?
For example,
there are different timezones and people around the world logging in or signing up
When they sign up, how would we save their information and then let them log in to the game
when they left, they log in back after some time to find that their number of turns increases, how do we make this too?
Often, how are we suppose to update their info/file when they did something when they log in, for ex. spending their turns...Keep in mind, regardless where in the world (carmin where are u?) the user is - local server data is the best to use. You shouldnt need to calc what time zone a user is in UNLESS your game is dependent on it(or make your game have its own TZ or time). So if i logged at 12pm EST and another user at 9PST - we both logged in at 11CST (if your server is there) or just use GMT as a basis if so warrented.

Keeping track of the users actions is a different beast - regardless of your script ASP, PERL, PHP etc, you need a way of keeping a db table up to date with their actions and the games actions in sync. This is where a good dba comes in handy - this is NOT a task for the uninitiated.(ever hear of ATOMIC? or data modelling?) The logic you use is also VERY critical, hence the programmer should be aware of how to program a MOO or MUD or MOD or any other type of multi-user environ. Your game application will also need to be smart enough to inform other online players of any incoming or outgoing users as well as changes within the game globally - HTML and most server side scripts can not do this - you need something to either poll the server continously (ouch!!) or push data back to the client (java??)

There are some ASP sites that have created some 'real-time' multiuser chat systems - but they're cludgy and VERY system intensive (continously repolling).

hth
 
Top