As you may recall, we started this year experimenting with technologies beyond Flash. First, we started to review iPhone games because, well, my wife got an iPhone Touch and I wanted to start looking at the games and explore the possibility of making them. Next, we looked into Microsoft Silverlight. Silverlight was just coming into it’s own at the time. Version 2.0 was mature, and version 3.0 was on the horizon. Gone were the days of executing complicated, multi-file, plain-text scripts in a web browser. Microsoft has seen the “light”, and had taken steps to make Silverlight much more like Flash. At the same time, we were exploring ways to expand the scope of our blog to encompass more online game development topics beyond Flash.
In the first few months of 2009. Silverlight looked very attractive for making games. Microsoft was sponsoring game development contests, and blogs were springing-up around the internet touting Silverlight as a Flash killer. We took a much more measured approach. We looked at both technologies and attempted to re-create some of the same games on both platforms. The first project was simple “Guess The Number” game written in both AS2 and Silverlight. To be honest, after writing this tutorial, I was somewhat “sold” on the Silverlight tech. While Silverlight still did not have all the features of Flash and AS3, it had some interesting advantages for development. The main advantage was development workflow. Microsoft split development into two products. Expression Blend for designers, and Visual Studio for programmers. Both could share the same “project files”, but the tools were designed for specific disciplines in a way that Flash developers could only dream about. I continued the process, and wrote another game, Zamboozal Poker Dice, a very basic re-write of a game we made 20 years ago. the Silverlight and Flash versions were so close, that it was very hard to tell the difference. I was further intrigued because the development of the Silverlight version went much smoother than the Flash one. My final test of Silverlight was a game I made for my 3 year old for her birthday, Katie’s Heart Catcher. After that game, I took a short break from Silverlight, waiting for version 3.0 to be released. I spent sometime reading and writing about blogs and events in the Silverlight community, and some of our stories and games were featured on Silverlight.net.
However. after that, something odd happened. New information about Silverlight games started to either dry-up or morph into something else entirely. The first to go was also the most promising. Author Bill Reiss’ blog site, Silverlight Games 101 stopped publishing new articles sometime in April. Bill is the co-founder of Silver Arcade, a site dedicated to featuring games made in Silverlight. I even submitted my to little games there, because thought the idea was really cool. However, as the months went on, updates to that site slowed as well. At this point, they are up one game in the past two months. My initial excitement about the idea masked a flaw that now seems apparent: only developers care what technology a game is made with. Players don’t care, they just want good games. A portal to highlight Silverlight games really only pleases Microsoft , Microsoft devotees, MVPs and certified developers. If you are technology agnostic (I’ve at least made an attempt to dothis my whole career “use what is best for the job at hand”), a dedicated site might seem far to limiting. Similar sites like http://www.silverlightclub.com/ , http://silverlightgames.org/ and http://www.mashooo.com/ seem to be doing about the same,with the Alexa rankings well over 1,000,000. By contrast, most Flash game portals have Alexa rankings well under 100,000 or even 10,000. However, there is some good news: Bill is still going strong. His book Hello Silverlight 2 is now re-titled Hello Silverlight 3, and will be released next year. In fact, it may have been the announcement of Silverlight 3 that stumbled Bill up a bit. His Silveright 2 book was scheduled to be released when Silverlight 3 was announced. Now his Silverlight 3 book is scheduled for release, and Microsoft just announced a Silverlight 4 beta. Damn. This also highlights what might be one of the flaws in Microsoft’s Silveright strategy: how does Microsoft expect developers and technical writers to get traction on their technology if they keep upgrading to new full revs every 6 months?
However, it was not just Bill that slowed-down his writing Silverlight game development. Silverlight Switch, a blog that look promising way back in April, has only updated a few dozen times. While there is still some fresh content, you will notice that much of it is geared towards general purpose design. That can’t be said for Shine Draw, a very detailed and interesting site that compared Flash and Silverlight versions of the same apps and games, and asked people to vote on them. The site appeared even handed, but there was always a hint that Silverlight was the tech of choice. That site has not been updated since October. One of the better voices for Silverlight, Andy Beaulieu, has been updating a lot (nothing this month however), and in fact his blog about writing a Pinball Game in Silverlight was fantastic. However, another story about “Why Silverlight Is Great For Games” reads like a ho-um list to Flash developers who had most of those things (and much more) for many years. Another key blog is Microsoft employee Scott Guthrie’s. While it is updated regularly, Guthrie has never focused on games, so there is not much for game developers to grasp onto. As well, for a key blog, the updates are still sporadic and not really focused on Silverlight, but on general purpose news on Microsoft technologies. The Official Silverlight Team blog has very few (if any, I could not find any) references to game development, nor do the blogs hosted at blogs.silverlight.net have many entries about games or game development.
While I still believe that Silverlight is an exciting technology, I believe it is really only exciting to Microsoft .NET developers who can add it to their tool-kit for developing Microsoft web applications built on .NET and Sharepoint. For those developers, the hooks in Silverlight that either exists now, or will be built by Microsoft in the future, pose an offer they cannot refuse. To remain a developer of Microsoft technologies you almost MUST learn and develop with Silverlight. However, from my (albeit limited and not all-encompassing evidence), there is very little “groundswell” for Silverlight game development beyond official sources and related web sites. Microsoft might still see games as way to get developers interested in Silverlight, but in the long run, games are not what they care about. Keeping a hold of their corporate customers so they will not switch to open-source or other technologies semes to be one half of Microsoft’s strategy with Silverlight. While I don’t blame Microsoft for trying to keep their business, they are not winning over game developers in any significant numbers to their platform with this tactic. The target for Silverlight seems pretty lowand narrow. Microsoft has missed allowing Silverlight to target other Microsoft or important platforms. They have been very good about Mac and Linux browser plug-ins for Silverlight, but they have failed to allow Silverlight code to compile down to target Zune, XNA or even the iPhone. Because of this, the second half Microsoft’s other strategy with Silverlight appears to be aimed at “killing Flash”, instead of broadening the scope to embrace the needs of developers.
Like it or not, Flash *is* the platform for 99% of web games (OK, I made-up that number, but it might be higher). On the other hand, Making games in Silverlight is a means to an end. You do it to learn the tech or satisfy the whim of a client or customer, but in the end it will not be your focus (not now anyway). While there are Silverlight games being made, their numbers are few and they are mostly located on web sites that have a Microsoft focused audience. In fact, most (not all mind you) active sites and blogs that discuss Silverlight appear to be hosted by Microsoft, run by Microsoft employees, or at the very least, run by people who have some kind of Microsoft connection (MVPs, Certified Developers, Microsoft Partners, etc). This is not necessarily a bad thing, as it shows Microsoft does go a long way to support developers who use their products. However, to foster indie game development there needs to be a strong network of sites and developers who work independent or even against the wishes of the technology company who has created the platform.
This does not mean Adobe has done everything the right way when it comes to Flash game development. In fact, many game developers feel like bastard step-children when it comes to Adobe and how they are looked-upon by the company. We have been developing Flash games for 10 years, and it is only recently that we have felt Adobe has seen the value in our work, and the work of 1000’s of other dedicated Flash game developers. The Flash game development community has thrived and made huge advances (Box2D, PaperVision, etc.) because they love the technology, but are tired of waiting for the stewards (Adobe) to add useful and necessary features. Almost in-spite of Adobe, Flash has now become become a mature technology that is growing day by day. We are now seeing signs that Adobe has caught-on.
Flash AS3 games are being released at a clip that is unrelenting to general purpose game portals all over the internet. What used to be about a dozen or so a week has turned into 100 or more, and this just from the sources I check regularly. Adobe has opened-up Flash for development on the iPhone (native compiled, but it’s still a great opportunity), and Flash player 10.1 is slated to show-up in all kinds of phones, devices, set-to-top boxes, etc. in the next 12 months.As well, if you can maneuver through the maze of contracts and approvals, you can use Flash to make games for for Nintendo Wiiware. At the same time, Adobe does not confuse developers with new versions every 6 months. Actionscript 3 has been around for almost 3 years, and while new versions of the Flash IDE and Flash Player, AS3 has only been only extended with new classes. Developers can still rely on the underlying tech to remain, pretty much,the same. Adobe has also recently created the Adobe Flash Platform Game Technology Center to help assist developers and support (finally) games written in Flash. (They have a link to this site there too, which is really cool of them). Furthermore, the release of Flash Builder and Flash Catalyst in 2010 will remove the only advantage Silverlight currently has over Flash: developer workflow. So, while I still like the idea of Silverlight, and I like the idea of making games in Silverlight, and while I’m still a fan of Microsoft’s server-based products (.NET/C# is unmatched in it’s brilliance. I’m not kidding), they have not unseated Flash as the game development platform of choice for web games, and as far as I can tell, they never will.