Is Cocos2d-x Still Relevant in the Age of Unity3D and Unreal Engine?

That’s basically it. I’m not hearing much buzz from this Game Engine.

Hi @reyanthonyrenacia

Don’t know what to tell you regards being relevant, however, for a 2d game engine / framework, it’s not that bad. I’m using Cocos Creator which is pretty good, and it can only get better, but only time will tell……I’ve already created 1 game with Cocos Creator, but waiting on physics engine to be implemented to finish it, now currently working on 2nd game, but keeping my options open regarding 2d game engines…I’ve tried **Unity3D and Unreal but I just don’t feel comfortable using them, but that’s my opinion… Overall, it really depends on the developers needs…:slight_smile: God Bless…

Sincerely,

Sunday

2 Likes

There are quite a lot of games made with Cocos2d-x. Of course developers use Unity and Unreal also. For 2D, I think we are pretty awesome. For 3D, we can handle it, but I’m not sure we are truly production ready here yet for a large game.

4 Likes

Couldn’t agree more with @slackmoehrle. Cocos2d-x is a great 2D game engine to work with and it’s well maintained, I’ve released 3 games using Cocos2d-x on Android and iOS platform. I prefer to use Cocos2d-x because I like to have complete control over my game and the engine I used so that I can optimize the performance and efficiency of my game since it’s open source.
I haven’t tried using the new 3D features that Cocos2d-x offers but compare to Unity3D and Unreal Engine, Cocos2d-x still has a long way to go and innovate since both, Unity3D and Unreal Engine, are great 3D game engine currently.
But one thing for sure that every game engines have it strengths and weaknesses, I didn’t believe there is a perfect game engine that didn’t have flaws.

tl;dr
Cocos2D-x, good, relevant for low budget games by experienced programmers. Cocos Creator, irrelevant in face of Unreal Engine. I could consider it against Unity though.
/tl;dr

Making 2d games with Unity and Unreal is an absolute overkill, and Cocos2d-x is a lower level engine that doesn’t directly compete with those. It is free and open source, so if you are a single programmer, who has no money, but does have some real world programming experience, I’d say you can use Cocos2d-x and finish your project in the same time frame.

Now, if you are an inexperienced programmer, have only finished one project or two projects, I even then wouldn’t recommend Unity. I have been working with Unity in my full time job for years now, and would pick Unreal over it any day. I spend 20% of my development time going around engine bugs, sometimes known bugs, trying to make everything crossplatform while some parts of the engine only work on Android and not on iOS, fighting poor performance where I have little or no control. I mean, Wasteland 2 runs slower than Fallout 4 for a reason.

Unreal engine is excellent. Blueprints make our life so much easier and Paper 2D (Unreal’s 2D engine) works great, is really easy to import assets in and work with shaders, haven’t yet seen anything better than it.

So, in the end, If you are thinking of using Cocos Creator, yes, I can’t think of many reasons to consider it. Both Unity and Unreal editors work on Linux environments. They can be used for free (even though Unity has a couple of catches on their free license agreements and mandatory splash screen). And Unreal Engine is even source code available, so you don’t have to go around trying to figure out engine bugs, you can literally debug the engine itself when the time comes. I would never pick Cocos Creator over Unreal. Maybe over Unity if I could not afford the license nor the splash screen (extremely undesirable when doing commissioned work or commercial games) and was specifically working on a Microsoft Windows platform.

2 Likes

Thanks, this is a great post. I take it you would suggest a beginner with some experience with cocos2dx look at UE4 before Unity when moving to 3D?

1 Like

I would recommend Unreal over Unity 3D in most cases, with one exception, when you want to create something that will download complex content from the internet.

Imagine this case:
You create a game for a manga company, and that company will place QR codes on each of their manga, around 2 to 3 every day. When you read the QR code in your game, you parse a link and download a scene file and some 3D assets directly from the internet, and then run it.

This way, you create game objects in Unity, export them in a FILE.asset file and make it available on a server somewhere, to be downloaded on the fly depending on what was read by the QR code. Done. No need to release daily app updates. This feature is called AssetBundle.

This in Unreal is a pain to be done, as you need to code your own serializer.

Still, for everything else, I’d rather go with Unreal.

Sounds like UE4 would be a good place to start with 3D. Have you looked at Amazons Lumberyard ? Link

I would recommend Unity anytime and without a doubt, as long as you either make mobile games or are an Indie developer. Unreal needs a huge amount of resources to really shine, resources in manpower and development time as well as processing power. It’s fantastic for AAA games with big budget and big teams for big hardware. For everything else, use Unity.

Cocos2d could be much better if it would concentrate on what it is really good at. A professional grade 2D mobile engine, reliable, powerful, rapid development. Sadly there is way too much toy development like 3D or Cocos Creator involved, which may be fun to play around a bit for some people, but are in no way competitive - and never will be. Just imagine how good Cocos2d could be if all the time was invested in the core concepts.

4 Likes

I am very new as an indie and game developer but someone told me the best thing for 2d on Mobile was BuildBox, though it is quite expensive and to be honest I can’t justify it until I manage to ship something that makes real money! I am a real fan of cocos2d-x so far. There is a lot that I don’t know but to get where I have with it has not taken too much time and I love that fact that it is so close to the metal. Commercially I have seen quite a few Unity developer jobs though, maybe not so many UE4???

