Answering the questions about Cocos Creator, the engine and editor


#1

COMPANY BEHIND COCOS ENGINE

  1. We’re very close to get a new round of funding, and spin off from Chukong Technologies. PROBABLY, from this September, we will be “Xiamen Cocos Software Inc.” :smile:

  2. Due to #1, we’re recruiting more programmers into the game engine. Also @slackmoehrle will re-join the team.

  3. I plan to use the new money to invest in:

  • community, documents, video tutorials, forum supports
  • support C++ and Lua developers to use Cocos Creator.
  • 3D framework & 3D editing in Cocos Creator, also an in-house 3D game to verify the 3D engine before publish to developers.
  • Cocos2d-x 4.0, yes 4.0.

PERFORMANCE IMPROVEMENTS IN CREATOR

  1. Reduced the memory usage to 50% averagely. (Creator 1.2)
  2. Auto batching on WebGL, up to 10x faster than pervious version (Creator 1.2)
  3. Release the resources by scene automatically, to reduce the GC time 50% (Creator 1.2)
  4. Framework modular, up to 30% smaller when you publish a game (Creator 1.2)
  5. Lazy init on resource loading, up to 2x faster when player enter a new scene (Creator 1.5)
  6. Updated the SpiderMonkey and JavaScriptBindings layer, up to 10~20x faster when you run JavaScript on Android (Creator 1.6)

R&D EDGE

  1. We already have some progress in the 3D renderer, and we’re trying to use this 3D renderer to refactor the old 2D renderer in cocos2d-x. This will benefit the engine a lot. e.g. you can use dynamic lights, normal maps in your game. The plan is to do the refactoring in JavaScript and WebGL firstly, then translate to C++.

  2. The 3D engine is almost ready to use now. I will start an in-house 3D game project to verify this 3D engine, before publish it.

  3. TypeScript has already supported in Cocos Creator. And @zhangxm keep working on the C++ & Lua support. JavaScript is still the first class language in Cocos Creator, then C++ and Lua.

  4. Cocos Creator 1.6 is using WebAssembly to speed up some modules, e.g. physics. WebAssembly technology allows us to compile C++ framework onto WebGL, this is quite a good news. But it’s still in its early stage. Most of Android and iOS devices doesn’t support WebAssembly yet. Once it’s mature, we can avoid maintaining the JavaScript / C++ 2 framework, but merge into one. Currently my idea is to use C++/WebAssembly as the engine core, but still using JavaScript as the first-class API interface.

  5. Perhaps you have seen the roadmap of Cocos Creator 1.7. The 1.7 version is focusing the improvement on Creator’s iOS/Android support.


Now start to answer the topics everyone concerned here.

Cocos Creator Future

This is a data posted by Kongregate
pic

We can see that HTML5 is growing very fast since 2013, and almost dominate 60% in Kongregate’s PC web games. As Adobe announce the EOF of Flash in 2020, it will be a large market there. This make me more confident about the decision of switching to Cocos Creator.

In 2010, I moved cocos2d from Objective-C to C++ due to the raise of Android, many developers still stayed on Objective-C because they “love” the language until 2014. Today, the story will be the same on HTML5 and JavaScript. That’s why I decided to use JavaScript as the first language, and support C++/Lua as a Cocos Creator extension.

By the way, has anyone complained that ActionScript is not the best programming language in game industry? Obviously it’s not, but ActionScript can help you to make success commercial games, that’s the key!

07

Look at this chart, the monthly session of Cocos Creator, has boosted 313% in this year. Thanks to everyone who trust us!

I promise here: Cocos Creator will be our LAST editor. If Cocos Creator EOF someday, it will be the time for me to quit the game industry.


We need a friendly ENGINE, no dysfunction EDITOR

Well, and old topic since Nov. 2016.

As I written above, Cocos Creator is keeping improve the functionalities, the performance, and WebGL support and also the iOS/Android support. You can see the improvements in each version.

A Creator user posted in our Chinese forum, I translate it:

