.NET Zone is brought to you in partnership with:

My name is Toni Petrina and I am a software developer and an occasional speaker. Although I primarily develop on the Microsoft stack, I like to learn new technologies. My hobbyist projects range from game development, regardless of the technology, to ALM. I spend most of my time with my girlfriend and someday I will learn how to play the guitar properly. Toni is a DZone MVB and is not an employee of DZone and has posted 69 posts at DZone. You can read more from them at their website. View Full User Profile

DevLog Day – Playing with Xamarin and MonoGame

08.30.2013
| 1712 views |
  • submit to reddit

Welcome to DevLog – a brief note on what I am currently doing.

-

Xamarin is awesome. There is simply no other way to put it. The integration with Visual Studio is seamless and developing, building and deploying an Android app is just as easy as doing the same with Windows Phone or Windows Store app. Using MonoGame, I quickly developed game for WinRT, Windows, Windows Phone and Android! Wow, and almost without any platform specific code (besides mouse handling for normal Windows).

Homer will have to go, sadly, but that’s the way it is

However, project structure really got out of control as you can see from the picture below :/

While each platform having its own project is not so bad, having library projects compiled again for each platform becomes a nightmare. It is too bad that you cannot create a simple “loader” project for each platform and have just one PCL project for all platforms. You could then easily keep all projects in sync. Adding new files to one platform requires you to manually update the remaining platforms.

Simon Jackson keeps a fork of MonoGame that enables you to use PCL, you can get it here:https://github.com/DDReaper/MonoGame/. I am yet to try to refactor my code to support his PCL fork.

Another pain point is content creation. If only you could somehow have a single content project that is shared (or at least correctly referenced) for each platform. Manually updating each project is cumbersome and prone to errors. If only there was some nice way to deal with it…

That is it for today, my daily exploits will continue in another post

Published at DZone with permission of Toni Petrina, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)