Cocos2d-x Developer Blog

Cocos Creator v1.6.1 released!

As the first patch version of v1.6, we have adjusted the code of instantiate operation for new JSB framework to boost performance. We also solved multiple crash issue for new JSB framework. Another focus of the patch is for TypeScript property declaration and serialization issues. The TypeScript usage in new version is much simpler and more stable.

Full Changelog

– [Editor] Fixed the problem that the editor does not open normally when a script error occurs

– [Editor] Fixed an issue that the script information was retrieved incorrectly from the asset IPC message

– [Editor] Fixed scripts for previews may conflict with npm third-party library script if share the same name

– [Editor] Fixed a problem when the resource was not loaded at the zip package when the resource was not prompted

– [Prefab] Fix auto sync prefab coordinates failed to be saved in scene issue

– [Extension] [Breaking] Fix the problem in the scene-script module can not be loaded in the project, please use cc.require

– [Properties] Fixed in the switching node active property, there will be a period of time active values can not show the problem

– [Properties] Fixed a problem where some of the attribute values were lost during bulk copy

– [Build] upgrade Android Studio Gradle build the version of the plug-in to 2.3.0, you can see in the compilation phase more detailed compilation information

– [Engine] Fixed in WebGL mode when cc.Graphics is filled with multiple shapes, the previously filled color will change

– [Engine] Fixed on iOS double-tap home to drop application crashes

– [Engine] Fixed prefab instantiate takes longer in v1.6 issue

– [Engine] Fixed the potential crash of the network module

– [Engine] Fixed load remote map, url with a query will cause the map to cover each other bug

– [Engine] Fixed sorting algorithm causes repeated allocation of Uint8Array and a memory leak problem

– [Engine] Fixed cc.loader loading-items may not be properly unregistered problem

– [Engine] Repair scene resources are automatically released when the resident node may still release the problem of resources

– [Action] Fix the clone, reverse method of the BaseJSAction class Return value incorrectly

– [TypeScript] Fixed bugs that some TypeScript classes could not deserialize after inheriting each other

– [TypeScript] Fix the problem that the TypeScript default value may be wrong after the build

– [TypeScript] No longer need to repeat the default value of the specified property in the decorator

– [JSB] Fixed error of the EditBox when the JS delegate object is reclaimed

– [Label] Fixed the problem that the node size has not changed after the assignment is premature when the label is created

– [Label] Fixed the dynamic setting of the TTF type font will cause the outline to be missing

– [Label] Fixed repeatedly creating Label will cause the font to display wrongly

– [Animation] Fixed the problem when the animationClip is added repeatedly

– [RichText] Enables the <img> tag to support setting height and width, but maintains the basic principle “The image height does not exceed the set line height”

– [WebView] supports setJavascriptInterfaceScheme and setOnJSCallback (only used in Android with iOS)

– [WebView] Fixes events in the WebView that are also triggered in the editor environment

– [Layout] Fixed issue when toggle active of Layout node will not refresh the child node location

– [Camera] Fixed some of the camera target will lead to undefined reference

– [Spine] Fixed Spine event callback may occur if the conversion event data fails

– [DragonBones] repair DragonBones in the original platform to remove the problem

– [Tiledmap] Open the DepthTest for CCSGTMXLayer alone, solve the problem of wrong depth of tiles

Download it today!

Posted in Announcement

Cocos Creator v1.6.0 released!

Cocos Creator v1.6 release is here! Thanks to the community for the patience of this version’s long test cycle and the positive trial and feedback on the beta versions. We continue to improve performance, efficiency and user experience in this version update.

The editor is where user spends most time on so we include several improvements on experience and efficiency. Then we keep on enhancing the performance of JS and C + + engine. We also solved issues that developers are most concerned about: package size, browser cache and network communications. Based on this goal, we added the following important features in version v1.6.

Feature Highlights

