English Readme | 中文简介
LuaSTG-x is a multi-platform game engine based on cocos and LuaSTGPlus. It is aimed at providing a powerful engine for building STG, especially bullet hell games.
Full release download:
- Complete 2D game engine functions from cocos.
- Multi-platform audio engine, supports audio effects.
- Multi-platform video engine based on FFmpeg.
- Cocos Creator support from creator_to_cocos2dx.
- Live2D support with Lua binding.
- ImGui support with Lua binding.
- Multi-thread optimizations.
- LuaSTG-x GitHub Wiki
- LuaSTG-x Lua API Document
- Baidu Tieba
- LuaSTG Wiki Site
- Bullet Hell Engines Discord Channel
-
Clone the repo and submodules from GitHub (or download from release page).
$ git clone --recursive https://github.com/Xrysnow/LuaSTG-x.git -
Download extra files from Cubism SDK if you need live2d module. (instructions).
-
Generate project using CMake (instructions).
- If your target is Android platform, just open
frameworks/runtime-src/proj.androidwith Android Studio. - If your target is macOS platform, add
-GXcodeparameter 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 Filesand checkCode Sigh On Copyfor frameworks. - If your target is Linux platform, you need to execute
frameworks/cocos-x/install-deps-linux.shbefore using CMake. It's recommended to add-GNinjaparameter to useninjasince defaultmakeis very slow.
- If your target is Android platform, just open
-
Compile with your target compiler.
- CMake 3.28+
- Android Studio 2025.1.1+ and NDK r30+
- Linux with compiler supports C++20 (Clang is recommended)
- macOS 14+ and Xcode 16.3+
- Windows 7+ and VS 2022+
Runtime requirements is actually decided by your compiler, but in most cases they should satisfy these conditions:
- Android 7.0+
- iOS 17+
- macOS 12+
- Windows 7+ and visual c++ runtime
Note that iOS and macOS versions are always required for project C++ features.
LuaSTG-x
├ cocos-x
│ └ cocos-x-external
│ ├ cocos2d-x-gfx
│ ├ FFmpeg (video textures)
│ ├ glslang
│ ├ openal-soft
│ └ SPIRV-Cross
├ cocos-x-imgui
│ ├ ImGui
│ ├ imgui_markdown
│ ├ ImGuiColorTextEdit
│ └ implot
├ cocos-x-live2d (optional)
│ ├ CubismNativeFramework
│ └ Cubism SDK for Native
├ lstgx_external
│ ├ BurstLinker
│ ├ libzippp
│ │ └ libzip
│ ├ Lua CJSON
│ ├ luafilesystem
│ ├ LPeg
│ ├ MicroTeX
│ ├ nanosvg
│ ├ NativeFileDialog
│ └ Yuescript (optional)
├ lstgx_Math
└ lstgx_LuaCore