2024-03-11 23:33:02 +08:00
< p align = "center" > < a href = "https://axmol.dev" target = "_blank" rel = "noopener noreferrer" > < img width = "160" src = "docs/logo.png" alt = "axmol logo" > < / a > < / p >
2022-12-17 16:32:20 +08:00
2023-03-25 11:18:21 +08:00
# Axmol Engine
2021-12-31 12:12:40 +08:00
2024-02-12 09:35:59 +08:00
## A Multi-platform Engine for Mobile, Desktop and Xbox.
2024-03-11 23:33:02 +08:00
[Axmol Engine ](https://axmol.dev ) 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.
2024-02-12 09:35:59 +08:00
Please [visit our Wiki ](https://github.com/axmolengine/axmol/wiki ) to know more about Axmol.
***
2023-03-25 08:37:51 +08:00
2024-05-24 01:38:28 +08:00
[![Build Status ](https://github.com/axmolengine/axmol/workflows/build/badge.svg )](https://github.com/axmolengine/axmol/actions?query=workflow%3Abuild)
2024-03-30 23:49:31 +08:00
[![Latest Release ](https://img.shields.io/github/v/release/axmolengine/axmol?label=release )](https://github.com/axmolengine/axmol/releases)
2024-02-13 22:27:19 +08:00
[![LICENSE ](https://img.shields.io/badge/license-MIT-blue.svg )](LICENSE)
2022-10-01 16:24:52 +08:00
[![Codacy Badge ](https://app.codacy.com/project/badge/Grade/81fa1aba09ab41a98b949064b928d06e )](https://www.codacy.com/gh/axmolengine/axmol/dashboard?utm_source=github.com& utm_medium=referral& utm_content=axmolengine/axmol& utm_campaign=Badge_Grade)
2023-12-21 23:59:24 +08:00
[![cxxstd ](https://img.shields.io/badge/cxxstd-c++20-8A2BE2.svg )](https://github.com/axmolengine/axmol)
2022-10-01 16:24:52 +08:00
![issues ](https://img.shields.io/github/issues/axmolengine/axmol?style=plastic )
![forks ](https://img.shields.io/github/forks/axmolengine/axmol?style=plastic )
![stars ](https://img.shields.io/github/stars/axmolengine/axmol?style=plastic )
![GitHub code size in bytes ](https://img.shields.io/github/languages/code-size/axmolengine/axmol?style=plastic )
2023-03-11 23:34:10 +08:00
2023-12-21 23:59:24 +08:00
[![PRs Welcome ](https://img.shields.io/badge/PRs-welcome-blue.svg )](https://github.com/axmolengine/axmol/pulls)
2024-02-12 09:35:59 +08:00
[![Discord ](https://img.shields.io/discord/1099599084895088670?label=discord )](https://discord.gg/QjaQBhFVay)
2024-05-24 01:38:28 +08:00
[![awesome-cpp ](https://badgen.net/badge/icon/awesome-cpp/pink?icon=awesome&label&color )](https://github.com/fffaraz/awesome-cpp)
[![ossinsight ](https://badgen.net/badge/icon/ossinsight/pink?icon=awesome&label&color )](https://ossinsight.io/collections/game-engine/)
2023-12-21 23:59:24 +08:00
2024-02-12 09:35:59 +08:00
[Chinese ver. / 简体中文 ](README_CN.md )
2023-08-25 16:57:54 +08:00
2024-02-12 09:35:59 +08:00
***
2023-03-11 23:34:10 +08:00
2024-05-24 01:38:28 +08:00
## ⚡️ Building
2023-09-06 19:15:05 +08:00
2024-02-12 09:35:59 +08:00
* [Download the latest release ](https://github.com/axmolengine/axmol/releases ) / [Mirror ](https://gitee.com/simdsoft/axmol )
2024-02-13 15:03:55 +08:00
* [How to install ](docs/DevSetup.md )
2024-02-12 09:35:59 +08:00
If you have a Cocos2d-x project, migrating to Axmol Engine is easy. We have prepared a [Migration Guide ](https://github.com/axmolengine/axmol/wiki/Cocos2d%E2%80%90x-migration-guide ).
## Learning and docs
2024-03-11 23:33:02 +08:00
* [Documentation ](https://axmol.dev/manual/latest/ )
2024-02-12 09:35:59 +08:00
* [Axmol Wiki ](https://github.com/axmolengine/axmol/wiki )
* [Tutorials Page ](https://github.com/axmolengine/axmol/wiki/Tutorials )
* [Frequently Asked Questions ](https://github.com/axmolengine/axmol/wiki/FAQ )
## 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 ](https://github.com/axmolengine/axmol/wiki/Axmol-vs-Cocos2d%E2%80%90x ).
**Supported platforms**:
* Mobile: iOS, Android
* Desktop: Windows, Linux, macOS, tvOS
* Console: Xbox (Universal Windows Platform)
* Web: WebAssembly (Preview: [Axmol tests ](https://axmol.netlify.app/wasm/cpp-tests/cpp-tests ) / [FairyGUI tests ](https://axmol.netlify.app/wasm/fairygui-tests/fairygui-tests ))
**Languages**:
* C++
* Lua
**Renderer backends**:
2024-02-29 21:33:04 +08:00
* Metal for macOS, iOS and tvOS
2024-02-12 09:35:59 +08:00
* OpenGL 3.3+ for Linux, macOS and Win32
* OpenGL ES 2.0+ for Android
2024-02-29 21:33:04 +08:00
* OpenGL ES 3.0+ for iOS and tvOS
2024-02-12 09:35:59 +08:00
* ANGLE GLES 3.0+ for Win32 and UWP
* WebGL 2.0 (OpenGL ES 3.0): WASM
2024-02-12 23:51:56 +08:00
**Architectures**:
2024-02-29 21:33:04 +08:00
* iOS/tvOS (x64, arm64)
2024-02-12 09:35:59 +08:00
* Android (x86, x64, armv7, arm64)
2024-02-14 15:39:24 +08:00
* Windows (x86, x64)
2024-02-12 23:51:56 +08:00
* Linux (x64)
* OSX (x64, arm64)
* UWP (x64, arm64)
2024-02-29 21:33:04 +08:00
* Wasm32
2024-02-12 09:35:59 +08:00
2024-05-22 20:32:05 +08:00
**Supported 2D physics engines** ([more info here](https://github.com/axmolengine/axmol/wiki/2D-Physics-Engines-Information)):
2024-02-12 09:35:59 +08:00
* Box2D
* Chipmunk2D
**Supported 3D physics engines**:
* Bullet Physics SDK
**Included extensions**:
* FairyGUI
* ImGUI
* Spine
* Live2D
* Effekseer
* And more! Check our [Extensions Wiki Page ](https://github.com/axmolengine/axmol/wiki/Extensions )
[More extensions created by our community ](https://github.com/axmolengine/axmol/wiki/Made-in-Axmol )
## Features
Some highlights:
- **New MediaPlayer**: render video as texture2D using MediaEngine. [More info in our Wiki ](https://github.com/axmolengine/axmol/wiki/Media-Player ).
- Windows video player support (based on Microsoft Media Foundation)
- **WebAssembly support** (by @nowasm ) - Preview: [Axmol tests ](https://axmol.netlify.app/wasm/cpp-tests/cpp-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 ](https://github.com/axmolengine/axmol/issues/564 ).
- Refactored AudioEngine, OpenAL for all platforms:
- [OpenAL Soft ](https://github.com/kcat/openal-soft ) (pass `-DAX_USE_ALSOFT=ON` to CMake to force enabling it)
- [OpenAL.framework ](https://opensource.apple.com/tarballs/OpenAL ) (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 ](https://github.com/mandreyel/mio )
2024-03-19 21:33:02 +08:00
- [Upstream Version License ](3rdparty/README.md ) - Third-party:
2024-02-12 09:35:59 +08:00
- 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/README.md ) - 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.
2024-02-23 22:43:38 +08:00
- Use Google [Angle ](https://github.com/google/angle ) as default renderer backend on Windows.
2024-02-12 09:35:59 +08:00
- Using GL loader Glad.
- Using [pugixml ](https://pugixml.org )
- Using [curl ](https://github.com/curl/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 ](CHANGELOG.md ).
See the [Milestones ](https://github.com/axmolengine/axmol/milestones ) for planned features.
## Contributions
How to contribute:
* Suggestions, bug fixes, and improvements are highly appreciated!
2024-02-13 15:03:55 +08:00
- [Instructions for contributing ](CONTRIBUTING.md )
- [Collaborators list ](AUTHORS.md )
2024-02-12 09:35:59 +08:00
* 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 ](https://opencollective.com/axmol ) or in [GitHub Sponsors ](https://github.com/sponsors/axmolengine ). Thank you very much!
## Community
Our community is growing! Please join us at:
* [GitHub Discussions ](https://github.com/axmolengine/axmol/discussions ) (preferred way for questions and discussing the engine)
* [Discord ](https://discord.gg/QjaQBhFVay )
* [Reddit ](https://www.reddit.com/r/axmol/ )
In order to see some of our community works, please check our Axmol Showcase: [Made in Axmol ](https://github.com/axmolengine/axmol/wiki/Made-in-Axmol )
2020-11-19 13:48:12 +08:00
2023-05-31 12:58:15 +08:00
## Reference links
2022-11-27 22:57:06 +08:00
2024-02-12 09:35:59 +08:00
- [1kiss ](https://github.com/simdsoft/1kiss ): A cross-platform one step build powershell script, with auto setup general dependent tools.
- [axmolengine/glslcc ](https://github.com/axmolengine/glslcc ): A fork of glslcc, for Axmol new shader workflow tool.
2023-05-31 12:58:15 +08:00
- [Official Cocos2d-x ](https://github.com/cocos2d/cocos2d-x )
2021-08-27 15:47:40 +08:00
2024-02-12 09:35:59 +08:00
## Axmol Stats
2023-08-25 16:57:54 +08:00
2022-11-08 23:28:15 +08:00
![Alt ](https://repobeats.axiom.co/api/embed/6fcb8168a3af91ba9e797a1f14a3c2edc42ac56a.svg "Repobeats analytics image" )