From 265c55d84fe46cac2133cfb84e34a07d16f5a8d4 Mon Sep 17 00:00:00 2001 From: Dani Alias Date: Mon, 12 Feb 2024 01:45:24 +0900 Subject: [PATCH] Update README.md --- README.md | 222 +++++++++++++++++++++++++++++++----------------------- 1 file changed, 129 insertions(+), 93 deletions(-) diff --git a/README.md b/README.md index a9fa6fae5a86..f7090f931fe6 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,14 @@ -

axmol logo

+

axmol logo

# Axmol Engine -## A Multi-platform Engine for Desktop, XBOX (UWP) and Mobile games. (A fork of Cocos2d-x-4.0) +## A Multi-platform Engine for Mobile, Desktop and Xbox. + +[Axmol Engine](https://axmol.org) 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](https://github.com/axmolengine/axmol/wiki) to know more about Axmol. + +*** [![Latest Release](https://img.shields.io/github/v/release/axmolengine/axmol?include_prereleases&label=release)](https://github.com/axmolengine/axmol/releases) [![LICENSE](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/axmolengine/axmol/blob/master/LICENSE) @@ -18,106 +24,136 @@ ![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/axmolengine/axmol?style=plastic) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-blue.svg)](https://github.com/axmolengine/axmol/pulls) -[![Discord](https://img.shields.io/discord/1099599084895088670?label=discord)](https://discord.com/channels/1099599084895088670) +[![Discord](https://img.shields.io/discord/1099599084895088670?label=discord)](https://discord.gg/QjaQBhFVay) +[Chinese ver. / 简体中文](README_CN.md) -**[简体中文](README_CN.md)** - -## Supported Platforms - -- Windows(win32,winuwp,win32-clang) -- Linux -- macOS -- Android -- iOS/tvOS -- WASM `experimental` +*** ## Building -View the [Dev setup instructions](docs/DevSetup.md). - -## Axmol WebAssembly preview -https://axmol.netlify.app/ - -## Renderer Backends - -- Metal for macOS and iOS -- OpenGL 3.3+ for Linux, macOS and Win32 -- OpenGL ES 2.0+ for Android -- OpenGL ES 3.0+ for iOS -- ANGLE GLES 3.0+ for Win32 and UWP -- WebGL 2.0(OpenGL ES 3.0): WASM (experimental) - -## New MediaPlayer - -The new `ui::MediaPlayer`(renamed from `ui::VideoPlayer`) render video as Texture2D with designed corss-platform MediaEngine, the MediaEngine inspired from microsoft -media foundation `IMFMediaEngine`, the `MediaPlayer` support all native platforms. - -| Target Platform | Video Compress Format | Video Pixel Format | Container Format | Backend | -|-----------------------|-----------------------|----------------------|----------------- |--------------------| -| Windows Desktop | H264, HEVC, VP90 | YUY2, NV12, RGB32 | .mp4,.mkv,.webm | IMFMediaSession | -| Windows UWP | H264, HEVC, VP90 | BGR32 | .mp4,.mkv,.webm | IMFMediaEngine | -| Apple macOS | H264, HEVC(hvc1) | NV12, BGR32 | .mp4 | AVFoundation | -| Apple tvOS | H264, HEVC(hvc1) | NV12, BGR32 | .mp4 | AVFoundation | -| Apple iOS | H264, HEVC(hvc1) | NV12, BGR32 | .mp4 | AVFoundation | -| Android | H264, HEVC | NV12 | .mp4,.mkv,.webm | ExoPlayer2 | -| Linux | H264, HEVC | NV12 | .mp4,.mkv,.webm | libVLC | -| WASM | NA | NA | NA | NA | - -## Highlighted Features - -- WebAssembly support(experimental) by @nowasm -- Windows UWP support, refer to: https://github.com/axmolengine/axmol/pull/1108 -- Add apple M1, android x64 support, contributed by @pietpukkel -- Improve windows workflow, support linking with engine prebuilt libs, read [windows workflow guide](https://github.com/axmolengine/axmol/issues/564) -- 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'](thirdparty/README.md) 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/README.md) Extensions - - Extensions license overview for easier publishing of your commercial apps based on axmol framework. - - Spine support - - ```FairyGUI``` support - - DragonBones support - - Live2D support - - **ImGui integrated, easy to write game embedded tools, very easy to use, read [ImGui](extensions/ImGui/README.md) for more info** -- Refactor 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, but still available. -- Refactor UserDefault with [mio](https://github.com/mandreyel/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](https://github.com/google/angle) renderer backend support -- IOS/TVOS SDK 11.0 as minimal deployment -- Use fast pugixml -- Use [curl](https://github.com/curl/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 [2D-Physics-Engines-informations](https://github.com/axmolengine/axmol/wiki/2D-Physics-Engines-informations)): - - Box2D - - Box2D-optimized - - Chipmunk2D -- Supported 3D physics engines: - - Bullet Physics SDK - -[Read Full changes since cocos2d-x-4.0](CHANGELOG.md) - -Open [wiki](https://github.com/axmolengine/axmol/wiki) for additional information and see [Milestones](https://github.com/axmolengine/axmol/milestones) for planed features too. +* [Download the latest release](https://github.com/axmolengine/axmol/releases) / [Mirror](https://gitee.com/simdsoft/axmol) +* [How to install](https://github.com/axmolengine/axmol/blob/dev/docs/DevSetup.md) + +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 + +* [Documentation](https://axmol.org/manual/latest/) +* [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**: +* Metal for macOS and iOS +* OpenGL 3.3+ for Linux, macOS and Win32 +* OpenGL ES 2.0+ for Android +* OpenGL ES 3.0+ for iOS +* ANGLE GLES 3.0+ for Win32 and UWP +* WebGL 2.0 (OpenGL ES 3.0): WASM + +**Architecture**: +* iOS (x64, arm64) +* Android (x86, x64, armv7, arm64) +* win (x86, x64), linux_x64 +* osx (x64, arm64) +* UWP (x64, arm64), wasm32 + +**Supported 2D physics engines** ([more info here](https://github.com/axmolengine/axmol/wiki/2D-Physics-Engines-informations)): +* Box2D +* Box2D-optimized +* 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) +- [Upstream Version License](thirdparty/README.md) - 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/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. +- Google [Angle](https://github.com/google/angle) renderer backend support +- 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) +- iOS / tvOS SDK 11.0 as minimal deployment. + +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! + - [Instructions for contributing](https://github.com/axmolengine/axmol/blob/d8d3137515a73e5c2395cae04d6b5ef6b1cc6777/CONTRIBUTING.md) + - [Collaborators list](https://github.com/axmolengine/axmol/blob/dev/AUTHORS.md) +* 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) ## Reference links -- [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 -- [Interesting related](https://github.com/axmolengine/axmol/discussions/694) -- [Axmols contributing guide](https://github.com/axmolengine/axmol/discussions/411) +- [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. - [Official Cocos2d-x](https://github.com/cocos2d/cocos2d-x) -`If Axmol Engine helped you please consider adding a star on GitHub. This means a lot to the authors.` - -## The axmol Active Stats +## Axmol Stats ![Alt](https://repobeats.axiom.co/api/embed/6fcb8168a3af91ba9e797a1f14a3c2edc42ac56a.svg "Repobeats analytics image")