Cocos2d-x v3.17 released!

Hi All,

Cocos2d-x v3.17 is now available!

Cocos2d-x 3.17 Release Notes

The 3.17 release focuses on stability and increased performance with some under the hood enhancements that will make cross-platform development easier.

Android requirements

v3.17 has been tested using Android Studio (3.0, 3.1, 3.1.1) with NDK r16

Highlights

  • added support for iPhone X
  • added support Android Studio 3.0+
  • CMake is now supported on all platforms
  • upgraded Spine runtime to v3.6.39
  • upgraded GLFW to 3.2.1
  • misc bugs fix and stability improvements

added support for iPhone X

3.17 brings support for iPhone X including supporting full screen mode, using Storyboards for launch images, safe area API and support for auto hiding the Home indicator. It is important to note exactly what and where the safe area is:

Developers can get the safe area easily by calling: Director::getSafeAreaRect().

added support Android Studio 3.0+

Android Studio is the only official IDE for Google’s Android operating system.
Cocos2d-x supports Android Studio using NDK version r16. Gradle configurations have been updated, including simplifying Gradle PROP_* values, changing the deprecated compile to the new implementationin dependency declaration, and added Proguard configuration to reduce Release package size.

CMake is now supported on all platforms

CMake is now supported on all platforms, including Android(NDK), iOS, macOS, Windows (VC++ compiler), Linux. Supports precompile libraries for engine, and reusing precompiled libraries in the new build process. Your projects build time will be greatly reduced. For detailed usage, please refer to CMake Doc

upgrade 3rd-party libraries

Spine skeleton animation is widely used in games developed by Cocos2d-x. Spine runtime has been upgraded to 3.6.39 to keep current.

GLFW has been upgraded to 3.2.1 to help fix joystick issues. You can also now use GLFW as a precompiled library.

Box2D hasn’t been updated in quite some time. A new production version has yet to be released so far in 2018. We felt GitHub commit f655c603ba9d83 was stable. You can also now use Box2D as a precompiled library.

Each Cocos2d-x release comes with a specific version of third-party libraries. If you want to upgrade third-party libraries due to your projects needs, please refer to: 3rd-party Doc

remove outdated

Google officially deprecated ant build support starting in Android SDK Tools 25.3.0. The old ant based proj.android and been dropped and now proj.android is an Android Studio project. The default architecture is changed from armeabi to armeabi-v7a.

Visual Studio 2013 support has been dropped. Visual Studio 2015/2017 are still currently supported. The existing win32 project files is quite suitable for 2015. To use 2017, you can open a 2015 project file, modify the configuration to suit your needs, or use CMake (See above).

misc bugs fix and stability improvements

This release contains more than 51 bugs fixed and 33 misc improvements, please refer to Changelog

4 Likes

look at @slackmoehrle
added support Android Studio 3.0+

Android Studio is the only official IDE for Google’s Android operating system.
Cocos2d-x supports Android Studio using NDK version r16 to r16. Gradle configurations have been updated, including simplifying Gradle PROP_* values, changing the deprecated compile to the new implementationin dependency declaration, and added Proguard configuration to reduce Release package size.

Thanks. I apologize for the typo. This has been corrected.

Nice, any tutorial for USING (not building, buildings works for me :D) prebuilts in a project? I still cannot manage to use them in 3.17.

I think I could write something and update our docs. This question comes up a lot, is different on various platforms and would be beneficial to a lot of developers.

1 Like

I’m not sure how many real devices we have floating around. I have one so perhaps I can. What are you looking for exactly? Just something running on the X demonstrating full screen mode and the safe area?

Only here to say TWO words: GREAT JOB!

Great job cocos2d-x team. Dont stop!!!

1 Like

:slight_smile: Nice!!!

Awesome job!

Now there is new version. I am confused how to upgrade my current project to new version of cocos2dx.? The only way I know is to copy all the source code and resources files to a new template created using coco2dx 3.17. or there is more elegant solution than this?

Thats what I do :stuck_out_tongue:

1 Like

I do it the other way around. I have a shell script, which create me a new empty project and I replace the cocos folder from that empty project with the cocos folder in my game. Because I don’t alter the original sources, it will work fine. Sometimes I need to change root CMakeList and Android gradle files, but this is not very often.

1 Like

That would be great!

I replace the cocos2d folder and then I create a cocos new project and do a diff on AppDelegate, RootViewController, etc, etc to see what code has changed and decide if I need to change it in my current projects.

2 Likes

I’m using 3.16, and I think the main thing I need is to update my game to work with iPhoneX. Is it possible to do this within 3.16, or better to just set aside some time and update to 3.17?

thanks, and great work!

you really don’t need to update… all you need is a launch screen. I used storyboard for this matter.
You can find storyboard launch screen tutorials on youtube.

wew, i think, i should upgrade my cocos2dx

As @bilalmirza said you can drop in the correct launch image and support iPhone X without needing to upgrade to 3.17.

Thanks! I think I’ll have to create new background images, the upper scoreboard, and the tab bar, to fit the new aspect ratio. When I get a chance later, I’d like to share my current (very old) logic in how I detect whether I’m on iPhone 5, ipad, etc. Remember, I wrote the original cocos2d version some years back, so I know the approach changed after that. :slight_smile: