Cocos Creator - 24 Hours later

So I did the XKCD Game Jam, using CocosCreator for the first time, and thought it worth posting my findings and feelings.

First, it looks and feels pretty good. Layout is nice and flexible, but with a relatively sensible default.

For me, working out how to write some code to move a sprite around the screen took longer than it should. It’s a personal thing, but the tutorial (the bouncy purple monster collecting stars) was too verbose and tended to offer explanations rather than getting on with it; while I appreciate the explanations, as a first tutorial I want a 'click here, drag this, type that - bam!)
Incidentally, the links are all coming up with 404’s at the moment, so I can’t give examples.

Once I managed to get that sussed, I still had some conceptual issues about how to access various parts from other parts. Adding properties to some script, then dragging an object to the property in the designer, then writing code to use that value , but then needing to use functions to return the child components to be able to access the properties of them was just outside of my experience, and I found it confusing and I was concerned about performance (something like getComponent(‘nameOfcomponent’) for example.

Then I came across prefabs. here the Ide and the tutorial confued me. Once created, if i wanted to change a prefab, I double-clicked on it, made changes and all seemed to work fine. But in the tutorial it seemed to be telling you to drag it to the scene, make changes then drag it back - which is really really counter-intuituve!

once I started to get my head around it, though, it was pretty nice to be able to work that way.

Onto the coding side.

+5 million stars to the engineers for including Typescript in the workflow. I use Typescript in my day job, and frankly love it, and don’t understand anyone who doesn’t! I also use VS Code in my day job, so having the workflow to set that up, and link into Creator, was (as they say) totes awes.

It is so much easier with Typescript! Type checking on the fly, and no more ‘this’ and ‘self’ faffing around (using anonymous functions is great fun)

I had issues with the sound - which I now think is probably just down to a missing reference in a .d.ts file, so may have worked despite the warnings I was getting.

Stability. In the 24 hours I was using it I either killed it or it crashed about a dozen times. I never lost much work - but then I was saving and committing changes every few minutes. I didn’t have time to investigate what was causing the freezing and crashing, but will keep[ an eye open in the future.

Animation. the animation editor is a good idea, but the drag and drop is so buggy it made it very frustrating to use (it took my 30 minutes to successfully do 8 frames of animation the first time) For example, dragging a sprite onto the timeline, sometimes dropped it in the right place, sometimes failed to drop it at all, and sometimes replaced an existing sprite (when dropped centimeters away from it!)

Building / deployment.
I built for the web and it was pretty painless (although a progress bar that says ‘sleeping’ or something like that, when it is actually complete, was a trick for new players!)
I tried building for Windows. Already had VS2017, but needed to download some SDK - did so and it faoiled to build with errors - I haven’t investigated yet, so hopefully will get around this - but besides that issue, it was all nicely painless.

Screen Sizing
it is difficult with cocos2d-x c++ and so it is difficult here, too. I would love to see an example of a simple (e.g. one sprite bouncing around the screen) being developed for multiple resolutions, showing the preferred workflow.

Overall, I was impressed with what seems to me to be a reasonable Beta product. I think the documentation is probably much better in Chinese and, for me, very very simple examples would be better than complex tutorials.

I know there is a ‘examples’ project - and I did take a brief look but it didn’t just open and run first time so I kinda left it alone - it would be a good place to go for reference in future, but (again this is a personal preference) short, simple step by step tutorials are a preference.

I may, time permitting, even do one myself, so you can all moan at me about my documentation :wink:

1 Like

This is great feedback, thank you for passing it along.

1 Like

Thanks for the feedback, it is helpful for us.

1 Like

Thank you for taking the time to test Creator and provide feedback! I mostly agree on everything you said. Creator has an amazing potential but still need some polish and better examples/tips/tricks and best practices docs.

1 Like

No worries - if I can help improve things then that’s a win-win!

1 Like

We will fix as many as we can.

2 Likes