Just making this thread as a testimony to games relying on the 3D features of cocos2dx and still being actively developed.
Arcaea is a mobile rhythm game that combines many elements popular in arcade music games while bringing the experience to be available to the whole world.
The game has a strong following in Japan and a fairly keen player-base in the west, with over 2.5million downloads worldwide:
It is also consistently in top-10 rhythm games on both the App Store & Google Play in Japan and numerous other countries.
Here’s some (top level) gameplay by a fan on YouTube:
Some background on development:
I am the main developer of the game which is available on iOS and Android, the project is approximately 3 years old now since it’s conception and back in them days I made the (somewhat regrettable) choice to use Cocos Studio & 3D features of cocos2dx and have been stuck with them since.
While cocos2dx provides a lot of conveniences and is a great way to get started, the 3D support and support for external tools has been very rocky…
We release new content and updates, building on game contents, functionality and game support constantly to this day (in an approximately 1-2month cycle), so I’m always very passionate to express my interest in keeping support for the use-cases that cocos2dx supported 2-3 years ago and for making upgrades to new versions/ new renderers portable to those of us on existing projects rather than just benefiting new users who can throw away their environments and migrate to new ones!
The strongest point of cocos2dx has always been to provide engine functionality comparable to other engines (at a low level) and provide so many conveniences (platform abstraction, scene graph, many useful models such as: transitions, layers, support for csb flat files), without the heavy overhead of a fully 3D, prefab-based engine like Unity, so for v4 onwards to cut back on this functionality (especially the limited 3d support) would be a great loss to the engine landscape…
We even obtain 120FPS on iPad Pros using cocos2dx with no customisation to the renderer! Something nearly unimaginable in Unity!