The problem: The game Dota 2 is a competitive multiplayer game with various heroes. Biweekly the developers publish a game patch that balance some hero values with respect to community feedback. Here is the link to example updates page. http://www.dota2.com/news/updates/Example update data:* Chen: Level 10 Talent increased from +25 Movement Speed to +30* Chen: Level 20 Talent increased from -40s Respawn Time to -45s* Clockwerk: Base strength increased by 2If a new update is available, the game always downloads the update files  first then installs them and then opens the game.The Question: As can be seen from the update log, most of these updates are balancing updates. They do not change game dynamics and as far as I can think, they only change one value on a mathematical expression.(except for bigger updates where bugs are fixed.) Is it plausible to store these values(such as Base Strength,Respawn Time) on a database and only change that value when a new power balancing is done ?Extra Info: I have found this Q&A which is similar to the problem above, but there are some differences that can affect the answer.1) In my case the database is only used by developer.2) The game is massively multiplayer so a user will have a internet connection. Another option is storing the values on a config like file and only checking database to see if a new version is available. If yes download new values and update config file, if not just open the game with current values. That way a user can still play on an outdated game client offline.3) The game is internationally competitive and manipulating that hero info is simply stealing the business logic of the company. Database calls can be intercepted and manipulated easier than compiled source code.why not game design SE: My question and example is based on a game but what I ask is a more general software engineering approach, that's why I find it more suitable to ask it here than the Game Design SE. There can be other examples of that approach for programs with similar features.Pros:- There is no pre-game installation for power balancing patches. (User perspective)- A new value update does not require a new deploy.(Dev. Perspective)Cons:- Manipulating of precious data.(It can be encrypted.)- A player notices the update and checks the update log so gets informed, with background value update that may not be the case(For every new update a notice can be created automatically.)
Getting value updates from database rather than updating the client side?
architecture;database;data integrity