インストール
バイナリリリースのダウンロード(推奨)
ビルド手順は不要です。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:
mygame/assets/内のユーザースクリプト(@componentファイル)をスキャンします。- すべてのアセットを
mygame/.cache/game.oapにクックします。 mygame/.cache/内にbuild.zig+main.zigを生成し、Zig でコンパイルします。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/ |
ソースからビルド
ソースからのビルドについては開発セクションを参照してください。