◂ GAMEENGINE.LIZTEM.COM ▸ TAREFAS DE PRODUÇÃO

Setup de produção.

Engine e estilo decididos: Unreal 5.8 + low-poly pintado. Esta página é a lista do que falta pra primeira linha de código existir — o que já preparei, o que depende de você, e (a parte curta) o que eu preciso que você me passe. A infraestrutura de servidor está pronta e ensaiada: veja gameserver.liztem.com/tasks.

Pacote de setup do projeto — tudo num zip Baixa, descompacta na pasta onde o projeto Unreal vai morar, abre o Claude Code lá e diz: Read HANDOFF.md and set up the project. Dentro vão HANDOFF.md (briefing completo: decisões travadas, arquitetura das três máquinas, as 5 tarefas em ordem, elenco de classes, convenções, packs Synty, comandos de build e deploy), TOOLING.md (plugin oficial da Epic pro Claude Code, clangd, skills de UE — com as pegadinhas), CLAUDE.md (memória permanente do projeto), PROGRESS.md, .gitattributes, .gitignore e a skill monster-pipeline. AVULSOS: HANDOFF.md · TOOLING.md · CLAUDE.md · PROGRESS.md · .gitattributes · .gitignore
⬇ BAIXAR O ZIP

Onde cada coisa vai morar

Isto define quase todas as tarefas abaixo, então vale trinta segundos de leitura. O editor da Unreal precisa de placa de vídeo — ele roda no seu PC, não na máquina da AWS (que é headless). A máquina de dev continua cuidando de infraestrutura, sites e servidores. O jogo compilado para Linux roda em São Paulo.

SEU PC WINDOWSUnreal 5.8 + projeto + assets Synty + Claude Code trabalhando no código. É aqui que o jogo é feito.
git + LFS
REPOSITÓRIO PRIVADOGitHub privado (sua conta willylazari) — sincroniza código e assets, e me deixa ler o projeto de qualquer lugar
build Linux
S3 → SÃO PAULOa build do servidor sobe pro S3 e a máquina de jogo se atualiza sozinha (já instalado)

Já preparei (servidor pronto pra receber o jogo)

Feito hoje via SSM, sem abrir nenhuma porta nova.

FEITA
Dependências do servidor dedicado Unreal instaladas

Na máquina de São Paulo: bibliotecas que o servidor Linux da Unreal precisa (libicu, libssl, SDL2, libc++, pulse), além de sqlite3, unzip e curl. Confirmado: glibc 2.39 (ok pra UE5), SQLite 3.45, Python 3.12.

FEITA
Banco de progresso criado

/srv/game/saves/progresso.db em modo WAL, com a tabela de jogadores (id, nome, classe, nível, xp). É o começo da persistência — o servidor é a autoridade, nunca o cliente.

FEITA
Encanamento de deploy — o servidor se atualiza sozinho

Instalei /srv/game/bin/deploy-server.sh: ele baixa a build do S3, troca a versão (guardando a anterior pra rollback), acha o binário do servidor e reinicia o serviço. Também criei o serviço game-unreal.service, que substitui o eco UDP quando a primeira build chegar. O papel IAM da instância agora lê s3://gameserver-liztem-builds/server/ e nada mais.

FEITA
Regras do projeto e do repositório escritas

Quatro arquivos prontos pra entrar no projeto Unreal no dia que ele nascer: CLAUDE.md (memória permanente do projeto), .gitattributes (Git LFS pros binários da Unreal) e .gitignore.

E o principal: HANDOFF.md — o briefing completo pro Claude do seu PC Windows. Baixa esse arquivo, põe na pasta onde o projeto vai morar, abre o Claude Code lá e diz "Read HANDOFF.md and set up the project". Ele contém tudo: decisões travadas, arquitetura das três máquinas, as 5 primeiras tarefas em ordem, o elenco de classes, convenções de código, quais packs Synty baixar, comandos de build e deploy, e o que não fazer. Meses de pesquisa em uma página — o Claude de lá começa sabendo de tudo.

FEITA
Ferramentas de pipeline instaladas nesta máquina

