Hacker News new | ask | show | jobs
by kpao 4985 days ago
We're in the process of porting our Flight Simulator (Infinite Flight - http://infinite-flight.com) from iOS to Android. We originally developed it on Windows Phone.

Porting from WP7 to iOS took a few months, mostly because MonoGame didn't have any 3D support (we added it). We have been slowly porting to Android, it's been pretty good so far, the framework makes it easy and we've had very little issues making external libraries build on MonoDroid. Xamarin's also been very responsive to our questions and issues.

If you want to see what it looks like, here's a video of what we have lined up for our next update coming out in a few days: http://www.youtube.com/watch?v=u5N_ckb-dXw

1 comments

I'm surprised you're so high on MonoGame, though I guess if you started with XNA it makes a lot of sense for you.

I find the project to be deeply hurt by being tied to the XNA ecosystem (the content pipeline is a mess, especially as you can't build content stuff in MonoGame itself, and Android support is atrocious--dealing with a destroyed context is insanely messed up). I'm also pretty disappointed in the lack of professional behavior--no CI, few/no automated tests, and few/no code reviews have led to some serious WTFs that sneak in that are really unsettling. There's a lack of project leadership, too, in that if you'd like to contribute there are no real designated maintainers or developers with responsibility over submodules (I've tried myself, multiple times, to no real success).

I think the best way forward for Mono and games would be a library, starting with MonoGame or not, that followed better practices and didn't try to make square pegs fit in round holes. There are a lot of areas where it makes sense for Mono to ape the .NET APIs but this doesn't seem like one of them.

If I could possibly offer an alternative to MonoGame, perhaps try libgdx game framework with MonoTouch. Libgdx is a very well developed framework for Java, but the creator has also put together guides on how to use it with Monotouch.

How to guides:

http://www.badlogicgames.com/wordpress/?p=2602

http://www.badlogicgames.com/wordpress/?p=2450

http://www.badlogicgames.com/wordpress/?p=2454

http://www.badlogicgames.com/wordpress/?p=2457

http://www.badlogicgames.com/wordpress/?p=2459

There was also a discussion about using J2objc (http://code.google.com/p/j2objc/) in order to port it to iOS: http://www.badlogicgames.com/wordpress/?p=2593

I like Mario a lot, and I use libgdx for some of my stuff (and am looking at contributing some gamepad stuff to it when I get around to writing it), but despite its quality--which is very good, and the primary developers are professionals who know what they're doing--it is not in the same conversation as MonoGame.

No Metro support (and I find it very unlikely Microsoft will allow Java apps in their Metro store, and almost definitely not on ARM devices) and a reliance on IKVM on one of the major mobile platforms makes it a poor choice for greenfield development if you care about those platforms.

It's really, really great for desktop and Android, though.

e tu brute?

not sure what's wrong with IKVM?

Seems like you want to throw the baby with the bath water.

If the project is lacking tests -gasp- that right there is an area you could have contributed.

If the project needs CI, I can tell you, it is not very hard to add. We would be happy to host that.