The improvements of Creator are huge.

  • We complained why the script compilation is so slow, then the new version has instant compilation.
  • We complained the JavaScript on iOS/Android is so slow, then the performance is 10x faster
  • We complained why we can batch-edit the nodes, then the new version release this feature
  • We complained why it’s so slow we opening a new scene on iOS/Android, then it’s remarkable faster
  • We complained JavaScript without static types is not committable, we want TypeScript, then it has TypeScript sooner.

Cocos2d-x-lite, the framework under Cocos Creator is becoming more friendly and more robust day by day. @ShunLin and @zhangxm promised me a better C++/Lua support at the end of September.

About the editor, well, many developers complained that it’s too similar to Unity. I consider this question as:

  • All the cars in the world, have 4 wheels, have steering wheel in front of the driver, have the accelerator just beside the brake.
  • All the keyboards in the world are almost the same, space key is at the bottom, a-s-d-f keys are side by side
  • All the smart phones in the world are almost the same, their shapes are rectangle but not triangle or circle, the screen is in the front, there’re front and back cameras, have home keys at the bottom.
  • All the notebooks in the world are almost the same, when you open these rectangle metals, the screen is on the top, and keyboard + touchpad at the bottom.

These are so call “best practices”, or “industry standard”. We don’t need to reinvent the industry standard just to be “something different”.

So:

  • All the 2D frameworks, has concepts like sprite, scene, label, texture etc.
  • All the game engine editors, has scene editor, assets editor, inspector, node tree, etc.
  • All the animation editors, has time line, key frame, time curve editing
  • All the entity-component based game engines, use entity to compose the scene, then attach components onto entities.

Cocos2d-x future: C++ or JavaScript

This doesn’t make sense to have this vote. If there was a vote at 2010, asking something like “Cocos2d future: Objective-C or C++”, most of developers will vote for Objective-C.

@KAMIKAZE, doing a job as a sideline is easy, just like we release cocos2d-x in early ages. But developing an editor for commercial games usage is another thing. There’re 100+ engineers and PHDs in Unity editor development, Cocos Creator also has a large team behind, costing me 150K+ dollars per month, including designing, coding, testing, documents, marketing promotions and forum support. After all, 313% increase in this year is not a sideline job.


Survey: the reasons why I won’t use Cocos Creator

This survey was posted by @jare, one of our key roles in cocos team. I ask him to do so. It’s important to get the feedbacks and improve Cocos Creator, so we can service more developers. Thanks to all the replies under this topic.

After reading that topic, the complains are majorly focused on:

  1. Can’t support C++ well. @zhangxm is working on it and let’s stay tuned on his work. I think the headache is how to support Creator’s new UI framework in C++.
  2. Cocos Creator isn’t open source. Cocos2d-x-lite, the framework under Creator is open source, you can customize it for iOS/Android/HTML5. But the editor is close source, I had to build commercial services on the top of this editor. After all, Cocos Studio and Unity are also not open, there’re still many users. The key is its stability, easy to use, and its performance.
  3. Lacking English docs and forum support. @slackmoehrle is re-joining our team, I hope this can be helpful to everyone here.

I sincerely invite you to download the last version of Cocos Creator, v1.6, and see the improvements we have made in this year.


Cocos Creator Future
iPhone X slow transitions (Xcode Bug) and not full screen (solved)
Help us with Android project setup
We need a friendly ENGINE, not a dysfunction EDITOR
Will there be separate Lite documentation?
C++ to Web = WebAssembly. Polling for feature request
#2

Personally it’s a good news that @slackmoehrle re-joins the team.
I started using Cocos Creator from first versions and I can see that it is much better now. It fits my requirements of a compact 2D game tool. Especially there are some features I have waited in v1.6. Thank you!
About the docs and support, I think there many developers here are ready to share a hand. You can organize groups of volunteers by topics to do this task. For example I can answer newbies questions or re-direct to right answer.


#3

Good to hear from you @walzer

Can anyone tell me how can i customize it pls?
I ask same question here:


#4

Thx for sorting this out.
Most of the people here use still the C++ branch and not CocosCreator.
This post means that the C++ branch is going to die.
I started a new project 3 weeks ago using the C++ branch.
I really hate it when things change without any warning. But thats the joy of open source software I guess :wink: Even Adobe managed it now with flash giving developers time to react.
Will probably switch to Unity lets see.


