Xrysnow / LuaSTG-x

LuaSTG-x is a multi-platform game engine.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LuaSTG-x

English Readme | 中文简介


LuaSTG-x is a multi-platform game engine based on cocos2d-x and LuaSTGPlus. It is aimed at providing a powerful engine for building STG, especially bullet hell games.


Download

Full release download:

Main Features

Relevant Link

Build Instructions

  1. Clone the repo and submodules from GitHub (or download from release page).

     $ git clone --recursive https://github.com/Xrysnow/LuaSTG-x.git
    
  2. For releases before 2023, clone external libraries into frameworks/cocos2d-x/external (or download from release page).

     $ cd LuaSTG-x/frameworks/cocos2d-x/external
     $ git clone --recursive https://github.com/Xrysnow/cocos2d-x-3rd-party-libs-bin.git
    
  3. Download extra files from Cubism SDK if you need live2d module. (instructions).

  4. Generate project using CMake (instructions).

    • If your target is Android platform, just open frameworks/runtime-src/proj.android with Android Studio.
    • If your target is macOS platform, add -GXcode parameter to CMake.
    • If your target is IOS platform, you can search for a bash script that helps to configure CMake.
    • If your target is macOS/IOS platform, you need to open project setting -> TARGETS -> LuaSTG-x -> Build Phases -> Copy Files and check Code Sigh On Copy for frameworks.
    • If your target is Linux platform, you need to execute frameworks/cocos2d-x/install-deps-linux.sh before using CMake. It's recommended to add -GNinja parameter to use ninja since default make is very slow.
  5. Compile with your target compiler.

Build Requirements

  • CMake 3.20+
  • Android Studio 2021.1.1+ and NDK r22+
  • Linux with compiler supports C++17 (Clang is recommended)
  • macOS 11.3+ and Xcode 13+
  • Windows 7+ and VS 2019+

Runtime Requirements

Runtime requirements is actually decided by your compiler, but in most cases they should satisfy these conditions:

  • Android 5.0+
  • iOS 13+
  • macOS 10.15+
  • Windows 7+ and visual c++ runtime

Note that iOS 13+ and macOS 10.15+ are always required for std::filesystem (source).

Dependency Graph

LuaSTG-x
cocos-x
│ └ cocos-x-external
│ ├ cocos2d-x-gfx
│ ├ glslang
│ ├ openal-soft
│ └ SPIRV-Cross
cocos2d-x-imgui
│ ├ ImGui
│ ├ imgui_markdown
│ ├ ImGuiColorTextEdit
│ └ implot
cocos2d-x-live2d (optional)
│ ├ CubismNativeFramework
│ └ Cubism SDK for Native
cocos2d-x-video
│ └ FFmpeg (in lstgx_external)
lstgx_Audio
│ └ openal-soft (in cocos-x-external)
lstgx_external
│ ├ ANGLE (optional)
│ ├ BurstLinker
│ ├ FFmpeg (optional)
│ ├ libzippp
│ │ └ libzip
│ ├ Lua CJSON
│ ├ luafilesystem
│ ├ LPeg
│ ├ MicroTeX
│ ├ nanosvg
│ ├ NativeFileDialog
│ └ Yuescript (optional)
lstgx_Math
lstgx_LuaCore

About

LuaSTG-x is a multi-platform game engine.

License:MIT License


Languages

Language:C++ 97.2%Language:CMake 1.2%Language:Objective-C++ 0.6%Language:Objective-C 0.4%Language:C 0.3%Language:Java 0.2%Language:Shell 0.0%