Blender 4.0.2 rodando headless com a API Python (limpeza de malha em lote na esteira de monstros), assimp (conversão entre formatos 3D), ImageMagick, jq, e as libs Python trimesh, pygltflib e numpy no venv. Git LFS também instalado aqui, pra eu conseguir ler o repositório do jogo.

Suas tarefas, Willy

Em ordem. As três primeiras destravam o spike técnico; o resto pode vir depois.

P1 · FEITA
SyntyPass assinado (02/08)

Em syntystore.com/products/syntypass. Duas opções: US$ 40/mês (mínimo 3 meses pré-pagos) ou US$ 30/mês no anual (12 meses pré-pagos, 25% de desconto). Como o projeto é de meses e a biblioteca inteira entra junto, o anual se paga; mas é decisão sua de fluxo de caixa. Dá 5 assentos e US$ 10/mês de crédito pra comprar licenças perpétuas dos packs que a gente quiser guardar depois de cancelar.

T0 — o único bloqueio real hoje. O esqueleto do projeto já existe, está em C:\Dev\NewGame e no GitHub privado, mas nunca passou pelo compilador: não há engine nem compilador C++ na máquina. Enquanto os passos abaixo não estiverem feitos, nada compila e a T1 não pode ser aceita. Cada passo tem como conferir se deu certo — faça a conferência, porque duas dessas falhas são silenciosas.

Versões conferidas nas tabelas oficiais da Epic em 03/08/2026, e todos os links testados.

T0.1 · AGORA
Visual Studio 2026 Community — instale este ANTES da Unreal

Mudança em relação ao que estava aqui antes. Este board e o HANDOFF diziam "Visual Studio 2022". A tabela de compatibilidade da Epic para a 5.8 diz outra coisa: VS 2019 não suportado, VS 2022 a partir do 17.14, e VS 2026 a partir do 18.0 — com a recomendação explícita da Epic: "Use Visual Studio 2026 for general development. Use Visual Studio 2022 for Nintendo development and AGDE below v26.1.102." Nosso projeto é PC/Windows puro, sem Nintendo e sem Android. Então: 2026.

A ordem importa: instale o Visual Studio antes da Unreal, porque a Epic procura o compilador durante a instalação dela.

Baixe em visualstudio.microsoft.com/vs/community, ou pelo PowerShell (hoje o winget entrega a 18.8.2, acima do mínimo):

winget install --id Microsoft.VisualStudio.Community -e

Na tela do instalador, marque as três cargas de trabalho:

  • Game development with C++
  • Desktop development with C++
  • .NET desktop development

E na aba Individual components, estes quatro (são os que a Epic pede por nome):

  • C++ profiling tools
  • C++ AddressSanitizer
  • Windows 11 SDK10.0.26100 ou mais novo
  • Unreal Engine installer

Conferir: abra o Developer Command Prompt for VS 2026 pelo menu Iniciar e digite cl. Tem que imprimir a versão do compilador. Se disser que o comando não existe, a carga de C++ não entrou.

T0.2 · AGORA
Epic Games Launcher + Unreal Engine 5.8 — com Linux marcado

Baixe o launcher em store.epicgames.com/download, entre com a conta Epic, vá na aba Unreal Engine → Library, clique no + e escolha a 5.8.

Antes de confirmar, abra Options:

  • Target Platforms → Linuxmarque. É o que permite gerar o servidor de São Paulo. Adicionar depois vira trabalho manual de casar versões.
  • Starter Content — opcional, é pequeno, pode deixar.
  • Editor symbols for debuggingdeixe desmarcado. São dezenas de GB e só servem pra depurar a engine em si, não o nosso jogo.

Reserve ~120 GB livres no total (engine + Visual Studio + toolchain + projeto). Hoje há 601 GB livres na máquina, então sobra.

Conferir: este caminho tem que existir — C:\Program Files\Epic Games\UE_5.8\Engine\Binaries\Win64\UnrealEditor.exe

T0.3 · AGORA
Toolchain de cross-compile Linux (v26) — o passo que falha calado

Marcar "Linux" no passo anterior não basta: a Epic distribui o clang de cross-compile como um instalador separado. Sem ele o alvo Linux simplesmente não aparece nas configurações de build — e não dá erro nenhum, só some.

