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