New answers tagged

1

First, nothing is ever saved instantly in an MMO and there is always a delay specifically to keep the database running smoothly. For casual transactions the common delay seems to be 5-30 seconds, not minutes. Certain events like logging out or transitioning between world spaces will force a fast update. If you watch carefully you'll hear of occasional ...


2

Whether or not you decouple your window creation from your engine code is up to you. You can do it both ways. If you don't handle window creation in your code, you'll expect the user of your code to handle it. That will include forwarding window events to you somehow -- probably by calling interface methods on your game engine object you define for them. ...


1

In the context of a game like an MMO (a class of game that often uses databases as the persistent storage), this problem is fairly common. Player data is very important, and you will certainly have it in-memory while the player is actively playing because it's way faster to access there. However, you really don't want a server crash to cause player data ...


1

As Alexandre commented, the best way to go about this is lots of work and testing. There is no simple solution or algorithm that can give you this answer. The tiniest change to any skill, stat, or other variable will directly affect the gameplay. Your best bet is to just give it whatever values you think will lead to the gameplay you want and tweak them as ...


2

You probably do want to communicate to this information to the client so that they are able to view it. You can treat the client as a dummy terminal though with sparkly representation and have a "neutral" server as the authority. Lets consider League of Legends in this context. At the beginning of the game, each client connects to Riots servers. Every ...


3

I wouldn't store them on clients, or even ship that information with game. If security is your main concern, fetch all informations required at the beginning of the game (from a database), store them temporarily, and delete them after the game session ends. You can also cross-check local data with database during gameplay if you want an extra layer of ...



Top 50 recent answers are included