安装

本页面为自动翻译,可能包含错误。如果发现问题,请通过“编辑此页面”链接帮助修正。

下载二进制发行版(推荐)

无需构建步骤——下载 SDK,将其添加到 PATH,然后开始制作游戏。

要求: Zig 0.16.0 必须在您的 PATH 中。无需其他任何东西——不需要 C 编译器、系统 SDK 或额外的依赖项。

[下载最新发行版]({{< param releases >}})

Linux / macOS

tar xf turian-sdk-linux-x86_64-v0.1.0.tar.gz
export PATH="$PWD/turian-sdk-linux-x86_64-v0.1.0:$PATH"

Windows (PowerShell)

Expand-Archive turian-sdk-windows-x86_64-v0.1.0.zip
$env:Path += ";$PWD\turian-sdk-windows-x86_64-v0.1.0"

解压到任何位置——不会写入您的系统。该软件包是完全可重定位的。


平台支持

平台 Studio CLI 构建窗口化游戏
linux-x86_64
windows-x86_64
macos-aarch64 尚不支持

macOS SDK 仅提供 CLI;Turian Studio 和 SDL3 尚未包含在内。


Turian SDK

一个可移植、自包含的软件包。它包括引擎和编辑器的 Zig 源码、所有依赖项、CLI 工具,以及(在桌面平台上)工作室和 SDL3 库。您可以直接用它构建游戏,无需检出引擎仓库。

为什么 Zig 不捆绑在内

Zig 没有稳定的 ABI,因此引擎不能作为预编译库发布——您的游戏需要与引擎源码一起编译。SDK 提供了这些源码;您需要自己提供编译器。(唯一的例外是 SDL3,它是一个 C 库,以预编译形式在 lib/ 中提供。)

SDK 目录结构

turian-sdk-<platform>-v<version>/
  turian-cli[.exe]         无头构建工具
  turian-studio[.exe]      GUI 编辑器(仅限桌面平台)
  turian-sdk.json          SDK 标记(CLI 用于路径解析)
  engine/                  引擎 Zig 源码 + 供应商 C 代码(cgltf、stb)
  editor/                  编辑器 Zig 源码
  deps/
    math3d/src/            数学库
    guid/src/              UUID 库
    serde/src/             序列化库
    open_asset_package/src/  .oap 读写器
  lib/
    libSDL3.a              SDL3 静态库(仅限桌面平台)

多 SDK 版本共存

每个发行版解压到自己的 turian-sdk-<platform>-v<version>/ 文件夹中,它们可以自由共存。CLI 通过其自身二进制文件旁边turian-sdk.json 标记定位引擎源码,因此每个 turian-cli 始终使用自己的同级源码。要选择版本,请将其文件夹添加到 PATH 或通过完整路径调用:

~/sdks/turian-sdk-linux-x86_64-v1.0.0/turian-cli build mygame   # 1.0.0
~/sdks/turian-sdk-linux-x86_64-v1.1.0/turian-cli build mygame   # 1.1.0

创建并构建游戏

turian-cli new-project mygame      # 搭建项目
turian-cli build mygame            # 编译为独立游戏
mygame/.cache/zig-out/bin/game     # 运行

turian-cli build

  1. 扫描 mygame/assets/ 中的用户脚本(@component 文件)。
  2. 将所有资源打包为 mygame/.cache/game.oap
  3. mygame/.cache/ 中生成 build.zig + main.zig,并使用 Zig 编译。
  4. 生成 mygame/.cache/zig-out/bin/game[.exe]game.oap

生成的可执行文件是自包含的:它从自身目录下的 game.oap 中读取所有资源,不需要引擎源码树。


环境变量覆盖

覆盖 CLI 自动解析的路径(对 CI 或多版本设置很有用)。环境变量优先于 SDK 相对路径,而 SDK 相对路径又优先于构建时烘焙的路径(仅存在于树内开发构建中)。

变量 覆盖路径
TURIAN_ENGINE_ROOT engine/root.zig
TURIAN_EDITOR_ROOT editor/root.zig
TURIAN_BUILD_ROOT SDK 根目录
TURIAN_MATH3D_ROOT deps/math3d/src/root.zig
TURIAN_GUID_ROOT deps/guid/src/root.zig
TURIAN_OAP_ROOT deps/open_asset_package/src/root.zig
TURIAN_SERDE_ROOT deps/serde/src/root.zig
TURIAN_SDL3_LIB lib/libSDL3.a
TURIAN_CGLTF_WRAP_C engine/vendor/cgltf_wrap.c
TURIAN_VENDOR_INCLUDE engine/vendor/

从源码构建

从源码构建的内容涵盖在开发章节中。


← 所有文档 编辑此页面