We need a friendly ENGINE, not a dysfunction EDITOR

I’m not a big fan of JS as a language but I love how Chukong has finally added TS support!!

Cocos Creator is pretty nice so far, and while I doubt I’d ever release a game written in JS/TS, I’m so much faster creating/prototyping with Cocos Creator. Once I get my current game mostly fleshed out in Cocos Creator/TS, I plan to rewrite it in C++.

Also, I’m both impressed and confused at how long this particular thread has been active.

1 Like

Totally, absolutely agree with @anon98020523 .:slight_smile:

I totally agree with @anon98020523

@anon98020523 agreed

@anon98020523 agreed

Dear @walzer, as a founder of Cocos2d-x, some important things maybe you should know.

First of all, your 1st principle is great, but we should refocusing our target users:

They are experienced game developers, most of them are software engineers.

I thought we should admit some truths:

  1. The simplest game making tool is the sort of Game Maker. No scripts at all !
  2. Unity is the most widely game or multimedia developing engine, it is also very friendly to users.
  3. Unreal is the most professional game engine, most of us will agree with that.
  4. Other game engines, what ever it is open sourced or not, has editors or not, they are ‘Others’.
  5. Cocos2d-x is the most distinctive, and the most successful one of that ‘Others’.

If you think Cocos Creator can make the game development easier, that is absolutely wrong way.
When you sort the info from Stack Overflow or GitHub, pick the most popular language for Cocos Creator, the fact is the easiest tool of game development doesn’t even need to code anything at all !

Unity and Unreal are both great game engines are very friendly to developers. What is very friendly ? They accept(include auto conversion) the most industrial standards resources - images, sounds, video, etc. They have lots of editors for whole game developing process - authoring 2D/3D animations, actions, lighting, colliders, etc. They invest much resources building the tutorials, documents, and videos.

Cocos2d-x can’t be matched with them at all. And the biggest flaw is absolutely NOT the editors.
But why Cocos2d-x so successful ? Everything is because it opens sources.

If I just want game developing process easier and more flexible, don’t care it open sourced or not, I can just use Unity, it cost nothing by subscription policy, and has more features, more learning resources, more supported platforms, more latest technology, and more. Your 3 principles - easier, cheaper, more advanced ? All failed.

So, return the most import question, what is the most important factor for target users ?
In my humble opinion, keep its role, focus what it should do, welcome more industrial resources, build more tutorial and documents, should be the answers. Because main target users use it as the main engine just because it’s open source engine, we can tune, debug our game by ourselves, everything is native, we know what we want and what we are doing.

I relief because the new version 3.15 were released, and it fixes bugs, imports new implementations and features as usual. Dear @walzer , as a 10 years+ experienced game developer, I experienced OpenGL, Ogre, Flash, Unity… lots game developing engines, I love editors of course, I built them before. So I can realize how much important Cocos Studio or Cocos Creator to you. But if you don’t supposed to open its source, it will just be another dysfunction editor, it will never be matched with Unity. The core spirit of Cocos2d-x is open source, open the freedom of game developers, I hope you can realize that.

11 Likes

The best would be:
Editor: Godot
Engine: Cocos2d-x cpp

The main idea of editor + engine is same codebase. Like it was for SpriteBuilder and Cocos2D-Objc. And also, all way it’s designed… and what and how it works. I’m talking about editor.

I personally have best editor for cocos2d-x and it’s SpriteBuilderX. Yes, it’s not really using same codebase: cocos2d-objc for editor and cocos2d-x as engine, but works perfectly.

p.s. I really don’t like black colors in any editor :slight_smile: I want a simple white theme, otherwise will not use it.

I know what are you talking about. Of course it’s nice if an editor has the same codebase.
And sure, for cocos2d-x cpp the SpriteBuilder customization is a really great Job.
More friendliest as Cocos Studio was.
Cocos Creator and cpp integration i can’t say anything, because till now i didn’t try it.
Sometimes maybe.
At the moment i also use SpriteBuilder-X (cocos2d-x 3.13) and sometimes (yet) Cocos Studio with 3.10 cocos2d-x.
But belive me, one of the best editor i met (2d) is Godot. Every shit is a node. Buttons, Labels, ui, sprites whatever you want, everything. Not widgets, Scenes, Layers, etc And of course you can transform, or do every animation, or whatever eyecandy you want with them.
To edit a scene is really joyful.