A versão é travada por versão de engine. Pela tabela oficial da Epic, 5.7–5.8 usa o v26 (clang-20.1.8) — a 5.6 usa v25, a 5.5 usa v23. Não dá pra reaproveitar de outra versão.

Baixe (testado hoje: responde, tem ~967 MB): v26_clang-20.1.8-rockylinux8.exe — tabela completa em Linux Development Requirements. Rode o instalador e aceite o caminho padrão.

Conferir — e este é o que economiza uma noite. O instalador cria uma variável de ambiente, e terminais já abertos não enxergam. Abra um terminal NOVO e rode, no cmd:

echo %LINUX_MULTIARCH_ROOT%

Tem que responder algo como C:\UnrealToolchains\v26_clang-20.1.8-rockylinux8\. Se vier vazio, pare e me avise — vazio significa que o empacotamento do servidor Linux vai falhar lá na frente, no pior momento possível.

T0.4 · AGORA
Reivindicar os gratuitos no Fab

Em fab.com, mesma conta Epic. É só clicar em "Add to My Library", não custa nada: Game Animation Sample (500+ animações AAA com motion matching), Paragon (personagens) e Infinity Blade (props medievais).

T0.5 · AGORA
Checagem final — rode tudo antes de me chamar

Abra um Git Bash novo e cole:

ls "/c/Program Files/Microsoft Visual Studio/2026" && echo "VS OK"

ls "/c/Program Files/Epic Games/UE_5.8/Engine/Binaries/Win64/UnrealEditor.exe" && echo "UE OK"

[ -n "$LINUX_MULTIARCH_ROOT" ] && echo "TOOLCHAIN OK: $LINUX_MULTIARCH_ROOT"

Três OK e o T0 está fechado. Aí é só abrir o Claude Code em C:\Dev\NewGame e dizer "T0 está pronto, compila o T1". A partir daí ele segue sozinho: primeira build (que é a aceitação da T1), conversão dos dois packs antigos pra 5.8, plugins de MCP da Epic e o compile_commands.json do clangd.

P3 · FEITA
Git, Git LFS e Claude Code no PC (03/08)

Git 2.55 e Git LFS 3.7.1 instalados, com git lfs install já rodado. Claude Code rodando, com o plugin oficial da Epic e o clangd-lsp instalados.

Entraram junto, pra esteira de monstros e concept art: LLVM/clangd 22.1.8, Blender 4.5.10 LTS (testado headless) e as libs google-genai + pillow no Python 3.12.

P4 · FEITA
Packs Synty baixados — 29 packs (03/08)

Todos baixados, extraídos em C:\Dev\Assets\Synty\ (9,1 GB, 25.412 .uasset) e espelhados no S3 privado em gameserver-liztem-assets/synty/ — 33 objetos, 6,1 GB, conferidos um a um por tamanho em bytes. Os assets não entram no git: a cota grátis de LFS do GitHub é 1 GiB, e só a primeira leva já estourava. O S3 é o plano de armazenamento; o repositório fica só com texto.

Duas coisas que apareceram na conferência: o Meadow Forest é pack de 4.25 e o Modular Fantasy Hero é de 4.22 — os dois estão no caminho crítico da T3 e da T4, e converter da 4.22 pra 5.8 é um salto de quatro versões. A conversão está agendada pra logo depois da primeira build, não pra véspera das screenshots.

E o INTERFACE Dark Fantasy HUD + Menus não tem versão Unreal — só PNG e SourceSprites. Isso é normal: pack de UI é 2D, não tem malha nem material pra empacotar. Mas o INTERFACE Fantasy Warrior HUD tem, com 2.213 .uasset de widgets, materiais e Niagara prontos. O caminho provável é montar a UI em cima dele (5.3 → 5.8, a conversão mais suave do lote) e retexturizar com a arte Dark Fantasy.

Referência da lista original abaixo — a variante Unreal continua sendo a certa pros packs POLYGON e SIDEKICK; a regra só não vale pros INTERFACE, que são 2D.