I fall in love with JavaScript (easy and fast programming to me), so Cocos Creator and cocos2D-x js are the sole, free and, good game tools I have found for 2D mobile deployment until now.

(In the past I have tested also C, C++, C#, openFrameworks, phaser.io, GameMaker, Construct, but I was unhappy with it all.)

[quote=“CitizenK, post:9, topic:34211”]
Unreal needs a huge amount of resources to really shine
[/quote]We will have to agree on disagreeing here, then.
Even though I’ve used Unity professionally for almost 3 years now (around 20h per week, if you disconsider meetings, and some backend development here and there) and Unreal on my spare time (1~2h per week), I am able to make simple prototypes much faster with Unreal. I don’t even have to think when using Unity “components”, after so much time using it in my full time job, but Unreal still wins in development time for me as a single home developer.

Blueprints are the first game engine productivity feature to blow my mind ever since I entered college around 10 years ago. I really liked the blueprints workflow. It has 95% of what I need, and if I happen to need anything else I can then, and only then, fall back to C# or even C++. I am more productive with Unreal and around 6 months toying around than I am with Unity with years of professional experience.

Couldn’t agree more here.

The reason I was giving Cocos a try. I used nodejs on a restful api for a game, and have been trying JS around ever since. The only problem I see, though, is the lack of native support on game engines for it. Most of them are HTML5/WebGL only, and I ended up here.

Never really heard of it, from what I’ve seen (not much), it looks decent, but with a small community and little documentation.


@edit:
They ask for credit card information for the free trial, and you have to actively cancel if you don’t want to be charged after the trial ends. So, I guess that rules it out for me, they are not confident enough on their product, and rely on forgotten subscriptions for extra monetization. That’s how I personally see this “cancel anytime after you’ve given us your credit card, really hope you forget though” business model.

Unity is much, much better than UE4 for jobs, that’s a fact. I’d guess at least 10x1, as of today.

tl;dr
Lumberyard is good for big games that run 100% offline. If your game has any type of server, you’ll be locked to the not-so-cheap AWS services (they’re good though). No Mac and Linux support.
/tl;dr


It is a good engine, but it has a catch. Even though they state it is a free engine, you are obliged to use Amazon AWS for any type of cloud, file, database, almost any type of hosting. So, if your project has no cloud connection of any type, it is free and good. But if it does, you’ll be stuck to AWS, unless you acquire your own Hardware to host your servers.

I’m not saying that AWS is a bad product, because it is actually great! But personally, I’ve moved from it to using Google Cloud Services for almost everything, for sheer cost-effectiveness in my use cases. That said, locking me to AWS is a big no-no for me, as I don’t plan on buying and maintaining servers myself to rid me of that AWS lock clause in the license (you can self-host on owned hardware, but cannot outsource to any other than AWS).

Also, not supporting Linux, as a Linux user, is a personal reason I would not use it.

The answer is yes, we did some research on iTunes store, try to find what engine top game are using, it turns out there are more games made with cocos2d-x than unity in the top 100 (grossing) games.

4 Likes

From the view of beginner like me, it’s really hard for beginning. Because Cocos has a really bad document system.

I love cocos because of C++ performance, but no one can help me to solve my trouble.
It can’t do a simple thing like drawing perfect anti alias circle:

The documents about opengl es is hard to find.

I began with javascript (Phaser.io) too but i left it because of performance. It’s suitable for Web game, if you want to build games for iOS, Android. Nothing can compare to Cocos, Unity and Unreal.

You can’t buid a good game with javascript performance.
I’ve tried many games built with javascript, they burn my device battery so fast.

Hi @reyanthonyrenacia
Which game engine do you use?

Also, have you checked buildbox? Next question should be "Are Unity3d and Unreal still revelant in the Age of BuildBox" :stuck_out_tongue: :stuck_out_tongue:

BuildBox? It costs the same as Unity Pro and that’s without a true free trial. And Unity offers everything a 1-5 person team needs for free. No thanks :smiley:

I may actual give it a try someday just to see if they’re true to their word about canceling, whether it’s really that much better, and to steal ideas for any in-game or open source editors I work on, muhahaha.

1 Like

that’s the only reason I’m interested in trying it out :smiling_imp:

2 Likes

While I agree that it would cost as much as Unity. But if we see carefully, they target different kind of audience. Hence, there selling points being “Significantly lesser time building stuffs” and “Drag and Drop” where absolutely no coding is involved. I’ve noticed in the game built in buildbox that their build size is decently less which is good overall.

Actually buildbox have predefined patterns - like you choose what kind of game you want to make there is like 30+ templates, then you click if you want or not shop gift and so on… and then just place images and game is ready.

So it is fast to create same and same games but you dont have freedom seems to customize anything in game logic that much.

@catch_up yeah, I understand. I’m being somewhat intentionally flippant. I may follow up with a lengthy response in support of why cocos2d-x (native) is still relevant, but I may write and re-write my thoughts and decide it’s not worth exposing them here :smiley:

1 Like