1 Like

I’ve tried it before. Deleted it very fast. Again - design and idea of how SB works is perfect.

Main task for editor is simple - just to assemble the scene. And it should work closely with the engine.

Thats another way… and thats why cocos2d family is most successful like been said in some previous post.

I just want to add, that copying design of unity is totally wrong idea. Trying to be matched to something that really different and can’t be matched…

So, how editor + engine should work? A perfect example is a SpriteBuilder+Cocos2D.
Also, I don’t think that if the current editor will be made open source, it will solve the problem. It’s in design, how it all work and made… wrong.

I think biggest problem - that cocos2d-x team focus on Asian market, they just don’t care about our opinion as they revenue comming not from us but China:) - where JS is dominating and only way to make something cool. They don’t care much about quality - current JS implementation for web just don’t match sharpens and quality of c++ code.

Release of 3.15.1 just proves it :slight_smile: added HUWAI phone optimization - first release with such small improvements.

2 Likes

Well, so soon we will say goodbye :slight_smile:

I hope no :smiley: option v2 :smiley: making branch of cocos2d-x :slight_smile: taking cool devs to development and now there is new engine)

Thats can be something like cocos2d-x classic, with removing a lot of things that makes cocos2d-x too heavy…
But fork always bad idea, need a new project, with notice - “based on” or smth.

KAMIKAZE:
I also used Spritebuilder with cocos2d. It’s ok, but lacks with some feature…

Godot (copy-paste):
Visual editor, full of mature tools.
Uncluttered UI, with context-sensitive editors.
Amazing scene system, supporting instancing and inheritance.
Friendly content creation interfaces for artists, level designers, animators, …
Visual shader editing for 2D and 3D.
Persistent live editing (changes are not lost after stopping the game). Live editing on mobile devices!
Fully dedicated 2D engine, no hacks.
Work in pixels as your units, but scale to any screen size and ratio.
Custom 2D physics engine that works in pixel coordinates.
Flexible kinematic controller for collision without physics.
Blit 3D models as sprites into 2D.
Animate 2D or 3D. Visual animation editor with timeline.
Frame-based or cut-out animation for sprites and rigs.
Any property of any object can be animated, even function calls.
Use custom transition curves and tweens.
Helpers to animate 2D rigs, with skeletons and IK.
Efficient optimizer to pack imported 3D animations.
Animation Tree support for fluid character animation.

Lack of features is not a point, but a design. How it works and made… Features can be added, that not a problem.

Also, want to add: best tool for creating cross-platform editor is Qt. Would be perfect to use cocos2d-x for render scene there. Thats actually how SB works(just to clarify it’s not using Qt but renders scene by using cocos2d).

I am working on cocos2d-x though other developers focus on JS. I can not change the decision, but i will try my best for the engine.

7 Likes

