New answers tagged data
It depends on whether this happens during development or release. During development, you will have all kinds missing things, errors, and fuck-ups, constantly, all the time, and you may even want to "hot" load assets on demand or replace an asset while the game is running. You might edit scripts with the game running to test an AI performs better, or ...
I'll focus on answerable bit of the question: I can't see why an entire database system would be implemented just to read a few saved variables, but at the same time, if it's more efficient or built into the engine there's likely no reason not to use it. You are missing the point. There is no real reason to invent bicycle (own DB system) when you can ...
Byte56 mentioned one option. There is at least one other: Assume default values and display a Warning. Depending on the nature of your data, it might be perfectly acceptable to assume some default values and warn the user that "since file xxx failed to load, we are using a generic yyy object."
Log an error and gracefully exit. Ideally, display a human readable error on screen as well. There should be a core pipeline of hard coded functionality that operates without these data files. It's the same pipeline that loads the data files in the first place. It should be capable of detecting when these core data files are corrupt or otherwise faulty and ...
I think you should not update database whenever something changed by player. You should update database in a sufficient frequency. Before updating database you should hold frequently changed data in the memory; a database updater thread can update/store database for instance at 1 hz.
When this is for an online game, you should definitely store that information online on your server. When you store the character state on the client, your players will edit it to cheat. The MM in MMORPG stands for "Massive Multiplayer", as in "Too many players to store in regular flatfiles". You will definitely need a database which is used by your server ...
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 ...
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