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.
If you have a Cocos2d-x project, migrating to Axmol Engine is easy. We have prepared a Migration Guide.
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
- Chipmunk2D
Supported 3D physics engines:
- Bullet Physics SDK
Included extensions:
- FairyGUI
- ImGUI
- Spine
- Live2D
- Effekseer
- And more! Check our Extensions Wiki Page
More extensions created by our community
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)
- OpenAL Soft (pass
- 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.
How to contribute:
- Suggestions, bug fixes, and improvements are highly appreciated!
- Please do not forget to add the topic
axmol
andaxmolengine
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!
Our community is growing! Please join us at:
- GitHub Discussions (preferred way for questions and discussing the engine)
- Discord
In order to see some of our community works, please check our Axmol Showcase: Made in Axmol
- 1kiss: A cross-platform one step build powershell script, with auto setup general dependent tools.
- axmolengine/glslcc: A fork of glslcc, for Axmol new shader workflow tool.
- Official Cocos2d-x