Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / Hosted-services / Azure

Enriching the online experience of the game 'Go' with Windows Azure

0.00/5 (No votes)
3 May 2013CPOL2 min read 7.8K  
An outline for a plan to build a real time, multiplayer, cross platform edition of the game Go.

This article is an entry in our Windows Azure Developer Challenge. Articles in this sub-section are not required to be full articles so care should be taken when voting. Create your free Azure Trial Account to Enter the Challenge.

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. 

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)