– JavaScript-Binding layer upgrade, a substantial increase in Android platform performance
– Preview the game do not need to bundle all scripts, instant refresh game after make changes to a script
– Batch editing node and component properties
– Add option to generate asset file names based on their MD5 when build for web platform
– Upgrade WebSocket library for iOS platform to solve most of the platform-specific network communication problems

### JavaScript-Binding layer upgrade

In this version, we upgraded the JavaScript-Binding layer between JS script and C++ engine. On the one hand we upgrade SpiderMonkey(a JavaScript engine) from v33 to v52. This results in a substantial script executing performance boost in Android platform (Because iOS platform does not enable JIT so the effect is not obvious); on the other hand, we started binding layer interface reconstruction from this version, the goal is:

– Provide a completely abstract JS-binding layer API, independent of the JavaScript engine, the user’s binding code will no longer be affected by the future updates of the JS engine.
– Support platform specific native JS engine: v8 engine on Android platform, JavaScriptCore on iOS platform.

After upgrading the binding layer, we not only provide a stable environment for binding JS code to C++, but also support the native JS engine on specific platforms that will make the package size significantly reduced for native builds, because SpiderMonkey engine library is not needed in the package.

jsb-chart

### Preview game do not need to bundle all scripts

As a result of the need for modular scripting, we bundle user’s scripts before running it from the first version of Cocos Creator. But for a large project the number of scripts can easily go up to hundreds. Any change to any script will trigger the entire bundling process, and it will take a long time before the game can up and running with the updated scripts.

In order to solve this problem, we refactored script loading environment for a bundle-free modular system. When preview the game in editor, you can load a JavaScript script from another without having to bundle them. Any changes to the script will only trigger the script compilation (ES6 to ES5, TypeScript to ES5) itself, making the game instantly up and running after the modification of the script, greatly improving development efficiency.

bundless

### Batch edit node and component properties

When editing UI scenes, you often encounter the need to select some nodes and bulk modify a property to their needs, this version we added the batch editing function to Properties panel.

After selecting multiple nodes, the components and attributes shared by these nodes can be edited in batches. When the property values of different nodes are different, selecting these nodes will make them display as -, modify this value will make the property of all the selected nodes share the same value.

properties

### Add option to generate asset file names based on their MD5 when build for web platform

For HTML5 game developers, the effective use of the browser’s cache system is very important, to prevent users to repeatedly download resources, and ensure that the cached resources can be correctly updated. In this version we add **MD5 Cache** option to the Build Settings panel. If checked the build process will add the MD5 of each asset file to the filename. So the end user’s browser will automatically re-download the asset files which has different MD5, to save traffic and ensure the consistency of the version.

### Using SocketRocket to replace previous WebSocket implementation on iOS platform

