Coder Social home page Coder Social logo

huangjj852 / engine-x Goto Github PK

View Code? Open in Web Editor NEW

This project forked from axmolengine/axmol

0.0 0.0 0.0 1006.59 MB

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...

Home Page: http://c4games.com/

License: MIT License

CMake 0.53% Python 2.99% C++ 84.66% Objective-C 0.60% C 2.96% Makefile 0.01% Objective-C++ 1.62% Java 1.10% GLSL 0.45% Lua 4.83% Shell 0.09% Csound Document 0.05% PLSQL 0.09% HTML 0.01% PowerShell 0.02% Batchfile 0.01% JavaScript 0.01%

engine-x's Introduction

Engine-x

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

dev

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, etc.

简体中文

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:

  • More clearly thirdparty libs Upstram & Version & License for easy to publish your commercial apps based on engine-x
  • Refactor AudioEngine, OpenAL for all platforms
    • openal-soft, pass -DBUILD_EXT_ALSOFT=ON to cmake to force enable it
    • OpenAL.framework, if no BUILD_EXT_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 (instead of glew)
  • Add google angle renderer backend support
  • C++14 standard
  • IOS SDK 9.0 as minimal deployment
  • Use fast pugixml
  • Using curl for transferring data with URL syntax
  • Use SAX parser for all plist file
  • Spine-3.8 support
  • Add engine extension FairyGUI support
  • Add ASTC 4x4/6x6/8x8 support, if hardware decoder not present, use software decoder
  • Add ETC2 RGB/RGBA support, if hardware decoder not present, use software decoder
  • ImGui integrated, easy to write game embedded tools, very ease to use, please read ImGuiEXT

Quick Start

Common Requirement python

  • python-2.7.17+, python-3.7+

Prerequisites

  1. Enter engine-x root directory
  2. Run python download-deps.py
  3. Run python setup.py, restart console after finish

Windows

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

Android

  1. Install Android Studio 4.0+

  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 engine-x\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 r16b+
    • 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 device combined armv7,arm64
  # 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_SYSROOT=iphonesimulator -DCMAKE_OSX_ARCHITECTURES=x86_64
  1. After cmake generate finish, you can open xcode project at build folder and run cpp-tests or other test targets.

  2. Notes
    a. The code sign required to run ios app on device, just change bundle identifier until the auto manage siging solved
    b. engine-x only provide armv7,arm64,x86_64 prebuilt libraries for ios

Pitfalls

  • ThreadLocalStorage(TLS)
    • ios x86 simulator ios>=10
    • ios x64 or devices(armv7,arm64) ios sdk>=9.0
    • the openal-soft maintained by kcat use TLS

Reference links

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.