Three years ago I wrote about one of the first full-featured casual games built in Silverlight (at the time Silverlight 1.1) which we called Zero Gravity. It was a game featuring Lt. Bennett a character who was lost in space and your job was to navigate him through simple puzzle boards back to his space ship. It is a fun little game that can keep you busy for a while and even get you frustrated on some of the harder mazes.
The project was done in concert with Terralever, an agency who has great experience in building great online casual experiences for some of the top brands in the world. It was really fun to come up with various concepts on a casual game proof of concept in the VERY early days of Silverlight (they actually created the first Silverlight 1.0 game that was published to Miniclip.com and as well another Silverlight 2 game that was published as well). Those early days of Silverlight were tough when you didn’t have a lot of the infrastructure we do now with the core runtime. There is no multi-player Halo-style shooting or 3D here, and is representative of what was available at the time.
Two weeks ago I reached out to Terralever and mentioned that we kind of let that project get stale (my fault) as we both wanted to release the source code but it never turned up as a priority for me (sorry about that). In that discussion, they had some cycles to spare and their lead developer, Ryan Plemons, released the source code for Zero Gravity, updated for use in current Silverlight. But not only that, he also ported the code to Silverlight for Windows Phone!!! I love this gem of a statement from Ryan:
“I for one was very shocked that the transition went as smoothly as it did.”
Ryan has a blog post where he goes into some detail about the port, where there were things he needed to change (and got some benefit) like using the XNA sound libraries and the GestureHelper library from the Silverlight Toolkit.
Now before you start pointing out all the obvious things that “shouldn’t be in the phone version” we’ll concede that there are some things that don’t match what a mobile experience should be. The part of this exercise was to see how easy it would be to port something Silverlight 2/3 wholesale and still run. I think it’s pretty cool to see a huge amount of codebase running as-is. The introduction of the sound/gesture APIs weren’t required, but just added benefit to trimming some areas of code.
Congratulations and THANK YOU to Ryan and Terralever for doing this effort and publishing the source code for both projects. Read more:
Silverlight MVP and friend, Joel Neubeck, has started a series in the Expression Newsletter. The first article is available now and is part of a 6-part series in building a casual game in Silverlight:
- Getting Started – Architecture / framework
- Movement and collision detection
- Design – Sprites, boards and dialogs
- Animations and sound
- Initialization and Deployment
- Advanced concepts (Physics, Multiplayer, Optimization)
This first article talks about some of the framework that will be used, specifically an MVC model:
“In Silverlight development, MVC is an excellent way to support role specific tools such as Visual Studio for the developers and Expression Blend for designers and animators. Using MVC in a game ensures a foundation that isolates a developer’s ability to control state (position, movement and collisions) while allowing designers full control over how game elements are rendered.”
This should be a good series to watch and add to your toolbox for developing casual games in Silverlight 2.
With the Olympic ceremony only days away and being able to enjoy the Olympic experience online via Silverlight, why not get a little excited and play some casual games, Olympic style. All of these were build using Silverlight and the Popfly game creator:
I played them and they are pretty fun and amazing what can be done using a non-programming tool for gaming and Silverlight!
This week I had the privilege of attending and helping with some Silverlight in casual games presentations at the XNA Gamefest conference happening in Seattle. I say helping because the real game experts were there.
Two Silverlight presentations were given. One by Bill Reiss/Joel Neubeck and the other by Mike Snow. Between the two sessions we covered concepts in Silverlight game development as well as a walk-through of starting out to create a simple game. I consider these guys to be the foremost experts on the topic given their experience in creating games like Dr. Popper, Stack Attack, Zero Gravity, Zombomatic and Tunnel Trouble. Mike also will be posting some game frameworks as well as demonstrating some multi-player aspects.
It was a decent turnout for those interested in learning where Silverlight plays in casual games. We also were able to talk with the MSN Games teams that gave us an understanding of what would be needed to implement a game in Silverlight. I was surprised to see how simple the initial process is to get a game in the pipeline for consideration of MSN Games. So if you have some thoughts on writing a game in Silverlight and want a distribution channel…consider MSN Games!
Silverlight Game Contest!
Need some incentive? How about a Silverlight game contest? TeamZone Sports is sponsoring a contest…with some cash prizes. Official rules are coming soon, but you can sign up to be notified here. I’m excited to see what comes out of the contest!
XNA and Silverlight?
With the announcement at XNA that the XNA Community games are going to be opened up wider so that anyone can essentially write an XBOX game and have other community members consume it, I suspect people will be jumping at those opportunities! Maybe you want a game in multiple channels: XBOX, Windows, Zune, Web. There are going to be things you may want to know in advance. Bill did a demonstration of a single code base that ran on Windows (XNA), Zune (XNA for Zune) and Silverlight. It was pretty cool to see the same experience in all those different platforms. Bill had some good advice on things to look for when developing for this goal…maybe he’ll append those to the post (hint, hint). You can download his sample code here.
Thanks to MSN Casual Games for inviting Silverlight to the conference (and for the sweet swag). Thanks to Bill and Joel as our MVPs in this area for representing their experiences and sharing their knowledge with us. Thanks to Mike for sharing his expertise and be on the lookout for him to provide some source on how he accomplished some multi-player game play within Silverlight using sockets.