On April 7, 2008 Google announced the release of their Google App Engine. It is a SDK and hosting service for the creation of web applications. Sadly I never heard about it until this morning so when I went there and tried to register an account, I found out that all 10,000 accounts that were made available for testers have been taken, though the SDK can still be downloaded if you are interested. This is kind of disappointing because I think that the Google App Engine would be a perfect platform for experimenting with my development of multi-player games. This is largely because the platform hosting is free for small projects and you only have to pay for the service once your service has reached a high enough threshold. That threshold is roughly the equivalent bandwidth or processing power equivalent to five million page views per month.
One of the features that the Google App Engine offers is the ability to use the Google user accounts for tracking users of the service you create. This would essentially mean that the work that would be required to create a secure registration system for users is already done so all the overhead for doing that (not to mention the additional costs of getting a SSL certificate) is gone making it much easier to set up a multi-player game service.
Of course, I would not just be creating a multi-player game but would want to also create tools that would allow the players to create their own content for the game. The game would likely be a strategy game that would be using hex maps. I have the game in my head so once the Ultimate Retro Project has been finished I will start playing around with the SDK and once I can get a proper account then I will post early builds of the game for those of you who are interested.
One criticism that I keep hearing about the SDK is the fact that the language used to program the applications is Python. When you consider the fact that there are a lot of Python programmers at Google, this decision does make a lot of sense. More importantly, Python is a very simple language to learn and is very scalable. To be perfectly blunt, if you can program in one language, switching to another language is relatively easy as most of the core concepts are the same. I don't think that the language is an issue, and Google has stated that other languages will eventually be supported.