Instalação
Baixar uma release binária (recomendado)
Nenhuma etapa de build é necessária — baixe o SDK, adicione-o ao seu PATH e comece a criar jogos.
Requisito: O Zig 0.16.0 deve estar no seu PATH. Nada mais — nenhum compilador C, nenhum SDK do sistema, nenhuma dependência extra.
→ [Baixar a release mais recente]({{< 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"
Extraia em qualquer lugar — nada é gravado no seu sistema. O pacote é totalmente realocável.
Suporte de plataformas
| Plataforma | Studio | CLI | Compilar jogos com janela |
|---|---|---|---|
| linux-x86_64 | ✓ | ✓ | ✓ |
| windows-x86_64 | ✓ | ✓ | ✓ |
| macos-aarch64 | — | ✓ | ainda não |
O SDK do macOS é apenas CLI; o Turian Studio e a SDL3 ainda não estão incluídos.
O Turian SDK
Um pacote portátil e independente. Ele inclui o código-fonte em Zig do engine e do editor, todas as dependências, a ferramenta de CLI e (em plataformas desktop) o Studio e a biblioteca SDL3. Você constrói jogos usando o SDK sem nunca precisar baixar o repositório do engine.
Por que o Zig não vem embutido
O Zig não possui uma ABI estável, de modo que o engine não pode ser distribuída como uma biblioteca pré-compilada — o seu jogo é compilado junto com o código-fonte do engine. O SDK distribui esse código-fonte; você fornece o compilador. (A única exceção é a SDL3, uma biblioteca C, que é distribuída pré-compilada em lib/.)
Estrutura do SDK
turian-sdk-<plataforma>-v<versao>/
turian-cli[.exe] ferramenta de build sem interface (headless)
turian-studio[.exe] editor GUI (apenas para plataformas desktop)
turian-sdk.json marcador do SDK (usado pela CLI para resolução de caminhos)
engine/ código-fonte em Zig do engine + C embutido (cgltf, stb)
editor/ código-fonte em Zig do editor
deps/
math3d/src/ biblioteca de matemática
guid/src/ biblioteca de UUID
serde/src/ biblioteca de serialização
open_asset_package/src/ leitor/gravador de .oap
lib/
libSDL3.a biblioteca estática SDL3 (apenas plataformas desktop)
Múltiplas versões do SDK
Cada release é extraída em sua própria pasta turian-sdk-<plataforma>-v<versao>/, e elas podem coexistir livremente. A CLI localiza o código-fonte do engine através do marcador turian-sdk.json ao lado do seu próprio binário, de modo que cada turian-cli sempre usa o código-fonte correspondente na mesma pasta. Para escolher uma versão, coloque sua pasta no PATH ou execute-a pelo caminho completo:
~/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
Criar e compilar um jogo
turian-cli new-project mygame # estrutura o esqueleto de um projeto
turian-cli build mygame # compila o projeto em um jogo independente
mygame/.cache/zig-out/bin/game # executa o jogo
turian-cli build:
- Varre
mygame/assets/em busca de scripts de usuário (arquivos@component). - Prepara todos os assets em
mygame/.cache/game.oap. - Gera
build.zig+main.zigemmygame/.cache/e os compila com Zig. - Produz
mygame/.cache/zig-out/bin/game[.exe]ao lado degame.oap.
O executável do jogo resultante é independente: ele lê todos os assets de game.oap em seu próprio diretório e não precisa da árvore de código-fonte do engine.
Sobrescrita de variáveis de ambiente
Sobrescreva os caminhos que a CLI resolve automaticamente (útil para setups de CI ou multi-versão). As variáveis de ambiente têm prioridade sobre os caminhos relativos ao SDK, que por sua vez têm prioridade sobre os caminhos definidos em tempo de compilação (presentes apenas em builds de desenvolvimento locais).
| Variável | Sobrescreve |
|---|---|
TURIAN_ENGINE_ROOT |
engine/root.zig |
TURIAN_EDITOR_ROOT |
editor/root.zig |
TURIAN_BUILD_ROOT |
Diretório raiz do 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/ |
Compilar a partir do código-fonte
Compilar a partir do código-fonte é abordado na seção de Desenvolvimento.