PACKPRA QUÊLEVA
Unreal Plugino importador da Synty — antes de qualquer pack
POLYGON Fantasy Kingdoma espinha: castelo e casas modulares com interiores, 22 personagens, armas de cerco
POLYGON Meadow Forest — Nature Biomea clareira do teste visual (T3)
POLYGON Modular Fantasy Hero Characterscorpos-base das 10 classes
POLYGON Fantasy Villagea taverna/hub do grupo
POLYGON Fantasy Rivalsos 20 monstros grandes + o "big rig" de chefe
POLYGON Dungeon Realmsmasmorras modulares (1.118 peças)
Sidekick Character Creator + packs (Knights, Villagers, Skeletons, Goblin Fighters)classes e hordas modulares — variedade infinita
INTERFACE Dark Fantasy HUD + Menustoda a interface
Enchanted Forest · Alpine Mountain · Swamp Marshlanddemais biomas de expedição
Dark Fantasy · Goblin War Camp · Elven Realm · Viking Realmarena de chefe (catedral) e sabor de facção
Dog Pack · Bow and Crossbow · Adventure Pack · Explorer Kit · Frog Shrinepet do Beastwarden, armas do Huntsman/Arbalest, props de acampamento e um santuário pronto

Prompt pronto pro Claude do Chrome

Se preferir que a extensão do Claude baixe por você: copie o bloco abaixo e cole na conversa com a aba da Synty aberta e logada. Ele já traz as três levas na ordem, a regra de sempre pegar a variante Unreal, e a lista do que não baixar.

PROMPT PARA O AGENTE DO NAVEGADOR
You are operating my browser. I am logged into my Synty Store account (syntystore.com) with an active SyntyPass subscription, which gives access to the entire library.

TASK: download the asset packs listed below from my SyntyPass library, always choosing the Unreal download variant.

RULES
1. Each pack offers several download variants (Unity, Unreal, Godot, SourceFiles). Always choose UNREAL. If several Unreal versions exist, take the newest 5.x. Never download the Unity, Godot or SourceFiles variants.
2. Follow the batch order. Finish BATCH 1 and report before starting BATCH 2.
3. If a pack name does not match exactly, search the library, pick the closest match, and tell me what you chose instead of guessing silently.
4. If a download fails or an Unreal variant is missing, note it and move on to the next pack. Do not abort the whole run.
5. At the end, report: what downloaded, what failed or was missing, and roughly how much was downloaded.
6. Download nothing that is not on these lists.

BATCH 1 (download now)
- Unreal Plugin            <- do this one first, it is the Synty importer for Unreal
- POLYGON - Fantasy Kingdom Pack
- POLYGON - Meadow Forest - Nature Biome
- POLYGON - Modular Fantasy Hero Characters

BATCH 2 (after batch 1)
- POLYGON - Fantasy Village
- POLYGON - Fantasy Rivals Pack
- POLYGON - Dungeon Realms
- Sidekick Character Creator
- Fantasy Knights - Sidekick Modular Characters
- Fantasy Villagers - Sidekick Modular Characters
- Fantasy Skeletons - Sidekick Modular Characters
- Goblin Fighters - Sidekick Modular Characters

BATCH 3 (last)
- INTERFACE - Dark Fantasy HUD
- INTERFACE - Dark Fantasy Menus
- POLYGON - Enchanted Forest - Nature Biome
- POLYGON - Alpine Mountain - Nature Biome
- POLYGON - Swamp Marshland - Nature Biome
- POLYGON - Dark Fantasy
- POLYGON - Goblin War Camp
- POLYGON - Elven Realm
- POLYGON - Viking Realm
- POLYGON - Dog Pack
- POLYGON - Bow and Crossbow
- POLYGON - Adventure Pack
- POLYGON - Explorer Kit
- POLYGON - Frog Shrine

DO NOT DOWNLOAD anything modern, sci-fi or seasonal (City, Apocalypse, Battle Royale, Casino, Gang Warfare, Construction, Coffee Shop, Ancient Egypt, Gingerbread, Easter, Bubblegum, Farm Pack, Sci-Fi packs, Zombies packs). They are included in the subscription but we do not want them: they waste disk space and clutter the project.

