Last year while working at "Monolith" I had a short email argument with some upper management folks about the future of Silverlight. They were all in a panic that "Microsoft was abandoning Silverlight" , and this was just after they had agreed to paid a vendor huge $$$ for some internal Silverlight work.
I calmly told them that they did not need to worry, Silverlight was not going anywhere, and in fact would become a prime dev platform for Sharepoint, Windows 7 phones and might even show-up in XNA for the XBox 360. This, apparently was some kind of blasphamy , and I was excommunicated from the email conversation immediately.
Sorry "Monolith" execs, like so many other things, you were wrong on that one too. While the tech is certainly not a dominate force, a new version, Silverlight 5 is on it's way. A lot of the new features appear targeted directly at Flash and the emerging "Pad+App" market. Some of the new features include:
- Improved H.264 decoding
- TrickPlay for improved video playback features
- Improved text support to create magazine style layouts
- Support for DRM
- GPU 3D support
- HTML content hosted and rendered inside a Silverlight app
What's more, it appears that Silverlight 5 is indeed geared towards the Windows 7 phone development. However, Microsoft is still pushing HTML5. Earlier this week on a Microsoft sponsored blog, Microsoft tried to untangle their strategy for both technologies:
"Neither plug-ins nor standards-based approaches, however, represent the single answer to client development. In general, we know developers always want the best of everything, in a single tool, but at the same time recognize that is not a practical way to approach development. Developers need to make choices and tools will continue to evolve. We want to provide guidance and clarity, but recognize these decisions are always going to need to be made close to the code and close to the ultimate customer requirements. Today, plug-ins and standards play complementary roles, and as a practical matter there is no single technology to satisfy all the needs demanded by client development. While much has been written about a diminishing gap between the capabilities of HTML5 and capabilities provided by plug-ins, plug-ins will continue to evolve and so there will likely be a gap of some degree, and it will cyclically contract and expand. Contraction occurs as the standard specification “catches up” with the plug-in technologies, and then expands again as the next wave of innovation pushes the boundary further forward."
Basically, they are hedging their bets. They know Silverlight is superior to HTML5, but they need to support both technologies because the future is still very cloudy for everyone involved.
-Steve Fulton (8bitsteve)
According to Wired.com, the Google Chrome App Store is set to launch is early December. As well, Mozilla has announced The Open Web App Ecosystem which reads essentially like their own version of Google Chrome App Web Store. Here is the feature list from the Mozilla Labs blog:
- Can be “installed” to a dashboard within your mobile or desktop Web browser, or to your native OS desktop or mobile home screen.
- Work in all modern Web browsers, while enabling each browser to compete on app presentation, organization and management user interfaces.
- Support paid apps by means of an authorization model that uses existing identity systems like OpenID.
- Support portable purchases: An app purchased for one browser works in other browsers, and across multiple desktop and mobile platforms without repurchase.
- Can request access to one or more advanced and/or privacy-sensitive capabilities that they would like access to (like geolocation) which the system will mediate, giving the user the ability to opt-in to them if desired.
- Can be distributed by developers directly to users without any gatekeeper, and distributed through multiple stores, allowing stores to compete on customer service, price, policies, app discoverability, ratings, reviews and other attributes.
- Can receive notifications from the cloud.
- Support deep search across apps: Apps can implement an interface that enables the app container (generally the Web browser) to provide the user with a cross-app search experience that links deeply into any app that can satisfy the search.
No mater what, the prospect of selling apps to end users through the web has just gotten a bit sweeter. We'll watch both of these closely in the coming months.
Earlier this year we predicted that Microsoft would start to focus Silverlight on their own platforms as it loses ground to HTML5. Well, this recent story on Wired.com points to towards that predictions becoming a reality. Tim Carmody or wired.com says:
"It feels like a smart move. Xbox 360 is Microsoft’s most successful gaming and entertainment device. It brings content to the biggest screen in the house.
Extending Silverlight extends the range and variety of what that content might look like, and would allow Microsoft to bring products to the market faster. Having that versatility at the very moment when other companies are struggling for a foothold in the living room, and the shape and scope of computing in that space is up for grabs, could be a powerful advantage."
So do we now have another viable RIA web platform that targets a whole subset of screens and devices? We here at 8bitrocket.com have always thought highly of Silverlight. Maybe with version 5.0 coming out, the technology's time (and niche) has finally arrived
Microsoft recently released the beta of the Windows 7 development tools, and Silverlight is big part of that release. Silverlight can used in conjunction with the XNA framework which gives Windows 7 Mobile apps access to Xbox Live, among other features. As well, (and as it should be), Windows 7 Phone apps made with Silverlight can be sold in the Microsoft Mobile apps store. Here is a quote from silverlight.net:
"Developers build Silverlight applications and package them for submission to the Windows Phone Marketplace where users can download them to run on the phone on a trial or purchase basis. Silverlight for Windows Phone supports a built-in try/buy API to simplify the process of converting a trial to full version for both developer and end consumer."
This appears to open-up Silverlight game development to the Windows 7 phone in a major way. Yes, the audience is small, and yes, it is C#/Visual Studio Microsoft land, but it is also a market that will not be over-saturated with apps too quickly, and could be very lucrative if you get in on the ground-floor.
Check out the Wiondows 7 Phone development site here:
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.
Microsoft has finally released their new version of Silverlight, Silverlight 3. All the dev tools are now available here: http://silverlight.net/GetStarted/ .
However, if you want to develop on a Mac, you will need to use something like Eclipse4SL, which, when we tested it a few months back, was stil la bit buggy. However, it's worth trying again.
One of the most interesting new features of Silverlight 3 is support for 3D planes and BitMap caching. It still seems like they are still playing catch-up to Flash though. If they really wanted to make splash, why not leap-frog Adobe instaed of looking like an also-ran?.
I decided to try out the newly announced Elclipse Tools for Silverlight this morning to see if it was true that a real development environment for Silverlight Web apps now existed for Mac OSX.
My journey started by visiting the Eclipse 4SL page (http://www.eclipse4sl.org/) to download everything required. There are several large installs that must be completed, in-order before you can start using Eclipse 4SL.
Once you have installed these two things, you launch Eclipse, and use the Eclipse software update tool to get the Silverlight ESL support modules. (Full instructions for this are here)
When this is completed, you are ready to start working with Silverlight on a Mac.
This all sounds good, but how does it work in practice?
Well, here are some notes from my experience:
- 4SL has support for Microsoft visual Studio projects. This is great. However, it's a bit tricky to get them to work. You can't simply "open" a project. You must first use the [Import] selection from the file menu. This does allow you to keep the Silverlight project in it's home directory, and not move it to your working folder which is nice touch.
- Once your project is open, there are some oddities that made working with them a bit harder than Visual Studio. First, the background color of Eclipse was white. While this seems minor, it made it so I could not see any of my pure-white XAML objects. Since I'm new to Eclipse, I could not fund any way to configure this. This was very minor, but still annoying.
- The XAML editor is neat, but it takes several seconds to display even the simplest XAML. It slowed-down my work efficiency considerably.
- The project explorer, C# editor and the warnings/errors panel were very well done and useful. I got comfortable with them very quickly.
- However, there is no code-complete support (that I could find), which sort kills the whole thing. Visual Studio is so good at this, it makes living without it very difficult.
- Related to the above, there do not seem to be any "debug" options that I could find. Debug exists in Eclipse, but I could not get it to work with Silverlight. I do not think this is ready yet.
- Crashes: My simple Silverlight app crashed Eclipse the second time I tried to run it. It was a complete, fatal error. I had to restart to get back going again.
- Finally, and this is the most impostant part, my Silverlight app did not run exactly the same when compiled in Eclipse as it did in Visual Studio. I need to look at this further, but since I could not debug, it made the process very hard.
So, what does this all mean? Well, I was very happy to see the Eclipse 4SL work at all! The installation is slick, and the potential exists for this to be a very competitive Silverlight development platform. However, with all the issues I experienced, I will be treating this as a BETA, and will continue to develop Silverlight on VM in visual Studio until the product matures a bit more.
Sorry it has been a while since I've posted any news about Silverlight. We've been busy finishing off our Flash games from the 4K Contest, and working on our new Video Podcast.
First, the really big news is that Microsoft has released the Silverlight 3 Beta to the public. There are some very exciting new features in Silverlight 3 that will be of specific interest to game developers. Here is list of the things I think will change Silverlight Game Development forever (one Silverlight 3 is released):
- Perspective 3D (3D planes, 3D transitions)
- Pixel Shaders (Blur, drop shadow and other FX just like Flash Filters)
- Bitmap Caching (Ala Flash AS2)
- A real Bitmap API (blitting now possible)
- Spring and bounce (+ more) animation FX
- Better audio support
- Out Of Browser: turn Silverlight apps into PC or Mac desktop apps (Adobe Air anyone)
- plus a lot more...
It looks like Microsoft is really trying to make Silverlight a contender with this release
OK, now onto the blogs:
Bill Reiss over at Silverlight Games 101 has posted as very exciting new bit of code. It allows developers to easily port their 2D XNA games to Silverlight. This is some very impressive work. Bravo Bill.
ShineDraw has a new entry that compares Flash with silverlight with JavaFX. This is really cool. Can you predict the results?
Andy Beaulieu has just launched a fantastic new game with both standard and rag doll physics. Boss Launcher is not only fun, but these days, seems wildly appropriate.
you agree to grant the site editor a limited, sub-licensable worldwide, fully-paid, royalty-free, continuing, non-exclusive right and license (including any moral rights or other necessary rights) to use, publicly display, reproduce, modify, adapt, publish, distribute, publicly perform, promote, archive, translate, and to create derivative works and compilations, in whole or in part. Such license will apply with respect to any form, media, and technology already known at the time of provision or developed subsequently; this license will terminate at the time you remove your content from the Site.
Yep, they have added that dreaded "create derivative works" clause to their policy too. I realize that they probably won't act on it, but you should still be careful with your own work.
Another announcement from Mix09 that will be of great interest to Mac users is the Eclipse Tools For Silverlight plug-in that will finally allow Mac Users to develop Silverlight Apps. This is awesome news.
Finally, laumania.net has a link to a very interesting Mix09 session about basic game animation principles.
As far as our site goes, we are going to start again with Flash To Silverlight blogs again soon, concentrating on taking our Flash breakout game and remaking it in Silverlight. As well, we will be taking a deep dive into the Silverlight 3 beta.
See you soon.
OK, so I missed last week, sorry. I was finishing my 4K Flash game for the Game Poetry 4K Game Competition. I'm now working on converting that game into Silverlight. Anyway, that's a good, quick segue into our first topic: Silverlight Game Competitions.
We have already discussed a couple competitions in these mash-ups, but let's recap and extend:
- The Mix09 10K Mixtify Contest : The winners have been announced for this contest, and several games were among them. The Community Prize went to Mohan Embar's Triangle Puzzle, a cute animated version of a game you probably made in wood shop class in the 80's (I did anyway).Timmy Kokke's Silver Rubix, a very well-made Rubik's Cube simulator took one of the three Judge's Runner-Up Prizes. Jimmy Dickinson Paper Ball, a stylishly made (and really impressive) paper football simulator, took another of the Judge's Runner-Up Prizes.
- The $5000 Silver Quest contest we described in last update has not had much of an update in the past couple weeks. As of today, you have 51 days to enter, so get going!
- Last week we reported about a new contest, the Dr. Dobb's Challenge Deuce a $10,000 contest with a due-date of June 12, 2009. There is a fairly active forum for this contest here, and there are several categories to enter: (I lifted this directly from here)
- The Dobbs Race-To-The-Finish Challenge ($1,000) - Produce the best modded game (of any kind) in half the length of the competition.
Best Game ($2,000) - Produce the best modded game (of any kind) across the whole challenge.
- Best One Button Game ($1,000) - Produce the best game that uses only one button for input.
- Best Game Starring Dr. Dobbs And The Defy All Challenges Crew ($1,000) - Produce the best game that still stars the Dr. Dobbs and The Defy All Challenges Crew (though these characters can be redrawn or otherwise used in any way in the title.)
- Best Total Conversion ($1,000) - Produce the best game that is completely different from the original Dr. Dobb's Challenge Deuce game i.e. uses no design aspects or assets other than the use of Visual Studio icons.
- The Dobbs Race-To-The-Finish Challenge ($1,000) - Produce the best modded game (of any kind) in half the length of the competition.
Now let's take a look at the Silverlight Blogosphere:
- Bill Reiss over at Silverlight Games 101 has become the first ever Microsoft Silverlight MVP. That should tell you something about the importance of both Silverlight and games to Microsoft. Congratulations Bill!
- Related to the above, Bill's gaming site Silver Arcade has chosen their new logo and now promises to launch this month.
- Shine Draw has some new 3D and pseudo 3D Flash vs. Silverlight comparisons up which, unfortunately for the current rev of Silverlight, look much better in Flash. Shinedraw is now promising some new, and upcoming comparison that should be very interesting to game developers including: Game: Bejeweled, Particle engine , Physics Engine, Working with bitmap, and Working with sound . I can't wait to see what they have in-store.
- Andy Beaulieu has a great new entry about the current state of Silverlight Game Development called Silverlight Gaming ++. He talks about many things including the new gaming forum at Silverlight.net, and some cool new blog entries. I don't want to take too much away from it, so go read it for yourself.
- Mooshoo has posted some news games, and they are now playable! (I was having trouble getting them to load last time). Spider Solitaire, Silverlight Solitaire, RoboZZle, MutraGame are all fairly new and worth looking at.
- Also, Adam Kinney mentioned us in his new blog called Silverlight Gaming About To Explode. Thanks Adam!
Finally, here are some of the new games in the Silverlight.net Showcase:
- Chessbin Chess by Adam Berent is good little chess game with some nice A.I. built-in.
- Rootbeer Maze by Ben Maddox looks like it uses the Prim's or Eller's algorithm to create a unlimited random mazes for your enjoyment.
Anyway, that is all for this week. If you know of any blogs or game sites that we have missed that should be added to the mash-up, feel free to contact us or added a comment below.
Our good friend Simon Carless just clued-us into another Silverlight Game contest: Dr. Dobbs Challenge Deuce .
There are two way to compete:
There is a pool of $10,000 available for the contest,and they do not seem to be claiming any ownership of your code after the fact.