/axmol

Axmol Engine – A Multi-platform Engine for Desktop, XBOX (UWP) and Mobile games. (A radical fork of Cocos2d-x-4.0)

Primary LanguageC++MIT LicenseMIT

axmol logo

Axmol Engine

A Multi-platform Engine for Desktop, XBOX (UWP) and Mobile games. (A radical fork of Cocos2d-x-4.0)

dev LICENSE Codacy Badge PRs Welcome vscode.dev

issues forks stars GitHub code size in bytes

简体中文

Supported Platforms

Build Status (github)
Windows Desktop Win32 CI
Windows Desktop(Clang) Win32 CI
Windows UWP Win32 CI
Android Android Build Status
iOS iOS Build Status
tvOS tvOS Build Status
Linux Linux Build Status
macOS macOS Build Status

Reimplemented VideoPlayer(VideoTexture) based on Redesigned MediaEngine

Platform MediaEngine Video Compress Format Video Pixel Format Backend
Windows Desktop complete H264, HEVC, VP90 YUY2, NV12, RGB32 IMFMediaSession
Windows UWP complete H264, HEVC, VP90 BGR32 IMFMediaEngine
Apple macOS complete H264, HEVC(hvc1) NV12, BGR32 AVFoundation
Apple tvOS complete H264, HEVC(hvc1) NV12, BGR32 AVFoundation
Apple iOS in progress H264, HEVC(hvc1) NV12, BGR32 AVFoundation
Android planned H264 RGB32

Thirdparty

Highlighted Features

  • Windows UWP support, refer to: axmolengine#1108
  • Add apple M1, android x64 support, contributed by @pietpukkel
  • Improve windows workflow, support linking with engine prebuilt libs, read windows workflow guide
  • Windows video player support (based on microsoft media foundation)
  • Windows x64 build support
  • Reimplement HttpClient based on yasio for concurrent http requests processing.
  • 'Upstream-Version-License' Third-party
    • Third-party license overview for easier publishing of your commercial apps based on axmol framework.
    • Some links to third party libs which support axmol too.
  • 'Upstream-Version-License' Extensions
    • Extensions license overview for easier publishing of your commercial apps based on axmol framework.
    • Spine-3.8 support
    • FairyGUI support
    • DragonBones support
    • Live2D support
    • ImGui integrated, easy to write game embedded tools, very easy to use, read ImGui for more info
  • Refactor AudioEngine, OpenAL for all platforms
    • OpenAL Soft, pass -DAX_USE_ALSOFT=ON to cmake to force enabling it
    • OpenAL.framework, if no AX_USE_ALSOFT option specified, cmake script will choose it on osx/ios/tvos, even though it was marked as deprecated, but still available.
  • Refactor UserDefault with mio
  • Modularize all optional extensions, move from engine core folder to an extensions folder
  • Implement all .wav formats supported by OpenAL Soft, such as MS-ADPCM, ADPCM, ...
  • Use a modern GL loader Glad
  • Google angle renderer backend support
  • C++ 17/20
  • IOS/TVOS SDK 9.0 as minimal deployment
  • Use fast pugixml
  • Use curl for transferring data with URL syntax
  • Use SAX parser for all plist files
  • ASTC 4x4/6x6/8x8 support (if hardware decoding is not supported, then software decoding is used)
  • ETC2 RGB/RGBA support (if hardware decoding is not supported, then software decoding is used)
  • Supported 2D physics engines (see also APPENDIX.md):
    • Box2D
    • Box2D-optimized
    • Chipmunk2D
  • Supported 3D physics engines:
    • Bullet Physics SDK

Read Full changes since cocos2d-x-4.0

Open APPENDIX.md for additional information and see Milestones for planed features too.

Building

View the Dev setup instructions.

Reference links

The axmol Active Stats

Alt