We use [SocketRocket library](https://github.com/facebook/socketrocket), which developed by facebook, to replace the libWebsocket library that has been used in the cocos2d-x and Cocos Creator C++ engines. This new implementation supports the following features:

– The API of SocketRocket is easy for use, it’s all asynchronous API.
– No need to deal with thread communications, it’s wrapped inside SocketRocket.
– Network status change will not make connection closed, it just seems there is not any status change.
– Locking screen will trigger an error while libwebsockets or bsd socket will not.
– Do not depend on openssl library which is a little big
– Do not need to use a local CA root certificate (curl ca file is over 2MB) for wss connection
– Do not trigger signal pipe while closing wss connection

Follow-up version of the socket.io will be the original realization of our further optimization, hoping to provide developers with a simple, stable network communication programming environment.

Download it today!

Discuss here!

Posted in Uncategorized

Cocos Creator v1.5.2 released!

When in the beta phase, Cocos Creator v1.5.2 has already got a log of of positive feedback. On the track of v1.5.1 patch, this version continues to further strengthen the stability and enhance the efficiency. The following describes the highlight of this version.

grow

Highlights

Significantly reduced script compilation time

For projects with a large code base, the script compilation time becomes a big concern to developers. In version 1.5.2, we have further optimized the compilation process so that the compilation time has been greatly reduced. And in the next version we will completely rework the script bundle system, to achieve that when preview during development there’s no need to compile code at all.

Add culling for Camera

The introduction of Camera component in the previous version has an impact on culling of objects outside the viewport range. In this version we have re-organized this part of the function, and now we can ensure that objects outside the camera perspective can be properly culled off. We also solved problems with objects instantiated outside the perspective of cameras that may not be displayed correctly in some cases.

In addition, the cc.Camera.getCameraToWorldPoint() interface is added to correctly get the world coordinates of objects under camera view.

camera

Support Visual Studio 2017

When compiling on windows platform, the option to compile with VS 2017 is added. Also note that we will no longer support VS 2013 from the next Creator version on, please prepare your development environment to make the necessary adjustments.

 

Download it today!

Discuss here.

Posted in Announcement

Cocos Creator v1.5.1 released!

In this version we have fixed a lot of issues from testing and user feedback, some of the major ones that will have a great impact include:

1. Improve the async callback mechanism when downloading assets, increase speed of the native and Web assets loading by 2 to 3 times

We found that the download process may have unnecessary asynchronous waiting when loading the scene assets. In 1.5.1 we fixed the problem and made the assets load faster than v1.4 version. The following chart shows the performance of new version in a real native project loading the first scene.

2. On iOS platform we disable async function of openssl library, to avoid Apple store reject the program for using forbidden API (setcontext, getcontext, makecontext, etc).

Recently Apple store submission review has become more strict for API usage. We will continue to keep track of Apple’s review standards, and we will solve the possible API usage problems from the engine level.

3. Add the build option “Merge SpriteFrame in Atlas”, the default is not checked so that when there’re too many spriteFrames in atlas, the loading speed of first scene won’t be affected.

In 1.5.0 we will merge the SpriteFrame in atlas by default. This will result in a asset description file that takes a long time to parse when the amount of spriteFrame is large. If developer does not care for many asset request (for example on native platform) he/she can disable this option and get a faster loading for the first scene.

Download it today!

Posted in Uncategorized

Cocos Creator v1.5 Released!

We are happy to announce the release of Cocos Creator v1.5!

This version 1.5 update focuses on the lack of features for action games large-scale project development, through the provision of physics engine, camera and TypeScript support.

Cocos Creator is now able to develop all kinds of action games and large projects for much better experience. In addition to the high expectations of the community requested new features, we once again optimized the engine load logic, a substantial increase in the scene loading and parse speed; In addition, we refactored the Windows desktop and Android platform Label and EditBox implementation, greatly enhanced the experience and compatibility.

Highlight features

– Integrated Box2D physics engine, add rigidbody and joint components

– Add Camera components to support high speed scrolls without loss of performance

– TypeScript and ES6 Class support, fully enhanced IDE code prompt

– Optimize the scene loading process, the scene load speed increased by 38%

– Cross-project assets export / import, assets dependencis will be automatically associated.

– Enhance the experience and compatibility of Label and EditBox in the Windows desktop platform and Android platform

– Improved hot update with continued download after connection broken.

Read the full release notes.

Download it today !

 

Posted in Announcement

Cocos2d-x v3.15 released!

We are happy to announce the release of Cocos2d-x v3.15!

This release brings bug fixes and API maintenance, as well as these highlights:

  • Full Android Studio supports: include editing, compiling and debugging c++ codes: doc
  • Audio engine uses tremolo and MP3 Decoder Library to decode audio files on Android: high performance and more adaptable to different Android devices
  • WebSockets and SocketIO supports SSL
  • AssetsManagerEx is more stable
  • Update Spine runtime to v3.5.35
  • Update flatbuffer to v1.5
  • Remove support for Windows 8.1 store and phone
  • Update OpenSSL to v1.1.0
  • Remove linux 32-bit support

Read the full release notes.

Download it today!

Posted in Announcement

Interview with the developer of World of One

Cocos2d-x is a game engine and we see a lot of great games made using it. Every once in a while a project comes along that uses Cocos2d-x in a unique way. We are excited to talk with Grimwood Team, the developer of World of One.

arts-gg

1、Tell me a bit about yourself and team.

We are small game-development team from Kyrgyzstan. Right now we have only 5 members – game designer, two programmers, sound designer and art-designer. Our first project is “World of One” – grim puzzle-platformer, where you play as adult Little Prince, that has his own problems and hardships in his life.

You can find more info about us at Steam, Facebook and Twitter.

http://store.steampowered.com/app/598480

https://www.facebook.com/worldofonegame

https://twitter.com/GrimwoodTeam

2、which platforms you have launched?

We have launched on Steam on June, 8. Supported platforms are PC, MacOS and Linux.

https://www.youtube.com/watch?v=3cxZf3jhvBc

https://www.youtube.com/watch?v=E-DN3gNLDlw

https://www.youtube.com/watch?v=oD4lU8aFxc8

Fun Lets plays:

https://www.youtube.com/watch?v=h80IY6rDegk

https://www.youtube.com/watch?v=RBM_RzMLmeE

22

3、Tell us where you came up with the idea for this game. What were your inspirations?

The idea to make the game where the main character travels across the small planets came to our game-designers mind after hed re-read "Little Prince" book. And because he loves difficulties and dark atmosphere our game became like it is now.

4、What version of cocos2d-x did you use?

We started from 2.x cocos2dx version. But then moved to 3.x and now we try to use the latest version.

5、How did you decide to use cocos2d-x instead of Unity, Unreal Engine or SDL?

Cocos2dx is free and opensource. And we can change whatever we want in it :) Also we used some parts of SDL such as controller support.

