Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Multi platform 2D game engine [closed]

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?

like image 551
Liam Flaherty Avatar asked Aug 14 '13 11:08

Liam Flaherty


2 Answers

I would suggest Unity3D. It is a 3D platform. But if you only use 2 dimensions you're good to go. In Unity3D you can write your game in C#, Javascript or Boo.

Unity is free and can export to Windows Phone, Windows 8 App, Windows, Mac, Linux, Android, Blackberry, iOs, Xbox360, Wii and PS3 but for those last 3 you need a developer license from Microsoft/Sony/Nintendo. But the possibility is there.

UPDATE

You had to pay for the ios and android addons earlier. Now they are free:

Today, we’re taking another step on this long road: as of right now, independent Unity developers will be able to deploy their games to Android and iOS platforms completely free of charge. Update Unity and you will find Android and iOS build options (previously basic add-ons) ready and waiting for you to use.

Source: http://blogs.unity3d.com/

In the meanwhile, support for other platforms has come out (including windows phone, winrt & blackberry). Those are all free. If you want pro features you need a pro license. But most of the stuff you need is in the free version. To compare look at this page.

like image 151
SynerCoder Avatar answered Sep 21 '22 18:09

SynerCoder


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.

like image 35
Hate Names Avatar answered Sep 22 '22 18:09

Hate Names