Skip to content
This is another more radical fork of cocos2d-x game engine, use open for all platforms, single texture multi gpu texture handler, c++17...
C++ Lua C Objective-C++ Java Python Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Build Status Windows Build Status

This is another more radical fork of cocos2d-x game engine, use opanal for all platforms, single texture multi gpu texture handler, c++17...

The readme of cocos2d-x v4:

Goals summary:

  1. C++17
  2. forcus on native game dev only
  3. Remove unnecessary sources
  4. build engine as static or dynamic library support
  5. If you have any other excellent goals, welcome
  6. Excellent PRs from any guys are welcome, I will review & merge ASAP

preprocessors notes:


Refactor core & extensions libs

  • engine-v5-core.dll(node tree, multi-renderer-backends, filesystem, audio, platform spec, and other):

    • 1. Refactor audio engine, OpenAL for all platforms.
    • 2. Remove SimpleAudio
    • 3. Remove offthread file operation
    • 4. Remove getSutiableFOpen, avoid reduce performance, there is another better solution for support: just doesn't convert path to utf-8 in FileUtils manually implementation
    • 5. Refactor CCDownloader, curl for all platforms, don't use scheduler to retrive progress info, make it more reuseable
    • 7. Refactor engine-v5-deps, all compile as vs2019 MSVC 19.22.27905.0
    • 8. minizip-1.2.0
    • 9. ccMessageBox
    • 10. BMP support with stb_image
    • 11. Remove unused libuv
    • 12. Reorder child support
    • 13. Remove tinyxml2 dep, use pugixml instead
    • 14. Use xsxml for SAX parser only
    • 15. Multi meta textures v1.0
    • 16. ProgramStateRegistry
    • 17. Optimize CCFileUtils
    • 18. ANGLE support.
    • 19. Use curl for HttpClient all platforms
    • 20. AES encrypt system
    • 21. Remove xxtea
    • 22. Remove rapidxml dep
    • 23. fix etc1 alpha test case, content size incorrect
    • 24. Since getSuitableFopen removed, don't convert to utf-8 for win32, or in the future, windows 10 will support utf-8 file path, such as: For Chinese system language users: 在 控制面板-区域-更改系统区域设置 中 勾选 Beta版:使用 Unicode UTF=8 提供全球语言支持(U) 选项
    • XX1. Cache ProgramState or use object_pool
    • XX2. Remove websockets, use yasio for socket connection solution
    • XX3. Fully streaming play for all media file: .mp4, .mp3, .ogg, .wav
    • XX4. Streaming load for .ttf with freetype2
    • XX5. Remove CCB(already removed in v4)
    • XX6. Sync 3rd bin
    • XX7. Purely offthread load texture, use shared gl context
    • XX8. Use git submodule to manage 3rd libs.
  • Upgrade 3rd stubs to latest stable edition for all platforms

    • zlib to 1.2.11

  • engine-v5.ui.dll: The original v3-ui framework may remove in the future
  • engine-v5.ext.lib: old GUI ui(could be remove), physics-nodes, pu3d
  • engine-v5.dragonbones.lib
  • engine-v5.ccs20.dll: x-studio
  • engine-v5.ccs21.dll: x-studio
  • engine-v5.xs.dll: x-studio
  • engine-v5.spine.lib

  • engine-v5-lua.lib:
    • Lua53 compat
    • make lua test works well
    • Remvoe luasocket, use yasio for socket connection solution

!!! Custom APK support, don't compress .mp4, .mp3, .ogg, .wav, .ttf

!!!! future of future:

  • Use sol2 for binding framework instead tolua++
  • Use bgfx for multi renderer backend support
You can’t perform that action at this time.