6、What features did the engine offer you that made development easy? What do you wish the engine did better?

Engine did a lot of low level opengl coding. Nice architecture of engine helped us to build our well designed architecture. We wish to have UI and World editor for C++. Like UE4 and Unity3D have. Just writing own editor or use external is kind of painfull.

7、What tools did you use besides the engine?

We used RUBE as physics world editor. FMOD Studio for creating sound events. Spine 2D for animation.

8、What 3rd party libraries did you need to use?

We used SDL for controllers support. And FMOD for audio.

9、Did you create the art yourself? What tools?

Our game designer created art with the help of Adobe Flash :)

10、Did you create the music yourself? What tools?

We worked with two musicians. Actually I dont know which tools they used to create music but then it went to FMOD Studio.

11、Will you continue to make games in the future?

Yes. We will. But first we are planning to release this game on consoles and then on mobile platforms. Also we would like to develop the direction of the gaming industry in our country.

12、Do you use SDKBOX? If so, what plugins are you currently using?

No. We didnt use any plugin of SDKBOX.

13、Lastly, any advice for those also making games on how to get to a release point?

Eat, sleep, work out, ride bicycle. And work hard. Listen to the players. Gather feedback. And dont give up.

 It is the first game had been released on Steam, congratulations!

Posted in Announcement

Powered by Cocos2d-x, A Good Interview with Colorcast Developer

