Chris Risner . Com

Is this real life? Microsoft Band

Posted on: 10/31/2014 6:32:00 PM by

Late Wednesday night, news broke about Microsoft’s soon to be released fitness wearable dubbed: Microsoft Band.  When the news broke, it was shortly followed by links to the official page for the Band as well as news that it would be available for purchase in Microsoft stores and online on Thursday, as in the very next day.  While there are always rumors about what products tech companies are researching or building, I don’t recall seeing anything substantial in regards to Microsoft building or releasing a fitness wearable.  There certainly weren’t screenshots of the actual device and I didn’t hear about anyone leaving a test unit sitting on a bar somewhere.  For all intents and purposes, this product was launched without being leaked.  This is made even more impressive when you think about what was actually built:

  • The band itself which involved hardware and software being constructed for the device
  • An iOS app
  • An Android app
  • A Windows Phone app

That’s a lot of moving pieces and people for something to fly under the radar and not end up on All About Microsoft.  Let’s look at a few other arguably amazing facts:

  • The Microsoft Band has met with overwhelmingly positive reviews: theVerge, Gizmodo 
  • The Microsoft Band beat the Apple Watch to market
  • The Microsoft Band works with all three of the most popular mobile operating systems
    • It’s true that Cortana functionality only works if you’re paired with WinPhone
  • The Microsoft Band has been out in public being worn by beta testers for months!
    • Check out a few tweets from people at Microsoft
  • The Microsoft Band SOLD OUT at numerous Microsoft Stores

No matter how you slice it, this adds up to something pretty cool.  It’s even nicer to see that this came from Microsoft as the company continues to pursue it’s mobile first, cloud first mandate.  I haven’t purchased a Band yet (they were sold out before I left work) but I hope to pick one up soon!

Categories: Hardware, Microsoft, Mobile
Bookmark and Share
First Article

MonoGame xPlat Starter Project

Posted on: 10/24/2014 3:51:00 PM by

TLDR: You can access the source code here.

Sometimes one of the hardest things to do is just get started with something.  Over the past couple of years, I’ve taken a few cracks at getting back into game development mostly by looking at xPlat frameworks such as libGDX and MonoGame.  One of the really nice things that libGDX has is a Setup Project app that, when ran, generates projects for the different platforms that the framework works on as well as a single place for shared code and the place to put all of your shared resources.  This makes it super easy to get started and running your app on all of these platforms (Android, iOS, Windows, OS X, etc).  Unfortunately, MonoGame doesn’t have a similar feature.  Every time I’ve gotten back into MonoGame this has affected me because when I start development with a cross-platform framework, one of the first things I like to do is make sure things are running on all the platforms I intend to target.  With any framework, I think you will probably end up finding things that you need to modify for specific platforms but it’s nice to see a very simple app (I won’t call it a game at this point) running cross-platform.

In order to make it easier on other people who may be trying to tackle the same issue, I spent the time getting the same app running on Android, iOS, and Windows Phone (the three platforms I’m interested in targeting right now).  There are several reasons today why this is complicated:

  • Version 3.2 of MonoGame (including project templates) has been released for Windows and Visual Studio, but NOT for other platforms (OS X being the one I need).
    • There are NuGet binaries you can use but that’s not without it’s own issues.
    • The other option, which I used, was to compile the source code from GitHub.
  • The Content Pipeline tool isn’t part of the public build yet (or at least it doesn’t seem to be) requiring you to grab the source for MonoGame and compile it.  The Pipeline tool is really important if you want to compile your resources into the optimal format for each platform (recommended) and prior to the MonoGame folks making a tool, you had to use the old XNA Content project stuff (nightmare if you don’t already have a machine set up with it).
    • For more on the Content Pipeline tool, check out this video from Xamarin Evolve.
    • Since this isn’t in the public build, I had to compile it from source too.
  • There are two different ways to share code (i.e. put all your game code in one place) with MonoGame (and Xamarin):  PCLs and Shared Projects.  They both have their pros and cons but I decided to use Shared Projects.  This allows you to create code which is compiled for whatever platform you’re currently building for and you can do #if to put platform specific code.  While the shared project type is supported by VS 2013 Update 2, you can’t actually add a reference to a shared code project (at least not a Windows Phone one).  To get around this there is Visual Studio Extension called the Shared Project Reference Manager that you just install and you’re ready to go.

It might seem like the first two bullet points are bashing the folks who work on MonoGame but that’s far from how I feel.  MonoGame is a free framework and the people that work on it seem to do it on a volunteer basis.  I have nothing but respect for these people and think they’re doing a great job.  I, like everyone else wish they could do it faster / become rich for their efforts / make everything work just as easily on OS X, but in the meantime, I’ll do what I can to bridge some gaps. 

The Source Code

The code for the starter proejct is available on GitHub and comprises the following:

  • Solutions for Xamarin Studio (with iOS and Android projects) and Visual Studio (for Windows Phone)
  • A Shared Project with the Game class in it
  • iOS, Android, and Windows Phone 8.1 projects which all reference the Shared Project and use it’s Game class
    • The Android project is targeting 4.2
    • You might need the above mentioned Shared Project Reference Manager for the WP project to compile.
  • A local libs folder that contains iOS and Android MonoGame framework assemblies built off the Dev branch
  • The Windows Phone project is referencing the DLLs for MonoGame installed with the VS 2013 installer for MonoGame
  • Assets for each platform (only the Windows Phone version is compiled into an XNB for now)

Running the app currently works on each of these platforms and shows the MonoGame logo.  This is laughably far from being a game you could run or do anything with but it’s a good template for starting out.  Hopefully this provides a jumping point for other people to work on cross-plat games.

Categories: Games, MonoGame, Xamarin
Bookmark and Share
First Article