Marmalade vs. cocos2d-x

Started by
3 comments, last by jwezorek 11 years, 4 months ago
Setting aside the fact that Marmalade is not free and cocos2d-x is free ... How do these two game frameworks compare to each other? Is Marmalade better than cocos2d-x in more than just in its documentation? -- which I hear is very good.
Advertisement
"Better" is subjective. One may be a better fit for a specific feature and a worse fit for a different feature.

Both are fully-functional. Both can be used to make games. Both are moderately mature libraries.

Is there some particular facet you are concerned about?

"Better" is subjective. One may be a better fit for a specific feature and a worse fit for a different feature.

Both are fully-functional. Both can be used to make games. Both are moderately mature libraries.

Is there some particular facet you are concerned about?


I only have any experience with cocos2d-x. I use it because it is free, am not an expert, and generally have not used 3rd party game frameworks for the 2d games I've worked on in the past, so my expectations of what is normal may be off. However, one thing about it that I notice is the extent to which a sort of sprite-centric design is forced upon you. Sprites come into existence when you allocate them and will be drawn if you add them to the scene, by magic as far as you the user of the framework is concerned. If you want to create your own drawable entities like this -- I'm sure it could be done -- but this is not the expected way in which the framework is intended to be used.

I guess to be more specific I'd like to know if Marmalade offers cross-platform access to just two-dimensional accelerated drawing exposed to the user as API calls and then has sprite-like things implemented on top of these calls.

SImilarly when dealing with different sized screens -- iPhone vs. iPad 2 vs. iPad 3 vs. random Android device -- one thing that would be nice to have is good cross-platform image classes featuring functions for scaling and composing images exposed by the framework itself. cocos2d-x offers a class CCTexture2D with which you can do this sort of thing but it is basically an abstraction of an OpenGL texture as far as I can tell, not really a generic image, so is limited...
I've used Marmalade professionally on projects I've worked on. I think Marmalade is a bit more low level then you're expecting - It will do all the things you want, but it is very much a portability framework and hardware abstraction layer. Marmalade is not a magic bullet either, you will still have portability issues. Android suspend and resume can be an issue with OpenGL, threading was non existent (I think it supports it now) and the Marmalade layer caused sound problems on various devices (Kindle Fire IIRC). Video playback was a bit crap too.

There is a good discussion of the pro and cons of Marmalade on Stack Overflow (http://stackoverflow.com/questions/7555134/native-android-ios-development-vs-marmalade-sdk), which pretty much matches my personal experience with Marmalade.

Marmalade is a good option if you are an indie and want something that just works without too much messing around.

I did some research at the into to cocos2d-x but found it did not suit our purposes at the time. It is a more high level object oriented framework, but I don't really have enough experience to comment on it.

... but it is very much a portability framework and hardware abstraction layer ...


See that's actually more what I want rather than a game framework.

This topic is closed to new replies.

Advertisement