Try to put my 5 cents too. (I honestly try to read all the discussion…).

  1. You’d be surprised for what people use cocos2dx except games. Really. I know an electrical TRUCK vehicle with hmi dashboards written on cocos. why? because its open source, c++ based and other alternatives are worse. Its not that you have to change your focuses because of that, just to notice that some amount of such developers exists.
  2. very basic things still must be done. I mean really basic. On that weekend I’m second time rewrite cocos2dx/android/platform classes (like Helper wrappers etc) because I was need to run cocos inside fragment on android. I’ve made it, I will share the solution to my github, but all the info I found on the web about it was some issue when cocos guy said that its not an important feature. not an important feature? And whats more important if I’ve done it (not very well formed solution but still) in 1.5 days, cocos2dx developer could done such changes (without disable any feature) in some reasonable amount of time.
    Let me tell some important feature which from my homble perspective is a must:
  • One buttom crashlitics support. How many topics started here about integrating different crashlitics / crash reporting solutions ? It should be as simple as it is now in android studion for regular android projects. It is a feature no one should doing more than 30 minutes to integrate with.
  • One button google adwords support. And when I need one button support (or one line support) I mean that at that very second when I google it (“cocos2dx adWords”) I should see a few paragraph manual about how to do it with regular c++ project, not dozens of forum topics with questions and hacking. I know about sdkBOX, it didn’t helping mush actually. and there is still no tutorial about it or page.
  • Antialiasing help. Really. When you start drawing things with DrawNode you facing aliasing. And you find 100 topics with different not working solutions and tweaks and shaders on forum. You really think that its not important? Again let it’l be at least some good placed tutorial about what you can do about it. I end up linking libskia, draw with it and then draw resulted bitmap with cocos. in what universe this is ok?
  • Android Fragments support. I want to insert some spine, maybe some 3d or 2d action into my project. For now its the two different universe - one with material design and another with full screen cocos, ocupated all the things. And material universe are pretty damn good. why I can’t use the power of both? And don’t say that its too contraversal design solution, let me handle my own ui/ux. To this point goes as well - simple project for android widgets (or at least tutorial).
  • Modularity. First, huge thanks to all involved for Android Studio support. Its a huge success, really! Handling cocos2dx as a AS java module is convenient, but can we do more? Its still some work to do, while I’m adding some library to android studio project with one line of gradle and when I need to change the whole project and adding fragments support by my own.
  • Multi resolution screen support with easy. We have one tutorial. The most incredible things about tutorial about multi resolution screen support it that markup of the article are skewed on my default chrome browser. but thats ironic. Don’t we need more simple tutorial about that? We have some pictures like from old age tv hardware crt and some shitty displayed code. Where can I find tutorial with example of different resources and different screen policy which handle some good amount of android / ios? I really want this. And as you can see I’m talking more about tutorials and clean-ups, because you have great basis. Its just very strange that people who starts can’t do simple things simple.
  • Tutorials!. Just to add more value to that point. I don’t talk about rendering classes documentation - I’m talking about simple things which every trying cocos will try.
  • Language. I respect every one culture, but most of the time when I google cocos info I thinking about starting learning Chinese. And I’m really not very exited about it. I’m bad at english myself, but I think people can understand what I’m writing and if I can (perhaps with many errors) explain something on international language I’ll will definitely do. I don’t want to share some experience only to people at russia because it’s a little bit selfish and strange. and is it a great thing to multiply your auditory by millions of people on the web? Some time I even think adding some chinese to my profile in order to get more adecvate response here at forum. And its a great frustratuion to know that somewhere deep at chinese internet there is solution to many your problem and you just can’t get it.
  • Library. I think we have so many android apps is in many ways related with numbers of great libraries and easy way to include them. I know that for cpp is not easy, but can’t we provide some way ? I finding great nice pice of android libraries every day, just for small things but its really a pleasure. If I found some cocos sample on github I can only try to compile it, understand and move somehow to my own project. Its really huge step backward from gradle compile bla bla bla.

All that is just the trend basic things. Be able to imitate material design with cocos widgets? good. How many people release pixel graphics games? A lot ! How can I do it with cocos? Where the simple tutorial about that?

How is all this related to the topic theme? I just care about cocos2dx a lot, since I work with it every day at work. With the engine. And I feel that not all that good, so we can move to another project to develop. How can I help? Maybe we need to create more tutorials by ourself. Maybe I can do that, but with all the efforts dropped to some ide development I can’t be sure that what I will telling people is correct and good. And all such activity will require some attention from cocos team. Why I saw some old bullshit at the tutorial part of the cocos site?

You have such a beautiful engine. We all have, thanks to you. but it takes really big efforts to see that =)

With great respect.

3 Likes

@owlet thanks for your comment and suggestion. Following is my thought:

  1. About Android Fragment support: sorry, i am not familiar with it and i don’t know what’s the benefit of it and how to use it. Could you please describe it in more detail? After the discussing, i think we can create an issue for it.

  2. One button crash support. Yep, i think it is needed, but i think we need a way that can work both on Android and iOS. Do you have any suggestion?

  3. Modularity. Again, could you please describe it in more detail? Could you please show me the usage?

  4. Multi resolution screen support with easy. I think cpp-empty-test is the real sample.

  5. Tutorials. I hope the community can help to improve it. I am busy fixing bugs, maintaining english and Chinese forum.

  6. Language. I don’t quite understand what you mean? I think most thread in the forum are in English. And we always ask developers using english in this forum and github issues.

  7. Library. Don’t quite understand it. Could you please describe it in detail? Thanks.

  8. One button google adwords support. It is about business issue. SDKBox is used for market except China, and AnySDK is used for Chinese market. They are all 3rd party services integration framework invested by Chukong.

  9. Antialiasing help. I added comment in this issue, but nobody response it.