Cocos Creator vs Cocos2d-x

Agreed

As a long-time community member here I have to argue that the c++ version was effectively abandoned after 3.17.2, and only barely updated to support Metal with 4.0.

For new or young projects with months or years ahead, please consider using the AXYS fork (was ADXE) going forward for any C++ related Cocos2d developments and projects. I started lightly recommending this, but as of today (Sept. 2022) and into the future I can only recommend forks or using alternatives like Godot, Unity, Unreal, or other game/rendering frameworks (SDL, et al).

Or build your own custom fork or custom engine one using graphics/rendering/low-level frameworks or libraries (SDL, BGFX, Sokol, raylib, SFML, GLFW, ImGUI, openal-soft, etc) in the same way that the AXYS fork did.

If you have game projects you donā€™t want to maintain on life-support, but want to release future updates then I also would still consider porting over to this AXYS fork, even though cocos2d-x v3.17.2 and v4.0 are perfectly fine to use if you want to fix all the bugs and improve it yourself (that falls under ā€œcustom engineā€).

(Iā€™ve started porting all the games I have control over, but will probably leave one game on cocos2d-x since no updates are planned and itā€™ll be lightly maintained to work with latest SDKs until it cannot and will then be pulled off the app stores.)

Relatedly, I also recommend against using the ā€œliteā€ version that Cocos Creator is based upon because itā€™s never going to be updated with things the native c++ cross-platform game developers will want/need going forward.

I will admit Iā€™m not sure the best replacement for this discussion form yet, and why I havenā€™t deleted my account here yet. Cocos2d over the years from Python to iOS to X-platform has been an incredible community and open-source success, but all things must eventually come to an end.

References:

My 2c
(godspeed)

6 Likes

Thank you for the amazing post, i will look more into these.

Thanks for the post. I will considere it for sure. Couple of questions(maybe it is all explained in the links already):1-is it any different on how you build a project on with oficial cocos? I am very confortable with visual studio and how easy it is to create a project currently. 2- is there a community there where we can ask and post stuff? It seems that there is almost no activity here anymore on cocos2dx.

R

Edit: I saw that my answer 1 is explained in git hub link. I guess my question is how stable is it? I am always a bit sceptic on ā€œnon officialā€ softwares. If everything is solid, Iā€™d love to continue my post and contribute to keep cocos2dx alive there.

I donā€™t believe thereā€™s too many people using AXYS, so Iā€™m not sure Iā€™d call it an active community, per se, but you could use the Github Issues if you have problems, and either this forum or maybe StackOverflow.

It really depends on you or your teamā€™s experience as to whether you actually need a forum like this one, or if GitHub Issues and StackOverflow can fulfill that need.

Unity3D and Godot have active communities. Iā€™m sure Unreal does as well, but that engine always feels daunting to get into, from my perspective.

Anyway, I donā€™t have any great advice here beyond the resources for what to use as the foundation that your game(s) is built upon.

godspeed

FYI. It changed name once again :slight_smile:
axis, adxe, axmol

2 Likes
FYI. It changed name once again:
engine-x => adxe => axis => axys => axmol

Maybe a copyright stuff with ā€˜axysā€™.

1 Like

The Axis is realy good choice as C++ game project, after cocos changed business model. There are 64 bit Windows project support, fixed many bugs, rewriten render, OpenAL for all platforms, m1 apple support, the same cpp-test example at last.
I do not know the fate of this engine - but it is good thing today.
May be there is no good marketing to popularize it.
If to say about editor, the blender is everything you need to create levels for 2d/3d games, it is only needed a little imagination :grinning:.

The only proposal
for 2d:
blender plane - is the same as 2d sprite

  1. create Level with 2d planes in Blender with apropriate textures
  2. make blender export script in python (it is simple) to save these objects to json where one plane is represented with [x,y,width,height,texture data] properties
  3. parse this json in the Axis to load these datas as sprites
    PS. You could create one big plane as background and load it as ParallaxNode
    PPS. You can assigne some blender planes as particles, light, menu, etc, base on its names like: ptcl_fire_node1 - the node which represents particle, node1 - simple sprite. Or it can be done blender addon (it is simple) to add your own plane propertie like type.
    PPPS. There is ortographic blender camera. It can be set to adjust screen size to understand how it would looks in the game
1 Like

https://axmolengine.github.io/axmol

Some more about axmol (cocos2dx fork)

2 Likes