Pule sem dó tudo que for moderno, sci-fi ou sazonal: City, Apocalypse, Battle Royale, Casino, Gang Warfare, Construction, Coffee Shop, Ancient Egypt, Gingerbread, Easter, Bubblegum, Farm Pack. Vêm de graça com a assinatura, mas ocupam disco, entopem o content browser — e misturar épocas é exatamente como um jogo passa a ter cara de depósito de assets.

P5 · ABSORVIDA NA P2
Toolchain de cross-compile pra Linux

Era tarefa separada; virou um checkbox dentro da P2. O jeito certo é marcar Linux em Target Platforms durante a instalação da engine — o clang certo vem junto, casado com a 5.8.

P6 · QUANDO O COMBATE COMEÇAR
Comprar os dois plugins da pilha enxuta (~US$ 75)

GAS Companion (US$ 24,99) e Combo Graph (US$ 49,99), ambos do mesmo autor, na Fab. Antes de comprar o Combo Graph, confirme na página que existe build pra 5.8 (a doc dele listava 5.6 na última checagem). Não são urgentes: só quando eu chegar na camada de combate.

P7 · NA FÁBRICA DE MONSTROS
Contas do Tripo e do Meshy

Só quando a gente for criar monstros próprios (~US$ 40/mês somados). Aí sim vou precisar das chaves de API — e elas vão pro SSM criptografado, igual à chave do Gemini. Não me mande por chat.

O que eu preciso que você me passe

A resposta curta é: quase nada — e isso é de propósito.

SERVIÇOPRECISO DE ACESSO?POR QUÊ
SyntyNãoVocê baixa logado no navegador; os arquivos ficam no seu PC, onde o projeto vive. Sua senha da loja não precisa existir em lugar nenhum além da sua cabeça.
Epic / Unreal / FabNãoInstalação e "reivindicar grátis" são cliques seus. Eu trabalho no projeto já instalado.
GitHubJá tenhoEsta máquina já está autenticada na sua conta (willylazari) — a mesma que sincroniza o second-brain. Quando quiser, crio o repositório privado do jogo em um comando.
AWSJá tenhoA política gameserver-ops que você anexou. Servidor, S3 e alarmes rodam por ela.
Tripo / MeshyDepoisSó na fase de monstros. Chaves de API vão pro SSM criptografado (nunca por chat, nunca em arquivo do projeto).
SOBRE O CLAUDE CODE NO SEU PCQuando você rodar o Claude Code lá, ele começa sem saber de nada disto aqui. O CLAUDE.md que preparei resolve isso: é a memória do projeto — decisões travadas, arquitetura, comandos, e o que não fazer. Ele entra na raiz do projeto Unreal e passa a ser lido automaticamente a cada sessão.

Construção do jogo — tarefas T

Executadas pelo Claude do PC Windows (é lá que a engine e o projeto vivem). Status reportado por ele; esta página espelha.

T0 · AGUARDA VOCÊ
Pré-requisitos — a fila inteira está travada aqui

Bloqueia todo o resto. São instaladores logados na sua conta, então são seus: Epic Games Launcher → UE 5.8 com Linux marcado em Target Platforms (traz junto o clang de cross-compile da Epic — deixar pra depois vira dor de casar versões) e Visual Studio 2022 com as cargas Game development with C++ e .NET desktop development. Sem o VS não existe compilador C++ no Windows.

Depois: toolchain de cross-compile v26 (clang-20.1.8)cdn.unrealengine.com/CrossToolchain_Linux/v26_clang-20.1.8-rockylinux8.exe — e então echo %LINUX_MULTIARCH_ROOT%, que não pode voltar vazio (se voltar, o alvo Linux some silenciosamente das configurações de build).

Três autorizações pequenas esperando você (o Claude do PC pediu em vez de fazer, e está certo): py -m pip install google-genai pillow (instalação global — precisa pro concept-art), winget install LLVM.LLVM (idem, pro clangd), e instalar o Blender 4.5 LTS pra trabalho de malha. Sem a chave do Gemini no ambiente, a geração de conceito continua rodando aqui na AWS.

