Multi platform 2D game engine
android, c#, cross-platform, game-engine, ios
Solution
The engines below allow you to reuse pretty much all your code, only thing you need to change is resolution and touch input/controls from desktop to mobile or the other way around. I would suggest you check out these engines, they are all open source:
- libgdx - Uses Java and is almost as fast as XNA, but faster than MonoGame. "Publish your games on Windows, Mac, Linux, Android, iOS and HTML5, all with the same code base." - off their website, anything that can run java, can run your game. Big community so you shouldn't have problems asking questions when you need help and getting it.
- Qt-Project - Qt is a cross-platform application and UI framework for developers using C++ or QML, a CSS & JavaScript like language. As of Qt 5.1 you are supposed to be able to build for Android and iOS, allowing you to build for all the platforms you requested. Big community.
- Moai - Uses Lua and can deploy to all the platforms you requested. Only downside is the community is pretty small and the docs are a little out of date, but people on irc and forums will usually help you, but the answer won't always be immediate. You also have to build your own hosts to build for the platforms you desire, but last time I checked there were public hosts for all platforms out.
libgdx seems like a perfect fit for you. the performance is amazing, the community is big and it lets you reuse the same code for all platforms, just to name a few. Only downside being it doesn't use C#. Of course you should definitely look into them yourselves and see if they are match for what you want. I wish you the best of luck in your endeavors.
Problem
I am creating a 2D game which I wish to run cross platform (on platforms such as Windows, Mac, iOS and Android as the main targets) and the engine I use needs to be open source. The main goal is to have the most code portability (possibly through scripting). I would prefer to do this in C# but using another language is not a massive issue if I have to. I have considered MonoGame and flash using the Flex SDK as they both claim to be cross platform and open source. Which one of these would be a better choice considering my criteria? Or would another game engine/library be more suitable?