@stevetranby any recommendations for porting from 3.17.2 to axmol?

  1. What axmol version should be used? Latest from dev branch?
  2. Is it possible to switch between 3.17.2 to axmol and back? (It looks like fork is not backwards compatible )

@CrazyHappyGame

  1. Always the latest at the moment (1.0 isnā€™t released)
    => Your project will always using the latest axmol libs with the supported [Windows workflow] Compile engine once, link prebuilt for project (=> Update axmol ā†’ build libs ā†’ and your project gets the latest axmol lib also)
  2. When you using axmol you want no longer switch back :wink:
2 Likes

Thank you, @stevetranby and @dreifrankensoft. I just now happened upon this post, and you both make excellent points. If I werenā€™t already so pressed on time for my next version of Pro Strategy Football (I release it each September), Iā€™d work on converting now, because I keep having to work around things with cocos2d-x (the latest is wanting VideoPlayer support in Windows and Mac). As it is, Iā€™m looking at the Axmol fork, which looks very good. Once I finish some of my own features, Iā€™ll see if the migration is something I could do in a weekend (just for the VideoPlayer, if nothing else), or if itā€™ll just need to wait until November.

Going forward, I imagine Iā€™ll either go with that or make an even more radical jump to something like Unity (would have to convert my C and C++ to C#, though). Iā€™ll check into Godot, too. My game is 2D, so I probably donā€™t need all the stuff with Unreal.

Iā€™m looking at the axmol code, Iā€™d like to get a minimal viable solution of VideoPlayer working. It looks like Iā€™ll also need to add the media folder. I have a dumb question, Iā€™m not seeing make files in my cocos2d folder, Iā€™m probably just blind. Can you point me to where Iā€™d add the media and ui classes for my cocos2d-x 3.17 project?

[UPDATE: oh, I was looking for make files, but I see the 3.17 version has Visual Studio project files and solutions, so Iā€™m going to try just adding it to the project file]

Cocos Creator is a game development engine based on the Cocos2d-x framework. It provides a more modern and integrated development environment with a visual editor, scripting support, and a wide range of tools and features. Cocos Creator is primarily used for creating 2D games, but it also supports 3D game development.

Cocos2d-x, on the other hand, is a mature and widely-used open-source game development framework. It is written in C++ and supports multiple platforms, including iOS, Android, Windows, macOS, and others. Cocos2d-x is known for its performance and flexibility, making it a popular choice among game developers.

The choice between Cocos Creator and Cocos2d-x often depends on factors such as personal preference, project requirements, and the skill set of the development team. Cocos Creatorā€™s visual editor and integrated workflow can be appealing for developers who prefer a more streamlined and beginner-friendly approach. On the other hand, experienced developers and those who require fine-grained control over performance and code may opt for Cocos2d-x.

Itā€™s worth noting that both Cocos Creator and Cocos2d-x have active communities, online resources, and documentation available to support developers. Ultimately, the choice between the two frameworks depends on the specific needs and preferences of each individual or development team.

cocos\ui\CMakeLists.txt

Look for the CMakeLists.txt files, because thatā€™s where you add everything you need. If for some reason youā€™re not already using cmake to generate your VS project and build files, then the real question is, why not? :slight_smile:

Just one thing to note, when adding new source files to the Cocos2d-x engine folders, you need to also add references to all of those new files in this file:

templates\cocos2dx_files.json

The files listed in cocos2dx_files.json are the ones that are copied across to the game folder when you initially create a new cocos 2d project using the cocos new command (the contents of the cocos2d folder etc.).

The videoplayer engine (MediaEngine) of axmol design as cross-platform, and there are also a example video player (axmol MediaEngine + bgfx): GitHub - halx99/bgfx-axplay at axplay which based on axmol mediaengine independent edition: GitHub - halx99/axme: A cross paltform media engine for video render based on native sdk

1 Like

Is there anyone still using cocos2dx for new games this year?

There are new projects being created with this fork of Cocos2d-x v4.

There is no future in cocos2d-x(C++).
Forked projects are not cocos2d-x!
Unity and Unreal Engine should be used for new projects.

Cocos and axmol now, require base knowledge of c++ to start game developing. You could learn shader language and extend your general abilities in progress of working, much more easier then you do it using unity/unreal.
Axmol/cocos is c++ aplication + gles 2.0 shader language. It is good for indie. Unity/unreal will make you to learn its thick framework with many magick things which simplify life, but could bring many questions if your desire to do something unusual.

1 Like