E os dois plugins, que são comandos de barra e portanto seus pra digitar: /plugin install unreal-engine-skills-for-claude-code@claude-plugins-official e /plugin install clangd-lsp@claude-plugins-official. O winget install LLVM.LLVM é instalação global — o Claude do PC não faz sem você pedir, e está certo em não fazer.

T1 · EM ANDAMENTO
Esqueleto do projeto Unreal — commitado e publicado, não verificado

Esqueleto commitado — projeto C++, os três targets (incluindo o NovoJogoServer.Target.cs que faltava no meu handoff), plugins GAS/EnhancedInput/ModularGameplay, Git LFS e os arquivos de projeto. Aceite pendente da primeira compilação limpa, que só roda depois da T0.

Repositório no ar: github.com/willylazari/newgame (privado) — 23 arquivos, commit e11e7b1. Conferi por aqui: varredura de credenciais limpa, os três targets no lugar (com o NewGameServer.Target.cs), LFS configurado, e o .uproject corretamente sem os plugins de MCP ainda. Agora eu consigo ler o projeto direto — é assim que eu reviso o trabalho do PC.

Ferramentas de agente instaladas no PC: o plugin oficial da Epic (unreal-mcp, create-toolset, unreal-skill) e o clangd-lsp. Ficam inertes até o editor rodar, porque falam com o servidor MCP interno da engine.

Decisão ratificada: os plugins de MCP (ModelContextProtocol + AllToolsets) não entram no .uproject agora. Entram depois que o editor abrir e a lista real de plugins puder ser conferida. Motivo, e está certo: a primeira compilação limpa é justamente o teste de aceite da T1 — declarar plugin que a engine instalada talvez não tenha com aquele nome exato transforma um resultado de compilação numa caixa de diálogo.

T2 · A FAZER
Fundação do GAS

ASC no PlayerState (padrão Lyra), um AttributeSet, e as 10 DataAssets de classe criadas já nomeadas — o elenco visível no repositório desde o começo. GameplayTags no .ini, nunca inventadas no código.

T3 · A FAZER
Teste da clareira — decide o visual

A mesma cena Synty renderizada em dois acabamentos (PBR suave × rampa toon), mesma câmera e mesma luz, pro grupo votar por screenshot no Discord. Mesmos assets nos dois: a escolha não custa retrabalho.

T4 · A FAZER
Dez cápsulas no servidor de São Paulo

O spike de rede de verdade, com as duas câmeras alternáveis — resolve a última decisão de design em aberto. É quando o eco UDP se aposenta. Confere também se os ~200 ms do Willy desde Barcelona são aceitáveis na prática.

T5 · A FAZER
Primeira expedição jogável

Uma missão curta com uma Bênção, uma Maldição e um chefe vagabundo pra dez marmanjos apanharem.

CORREÇÕES VINDAS DO PC (02/08)O Claude do seu PC rodou o handoff e devolveu três defeitos meus — todos já corrigidos aqui e no arquivo publicado: (1) o HANDOFF.md confundia módulos com targets e não pedia o NovoJogoServer.Target.cs, sem o qual o empacotamento do servidor dedicado não tem o que compilar; (2) a seção de downloads dava a entender que /tpl/ era navegável — ela retorna 404 de propósito, porque nada aqui é listável anonimamente; (3) o .gitattributes não cobria psd, tif, exr, jpg, mp3, que entrariam como blobs crus no primeiro import da Synty. Também confirmou, com razão, deixar o Substrate desligado por padrão. Baixe o HANDOFF.md de novo se já tinha pego a versão anterior.
RESUMO — 02/08, NOITESyntyPass assinado ✓ · esqueleto do projeto commitado ✓ · servidor de São Paulo pronto e ensaiado ✓. O gargalo agora é a T0: instalar a UE 5.8 com Linux marcado em Target Platforms e o Visual Studio 2022 (Game development with C++ · .NET desktop development). Assim que a engine estiver de pé, o Claude do PC assume a primeira compilação e segue pra T2. Em paralelo, a P4 (baixar a primeira leva de packs Synty) pode rodar sozinha — tem prompt pronto pro Claude do Chrome logo acima.