Question about game states in online games like eveonline or wow and etc.

Started by
1 comment, last by SimonForsman 14 years, 6 months ago
I am currently learning about implementing game save systems and I have a question about mmo's. In a game like eve-online where there are thousands of users, it makes sense that character data is on the server and every time a person logs on and off it is not saved to the server. How are game save systems implemented on such a scale. Are databases used? Is it feasible to use something like mysql. If you have experience with this, I would be very interested to hear from you. Links and even example code would be nice. C/C++ of course.
Advertisement
A general approach would be to store any information about "active" players in memory (loading information such as their level, gear, last known location etc from the database when they login), with only permanent data being persisted to the database on logout and perhaps at regular intervals during play (so current HP might never need to be saved into the database, for example)

A case could be made for using any of the database systems commonly available, but would depend on specific needs such as scale.
MySQL would work, just remember that the default DB engine (MyISAM) doesn't support transactions. (The InnoDB and BDB engines have transaction support and can be used where necessary).
[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

This topic is closed to new replies.

Advertisement