A Google Image Memory Game in Silverlight 2

I finally completed and deployed the Silverlight 2 game I have been working on for the last few days. I don’t think it will win any awards for game design, but it allowed me to explore a pretty wide swath of Microsoft’s second generation Flash competitor. I like the idea of Silverlight, for the simple reason that I want to do rich Internet apps, but I don’t want to learn ActionScript. I have nothing against Flash: it’s an amazing product with huge market share. Hell, its market share is so huge you really can’t call it a “share.” They have the whole market.

But… Silverlight is built on the .NET technology stack, which makes it immediately accessible to any developer with experience writing Windows Forms or ASP.NET applications. It leverages the concepts introduced with Windows Presentation Foundation in .NET 3.0 to essentially run sandboxed WPF apps in a web browser. It does what Flash does, more or less, on the .NET stack. Will it take off? I have no idea. I suspect that if people write cool stuff for it then it will. I doubt it will ever knock Flash off its pedestal, but it might garner a fair chunk of the market.

The game, which you can play here or by clicking the screenshot above, accepts a query term or terms, then searches Google Images on those terms and arranges the resulting images into a classic “memory” game grid. You play by clicking the tiles to reveal the images, and trying to match them up. In the process of writing it I worked with animations and storyboards, asynchronous calls to RESTful web services, json data serialization, and other interesting areas of the SL2 framework that I will write about in future posts. I also ran into numerous quirks and curiosities in the framework, as well as in the Silverlight Live Streaming service that I chose to host this game. The technology is not without warts, but it is very early in the development cycle, and I’m excited to see what the Silverlight team will be bringing us down the road.

Download the GMemory source code and project files.

Leave a Reply

Your email address will not be published. Required fields are marked *