Skip to content

Xrysnow/LuaSTG-x

Repository files navigation

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