Introducing Go for the Cloud
"The ancient Japanese considered the Go board to be a microcosm of the universe..." - Sol from the movie Pi.
Wouldn't you like to play one of the most popular games in the world on any device with your friends? With Windows Azure, the possibilities for creating real-time, competitive strategy games such as Go are limitless.
Overview
Go is widely played in Asia and over the Internet, however there isn't a way for casual players to learn how to play the game online without installing special software. Using Windows Azure Cloud Services along with technologies (such as HTML5, CSS3 and Javascript), a real-time, cross platform version of Go can be built to bring Go to a casual gaming audience.
- Harnessing Azure Cloud Services a lobby service will allow players to play on cloud ready devices such as: mobile phones, tablets, desktops, laptops and gaming consoles. Cloud Services will allow for the integration of various key services for running tournament games and keeping track of game statistics.
- Using Windows Azure Active Directory Access Control, players can be authenticated with existing accounts from Facebook, Gmail or Windows Live.
- Leveraging SQL Database in Azure tournament games can be stored, retrieved and replayed for later analysis or casual viewing. Analysis may reveal details such as : number of Ko's a particular player fights in, number of times stones sacrificed, and popular strategies employed by the players.
Tournaments
Go tournaments are a great way to bring players together and see how they rank against other players regionally and globally. By utilizing load balancing features of Windows Azure Traffic Manager, a large number of viewers can watch tournament games with relative ease. Players will also be able to track their progress with a ranking system provided by the game similar to those used by professional leagues. A ranking system is a data resource which can be cached based on rank adjustment frequency. Windows Azure Caching services provide a flexible and easy way to store data like this and can hook right in with the lobby game's services hosted within Cloud Services execution model.
Additional features and benefits.
- In game chat
- Interactive tutorial mode
- Challenging AI for players to train against
- Real timed networked game play, (potentially harnessing libraries such as SignalR)
Last but not least
One of the most successful Go AI programs, MoGo, utilizes a Monte Carlo tree search in it's processing to discover potential moves. Azure, of course provides the opportunity to perform high-performance computing (HPC). By splitting processes across multiple virtual machines, intelligent Go algorithms may be designed to challenge even the most advanced players.
While many of the goals listed here are ambitious. I'm excited to use the Windows Azure infrastructure. It provides powerful and flexible technologies that can help to materialize a vision of this magnitude.