Using Google App Engine to Perform World Updates vs an Authoritative Server

Posted by Error 454 on Game Development See other posts from Game Development or by Error 454
Published on 2011-01-22T22:36:11Z Indexed on 2011/01/28 23:39 UTC
Read the original article Hit count: 278

I am considering different game server architectures that use GAE. The types of games I am considering are turn-based where the world status would need to be updated about once per minute.

I am looking for an answer that persuades me to either perform the world update on the google servers OR an authoritative server that syncs with the datastore. The main goal here would be to minimize GAE daily quotas.

For some rough numbers, I am assuming 10,000 entities requiring updates. Each entity update would require:

  • Reading 5 private entity variables (fetched from datastore)
  • Fetching as many as 20 static variables (from datastore or persisted in server memory)
  • Writing 5 entity variables

Clients of the game would authenticate and set state directly against GAE as well as pull the latest world state from GAE.

Running the update on GAE would consist of a cron job launched every minute. This would update all of the entities and save the results to the datastore. This would be more CPU intensive for GAE.

Running the update on an authoritative server would consist of fetching entity data from the GAE datastore, calculating the new entity states and pushing the new state variables back to the datastore. This would be more bandwidth intensive for the datastore.

© Game Development or respective owner

Related posts about mmo

Related posts about network