I think about migrating to the Creator in the future. Need advice!

Hi!
I am a C ++ developer now. And I am thinking about migrating to the Creator in the future. But I am still not sure if this is the right decision. So I have some questions for you.

  • People say that JS + Creator speeds up the development. But why? Is this because the programmer does not need to learn C ++ or for other reasons?
    If I already feel comfortable with C ++, Java, then will this speed up my development? If so, how much? 2x, 10x, 20x?
    Probably here I must mention that I am developing not big games, 5-8 scenes, not heavy logic, but a lot of animation.

  • People say that JS is slower than C++. How it is critical for not big games? Will it be noticeable on the cheap phones with a screen resolution is 800x480 and 512 MB of RAM?

  • I do not feel comfortable with dynamic types, but I think I can live with it. I also read that in JS you can organize something like classes. Is this a good idea?

  • I really do not feel comfortable with the lack of debug. How do you deal with this, guys? What to do if I made a logical error in the path-finding function, or I see a blank screen instead of my scene and have no idea why?

  • What is TypeScript? And why it better then JS?

  • Any good training course (or book) about JS, but not for web developers?

Thanks for reading! Any advice is highly appreciated.

It is faster because you don’t need to compile everytime you change something, that’s an advantage of every scripting language, cocos creator also has an editor which can speed up the development process a lot. However you’ll need to learn a new language, also debugging is easier in C++ and you have a greatly better IDE support for C++ so you should take all of that into account because even if you don’t have to compile, if you’re not proficient in javascript then it can actually decrease your development speed.

People say that JS is slower than C++. How it is critical for not big games? Will it be noticeable on the cheap phones with a screen resolution is 800x480 and 512 MB of RAM?

Dependeing on what you’re doing. If your games are really simple then it shouldn’t be a lot of difference. Specially now that the devs said they have improved the javascript performance in mobile by 10 times or something like that.

I really do not feel comfortable with the lack of debug. How do you deal with this, guys? What to do if I made a logical error in the path-finding function, or I see a blank screen instead of my scene and have no idea why?

Just bear with it and wait for the devs to attach a debugger

What is TypeScript? And why it better then JS?

It is javascript with types so you can specify if a function receives a String or an Int or something like that or specify the type of a variable. It is an effort to bring javascript closer to a statically typed language. I really recommend to use type script instead of javascript, more if you have a C++ background

1 Like

Thank you very much for the detailed answer!
Then I think it makes sense to learn TypeScript a little in my free time, in the end I like to learn new things.

I would mainly say it’s all about your game. Like you mentioned, if your games aren’t doing much, then learning Creator wouldn’t hurt.

If your doing a complex, larger game, anything that might require you to tweak the engine or anything that might need native threading, you might want to stick with C++.

I started my game on Creator and quickly realized what I was trying to produce wasn’t going to happen with Creator, So I switched to C++ noticed the difference.

One thing I would say helped me speed up with C++ is using something like Photoshop to create mocks of everything before programming. Since C++ doesn’t have the visual editor, if really helped me narrow my scope to just developing and not trying to design at the same time.

2 Likes

Thank you for another good answer!

If I need to use any third-party service that has SDK only for android, then now I can use JNI.
In case of JS (TypeScript) I can also call native functions (somehow), right?

I do the same. :wink: Only I use Blender.

I’m also coming from C++ and went back to JS after 18 years (I did some JS programming in 1999). I have to say, I dont care about the language, I care about creating games. Creator is an amazing tool to create basic and complex 2D games. I would recommend you to choose a small casual game and build it as test. Dont worry about the game mechanics, just clone a simple match3 or something like that. Build a game and publish it on Android and iOS. That is the best tutorial/test you can do. I did it in december and now working on my 2nd game with Creator.

1 Like

Thank you so much for answer!

I dont care about the language, JS looks good, TypeScript looks even better. What I worry about is debugging.

I remember how years ago (7? 8?) one company offered me a JS developer position if I could write a very simple game. Since there are not too many places for programmers in my city, especially for beginners, I agreed to try it, although I have never seen JS before. I looked at the task, figured out that I needed 3-5 hours to write this in C ++, including the debugging time, then I looked that the JS has a similar syntax, and said that I can do it in 48 hours. What can I say, it was a very hard 48 hours of my life. :smile:

Yes, this is exactly what I am planning. Thanks for the advice! :slight_smile:

Lookup typescript and most of your worries will go away. I personally like that TS brings intellisense to the table, but overall it’s a very CSharpy language that compiles to todays and tomorrows’ JS.
It may take a while to get your head over JS though, but once you do you learn to love functional languages.
I think this course on Udemy is pretty decent to get you started.
There are books with a similar title and objectives, if you are more of a book person.
Truth is you need to change your mindset from c++.
After that, there is no going back.

1 Like

Thank you for your kind words!

I am more of a book person like you said, but I looked at a part of the course and it seems very good, I think I will buy it later.

I will study JS and TS (just to see the difference, and it seems that I need a basic understanding of JS in any case. that case many years ago does not count) in the near future, and then I will try to create a simple game with the help of the Creator.

I would like again to express my gratitude to all who took the time to answer me. It is very appreciated. You are bests!

For your reference, this is a native game made with creator, running on Huawei Mate S, a $239 android phone. It’s a very heavy MMO, using Creator 1.6 JavaScriptBindings. Please watch the GL calls, and FPS at the bottom-left corner.

2 Likes

well, it’s good. how about adding section in this page which game made and published by cocos creator in any platform ? it seems cocos creator have good attention since you answered all of their question and doubts, thanks to you @walzer :slight_smile:

These are 3d models rendered into 2d animations correct?

Looks pretty good all around. I’m also guessing they have their own custom GLES shaders for the android export?

According to the specs i’ve found that’s an octa core (4x2.2 GHz & 4x1.5 GHz) 64 bit phone with 3gb of ram, so it should run well almost any android game you throw at it.

The phone has FullHD resolution, were the textures fullHD also?

At any rate, it’s a good showcase, flashy.

wow, this is great!! thanks for sharing!!

Can you share more information of the game? is it available for testing? I would love to play it!

Thank you for the reference!

Looks very nice. But the phone is nice too…

Yes, I think it’s 3D models rendered into 2D animations.
I also use my custom shaders in my game, although Creator doesn’t have this public API yet. We call into the old cocos2d-js api, which are private in Creator. I don’t know if this game has used this approach.

$239 android phone unlocked is not expensive here, just like something mid-end.
An unlocked iPhone 7 plus can cost $969.

And I don’t know their design solution. But normally, we use highest resolution for the HERO and most frequent monsters, lower resolution for half-to-full screeen skill effects. There’s not a “applied to all” design resolution, artwork optimizations for memory usage / package size is always very useful.

1 Like

Thank you for the answer!

I asked about those cheap phones (800x480, 512 MB RAM) because they are still sold in stores in my country. I even have one for testing, I paid less than $ 40 for it. I also think that such devices are still relevant in India, although I did not do any special research.
And this is the lower limit of what I want to support.

In any case now I think that not heavy games made with Creator should run smoothly on these devices. But even if not, well, this is life, it is impossible to fast create games that look great and work smoothly on all devices.

But I find your post useful, because if someone is developing this heavy type of games, then they do not have to worry about very cheap phones. :slight_smile: The FPS Is really impressive.

Special thanks for the good tip about artwork optimization.

And I took a hint. No more jokes on this forum.
Although I would like to say that it was not intended to offend anyone. The only newbie I had in mind is myself.