We need a friendly ENGINE, not a dysfunction EDITOR

We need a friendly ENGINE, not a dysfunction EDITOR
0.0 0


If cocos2d-js is a submodule, then why js is the main way of cocos2d-x? What the Cocos Creator can, can you use everything in C++?

I can’t imagine somebody use script binding. But sure it’s not a bad thing, but if i can write the hardest part in c++ (for example the game logic), then why would i use some script language? I not really understand.
Every people says, with scripting you can easily extend. But for it you need to write the binding code, and the called “low level” code, and you must bu sure your script language will be reachable and understandable on the end platforms. Plus a “little” penalty because of the runtime compiling. Or somebody writes the game logic in lua or js? For example path finding, collision detection, state machine, etc? Hard to belive. Or maybe i don’t see yet any good example how can script binding help me… (I mean not a dialog in an rpg, i mean game logic developing in script language)

For me? Of course the best would be a really good editor, and c++. A good editor is a must have. For a developer c++ is (in my opinion) the best solution.


It’s off, but check this what i have found :smiley: :


Many Chinese companies use lua to create games, the reason they use lua are:

  • developing speed
  • more easy and cheap to hire developers
  • hot update

About editor, i can not make the decision.


If i see this example:
I don’t see any difference between C++ or LUA code.
I don’t see any development speed increasing.
But i see slower development speed because of missing code completion, or debug possibility.

Hot script update, ok it’s a good point. But the people who use js, use a webserver, there is also hot update.
And we speak about small to mid size games. No AAA game is written in js, or lua. just maybe a little part.
On web who cares about resource size? Nobody.
Can you tell me then please why in cocos2d-x is not included since long time a simple mod player?
Web games should be web games. Not native games.

More easy to find developer in China, maybe, i don’t know. But if i see a language statistics, LUA is about nowhere. http://statisticstimes.com/tech/top-computer-languages.php

But why companies want to go with “cheaper” developer, then professionals? Or why they don’t want to evolve the worker to be more professional?
Please don’t understand me wrong. I don’t degradating anybody. I wish for everybody the best. For a developer (for his professional job) C++ is more better, usable, profitable, etc then any script language. Script language, to try for a small project or tool, it’s ok. But nothing more.


We are talking about native games, not web browser games. Yep, you can just use js for web browser games. And you can juse use pure c++ if you like, lua/js binding is not a must.


The only disappointing thing, by cocos2d-x we developers don’t see, what is the focus of cocos2d-x.
If web? Then there are alternatives.
If native & c++? Then please be that the focus of development. :slight_smile:


I think @walzer had said it above. I focus on native & c++, but i can not change the decision.


And again, with such decision we will say bye bye to cocos2d-x…


Apple will soon remove all the apps with hot update …


Only when they can speed up review process, < 6 hours
Because for some games, 1 hour with buggy app, they will lose million dollars


We should not be worried about C++ vs JS or coding vs GUI IDE, we can pick any option.

Cocos2d-X has been doing a good job of supporting the X. It lets developers pick the language of their choice, and run app/game on the platforms of their choice. All this while providing ‘native’ speeds because the core engine is in C++, and it also has an engine with exactly same API in JS if you want to run in browser.

We can pick any option, it should not worry C++ developers if others are picking JS or GUI IDE. Everyone can make their own choice. Cocos2dx supports all the languages. And it supports both direct coding and using a IDE.

@zhangxm I think some of the worry is because the C++ engine has been forked for the IDE. If that engine can be made somewhat backward compatible with Cocos2dx 3.xx, and add a migration.txt listing features which are removed or changed, the worry about C++ engine getting ignored will become less as future path will become clear for C++ developers who don’t want to redo big existing projects using JS or using IDE. And then the company will also need to focus on only one C++ engine. It will need some work like the migration from 2.xx to 3.xx few years ago, but much easier compared to starting from scratch using JS or IDE.


It’s not, really. And main focus they chose it already - JS. So I believe we should create a new branch of cocos2d or as I think even better to create “new” engine based on cocos2d-x, something like “lite” version with removed all that unused things(here should be some other word)… and with open-source editor, C++ only and many more normal things cocos2d developer needs…


Another example for scripting are mods. Do you know World of Warcraft? In the early years I used LUA scripts to change the HUD within the game. Sure, on mobile you can’t do that (e.g. if you use iOS), but there are also games on Windows/macOS/Linux powered by cocos2d-x. This platforms are perfect examples for modding games.

But I also agree, that we (C++ coders) don’t need Cocos Creator without C++ support.


There is nothing stopping you to do it, to do a new engine based on cocos2d-x, or an open source editor focused on c++ /JS, or maybe do a FMOD wrapper or whatever you want. You can pull request it in the main branch or you can do ur own repository. Its open source, you know.

Im a c++ developer also and I can understand that you want that cocos2d team focus their effort in the cpp part. But, again, you can contribute on it, really!

You should understand that chukong is not a charity organization. They are paying their workers and others expenses. I guess they have a planning of what they want or what they need for monetizing the engine.

Stop blackmailing them with quitting from cocos2d-x…


I followed this thread for a while now and I think it’s a very interesting subject.

cocos2d-x is a really great engine. I used it for 5 years now and I love it. I would choose cocos2d-x over any other solution when it comes to mobile 2d projects. It’s open source, it uses c++. I’m in full control of everything

But I would never even consider cocos2d-x for 3D projects, I’m not interested in scripting support, I would not use cocos2d-x for web projects… but all these things are cluttering up cocos2d-x, which means more potential bugs because the engine gets harder to maintain…

I do understand that chukong is trying to create some kind of swiss army knife. I personally would prefer a simpler, more focused approach.

If there was a fork or new project, I would definitely be interested.
But I doubt it would be very successful. At the moment I don’t see that there would be enough support to maintain a new engine.

Nevertheless, this would be my personal wishlist for the new project or cocos2d-x in general:

  • c++ only, no scripting, focus on clean, modern c++1*

  • focus on 2D, I’m not interested in 2.5d or 3d, there are better solutions out there

  • focus on iOS and android

  • base everything on an Entity-Component-System like Entity-X or similar

  • get rid of the reference counter, use smart pointers etc.
    I know this one is controversial, Ricardo always said, he kept the reference counter for performance reasons. But I think it’s weighing down cocos2d-x.
    The create/init pattern is a pain in the ass for inheriting.
    Reimplementing containers (Vector…) is also a bad idea in my opinion.
    There are many ugly things that stem from the reference counter which is a cocos2d-iphone relic by the way. I don’t think, it’s worth it…
    Staying nearer to the c++ way of doing things might also benefit compiler optimization.

  • I personally don’t care for an editor at all. I would only use it for the GUI and that’s only a small portion of my games. But I can see, why people would want this.

Just my two cents… I’m very happy with cocos2d-x. But I feel that cocos2d-x is getting bigger and more cluttered over the years. I would really prefer a simpler, leaner engine focusing on its core strengths and not trying to be a jack-of-all-trades.


Full agree with @mausmausgames!


Or some kind of modular system, where you can enable or disable features that you don’t need.


if its for performance reasons then ref counters should be kept. Whats wrong with create init pattern? i think its brilliant.


Yes, it’s useful, but try to put all that static classes into some infrastructure components… like an ecs…


still doesn’t seems like a problem :confused: