/axmol

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

Primary LanguageC++MIT LicenseMIT

axmol logo

Axmol Engine

A Multi-platform Engine for Mobile, Desktop and Xbox.

Axmol Engine is an open-source, C++ multi-platform engine designed for mobile devices, desktop, and Xbox, well-suited for 2D game development. It was launched in November 2019 as a fork of Cocos2d-x v4.0.

Please visit our Wiki to know more about Axmol.


Latest Release LICENSE Codacy Badge cxxstd

Build Status WASM Build Status

issues forks stars GitHub code size in bytes

PRs Welcome Discord

Chinese ver. / 简体中文


Building

If you have a Cocos2d-x project, migrating to Axmol Engine is easy. We have prepared a Migration Guide.

Learning and docs

General information

Axmol Engine has iterated and improved over the Cocos2d-x v4.0 base. Now is faster and more capable, while staying lightweight. Check a comparative here.

Supported platforms:

  • Mobile: iOS, Android
  • Desktop: Windows, Linux, macOS, tvOS
  • Console: Xbox (Universal Windows Platform)
  • Web: WebAssembly (Preview: Axmol tests / FairyGUI tests)

Languages:

  • C++
  • Lua

Renderer backends:

  • Metal for macOS, iOS and tvOS
  • OpenGL 3.3+ for Linux, macOS and Win32
  • OpenGL ES 2.0+ for Android
  • OpenGL ES 3.0+ for iOS and tvOS
  • ANGLE GLES 3.0+ for Win32 and UWP
  • WebGL 2.0 (OpenGL ES 3.0): WASM

Architectures:

  • iOS/tvOS (x64, arm64)
  • Android (x86, x64, armv7, arm64)
  • Windows (x86, x64)
  • Linux (x64)
  • OSX (x64, arm64)
  • UWP (x64, arm64)
  • Wasm32

Supported 2D physics engines (more info here):

  • Box2D
  • Box2D-optimized
  • Chipmunk2D

Supported 3D physics engines:

  • Bullet Physics SDK

Included extensions:

More extensions created by our community

Features

Some highlights:

  • New MediaPlayer: render video as texture2D using MediaEngine. More info in our Wiki.
  • Windows video player support (based on Microsoft Media Foundation)
  • WebAssembly support (by @nowasm) - Preview: Axmol tests
  • Universal Windows Platform (UWP) support for Xbox consoles
  • Apple M1 and Android x64 support (by @pietpukkel)
  • Windows x64 build support
  • Improved Windows workflow, supporting linking with engine prebuilt libs. Please read the Windows workflow guide.
  • Refactored 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 is still available)
  • Implemented all .wav formats supported by OpenAL Soft (MS-ADPCM, ADPCM, etc.)
  • Refactored UserDefault with mio
  • 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.
  • Reimplemented HttpClient based on yasio for concurrent http requests processing.
  • Modularized all optional extensions, move from engine core folder to an extensions folder.
  • Use Google Angle as default renderer backend on Windows.
  • Using GL loader Glad.
  • Using pugixml
  • Using curl for transferring data with URL syntax
  • Using SAX parser for .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)

Please read the full list of changes since Cocos2d-x v4.0.

See the Milestones for planned features.

Contributions

How to contribute:

  • Suggestions, bug fixes, and improvements are highly appreciated!
  • Please do not forget to add the topic axmol and axmolengine to any related repository you create!
  • Adding a star on GitHub will help Axmol grow as well. Thank you!

If you find Axmol Engine helpful, please consider donating in Open Collective or in GitHub Sponsors. Thank you very much!

Community

Our community is growing! Please join us at:

In order to see some of our community works, please check our Axmol Showcase: Made in Axmol

Reference links

Axmol Stats

Alt