Go Back   OnRPG Free MMORPG Forums > Other > Game Development

Reply
 
LinkBack Thread Tools Display Modes
Old 03-25-2009, 01:24 PM   #1 (permalink)
Marios's Mustache Wax
 
Join Date: Mar 2009
Posts: 1
Reputation: 10
Default My Browser Game ~ Need Opinions

Hi,

The code I've written so far has been done in such a way that the game mechanics decisions I've got left can all be made without altering the code too much.

My problem right now is that I can't decide on how to process users requests and I need other peoples opinions because the choice I'm currently going with isn't one which players would necessarily prefer.

I've come up with the following possibilities (I know your all familiar with this, just being thorough) :

Actions Processed On Request

Users make a request via the game interface and that request is handled at the point it is received. The up side of this is that the game feels like it's playing quickly but the down side is that players will be able to spam requests which reduce combat and various other features to nothing more than who can spam the quickest.

Updating the users browser is going to be a nightmare in this situation depending on how many players are active in the area because the only way to find out what's happening is to refresh the browser manually at the client side or use AJAX to keep it updated and with actions coming thick and fast the AJAX requests are going to have to be thick and fast too.
Actions Processed Based on Character Cooldown

A players character has an arbitrary 'cooldown' time between actions, when an action is processed a timestamp is applied to the players character and a JS timer displayed on the interface shows when the next action can be performed.

Any actions performed during the cooldown time are rejected or, optionally, an action queue can be easily implemented to allow players to stack their next action ready for processing while waiting. If they choose to do this the cooldown timer will remain expired should the queued action be deemed invalid, for example Player X queues attack on Player Y but Player Y moves out of area before action is processed rendering target invalid.

This has the advantage of a more structured style of play but because each player has a separate cooldown time actions can be processed for other players while a player is waiting for their timer to expire. The player will have to refresh client side or AJAX will still have to continually poll the database for updates which occurred in that area or we run the risk of the player not noticing certain actions occurring while they decide on their next action.
Actions Processed Based on Global Cooldown

All requests are added to the players action queue shown on the interface and all actions are handled when the global cooldown timer expires, the time between turns is variable and assigned by the administrator and the number of actions capable of being made per turn could also be variable.

There are plenty of benefits in processing requests this way... The Client/AJAX do not need the browser to be refreshed periodically because nothing which has any major impact on the game will occur between turns. Players wont be able to spam actions at all meaning that play is much more structured and you're not going to get spammed to death before you have a chance to put down your brew and refresh your browser. A nice bonus to this style of play is that it's going to be easy to offer both a normal and 'hardcore' style of play with hardcore characters dying and remaining dead, the other two options don't really allow me to do this.

The major drawback here, of course, is that the pace of the game has been reduced substantially considering the player has to wait a given number of seconds between turns starting to process and there's going to be another delay while the processing is completed. If, for example, the time between turns were set to 60s and it took 5s for the actions to be processed it's going to be 65s between actions... This means combat, for one, would be painfully slow and if a new player were attacked they could spend ten minutes swinging away and missing until they were ultimately killed by the attacking player.

Given peoples attention span if in general relatively short, an example being how many people have stopped reading this by now and wont respond, I find this method is the easiest to code and maintain but the flip side of that coin is it's unlikely to retain many active players.


I have the other options to think about of course which is 'free style' or 'turn limited' play but this is the killer for me... I need to decide on one of these and the one I pick is going to mean that changing my mind further down the line is going to cost a lot of time and effort.

I'm not interested in having a million registered accounts with a large number of active players. I want to have the majority of registered accounts active and I don't care if I don't get more than a few thousand people to register and more than a hundred or so people to play at any one time.


So... Imagine you are playing the game.

You are stood in an area with an image on screen which is an overall representation of the area (like a forest) and a textual description, there are items which you can examine which also yield images and text descriptions.

There are two other players in the area who are higher level and after a brief look at your surroundings you have come to the conclusion that you have the option of moving to another area, attacking someone, interacting or picking up an item in the area or dropping or interacting with an item in your inventory.

Imagine you are using each system I've described above and tell me which one would be acceptable to you and which one you think is best.

PS: If you read all that then you get a free cookie
Worc is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT. The time now is 03:14 AM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.0
OnRPG, Copyright ©2003-2011, Game Entertainment Enterprises