#5

Hi,

I didn’t undertand well what you’re going to do. Are you going to keep both engines as separate projects just like it is right now, or are you going to merge them?. If you merge them then are you going to drop support for C++ and focus only in the javascript api right?.

Thanks for your response.

As a side note: I think what you say about html getting popular on web games is kind of obvious as html is designed for the web and flash is about to die. However html is not by any means popular on desktop nor mobile platforms and it will probably never be.


#6

I want to repeat that:

  1. There’re many script bindings on the top of cocos2d-x framework, including Lua, JavaScript, Ruby, C#, Python etc. We decided to use JavaScript as primary script binding because:
  • it can run on HTML5 seamlessly
  • the language is popular than others
  • it’s being improved very fast.

Facebook also have their react.js and react native project for app development, also using javascript to support both native and web.

  1. Cocos Creator supports iOS / Android / HTML5, you still can publish a game onto iOS / Android easily, even much easier then using cocos2d-x command line tools.

By the way, Flash is dying because of HTML5, not because of the decrease of Web.


#7

#8

Hi @walzer

Thank you for your answers!

Does this mean that @zhangxm will no longer be the only developer who maintains the engine? This is good if so.
Not that I missed @slackmoehrle , but, well, someone should answer stupid questions on the forum.

This is just my opinion, but I prefer text tutorial instead of videos, because

  • It is easier to find information in the text than in the video, you do not need to watch the whole video to understand if there is something useful in it.
  • It is easier to find information in the text than in the video if you have already read this tutorial, but have forgotten some detail, and are trying to find it.
  • Text tutorial is easier to translate to any language (Spanish, German, Russian …) If your English is not very good.
  • Text tutorial is easier to update if it is outdated and easier to add new information.

Thanks again for your time.


#9

Happy to hear that.

Thanks everyone in cocos team.


#10

I think that it is the parser on which Mingo works, you can not write C ++ code inside the Creator.


#11

We don’t need to write code inside the Creator. Just a working parser is enough.
We use Xcode, VS and android studio for writing code.


#12

Well, then you will be happy. :slight_smile:


#13

This all sounds great! As someone completely new to the engine the one thing that bugs me the most is testing on android. It takes quite long to compile and send via usb which makes iteration not so fun. I heard one could precompile libraries - does this work with cocos creator too? Then I should look into it. My biggest wish would be an implementation like Defolds android testing or Unities Remote 5.


#14

Also - is there a way to chain “Build -> Compile -> Run”? The process takes 1.5 minutes for me on a very simple project (the getting started tutorial). If I could chain it instead of invoking everything in order I could atleast go and get a coffee :grinning:


#15

Hi, @walzer this is great news!!! And @slackmoehrle, we missed you! It is good to see you back at full time! :smiley:


#16

Actually we’re very active on cocos2d-x-lite and engine repo. They’re also open source. I will hope the team can merge cocos2d-x-lite and cocos2d-x into one repo in someday.

Thanks, very good point!

Not you can’t. We can not attach a c++ code onto entity-component system written in JavaScript.

Yes, @zhangxm is doing this.


#17

Can someone explain to me why you want Slack-Moehrle back?

He is not here now and the forum is still functioning.
Regarding the documentation, I remember a lot of words about that he is working on a significant improvement in Programming guide, but I do not see any improvement.
I also remember the promises to create video tutorials and a survey about it, but I do not remember any official video tutorial. And I will not even mention the live stream, which everyone also forgot about.

I may be wrong, but I just do not see his contribution to the community. I would be glad if someone could point me to it.


#18

Thank you very much!

Any rough estimates when this day comes?

By the way, what does the word “Xiamen” mean?


#20

@KAMIKAZE
Stop it. Just stop. Please.

If you think that the developers of this engine are idiots, then just go to another forum to tell everyone how you love C ++ and Qt, and that you will never use anything else.
On this forum you wrote enough about it.


#21

How long will the C++ branch be supported?
For example if a new iOS version would break something. Would this still be fixed and for how long?