Silverlight, once hailed by Microsoft evangelists, is now dead, crucified by the side of Flash by Jobs when he brought down his tablets from mountain view, and then buried by Sinofsky under his surfaces. But is it really dead? Silverlight certainly seems dead in the browser with Google cutting off support in Chrome followed by Microsoft in Edge. Yet Silverlight still lives on in Windows Phone and Windows Store (formerly Windows Runtime, formerly Metro).
Back in 2010 and 2011 I made a series of mini games written in F# with Silverlight and hosted on this blog along with some online arcade sites likes GameJolt and SilverArcade. Rather than let them slide into the sands of time never to be played again I thought I’d have a go at resurrecting them for Windows Phone.
Search for a stable… environment
I started by attempting to create a Windows Phone project in my shiny new installation of Visual Studio 2015 Community, but failed at the first hurdle. To run the Windows Phone emulator you need the Professional version of Windows and silly old me had installed the Standard edition when I rebuilt my Windows partition after a fatal blue screen in the new year.
Then I moved on and tried trusty Visual Studio 2013 but hit the same hurdle. Not to be deterred I went back another year to Visual Studio 2012 but hit a new obstacle, where the 2012 tools don’t work if you have 2013 installed.
Back to the Future
No problem, I span up a virtual machine in Oracle’s Virtual Box with ye old faithful Windows 7 and Visual Studio 2010 installed, and after pushing on VS2010 SP1 and the Windows Phone tools, then some obligatory rebooting and service patches, I was up and running and had a game ported and playing on the emulator. I used a Windows Phone project template from Dan Mohl, which requires an empty C# host project because CLR stands for
Common C# Language Runtime apparently. My only remaining issue was that running the phone emulator within a VM was painful. My next step was to purchase dedicated hardware in the form of a refurbished Thinkpad (circa 2010) from Morgan Computers and I finally had a stable environment with an emulator for porting the apps and games over (although no option to deploy to a device as the Zune software is no longer supported).
Across the Universe
Microsoft are currently touting the Universal Windows Platform as the future, letting you easily deploy your apps between Windows 10 Phone, Store and other platforms. That said with Visual Studio 2010 I can target the entire Windows Phone range from 7 up to 10, note that number 9 went missing somewhere along the way.
Also note the Windows Phone 7 market currently appears to be almost as “large” as Windows 10 Mobile.
The first game I ported over was Invadurz, a homage to a classic 80s arcade game. It’s available in the Windows Store and I’ve recently upgraded it with low-latency sound effect support via XNA.
And despite the screen shot being the wrong way round a few people have even downloaded it
With a simple and stable porting system in place I quickly submitted another 4 apps and games, all available free in the store:
With some experience under my belt I recently headed down to London to the Windows App London meetup (previously the Windows Phone user group) for the Submit it! hackathon, and during the day I managed 5 submissions:
and won an Easter Egg from Tesco for my efforts!
Just as in the bible, a second coming is in the offing. XNA is dead, long live MonoGame.
I’m currently working on moving the Windows Phone submissions lock stock and barrel over to XNA which should give me a route to full cross platform resurrection via MonoGame with deployment to Android, iOS and beyond…
and many more users, or at least that’s the theory.