Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

I really like the convenience of unity3d. The ability to edit the level and see my results in real time are great. My problem is the idea I want to implement is 2d and uses 2d sprites. Scaling sprites appears to be a problem for me and all advice I receive says to purchase 150 dollars addons for unity. I love the physics components and the rapid prototyping but I figured that maybe unity is not the tool for the job for this 2d game.

Is there any 2d game engine like unity but for 2d games that would work on the PC and Android? Or is this something most people code themselves and make? To me the most important features of Unity3d where its ease to see what was edited and then have it apply instantly.

Thank you. Most searches seemed to give me frameworks and not a large engine suite.

share|improve this question

closed as not constructive by Tetrad Jan 2 '13 at 16:42

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

2  
Usually 2D games are pretty simple so actual game-engine isn't needed. You said that you've problem with scaling sprites; what problems do you have? I haven't programmed ever for Android, but atleast in XNA scaling sprites is pretty easy. –  Jaakko Lipsanen Feb 28 '12 at 0:45
3  
What stops you from making your "meshes" in Unity just being flat planes with a texture mapped to them? You're not going to find anything even remotely close to Unity's tools in any simple 2D engine, so if those tools are important to you, you're going to want to stick with Unity. –  Sean Middleditch Feb 28 '12 at 1:39
5  
Unity is fundamentally not made for 2D. That's the problem. +1 good question –  ashes999 Feb 28 '12 at 1:58
    
Why not just write your own in Java? –  Patrick Lorio Mar 5 '12 at 21:17
    
Out-of-date question: Unity now has support for 2D games –  jhocking yesterday

6 Answers 6

up vote 5 down vote accepted

Flashpunk is a free library for Flex which provides a lot of functionality for 2D games. It doesn't have real time level editing, but there are tile based editors you can use to easily produce levels such as the Ogmo Editor.

share|improve this answer

How about Unity itself? I know Desktop Dungeons went down that route.

Setup your sprites as flat planes in X and Y, and then use Z as your depth (greater values of z will render behind lower ones).

Use an orthographic camera to eliminate true perspective, as you're better off faking this with paralax or whatever.

You may have to build your own collision detection / physics, but in 2D they're trivial.

share|improve this answer
3  
Trivial?! I've yet to find a 2D collision scheme that's "trivial", especially if you've never done it before. –  Archagon Feb 28 '12 at 10:09
1  
As @ashes999 said, Unity just isn't designed for 2D. Although it may be possible to do 2D regardless, it's harder than a custom-designed 2D engine would be (well, if it was a good engine :) . I did once try building a Pac-man demo in Unity, using many of the techniques you mentioned, and it was fairly painful... –  Cyclops Feb 28 '12 at 15:28
    
I suppose it depends on your background, if you're already a 3D person, 2D is pretty much the same deal - check this out: youtube.com/watch?v=eUVSjoT2ORA –  salmonmoose Mar 5 '12 at 9:42
    
There are 2D frameworks for unity, some are even free. That being said I just finished a game that looks 2d, even though its built using cubes and spheres. As salmonmoose said use an orthographic camera and just paint the tops of objects. assetstore.unity3d.com/#/content/1014 Seems like a good place to start –  ProtoJazz Dec 31 '12 at 16:41

The Duality project aims at being somewhat Unity-like for 2D Games. It's PC Only, though.

http://duality.fetzenet.de/

https://code.google.com/p/duality/

share|improve this answer

What about Torque 2D?

share|improve this answer
    
-1 What are your reasons? –  Anko Jan 1 '13 at 2:50

If you want to support multiple platforms then maybe try Corona. Not sure about PC support though, think they're mainly aimed at mobile.

iTorque or Torque2D won't cut it if "Android" is a must (reason = not supported)

share|improve this answer
    
Torque2D supports Android now. –  Peter Aug 22 at 20:19

Cocos2d Javascript bindings help you develop crossplatform mobile/browser games. Their vision is one code base accross mobile platforms and browsers. They say Mac support is there, while Windows Phone 8 support is on the way. Windows is not supported natively, though cocos2d-x project anounced that they support Windows 8 Metro. With cocos2d-html5 backend support, cocos2d-JS can be quite a portable platform.

Also there is a promising world/user interface editor called CocosBuilder. With a dedicated developer, who is employed by an industry giant, this tool has been under heavy development lately and progressing nicely.

Here is the wiki page for cocos2d-JS: https://github.com/cocos2d/cocos2d-iphone/wiki/cocos2d-and-JavaScript

Whatever you do, unless you have very good reasons and plenty of resources (work force, money, and time), don't write your own engine.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.