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.
Full release download:
Clone the repo and submodules from GitHub (or download from release page).
$ git clone --recursive https://github.com/Xrysnow/LuaSTG-x.git
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
Download extra files from Cubism SDK if you need live2d module. (instructions).
Generate project using CMake (instructions).
frameworks/runtime-src/proj.android
with Android Studio.-GXcode
parameter to CMake.project setting -> TARGETS -> LuaSTG-x -> Build Phases -> Copy Files
and check Code Sigh On Copy
for frameworks.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.Compile with your target compiler.
Runtime requirements is actually decided by your compiler, but in most cases they should satisfy these conditions:
Note that iOS 13+ and macOS 10.15+ are always required for std::filesystem
(source).
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