Colorcast free was developed by two developers with the support of a three additional collaborators. With the aim of take feedback from final user, an alpha version was presented on Gamelab 2015 (http://gamelab.es/2015/indie-hub) where the game was well received and drew the attention of Juan Gril, founder of the former Joju Games.

Banner

After that, the devoloper presented the game in a few more events to polish final details and finally, it was published on Google Play at the end of 2015. Unfortunately, the game didn’t reach the expected revenue so that team members decided to start new jobs in other companies or sectors. Now, as a solo indie dev, he’s in charge of updates and new projects during his free time, however difficult that may be at times. The last year he released Apple and Amazon versions. And this year Windows version on GameJolt and Inch.io.

Store links

colorcast_promo_2

As we know, first release had two versions: premium and free with ads. Today, all versions are 100% free, nor ads, neither IAPs. We glad to have a interview with Patricio, The Digital Spell developer.

  • Q : Tell us where you came up with the idea for this game. What were your inspirations?
  • A : The aim always was to create a game easy to learn but hard to master. In our initial prototype we work a lot with the smart box, the key of the game, and how the user could interact with it. After, we add color mixing and so multiple gadgets in a level to know if they co-worked fine. In this process, some ideas were descarted. Colorcast gameplay is inspired by Portal and Trainyard. On other hand, Look & Feel and audio are inspired by Lyne and Monument Valley. You can see a design evolution here: https://gamejolt.com/games/colorcast/238261/devlog
  • QWhat version of cocos2d-x did you use?
  • A3.14.1
  • QHow did you decide to use cocos2d-x instead of Unity, Unreal Engine or SDL?
  • AAt the begining, we doubt between libGDX and Cocos2d-x. Finally, we decided by Cocos2d-x, because I used it in the past with multiple prototypes. Unity3D and Unreal seem us too excessive for our 2D simple idea.
  • Q What features did the engine offer you that made development easy?
  • A Resolution design and multiresolution. Tween actions.
  • QWhat tools did you use besides the engine?
  • AThe discontinued project Cocos Studio 1.6. It works fine yet, but I don’t know if Cocos2d-x will continue supporting it in future versions. UI and levels are created with this tool.
  • I’m using Ant to provide several features like one-click-deployment or asset management by platform to minimize package size.
  • QWhat 3rd party libraries did you need to use? 
  • AWe are using SDKBOX.
  • QDid you create the art yourself? What tools?
  • AOur collaborator used Photoshop, but I’m using GIMP 2 and Inkscape now.

C-08

  • QDid you create the music yourself? What tools?
  • AYes, our music designer composed it with Steinberg Cubase.
  • QWill you continue to make games in the future?
  • A Yeah, I’ve just got a new prototype. It will be a game for toddlers, because I have a 3 years old son and others are coming.
  • QDo you use SDKBOX? If so, what plugins are you currently using?
  • AYes, always try to update to the last version (2.3.9 now): Facebook, Flurry analytics, Share, Sdkbox Play.
  • QLastly, any advice for those also making games on how to get to a release point?
  • AI think marketing is the key. First, try to negociate with a publisher. Alternatively, you could do it on your own from the beginning of the project and don’t wait to the end.

In conclusion, Colorcast is very interesting and challenging. Furthermore, they’re fundraising to help good causes: http://www.colorcast.thedigitalspell.com/donate.html

Go and support it.

 

 

Posted in Announcement

Cocos2d-x v3.14 released!

We are happy to announce the release of Cocos2d-x v3.14!

This release brings bug fixes and API maintenance, as well as these highlights:

  • [NEW] Add Spine binary file format support
  • [NEW] Action: add a method to get the number of actions running in a given node with specific tag
  • [NEW] Action: new actions: ResizeBy and ResizeTo
  • [NEW] Button: can set title label
  • [NEW] Can disable multi touch on Android
  • [NEW] EventDispatcher: Add hasEventListener to check listener existence
  • [NEW] EditBox: add horizontal text alignment
  • [NEW] EventDispatcher: added hasEvent() to check if an event is added
  • [NEW] Sprite: support slice9 feature
  • [NEW] Slider: add methods to get _slidBallNormalRenderer
  • [NEW] Desktop: add a method to toggle between fullscreen and windowed
  • [NEW] Desktop: add events for window resize, focus and unfocus
  • [NEW] Mac: supports game controller
  • [NEW] JSB: add cc.sys.now() and perfromance.now(), the last one is more accurate
  • [NEW] Lua: add cc.vec3 functions: add, sub and dot
  • [NEW] Lua: use luajit 2.1.0-beta2
  • [NEW] Web: Add cc.CONCURRENCY_HTTP_REQUEST_COUNT to control max concurrent task count for XMLHttpRequest

Read the full release notes.
Download it today!

Posted in Announcement

Cocos Creator v1.3.3 released!

Cocos Creator 1.3.3 officially released!

We are excited to release version 1.3.3 of Cocos Creator. Cocos Creator is a new, unified, development tool that handles every step in the game development process.

(more…)

Posted in Announcement Tagged with:

Categories