You’ve built an attractive game with interactive graphics and music. Now you just need to set things up to bring people in! That means putting logic on the server, keeping people from tinkering with your logic to break things (in their favor), and connecting your application to a place with a lot of people—Facebook!
One of the main issues when developing an online video game is cheat prevention. Just like in conventional web development, we can’t trust any user, so securing our application against malicious users and handling unexpected inputs or return values should always be our highest priority.
Unfortunately, the solution to this problem varies from game to game, but it almost always relies on two important (and usually very inefficient) approaches that need to be solved in the predevelopment and development stages of game creation:
Try to minimize the risk of committing fraud on the client by design
Validate everything on the server
In the case of our game, and in most real-time social strategy games, these are some of the things we need to keep in mind:
Every user should have her own account balance stored in a database field or table (depending ...