Axmol Engine – A Multi-platform Engine for Desktop, XBOX (UWP) and Mobile games. (A radical fork of Cocos2d-x-4.0)
Go to file
halx99 6dd878a90f Delete unused sources 2021-08-25 16:14:15 +08:00
.github Update docs-ci.yml 2021-07-07 13:13:31 +08:00
cmake Update curl to 7.78.0 and use prebuilt lib for speedup cmake generation time 2021-08-23 20:38:52 +08:00
cocos Delete unused sources 2021-08-25 16:14:15 +08:00
docs For doxgen happy 2021-07-06 15:22:07 +08:00
extensions Update imgui 2021-08-23 17:49:38 +08:00
templates Fix xcode build warnings 2021-08-12 15:54:16 +08:00
tests Merge: b48133e9c6 c9ebafe501 2021-08-19 14:35:44 +08:00
tools Update lua bindings 2021-08-14 13:22:03 +08:00
.appveyor.yml Merge: f36866a99b 313a2ac09b 2020-08-27 17:37:49 +08:00
.clang-format HttpClient cookie support 2021-07-19 12:26:25 +08:00
.gitattributes Restore prebuilt libs from git lfs storage 2021-06-06 10:16:44 +08:00
.gitignore Add missing libs 2021-08-23 20:41:30 +08:00
.travis.yml Use pyenv manage python version for travis-ci (#229) 2020-10-07 22:45:05 +08:00
AUTHORS Init Commit 2019-11-23 20:27:39 +08:00
CHANGELOG Update CHANGELOG 2021-08-13 14:54:13 +08:00
CMakeLists.txt Fix xcode ci 2021-08-12 11:25:01 +08:00
CONTRIBUTING.md Init Commit 2019-11-23 20:27:39 +08:00
LICENSE Merge: 2aa2d69151 b7506fed0c 2021-04-23 00:01:47 +10:00
README.md Update README.md 2021-08-13 08:13:25 +02:00
README_CN.md Update README_CN.md 2021-07-17 16:14:16 +08:00
install-deps-linux.sh Merge: 71ebb455a6 2dd4051cbb 2021-05-18 18:09:06 +08:00
setup.py Renaming refactor (#353) [ci build] 2021-05-18 16:40:30 +08:00

README.md

adxe

Codacy Badge dev LICENSE

Android Build Status iOS Build Status Windows Build Status Linux Build Status macOS Build Status

This is another more radical fork of Cocos2d-x-4.0, use OpenAL for all platforms, single texture multi GPU texture handler, C++ 14/17 and some more (see 'Highlight Features' for more info).

View with vscode online: https://github1s.com/adxeproject/adxe

简体中文

Purpose Summary

  • C++ 14/17
  • Focus on native game dev (quick starting, easy to use, fast)
  • Bugfixes ASAP
  • Usefull PRs from you are welcome (review/merge ASAP)

Highlight Features

  • Reimplement HttpClient based on yasio for process http request concorrently.
  • More clearly third-party libs 'Upstream-Version-License' for easy to publish your commercial apps based on adxe
  • Refactor AudioEngine, OpenAL for all platforms
    • OpenAL Soft, pass -DBUILD_DEP_ALSOFT=ON to cmake to force enable it
    • OpenAL.framework, if no BUILD_DEP_ALSOFT option specified, cmake script will choose it on osx/ios, even through it was mark as deprecated, but still available.
  • Refactor UserDefault with mio
  • Modularize all optional extension, move from engine core to folder extensions
  • Implement all .wav formats supported by OpenAL Soft, such as MS-ADPCM, ADPCM, ...
  • Use modern GL loader Glad
  • Google angle renderer backend support
  • C++ 14 standard
  • IOS SDK 9.0 as minimal deployment
  • Use fast pugixml
  • Use curl for transferring data with URL syntax
  • Use SAX parser for all plist file
  • Spine-3.8 support
  • Extension FairyGUI support
  • ASTC 4x4/6x6/8x8 support (if hardware decoder not present, use software decoder)
  • ETC2 RGB/RGBA support (if hardware decoder not present, use software decoder)
  • Supported 2D physics engines:
    • Box2D
    • Box2D-optimized
    • Chipmunk2D
  • Supported 3D physics engines:
    • Bullet Physics SDK
  • ImGui integrated, easy to write game embedded tools, very ease to use, please read ImGuiEXT

Open Wiki for additional information too.

Roadmap

Quick Start

Common Requirement Python

  • Python-2.7.17+, Python-3.7+

Prerequisites

  1. Enter adxe root directory
  2. Run python setup.py, restart console after finish

Windows

  1. Install CMake 3.14+
  2. Install Visual Studio 2019 build (it's strong recommend you use this version)
  3. Execute follow command at command line (Console, Window Terminal or Powershell)
cd adxe\
cmake -S . -B build -G "Visual Studio 16 2019" -A Win32

Android

  1. Install Android Studio 4.2+
  2. When first start Android Studio, It will guide you to install sdk and other tools, just install them
  3. Start Android and choose [Open an existing Android Studio Project] to open adxe\tests\cpp-tests\proj.android
  4. Start Android Studio and Open [Tools][SDKManager], then switch to SDK Tools, check the Show Package Details, choose follow tools and click the button Apply to install them:
    • Android SDK Platform 29 r5
    • Android SDK Build-Tools 29.0.2
    • NDK r19c+
    • CMake 3.10+
  5. Waiting for Gradle sync finish.
  6. Remark: If you use non-sdk provided CMake edition, you need download ninja from https://github.com/ninja-build/ninja/releases, and copy ninja.exe to cmake's bin directory

iOS

  1. Ensure xcode11+ & cmake3.14+ installed, install cmake command line support: sudo "/Applications/CMake.app/Contents/bin/cmake-gui" --install

  2. Execute follow command
    sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

  3. Generate xcode project

    • for any device
      cmake -S . -B build -GXcode -DCMAKE_TOOLCHAIN_FILE=cmake/ios.mini.cmake
    • for arm64:
      cmake -S . -B build -GXcode -DCMAKE_TOOLCHAIN_FILE=cmake/ios.mini.cmake -DCMAKE_OSX_ARCHITECTURES=arm64
    • for armv7,arm64 combined:
      cmake -S . -B build -GXcode -DCMAKE_TOOLCHAIN_FILE=cmake/ios.mini.cmake "-DCMAKE_OSX_ARCHITECTURES=armv7;arm64"
    • for simulator x86_64:
      cmake -S . -B build -GXcode -DCMAKE_TOOLCHAIN_FILE=cmake/ios.mini.cmake -DCMAKE_OSX_ARCHITECTURES=x86_64
  4. After cmake generate finish, you can open xcode project at build folder and run cpp-tests or other test targets.

  5. Notes

    • The code sign required to run ios app on device, just change bundle identifier until the auto manage signing solved
    • adxe only provide armv7, arm64, x86_64 prebuilt libraries for ios

Notes

  • ThreadLocalStorage (TLS)
    • ios x86 simulator ios>=10 and adxe no longer provide x86 libraries
    • ios x64 or devices (armv7, arm64) ios sdk>=9.0
    • the 'OpenAL Soft' maintained by kcat use TLS

The adxe Active Contributors

  • @halx99
  • @rh101
  • @aismann
  • @weiwest