Software design of a browser-based strategic MMO game
Posted
by
Mehran
on Game Development
See other posts from Game Development
or by Mehran
Published on 2013-09-27T09:35:57Z
Indexed on
2013/10/27
16:01 UTC
Read the original article
Hit count: 310
mmo
|browser-based-games
I wonder if there are any known tested software designs for Travian-like browser-based strategic MMO games? I mean how would they implement the server of such games or what is stored in database and what is stored in RAM? Is the state of the world stored in one piece or is it distributed among a number of storage?
Does anyone know a resource to study the problems and solutions of creating such games?
[UPDATE]
Suggested in comments, I'm going to give an example how would I design such a project. Even though I'm not sure if I'm proposing the right one.
Having stored the world state in a MongoDB, I would implement an event
collection in which all the changes to the world
will register. Changes that are meant to happen in the future will come with an action date
set to the future and those that are to be carried out immediately will be set to now
.
Having this datastore as the central point of the system, players will issue their actions as events inserted in datastore. At the other end of the system, I'll have a constant-running software taking out events out of the datastore which are due to be carried out and not done yet. Executing an event means apply some update on the world's state and thus the datastore.
As scalable as this design sounds, I'm not sure if it will be worth implementing. For one, it is pointless to cache the datastore as most of updates happen once without any follow ups. For instance if you have the growth of resources in your game, you'll be updating the whole world state periodically in which case, having incorporated a cache, you are keeping the whole world in RAM (which most likely is impossible).
So can someone come up with a better design?
© Game Development or respective owner