<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>Cinevva Guias</title>
        <link>https://app.cinevva.com</link>
        <description>Guias completos para criadores e jogadores.</description>
        <lastBuildDate>Sat, 15 Aug 2026 21:31:04 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <copyright>Copyright 2024-present Cinevva</copyright>
        <item>
            <title><![CDATA[Estratégia para o Steam Next Fest em 2026]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/steam-next-fest-strategy-gamedeveloper</link>
            <guid>https://app.cinevva.com/pt-BR/guides/steam-next-fest-strategy-gamedeveloper</guid>
            <pubDate>Sat, 15 Aug 2026 21:16:53 GMT</pubDate>
            <description><![CDATA[Uma versão sindicalizada do nosso guia de estratégia para o Steam Next Fest. Consulte a versão canônica para acessar o artigo completo e atualizado.]]></description>
            <content:encoded><![CDATA[<h1 id="estrategia-para-o-steam-next-fest-em-2026" tabindex="-1">Estratégia para o Steam Next Fest em 2026 <a class="header-anchor" href="#estrategia-para-o-steam-next-fest-em-2026" aria-label="Permalink to &quot;Estratégia para o Steam Next Fest em 2026&quot;"></a></h1>
<p><em>O que os dados dizem sobre listas de desejos, demos e timing. Números reais de mais de 200 jogos.</em></p>
<hr>
<p>Se você está se planejando pelo calendário, a Steam realiza o Next Fest três vezes em 2026: de 23 de fevereiro a 2 de março (já realizado), de 15 a 22 de junho e de 19 a 26 de outubro. As edições de junho e outubro vão das 10h PDT do dia de início às 10h PDT do dia de encerramento, pouco antes das promoções de verão e inverno (a edição de fevereiro também seguiu o horário do Pacífico, antes do horário de verão). Um jogo só pode participar de um Next Fest, para sempre, então escolha a edição que se encaixa na sua janela de lançamento. Sua demo precisa estar disponível publicamente para jogar quando o festival começar, e você não pode lançar o jogo antes do encerramento.</p>
<p>Eis a questão sobre o Next Fest: todo mundo o trata como uma loteria. Coloque sua demo lá, cruze os dedos e torça para o algoritmo sorrir para você. Não é assim que funciona.</p>
<p>Tenho lido post-mortems obsessivamente. Centenas deles só de 2025. O padrão é tão consistente que chega a ser entediante: os jogos que &quot;vencem&quot; no Next Fest não estão alcançando o sucesso durante o festival. Eles estão amplificando um impulso que já haviam construído.</p>
<p>Deixe-me mostrar o que quero dizer.</p>
<h2 id="a-formula-que-ninguem-quer-ouvir" tabindex="-1">A fórmula que ninguém quer ouvir <a class="header-anchor" href="#a-formula-que-ninguem-quer-ouvir" aria-label="Permalink to &quot;A fórmula que ninguém quer ouvir&quot;"></a></h2>
<p><strong>Listas de desejos antes × 2 = listas de desejos conquistadas</strong></p>
<p>Essa proporção aparece em um post-mortem após o outro.</p>
<p>Eilean Mor entrou em outubro de 2025 com 2.117 adições à lista de desejos. Conquistou 2.082 durante o festival. Quase exatamente 2×.</p>
<p>Dice of Kalma entrou com 335 adições à lista de desejos. Conquistou 659. Pouco menos de 2×. O desenvolvedor escreveu: &quot;Nossas listas de desejos quase triplicaram, o que é incrível, mas ainda temos muito trabalho pela frente.&quot;</p>
<p>Essa é a verdade incômoda. O Next Fest dobra o que você já tem. Se você não tem nada, ele dobra esse nada.</p>
<h2 id="o-abismo-das-2-000-listas-de-desejos" tabindex="-1">O abismo das 2.000 listas de desejos <a class="header-anchor" href="#o-abismo-das-2-000-listas-de-desejos" aria-label="Permalink to &quot;O abismo das 2.000 listas de desejos&quot;"></a></h2>
<p>Dados de 208 jogos em fevereiro de 2025 mostram um ponto de inflexão acentuado nas 2.000 adições à lista de desejos.</p>
<table tabindex="0">
<thead>
<tr>
<th>Listas de desejos iniciais</th>
<th>O que acontece</th>
</tr>
</thead>
<tbody>
<tr>
<td>Menos de 1.000</td>
<td>Você fica invisível depois do 2º dia. Nenhum jogo subiu de categoria.</td>
</tr>
<tr>
<td>1.000–2.000</td>
<td>Ganhos modestos. Você permanece no mesmo patamar.</td>
</tr>
<tr>
<td>Mais de 2.000</td>
<td>O algoritmo começa a ajudar. É possível ganhar impulso de verdade.</td>
</tr>
<tr>
<td>Mais de 10.000</td>
<td>Categoria ouro. Bons ganhos são prováveis.</td>
</tr>
<tr>
<td>Mais de 100.000</td>
<td>Categoria diamante. Você disputa as primeiras posições dos rankings.</td>
</tr>
</tbody>
</table>
<p>Veja o que disse um desenvolvedor dessa pesquisa: &quot;Você realmente começa a perceber como as adições à lista de desejos de um jogo disparam quando ele já tem mais de 2.000 antes do Steam Next Fest.&quot;</p>
<p>Não se trata exatamente do algoritmo. Trata-se de validação. Ter 2.000 adições à lista de desejos significa que você descobriu algo sobre marketing. Você sabe como alcançar as pessoas. Essa habilidade gera resultados cada vez maiores durante o festival.</p>
<h2 id="as-primeiras-48-horas-sao-tudo" tabindex="-1">As primeiras 48 horas são tudo <a class="header-anchor" href="#as-primeiras-48-horas-sao-tudo" aria-label="Permalink to &quot;As primeiras 48 horas são tudo&quot;"></a></h2>
<p>A Valve dá uma chance a todos nos dias 1 e 2. Depois disso, o algoritmo decide quem merece mais visibilidade com base no desempenho.</p>
<p>Jogos da categoria bronze? As impressões despencam no 3º dia. Jogos da categoria diamante? As impressões triplicam.</p>
<p><strong>Dias 1–2:</strong> Dê tudo de si. Faça transmissões. Publique. Coordene ações com criadores de conteúdo.
<strong>Do 3º dia em diante:</strong> O algoritmo já decidiu. Agora é só seguir o fluxo.</p>
<h2 id="o-que-realmente-venceu-em-2025" tabindex="-1">O que realmente venceu em 2025 <a class="header-anchor" href="#o-que-realmente-venceu-em-2025" aria-label="Permalink to &quot;O que realmente venceu em 2025&quot;"></a></h2>
<h3 id="do-no-harm-fevereiro-de-2025" tabindex="-1">Do No Harm (fevereiro de 2025) <a class="header-anchor" href="#do-no-harm-fevereiro-de-2025" aria-label="Permalink to &quot;Do No Harm (fevereiro de 2025)&quot;"></a></h3>
<p><strong>Os números:</strong> 45.655 adições à lista de desejos durante o Next Fest. Começou com 52.102.</p>
<p><strong>O que fizeram:</strong></p>
<ul>
<li>O trailer foi publicado no GameTrailers em 29 de janeiro (semanas antes do Next Fest)</li>
<li>O contato com a imprensa foi sincronizado com o trailer</li>
<li>A demo foi disponibilizada em 4 de fevereiro</li>
<li>Anúncios pagos para amplificar o impulso orgânico</li>
</ul>
<p>Esse é o plano de ação. Eles não dependeram do Next Fest para serem descobertos. Usaram o Next Fest para multiplicar a atenção que já haviam conquistado.</p>
<h3 id="cairn-outubro-de-2025" tabindex="-1">Cairn (outubro de 2025) <a class="header-anchor" href="#cairn-outubro-de-2025" aria-label="Permalink to &quot;Cairn (outubro de 2025)&quot;"></a></h3>
<p>Chegou ao 5º lugar em Populares e Em Breve no 1º dia. Entrou em Principais Demos e Em Breve em Alta no 2º dia.</p>
<p><strong>O que fizeram:</strong></p>
<ul>
<li>A demo foi lançada em dezembro de 2024 (10 meses antes do Next Fest)</li>
<li>32.000 seguidores antes do festival</li>
<li>Participação aceita em 18 festivais antes do Next Fest</li>
<li>The Game Bakers (Furi, Haven) — estúdio consolidado com histórico comprovado</li>
</ul>
<p>Eles não precisavam do Next Fest. Mesmo assim, aproveitaram-no porque é uma amplificação gratuita quando você já fez o trabalho.</p>
<h3 id="yapyap-outubro-de-2025" tabindex="-1">YAPYAP (outubro de 2025) <a class="header-anchor" href="#yapyap-outubro-de-2025" aria-label="Permalink to &quot;YAPYAP (outubro de 2025)&quot;"></a></h3>
<p>O fenômeno dos jogos casuais caóticos entre amigos, ou &quot;friend slop&quot;. Um jogo cooperativo de terror em que você joga como magos vandalizando uma torre. Viralizou nas redes sociais e depois dominou o Next Fest.</p>
<p>O trailer foi publicado em 25 de agosto de 2025 — um mês antes do Next Fest. Alcançou 434 mil visualizações. Esse foi o ponto de inflexão. Tudo o que veio depois apenas aproveitou a onda.</p>
<h2 id="o-que-fevereiro-de-2026-confirmou" tabindex="-1">O que fevereiro de 2026 confirmou <a class="header-anchor" href="#o-que-fevereiro-de-2026-confirmou" aria-label="Permalink to &quot;O que fevereiro de 2026 confirmou&quot;"></a></h2>
<p>A edição de fevereiro de 2026 não mudou o plano de ação; ela o consolidou. O festival ultrapassou 3.500 demos. Depois do evento, o How To Market A Game entrevistou 182 desenvolvedores, e a relação mais forte observada nos dados foi entre o número de adições à lista de desejos antes do festival e quantas o jogo conquistou durante o evento — uma correlação de Spearman de 0,825, segundo uma análise independente dos dados da pesquisa. A disparidade foi brutal: a demo mediana conquistou 806 adições à lista de desejos, eram necessárias 13.461 para entrar no percentil 95, e o primeiro colocado obteve 57.074. Os jogos cooperativos continuaram dominando, e a ideia de &quot;lançar sua demo de surpresa logo antes do festival&quot; foi desmentida novamente. Entre os jogos que conquistaram mais de 15.000 adições à lista de desejos, apenas um lançou a demo de surpresa poucos dias antes do festival. Os demais já tinham demos disponíveis havia um mês ou mais. Construa o público primeiro: todas as edições continuam repetindo a mesma coisa.</p>
<h2 id="os-generos-que-continuam-vencendo" tabindex="-1">Os gêneros que continuam vencendo <a class="header-anchor" href="#os-generos-que-continuam-vencendo" aria-label="Permalink to &quot;Os gêneros que continuam vencendo&quot;"></a></h2>
<p>Na categoria diamante de fevereiro de 2025:</p>
<ul>
<li><strong>Terror</strong> (×2) — a Steam adora terror. Sempre adorou.</li>
<li><strong>Estratégia/Gestão</strong> (×4) — a tendência são jogos de &quot;criação, construção e simulação&quot;</li>
<li><strong>Cooperativos de &quot;friend slop&quot;</strong> — Lethal Company abriu as comportas</li>
<li><strong>Apontar e clicar</strong> (×2) — mas ambos eram sequências com públicos já existentes</li>
</ul>
<p>O caso dos jogos de apontar e clicar é interessante. Beholder: Conductor foi o 4º jogo da série. Duck Detective era uma sequência. Eles já tinham um público estabelecido. Desenvolvedores estreantes em jogos de apontar e clicar não alcançam esses resultados.</p>
<h2 id="o-que-dizem-os-jogos-menores" tabindex="-1">O que dizem os jogos menores <a class="header-anchor" href="#o-que-dizem-os-jogos-menores" aria-label="Permalink to &quot;O que dizem os jogos menores&quot;"></a></h2>
<p>Nem todo mundo está buscando a categoria diamante. Veja o que desenvolvedores de menor porte relataram sobre outubro de 2025:</p>
<blockquote>
<p>&quot;Taxa de conversão de 62% entre visitas e adições à lista de desejos. A página da loja parece funcionar. Mas as impressões foram altas e as pessoas não clicaram. A arte da cápsula precisa ser atualizada.&quot;</p>
</blockquote>
<blockquote>
<p>&quot;57% dos visitantes da loja jogaram nossa demo. Parece um número alto, não? Mas apenas 15% de quem jogou também adicionou o jogo à lista de desejos. Algo não correspondeu às expectativas.&quot;</p>
</blockquote>
<blockquote>
<p>&quot;Fui banido permanentemente do r/cozygames por perguntar se eles consideravam nosso jogo aconchegante. Sempre tento seguir as regras, mas isso foi bem surpreendente.&quot;</p>
</blockquote>
<p>A batalha diária é real. Esses desenvolvedores estão testando artes de cápsula, ajustando tags e sendo banidos de subreddits. Não há nada de glamouroso nisso.</p>
<p>Um padrão que se fortaleceu: jogos cooperativos de &quot;friend slop&quot; acumulam números enormes de jogadores da demo, mas convertem uma parcela menor deles em adições à lista de desejos, porque o público que aparece é casual e só quer se divertir com os amigos, não acompanhar um lançamento. Muitos jogadores não significam automaticamente muitas adições à lista de desejos.</p>
<h2 id="o-plano-de-acao-realista" tabindex="-1">O plano de ação realista <a class="header-anchor" href="#o-plano-de-acao-realista" aria-label="Permalink to &quot;O plano de ação realista&quot;"></a></h2>
<p><strong>Meses antes do Next Fest:</strong></p>
<ol>
<li>Lance sua demo cedo. Tipo, muito cedo. Os vencedores tinham demos disponíveis havia 6–12 meses.</li>
<li>Participe primeiro de festivais menores e específicos do seu gênero. Use-os como ensaios para aprimorar o jogo.</li>
<li>Chegue a mais de 2.000 adições à lista de desejos. Esse é o seu verdadeiro patamar mínimo.</li>
</ol>
<p><strong>Durante o Next Fest:</strong></p>
<ol>
<li>Os dias 1–2 são decisivos. Dê tudo de si.</li>
<li>Faça transmissões se puder. Elas aparecem como &quot;ao vivo&quot; na sua página.</li>
<li>Coordene ações com streamers. Pague a eles, se for preciso.</li>
<li>Coloque sua demo em uma página separada na Steam para que ela possa receber avaliações.</li>
</ol>
<p><strong>Depois do Next Fest:</strong></p>
<ol>
<li>Não lance imediatamente. Esperar algumas semanas costuma gerar um desempenho melhor.</li>
<li>Aproveite o impulso no marketing do lançamento propriamente dito.</li>
</ol>
<h2 id="quando-nao-participar" tabindex="-1">Quando não participar <a class="header-anchor" href="#quando-nao-participar" aria-label="Permalink to &quot;Quando não participar&quot;"></a></h2>
<p>Sendo bem direto: o Next Fest não é para todo mundo.</p>
<p>Não participe se:</p>
<ul>
<li>Você tem menos de 1.000 adições à lista de desejos (ficará invisível até o 3º dia)</li>
<li>Sua demo não está bem-acabada (você só tem uma chance de causar uma boa primeira impressão)</li>
<li>Este é o seu primeiro festival (participe de eventos menores antes)</li>
<li>Você pretende lançar imediatamente depois (espere algumas semanas)</li>
</ul>
<p>Há dezenas de festivais menores todos os meses. Públicos mais segmentados. Menos concorrência. Consulte a lista em howtomarketagame.com/festivals.</p>
<p>O Next Fest é a escolha padrão porque a Valve convida todo mundo a participar. Mas as melhores ações de marketing não são aquelas que todo mundo é incentivado a fazer.</p>
<hr>
<h2 id="sobre-o-autor" tabindex="-1">Sobre o autor <a class="header-anchor" href="#sobre-o-autor" aria-label="Permalink to &quot;Sobre o autor&quot;"></a></h2>
<p>Oleg Sidorkin cria ferramentas para desenvolvedores independentes de jogos. Ele estuda dados de marketing de jogos e post-mortems de desenvolvedores para entender o que realmente funciona e o que é apenas exagero.</p>
]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Conecte o Claude ou o Cursor à Cinevva (servidor MCP)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/mcp-server</link>
            <guid>https://app.cinevva.com/pt-BR/guides/mcp-server</guid>
            <pubDate>Sat, 01 Aug 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Configure o servidor MCP do Criador de Jogos Cinevva no Claude, Claude Code ou Cursor e edite seu jogo ao vivo usando seu assistente de IA favorito.]]></description>
            <content:encoded><![CDATA[<h1 id="conecte-o-claude-ou-o-cursor-a-cinevva-servidor-mcp" tabindex="-1">Conecte o Claude ou o Cursor à Cinevva (servidor MCP) <a class="header-anchor" href="#conecte-o-claude-ou-o-cursor-a-cinevva-servidor-mcp" aria-label="Permalink to &quot;Conecte o Claude ou o Cursor à Cinevva (servidor MCP)&quot;"></a></h1>
<p>A Cinevva oferece um servidor MCP hospedado que permite ao Claude, Claude Code, Cursor ou qualquer cliente MCP criar seus jogos. A IA que você já usa se torna o cérebro: ela lê e edita os arquivos dos seus jogos diretamente em nossos servidores, sem precisar manter uma aba do navegador aberta. Abra também seu jogo no criador da Cinevva e a sessão entrará ao vivo: a IA poderá importar recursos da nossa biblioteca CC0, criar rigs e animar modelos 3D, capturar telas, simular comandos para testar o jogo em execução e atualizar a prévia enquanto cada alteração aparece na sua tela.</p>
<h2 id="o-que-voce-precisa" tabindex="-1">O que você precisa <a class="header-anchor" href="#o-que-voce-precisa" aria-label="Permalink to &quot;O que você precisa&quot;"></a></h2>
<p>Uma conta da Cinevva (a gratuita funciona; a criação de rigs 3D consome créditos do seu saldo) e um cliente MCP que ofereça suporte a servidores remotos com OAuth. A URL do servidor é:</p>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>https://api.cinevva.com/create/mcp</span></span></code></pre>
</div><p>Ele usa Streamable HTTP e autenticação com OAuth 2.0. Quando você se conecta, seu cliente abre uma página de login da Cinevva no navegador. Autorize o acesso uma vez e o cliente permanecerá conectado.</p>
<h2 id="edite-de-qualquer-lugar-entre-ao-vivo-para-acompanhar-e-testar" tabindex="-1">Edite de qualquer lugar. Entre ao vivo para acompanhar e testar. <a class="header-anchor" href="#edite-de-qualquer-lugar-entre-ao-vivo-para-acompanhar-e-testar" aria-label="Permalink to &quot;Edite de qualquer lugar. Entre ao vivo para acompanhar e testar.&quot;"></a></h2>
<p>Para editar arquivos, basta a conexão. As ferramentas de arquivos leem e gravam a cópia oficial dos seus jogos em nossos servidores. Assim, seu assistente pode corrigir um bug ou adicionar um recurso mesmo sem nenhuma aba da Cinevva aberta. Informe o nome do jogo desejado (ou deixe a IA escolher entre seus jogos) e faça seus pedidos.</p>
<p>Entrar ao vivo é uma opção a mais, não uma exigência. Abra o jogo em <a href="https://cinevva.com/create" target="_blank" rel="noreferrer">cinevva.com/create</a>, aguarde o carregamento da prévia e clique em <strong>Agente externo</strong> na barra de ferramentas do criador (o ícone de plugue, também disponível no menu &quot;mais&quot; em telas pequenas). O painel muda para &quot;Agente ao vivo&quot; quando a conexão é estabelecida. Uma sessão ao vivo dá à IA olhos e mãos sobre o jogo em execução: capturas de tela, logs do console, comandos simulados, importação de recursos e criação de rigs 3D. Ela também transmite cada edição para sua tela assim que é aplicada, seja a alteração feita por essa aba ou sem interface aberta. O vínculo ao vivo permanece ativo em visitas futuras até você clicar em &quot;Encerrar sessão ao vivo&quot;.</p>
<p>A ferramenta <code>list_live_sessions</code> mostra o que está conectado e, quando exatamente um jogo está aberto, ele é selecionado automaticamente.</p>
<h2 id="configuracao-no-claude-claude-ai-e-aplicativo-para-desktop" tabindex="-1">Configuração no Claude (claude.ai e aplicativo para desktop) <a class="header-anchor" href="#configuracao-no-claude-claude-ai-e-aplicativo-para-desktop" aria-label="Permalink to &quot;Configuração no Claude (claude.ai e aplicativo para desktop)&quot;"></a></h2>
<ol>
<li>Abra Configurações, depois Conectores, e escolha &quot;Adicionar conector personalizado&quot;.</li>
<li>Dê a ele o nome Cinevva e cole <CopyText text="https://api.cinevva.com/create/mcp" /> como URL. Verifique se não há caracteres extras: a URL deve terminar em <code>/create/mcp</code>.</li>
<li>Clique em Adicionar e depois em Conectar. Entre com sua conta da Cinevva quando a página de autorização for aberta (a mesma conta conectada na aba do seu jogo).</li>
<li>Peça ao Claude algo como &quot;liste os arquivos dos meus jogos da Cinevva&quot; para confirmar a conexão. Para fazer testes ao vivo, abra seu jogo em cinevva.com/create em outra aba e clique em Agente externo na barra de ferramentas.</li>
</ol>
<h2 id="configuracao-no-claude-code" tabindex="-1">Configuração no Claude Code <a class="header-anchor" href="#configuracao-no-claude-code" aria-label="Permalink to &quot;Configuração no Claude Code&quot;"></a></h2>
<div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">claude</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> mcp</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> add</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --transport</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> http</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> cinevva</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> https://api.cinevva.com/create/mcp</span></span></code></pre>
</div><p>No primeiro uso, o Claude Code orienta você pelo login com OAuth. Depois disso, peça para ele ler os arquivos do seu jogo ou fazer uma alteração. Ele funciona diretamente pelo terminal, sem nenhuma aba do navegador aberta.</p>
<h2 id="configuracao-no-cursor" tabindex="-1">Configuração no Cursor <a class="header-anchor" href="#configuracao-no-cursor" aria-label="Permalink to &quot;Configuração no Cursor&quot;"></a></h2>
<p>Adicione isto a <code>.cursor/mcp.json</code> (por projeto) ou <code>~/.cursor/mcp.json</code> (global):</p>
<div class="language-json vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">{</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "mcpServers"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "cinevva"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">      "url"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"https://api.cinevva.com/create/mcp"</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre>
</div><p>O Cursor detecta o servidor, executa o fluxo OAuth no navegador e lista as ferramentas nas configurações de MCP.</p>
<h2 id="o-que-as-ferramentas-fazem" tabindex="-1">O que as ferramentas fazem <a class="header-anchor" href="#o-que-as-ferramentas-fazem" aria-label="Permalink to &quot;O que as ferramentas fazem&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Grupo</th>
<th>Ferramentas</th>
<th>Precisa de uma sessão ao vivo?</th>
</tr>
</thead>
<tbody>
<tr>
<td>Ler o jogo</td>
<td><code>list_game_files</code>, <code>read_files</code>, <code>search_game_file</code></td>
<td>Não, lê a cópia no servidor de qualquer um dos seus jogos</td>
</tr>
<tr>
<td>Editar o jogo</td>
<td><code>edit_files</code>, <code>write_files</code>, <code>delete_files</code>, <code>rename_files</code></td>
<td>Não, as edições são aplicadas no servidor e transmitidas para uma aba aberta</td>
</tr>
<tr>
<td>Prévia</td>
<td><code>game_ready</code></td>
<td>Atualiza a prévia de uma aba ao vivo; caso contrário, salva sem interface aberta</td>
</tr>
<tr>
<td>Observar o jogo</td>
<td><code>read_console_logs</code>, <code>take_screenshot</code></td>
<td>Sim</td>
</tr>
<tr>
<td>Testes</td>
<td><code>execute_js</code>, <code>simulate_input</code>, <code>get_task_status</code></td>
<td>Sim</td>
</tr>
<tr>
<td>Recursos</td>
<td><code>search_assets</code>, <code>list_asset_packs</code>, <code>import_asset</code>, <code>search_fonts</code></td>
<td>Sim. Cerca de 7.000 objetos, áudios e HDRIs CC0</td>
</tr>
<tr>
<td>Criação de rigs 3D</td>
<td><code>rig_model</code>, <code>apply_animation</code></td>
<td>Sim, consome créditos</td>
</tr>
<tr>
<td>Documentação</td>
<td><code>list_library_docs</code>, <code>search_library_docs</code>, <code>read_library_docs</code>, <code>list_animations</code></td>
<td>Sim</td>
</tr>
</tbody>
</table>
<p>A criação de rigs custa a mesma quantidade de créditos que no Criador de Jogos do aplicativo. Todo o restante é gratuito. O criador no aplicativo também gera imagens, músicas, efeitos sonoros e skyboxes com IA; essas ferramentas ficam no próprio aplicativo da Cinevva e não fazem parte do conector MCP.</p>
<h2 id="solucao-de-problemas" tabindex="-1">Solução de problemas <a class="header-anchor" href="#solucao-de-problemas" aria-label="Permalink to &quot;Solução de problemas&quot;"></a></h2>
<p>&quot;Nenhum servidor MCP foi encontrado na URL informada&quot; durante a configuração geralmente significa que há um erro de digitação ou um caractere extra no final da URL. Ela deve ser exatamente <CopyText text="https://api.cinevva.com/create/mcp" />.</p>
<p>&quot;Nenhuma sessão ao vivo&quot; aparece apenas nas ferramentas de execução (capturas de tela, console, comandos, recursos e criação de rigs). Isso significa que nenhuma aba do navegador está com esse jogo aberto e o vínculo ao vivo ativado. Abra seu jogo, clique em Agente externo na barra de ferramentas e tente novamente. As ferramentas de arquivos nunca precisam disso: sem uma sessão, elas funcionam em qualquer um dos seus jogos por meio do gameId e listam seus jogos se você não informar um.</p>
<p>Se as ferramentas travarem em uma conexão recém-estabelecida, atualize a aba do jogo para que ela se reconecte e depois chame <code>list_live_sessions</code>.</p>
<p>Dúvidas ou problemas: <a href="mailto:support@cinevva.com" target="_blank" rel="noreferrer">support@cinevva.com</a>.</p>
]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Jogos para estandes de feiras que realmente capturam leads (2026)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/trade-show-booth-games</link>
            <guid>https://app.cinevva.com/pt-BR/guides/trade-show-booth-games</guid>
            <pubDate>Thu, 30 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[O que funciona como jogo para estandes de feiras, por que roletas de prêmios e minigolfe atraem multidões, mas não leads, e como um jogo para celular com ranking ao vivo transforma o tráfego dos corredores em uma lista de leads que você pode exportar.]]></description>
            <content:encoded><![CDATA[<h1 id="jogos-para-estandes-de-feiras-que-realmente-capturam-leads" tabindex="-1">Jogos para estandes de feiras que realmente capturam leads <a class="header-anchor" href="#jogos-para-estandes-de-feiras-que-realmente-capturam-leads" aria-label="Permalink to &quot;Jogos para estandes de feiras que realmente capturam leads&quot;"></a></h1>
<p>Você tem um estande de 3x3 ou 6x6 metros, um leitor de crachás e três dias para justificar o custo do espaço. Em algum momento do planejamento, alguém sugere um jogo, porque todos sabem que jogos atraem pessoas. A pergunta que ninguém responde bem é quais jogos atraem pessoas com quem vale a pena conversar e quais apenas criam uma fila de desconhecidos sem crachá segurando brindes.</p>
<p>Eu crio jogos personalizados para estandes profissionalmente, então já vi os dois resultados. Veja o que diferencia um do outro.</p>
<h2 id="os-dois-tipos-de-jogo-para-estandes" tabindex="-1">Os dois tipos de jogo para estandes <a class="header-anchor" href="#os-dois-tipos-de-jogo-para-estandes" aria-label="Permalink to &quot;Os dois tipos de jogo para estandes&quot;"></a></h2>
<p>Quase todo jogo para estandes se encaixa em uma de duas categorias, e elas se comportam de maneiras completamente diferentes.</p>
<p><strong>Jogos de atenção</strong> fazem as pessoas pararem no corredor. Uma roleta de prêmios, um minigolfe, uma máquina de pegar brindes, uma torre gigante de Jenga. Eles funcionam: movimento e barulho são o que interrompe o ritmo de quem está caminhando. O que eles não fazem é revelar qualquer coisa sobre quem parou. A pessoa gira a roleta, pega as meias com a marca e vai embora. Você atraiu alguém, não conquistou um lead — e ainda pagou pela roleta.</p>
<p><strong>Jogos de qualificação</strong> levam a pessoa a fazer algo que revela intenção e, então, pedem os dados de contato no momento em que ela quer algo de você. Eles são mais raros, mais difíceis de executar bem e são o único tipo que aparece no seu CRM.</p>
<p>O erro não é escolher um jogo de atenção. É escolher um e esperar que ele gere leads.</p>
<h2 id="por-que-os-classicos-tem-baixo-desempenho-na-geracao-de-leads" tabindex="-1">Por que os clássicos têm baixo desempenho na geração de leads <a class="header-anchor" href="#por-que-os-classicos-tem-baixo-desempenho-na-geracao-de-leads" aria-label="Permalink to &quot;Por que os clássicos têm baixo desempenho na geração de leads&quot;"></a></h2>
<p><strong>Roletas de prêmios</strong> convertem pelo prêmio, não pela sua empresa. A pessoa que gira está tentando maximizar suas chances de ganhar algo, o que significa que seus melhores participantes são justamente os menos interessados no seu produto. Pior ainda, a interação dura quatro segundos, tempo insuficiente para a equipe do estande iniciar uma conversa.</p>
<p><strong>Minigolfe e cestas de basquete</strong> são máquinas de aumentar o tempo de permanência, e esse tempo tem valor real. Mas ocupam muito espaço para cada jogador simultâneo, precisam de funcionários para reorganizar tudo e um jogador confiante pode monopolizar a atração por dez minutos enquanto uma fila de pessoas que queria saber mais sobre seu produto vai embora.</p>
<p><strong>Cabines fotográficas e câmeras 360°</strong> produzem algo que o participante quer guardar, o que parte do princípio correto. O problema é que elas capturam um e-mail em troca de uma foto, então a intenção que você está medindo é “queria uma foto”. Funciona para reconhecimento de marca em uma feira voltada ao consumidor. É pouco significativo em um evento B2B.</p>
<p><strong>Quizzes em tablets e aplicativos de girar para ganhar</strong> geralmente têm o formato certo com a apresentação errada. Modelos genéricos fazem perguntas que não têm relação com seu produto, então a pessoa não aprende nada sobre você e você não aprende nada sobre ela. No fim, tudo parece um pedágio para capturar leads, não um motivo para parar.</p>
<h2 id="o-que-um-jogo-para-estandes-precisa-fazer" tabindex="-1">O que um jogo para estandes precisa fazer <a class="header-anchor" href="#o-que-um-jogo-para-estandes-precisa-fazer" aria-label="Permalink to &quot;O que um jogo para estandes precisa fazer&quot;"></a></h2>
<p>Em essência, um jogo para estandes tem quatro funções, nesta ordem.</p>
<p><strong>Fazer alguém parar no corredor.</strong> Algo em uma tela na altura dos olhos, em movimento e visível a seis metros de distância. Um ranking funciona especialmente bem aqui porque um placar com nomes sugere que outras pessoas já jogaram — e essa prova social faz o recrutamento por você.</p>
<p><strong>Terminar em cerca de sessenta segundos.</strong> Esse é o número que mais importa e também aquele que os modelos prontos costumam errar. Menos de trinta segundos e não há tempo para sentir que algo foi conquistado. Mais de noventa segundos e sua equipe não consegue iniciar uma conversa sem interromper, além de surgirem filas e as pessoas irem embora.</p>
<p><strong>Pedir o e-mail depois da partida, nunca antes.</strong> Uma barreira antes do jogo elimina a maioria dos participantes, porque você está pedindo que um desconhecido pague antes de saber se aquilo é divertido. Peça depois, quando a pessoa já investiu sessenta segundos e quer ver seu nome no placar, e fornecer o e-mail não custa nada. Essa simples mudança de ordem é a maior diferença entre um jogo que enche uma lista de leads e outro que não gera resultado.</p>
<p><strong>Ensinar algo sobre o que você vende.</strong> Se o jogo for apenas um modelo com outra aparência, o participante se lembrará do jogo. Se a mecânica transformar a proposta de valor do seu produto em algo jogável, ele se lembrará do que você faz. Uma empresa de infraestrutura em nuvem pode transformar o roteamento de tráfego sob alta demanda em um jogo. Uma empresa de documentos pode criar um jogo sobre organizar o impossível de organizar. Essa é a versão que as pessoas descrevem para um colega depois.</p>
<h2 id="a-estrutura-de-premios-que-realmente-gera-novas-partidas" tabindex="-1">A estrutura de prêmios que realmente gera novas partidas <a class="header-anchor" href="#a-estrutura-de-premios-que-realmente-gera-novas-partidas" aria-label="Permalink to &quot;A estrutura de prêmios que realmente gera novas partidas&quot;"></a></h2>
<p>A maioria dos estandes escolhe uma única mecânica de premiação e acaba comprometendo o resultado. Pode ser “a maior pontuação vence”, o que significa que todos abaixo dos dez primeiros não têm motivo para fornecer um e-mail, ou “todos participam de um sorteio”, o que significa que ninguém tem motivo para se esforçar ou voltar.</p>
<p>Use as duas e deixe isso bem claro na tela:</p>
<p><strong>Prêmios garantidos para os três primeiros em um horário fixo todos os dias.</strong> Um prazo cria urgência e um pódio cria rivalidade. Zere o placar a cada dia da feira para que o segundo e o terceiro dias sejam novas disputas, em vez de um resultado já definido. Isso também dá à sua equipe um motivo natural para convidar os jogadores do dia anterior a voltarem.</p>
<p><strong>Um bilhete para o sorteio a cada partida concluída, independentemente da pontuação.</strong> É assim que você gera valor com a pessoa que fica em 200º lugar. A partida dela não tinha chance e ela sabe disso, mas um bilhete ainda vale um endereço de e-mail. E como cada nova partida vale outro bilhete, essa é a mecânica que gera repetição e aumenta o tempo de permanência.</p>
<p>A habilidade recompensa poucos. O sorteio recompensa todos. Ambos funcionam com a mesma leitura de crachá.</p>
<h2 id="celulares-vencem-os-quiosques-—-e-nao-e-por-pouco" tabindex="-1">Celulares vencem os quiosques — e não é por pouco <a class="header-anchor" href="#celulares-vencem-os-quiosques-—-e-nao-e-por-pouco" aria-label="Permalink to &quot;Celulares vencem os quiosques — e não é por pouco&quot;"></a></h2>
<p>O impulso natural é comprar ou alugar tablets. Mas considere o que o celular no bolso de cada pessoa já oferece.</p>
<p>Todos levam o próprio dispositivo, então não há fila para usar o equipamento nem limite de jogadores simultâneos. Você não precisa higienizar nem carregar nada, não há nada para enviar ou segurar, e nada será roubado no segundo dia. Reproduzir o QR code não custa nada, então ele pode ficar no balcão, no banner, no encarte do cordão do crachá e no e-mail enviado antes da feira. A pessoa pode começar a jogar antes mesmo de chegar ao seu estande.</p>
<p>A desvantagem é real e precisa ser mencionada: você não controla o dispositivo, então o jogo precisa funcionar em um Android de cinco anos atrás dentro de um pavilhão com Wi-Fi saturado. Isso exige um jogo para navegador com download pequeno, sem instalação de aplicativo e sem cadastro. Se um fornecedor de jogos para estandes disser que os participantes precisam instalar alguma coisa, a perda entre “interessado” e “jogando” consumirá a maior parte do seu tráfego.</p>
<h2 id="como-fazer-a-tela-do-ranking-cumprir-seu-papel" tabindex="-1">Como fazer a tela do ranking cumprir seu papel <a class="header-anchor" href="#como-fazer-a-tela-do-ranking-cumprir-seu-papel" aria-label="Permalink to &quot;Como fazer a tela do ranking cumprir seu papel&quot;"></a></h2>
<p>A tela voltada para o corredor trabalha mais do que o próprio jogo. A maioria das pessoas que a vê nunca jogará, então ela precisa promover o estande por conta própria.</p>
<p>Exiba nela o ranking ao vivo, grande o suficiente para ser lido do corredor, com os três primeiros claramente destacados como posições premiadas e o restante dos dez melhores em segundo plano. Adicione o QR code para jogar em tamanho suficiente para alguém escaneá-lo a dois metros de distância. Explique cada parte da estrutura de prêmios em uma linha. E reserve espaço para seu próprio vídeo ou apresentação do produto em loop, porque a tela tem público independentemente de alguém estar jogando naquele momento.</p>
<p>Um detalhe que não custa nada e muda a percepção: faça o jogo jogar sozinho quando ninguém estiver participando, como uma máquina de fliperama. Um cartaz estático parece sinalização. Um jogo visivelmente em execução parece algo acontecendo — e algo acontecendo é o que faz uma pessoa no corredor virar a cabeça.</p>
<h2 id="o-que-perguntar-a-um-fornecedor-de-jogos-para-estandes" tabindex="-1">O que perguntar a um fornecedor de jogos para estandes <a class="header-anchor" href="#o-que-perguntar-a-um-fornecedor-de-jogos-para-estandes" aria-label="Permalink to &quot;O que perguntar a um fornecedor de jogos para estandes&quot;"></a></h2>
<p>Se você vai comprar em vez de criar, estas são as perguntas que realmente diferenciam os fornecedores:</p>
<p>O jogo ensina o que vendemos ou é um modelo com nosso logotipo? Posso jogar exatamente o que vocês criariam antes de pagar? Para onde vão os dados dos leads e posso exportá-los como um CSV aceito pelo nosso CRM sem intermediários? Quem será o proprietário do jogo depois? Ele exige a instalação de um aplicativo ou um cadastro antes de jogar? O que acontece quando o Wi-Fi da feira está ruim? Vocês conseguem personalizá-lo de acordo com nossa identidade visual, com a aprovação da nossa equipe de marketing, em vez de apenas aproximar nossas cores?</p>
<p>A pergunta sobre poder jogar antes de pagar é a mais reveladora. Agências costumam respondê-la com uma apresentação de slides. É um indicador razoável de que talvez nem consigam criar o jogo.</p>
<h2 id="a-realidade-do-orcamento" tabindex="-1">A realidade do orçamento <a class="header-anchor" href="#a-realidade-do-orcamento" aria-label="Permalink to &quot;A realidade do orçamento&quot;"></a></h2>
<p>Para dar uma referência de quanto isso deve custar, jogos HTML5 personalizados para estandes feitos por agências tradicionais geralmente começam na casa dos cinco dígitos e aumentam a partir daí, em grande parte porque o trabalho é orçado como um projeto de software sob medida. Pacotes de aluguel de roletas de prêmios, cabines fotográficas e jogos para tablets costumam custar de dois a cinco mil dólares por feira, e depois você devolve o equipamento sem ficar com nada.</p>
<p>Um jogo personalizado para navegador, criado com ferramentas assistidas por IA, fica bem abaixo do valor cobrado por uma agência, e você continua sendo o proprietário — algo importante se participa de três feiras por ano. A conta só fecha se o fornecedor não cobrar horas de desenvolvimento de software sob medida por algo que reutiliza uma estrutura comprovada. Portanto, pergunte qual parte do projeto é realmente nova para você e qual parte é reaproveitada.</p>
<h2 id="a-versao-resumida" tabindex="-1">A versão resumida <a class="header-anchor" href="#a-versao-resumida" aria-label="Permalink to &quot;A versão resumida&quot;"></a></h2>
<p>Um jogo para estandes justifica seu espaço quando dura sessenta segundos, é jogado no celular do próprio participante, pede o e-mail depois da partida em vez de antes, coloca um ranking ao vivo onde o corredor possa vê-lo, garante prêmios para os três primeiros em destaque enquanto oferece um bilhete de sorteio para todos os demais e é construído em torno daquilo que você realmente vende, não de um modelo alugado.</p>
<p>Faça isso direito e o jogo deixa de ser decoração do estande para se tornar o motivo pelo qual vale a pena analisar sua exportação de leads na segunda-feira.</p>
<h2 id="jogue-tres-exemplos-antes-de-decidir" tabindex="-1">Jogue três exemplos antes de decidir <a class="header-anchor" href="#jogue-tres-exemplos-antes-de-decidir" aria-label="Permalink to &quot;Jogue três exemplos antes de decidir&quot;"></a></h2>
<p>Criamos jogos personalizados para estandes, e você pode experimentar os conceitos agora mesmo no seu celular, da mesma forma que seus participantes fariam: uma corrida para estandes de feiras com ranking ao vivo, um jogo para palestras principais controlado por toda a plateia e um produto transformado em seu próprio jogo. A maioria dos projetos custa entre US$ 500 e US$ 2.000, você recebe um orçamento fechado em um dia e nada é cobrado até que o aceite.</p>
<p><strong><a href="/pt-BR/studio.html">Experimente os conceitos e solicite um orçamento →</a></strong></p>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/trade-show-booth-games-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Do Cinevva ao Cocos: a transferência do minijogo (2026)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/cinevva-to-cocos-workflow</link>
            <guid>https://app.cinevva.com/pt-BR/guides/cinevva-to-cocos-workflow</guid>
            <pubDate>Sun, 19 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Como criar o protótipo de um minijogo no Cinevva, validá-lo com jogadores reais e transferir o vencedor para produção no Cocos. O que pode ser reaproveitado, o que precisa ser reconstruído e como é o fluxo de trabalho real, passo a passo.]]></description>
            <content:encoded><![CDATA[<h1 id="do-cinevva-ao-cocos-a-transferencia-do-minijogo-2026" tabindex="-1">Do Cinevva ao Cocos: a transferência do minijogo (2026) <a class="header-anchor" href="#do-cinevva-ao-cocos-a-transferencia-do-minijogo-2026" aria-label="Permalink to &quot;Do Cinevva ao Cocos: a transferência do minijogo (2026)&quot;"></a></h1>
<figure style="margin:1.5rem 0">
<img src="https://cdn.cinevva.com/guides/cinevva-to-cocos-workflow-hero.jpg?v=1" alt="Do Cinevva ao Cocos: o fluxo de transferência de um minijogo em 2026" style="width:100%;border-radius:10px">
</figure>
<p>Cinevva e Cocos não são rivais. Eles representam duas etapas do mesmo processo. O Cinevva é onde você descobre qual ideia vale a pena desenvolver. O Cocos é onde você cria a versão final e otimizada daquela que mereceu chegar até lá. Este guia trata da transferência entre os dois: o que realmente pode ser reaproveitado, o que precisa ser reconstruído e como executar esse fluxo sem se iludir sobre nenhuma das ferramentas.</p>
<p>Vamos deixar claro desde já aquilo que muitos esperam, mas não encontrarão: não existe um botão de “exportar para um projeto Cocos” com um só clique. O Cinevva não gera uma cena do Cocos. A transferência consiste na reconstrução deliberada de um design que você já comprovou, reutilizando os assets gerados. Isso parece uma desvantagem até você perceber quanto trabalho ela evita. Para uma comparação direta sobre quando usar cada ferramenta, consulte <a href="/pt-BR/guides/cinevva-vs-cocos.html">Cinevva vs. Cocos</a>.</p>
<h2 id="por-que-fazer-a-transferencia" tabindex="-1">Por que fazer a transferência? <a class="header-anchor" href="#por-que-fazer-a-transferencia" aria-label="Permalink to &quot;Por que fazer a transferência?&quot;"></a></h2>
<p>As partes caras de um minijogo chinês — o registro de direitos autorais do software, o registro ICP, a análise da plataforma e, no caso de qualquer jogo monetizado, uma parceria com uma publicadora — só valem o investimento em um jogo que você sabe que é divertido. O problema é que você não sabe disso no início. A maioria das ideias de jogos não é divertida, e você descobre isso jogando, não planejando.</p>
<p>Por isso, esse fluxo existe para antecipar ao máximo a pergunta “isso é divertido?” e respondê-la pelo menor custo possível. Crie um protótipo no Cinevva em minutos, coloque-o nas mãos de jogadores reais e analise a retenção. Descarte os que não funcionarem. Somente o sobrevivente recebe o tratamento do Cocos e o investimento regulatório. Você não está fazendo o mesmo trabalho duas vezes; está evitando desenvolver o jogo errado em uma ferramenta cara.</p>
<h2 id="o-que-pode-ser-reaproveitado-e-o-que-nao-pode" tabindex="-1">O que pode ser reaproveitado (e o que não pode) <a class="header-anchor" href="#o-que-pode-ser-reaproveitado-e-o-que-nao-pode" aria-label="Permalink to &quot;O que pode ser reaproveitado (e o que não pode)&quot;"></a></h2>
<p>É importante ser preciso, porque é aqui que as equipes superestimam ou subestimam a transferência.</p>
<p><strong>O design validado pode ser reaproveitado, e ele é o elemento mais valioso.</strong> Você não começa no Cocos com um palpite. Você tem um jogo que pessoas realmente jogaram, métricas de retenção e uma especificação concreta: o loop principal, a curva de dificuldade, a duração das sessões e o que fez os testadores abrirem o jogo novamente. Essa é a parte difícil do design de jogos, já validada e com os riscos reduzidos.</p>
<p><strong>Os assets gerados podem ser reaproveitados.</strong> Os modelos 3D, áudios e elementos visuais que você gerou no Cinevva usam formatos padrão da web, em vez de ficarem presos em um pacote proprietário. Os modelos são exportados como glTF/GLB (as <a href="/pt-BR/tools/animate.html">ferramentas de rigging e animação</a> baixam um GLB com a animação incorporada), e os áudios usam arquivos padrão. Eles podem ser importados pelo Cocos como quaisquer outros assets. Você pode regenerá-los ou retocá-los conforme necessário, mas não precisará encomendar toda a arte do zero.</p>
<p><strong>O código não pode ser reaproveitado.</strong> O Cinevva cria um runtime nativo da web; o Cocos tem seu próprio motor, modelo de componentes e API TypeScript. A lógica do jogo precisa ser reconstruída. Esse é o verdadeiro custo da transferência, e ele é menor do que parece porque você estará reimplementando um design que entende por completo, com base em uma especificação que já funciona, em vez de descobrir o design enquanto programa.</p>
<h2 id="o-fluxo-de-trabalho-passo-a-passo" tabindex="-1">O fluxo de trabalho, passo a passo <a class="header-anchor" href="#o-fluxo-de-trabalho-passo-a-passo" aria-label="Permalink to &quot;O fluxo de trabalho, passo a passo&quot;"></a></h2>
<ol>
<li>
<p><strong>Crie o protótipo no Cinevva com o modo de minijogo ativado.</strong> Descreva o jogo em uma frase e faça iterações até ele ficar jogável. O <a href="/pt-BR/news/2026-07-19-wechat-mini-game-mode.html">modo de minijogo do WeChat</a> mantém o projeto dentro do subconjunto portátil — interface em canvas, controles pensados para toque e assets pequenos —, portanto o design validado já terá o formato de um minijogo, e não de um jogo para desktop que precisará ser adaptado depois.</p>
</li>
<li>
<p><strong>Teste com jogadores reais e analise a retenção.</strong> Compartilhe o link do navegador, de preferência com o público que você pretende alcançar. A métrica importante é se as pessoas voltam, e não se dizem que gostaram. Crie vários protótipos e deixe os dados escolherem o sobrevivente.</p>
</li>
<li>
<p><strong>Escreva a especificação com base no protótipo.</strong> Antes de mexer no Cocos, registre o que funcionou: o loop, os números e a sensação ao jogar. O protótipo é o seu documento de design; não deixe esse conhecimento se perder na transição.</p>
</li>
<li>
<p><strong>Reúna os assets.</strong> Exporte os modelos 3D e separe os áudios e elementos visuais que deseja manter. Integre-os ao seu pipeline de assets nos formatos esperados pelo Cocos.</p>
</li>
<li>
<p><strong>Reconstrua no Cocos visando o limite de 4 MB.</strong> Agora os pontos fortes do motor entram em ação: o runtime do motor vem integrado ao cliente do WeChat e, por isso, não conta no tamanho do pacote; o restante cabe graças à divisão em subpacotes com AssetBundle. Consulte o <a href="/pt-BR/guides/wechat-mini-game-engines.html">guia de motores para minijogos do WeChat</a> para saber mais sobre o empacotamento.</p>
</li>
<li>
<p><strong>Cuide da documentação em paralelo.</strong> O registro de direitos autorais do software e o registro ICP levam semanas; inicie esses processos durante o desenvolvimento para que não atrasem o lançamento.</p>
</li>
</ol>
<h2 id="quando-voce-nao-deve-fazer-a-transferencia" tabindex="-1">Quando você não deve fazer a transferência <a class="header-anchor" href="#quando-voce-nao-deve-fazer-a-transferencia" aria-label="Permalink to &quot;Quando você não deve fazer a transferência&quot;"></a></h2>
<p>Às vezes, a melhor opção é ignorar completamente o Cocos. Se o protótipo for pequeno, leve e já tiver um bom desempenho, e você pretende lançar um jogo gratuito com anúncios em vez de buscar um título com compras dentro do app e alto nível de otimização, talvez a reconstrução não compense. Um jogo simples que já respeita as restrições pode ser lançado pelo próprio caminho de exportação do Cinevva assim que estiver disponível, sem incluir um segundo motor no processo. A transferência é destinada ao jogo vencedor que precisa da otimização final ou do acabamento de produção avançado para o qual o Cocos foi criado, não a todos os protótipos.</p>
<h2 id="a-realidade-regulatoria-igual-nos-dois-casos" tabindex="-1">A realidade regulatória (igual nos dois casos) <a class="header-anchor" href="#a-realidade-regulatoria-igual-nos-dois-casos" aria-label="Permalink to &quot;A realidade regulatória (igual nos dois casos)&quot;"></a></h2>
<p>A transferência não muda as regras. Um minijogo gratuito e sustentado por anúncios precisa de um registro de direitos autorais de software por título (软著) ou de uma certificação eletrônica de direitos autorais, além de um registro ICP. Tudo isso pode ser obtido por uma pessoa física com documento de identidade da China continental. Qualquer compra dentro do app exige um banhao, que só pode ser detido por uma empresa chinesa; portanto, um estúdio estrangeiro precisa de uma publicadora local licenciada. Não importa se o jogo nasceu no Cinevva, no Cocos ou em ambos: a documentação é a mesma. Veja os detalhes no <a href="/pt-BR/guides/publish-wechat-douyin-mini-games.html">guia de publicação de minijogos no WeChat e no Douyin</a>.</p>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="o-cinevva-pode-exportar-um-projeto-cocos" tabindex="-1">O Cinevva pode exportar um projeto Cocos? <a class="header-anchor" href="#o-cinevva-pode-exportar-um-projeto-cocos" aria-label="Permalink to &quot;O Cinevva pode exportar um projeto Cocos?&quot;"></a></h3>
<p>Não. Não existe exportação com um só clique para uma cena do Cocos. O Cinevva valida o design e produz assets reutilizáveis em formatos padrão; o jogo em si é reconstruído no Cocos. O valor está em reconstruir um jogo que você já comprovou ser divertido, e não em pular a etapa de desenvolvimento.</p>
<h3 id="o-que-realmente-e-transferido-do-cinevva-para-o-cocos" tabindex="-1">O que realmente é transferido do Cinevva para o Cocos? <a class="header-anchor" href="#o-que-realmente-e-transferido-do-cinevva-para-o-cocos" aria-label="Permalink to &quot;O que realmente é transferido do Cinevva para o Cocos?&quot;"></a></h3>
<p>Três coisas: o design validado — loop, dificuldade, duração das sessões e dados de retenção —, os assets gerados — modelos 3D em glTF/GLB, áudio e arte em formatos padrão — e o seu entendimento sobre por que o jogo funciona. O código não é transferido; ele é reimplementado com a API do Cocos.</p>
<h3 id="reconstruir-o-jogo-nao-e-um-desperdicio" tabindex="-1">Reconstruir o jogo não é um desperdício? <a class="header-anchor" href="#reconstruir-o-jogo-nao-e-um-desperdicio" aria-label="Permalink to &quot;Reconstruir o jogo não é um desperdício?&quot;"></a></h3>
<p>É mais barato do que a alternativa: desenvolver o jogo errado em uma ferramenta cara. A maioria dos protótipos fracassa. Reconstruir apenas o vencedor comprovado, com base em uma especificação que já funciona, gera muito menos desperdício do que produzir completamente todas as ideias para só então descobrir qual delas valia a pena.</p>
<h3 id="preciso-usar-o-cocos-depois-do-cinevva" tabindex="-1">Preciso usar o Cocos depois do Cinevva? <a class="header-anchor" href="#preciso-usar-o-cocos-depois-do-cinevva" aria-label="Permalink to &quot;Preciso usar o Cocos depois do Cinevva?&quot;"></a></h3>
<p>Não. Se um protótipo for simples e já respeitar as restrições da plataforma, você poderá lançá-lo pelo próprio caminho do Cinevva sem usar o Cocos. A transferência é indicada para jogos que precisam de muita otimização ou de um acabamento de produção avançado.</p>
<h3 id="posso-reutilizar-os-modelos-3d-e-audios-que-gerei" tabindex="-1">Posso reutilizar os modelos 3D e áudios que gerei? <a class="header-anchor" href="#posso-reutilizar-os-modelos-3d-e-audios-que-gerei" aria-label="Permalink to &quot;Posso reutilizar os modelos 3D e áudios que gerei?&quot;"></a></h3>
<p>Sim. Os modelos gerados são exportados como glTF/GLB, e os áudios, como arquivos padrão; ambos podem ser importados pelo Cocos. Talvez seja necessário retocá-los ou gerá-los novamente para respeitar o limite de 4 MB, mas você não precisará recriar toda a arte do zero.</p>
<BuildCta
  title="Comece pelo protótipo, não pelo motor"
  desc="Valide primeiro a ideia no Cinevva. Transfira o vencedor para o Cocos somente depois que ele provar seu valor."
  prompt="Crie um jogo de arcade de um toque que seja difícil de largar" />
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/cinevva-vs-cocos.html">Cinevva vs. Cocos para minijogos</a> — a divisão entre prototipagem e produção em detalhes</li>
<li><a href="/pt-BR/guides/cocos-alternatives.html">Alternativas ao Cocos para minijogos</a> — todas as opções de motores</li>
<li><a href="/pt-BR/guides/wechat-mini-game-engines.html">Motores para minijogos do WeChat</a> — o limite de 4 MB e o empacotamento</li>
<li><a href="/pt-BR/guides/publish-wechat-douyin-mini-games.html">Como publicar minijogos no WeChat e no Douyin</a> — licenças, análise e participação na receita</li>
<li><a href="/pt-BR/news/2026-07-19-wechat-mini-game-mode.html">Modo de minijogo do WeChat</a> — desenvolvimento dentro do subconjunto portátil</li>
<li><a href="/pt-BR/engine.html">Cinevva Engine</a> — nosso motor de código aberto voltado para a web</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/cinevva-to-cocos-workflow-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Cinevva vs Cocos para minijogos (2026)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/cinevva-vs-cocos</link>
            <guid>https://app.cinevva.com/pt-BR/guides/cinevva-vs-cocos</guid>
            <pubDate>Sun, 19 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Cinevva vs Cocos Creator para criar minijogos em 2026. Onde o Cocos vence na produção e com o plugin de 4 MB do WeChat, onde uma ferramenta de IA que transforma prompts em jogos vence na velocidade de prototipagem e por que a resposta honesta é usar os dois.]]></description>
            <content:encoded><![CDATA[<h1 id="cinevva-vs-cocos-para-minijogos-2026" tabindex="-1">Cinevva vs Cocos para minijogos (2026) <a class="header-anchor" href="#cinevva-vs-cocos-para-minijogos-2026" aria-label="Permalink to &quot;Cinevva vs Cocos para minijogos (2026)&quot;"></a></h1>
<figure style="margin:1.5rem 0">
<img src="https://cdn.cinevva.com/guides/cinevva-vs-cocos-hero.jpg?v=1" alt="Cinevva vs Cocos para minijogos em 2026" style="width:100%;border-radius:10px">
</figure>
<p>Se você está criando minijogos para WeChat e Douyin, o Cocos Creator é a escolha padrão — e por bons motivos. Portanto, a pergunta não é exatamente “qual vence”. É “qual devo usar e quando”. Nós criamos uma ferramenta de IA que transforma prompts em jogos, então temos um viés evidente, e seremos transparentes sobre onde o Cocos é a ferramenta melhor e onde nem sequer estamos tentando competir.</p>
<p>A versão resumida: o Cocos domina a produção. Nós dominamos a etapa anterior à produção, transformando uma ideia em um jogo funcional com rapidez suficiente para que você possa descartar a maioria dos protótipos sem grandes custos. São tarefas diferentes, e a decisão mais inteligente geralmente é usar os dois.</p>
<p>Se você ainda estiver escolhendo um motor de minijogos, comece pelo nosso <a href="/pt-BR/guides/wechat-mini-game-engines.html">guia de motores para minijogos do WeChat</a>, que aborda em detalhes Cocos, LayaAir, Egret, o SDK de transformação do Unity e Tuanjie.</p>
<h2 id="veredito-rapido" tabindex="-1">Veredito rápido <a class="header-anchor" href="#veredito-rapido" aria-label="Permalink to &quot;Veredito rápido&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th>Cinevva</th>
<th>Cocos Creator</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Para que serve</strong></td>
<td>Prototipagem: ideia → jogo 3D funcional em minutos</td>
<td>Produção: lançar um minijogo finalizado e otimizado</td>
</tr>
<tr>
<td><strong>Como você cria</strong></td>
<td>Descreva em linguagem natural (inglês ou chinês)</td>
<td>Um editor completo, TypeScript e pipelines de arte e cenas</td>
</tr>
<tr>
<td><strong>Como lida com os 4 MB do WeChat</strong></td>
<td>Modo de subconjunto portátil; exportador em desenvolvimento</td>
<td>O melhor da categoria: motor integrado ao cliente do WeChat e divisão em subpacotes com AssetBundle</td>
</tr>
<tr>
<td><strong>Maturidade</strong></td>
<td>Novo, criado em torno de IA e evoluindo rapidamente</td>
<td>Testado em produção; a maioria dos minijogos do WeChat roda nele</td>
</tr>
<tr>
<td><strong>Perfil de equipe</strong></td>
<td>Desenvolvedores solo, designers e validação rápida de ideias</td>
<td>Estúdios e engenheiros criando jogos para lançamento</td>
</tr>
<tr>
<td><strong>Custo</strong></td>
<td>Grátis para criar no navegador</td>
<td>Grátis e de código aberto</td>
</tr>
<tr>
<td><strong>Melhor para</strong></td>
<td>Encontrar o jogo que vale a pena criar</td>
<td>Criar o jogo em que você já acredita</td>
</tr>
</tbody>
</table>
<p>A frase que importa: <strong>o Cocos é onde você cria o jogo que decidiu fazer. A Cinevva é onde você descobre qual jogo deveria fazer.</strong></p>
<h2 id="onde-o-cocos-vence-e-nos-nao-contestamos" tabindex="-1">Onde o Cocos vence (e nós não contestamos) <a class="header-anchor" href="#onde-o-cocos-vence-e-nos-nao-contestamos" aria-label="Permalink to &quot;Onde o Cocos vence (e nós não contestamos)&quot;"></a></h2>
<p>O Cocos Creator é a opção padrão segura e correta para lançar um minijogo no WeChat, e nada aqui pretende convencer você a não usá-lo.</p>
<p>Sua maior vantagem estrutural é o limite de 4 MB por pacote, o problema de engenharia mais difícil do WeChat. Desde a versão 7.0.7 do cliente do WeChat, o runtime do motor Cocos é um plugin integrado ao próprio aplicativo do WeChat, portanto ele não entra na contagem dos seus 4 MB. Seu pacote contém apenas o jogo, e não o jogo mais um motor. Nenhum outro motor oferece isso, e esse é o motivo pelo qual a maioria dos minijogos é criada com Cocos. Além disso, seu sistema AssetBundle é a forma mais eficiente de dividir recursos em subpacotes carregados sob demanda.</p>
<p>Além do empacotamento, o Cocos domina tudo o que envolve finalizar um jogo: um editor maduro, um verdadeiro framework de interface, sistemas de atualização dinâmica, um pipeline de arte e animação e anos de documentação e respostas da comunidade em chinês. Se você tem uma equipe, um design no qual acredita e um plano de lançamento, essa é a ferramenta certa. Nós mesmos recomendaríamos o Cocos.</p>
<h2 id="onde-uma-ferramenta-de-ia-baseada-em-prompts-vence" tabindex="-1">Onde uma ferramenta de IA baseada em prompts vence <a class="header-anchor" href="#onde-uma-ferramenta-de-ia-baseada-em-prompts-vence" aria-label="Permalink to &quot;Onde uma ferramenta de IA baseada em prompts vence&quot;"></a></h2>
<p>O Cocos não foi criado para o comecinho do processo, quando você ainda não sabe se a ideia é boa.</p>
<p>Na Cinevva, você descreve um jogo em uma frase, em inglês ou chinês, e recebe em minutos um jogo 3D funcional no navegador. Nove modelos especializados cuidam de 3D, animação, cenas, música, som, efeitos, interface, lógica e multijogador. Assim, você não precisa abrir um editor vazio e criar sistemas antes de testar uma única mecânica. Você começa a jogar a ideia quase imediatamente.</p>
<p>Essa velocidade muda a economia de encontrar um sucesso. Cada vez mais, o sucesso de um minijogo se parece com o de conteúdo: você não chega ao vencedor apenas pelo raciocínio; cria muitos candidatos com baixo custo e fica com aquele cujas métricas de retenção não mentem. Quando um protótipo leva minutos em vez de dias, “faça cinco esta semana e fique com aquele que realmente é divertido” torna-se um fluxo de trabalho real, não uma fantasia. Esse é o nosso diferencial — e é um diferencial genuíno, não um brinquedo.</p>
<p>Há também um aspecto específico da China. O <a href="/pt-BR/news/2026-07-19-wechat-mini-game-mode.html">modo de minijogos do WeChat</a> da Cinevva cria o jogo dentro do subconjunto portátil desde o primeiro prompt: interface desenhada em canvas em vez de HTML, controles pensados primeiro para toque, áudio em mp3, nenhum código carregado dinamicamente e uma verificação de inicialização do WebGL2 para celulares antigos. Um ambiente isolado de visualização em modo estrito sinaliza tudo o que impediria a portabilidade e envia essas informações de volta à IA para correção. O jogo já roda no seu navegador hoje e permanece dentro do subconjunto compatível com a portabilidade para o WeChat, em vez de adotar práticas que você teria de reescrever.</p>
<h2 id="as-limitacoes-reais" tabindex="-1">As limitações reais <a class="header-anchor" href="#as-limitacoes-reais" aria-label="Permalink to &quot;As limitações reais&quot;"></a></h2>
<p>Somos novos. O Cocos já lançou milhares de minijogos; nós estamos no começo, fomos criados em torno de IA e avançamos rapidamente, mas não temos uma década de casos extremos resolvidos como o Cocos. Nosso exportador, que gera um projeto pronto para abrir no WeChat DevTools, está em desenvolvimento, não concluído. Portanto, hoje a Cinevva é a etapa inicial de prototipagem e geração, não a etapa final de empacotamento. E, para um título de produção com muitos recursos e otimização pesada, no qual cada kilobyte dos 4 MB importa, o plugin integrado e o sistema AssetBundle do Cocos são vantagens que ainda não igualamos. Preferimos que você saiba disso desde o início.</p>
<h2 id="use-os-dois-o-fluxo-de-trabalho-realista" tabindex="-1">Use os dois: o fluxo de trabalho realista <a class="header-anchor" href="#use-os-dois-o-fluxo-de-trabalho-realista" aria-label="Permalink to &quot;Use os dois: o fluxo de trabalho realista&quot;"></a></h2>
<p>O enquadramento que realmente ajuda não é “escolha um”. É pensar em um pipeline.</p>
<p>Use a Cinevva para 立项, a etapa de aprovação do projeto: transforme ideias em protótipos funcionais, coloque-os diante de jogadores reais e encontre aquele com um loop que mereça investimento. Depois, decida o que esse vencedor merece. Às vezes, ele está bom o bastante para ser lançado como está. Outras vezes, justifica uma reconstrução no Cocos para a etapa final de otimização e polimento, ou uma conversa com uma publicadora. As partes caras de lançar na China — a documentação e a análise da plataforma — só são enfrentadas por um jogo que já provou ser divertido em algum lugar mais barato.</p>
<p>Por isso, não se trata realmente de Cinevva contra Cocos. É Cinevva e depois Cocos — e apenas para os jogos que conquistarem essa segunda etapa.</p>
<h2 id="a-realidade-regulatoria-igual-para-os-dois" tabindex="-1">A realidade regulatória (igual para os dois) <a class="header-anchor" href="#a-realidade-regulatoria-igual-para-os-dois" aria-label="Permalink to &quot;A realidade regulatória (igual para os dois)&quot;"></a></h2>
<p>Independentemente do motor usado, publicar na China exige passar pelas mesmas etapas. Um minijogo gratuito financiado por anúncios precisa de um registro de direitos autorais de software por título (软著) ou certificação eletrônica de direitos autorais, além de um registro ICP. Tudo isso pode ser feito por uma pessoa física com documento de identidade da China continental. Qualquer compra dentro do aplicativo exige um banhao, que só pode ser detido por uma empresa chinesa. Portanto, um estúdio estrangeiro precisa de uma publicadora local licenciada. Nada disso depende do motor. Abordamos o assunto no <a href="/pt-BR/guides/publish-wechat-douyin-mini-games.html">guia de publicação de minijogos no WeChat e Douyin</a>. A escolha do motor determina a velocidade com que você cria, mas não muda a burocracia.</p>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="a-cinevva-substitui-o-cocos" tabindex="-1">A Cinevva substitui o Cocos? <a class="header-anchor" href="#a-cinevva-substitui-o-cocos" aria-label="Permalink to &quot;A Cinevva substitui o Cocos?&quot;"></a></h3>
<p>Não, e não a apresentamos dessa forma. O Cocos é um motor de produção para lançar minijogos finalizados. A Cinevva é uma ferramenta de prototipagem com IA para encontrar o jogo que vale a pena lançar. Eles cobrem etapas diferentes, e usar ambos — criar protótipos rapidamente e depois desenvolver o vencedor da forma adequada — costuma ser mais inteligente do que escolher apenas um.</p>
<h3 id="a-cinevva-ja-pode-exportar-para-minijogos-do-wechat" tabindex="-1">A Cinevva já pode exportar para minijogos do WeChat? <a class="header-anchor" href="#a-cinevva-ja-pode-exportar-para-minijogos-do-wechat" aria-label="Permalink to &quot;A Cinevva já pode exportar para minijogos do WeChat?&quot;"></a></h3>
<p>O modo de minijogos do WeChat da Cinevva cria seu jogo dentro do subconjunto portátil, facilitando a portabilidade, e o jogo já roda no navegador. O exportador que gera um projeto pronto para envio pelo WeChat DevTools está em desenvolvimento. Em contraste, o Cocos já oferece hoje um processo completo e de primeira classe para exportação ao WeChat.</p>
<h3 id="por-que-o-cocos-e-melhor-para-o-limite-de-4-mb" tabindex="-1">Por que o Cocos é melhor para o limite de 4 MB? <a class="header-anchor" href="#por-que-o-cocos-e-melhor-para-o-limite-de-4-mb" aria-label="Permalink to &quot;Por que o Cocos é melhor para o limite de 4 MB?&quot;"></a></h3>
<p>Porque o runtime do motor Cocos é integrado ao próprio cliente do WeChat e, portanto, não entra na contagem do pacote inicial de 4 MB. Além disso, seu sistema AssetBundle divide o restante de forma eficiente em subpacotes carregados sob demanda. Essa é uma vantagem estrutural que nenhum outro motor oferece e o motivo pelo qual a maioria dos minijogos do WeChat é criada com Cocos.</p>
<h3 id="qual-deles-um-desenvolvedor-solo-deveria-usar" tabindex="-1">Qual deles um desenvolvedor solo deveria usar? <a class="header-anchor" href="#qual-deles-um-desenvolvedor-solo-deveria-usar" aria-label="Permalink to &quot;Qual deles um desenvolvedor solo deveria usar?&quot;"></a></h3>
<p>Comece na Cinevva para encontrar uma ideia que realmente seja divertida sem antes passar dias em um editor. Se um protótipo comprovar seu valor e precisar de muita otimização para cumprir o limite de 4 MB, migre esse projeto para o Cocos. Para a maioria dos experimentos iniciais, a velocidade de transformar prompts em jogos é a vantagem mais importante.</p>
<h3 id="o-motor-muda-a-documentacao-de-que-preciso-na-china" tabindex="-1">O motor muda a documentação de que preciso na China? <a class="header-anchor" href="#o-motor-muda-a-documentacao-de-que-preciso-na-china" aria-label="Permalink to &quot;O motor muda a documentação de que preciso na China?&quot;"></a></h3>
<p>Não. Os direitos autorais de software, o registro ICP e o banhao para jogos pagos são exigências regulatórias e das plataformas, idênticas quer você use Cocos, Cinevva ou qualquer outra opção.</p>
<BuildCta
  title="Crie um protótipo da ideia antes de desenvolvê-la no Cocos"
  desc="Descreva um minijogo e jogue-o no navegador em minutos. Fique com aquele que realmente é divertido."
  prompt="Crie um jogo arcade de um toque que seja difícil de largar" />
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/wechat-mini-game-engines.html">Motores para minijogos do WeChat</a> — comparação entre Cocos, LayaAir, Egret, Unity e Tuanjie quanto ao limite de 4 MB</li>
<li><a href="/pt-BR/guides/cocos-alternatives.html">Alternativas ao Cocos para minijogos</a> — todas as opções, escolhidas de acordo com o motivo pelo qual você busca algo além do Cocos</li>
<li><a href="/pt-BR/guides/cinevva-to-cocos-workflow.html">Da Cinevva ao Cocos: a transição de um minijogo</a> — como criar o protótipo aqui e desenvolver o vencedor no Cocos</li>
<li><a href="/pt-BR/guides/china-mini-game-platforms.html">Comparação entre plataformas chinesas de minijogos e HTML5</a> — WeChat, Douyin, QQ, 4399 e as demais</li>
<li><a href="/pt-BR/guides/publish-wechat-douyin-mini-games.html">Como publicar minijogos no WeChat e Douyin</a> — licenças, análise e participação na receita</li>
<li><a href="/pt-BR/news/2026-07-19-wechat-mini-game-mode.html">Modo de minijogos do WeChat</a> — como a Cinevva cria jogos dentro do subconjunto portátil</li>
<li><a href="/pt-BR/engine.html">Motor Cinevva</a> — nosso motor de código aberto criado primeiro para a web</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/cinevva-vs-cocos-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Alternativas ao Cocos para minijogos (2026)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/cocos-alternatives</link>
            <guid>https://app.cinevva.com/pt-BR/guides/cocos-alternatives</guid>
            <pubDate>Sun, 19 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[As verdadeiras alternativas ao Cocos Creator para minijogos e jogos web em 2026, escolhidas de acordo com o seu objetivo. LayaAir, Egret, o SDK de conversão da Unity, Tuanjie, Three.js e a abordagem de criação de jogos por prompts com IA, com uma avaliação honesta de cada opção.]]></description>
            <content:encoded><![CDATA[<h1 id="alternativas-ao-cocos-para-minijogos-2026" tabindex="-1">Alternativas ao Cocos para minijogos (2026) <a class="header-anchor" href="#alternativas-ao-cocos-para-minijogos-2026" aria-label="Permalink to &quot;Alternativas ao Cocos para minijogos (2026)&quot;"></a></h1>
<figure style="margin:1.5rem 0">
<img src="https://cdn.cinevva.com/guides/cocos-alternatives-hero.jpg?v=1" alt="Alternativas ao Cocos para minijogos em 2026" style="width:100%;border-radius:10px">
</figure>
<p>O Cocos Creator é o motor padrão para minijogos do WeChat e do Douyin e, para lançar um jogo finalizado, geralmente é a escolha certa. Mas “padrão” não significa “único”, e há motivos reais para procurar outra opção: você quer um fluxo de trabalho diferente, está portando um jogo existente, quer que a IA produza a primeira versão ou está apenas testando se uma ideia é divertida antes de se comprometer com um motor completo.</p>
<p>Este guia organiza as alternativas de acordo com o motivo da sua busca, não como um ranking. Para uma análise mais aprofundada de cada motor em relação ao limite de 4 MB, consulte o <a href="/pt-BR/guides/wechat-mini-game-engines.html">guia de motores para minijogos do WeChat</a>.</p>
<h2 id="primeiro-por-que-as-pessoas-deixam-o-cocos" tabindex="-1">Primeiro, por que as pessoas deixam o Cocos <a class="header-anchor" href="#primeiro-por-que-as-pessoas-deixam-o-cocos" aria-label="Permalink to &quot;Primeiro, por que as pessoas deixam o Cocos&quot;"></a></h2>
<p>O Cocos é excelente para produção e tem uma vantagem estrutural no WeChat: o runtime do motor vem integrado ao cliente do WeChat, portanto não é contabilizado no limite de 4 MB do seu pacote. É difícil superar isso. Os motivos mais comuns para ainda buscar uma alternativa são a preferência por outro fluxo de trabalho — alguns desenvolvedores simplesmente preferem outro editor —, uma base de código existente em outro motor que você prefere não reescrever, o desejo de pular totalmente a fase do editor vazio e deixar a IA gerar um protótipo jogável ou a vontade de usar uma linguagem e uma stack que você já conhece. Escolha a alternativa de acordo com o seu motivo.</p>
<h2 id="referencia-rapida" tabindex="-1">Referência rápida <a class="header-anchor" href="#referencia-rapida" aria-label="Permalink to &quot;Referência rápida&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Alternativa</th>
<th>Melhor motivo para escolhê-la</th>
<th>2D/3D</th>
<th>Situação no WeChat</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>LayaAir</strong></td>
<td>Você prefere o fluxo de trabalho e quer o WeChat como plataforma de primeira classe</td>
<td>2D + 3D</td>
<td>Forte, mas o motor consome parte do limite do pacote</td>
</tr>
<tr>
<td><strong>Egret</strong></td>
<td>Manutenção de um jogo existente feito com Egret</td>
<td>2D</td>
<td>Legado, com ecossistema cada vez menor</td>
</tr>
<tr>
<td><strong>Unity (SDK de conversão)</strong></td>
<td>Portar um jogo existente feito na Unity</td>
<td>2D + 3D</td>
<td>Conversão de WebGL, builds grandes</td>
</tr>
<tr>
<td><strong>Tuanjie (Unity China)</strong></td>
<td>Experiência com Unity e compromisso com o mercado chinês</td>
<td>2D + 3D</td>
<td>Exportação nativa para o WeChat</td>
</tr>
<tr>
<td><strong>Three.js + weapp-adapter</strong></td>
<td>Jogo personalizado pequeno, com equipe experiente em Three.js</td>
<td>2D + 3D</td>
<td>Você cuida de toda a infraestrutura</td>
</tr>
<tr>
<td><strong>Cinevva (IA de prompt para jogo)</strong></td>
<td>Criar um protótipo antes de se comprometer com qualquer motor</td>
<td>3D</td>
<td>Modo de subconjunto portável; exportador em desenvolvimento</td>
</tr>
</tbody>
</table>
<h2 id="se-voce-quer-um-motor-com-suporte-de-primeira-classe-ao-wechat-layaair" tabindex="-1">Se você quer um motor com suporte de primeira classe ao WeChat: LayaAir <a class="header-anchor" href="#se-voce-quer-um-motor-com-suporte-de-primeira-classe-ao-wechat-layaair" aria-label="Permalink to &quot;Se você quer um motor com suporte de primeira classe ao WeChat: LayaAir&quot;"></a></h2>
<p>O LayaAir é a alternativa mais diretamente comparável. Ele se adaptou cedo ao WeChat, trata a plataforma como um destino de build de primeira classe, oferece suporte a 2D e 3D, usa TypeScript e conta com uma base fiel de desenvolvedores que simplesmente preferem seu fluxo de trabalho ao do Cocos. Desenvolvedores que já usaram os dois costumam dizer que a escolha é mais uma questão de preferência do que de capacidade. A única desvantagem: o runtime do LayaAir não vem integrado ao cliente do WeChat como o do Cocos, então o próprio motor consome uma parte maior do seu limite de 4 MB. Isso funciona bem para projetos 2D pequenos, mas fica mais apertado em jogos 3D com muitos assets.</p>
<h2 id="se-voce-esta-portando-um-jogo-existente-unity-ou-tuanjie" tabindex="-1">Se você está portando um jogo existente: Unity ou Tuanjie <a class="header-anchor" href="#se-voce-esta-portando-um-jogo-existente-unity-ou-tuanjie" aria-label="Permalink to &quot;Se você está portando um jogo existente: Unity ou Tuanjie&quot;"></a></h2>
<p>Se o seu jogo já existe na Unity, não o reescreva. A Tencent e a Unity mantêm um SDK oficial de conversão que transforma uma build WebGL da Unity em um pacote de minijogo, com exportação em um clique desde meados de 2025. Seja realista quanto à desvantagem: builds WebGL da Unity são grandes, e o pacote inicial de 4 MB é um limite severo para um motor que não foi projetado em torno dessa restrição. Portanto, espere investir um esforço considerável em remoção de conteúdo desnecessário e divisão em subpacotes. Se você está assumindo um compromisso de longo prazo com a China e já domina a Unity, o Tuanjie — o motor localizado da Unity China — trata o WeChat como um destino de exportação nativo, em vez de usar uma conversão de WebGL, evitando boa parte desse excesso de tamanho.</p>
<h2 id="se-voce-quer-o-maximo-de-controle-three-js-e-webgl-puro" tabindex="-1">Se você quer o máximo de controle: Three.js e WebGL puro <a class="header-anchor" href="#se-voce-quer-o-maximo-de-controle-three-js-e-webgl-puro" aria-label="Permalink to &quot;Se você quer o máximo de controle: Three.js e WebGL puro&quot;"></a></h2>
<p>É possível executar Three.js ou WebGL escrito à mão dentro de um minijogo usando o <code>weapp-adapter</code> do WeChat, que simula os objetos de DOM e canvas esperados pela biblioteca. Essa é a opção mais flexível e também a que exige mais trabalho: você assume o controle do loop de renderização, do pipeline de assets, da divisão em subpacotes e de todos os casos extremos do adaptador. Ela faz sentido para um jogo personalizado pequeno e sensível ao tamanho ou quando sua equipe já trabalha com Three.js. Também é o caminho mais próximo de um jogo para navegador que você já tenha criado.</p>
<h2 id="se-voce-esta-mantendo-um-projeto-legado-egret-com-cautela" tabindex="-1">Se você está mantendo um projeto legado: Egret, com cautela <a class="header-anchor" href="#se-voce-esta-mantendo-um-projeto-legado-egret-com-cautela" aria-label="Permalink to &quot;Se você está mantendo um projeto legado: Egret, com cautela&quot;"></a></h2>
<p>O Egret (白鹭) é um motor HTML5 2D mais antigo que viabilizou muitos dos primeiros minijogos. Ele ainda funciona, mas o mercado migrou para Cocos e Laya, e iniciar um novo projeto com ele em 2026 significa apostar em um ecossistema cada vez menor. Use-o para manter um jogo existente feito com Egret; não comece um projeto novo com ele.</p>
<h2 id="se-voce-quer-pular-totalmente-o-editor-uma-ferramenta-de-ia-que-transforma-prompts-em-jogos" tabindex="-1">Se você quer pular totalmente o editor: uma ferramenta de IA que transforma prompts em jogos <a class="header-anchor" href="#se-voce-quer-pular-totalmente-o-editor-uma-ferramenta-de-ia-que-transforma-prompts-em-jogos" aria-label="Permalink to &quot;Se você quer pular totalmente o editor: uma ferramenta de IA que transforma prompts em jogos&quot;"></a></h2>
<p>A categoria mais recente não é apenas outro editor: ela elimina completamente a necessidade de abrir um editor. Com a Cinevva, você descreve um jogo em linguagem natural, em inglês ou chinês, e recebe em poucos minutos um jogo 3D executável no navegador, com nove modelos especializados cuidando de 3D, animação, cenas, música, som, efeitos, interface, lógica e multiplayer.</p>
<p>Isso não substitui o Cocos, e não fingimos que substitui. O Cocos finaliza e otimiza jogos; a Cinevva serve para a etapa anterior, quando você descobre qual ideia vale a pena concluir. Seu <a href="/pt-BR/news/2026-07-19-wechat-mini-game-mode.html">modo de minijogo do WeChat</a> desenvolve desde o primeiro prompt dentro do subconjunto portável — interface em canvas, controles priorizando o toque, áudio mp3, ausência de código dinâmico e uma verificação de inicialização do WebGL2 —, enquanto um ambiente isolado de modo estrito sinaliza qualquer elemento que impediria a portabilidade para o WeChat. O fluxo de trabalho realista é criar protótipos rapidamente aqui, manter o jogo cujas métricas de retenção comprovarem o potencial e então decidir se ele será lançado como está ou se merece uma build completa no Cocos. Pense nisso como o início do funil que alimenta o motor usado no lançamento final.</p>
<h2 id="como-escolher" tabindex="-1">Como escolher <a class="header-anchor" href="#como-escolher" aria-label="Permalink to &quot;Como escolher&quot;"></a></h2>
<p>Escolha a ferramenta de acordo com o motivo que levou você a procurar algo além do Cocos. Prefere outro fluxo de trabalho: LayaAir. Está portando um jogo existente da Unity: o SDK de conversão ou o Tuanjie para uma estratégia de longo prazo. Seu projeto é pequeno, personalizado ou já usa Three.js: <code>weapp-adapter</code> e WebGL puro. Está mantendo um título antigo: Egret. Quer validar uma ideia antes de se comprometer com qualquer motor: uma ferramenta de IA que transforma prompts em jogos e, depois, leve o projeto vencedor para o Cocos ou Laya se ele merecer o refinamento.</p>
<h2 id="a-barreira-regulatoria-independentemente-do-motor" tabindex="-1">A barreira regulatória (independentemente do motor) <a class="header-anchor" href="#a-barreira-regulatoria-independentemente-do-motor" aria-label="Permalink to &quot;A barreira regulatória (independentemente do motor)&quot;"></a></h2>
<p>Nenhuma alternativa muda as regras de publicação. Um minijogo gratuito financiado por anúncios precisa de um registro de direitos autorais de software específico para o título (软著) ou uma certificação eletrônica de direitos autorais, além de um registro ICP. Uma pessoa física com documento de identidade da China continental pode fazer isso. Qualquer compra dentro do aplicativo exige um banhao, que só pode ser detido por uma empresa chinesa. Portanto, estúdios estrangeiros precisam de uma publicadora local licenciada. Consulte o <a href="/pt-BR/guides/publish-wechat-douyin-mini-games.html">guia de publicação</a>. Escolha o motor pensando na build; a burocracia é a mesma em todos os casos.</p>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="qual-e-a-melhor-alternativa-ao-cocos-para-minijogos-do-wechat" tabindex="-1">Qual é a melhor alternativa ao Cocos para minijogos do WeChat? <a class="header-anchor" href="#qual-e-a-melhor-alternativa-ao-cocos-para-minijogos-do-wechat" aria-label="Permalink to &quot;Qual é a melhor alternativa ao Cocos para minijogos do WeChat?&quot;"></a></h3>
<p>O LayaAir é a alternativa direta mais próxima, com suporte de primeira classe ao WeChat e um fluxo de trabalho semelhante em TypeScript para 2D e 3D. Sua desvantagem é que o runtime não vem integrado ao cliente do WeChat, então ele consome uma parte maior do seu limite de 4 MB. Para portar um jogo existente da Unity, o SDK de conversão da Unity ou o Tuanjie são opções mais adequadas.</p>
<h3 id="existe-uma-alternativa-gratuita-ao-cocos" tabindex="-1">Existe uma alternativa gratuita ao Cocos? <a class="header-anchor" href="#existe-uma-alternativa-gratuita-ao-cocos" aria-label="Permalink to &quot;Existe uma alternativa gratuita ao Cocos?&quot;"></a></h3>
<p>Sim. O próprio Cocos é gratuito e de código aberto, assim como o LayaAir, o Three.js e a abordagem de prototipagem com IA no navegador. A Unity é gratuita abaixo do seu limite de receita. O custo raramente é o fator decisivo entre essas opções; o fluxo de trabalho e o ponto de partida do seu projeto importam mais.</p>
<h3 id="posso-usar-ia-em-vez-do-cocos-para-criar-um-minijogo" tabindex="-1">Posso usar IA em vez do Cocos para criar um minijogo? <a class="header-anchor" href="#posso-usar-ia-em-vez-do-cocos-para-criar-um-minijogo" aria-label="Permalink to &quot;Posso usar IA em vez do Cocos para criar um minijogo?&quot;"></a></h3>
<p>Você pode usar IA para criar rapidamente um protótipo. A Cinevva transforma um prompt em um jogo executável e desenvolve dentro do subconjunto portável do WeChat, o que é ideal para encontrar uma ideia que vale a pena desenvolver. Para um título de produção finalizado e altamente otimizado, um motor consolidado como o Cocos ainda é a ferramenta mais robusta. Por isso, o padrão mais comum é criar o protótipo com IA e desenvolver o projeto vencedor no Cocos.</p>
<h3 id="qual-alternativa-e-melhor-para-portar-um-jogo-existente" tabindex="-1">Qual alternativa é melhor para portar um jogo existente? <a class="header-anchor" href="#qual-alternativa-e-melhor-para-portar-um-jogo-existente" aria-label="Permalink to &quot;Qual alternativa é melhor para portar um jogo existente?&quot;"></a></h3>
<p>Se for um jogo da Unity, o SDK de conversão para o WeChat permite fazer isso sem reescrever o projeto, enquanto o Tuanjie é a opção mais preparada para o futuro caso você esteja comprometido com o mercado chinês. Se for um jogo em Three.js ou WebGL, o caminho é o <code>weapp-adapter</code>. Se já for um jogo para navegador, sua estrutura provavelmente já é próxima do que o WeChat exige.</p>
<BuildCta
  title="Teste a ideia antes de escolher um motor"
  desc="Descreva um minijogo e jogue-o no navegador em poucos minutos. Depois, leve o projeto vencedor para um motor completo."
  prompt="Crie um jogo colorido de empilhar objetos com física que seja difícil de largar" />
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/cinevva-vs-cocos.html">Cinevva vs. Cocos para minijogos</a> — a divisão entre prototipagem e produção em detalhes</li>
<li><a href="/pt-BR/guides/cinevva-to-cocos-workflow.html">Da Cinevva ao Cocos: a transição do minijogo</a> — crie o protótipo aqui e desenvolva o projeto vencedor no Cocos</li>
<li><a href="/pt-BR/guides/wechat-mini-game-engines.html">Motores para minijogos do WeChat</a> — todas as opções de motores e o limite de 4 MB</li>
<li><a href="/pt-BR/guides/china-mini-game-platforms.html">Comparativo de plataformas chinesas de minijogos e HTML5</a> — WeChat, Douyin, QQ, 4399 e outras</li>
<li><a href="/pt-BR/guides/publish-wechat-douyin-mini-games.html">Como publicar minijogos no WeChat e Douyin</a> — licenças, análise e participação na receita</li>
<li><a href="/pt-BR/guides/localize-web-game-china.html">Como localizar um jogo web para a China</a> — fontes, hospedagem e pagamentos</li>
<li><a href="/pt-BR/engine.html">Motor Cinevva</a> — nosso motor de código aberto voltado para a web</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/cocos-alternatives-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Melhores geradores de modelos 3D com IA em 2026 (texto para 3D e imagem para 3D)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/ai-3d-model-generators</link>
            <guid>https://app.cinevva.com/pt-BR/guides/ai-3d-model-generators</guid>
            <pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Os melhores geradores de modelos 3D com IA em 2026, de texto para 3D e imagem para 3D. Comparativo entre Meshy 6, Tripo, Rodin, TRELLIS.2, Hunyuan3D e SAM 3D, com explicação sobre licenciamento.]]></description>
            <content:encoded><![CDATA[<h1 id="melhores-geradores-de-modelos-3d-com-ia-em-2026-texto-para-3d-e-imagem-para-3d" tabindex="-1">Melhores geradores de modelos 3D com IA em 2026 (texto para 3D e imagem para 3D) <a class="header-anchor" href="#melhores-geradores-de-modelos-3d-com-ia-em-2026-texto-para-3d-e-imagem-para-3d" aria-label="Permalink to &quot;Melhores geradores de modelos 3D com IA em 2026 (texto para 3D e imagem para 3D)&quot;"></a></h1>
<p><em>Última atualização: julho de 2026.</em></p>
<p>A resposta curta: Meshy 6 e Tripo são os melhores geradores de modelos 3D com IA hospedados em 2026, Rodin Gen-2.5 vence em detalhes geométricos brutos, e o TRELLIS.2 da Microsoft (licença MIT) é o melhor modelo que você pode executar por conta própria. Se quiser experimentar gratuitamente a conversão de imagem para 3D no navegador, sem instalar nada, o <a href="/pt-BR/tools/hunyuan3d.html">Gerador de modelos 3D</a> da Cinevva transforma uma foto ou um prompt de texto em uma malha texturizada com PBR que você pode baixar como GLB ou OBJ.</p>
<p>Este guia trata exclusivamente e em profundidade da geração 3D. Para texturas, áudio e o restante do pipeline de assets com IA, consulte nosso <a href="/pt-BR/guides/ai-asset-generators-games.html">guia de geradores de assets com IA</a>.</p>
<h2 id="escolhas-rapidas" tabindex="-1">Escolhas rápidas <a class="header-anchor" href="#escolhas-rapidas" aria-label="Permalink to &quot;Escolhas rápidas&quot;"></a></h2>
<ul>
<li><strong>Melhor ferramenta hospedada para uso geral:</strong> Meshy 6 (opções de topologia limpa, modo Low Poly e grande ecossistema).</li>
<li><strong>Melhor ferramenta hospedada para pipelines de jogos:</strong> Tripo (motor v3.1, rigging automático, remesh em quads e créditos baratos).</li>
<li><strong>Melhor detalhamento geométrico:</strong> Rodin Gen-2.5 da Hyper3D (detalhes em nível de escultura e saída com mais de 10 milhões de polígonos).</li>
<li><strong>Melhor modelo de código aberto:</strong> Microsoft TRELLIS.2 (licença MIT, PBR nativo e sem restrições).</li>
<li><strong>Melhores opções gratuitas no navegador:</strong> <a href="/pt-BR/tools/hunyuan3d.html">Gerador de modelos 3D</a> e <a href="/pt-BR/tools/sam3d.html">captura de imagem para 3D</a> da Cinevva.</li>
</ul>
<h2 id="comparativo-rapido" tabindex="-1">Comparativo rápido <a class="header-anchor" href="#comparativo-rapido" aria-label="Permalink to &quot;Comparativo rápido&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Ferramenta</th>
<th>Tipo</th>
<th>Entrada</th>
<th>Saída</th>
<th>Uso comercial</th>
<th>Plano gratuito</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Meshy 6</strong></td>
<td>Hospedado</td>
<td>Texto, imagem</td>
<td>GLB, FBX, OBJ, STL, mapas PBR</td>
<td>Planos pagos (gratuito = CC BY 4.0)</td>
<td>100 créditos/mês</td>
</tr>
<tr>
<td><strong>Tripo (v3.1)</strong></td>
<td>Hospedado</td>
<td>Texto, imagem</td>
<td>GLB, FBX, OBJ, STL, PBR, rigging automático</td>
<td>Planos pagos</td>
<td>Sim, uso não comercial</td>
</tr>
<tr>
<td><strong>Rodin Gen-2.5</strong></td>
<td>Hospedado</td>
<td>Texto, imagem, múltiplas imagens</td>
<td>Malha com PBR, opção em quads</td>
<td>Planos pagos</td>
<td>Geração gratuita</td>
</tr>
<tr>
<td><strong>Hi3D (Hitem3D)</strong></td>
<td>Hospedado</td>
<td>Imagem, múltiplas imagens</td>
<td>Malha de alta resolução</td>
<td>Planos pagos</td>
<td>Créditos de teste</td>
</tr>
<tr>
<td><strong>Tencent Hunyuan 3D</strong></td>
<td>Hospedado</td>
<td>Texto, imagem, esboço</td>
<td>OBJ, GLB, PBR</td>
<td>Consulte os termos do plano</td>
<td>20 gerações/dia</td>
</tr>
<tr>
<td><strong>Cinevva 3D Generator</strong></td>
<td>Hospedado, gratuito</td>
<td>Texto, imagem</td>
<td>GLB, OBJ, PBR</td>
<td>Sim</td>
<td>Totalmente gratuito</td>
</tr>
<tr>
<td><strong>TRELLIS.2</strong></td>
<td>Código aberto (MIT)</td>
<td>Imagem</td>
<td>GLB, OBJ, PLY, PBR até 4K</td>
<td>Sim</td>
<td>Auto-hospedado</td>
</tr>
<tr>
<td><strong>Hunyuan3D 2.1</strong></td>
<td>Código aberto</td>
<td>Imagem</td>
<td>Malha + PBR</td>
<td>Sim, com limitações regionais</td>
<td>Auto-hospedado</td>
</tr>
<tr>
<td><strong>SAM 3D</strong></td>
<td>Código aberto</td>
<td>Uma única foto</td>
<td>Gaussian splat, geometria</td>
<td>Sim (Licença SAM)</td>
<td>Auto-hospedado</td>
</tr>
<tr>
<td><strong>SPAR3D</strong></td>
<td>Código aberto</td>
<td>Uma única foto</td>
<td>Malha GLB texturizada</td>
<td>Sim, abaixo de US$ 1 milhão em receita</td>
<td>Auto-hospedado</td>
</tr>
</tbody>
</table>
<p>Verificado em julho de 2026. Esse setor muda todo mês, portanto consulte os termos de cada ferramenta antes de publicar seu projeto.</p>
<h2 id="as-ferramentas-hospedadas" tabindex="-1">As ferramentas hospedadas <a class="header-anchor" href="#as-ferramentas-hospedadas" aria-label="Permalink to &quot;As ferramentas hospedadas&quot;"></a></h2>
<h3 id="meshy" tabindex="-1">Meshy <a class="header-anchor" href="#meshy" aria-label="Permalink to &quot;Meshy&quot;"></a></h3>
<p>O gerador 3D com IA mais popular e, em 2026, o produto mais completo. O motor atual é o Meshy 6, que entrou em prévia pública em outubro de 2025 e ficou disponível para o público geral em janeiro de 2026. Os principais avanços são geometria estanque, um modo Low Poly voltado diretamente para desenvolvedores de jogos e remesh nativo em quads, permitindo obter um modelo com edge loops de verdade em vez de um emaranhado de triângulos.</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Tipo</strong></td>
<td>Hospedado</td>
</tr>
<tr>
<td><strong>Entrada</strong></td>
<td>Texto para 3D e imagem para 3D</td>
</tr>
<tr>
<td><strong>Saída</strong></td>
<td>GLB, FBX, OBJ, STL, com mapas de textura PBR e topologia em quads ou triângulos</td>
</tr>
<tr>
<td><strong>Uso comercial</strong></td>
<td>Pro ou superior. Modelos do plano gratuito são publicados sob CC BY 4.0</td>
</tr>
<tr>
<td><strong>Plano gratuito</strong></td>
<td>100 créditos/mês, renovados mensalmente</td>
</tr>
<tr>
<td><strong>Melhor para</strong></td>
<td>Props de jogos e assets de uso geral com o mínimo de ajustes</td>
</tr>
</tbody>
</table>
<p>Opinião sincera: Meshy é a escolha padrão mais segura. A qualidade da saída é sempre boa, embora não impressionante, as ferramentas de topologia são as melhores entre os geradores hospedados, e o plano Pro por US$ 20/mês, com 1.000 créditos e propriedade privada integral, tem preço justo. O porém do plano gratuito é que seus modelos ficam públicos sob CC BY 4.0, então qualquer pessoa pode usá-los e você precisa atribuir crédito ao Meshy caso os publique. <a href="https://www.meshy.ai" target="_blank" rel="noreferrer">meshy.ai</a></p>
<h3 id="tripo" tabindex="-1">Tripo <a class="header-anchor" href="#tripo" aria-label="Permalink to &quot;Tripo&quot;"></a></h3>
<p>O Tripo vem da VAST, a equipe que desenvolveu o TripoSR em conjunto com a Stability AI, e isso fica evidente na velocidade. O motor v3.1 atual lida bem com prompts de texto complexos, e a plataforma foi criada em torno de fluxos de trabalho para jogos: rigging automático, remesh em quads como recurso adicional de um clique e uma opção Smart Mesh para topologia pronta para jogos.</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Tipo</strong></td>
<td>Hospedado</td>
</tr>
<tr>
<td><strong>Entrada</strong></td>
<td>Texto para 3D e imagem para 3D</td>
</tr>
<tr>
<td><strong>Saída</strong></td>
<td>GLB, FBX, OBJ, STL, texturas PBR em 4K e rigging automático opcional</td>
</tr>
<tr>
<td><strong>Uso comercial</strong></td>
<td>Pro ou superior. O plano gratuito não permite uso comercial</td>
</tr>
<tr>
<td><strong>Plano gratuito</strong></td>
<td>Sim, com créditos mensais, somente para uso pessoal</td>
</tr>
<tr>
<td><strong>Melhor para</strong></td>
<td>Personagens e criaturas que você quer riggar rapidamente</td>
</tr>
</tbody>
</table>
<p>Opinião sincera: o plano Pro do Tripo, por US$ 19,90/mês, inclui 3.000 créditos, aproximadamente 120 gerações, oferecendo o melhor custo por crédito entre os três maiores. A qualidade do rigging é boa para humanoides e inconsistente para qualquer coisa com uma quantidade incomum de membros. A saída do plano gratuito não pode ser comercializada de forma alguma, uma regra mais rígida que o esquema CC BY 4.0 do Meshy. <a href="https://www.tripo3d.ai" target="_blank" rel="noreferrer">tripo3d.ai</a></p>
<h3 id="rodin-hyper3d" tabindex="-1">Rodin (Hyper3D) <a class="header-anchor" href="#rodin-hyper3d" aria-label="Permalink to &quot;Rodin (Hyper3D)&quot;"></a></h3>
<p>O Rodin sempre foi a escolha dos mais exigentes com topologia, e o Gen-2.5 (lançado em maio de 2026) levou isso ainda mais longe. Ele gera detalhes em nível de escultura, com mais de 10 milhões de polígonos, oferece um controle de cinco níveis de “esforço de raciocínio” que troca velocidade por qualidade (cerca de 1 milhão de polígonos em 4 segundos na configuração mais baixa) e adiciona 3D ControlNet, edição 3D localizada e refinamento por partes.</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Tipo</strong></td>
<td>Hospedado</td>
</tr>
<tr>
<td><strong>Entrada</strong></td>
<td>Texto, imagem, fusão de múltiplas imagens</td>
</tr>
<tr>
<td><strong>Saída</strong></td>
<td>Malha high poly com PBR e topologia em quads nos planos superiores</td>
</tr>
<tr>
<td><strong>Uso comercial</strong></td>
<td>Planos pagos. Creator por US$ 30/mês, Business por US$ 120/mês</td>
</tr>
<tr>
<td><strong>Plano gratuito</strong></td>
<td>Geração e pré-visualização gratuitas, download pago</td>
</tr>
<tr>
<td><strong>Melhor para</strong></td>
<td>Assets principais e modelos ricos em detalhes nos quais a topologia é importante</td>
</tr>
</tbody>
</table>
<p>Opinião sincera: o detalhamento da saída é o melhor entre as ferramentas hospedadas, e as ferramentas de edição (inpainting 3D e regeneração de uma única parte do modelo) estão à frente de todas as concorrentes. Também é a opção mais cara, e as texturas 4K com exportação high poly em quads ficam restritas ao plano Business de US$ 120/mês. Use-o para os dez assets que importam, não para os duzentos que não importam. <a href="https://hyper3d.ai" target="_blank" rel="noreferrer">hyper3d.ai</a></p>
<h3 id="hi3d-antigo-hitem3d" tabindex="-1">Hi3D (antigo Hitem3D) <a class="header-anchor" href="#hi3d-antigo-hitem3d" aria-label="Permalink to &quot;Hi3D (antigo Hitem3D)&quot;"></a></h3>
<p>A novidade de destaque em 2026. Criado pela Math Magic com base em dois modelos de pesquisa publicados, Sparc3D (NeurIPS 2025, geometria estanque de alta resolução) e Ultra3D (aceleração por atenção a partes), ele gera em resolução voxel de até 1536³, a maior fidelidade geométrica bruta entre todas as ferramentas hospedadas. Em 2026, a marca mudou de Hitem3D para Hi3D.</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Tipo</strong></td>
<td>Hospedado</td>
</tr>
<tr>
<td><strong>Entrada</strong></td>
<td>Imagem e múltiplas imagens</td>
</tr>
<tr>
<td><strong>Saída</strong></td>
<td>Malha estanque de alta resolução</td>
</tr>
<tr>
<td><strong>Uso comercial</strong></td>
<td>Planos pagos, consulte os termos atuais</td>
</tr>
<tr>
<td><strong>Plano gratuito</strong></td>
<td>Créditos de teste</td>
</tr>
<tr>
<td><strong>Melhor para</strong></td>
<td>Trabalhos que priorizam detalhes: miniaturas, itens colecionáveis e impressão 3D</td>
</tr>
</tbody>
</table>
<p>Opinião sincera: tornou-se a principal opção para fluxos de trabalho voltados à impressão, nos quais geometria estanque e detalhes finos superam todos os outros fatores. Para jogos, será necessário reduzir drasticamente a malha gerada, então faz mais sentido quando você precisa de um único prop principal espetacular. <a href="https://www.hi3d.ai" target="_blank" rel="noreferrer">hi3d.ai</a></p>
<h3 id="tencent-hunyuan-3d-plataforma-hospedada" tabindex="-1">Tencent Hunyuan 3D (plataforma hospedada) <a class="header-anchor" href="#tencent-hunyuan-3d-plataforma-hospedada" aria-label="Permalink to &quot;Tencent Hunyuan 3D (plataforma hospedada)&quot;"></a></h3>
<p>A Tencent levou a família de modelos Hunyuan3D ao mercado global em novembro de 2025 com uma plataforma em inglês em 3d.hunyuanglobal.com, executando seus motores mais recentes (3.0 e 3.1 desde janeiro de 2026), que não têm código aberto. Em 2026, ela evoluiu para o HY 3D Studio, um pipeline completo: imagem para 3D, retopologia, UVs, texturização, rigging e animação.</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Tipo</strong></td>
<td>Hospedado (modelos mais recentes), pesos abertos para versões anteriores</td>
</tr>
<tr>
<td><strong>Entrada</strong></td>
<td>Texto, imagem, esboço</td>
</tr>
<tr>
<td><strong>Saída</strong></td>
<td>OBJ, GLB com texturas PBR</td>
</tr>
<tr>
<td><strong>Uso comercial</strong></td>
<td>Consulte os termos do plano; API empresarial via Tencent Cloud</td>
</tr>
<tr>
<td><strong>Plano gratuito</strong></td>
<td>20 gerações gratuitas por dia</td>
</tr>
<tr>
<td><strong>Melhor para</strong></td>
<td>Experimentação gratuita e generosa com um motor de ponta</td>
</tr>
</tbody>
</table>
<p>Opinião sincera: 20 gerações gratuitas por dia é a franquia grátis mais generosa entre todos os modelos hospedados de ponta, e os motores 3.x produzem uma geometria perceptivelmente melhor que os pesos abertos da versão 2.1. A plataforma é mais nova para usuários ocidentais, portanto leia os termos sobre os direitos da saída antes de montar um pipeline em torno dela. <a href="https://3d.hunyuanglobal.com" target="_blank" rel="noreferrer">3d.hunyuanglobal.com</a></p>
<h3 id="descontinuados-em-2026-luma-genie-e-csm" tabindex="-1">Descontinuados em 2026: Luma Genie e CSM <a class="header-anchor" href="#descontinuados-em-2026-luma-genie-e-csm" aria-label="Permalink to &quot;Descontinuados em 2026: Luma Genie e CSM&quot;"></a></h3>
<p>Dois nomes que ainda aparecem em comparativos antigos estão efetivamente mortos. A ferramenta Genie de texto para 3D da Luma não aparece mais em nenhuma parte do site da empresa, que mudou totalmente o foco para geração de vídeos e agentes criativos. A CSM (Common Sense Machines) encerrou sua plataforma Cube em 5 de janeiro de 2026, e a empresa foi adquirida pelo Google naquele mesmo mês. Não comece novos projetos em nenhuma das duas.</p>
<h2 id="os-modelos-de-codigo-aberto" tabindex="-1">Os modelos de código aberto <a class="header-anchor" href="#os-modelos-de-codigo-aberto" aria-label="Permalink to &quot;Os modelos de código aberto&quot;"></a></h2>
<p>Os modelos abertos invertem a proposta: você fornece a GPU e, em troca, não há contador de créditos nem plano limitando seus direitos comerciais. Aplicam-se apenas os termos da própria licença do modelo.</p>
<h3 id="microsoft-trellis-2" tabindex="-1">Microsoft TRELLIS.2 <a class="header-anchor" href="#microsoft-trellis-2" aria-label="Permalink to &quot;Microsoft TRELLIS.2&quot;"></a></h3>
<p>O atual líder entre os modelos de código aberto. Lançado em dezembro de 2025 sob a licença MIT, o TRELLIS.2 é um modelo de imagem para 3D com 4 bilhões de parâmetros, criado sobre uma representação de voxels esparsos (O-Voxel) que lida com topologia complexa, arestas nítidas e materiais PBR completos. Ele exporta GLB com texturas de até 4096², além de OBJ, PLY, campos de radiância e Gaussian splats.</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Tipo</strong></td>
<td>Código aberto, MIT</td>
</tr>
<tr>
<td><strong>Entrada</strong></td>
<td>Imagem</td>
</tr>
<tr>
<td><strong>Saída</strong></td>
<td>GLB (PBR até 4K), OBJ, PLY, campo de radiância, Gaussian splat</td>
</tr>
<tr>
<td><strong>Uso comercial</strong></td>
<td>Sim, sem restrições</td>
</tr>
<tr>
<td><strong>Plano gratuito</strong></td>
<td>Gratuito para sempre, desde que você tenha a GPU</td>
</tr>
<tr>
<td><strong>Melhor para</strong></td>
<td>A melhor relação entre qualidade e liberdade disponível atualmente em geração 3D</td>
</tr>
</tbody>
</table>
<p>Opinião sincera: a licença MIT elimina qualquer ambiguidade comercial, e a qualidade da saída realmente compete com as ferramentas hospedadas pagas. Você precisa de uma GPU NVIDIA potente para executá-lo localmente ou pode alugar inferência por segundo em serviços de GPU na nuvem. Se for auto-hospedar apenas um modelo, escolha este. <a href="https://github.com/microsoft/TRELLIS.2" target="_blank" rel="noreferrer">github.com/microsoft/TRELLIS.2</a></p>
<h3 id="hunyuan3d-2-1-pesos-abertos" tabindex="-1">Hunyuan3D 2.1 (pesos abertos) <a class="header-anchor" href="#hunyuan3d-2-1-pesos-abertos" aria-label="Permalink to &quot;Hunyuan3D 2.1 (pesos abertos)&quot;"></a></h3>
<p>A versão totalmente aberta da Tencent, lançada em junho de 2025: pesos completos e código de treinamento para um modelo de forma com 3,3 bilhões de parâmetros e um modelo de texturas PBR com 2 bilhões. É o modelo por trás do <a href="/pt-BR/tools/hunyuan3d.html">Gerador de modelos 3D</a> gratuito da Cinevva e aquele que a maioria dos produtos desse setor executa discretamente nos bastidores.</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Tipo</strong></td>
<td>Pesos e código de treinamento abertos</td>
</tr>
<tr>
<td><strong>Entrada</strong></td>
<td>Imagem (texto funciona primeiro por meio de uma etapa de geração de imagem)</td>
</tr>
<tr>
<td><strong>Saída</strong></td>
<td>Malha texturizada com materiais PBR prontos para produção</td>
</tr>
<tr>
<td><strong>Uso comercial</strong></td>
<td>Sim, mas a licença exclui a UE, o Reino Unido e a Coreia do Sul</td>
</tr>
<tr>
<td><strong>Plano gratuito</strong></td>
<td>Auto-hospedagem gratuita</td>
</tr>
<tr>
<td><strong>Melhor para</strong></td>
<td>Texturização PBR de produção com pesos abertos e fine-tuning</td>
</tr>
</tbody>
</table>
<p>Opinião sincera: o modelo de pintura PBR ainda é o stack aberto de texturização mais forte, e o código completo de treinamento permite fazer fine-tuning com seu próprio estilo visual. A exclusão territorial da licença comunitária (UE, Reino Unido e Coreia do Sul) é uma limitação real caso você esteja publicando um produto nessas regiões, situação em que a licença MIT do TRELLIS.2 é a escolha mais simples. <a href="https://github.com/Tencent-Hunyuan/Hunyuan3D-2.1" target="_blank" rel="noreferrer">github.com/Tencent-Hunyuan/Hunyuan3D-2.1</a></p>
<h3 id="sam-3d-meta" tabindex="-1">SAM 3D (Meta) <a class="header-anchor" href="#sam-3d-meta" aria-label="Permalink to &quot;SAM 3D (Meta)&quot;"></a></h3>
<p>Não é um gerador de malhas, e esse é justamente o diferencial. O SAM 3D é a dupla de modelos abertos da Meta (SAM 3D Objects e SAM 3D Body) que reconstrói geometria 3D, textura e disposição da cena a partir de uma única foto comum, mesmo com oclusão e elementos amontoados. A saída principal é um Gaussian splat em um arquivo .ply. O código e os checkpoints estão no GitHub sob a permissiva Licença SAM da Meta, que permite uso comercial.</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Tipo</strong></td>
<td>Código aberto, Licença SAM</td>
</tr>
<tr>
<td><strong>Entrada</strong></td>
<td>Uma única foto (mais uma máscara do objeto)</td>
</tr>
<tr>
<td><strong>Saída</strong></td>
<td>Gaussian splat (.ply), geometria, textura, pose</td>
</tr>
<tr>
<td><strong>Uso comercial</strong></td>
<td>Sim</td>
</tr>
<tr>
<td><strong>Plano gratuito</strong></td>
<td>Auto-hospedagem gratuita ou uso gratuito no navegador pela Cinevva</td>
</tr>
<tr>
<td><strong>Melhor para</strong></td>
<td>Capturar objetos reais a partir de uma única foto</td>
</tr>
</tbody>
</table>
<p>Opinião sincera: trata-se de reconstrução, não de geração. Aponte-o para um objeto real e você obterá uma captura 3D fiel sem precisar de um equipamento de fotogrametria. A saída em splat serve para visualização e referência, não para importação direta em jogos (mais sobre isso abaixo). A Cinevva oferece o modelo gratuitamente no navegador como <a href="/pt-BR/tools/sam3d.html">captura de objetos de imagem para 3D</a>. <a href="https://github.com/facebookresearch/sam-3d-objects" target="_blank" rel="noreferrer">github.com/facebookresearch/sam-3d-objects</a></p>
<h3 id="triposr-e-spar3d-os-reconstrutores-rapidos" tabindex="-1">TripoSR e SPAR3D (os reconstrutores rápidos) <a class="header-anchor" href="#triposr-e-spar3d-os-reconstrutores-rapidos" aria-label="Permalink to &quot;TripoSR e SPAR3D (os reconstrutores rápidos)&quot;"></a></h3>
<p>Dois modelos mais antigos, mas ainda úteis, que trabalham com uma única imagem. O TripoSR (Tripo e Stability AI, licença MIT) reconstrói uma malha em menos de meio segundo em uma GPU de datacenter, com uma qualidade correspondentemente modesta. O SPAR3D (Stability AI, janeiro de 2025) produz um GLB texturizado e com UVs abertas em menos de um segundo, além de permitir edição em nível de pontos. O SPAR3D é distribuído sob a Stability Community License: o uso comercial é gratuito até que sua organização ultrapasse US$ 1 milhão em receita anual; depois disso, você precisa de uma licença empresarial.</p>
<p>Opinião sincera: em 2026, ambos foram superados em qualidade pelo TRELLIS.2 e pelo Hunyuan3D 2.1. A vantagem deles é a velocidade, algo importante se você estiver gerando malhas em tempo real dentro de um aplicativo.</p>
<h3 id="outros-modelos-que-vale-a-pena-conhecer" tabindex="-1">Outros modelos que vale a pena conhecer <a class="header-anchor" href="#outros-modelos-que-vale-a-pena-conhecer" aria-label="Permalink to &quot;Outros modelos que vale a pena conhecer&quot;"></a></h3>
<p>O Sparc3D, modelo da NeurIPS 2025 por trás do Hi3D, tem uma demonstração pública no Hugging Face e produz malhas estanques com resolução de 1024³. O Cube 3D da Roblox oferece código aberto de texto para malha, mas é distribuído sob uma licença RAIL exclusiva para pesquisa, então você não pode usar a saída em um jogo comercial.</p>
<h2 id="ferramentas-gratuitas-da-cinevva-no-navegador" tabindex="-1">Ferramentas gratuitas da Cinevva no navegador <a class="header-anchor" href="#ferramentas-gratuitas-da-cinevva-no-navegador" aria-label="Permalink to &quot;Ferramentas gratuitas da Cinevva no navegador&quot;"></a></h2>
<p>Se quiser experimentar esse setor sem instalar nada nem criar uma conta com contador de créditos, a Cinevva disponibiliza dois dos modelos abertos acima como ferramentas gratuitas no navegador.</p>
<p>O <a href="/pt-BR/tools/hunyuan3d.html">Gerador de modelos 3D</a> transforma uma foto, uma URL de imagem ou um prompt de texto em uma malha poligonal texturizada com materiais PBR, disponível para download como GLB ou OBJ. Há um modo Rápido (cerca de 2 minutos) e um modo Pro (cerca de 5 minutos), e a saída pode ser levada diretamente para Blender, Unity, Godot ou um jogo web. Você também pode enviar o resultado ao <a href="/pt-BR/tools/rigger.html">Rigging automático</a> para adicionar um esqueleto e animações predefinidas.
A <a href="/pt-BR/tools/sam3d.html">Captura de imagem para 3D</a> executa o SAM 3D da Meta em uma única foto e retorna um Gaussian splat que você pode rotacionar no navegador e exportar como .ply. Use-a para capturar um objeto real e depois use o Gerador de Modelos 3D quando precisar de uma malha editável do mesmo objeto.</p>
<p>Ambos são gratuitos e, se você criar no Cinevva, os modelos gerados entram diretamente no jogo, sem precisar passar por um processo de exportação e importação.</p>
<h2 id="como-sao-as-malhas-de-ia-na-pratica-a-parte-sincera" tabindex="-1">Como são as malhas de IA na prática (a parte sincera) <a class="header-anchor" href="#como-sao-as-malhas-de-ia-na-pratica-a-parte-sincera" aria-label="Permalink to &quot;Como são as malhas de IA na prática (a parte sincera)&quot;"></a></h2>
<p>Todos os geradores desta página produzem uma malha densa de triângulos, normalmente com dezenas de milhares a algumas centenas de milhares de triângulos e UVs desembrulhadas automaticamente. Veja o que isso significa na prática.</p>
<p><strong>Topologia.</strong> A saída bruta da IA não tem loops de arestas, posicionamento adequado de polos nem uma estrutura apropriada para deformações. As opções de remalha em quads (Meshy, Tripo, Rodin) fornecem quads, mas eles são distribuídos uniformemente, sem os loops concentrados ao redor de articulações e rostos de que a animação de personagens precisa. Para um objeto estático, isso não importa. Para um personagem animado, prepare-se para fazer a retopologia manualmente ou aceitar deformações visíveis nos ombros.</p>
<p><strong>Texturas.</strong> O suporte a PBR já é um requisito básico, e TRELLIS.2, Hunyuan3D 2.1, Meshy e Rodin produzem mapas reais de metalicidade e rugosidade. Há dois problemas recorrentes: iluminação incorporada ao albedo (sombras pintadas na textura) e densidade desigual de texels onde o desembrulhamento automático comprimiu as ilhas UV. Ambos podem ser corrigidos no Blender, mas nenhum se resolve sozinho.</p>
<p><strong>Contagem de polígonos.</strong> Espere de 20 mil a 300 mil triângulos por asset por padrão, chegando aos milhões nos modos de alta qualidade do Rodin. Isso é aceitável para um objeto principal, mas desastroso para uma centena de pedras espalhadas pelo cenário. Reserve uma etapa para redução de polígonos e teste no hardware real do seu público, especialmente em jogos para web e dispositivos móveis.</p>
<p><strong>O que já pode ser lançado.</strong> Objetos estáticos, elementos de cenário, itens estilizados e geometria de blockout já podem ser usados em produção diretamente a partir dessas ferramentas. É nesse ponto que a geração por IA já supera a busca em <a href="/pt-BR/guides/free-3d-model-sites.html">sites de modelos gratuitos</a> em velocidade. Personagens secundários rigados podem ser usados com rig automático se permanecerem ao fundo. Personagens principais com animações faciais em close ainda precisam de ajustes humanos na topologia, e modelos hard-surface que exigem simetria exata ou precisão de CAD ainda saem com uma aparência levemente derretida.</p>
<h2 id="gaussian-splats-vs-malhas" tabindex="-1">Gaussian splats vs. malhas <a class="header-anchor" href="#gaussian-splats-vs-malhas" aria-label="Permalink to &quot;Gaussian splats vs. malhas&quot;"></a></h2>
<p>Uma malha é formada por polígonos: vértices, triângulos, UVs e texturas. Um Gaussian splat é uma nuvem de milhares de pequenas partículas coloridas e semitransparentes que, juntas, parecem fotorrealistas de qualquer ângulo. Splats capturam objetos e cenas do mundo real com uma fidelidade difícil de alcançar com malhas, por isso ferramentas de captura como o SAM 3D e o ecossistema da Luma geram esse formato.</p>
<p>Para jogos, as limitações são significativas. Splats não têm superfícies, então colisões, física e iluminação dinâmica não funcionam diretamente neles. Eles também são pesados: cerca de 180 MB para um milhão de splats, contra 5 a 20 MB para uma malha texturizada comparável, o que os torna inviáveis para a maioria dos orçamentos de desempenho em dispositivos móveis. O suporte em engines existe, mas depende de plugins em 2026: UnityGaussianSplatting para Unity 6, plugins de terceiros para Unreal 5.7 e formatos compactados (SPZ, SOG, KSPLAT) para a web.</p>
<p>O padrão que funciona é: splats para cenários fotorrealistas e elementos decorativos que o jogador nunca toca; malhas para tudo que for interativo. Se você capturou algo como splat e precisa usá-lo na jogabilidade, gere-o novamente como malha com uma ferramenta de imagem para 3D.</p>
<h2 id="quem-e-o-proprietario-de-um-modelo-3d-gerado-por-ia" tabindex="-1">Quem é o proprietário de um modelo 3D gerado por IA? <a class="header-anchor" href="#quem-e-o-proprietario-de-um-modelo-3d-gerado-por-ia" aria-label="Permalink to &quot;Quem é o proprietário de um modelo 3D gerado por IA?&quot;"></a></h2>
<p>Há três camadas que precisam ser verificadas, e elas são diferentes para ferramentas hospedadas e abertas.</p>
<p><strong>Direitos autorais.</strong> De acordo com as orientações atuais do Escritório de Direitos Autorais dos EUA, uma criação produzida exclusivamente por IA não pode receber proteção autoral por si só. Seu trabalho de retopologia, texturização, rig e integração adiciona autoria humana, e o jogo como um todo continua protegido. Na prática, você provavelmente não poderá impedir outra pessoa de reutilizar uma malha bruta gerada por IA, o que importa mais para vendedores de assets do que para desenvolvedores de jogos.</p>
<p><strong>Termos das ferramentas hospedadas.</strong> É aqui que muita gente se complica. Os modelos do plano gratuito do Meshy são públicos sob a licença CC BY 4.0 (uso comercial permitido, atribuição obrigatória e qualquer outra pessoa também pode usar seu modelo), enquanto a propriedade privada começa no plano Pro. O plano gratuito do Tripo é estritamente não comercial. O Rodin restringe downloads e termos comerciais aos planos pagos. O padrão no setor é: gere gratuitamente, pague para ser proprietário. Leia os termos atuais antes de lançar, pois eles mudam sem aviso.</p>
<p><strong>Licenças de modelos abertos.</strong> A hospedagem própria elimina completamente os termos da plataforma, mas a licença do modelo ainda se aplica. O TRELLIS.2 usa a licença MIT, sem restrições adicionais. A licença do SAM 3D permite uso comercial. O Hunyuan3D 2.1 exclui a União Europeia, o Reino Unido e a Coreia do Sul. O SPAR3D é gratuito até US$ 1 milhão em receita anual. O Roblox Cube é apenas para pesquisa. “Aberto” pode significar muitas coisas, então verifique a licença específica.</p>
<p>Para conhecer as regras gerais de licenciamento de assets, consulte nosso <a href="/pt-BR/guides/game-asset-licenses.html">guia de licenças de assets para jogos</a>.</p>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="qual-e-o-melhor-gerador-de-modelos-3d-por-ia-em-2026" tabindex="-1">Qual é o melhor gerador de modelos 3D por IA em 2026? <a class="header-anchor" href="#qual-e-o-melhor-gerador-de-modelos-3d-por-ia-em-2026" aria-label="Permalink to &quot;Qual é o melhor gerador de modelos 3D por IA em 2026?&quot;"></a></h3>
<p>O Meshy 6 é a melhor ferramenta hospedada para uso geral, o Tripo oferece o melhor custo-benefício para pipelines de jogos com rig automático, e o Rodin Gen-2.5 produz a geometria mais detalhada. Se preferir hospedar por conta própria, o TRELLIS.2 da Microsoft (licença MIT, PBR nativo) é o modelo aberto mais robusto. Como opção gratuita no navegador, o Gerador de Modelos 3D do Cinevva executa o Hunyuan3D sem precisar de instalação.</p>
<h3 id="posso-usar-modelos-3d-gerados-por-ia-em-um-jogo-comercial" tabindex="-1">Posso usar modelos 3D gerados por IA em um jogo comercial? <a class="header-anchor" href="#posso-usar-modelos-3d-gerados-por-ia-em-um-jogo-comercial" aria-label="Permalink to &quot;Posso usar modelos 3D gerados por IA em um jogo comercial?&quot;"></a></h3>
<p>Normalmente sim, mas os direitos dependem da origem do modelo. Ferramentas hospedadas restringem o uso comercial aos planos pagos (Meshy Pro, Tripo Pro e planos pagos do Rodin), e os resultados dos planos gratuitos são não comerciais ou públicos sob a licença CC BY 4.0. Modelos gerados com pesos de código aberto, como o TRELLIS.2, não estão sujeitos aos termos de uma plataforma, embora a licença do próprio modelo ainda se aplique. Antes de lançar, confirme os termos atuais da ferramenta usada.</p>
<h3 id="as-malhas-geradas-por-ia-tem-qualidade-suficiente-para-jogos" tabindex="-1">As malhas geradas por IA têm qualidade suficiente para jogos? <a class="header-anchor" href="#as-malhas-geradas-por-ia-tem-qualidade-suficiente-para-jogos" aria-label="Permalink to &quot;As malhas geradas por IA têm qualidade suficiente para jogos?&quot;"></a></h3>
<p>Para objetos estáticos, elementos de cenário e itens estilizados, sim. Atualmente, elas podem ser usadas em produção após uma etapa de redução de polígonos. Para personagens animados, ainda não estão totalmente prontas: o rig automático atende a personagens secundários, mas personagens principais ainda precisam de retopologia manual porque a topologia gerada por IA não tem os loops de arestas necessários para animação. Encare os geradores primeiro como ferramentas para objetos e blockouts e, em segundo lugar, como um pipeline de personagens.</p>
<h3 id="qual-e-o-melhor-gerador-gratuito-de-modelos-3d-por-ia" tabindex="-1">Qual é o melhor gerador gratuito de modelos 3D por IA? <a class="header-anchor" href="#qual-e-o-melhor-gerador-gratuito-de-modelos-3d-por-ia" aria-label="Permalink to &quot;Qual é o melhor gerador gratuito de modelos 3D por IA?&quot;"></a></h3>
<p>O Gerador de Modelos 3D do Cinevva é totalmente gratuito no navegador: insira uma foto ou um texto e obtenha uma malha PBR texturizada em GLB ou OBJ. A plataforma Hunyuan 3D da Tencent oferece 20 gerações gratuitas por dia em sua engine mais recente. O plano gratuito do Meshy inclui 100 créditos por mês, mas publica seus modelos sob a licença CC BY 4.0. Hospedar o TRELLIS.2 por conta própria é gratuito e sem limites se você tiver a GPU necessária.</p>
<h3 id="texto-para-3d-ou-imagem-para-3d-qual-produz-resultados-melhores" tabindex="-1">Texto para 3D ou imagem para 3D: qual produz resultados melhores? <a class="header-anchor" href="#texto-para-3d-ou-imagem-para-3d-qual-produz-resultados-melhores" aria-label="Permalink to &quot;Texto para 3D ou imagem para 3D: qual produz resultados melhores?&quot;"></a></h3>
<p>Imagem para 3D, de forma consistente. Uma imagem de referência define proporções, materiais e estilo, enquanto um prompt de texto faz o modelo precisar adivinhar. O fluxo de trabalho mais eficaz em 2026 tem duas etapas: gere uma imagem de referência limpa com um modelo de imagem e depois envie-a para um gerador de imagem para 3D. A maioria das ferramentas, incluindo a do Cinevva, faz exatamente isso nos bastidores quando você digita um prompt de texto.</p>
<h3 id="o-que-aconteceu-com-o-luma-genie-e-o-csm" tabindex="-1">O que aconteceu com o Luma Genie e o CSM? <a class="header-anchor" href="#o-que-aconteceu-com-o-luma-genie-e-o-csm" aria-label="Permalink to &quot;O que aconteceu com o Luma Genie e o CSM?&quot;"></a></h3>
<p>Na prática, ambos saíram desse mercado. A Luma removeu o Genie de seu site quando a empresa mudou o foco para geração de vídeos e agentes criativos. A CSM encerrou sua plataforma Cube em 5 de janeiro de 2026 e foi adquirida pelo Google no mesmo mês. Se uma lista recomenda qualquer um dos dois, ela está desatualizada.</p>
<h3 id="preciso-de-uma-gpu-potente-para-gerar-modelos-3d-com-ia" tabindex="-1">Preciso de uma GPU potente para gerar modelos 3D com IA? <a class="header-anchor" href="#preciso-de-uma-gpu-potente-para-gerar-modelos-3d-com-ia" aria-label="Permalink to &quot;Preciso de uma GPU potente para gerar modelos 3D com IA?&quot;"></a></h3>
<p>Não, caso use uma ferramenta hospedada ou no navegador, pois a geração é executada nos servidores do provedor. Você só precisa de uma GPU própria — uma placa NVIDIA compatível — para hospedar localmente modelos abertos como TRELLIS.2 ou Hunyuan3D 2.1. Mesmo nesse caso, é possível alugar inferência em GPU e pagar por segundo.</p>
<BuildCta
  title="Gere um modelo e depois crie o jogo ao redor dele"
  desc="O Cinevva tem geração 3D por IA integrada ao editor, então um prompt se transforma em um modelo já inserido em um jogo jogável."
  prompt="Crie um museu misterioso onde eu possa caminhar entre pedestais e observar de perto artefatos estranhos gerados por IA" />
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/ai-asset-generators-games.html">Melhores geradores de assets por IA para jogos</a>: o pipeline completo com texturas, áudio e rig</li>
<li><a href="/pt-BR/guides/free-3d-model-sites.html">Melhores sites de modelos 3D gratuitos para jogos</a>: pesquise em vez de gerar</li>
<li><a href="/pt-BR/guides/long-reference-video-models.html">Modelos de vídeo com referências longas</a>: o lado da IA generativa voltado para vídeos</li>
<li><a href="/pt-BR/tools/hunyuan3d.html">Gerador de Modelos 3D</a>: transforme gratuitamente texto ou foto em uma malha PBR texturizada</li>
<li><a href="/pt-BR/tools/sam3d.html">Captura de imagem para 3D</a>: transforme gratuitamente uma única foto em um Gaussian splat</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/ai-3d-model-generators-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[NPCs com IA e diálogos em jogos: ferramentas e um choque de realidade (2026)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/ai-npcs-dialogue</link>
            <guid>https://app.cinevva.com/pt-BR/guides/ai-npcs-dialogue</guid>
            <pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[NPCs com IA e diálogos em 2026, comparados com honestidade — Inworld, Convai, NVIDIA ACE e opções de código aberto, quais jogos já os utilizam, custos reais e como começar.]]></description>
            <content:encoded><![CDATA[<h1 id="npcs-com-ia-e-dialogos-em-jogos-ferramentas-e-um-choque-de-realidade-2026" tabindex="-1">NPCs com IA e diálogos em jogos: ferramentas e um choque de realidade (2026) <a class="header-anchor" href="#npcs-com-ia-e-dialogos-em-jogos-ferramentas-e-um-choque-de-realidade-2026" aria-label="Permalink to &quot;NPCs com IA e diálogos em jogos: ferramentas e um choque de realidade (2026)&quot;"></a></h1>
<p><em>Última atualização: julho de 2026.</em></p>
<p>Um NPC com IA é um personagem não jogável cujo diálogo é gerado por um modelo de linguagem durante a execução, em vez de ser escrito antecipadamente, fala por fala. Você fala ou digita para ele, o modelo lê um prompt de sistema que define quem é o personagem e qual é o estado atual do jogo, e então produz uma resposta na hora. Algumas configurações também acrescentam voz: reconhecimento de fala para que o personagem ouça você e síntese de voz para que ele responda falando. A promessa é ter um aldeão capaz de responder a perguntas que nenhum roteirista previu. A realidade em 2026 é mais complexa, e vale a pena entendê-la antes de construir qualquer coisa em torno dessa tecnologia.</p>
<p>Suas opções reais se dividem em três categorias. Você pode usar uma plataforma hospedada de personagens, como a <a href="https://convai.com/" target="_blank" rel="noreferrer">Convai</a>, que já oferece memória, voz e plugins para engines. Pode integrar middleware de voz e animação, como o <a href="https://developer.nvidia.com/ace-for-games" target="_blank" rel="noreferrer">NVIDIA ACE</a>, se quiser que a sincronização labial e a animação facial acompanhem a fala gerada. Ou pode criar sua própria solução chamando a API de um modelo de linguagem — ou executando um modelo pequeno localmente — com um prompt cuidadosamente elaborado. Essa opção é mais barata e flexível, mas deixa as proteções por sua conta. Vale destacar que a <a href="https://inworld.ai/" target="_blank" rel="noreferrer">Inworld</a>, nome que ainda vem primeiro à mente de muita gente, deixou em grande parte de ser um estúdio de NPCs pronto para uso e se reposicionou como infraestrutura de IA B2B. Por isso, “alternativa à Inworld” é hoje uma das buscas mais comuns nessa área. Veja como esse mercado realmente se apresenta.</p>
<h2 id="referencia-rapida" tabindex="-1">Referência rápida <a class="header-anchor" href="#referencia-rapida" aria-label="Permalink to &quot;Referência rápida&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Ferramenta</th>
<th>O que é</th>
<th>Modelo de preços</th>
<th>Engines (incluindo web)</th>
<th>Situação em 2026</th>
</tr>
</thead>
<tbody>
<tr>
<td>Convai</td>
<td>Plataforma hospedada de NPCs: diálogo, voz, memória e percepção</td>
<td>Baseado em uso, plano gratuito + Indie por US$ 29/mês</td>
<td>Unity, Unreal, three.js, web</td>
<td>Ativa e voltada a desenvolvedores</td>
</tr>
<tr>
<td>NVIDIA ACE</td>
<td>Middleware de voz + animação facial (Audio2Face, Riva ASR)</td>
<td>Microsserviços cobrados por uso / execução no dispositivo</td>
<td>Unity, Unreal, independente de engine</td>
<td>Presente em alguns títulos</td>
</tr>
<tr>
<td>Inworld</td>
<td>Infraestrutura de runtime de IA + voz/TTS</td>
<td>Créditos baseados em uso, TTS a partir de cerca de US$ 5–25/1 milhão de caracteres</td>
<td>Existem SDKs, mas o foco é B2B</td>
<td>Abandonou o foco no estúdio de NPCs para consumidores</td>
</tr>
<tr>
<td>Ubisoft Neo NPCs</td>
<td>P&amp;D interno de personagens generativos (“Teammates”)</td>
<td>Não é um produto disponível para compra</td>
<td>Uso interno da Ubisoft</td>
<td>Teste fechado / P&amp;D, ainda não lançado</td>
</tr>
<tr>
<td>Solução própria</td>
<td>API de LLM ou modelo local + seus próprios prompts e proteções</td>
<td>Tokens de API ou gratuito se executado localmente</td>
<td>Qualquer ambiente, inclusive web pura</td>
<td>O caminho mais flexível</td>
</tr>
</tbody>
</table>
<h2 id="comparacao-das-ferramentas" tabindex="-1">Comparação das ferramentas <a class="header-anchor" href="#comparacao-das-ferramentas" aria-label="Permalink to &quot;Comparação das ferramentas&quot;"></a></h2>
<p>A <strong>Convai</strong> é o ponto de entrada mais direto se você quer uma plataforma de personagens em vez de um projeto científico. Ela cuida de diálogo, voz em tempo real, memória de longo prazo e “percepção multimodal”, permitindo que o personagem reaja ao que vê e ouve. Também oferece plugins para Unity, Unreal e three.js, além de APIs abertas para web, segundo sua <a href="https://convai.com/" target="_blank" rel="noreferrer">visão geral da plataforma</a>. A cobrança é baseada no uso: há um plano Developer gratuito com cota diária e, depois, um plano Indie Dev de <a href="https://www.saasworthy.com/product/convai/pricing" target="_blank" rel="noreferrer">US$ 29 por mês — ou US$ 19 com cobrança anual — para 3.000 interações</a>, com o excedente cobrado por interação. É importante ficar de olho nessa unidade de “interação”, pois é assim que a conta aumenta junto com o número de jogadores.</p>
<p>O <strong>NVIDIA ACE</strong> não é um cérebro completo para NPCs. Trata-se de um conjunto de microsserviços para os componentes ao redor do cérebro: <a href="https://nvidianews.nvidia.com/news/ace-avatar-cloud-engine-microservices" target="_blank" rel="noreferrer">Audio2Face para gerar animação facial a partir do áudio e Riva para reconhecimento de fala</a>, que você combina com o modelo de linguagem de sua escolha. É o componente que faz uma voz gerada parecer estar realmente saindo do rosto do personagem. A NVIDIA cita parceiros como Tencent, NetEase, miHoYo e Ubisoft. Cada vez mais, o modelo de linguagem é executado no próprio dispositivo como um modelo pequeno, em vez de na nuvem, o que faz diferença para a latência e o custo — falaremos mais sobre isso adiante. Se o seu jogo é pensado primeiro para navegador, o ACE provavelmente é exagero, pois ele se destina a títulos de PC que exigem bastante da GPU.</p>
<p>A <strong>Inworld</strong> merece uma avaliação realista porque é o nome que domina os tutoriais antigos. Ela começou como a principal plataforma para criar personagens de jogos e ainda oferece SDKs, mas <a href="https://inworld.ai/blog/new-ai-infrastructure-scaling-games-media-characters" target="_blank" rel="noreferrer">se reposicionou como infraestrutura de IA para ampliar a escala de jogos e mídia</a>, concentrando-se em voz, síntese de voz e um runtime de agentes voltado a empresas como Google, NVIDIA e Xbox. Seus <a href="https://inworld.ai/pricing" target="_blank" rel="noreferrer">preços</a> usam um sistema de créditos baseado no consumo. A síntese de voz custa cerca de US$ 25 por milhão de caracteres no plano gratuito On-Demand e pode cair para aproximadamente US$ 5 em volume empresarial; o reconhecimento de fala custa em torno de US$ 0,15 por hora; e os modelos de linguagem são cobrados separadamente pelo preço do provedor. A plataforma ainda pode ser usada, mas um desenvolvedor web independente em busca de um NPC pronto para integrar vai considerá-la mais pesada do que antes. É justamente por isso que a Convai e as soluções próprias ocuparam esse espaço.</p>
<p>Os <strong>Neo NPCs da Ubisoft</strong> merecem ser mencionados justamente porque não são um produto que você possa usar. Eles representam o esforço de P&amp;D mais visível entre os grandes estúdios e agora aparecem em um protótipo chamado Teammates, que coloca companheiros de equipe controlados por voz e IA em um jogo de tiro em primeira pessoa. O projeto foi <a href="https://variety.com/2025/gaming/news/ubisoft-generative-ai-game-teammates-neo-npc-developers-1236588038/" target="_blank" rel="noreferrer">criado por uma equipe de cerca de 80 pessoas usando o Google Gemini e middleware interno, e está em um teste fechado</a>, não em um jogo lançado. A Ubisoft já declarou que a IA generativa representa para a indústria uma mudança tão grande quanto a transição para o 3D, mas, em meados de 2026, a situação real é de experimento, não de lançamento.</p>
<h2 id="quem-realmente-ja-lancou-isso" tabindex="-1">Quem realmente já lançou isso <a class="header-anchor" href="#quem-realmente-ja-lancou-isso" aria-label="Permalink to &quot;Quem realmente já lançou isso&quot;"></a></h2>
<p>Se deixarmos as demonstrações de lado, o número de jogos lançados com NPCs de IA de verdade é pequeno, embora finalmente seja maior que zero. O exemplo mais claro é <a href="https://en.wikipedia.org/wiki/InZOI" target="_blank" rel="noreferrer">inZOI</a>, o simulador de vida da Krafton lançado em acesso antecipado em 28 de março de 2025, que vendeu mais de um milhão de cópias na primeira semana. Seus personagens “Smart Zoi” usam <a href="https://www.dsogaming.com/news/inzoi-is-the-first-game-with-ai-powered-npcs-using-nvidia-ace/" target="_blank" rel="noreferrer">um pequeno modelo de linguagem executado no dispositivo e criado com o NVIDIA ACE</a>. Assim, a IA controla localmente o comportamento de momento a momento, em vez de consultar a nuvem para cada fala. A Krafton está levando a mesma abordagem ao PUBG com um <a href="https://venturebeat.com/gaming-business/krafton-and-nvidia-team-up-to-create-smarter-ai-characters-for-pubg-and-inzoi/" target="_blank" rel="noreferrer">personagem jogável em cooperação chamado PUBG Ally, em testes até o início de 2026</a>.</p>
<p>No extremo focado em conversação, <a href="https://allthings.how/where-winds-meet-and-ai-how-the-mmos-chatbot-npcs-work/" target="_blank" rel="noreferrer">Where Winds Meet</a>, um MMO de grande porte, adicionou conversas livres em texto com LLM a um subconjunto de NPCs secundários. O sistema acompanha afinidade, permitindo que um personagem passe a gostar de você, encerre a conversa ou se torne hostil. O detalhe revelador, segundo uma análise de novembro de 2025, é como o escopo é limitado: a IA afeta apenas personagens secundários de ambientação, e sua saída se restringe a respostas em texto e a um conjunto fixo de flags do jogo. Ela não pode criar itens, gerar locais nem reescrever linhas de missões. A história principal continua escrita manualmente. Jogos independentes foram mais ousados ao transformar a IA no ponto central da experiência. <a href="https://wanderfolk.ai/best-ai-npc-games-2026/" target="_blank" rel="noreferrer">Suck Up!</a> é um jogo já lançado cujo loop inteiro consiste em convencer moradores controlados por GPT a convidar um vampiro para entrar. Isso funciona porque a conversa é a mecânica, e não apenas um adorno sobre uma missão roteirizada.</p>
<p>O padrão em todos os exemplos lançados é o mesmo: a parte generativa fica contida. Ela cuida das conversas de um simulador de vida, do bate-papo de um personagem secundário ou de um jogo criado especificamente em torno da persuasão. Nenhum estúdio de credibilidade lançou um jogo de grande orçamento em que a IA escreva os diálogos da missão principal. Os motivos são custo, latência e confiança, nessa ordem.</p>
<h2 id="quanto-custa-e-o-problema-da-latencia" tabindex="-1">Quanto custa e o problema da latência <a class="header-anchor" href="#quanto-custa-e-o-problema-da-latencia" aria-label="Permalink to &quot;Quanto custa e o problema da latência&quot;"></a></h2>
<p>Duas coisas destroem a fantasia de que “todo NPC é um chatbot”, e nenhuma delas tem relação com a inteligência do modelo.</p>
<p>A primeira é a latência. Uma conversa tem ritmo, e os jogadores percebem quando ele é quebrado. Pesquisas sobre NPCs de IA indicam que respostas em menos de aproximadamente 800 milissegundos parecem naturais em uma conversa, enquanto atrasos maiores causam estranhamento. Uma chamada comum de ida e volta para uma API na nuvem acrescenta de um a dois segundos de espera, o que parece uma travada. Um <a href="https://arxiv.org/pdf/2507.10469" target="_blank" rel="noreferrer">estudo de 2025 sobre a percepção de realismo em realidade virtual</a> pediu que jogadores avaliassem como a latência afetava a sensação de humanidade de um personagem, e o pedido recorrente foi simples: o sistema precisava responder mais rápido. Esse é o principal motivo pelo qual inZOI e PUBG escolheram modelos pequenos executados no dispositivo em vez de um modelo gigante na nuvem. Um modelo local, menor e mais rápido, que responde em meio segundo é melhor do que um modelo mais inteligente que leva três segundos.</p>
<p>A segunda é o custo, que aumenta da pior maneira possível. Uma fala escrita manualmente é paga uma vez e exibida gratuitamente para milhões de jogadores. Já uma fala gerada custa dinheiro toda vez que é produzida, por NPC, por jogador e por conversa. Plataformas baseadas em uso deixam isso bem claro: a Convai cobra por interação, a Inworld cobra por caractere de fala e por token de texto, e uma API de LLM bruta cobra por tokens de entrada e saída. Em um jogo tranquilo para um jogador, com poucas conversas, isso custa centavos. Em um jogo como serviço com um milhão de jogadores diários conversando livremente, vira uma fatura de nuvem que ninguém incluiu no orçamento. É por isso que existem preços por créditos e cotas, e por que “conversa livre com NPCs ilimitados” é uma maneira rápida de queimar dinheiro. Projete a quantidade de turnos de IA como projetaria qualquer outro custo, porque é exatamente isso que ela é.</p>
<h2 id="padroes-de-design-que-funcionam-—-e-os-que-nao-funcionam" tabindex="-1">Padrões de design que funcionam — e os que não funcionam <a class="header-anchor" href="#padroes-de-design-que-funcionam-—-e-os-que-nao-funcionam" aria-label="Permalink to &quot;Padrões de design que funcionam — e os que não funcionam&quot;"></a></h2>
<p>O padrão que chega ao mercado é a geração com restrições, não a conversa aberta. Em vez de permitir que um modelo diga qualquer coisa, você fornece um prompt de sistema bem definido — quem é o personagem, o que ele sabe e o que jamais pode revelar —, mantém a resposta curta e limita a saída a texto e a um pequeno conjunto de ações ou flags permitidas no jogo. O <a href="https://allthings.how/where-winds-meet-and-ai-how-the-mmos-chatbot-npcs-work/" target="_blank" rel="noreferrer">design baseado em flags de Where Winds Meet</a> é um exemplo clássico: o NPC conversa, mas as únicas ações estruturadas que pode executar são coisas como alterar um valor de afinidade ou tornar-se hostil. Todo o resto permanece fora do controle do modelo.</p>
<p>O padrão que falha é o NPC de “pergunte qualquer coisa”, sem restrições, inserido em um jogo focado em narrativa. Sem limites, um modelo inventa fatos com confiança, desvia-se da lore do jogo ou revela detalhes de uma missão porque o jogador fez a pergunta indutiva certa. Um artigo do setor argumenta, corretamente, que <a href="https://www.gameindustry.com/news-industry-happenings/the-hard-problem-of-ai-npcs-why-character-consistency-matters-more-than-intelligence/" target="_blank" rel="noreferrer">a consistência do personagem importa mais do que a inteligência bruta</a>: jogadores perdoam um NPC um pouco lento, mas um personagem que se contradiz ou quebra a ficção destrói a imersão instantaneamente. É daí que também vem o ceticismo dos jogadores. Muitas demonstrações de NPCs com IA parecem uma conversa com um chatbot de atendimento ao cliente fantasiado, e os jogadores percebem isso. As equipes que acertam tratam o modelo como um roteirista de diálogos trabalhando dentro de uma jaula de regras, não como um oráculo.</p>
<p>Algumas proteções concretas resolvem a maior parte do problema. Forneça ao personagem apenas aquilo que ele deveria saber, para que não possa revelar o final. Limite o tamanho da resposta para que ele permaneça no personagem em vez de fazer monólogos. Mantenha uma versão escrita manualmente para tudo que sustenta a trama e reserve a geração para dar textura: falas curtas, conversa casual, reações e personagens secundários. E decida desde o início se determinado NPC realmente precisa ter diálogo livre, porque muitos momentos de “NPC com IA” seriam mais bem atendidos por uma árvore de diálogos ramificados mais inteligente do que por uma chamada ao vivo para um modelo.</p>
<h2 id="como-experimentar-em-um-jogo-web" tabindex="-1">Como experimentar em um jogo web <a class="header-anchor" href="#como-experimentar-em-um-jogo-web" aria-label="Permalink to &quot;Como experimentar em um jogo web&quot;"></a></h2>
<p>Você não precisa de uma engine que exija muito da GPU para experimentar. O caminho mais simples é chamar uma API de modelo de linguagem diretamente pelo backend do jogo, usando um prompt de sistema que define o personagem e inclui o estado atual do jogo, e então exibir a resposta em uma caixa de diálogo. É um projeto de fim de semana e exatamente assim que a maioria dos protótipos para navegador começa. Se quiser que uma plataforma cuide da memória e da voz, a <a href="https://convai.com/" target="_blank" rel="noreferrer">Convai tem um SDK web e uma integração com three.js</a>, permitindo anexar um personagem falante a uma cena no navegador sem precisar construir toda a infraestrutura por conta própria.</p>
<p>Se o custo ou a privacidade fizer você abandonar a nuvem, a opção de código aberto executa o modelo na própria máquina do jogador. O <a href="https://blog.player2.game/p/building-ai-npcs-with-player2-api" target="_blank" rel="noreferrer">WebLLM</a> executa um pequeno modelo de linguagem diretamente no navegador usando WebGPU. Assim, não há custo de servidor nem atraso de rede depois que tudo é carregado, ao preço de um download inicial maior e da necessidade de um dispositivo potente. Executar um modelo local por meio de algo como o Ollama durante o desenvolvimento é outra forma barata de testar e ajustar antes de escolher um provedor hospedado. Independentemente da opção, crie primeiro as restrições: um prompt de personagem claro, um limite rígido de tamanho e uma lista fixa de ações que o NPC pode acionar.</p>
<p>Se preferir ignorar toda a integração e apenas ver personagens com personalidades distintas funcionando em um navegador, é para esse tipo de experiência que o chat de criação de jogos da Cinevva foi feito. Você descreve a aldeia e seus habitantes, e o agente gera os personagens e seus comportamentos em uma cena 3D jogável, que você pode abrir e explorar por meio de conversas. Assim, dá para descobrir se uma ideia de personagens com IA é divertida antes de investir em um pipeline completo.</p>
<BuildCta
  title="Experimente um jogo com personagens de IA no navegador"
  desc="Descreva o elenco, e a Cinevva cria um mundo jogável que você pode explorar por meio de conversas."
  prompt="Crie uma aldeia onde eu possa conversar com personagens que tenham personalidades próprias" />
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="o-que-e-um-npc-com-ia" tabindex="-1">O que é um NPC com IA? <a class="header-anchor" href="#o-que-e-um-npc-com-ia" aria-label="Permalink to &quot;O que é um NPC com IA?&quot;"></a></h3>
<p>Um NPC com IA é um personagem não jogável cujos diálogos e, às vezes, comportamentos são gerados por um modelo de linguagem em tempo de execução, em vez de escritos previamente por um roteirista. Você digita ou fala com ele, o modelo lê um prompt que descreve o personagem e o estado atual do jogo e produz uma resposta na hora. Camadas opcionais de voz adicionam reconhecimento de fala para que ele possa ouvir você e conversão de texto em fala para que possa responder em voz alta.</p>
<h3 id="qual-e-a-melhor-alternativa-ao-inworld-em-2026" tabindex="-1">Qual é a melhor alternativa ao Inworld em 2026? <a class="header-anchor" href="#qual-e-a-melhor-alternativa-ao-inworld-em-2026" aria-label="Permalink to &quot;Qual é a melhor alternativa ao Inworld em 2026?&quot;"></a></h3>
<p>Para a maioria dos desenvolvedores, é o Convai, que continuou focado em ser uma plataforma de NPCs baseada em plugins, com diálogo, voz, memória e plugins para motores (Unity, Unreal, three.js e web), depois que o Inworld mudou seu foco para infraestrutura de IA B2B. Se você quer máximo controle e menor custo, a outra alternativa sólida é criar sua própria solução, chamando uma API de modelo de linguagem ou executando um modelo local com seu próprio prompt de sistema e suas próprias proteções. A melhor opção depende de você valorizar mais a praticidade ou o controle.</p>
<h3 id="quais-jogos-ja-lancados-realmente-usam-npcs-com-ia" tabindex="-1">Quais jogos já lançados realmente usam NPCs com IA? <a class="header-anchor" href="#quais-jogos-ja-lancados-realmente-usam-npcs-com-ia" aria-label="Permalink to &quot;Quais jogos já lançados realmente usam NPCs com IA?&quot;"></a></h3>
<p>A lista é curta, mas real. O simulador de vida inZOI, da Krafton, usa personagens com IA executada no próprio dispositivo, criados com o NVIDIA ACE, e a empresa está levando a tecnologia para o PUBG. O MMO Where Winds Meet adicionou conversas com LLM a um conjunto de personagens secundários, com limites rigorosos sobre o que eles podem fazer. Títulos independentes como Suck Up! são inteiramente baseados em conversar com personagens controlados por IA. Jogos narrativos de grande orçamento ainda não entregaram à IA os diálogos das missões principais, e os Neo NPCs da Ubisoft continuam sendo um teste interno, não um recurso lançado.</p>
<h3 id="quanto-custa-operar-npcs-com-ia" tabindex="-1">Quanto custa operar NPCs com IA? <a class="header-anchor" href="#quanto-custa-operar-npcs-com-ia" aria-label="Permalink to &quot;Quanto custa operar NPCs com IA?&quot;"></a></h3>
<p>Cada fala gerada custa dinheiro toda vez que é produzida, ao contrário de uma fala escrita, pela qual você paga uma única vez. Plataformas hospedadas cobram por uso: o Convai cobra por interação, com um plano gratuito e um plano indie de US$ 29 por mês, enquanto o Inworld cobra por caractere de fala e por token de texto. Uma API direta cobra por token. Isso é irrisório para um pequeno jogo para um jogador, mas caro para um jogo em operação contínua com milhões de jogadores diários mantendo conversas abertas — por isso, os estúdios limitam quantos turnos com IA realmente acontecem.</p>
<h3 id="os-jogadores-acham-que-npcs-com-ia-sao-so-uma-novidade" tabindex="-1">Os jogadores acham que NPCs com IA são só uma novidade? <a class="header-anchor" href="#os-jogadores-acham-que-npcs-com-ia-sao-so-uma-novidade" aria-label="Permalink to &quot;Os jogadores acham que NPCs com IA são só uma novidade?&quot;"></a></h3>
<p>Muitas vezes, sim, e esse ceticismo tem fundamento. Personagens com IA sem restrições tendem a inventar fatos, desviar da história do jogo ou soar como um chatbot fantasiado, o que quebra a imersão rapidamente. As versões que os jogadores recebem bem têm restrições rigorosas: personalidade clara, respostas curtas e fiéis ao personagem e nenhuma capacidade de revelar spoilers da trama ou contradizer o mundo. A conclusão dos exemplos já lançados é que a consistência importa mais do que a inteligência bruta.</p>
<h3 id="qual-e-a-maneira-mais-facil-de-adicionar-um-npc-com-ia-a-um-jogo-para-web" tabindex="-1">Qual é a maneira mais fácil de adicionar um NPC com IA a um jogo para web? <a class="header-anchor" href="#qual-e-a-maneira-mais-facil-de-adicionar-um-npc-com-ia-a-um-jogo-para-web" aria-label="Permalink to &quot;Qual é a maneira mais fácil de adicionar um NPC com IA a um jogo para web?&quot;"></a></h3>
<p>Chame uma API de modelo de linguagem pelo backend do seu jogo, usando um prompt de sistema que defina o personagem e inclua o estado atual do jogo, e depois exiba a resposta em uma caixa de diálogo. Isso rende um protótipo em um fim de semana. Para evitar custos de servidor, você pode executar um modelo pequeno no navegador com o WebLLM sobre WebGPU; e, se quiser que memória e voz sejam gerenciadas para você, o Convai oferece SDKs para web e three.js. Em todos os casos, defina as restrições (prompt do personagem, limite de tamanho e ações permitidas) antes de se preocupar com o modelo.</p>
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/ai-game-generators-2026.html">Melhores geradores de jogos com IA em 2026</a> — as ferramentas que criam um jogo jogável a partir de um prompt</li>
<li><a href="/pt-BR/guides/make-a-game-with-ai.html">Como criar um jogo com IA (sem programar)</a> — o processo completo de criação, do início ao fim</li>
<li><a href="/pt-BR/guides/ai-voice-acting-games.html">Dublagem com IA para jogos</a> — a camada de conversão de texto em fala que dá voz aos NPCs com IA</li>
<li><a href="/pt-BR/guides/frontier-gen-ai-models.html">Modelos de IA generativa de fronteira</a> — os modelos de linguagem que geram as falas nos bastidores</li>
<li><a href="/pt-BR/guides/vibe-coding-games.html">Vibe coding de jogos: o que é e como começar</a> — a mentalidade de prototipagem rápida para testar ideias como esta</li>
<li><a href="/pt-BR/guides/co-op-game-design.html">Design de jogos cooperativos</a> — como projetar personagens que compartilham um mundo com os jogadores</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/ai-npcs-dialogue-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Dublagem com IA para jogos: ferramentas, custos e regras (2026)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/ai-voice-acting-games</link>
            <guid>https://app.cinevva.com/pt-BR/guides/ai-voice-acting-games</guid>
            <pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Dublagem com IA para jogos em 2026: quanto custam o ElevenLabs e as alternativas, o que as licenças comerciais permitem lançar e quais são as regras do sindicato e da Steam.]]></description>
            <content:encoded><![CDATA[<h1 id="dublagem-com-ia-para-jogos-ferramentas-custos-e-regras-2026" tabindex="-1">Dublagem com IA para jogos: ferramentas, custos e regras (2026) <a class="header-anchor" href="#dublagem-com-ia-para-jogos-ferramentas-custos-e-regras-2026" aria-label="Permalink to &quot;Dublagem com IA para jogos: ferramentas, custos e regras (2026)&quot;"></a></h1>
<p><em>Última atualização: julho de 2026.</em></p>
<p>Sim, você pode usar vozes geradas por IA em um jogo comercial e, para a maioria dos desenvolvedores solo e estúdios pequenos, isso é barato. Um plano pago de uma ferramenta como o <a href="https://elevenlabs.io/pricing" target="_blank" rel="noreferrer">ElevenLabs</a> começa em US$ 6 por mês e inclui uma licença comercial, então você pode lançar os diálogos gerados em um jogo vendido por você. A <a href="https://texttolab.com/blog/openai-tts-pricing" target="_blank" rel="noreferrer">API de conversão de texto em fala da OpenAI</a> custa cerca de US$ 0,015 por minuto de áudio e também está liberada para uso comercial. Modelos de código aberto com licenças permissivas, como Piper e Kokoro, não custam nada para executar e podem ser usados comercialmente, enquanto outros, como o XTTS v2, não permitem uso comercial. Portanto, a licença do modelo determina o que você pode vender. Para um jogo indie típico com algumas centenas de falas, o custo de geração ficará entre zero e cerca de US$ 20 a US$ 30.</p>
<p>O problema não é o dinheiro, mas as regras e a recepção do público. Os planos gratuitos quase nunca permitem uso comercial e geralmente exigem atribuição no conteúdo gerado. Portanto, a ferramenta “gratuita” que permite lançar um jogo é aquela cuja licença diz isso explicitamente. Clonar a voz de uma pessoa real sem permissão é o que pode resultar em processo ou remoção das lojas, não uma forma de economizar tempo. A Steam exige que você <a href="https://www.pcgamer.com/software/ai/steam-updates-ai-disclosure-form-to-specify-that-its-focused-on-ai-generated-content-that-is-consumed-by-players-not-efficiency-tools-used-behind-the-scenes/" target="_blank" rel="noreferrer">declare conteúdo de IA apresentado aos jogadores</a>, incluindo falas com vozes de IA, na página do jogo. E os jogadores percebem. Vários jogos lançados em 2025 e 2026 enfrentaram fortes críticas pelo uso de vozes de IA, então é um erro tratar isso apenas como uma forma discreta de reduzir custos, em vez de uma escolha criativa. Este guia apresenta as ferramentas, os custos reais, as regras sindicais e das lojas e explica quando é melhor simplesmente contratar uma pessoa.</p>
<h2 id="referencia-rapida-comparacao-das-ferramentas" tabindex="-1">Referência rápida: comparação das ferramentas <a class="header-anchor" href="#referencia-rapida-comparacao-das-ferramentas" aria-label="Permalink to &quot;Referência rápida: comparação das ferramentas&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Ferramenta</th>
<th>Preço (2026)</th>
<th>Licença comercial</th>
<th>Política de clonagem de voz</th>
<th>Observações sobre a qualidade</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://elevenlabs.io/pricing" target="_blank" rel="noreferrer">ElevenLabs</a></td>
<td>Plano gratuito; depois, de US$ 6/mês (Starter) a US$ 99/mês (Pro)</td>
<td>Somente nos planos pagos, perpétua mesmo após o cancelamento</td>
<td>Clonagem instantânea no Starter, clonagem profissional no Creator+; exige consentimento para vozes reais</td>
<td>Referência do mercado em emoção e interpretação, a escolha padrão para diálogos de jogos</td>
</tr>
<tr>
<td><a href="https://texttolab.com/blog/openai-tts-pricing" target="_blank" rel="noreferrer">OpenAI TTS</a> (gpt-4o-mini-tts)</td>
<td>Cerca de US$ 0,015/min de áudio, conforme o uso</td>
<td>Sim, de acordo com as políticas de uso da OpenAI</td>
<td>Somente vozes predefinidas, sem clonagem</td>
<td>Barato, natural e bom para grandes volumes, mas oferece menos controle de interpretação</td>
</tr>
<tr>
<td><a href="https://murf.ai/" target="_blank" rel="noreferrer">Murf</a></td>
<td>Os planos pagos incluem direitos comerciais</td>
<td>Todos os planos pagos</td>
<td>Clonagem nos planos superiores</td>
<td>Rápido (modelo Falcon de baixa latência), narração com qualidade de estúdio</td>
</tr>
<tr>
<td><a href="https://www.resemble.ai/" target="_blank" rel="noreferrer">Resemble AI</a></td>
<td>Planos pagos, além do Chatterbox de código aberto</td>
<td>Sim nos planos pagos, além do Chatterbox com licença MIT</td>
<td>A clonagem é um recurso central; exige consentimento</td>
<td>O Chatterbox tem um controle de “exagero” útil para personagens de jogos</td>
</tr>
<tr>
<td><a href="https://huggingface.co/coqui/XTTS-v2" target="_blank" rel="noreferrer">XTTS v2</a> (Coqui)</td>
<td>Gratuito, hospedado por você</td>
<td>CPML, pesos sem uso comercial, apenas para protótipos</td>
<td>Clona a partir de cerca de 6 segundos, em 17 idiomas</td>
<td>Melhor clonador multilíngue local e aberto, mas exige uma GPU</td>
</tr>
<tr>
<td><a href="https://github.com/rhasspy/piper" target="_blank" rel="noreferrer">Piper</a></td>
<td>Gratuito, hospedado por você</td>
<td>Permissiva, pode ser incluído no lançamento</td>
<td>Vozes predefinidas, sem clonagem</td>
<td>Funciona em tempo real na CPU, excelente para sistemas embarcados ou hardware modesto</td>
</tr>
</tbody>
</table>
<p>Preços e termos mudam, então confirme a licença atual na página do próprio fornecedor antes de criar um pipeline baseado na ferramenta. O restante deste guia explica o que essas linhas realmente significam para um jogo que você pretende vender.</p>
<h2 id="as-ferramentas-e-os-melhores-usos-de-cada-uma" tabindex="-1">As ferramentas e os melhores usos de cada uma <a class="header-anchor" href="#as-ferramentas-e-os-melhores-usos-de-cada-uma" aria-label="Permalink to &quot;As ferramentas e os melhores usos de cada uma&quot;"></a></h2>
<p><strong>ElevenLabs</strong> é a escolha da maioria dos desenvolvedores de jogos, e por bons motivos. Ele lida com variações emocionais e ritmo natural melhor do que as alternativas, algo importante quando uma fala precisa soar assustada, sarcástica ou exausta, em vez de apenas ser lida em voz alta. O <a href="https://help.elevenlabs.io/hc/en-us/articles/13313564601361-Can-I-publish-the-content-I-generate-on-the-platform" target="_blank" rel="noreferrer">plano gratuito oferece 10.000 créditos por mês, mas não concede direitos comerciais e exige atribuição</a>, então serve apenas para testes. O <a href="https://elevenlabs.io/pricing" target="_blank" rel="noreferrer">plano Starter, de US$ 6 por mês, adiciona uma licença comercial e 30.000 créditos</a>, o equivalente a aproximadamente 30 minutos de fala, já que cada caractere de texto custa um crédito no modelo padrão. O Creator, por US$ 22, oferece cerca de 121.000 créditos e clonagem profissional de voz, enquanto o Pro, por US$ 99, oferece 600.000. Para a maioria dos jogos pequenos, o plano de US$ 6 ou US$ 22 é suficiente.</p>
<p>A <strong>conversão de texto em fala da OpenAI</strong> é a opção com melhor custo-benefício. O <a href="https://tokenmix.ai/blog/gpt-4o-mini-tts-cheapest-tts-api-2026" target="_blank" rel="noreferrer">modelo gpt-4o-mini-tts custa cerca de US$ 0,015 por minuto de áudio gerado</a>, cobrado pela API, e o uso comercial é permitido pelas políticas de uso da OpenAI. Você recebe um conjunto de vozes predefinidas, sem clonagem, e tem menos controle sobre a interpretação do que no ElevenLabs. Porém, se precisar gerar centenas de falas contextuais e chamadas curtas, é difícil superar esse preço. É uma boa opção para grandes volumes de falas menos importantes.</p>
<p>O <strong>Murf</strong> é mais voltado para o público de narração em estúdio. Todos os planos pagos <a href="https://undetectr.com/blog/ai-voice-generator-free" target="_blank" rel="noreferrer">incluem direitos comerciais</a>, e o modelo Falcon mais recente foi criado para oferecer baixa latência, <a href="https://murf.ai/" target="_blank" rel="noreferrer">chegando a cerca de 55 ms em testes independentes</a>, algo mais importante para agentes em tempo real do que para diálogos de jogos gerados previamente. Vale a pena conhecer o <strong>Resemble AI</strong> por dois motivos: seu produto pago é centrado em clonagem e a empresa também publica o <a href="https://findskill.ai/blog/best-open-source-tts-2026/" target="_blank" rel="noreferrer">Chatterbox</a>, um modelo de código aberto sob uma licença permissiva, com um parâmetro de “exagero” que leva as vozes para um estilo mais caricatural — algo realmente útil para personagens e criaturas de jogos.</p>
<p>Entre as opções de código aberto, o <strong>XTTS v2</strong>, da extinta Coqui, ainda é <a href="https://localaimaster.com/models/coqui-tts" target="_blank" rel="noreferrer">considerado o melhor mecanismo local de clonagem de voz multilíngue em 2026</a>. Ele consegue clonar uma voz a partir de cerca de seis segundos de áudio em 17 idiomas e continua existindo por meio de uma bifurcação mantida pela comunidade, mesmo após <a href="https://apatero.com/blog/open-source-text-to-speech-models-beyond-elevenlabs-2026" target="_blank" rel="noreferrer">a empresa encerrar as atividades em janeiro de 2024</a>. No entanto, use-o apenas em protótipos: os pesos do modelo são distribuídos sob a licença CPML da Coqui, que não permite uso comercial. Portanto, você não pode usá-lo legalmente em um jogo vendido. O <strong>Piper</strong> fica no extremo oposto: <a href="https://www.bentoml.com/blog/exploring-the-world-of-open-source-text-to-speech-models" target="_blank" rel="noreferrer">ele funciona em tempo real em uma CPU, sem GPU</a>, o que o torna uma boa escolha para sistemas embarcados, hardware modesto ou geração de vozes em tempo de execução dentro do próprio jogo. O <strong>Bark</strong> tem licença MIT e consegue produzir sons não verbais, como risadas e suspiros, enquanto o <strong>Kokoro</strong> é uma opção leve, voltada principalmente ao inglês, que pode ser usada em lançamentos comerciais. Para criação de mods no estilo Skyrim, ferramentas como o <strong>xVASynth</strong> são há muito tempo o padrão da comunidade para criar falas personalizadas de NPCs. Se você cria mods, porém, confira os termos do jogo original e da ferramenta antes de distribuir seu trabalho.</p>
<p>Uma observação sobre o mercado: <a href="https://undetectr.com/blog/ai-voice-generator-free" target="_blank" rel="noreferrer">o Play.ht foi adquirido pela Meta em meados de 2025 e teria encerrado as atividades no fim daquele ano</a>. Portanto, se ele aparecer como recomendação em um artigo antigo, ignore-o.</p>
<h2 id="quanto-custa-na-pratica" tabindex="-1">Quanto custa na prática <a class="header-anchor" href="#quanto-custa-na-pratica" aria-label="Permalink to &quot;Quanto custa na prática&quot;"></a></h2>
<p>Os valores por minuto e por caractere não contam a história toda, então vejamos as contas reais. Um jogo narrativo curto com, por exemplo, 300 falas de 12 palavras em média tem aproximadamente 21.600 caracteres. No ElevenLabs, isso fica abaixo da franquia mensal do plano Starter, então o orçamento de vozes para o jogo inteiro seria de US$ 6 — ou US$ 22, caso você queira vozes clonadas ou de maior qualidade. Na API da OpenAI, esse mesmo roteiro representa alguns minutos de áudio e custa bem menos de um dólar. Os modelos de código aberto não custam nada além dos seus próprios recursos computacionais e do seu tempo.</p>
<p>Os custos realmente aumentam com as iterações e a escala. É raro acertar uma fala na primeira geração, e refazer interpretações, ajustar ênfases e gerar tudo novamente após uma alteração no roteiro consome créditos. Um RPG com muitos diálogos, milhares de falas, várias tomadas de cada uma e diversos idiomas pode exigir um plano de US$ 99 ou gerar gastos consideráveis com API. Mesmo assim, você estará comparando dezenas ou poucas centenas de dólares com os milhares que um elenco humano completo custaria. A avaliação honesta é que a voz de IA é barata na geração bruta e só fica cara em comparação consigo mesma, nunca em comparação com a contratação de um elenco sindicalizado. Se seu orçamento for zero, os planos gratuitos permitem criar um protótipo, enquanto os modelos de código aberto permitem lançar um jogo, desde que você respeite suas licenças.</p>
<h2 id="licenciamento-e-regras-sindicais" tabindex="-1">Licenciamento e regras sindicais <a class="header-anchor" href="#licenciamento-e-regras-sindicais" aria-label="Permalink to &quot;Licenciamento e regras sindicais&quot;"></a></h2>
<p>Esta é a parte que costuma causar problemas, então leia com atenção. Há duas questões distintas de licenciamento, e é fácil confundi-las.</p>
<p>A primeira é a licença da ferramenta, que determina se você pode vender o que gerar. Nos planos pagos do ElevenLabs, Murf, Resemble e OpenAI, a resposta é sim. Especificamente no caso do ElevenLabs, você <a href="https://terms.law/ai-output-rights/elevenlabs/" target="_blank" rel="noreferrer">mantém os direitos comerciais sobre o áudio gerado durante uma assinatura paga mesmo depois de cancelá-la</a>. Há dois detalhes importantes nas letras miúdas: você ainda precisa deter os direitos sobre o roteiro e o conteúdo originais, e fornecedores como o ElevenLabs <a href="https://terms.law/ai-output-rights/elevenlabs/" target="_blank" rel="noreferrer">mantêm uma licença para usar o conteúdo gerado por você no treinamento e aprimoramento de seus modelos</a>. Os planos gratuitos são a armadilha, pois normalmente proíbem o uso comercial e exigem atribuição. Portanto, um jogo lançado com conteúdo gerado em um plano gratuito não está em conformidade. No caso de modelos de código aberto, a licença pertence ao modelo específico, não à categoria da ferramenta. Verifique se ela é MIT, Apache ou se contém alguma cláusula que proíba uso comercial antes de criar seu projeto com base nela.</p>
<p>A segunda questão é a própria voz. Gerar uma voz predefinida ou sintética não costuma causar problemas. Clonar a voz de uma pessoa real sem consentimento, por outro lado, representa tanto um risco jurídico quanto uma questão ética. É aí que entram as regras sindicais. Após uma greve de quase um ano, <a href="https://deadline.com/2025/07/sag-aftra-video-game-agreement-approved-strike-1236453741/" target="_blank" rel="noreferrer">os membros do SAG-AFTRA ratificaram um novo Acordo de Mídia Interativa em 9 de julho de 2025, com 95% dos votos</a>, encerrando formalmente <a href="https://en.wikipedia.org/wiki/2024%E2%80%932025_SAG-AFTRA_video_game_strike" target="_blank" rel="noreferrer">a greve dos atores de videogames iniciada em julho de 2024</a>. As disposições do acordo sobre IA exigem <a href="https://variety.com/2025/gaming/news/video-game-actors-strike-contract-ratified-sag-aftra-1236451291/" target="_blank" rel="noreferrer">consentimento, divulgação e remuneração antes do uso da réplica digital da voz de um artista</a>, além de permitirem que os artistas suspendam o consentimento para a geração de novo material com IA durante uma greve.</p>
<p>Se você é um desenvolvedor indie que usa vozes sintéticas predefinidas, esse contrato não se aplica diretamente a você, pois rege estúdios signatários que trabalham com artistas sindicalizados. Mas ele estabelece o padrão pelo qual todos agora são avaliados: obtenha consentimento explícito e remunerado antes de clonar a voz de qualquer pessoa real. Não extraia dados da demo de um dublador ou dos clipes de um streamer para treinar um modelo. A disputa sindical tratou especificamente da substituição de artistas por IA treinada em seu próprio trabalho sem permissão. Fazer isso como um estúdio pequeno representa tanto um risco jurídico quanto uma ameaça à sua reputação.</p>
<h2 id="requisitos-de-divulgacao" tabindex="-1">Requisitos de divulgação <a class="header-anchor" href="#requisitos-de-divulgacao" aria-label="Permalink to &quot;Requisitos de divulgação&quot;"></a></h2>
<p>Se você pretende lançar na Steam, precisa declarar o conteúdo de voz gerado por IA. A <a href="https://finance.biggo.com/news/202601171220_Steam_AI_Disclosure_Update_Focuses_on_Player_Content" target="_blank" rel="noreferrer">política de divulgação de IA da Valve está em vigor desde o início de 2024 e foi atualizada em 17 de janeiro de 2026</a> para se concentrar especificamente no conteúdo gerado por IA que acompanha o jogo e é <a href="https://www.pcgamer.com/software/ai/steam-updates-ai-disclosure-form-to-specify-that-its-focused-on-ai-generated-content-that-is-consumed-by-players-not-efficiency-tools-used-behind-the-scenes/" target="_blank" rel="noreferrer">consumido pelos jogadores, não em ferramentas internas de produtividade</a>. Falas com vozes de IA estão explicitamente incluídas. A política separa o conteúdo pré-gerado, incorporado ao download — como falas e artes feitas por IA — do conteúdo gerado ao vivo, em que o jogo cria diálogos dinamicamente e exige a implementação de proteções contra conteúdo ilegal ou ofensivo. Sua declaração aparece na página da loja, na seção “Sobre este jogo”, e fica visível aos jogadores antes da compra.</p>
<p>Na prática: se você usou IA para gerar falas incluídas no jogo, marque a opção de conteúdo pré-gerado e descreva o uso com honestidade. Se seus NPCs geram diálogos em tempo de execução, trata-se de conteúdo gerado ao vivo e há a obrigação adicional de implementar proteções. No momento, outras plataformas são menos formais quanto à divulgação específica de vozes em jogos, mas a tendência da indústria é exigir mais identificação, não menos. Ser transparente costuma ter uma recepção melhor entre os jogadores do que ser descoberto depois. Além das regras das lojas, algumas comunidades e premiações estabelecem seus próprios limites: o <a href="https://www.notebookcheck.net/Indie-Game-Awards-disqualify-Clair-Obscur-Expedition-33-after-generative-AI-controversy.1189979.0.html" target="_blank" rel="noreferrer">Indie Game Awards desclassificou um indicado em 2025 após vir à tona o uso de IA generativa</a>. Portanto, se você pretende participar de um festival específico ou lançar em determinada loja, leia também a política correspondente.</p>
<h2 id="dicas-de-fluxo-de-trabalho" tabindex="-1">Dicas de fluxo de trabalho <a class="header-anchor" href="#dicas-de-fluxo-de-trabalho" aria-label="Permalink to &quot;Dicas de fluxo de trabalho&quot;"></a></h2>
<p>A diferença entre uma voz de IA que parece pertencer a um jogo e uma que soa como um atendimento telefônico automatizado está principalmente na direção. Escreva as falas da forma como você quer que sejam interpretadas, usando a pontuação de maneira intencional, pois vírgulas, reticências e quebras de linha alteram o ritmo mais do que qualquer configuração. Gere várias versões de cada fala importante e escolha a melhor, como um diretor faria com um ator humano. Mantenha uma voz consistente para cada personagem ao longo de todo o roteiro e anote o ID exato da voz e as configurações usadas, para que uma fala regenerada três meses depois ainda soe igual.</p>
<p>Quando o roteiro estiver pronto, gere as falas em lote em vez de regenerá-las constantemente durante a escrita, pois é aí que créditos e tempo acabam sendo desperdiçados. Para momentos emocionais, algumas ferramentas permitem orientar o tom com uma instrução curta ou um controle de emoção. Vale a pena concentrar seus esforços nessas partes e deixar as falas incidentais serem geradas no automático. Mantenha as vozes no mesmo volume e formato do restante do áudio, para que os diálogos, a <a href="/pt-BR/guides/free-sound-effects-music.html">música e os efeitos sonoros</a> funcionem bem juntos na mixagem. E teste as vozes com jogadores reais desde cedo, porque aquela interpretação monótona que você deixa de perceber depois de ouvir pela quinquagésima vez é a primeira coisa que um jogador novo nota.</p>
<h2 id="quando-contratar-pessoas" tabindex="-1">Quando contratar pessoas <a class="header-anchor" href="#quando-contratar-pessoas" aria-label="Permalink to &quot;Quando contratar pessoas&quot;"></a></h2>
<p>A voz por IA é uma ferramenta, não uma substituta para uma interpretação, e os desenvolvedores que a utilizam bem são honestos quanto a isso. Até mesmo a <a href="https://gamerant.com/arc-raiders-controversial-ai-voice-change/" target="_blank" rel="noreferrer">Embark Studios, cujo ARC Raiders foi lançado com diálogos gerados por IA em outubro de 2025, substituiu muitas dessas falas por interpretações humanas após o lançamento</a>, e o CEO do estúdio declarou de forma direta que existe uma diferença de qualidade entre a IA e um ator profissional de verdade. Esse é o sinal. Se a voz de um personagem for fundamental para a identidade do seu jogo, se você depender de uma interpretação emocional sutil ou se seu público for do tipo que examina e critica o uso de vozes por IA, contrate uma pessoa. Atores reais trazem interpretação, improvisação e especificidade que os modelos atuais ainda apenas tentam reproduzir.</p>
<p>Use vozes por IA onde elas realmente fizerem sentido: em protótipos e faixas temporárias, para você ouvir o ritmo dos diálogos antes de se comprometer; em grandes volumes de falas utilitárias, como comunicações por rádio e falas genéricas; em vozes provisórias que serão substituídas depois; em projetos solo sem orçamento, nos quais a alternativa seria o silêncio; e em recursos de acessibilidade, como a leitura em voz alta dos textos da interface. Uma abordagem intermediária comum é gerar tudo com IA para acertar o roteiro e o ritmo e, depois, contratar atores humanos para as falas que sustentam o jogo. Assim, você investe seu orçamento de dublagem onde ele faz mais diferença e deixa a IA cuidar do restante.</p>
<BuildCta
  title="Crie o jogo e depois decida como serão as vozes"
  desc="A Cinevva transforma um prompt em um jogo que pode ser jogado no seu navegador, com efeitos sonoros e música gerados para você. A dublagem pode ser adicionada com as ferramentas acima."
  prompt="Crie um jogo curto de aventura narrativa com diálogos ramificados" />
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="e-permitido-usar-vozes-por-ia-em-um-jogo-comercial" tabindex="-1">É permitido usar vozes por IA em um jogo comercial? <a class="header-anchor" href="#e-permitido-usar-vozes-por-ia-em-um-jogo-comercial" aria-label="Permalink to &quot;É permitido usar vozes por IA em um jogo comercial?&quot;"></a></h3>
<p>Sim, desde que você use uma ferramenta cuja licença permita uso comercial e não clone a voz de uma pessoa real sem o consentimento dela. Os planos pagos da ElevenLabs, OpenAI, Murf e Resemble incluem direitos de uso comercial, e modelos de código aberto com licenças permissivas, como Piper e Bark, podem ser incluídos gratuitamente em jogos publicados. As duas formas de ter problemas são lançar resultados de um plano gratuito que proíba o uso comercial e exija atribuição ou treinar uma voz com gravações de um ator real sem permissão. Ambas são evitáveis.</p>
<h3 id="quanto-custa-usar-dublagem-por-ia-em-um-jogo" tabindex="-1">Quanto custa usar dublagem por IA em um jogo? <a class="header-anchor" href="#quanto-custa-usar-dublagem-por-ia-em-um-jogo" aria-label="Permalink to &quot;Quanto custa usar dublagem por IA em um jogo?&quot;"></a></h3>
<p>Menos do que a maioria das pessoas imagina. Um jogo curto com algumas centenas de falas cabe no plano Starter de US$ 6 por mês da ElevenLabs ou custa menos de um dólar pela API da OpenAI, enquanto modelos de código aberto podem ser executados gratuitamente no seu próprio hardware. Um RPG com muitos diálogos, milhares de falas e vários idiomas pode exigir um plano de US$ 99 ou gerar gastos de algumas centenas de dólares com APIs. Mesmo no cenário mais caro, isso representa uma fração do custo de um elenco completo de dubladores humanos.</p>
<h3 id="preciso-declarar-o-uso-de-dublagem-por-ia-na-steam" tabindex="-1">Preciso declarar o uso de dublagem por IA na Steam? <a class="header-anchor" href="#preciso-declarar-o-uso-de-dublagem-por-ia-na-steam" aria-label="Permalink to &quot;Preciso declarar o uso de dublagem por IA na Steam?&quot;"></a></h3>
<p>Sim. A política de divulgação de IA da Steam exige que você declare qualquer conteúdo gerado por IA incluído no jogo e consumido pelos jogadores, e as falas com vozes por IA são explicitamente abrangidas. A declaração aparece na página da loja, na seção &quot;Sobre este jogo&quot;. Desde a atualização de janeiro de 2026, ferramentas de bastidores que não produzem conteúdo voltado aos jogadores deixaram de ser o foco, mas as falas que os jogadores realmente ouvem continuam sendo. Se o jogo gerar diálogos ao vivo durante a execução, isso pertence a uma categoria separada que também exige mecanismos de segurança.</p>
<h3 id="posso-clonar-a-voz-de-um-ator-ou-de-uma-celebridade-real-para-o-meu-jogo" tabindex="-1">Posso clonar a voz de um ator ou de uma celebridade real para o meu jogo? <a class="header-anchor" href="#posso-clonar-a-voz-de-um-ator-ou-de-uma-celebridade-real-para-o-meu-jogo" aria-label="Permalink to &quot;Posso clonar a voz de um ator ou de uma celebridade real para o meu jogo?&quot;"></a></h3>
<p>Não sem o consentimento explícito e remunerado dessa pessoa. Clonar a voz de uma pessoa real sem permissão pode expor você a ações judiciais relacionadas a direitos de imagem e publicidade, e essa é exatamente a prática que o acordo da SAG-AFTRA para jogos eletrônicos foi criado para impedir. O contrato de 2025 exige consentimento, divulgação e remuneração para réplicas digitais das vozes de artistas. Mesmo que você seja um desenvolvedor independente não abrangido por esse contrato, os riscos jurídicos e de reputação de um clone não autorizado são reais. Use vozes sintéticas predefinidas ou licencie uma voz adequadamente.</p>
<h3 id="os-jogadores-perceberao-que-usei-vozes-por-ia-eles-se-importarao" tabindex="-1">Os jogadores perceberão que usei vozes por IA? Eles se importarão? <a class="header-anchor" href="#os-jogadores-perceberao-que-usei-vozes-por-ia-eles-se-importarao" aria-label="Permalink to &quot;Os jogadores perceberão que usei vozes por IA? Eles se importarão?&quot;"></a></h3>
<p>Frequentemente, sim para ambas as perguntas. Os jogadores ficaram bons em identificar a interpretação monótona e um pouco estranha dos sistemas atuais de conversão de texto em fala, e vários jogos de 2025 e 2026 enfrentaram reações negativas do público por usarem vozes por IA, levando alguns desenvolvedores a reverter a decisão após o lançamento. Isso não acontece em todos os casos, e falas utilitárias ou vozes claramente estilizadas tendem a causar menos rejeição do que um protagonista recitando diálogos emocionais. Seja transparente em sua declaração, use IA onde ela fizer sentido em vez de usá-la onde claramente não funciona e considere atores humanos para as vozes que definem seu jogo.</p>
<h3 id="qual-e-a-melhor-ferramenta-gratuita-de-voz-por-ia-para-jogos" tabindex="-1">Qual é a melhor ferramenta gratuita de voz por IA para jogos? <a class="header-anchor" href="#qual-e-a-melhor-ferramenta-gratuita-de-voz-por-ia-para-jogos" aria-label="Permalink to &quot;Qual é a melhor ferramenta gratuita de voz por IA para jogos?&quot;"></a></h3>
<p>Para publicar um jogo comercial sem orçamento, use um modelo de código aberto com licença permissiva, pois os planos gratuitos das ferramentas pagas proíbem o uso comercial. O Piper funciona em uma CPU comum e é ótimo para hardware modesto ou geração durante a execução, enquanto Bark e Kokoro são fáceis de incluir em um jogo publicado. O XTTS v2 oferece a clonagem de voz multilíngue mais avançada se você tiver uma GPU, mas serve apenas para protótipos e não pode ser incluído em um produto comercial: os pesos do modelo estão sob a licença CPML da Coqui, que não permite uso comercial. Confirme a licença específica do modelo antes de desenvolver com base nele, pois &quot;código aberto&quot; nem sempre significa &quot;uso comercial permitido&quot;.</p>
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/ai-music-generators-games.html">Melhores geradores de música por IA para jogos</a> — a mesma questão de escolha de ferramentas, mas para a trilha sonora</li>
<li><a href="/pt-BR/guides/free-sound-effects-music.html">Efeitos sonoros e músicas gratuitos para jogos</a> — onde obter legalmente o restante do áudio</li>
<li><a href="/pt-BR/guides/ai-npcs-dialogue.html">NPCs e diálogos com IA</a> — como gerar conversas, não apenas lê-las em voz alta</li>
<li><a href="/pt-BR/guides/ai-asset-generators-games.html">Geradores de assets para jogos com IA</a> — arte, modelos e áudio a partir de um prompt</li>
<li><a href="/pt-BR/guides/game-asset-licenses.html">Licenças de assets para jogos explicadas</a> — o que realmente significam uso comercial, CC0 e isenção de royalties</li>
<li><a href="/pt-BR/guides/make-a-game-with-ai.html">Como criar um jogo com IA sem programar</a> — crie o jogo que receberá as vozes</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/ai-voice-acting-games-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Melhores Sprites 2D, Pixel Art e Tilesets Gratuitos para Jogos (2026)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/free-2d-sprites-tilesets</link>
            <guid>https://app.cinevva.com/pt-BR/guides/free-2d-sprites-tilesets</guid>
            <pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Os melhores sprites 2D, pixel art e tilesets gratuitos em 2026: fontes CC0 como Kenney, OpenGameArt, criadores do itch.io e geradores de IA, com as licenças explicadas.]]></description>
            <content:encoded><![CDATA[<h1 id="melhores-sprites-2d-pixel-art-e-tilesets-gratuitos-para-jogos-2026" tabindex="-1">Melhores Sprites 2D, Pixel Art e Tilesets Gratuitos para Jogos (2026) <a class="header-anchor" href="#melhores-sprites-2d-pixel-art-e-tilesets-gratuitos-para-jogos-2026" aria-label="Permalink to &quot;Melhores Sprites 2D, Pixel Art e Tilesets Gratuitos para Jogos (2026)&quot;"></a></h1>
<p><em>Última atualização: julho de 2026.</em></p>
<p>Os melhores lugares para encontrar sprites 2D, pixel art e tilesets gratuitos para jogos são o Kenney (mais de 40.000 assets CC0), o OpenGameArt (filtre por licença) e alguns criadores do itch.io, como Pixel Frog, Ansimuz e 0x72, que disponibilizam pacotes completos sob CC0. Todos são seguros para uso em jogos comerciais sem necessidade de atribuição. Aqui estão todas as fontes que vale a pena salvar nos favoritos em 2026, com os termos exatos das licenças verificados para que você não precise adivinhar.</p>
<figure class="sample-sheet">
<a href="/pt-BR/assets?providers=kenney"><img src="https://cdn.cinevva.com/guides/samples/samples-pixel-tiles.jpg" alt="Sprites em pixel art de pacotes CC0 do Kenney: astronauta, porta de masmorra, aviões de shmup e tiles de plataforma" loading="lazy"></a>
<figcaption>Personagens, naves, tiles e objetos em pixel art dos pacotes de pixels CC0 do Kenney. <a href="/pt-BR/assets?providers=kenney">Explore-os na biblioteca de assets</a>.</figcaption>
</figure>
<h2 id="escolhas-rapidas" tabindex="-1">Escolhas rápidas <a class="header-anchor" href="#escolhas-rapidas" aria-label="Permalink to &quot;Escolhas rápidas&quot;"></a></h2>
<ul>
<li><strong>Tudo em um só lugar, estilo consistente e nenhum risco de licença:</strong> Kenney (CC0).</li>
<li><strong>Pacotes completos de plataforma com personagens animados:</strong> Pixel Frog e Ansimuz no itch.io (CC0).</li>
<li><strong>Tiles e personagens para dungeon crawlers:</strong> DungeonTileset II do 0x72 (CC0).</li>
<li><strong>Tiles para RPG com visão de cima:</strong> Cainos no itch.io ou a coleção LPC no OpenGameArt.</li>
<li><strong>Milhares de ícones de interface e inventário:</strong> Game-icons.net (CC BY 3.0, atribuição obrigatória).</li>
<li><strong>Desenhe os seus próprios:</strong> Aseprite (pago), Libresprite ou Piskel (gratuitos).</li>
</ul>
<h2 id="referencia-rapida" tabindex="-1">Referência rápida <a class="header-anchor" href="#referencia-rapida" aria-label="Permalink to &quot;Referência rápida&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Necessidade</th>
<th>Melhor fonte</th>
<th>Licença</th>
<th>Atribuição</th>
</tr>
</thead>
<tbody>
<tr>
<td>Sprites e tiles de plataforma</td>
<td>Kenney, Pixel Frog</td>
<td>CC0</td>
<td>Nenhuma</td>
</tr>
<tr>
<td>Tileset de masmorra em pixel art</td>
<td>0x72</td>
<td>CC0</td>
<td>Nenhuma</td>
</tr>
<tr>
<td>Tiles para RPG com visão de cima</td>
<td>Cainos, LPC (OpenGameArt)</td>
<td>Gratuita / CC-BY-SA + GPL</td>
<td>Nenhuma / crédito + compartilhamento pela mesma licença</td>
</tr>
<tr>
<td>Enorme acervo pesquisável</td>
<td>OpenGameArt</td>
<td>De CC0 a CC-BY-SA</td>
<td>Depende do filtro</td>
</tr>
<tr>
<td>Pacotes temáticos bem-acabados</td>
<td>Brindes do CraftPix</td>
<td>Licença do CraftPix</td>
<td>Nenhuma</td>
</tr>
<tr>
<td>Interface de jogo e ícones de itens</td>
<td>Game-icons.net</td>
<td>CC BY 3.0</td>
<td>Obrigatória</td>
</tr>
<tr>
<td>Paletas e técnicas</td>
<td>Lospec</td>
<td>Varia</td>
<td>n/a</td>
</tr>
</tbody>
</table>
<h2 id="a-base-cc0-kenney" tabindex="-1">A base CC0: Kenney <a class="header-anchor" href="#a-base-cc0-kenney" aria-label="Permalink to &quot;A base CC0: Kenney&quot;"></a></h2>
<figure class="sample-sheet">
<a href="/pt-BR/assets?providers=kenney"><img src="https://cdn.cinevva.com/guides/samples/samples-kenney-sprites.jpg" alt="Exemplos de sprites 2D CC0 do Kenney: personagem astronauta, naves espaciais, tiles em pixel art, emote de coração e alienígena" loading="lazy"></a>
<figcaption>Uma amostra da variedade 2D do Kenney: personagens, naves, tiles e emotes, todos CC0. <a href="/pt-BR/assets?providers=kenney">Explore os sprites do Kenney na biblioteca de assets</a>.</figcaption>
</figure>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://kenney.nl" target="_blank" rel="noreferrer">kenney.nl</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>CC0 (domínio público), sem atribuição obrigatória</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Mais de 40.000 em mais de 270 pacotes, com mais de 100 pacotes somente na seção 2D</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Sprites e spritesheets em PNG, arquivos vetoriais de origem em muitos pacotes</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>Sim, um ZIP gratuito por pacote</td>
</tr>
</tbody>
</table>
<p>Kenney é, de longe, o melhor ponto de partida para arte 2D de jogos. Tudo é CC0, tudo já vem recortado em spritesheets prontas para jogos, e os pacotes de uma mesma família visual combinam entre si. Assim, você pode juntar o New Platformer Pack a um UI Pack e a Input Prompts sem que os estilos entrem em conflito. A série Tiny (Tiny Town, Tiny Farm, Tiny Dungeon) é uma das favoritas para jogos com visão de cima em 16x16, e Roguelike Characters reúne centenas de pequenos personagens em uma única folha. Os sprites do Kenney também podem ser <a href="/pt-BR/assets.html?providers=kenney">pesquisados na biblioteca de assets da Cinevva</a>.</p>
<figure class="sample-sheet">
<a href="/pt-BR/assets?providers=kenney"><img src="https://cdn.cinevva.com/guides/samples/samples-kenney-ui.jpg" alt="Elementos de interface CC0 do Kenney: botão, ícone de controle, indicação de tecla, marca de seleção, cartões de itens, medalha e mira" loading="lazy"></a>
<figcaption>Botões, ícones, indicações de comandos, miras e cartões de itens dos pacotes de interface CC0 do Kenney. <a href="/pt-BR/assets?providers=kenney">Explore os pacotes de interface na biblioteca de assets</a>.</figcaption>
</figure>
<h2 id="opengameart" tabindex="-1">OpenGameArt <a class="header-anchor" href="#opengameart" aria-label="Permalink to &quot;OpenGameArt&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://opengameart.org" target="_blank" rel="noreferrer">opengameart.org</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Por asset: CC0, OGA-BY, CC-BY, CC-BY-SA, GPL, domínio público</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Milhares de contribuições 2D, mantidas pela comunidade desde 2009</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>PNG, spritesheets e arquivos de origem que variam conforme a contribuição</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>Sim, arquivos anexados à página de cada contribuição</td>
</tr>
</tbody>
</table>
<p>OpenGameArt é o mais antigo acervo gratuito de arte para jogos ainda em funcionamento e continua ativo em 2026, com maratonas de arte frequentes e novas contribuições. A qualidade varia muito, então o segredo está no filtro de licenças do site: pesquise com a opção CC0 marcada para obter apenas resultados seguros para uso comercial. A coleção de destaque é a Liberated Pixel Cup (LPC), um padrão coordenado de arte 32x32 para RPGs com visão de cima, com uma enorme biblioteca de tiles e personagens compatíveis, além do Universal LPC Spritesheet Character Generator. Há uma ressalva: a arte LPC possui licença dupla CC-BY-SA 3.0 e GPLv3, o que significa que a atribuição é obrigatória e que artes derivadas devem manter a mesma licença. Portanto, leia nosso <a href="/pt-BR/guides/game-asset-licenses.html">guia de licenças</a> antes de usá-la como base para um jogo comercial.</p>
<h2 id="pacotes-de-assets-gratuitos-no-itch-io" tabindex="-1">Pacotes de assets gratuitos no itch.io <a class="header-anchor" href="#pacotes-de-assets-gratuitos-no-itch-io" aria-label="Permalink to &quot;Pacotes de assets gratuitos no itch.io&quot;"></a></h2>
<p>O itch.io reúne mais de 6.500 pacotes gratuitos somente na tag Sprites e é onde a maioria dos artistas de pixel art em atividade publica seu trabalho. A licença é definida individualmente por cada criador, então sempre confira a página do pacote. Vale a pena acompanhar estes criadores.</p>
<h3 id="pixel-frog" tabindex="-1">Pixel Frog <a class="header-anchor" href="#pixel-frog" aria-label="Permalink to &quot;Pixel Frog&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://pixelfrog-assets.itch.io" target="_blank" rel="noreferrer">pixelfrog-assets.itch.io</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Pixel Adventure é explicitamente CC0; confira a página de cada pacote</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Pacotes temáticos completos: Pixel Adventure 1 e 2, Kings and Pigs, Treasure Hunters, Pirate Bomb, Tiny Swords</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Spritesheets PNG, animações a 20 FPS</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>Sim, gratuito (pague quanto quiser)</td>
</tr>
</tbody>
</table>
<p>Se você quer criar um jogo de plataforma completo neste fim de semana, comece aqui. Pixel Adventure oferece personagens animados, inimigos, tilesets, armadilhas e itens em um único estilo coerente, disponibilizado sob CC0 para que você possa lançar seu jogo comercialmente sem atribuição. Tiny Swords, o pacote mais recente de batalhas com visão de cima, recebe atualizações frequentes e chegou ao topo da lista de sprites gratuitos do itch.io em 2026.</p>
<h3 id="ansimuz" tabindex="-1">Ansimuz <a class="header-anchor" href="#ansimuz" aria-label="Permalink to &quot;Ansimuz&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://ansimuz.itch.io" target="_blank" rel="noreferrer">ansimuz.itch.io</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>SunnyLand é explicitamente CC0; outros pacotes gratuitos variam, então confira cada página</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Catálogo amplo: SunnyLand, série Warped, Gothicvania, TinyRPG e coleção clássica gratuita em 16 bits</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Spritesheets PNG, cenários com paralaxe; SunnyLand inclui arquivos de projeto para Phaser e Godot</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>Sim, pacotes gratuitos junto a megacoleções pagas</td>
</tr>
</tbody>
</table>
<p>Ansimuz disponibiliza gratuitamente pixel art de alta qualidade há uma década. SunnyLand é o principal pacote gratuito: um kit completo de plataforma sob CC0, com jogador animado, inimigos, objetos, efeitos e até música, além de projetos prontos para Phaser e Godot. Os pacotes gratuitos de metroidvania da série Warped e a coleção clássica de 16 bits atendem a atmosferas mais sombrias de ficção científica. As grandes coleções Gothicvania são pagas, mas só o conteúdo gratuito já é suficiente para produzir um jogo completo.</p>
<h3 id="_0x72" tabindex="-1">0x72 <a class="header-anchor" href="#_0x72" aria-label="Permalink to &quot;0x72&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://0x72.itch.io" target="_blank" rel="noreferrer">0x72.itch.io</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>DungeonTileset II é explicitamente CC0, sem necessidade de atribuição</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>DungeonTileset II em 16x16, além de tilesets gratuitos industriais, de piratas e de robôs</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Atlas PNG, com autotiles incluídos desde a versão 1.7</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>Sim, gratuito (pague quanto quiser)</td>
</tr>
</tbody>
</table>
<p>DungeonTileset II é há anos a resposta padrão para quem procura um “tileset gratuito de roguelike”. Um único download inclui paredes e pisos de masmorra, tochas animadas, armadilhas, armas e dezenas de personagens animados, de cavaleiros a demônios, tudo em 16x16, tudo CC0 e ainda mantido ativamente. Se você já jogou algum pequeno dungeon crawler independente, provavelmente viu esses sprites.</p>
<h3 id="cainos" tabindex="-1">Cainos <a class="header-anchor" href="#cainos" aria-label="Permalink to &quot;Cainos&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://cainos.itch.io" target="_blank" rel="noreferrer">cainos.itch.io</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Gratuita para projetos comerciais, sem necessidade de atribuição, redistribuição ou revenda proibidas</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Pixel Art Top Down - Basic: tilesets 32x32, 48 objetos, árvores e controlador de personagem</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Tilesets e sprites PNG, projeto Unity incluído; as texturas também funcionam no Godot</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>Sim, gratuito (pague quanto quiser)</td>
</tr>
</tbody>
</table>
<p>Pixel Art Top Down - Basic é um dos pontos de partida gratuitos mais bem-acabados para um RPG com visão de cima ou um jogo de fazenda. Você recebe tilesets de grama, pedra e paredes, com objetos e sprites de sombras correspondentes em 32x32, além de uma cena de demonstração simples no Unity. A licença é própria do Cainos, não CC0, mas os termos são claros: use em jogos gratuitos ou comerciais, modifique livremente, apenas não revenda os arquivos originais.</p>
<h3 id="penusbmic" tabindex="-1">penusbmic <a class="header-anchor" href="#penusbmic" aria-label="Permalink to &quot;penusbmic&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://penusbmic.itch.io" target="_blank" rel="noreferrer">penusbmic.itch.io</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Varia por pacote; confira cada página antes de lançar seu jogo</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Pacotes mensais: série DARK, STRANDED, personagens de ficção científica e amostras gratuitas na maioria das séries</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Spritesheets PNG com animações suaves de vários quadros</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>Sim, amostras gratuitas junto a pacotes pagos (US$ 1,99 a US$ 9,99)</td>
</tr>
</tbody>
</table>
<p>Penusbmic trabalhou em Dome Keeper e Shogun Showdown, e a qualidade das animações deixa isso evidente. A maioria das séries inclui uma amostra gratuita, como o Skeleton Warrior, o tileset Dungeon Ruins e um herói da série DARK, enquanto os pacotes completos são baratos o suficiente para comprar quando você decidir seguir com o projeto. Os termos da licença ficam na página de cada pacote, então leia-os antes de um lançamento comercial.</p>
<h3 id="brindes-do-craftpix" tabindex="-1">Brindes do CraftPix <a class="header-anchor" href="#brindes-do-craftpix" aria-label="Permalink to &quot;Brindes do CraftPix&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://craftpix.net/freebies/" target="_blank" rel="noreferrer">craftpix.net/freebies</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Licença própria do CraftPix: uso comercial permitido, projetos ilimitados; consulte a página file-licenses</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Centenas de pacotes gratuitos distribuídos por cerca de 291 páginas: sprites, tilesets, kits de interface, ícones e cenários</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>PNG, arquivos de origem em camadas em muitos pacotes</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>Sim, uma conta gratuita pode ser necessária</td>
</tr>
</tbody>
</table>
<p>CraftPix é uma loja comercial de assets com uma seção gratuita excepcionalmente ampla. Os brindes são pacotes bem-acabados e prontos para produção, e os termos informados permitem uso comercial em projetos ilimitados. Não é CC0, mas uma licença própria com restrições de revenda. Leia a página file-licenses uma vez e pronto. É uma ótima fonte de kits completos de interface e pacotes temáticos de personagens que levariam semanas para desenhar.</p>
<h2 id="game-icons-net" tabindex="-1">Game-icons.net <a class="header-anchor" href="#game-icons-net" aria-label="Permalink to &quot;Game-icons.net&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://game-icons.net" target="_blank" rel="noreferrer">game-icons.net</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>CC BY 3.0, atribuição obrigatória</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Mais de 4.100 ícones de Lorc, Delapouite e outros colaboradores</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>SVG e PNG, com versões em branco sobre preto e transparentes</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>Sim, por ícone ou pacote completo</td>
</tr>
</tbody>
</table>
<p>Toda tela de inventário, árvore de habilidades e dica de item precisa de ícones, e o game-icons.net reúne mais de 4.100 deles em um estilo de estêncil consistente, todos em SVG e com cores personalizáveis. A ressalva é a licença: CC BY 3.0 significa que você precisa creditar os autores no jogo. Uma única linha na tela de créditos resolve isso, uma troca justa por uma coleção tão abrangente.</p>
<h2 id="lospec" tabindex="-1">Lospec <a class="header-anchor" href="#lospec" aria-label="Permalink to &quot;Lospec&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://lospec.com" target="_blank" rel="noreferrer">lospec.com</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>As paletas podem ser usadas livremente; as obras da galeria pertencem aos respectivos artistas</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Mais de 4.300 paletas de cores em 6 formatos de download e mais de 500 tutoriais</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Arquivos de paleta (PNG, ASE, GPL e outros)</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>Sim</td>
</tr>
</tbody>
</table>
<p>Lospec não é uma biblioteca de sprites, mas sim a central de referência da comunidade de pixel art. Ele merece estar aqui porque as paletas são metade do que faz a pixel art ficar bonita. Escolha uma paleta consolidada de 16 ou 32 cores, carregue-a no editor e seus sprites imediatamente parecerão intencionais em vez de turvos. A seção de tutoriais oferece o melhor conteúdo gratuito sobre pixel art da web, e as ferramentas, como o redimensionador e o gerador de dithering, resolvem problemas reais do fluxo de trabalho.</p>
<h2 id="desenhe-os-seus-proprios" tabindex="-1">Desenhe os seus próprios <a class="header-anchor" href="#desenhe-os-seus-proprios" aria-label="Permalink to &quot;Desenhe os seus próprios&quot;"></a></h2>
<p>Quando você não encontra o sprite certo, desenhar um personagem 16x16 é mais acessível do que parece. Aseprite é o editor padrão do setor, vendido por um pagamento único e com versão de teste, criado inteiramente para spritesheets, animação com onion skin e controle de paletas. O código-fonte está no GitHub caso você prefira compilá-lo por conta própria. Libresprite é uma bifurcação gratuita e de código aberto de uma versão antiga do Aseprite que cobre os fundamentos. Piskel é um editor gratuito e de código aberto que funciona no navegador sem instalação, exporta spritesheets PNG e GIFs animados e tem aplicativos para Windows, macOS e Linux. Comece com o Piskel para aprender e passe para o Aseprite quando estiver envolvido de vez.</p>
<h2 id="gere-sprites-com-ia" tabindex="-1">Gere sprites com IA <a class="header-anchor" href="#gere-sprites-com-ia" aria-label="Permalink to &quot;Gere sprites com IA&quot;"></a></h2>
<p>Em 2026, ferramentas de IA já conseguem produzir pixel art utilizável e até spritesheets animadas. PixelLab funciona no navegador ou como plugin do Aseprite e gera personagens com variantes em 4 ou 8 direções, além de quadros de animação — algo que costumava ser a parte mais trabalhosa da criação de sprites. Retro Diffusion treina modelos especificamente com pixel art e spritesheets de vários quadros, então os resultados ficam mais próximos de algo pronto para jogos do que os de um modelo genérico de imagens. Há duas ressalvas. Os direitos de uso comercial em ferramentas hospedadas geralmente estão vinculados aos planos pagos, então confira os termos antes de lançar seu jogo. Além disso, resultados de IA quase sempre precisam de ajustes em um editor de pixel art para manter a disciplina da paleta e proporções consistentes entre os personagens. Portanto, trate-os como um primeiro rascunho rápido, não como um asset finalizado. A <a href="/pt-BR/assets.html">busca de assets</a> da Cinevva também inclui centenas de sprites CC0 que você pode colocar diretamente em um jogo sem precisar gerar nada.</p>
<h2 id="licencas-em-30-segundos" tabindex="-1">Licenças em 30 segundos <a class="header-anchor" href="#licencas-em-30-segundos" aria-label="Permalink to &quot;Licenças em 30 segundos&quot;"></a></h2>
<ul>
<li><strong>CC0:</strong> domínio público. Use comercialmente, modifique e não se preocupe com atribuição. É a opção mais segura.</li>
<li><strong>CC-BY:</strong> uso comercial gratuito, mas você deve dar crédito ao criador.</li>
<li><strong>CC-BY-SA:</strong> exige atribuição, e artes derivadas devem usar a mesma licença. Esse é o caso da LPC.</li>
<li><strong>Licença própria do criador (Cainos, CraftPix):</strong> geralmente significa “use em qualquer projeto, mas não revenda os arquivos”. Leia a página do pacote.</li>
</ul>
<p>Em caso de dúvida, prefira CC0. Para uma explicação completa, consulte nosso <a href="/pt-BR/guides/game-asset-licenses.html">guia de licenças de assets para jogos</a>.</p>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="onde-posso-baixar-sprites-2d-gratuitos-para-jogos" tabindex="-1">Onde posso baixar sprites 2D gratuitos para jogos? <a class="header-anchor" href="#onde-posso-baixar-sprites-2d-gratuitos-para-jogos" aria-label="Permalink to &quot;Onde posso baixar sprites 2D gratuitos para jogos?&quot;"></a></h3>
<p>A Kenney é o melhor ponto de partida, com mais de 40.000 assets CC0, incluindo sprites, tilesets e pacotes de interface. No itch.io, Pixel Frog e Ansimuz disponibilizam pacotes completos de animações sob a licença CC0, enquanto o OpenGameArt permite filtrar milhares de contribuições da comunidade por licença. Todos eles podem ser usados gratuitamente em jogos comerciais.</p>
<h3 id="e-seguro-usar-sprites-gratuitos-em-um-jogo-comercial" tabindex="-1">É seguro usar sprites gratuitos em um jogo comercial? <a class="header-anchor" href="#e-seguro-usar-sprites-gratuitos-em-um-jogo-comercial" aria-label="Permalink to &quot;É seguro usar sprites gratuitos em um jogo comercial?&quot;"></a></h3>
<p>Sprites CC0 são sempre seguros, sem exigência de atribuição nem restrições. Sprites CC-BY exigem uma linha de crédito, e a licença CC-BY-SA, como a da coleção LPC, também exige que artes derivadas usem a mesma licença. Para pacotes com a licença própria do criador, como os de Cainos ou CraftPix, os termos geralmente permitem o uso comercial, mas proíbem a revenda dos arquivos originais.</p>
<h3 id="qual-e-o-melhor-tileset-gratuito-de-pixel-art-para-um-dungeon-crawler" tabindex="-1">Qual é o melhor tileset gratuito de pixel art para um dungeon crawler? <a class="header-anchor" href="#qual-e-o-melhor-tileset-gratuito-de-pixel-art-para-um-dungeon-crawler" aria-label="Permalink to &quot;Qual é o melhor tileset gratuito de pixel art para um dungeon crawler?&quot;"></a></h3>
<p>O DungeonTileset II 16x16 de 0x72, no itch.io. Ele usa a licença CC0, recebe manutenção ativa e inclui tiles de masmorra, tochas animadas, armadilhas, armas e dezenas de personagens animados em um único download. Combine-o com o Tiny Dungeon da Kenney se quiser mais variedade em uma escala semelhante.</p>
<h3 id="preciso-dar-credito-ao-artista-ao-usar-sprites-gratuitos" tabindex="-1">Preciso dar crédito ao artista ao usar sprites gratuitos? <a class="header-anchor" href="#preciso-dar-credito-ao-artista-ao-usar-sprites-gratuitos" aria-label="Permalink to &quot;Preciso dar crédito ao artista ao usar sprites gratuitos?&quot;"></a></h3>
<p>Somente se a licença exigir. A CC0 não exige nada, a CC BY, como a dos mais de 4.100 ícones do game-icons.net, exige uma linha de crédito, e a CC-BY-SA também acrescenta termos de compartilhamento pela mesma licença. Mesmo quando a atribuição não é obrigatória, mencionar o artista na tela de créditos é uma ótima forma de apoiar quem mantém essas bibliotecas gratuitas.</p>
<h3 id="que-licenca-devo-procurar-em-pacotes-de-assets-no-itch-io" tabindex="-1">Que licença devo procurar em pacotes de assets no itch.io? <a class="header-anchor" href="#que-licenca-devo-procurar-em-pacotes-de-assets-no-itch-io" aria-label="Permalink to &quot;Que licença devo procurar em pacotes de assets no itch.io?&quot;"></a></h3>
<p>A CC0 é o padrão ideal porque elimina todas as obrigações. Os criadores do itch.io definem os termos de licença individualmente na página de cada pacote, então role além das capturas de tela e leia a descrição antes de basear seu projeto em um pacote. Se a página não informar nada, pergunte ao criador ou escolha outro pacote com termos explícitos.</p>
<h3 id="posso-usar-ia-para-gerar-sprites-para-um-jogo-comercial" tabindex="-1">Posso usar IA para gerar sprites para um jogo comercial? <a class="header-anchor" href="#posso-usar-ia-para-gerar-sprites-para-um-jogo-comercial" aria-label="Permalink to &quot;Posso usar IA para gerar sprites para um jogo comercial?&quot;"></a></h3>
<p>Geralmente, sim, mas a licença comercial costuma estar incluída apenas no plano pago da ferramenta. Portanto, confira os termos do gerador que você usar. Ferramentas como PixelLab e Retro Diffusion produzem pixel art e sprite sheets quase prontas para jogos, embora a maioria dos desenvolvedores ainda refine o resultado em um editor como o Aseprite para manter a consistência de paleta e proporções.</p>
<h3 id="qual-e-a-diferenca-entre-sprite-sprite-sheet-e-tileset" tabindex="-1">Qual é a diferença entre sprite, sprite sheet e tileset? <a class="header-anchor" href="#qual-e-a-diferenca-entre-sprite-sprite-sheet-e-tileset" aria-label="Permalink to &quot;Qual é a diferença entre sprite, sprite sheet e tileset?&quot;"></a></h3>
<p>Um sprite é uma única imagem 2D, como um quadro de animação de um personagem. Uma sprite sheet reúne vários quadros em uma só imagem para que a engine possa reproduzi-los como uma animação. Um tileset é uma grade de pequenas imagens repetíveis, geralmente de 16x16 ou 32x32, usadas para montar mapas de fases, como tiles de grama, paredes e água.</p>
<BuildCta
  title="Pule a busca por assets. Receba os sprites já colocados em um jogo"
  desc="A Cinevva inclui centenas de sprites CC0 gratuitos e cria o jogo ao redor deles para você."
  prompt="Crie um jogo de plataforma 2D em pixel art no qual uma raposa corre e pula por uma floresta coletando cerejas, com inimigos para derrotar pulando sobre eles" />
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/game-assets-guide.html">Onde encontrar assets gratuitos para jogos</a> - o guia completo com mais de 20 fontes</li>
<li><a href="/pt-BR/guides/game-asset-licenses.html">Licenças de assets para jogos explicadas</a> - CC0, CC-BY e as demais</li>
<li><a href="/pt-BR/guides/free-3d-model-sites.html">Melhores sites de modelos 3D gratuitos para jogos</a> - opções para 3D</li>
<li><a href="/pt-BR/guides/best-2d-game-engines-2026.html">Melhores engines de jogos 2D em 2026</a> - com o que criar</li>
<li><a href="/pt-BR/assets.html">Busca de assets da Cinevva</a> - pesquise na Kenney e em outras fontes usando uma só caixa</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/free-2d-sprites-tilesets-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Animações de Personagens e Rigging Automático Grátis: Mixamo e Suas Alternativas (2026)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/free-character-animations-rigging</link>
            <guid>https://app.cinevva.com/pt-BR/guides/free-character-animations-rigging</guid>
            <pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[O Mixamo ainda é grátis em 2026? Sim, mas não recebe manutenção. As melhores bibliotecas gratuitas de animações de personagens e ferramentas de rigging automático, com licenças verificadas.]]></description>
            <content:encoded><![CDATA[<h1 id="animacoes-de-personagens-e-rigging-automatico-gratis-mixamo-e-suas-alternativas-2026" tabindex="-1">Animações de Personagens e Rigging Automático Grátis: Mixamo e Suas Alternativas (2026) <a class="header-anchor" href="#animacoes-de-personagens-e-rigging-automatico-gratis-mixamo-e-suas-alternativas-2026" aria-label="Permalink to &quot;Animações de Personagens e Rigging Automático Grátis: Mixamo e Suas Alternativas (2026)&quot;"></a></h1>
<p><em>Última atualização: julho de 2026.</em></p>
<p>Em 2026, você pode fazer o rigging e a animação de um personagem gratuitamente sem nem abrir o Blender. O Mixamo ainda está online e continua gratuito com uma conta Adobe, mas está em modo de manutenção. Por isso, vale a pena conhecer as alternativas: bibliotecas de animações CC0, como a Universal Animation Library da Quaternius; ferramentas gratuitas de rigging automático, como o <a href="/pt-BR/tools/rigger.html">Auto Rigger</a> da Cinevva, que funciona no navegador, e o AccuRIG da Reallusion; além de ferramentas de texto para movimento que geram animações a partir de uma descrição escrita.</p>
<h2 id="escolhas-rapidas" tabindex="-1">Escolhas rápidas <a class="header-anchor" href="#escolhas-rapidas" aria-label="Permalink to &quot;Escolhas rápidas&quot;"></a></h2>
<ul>
<li><strong>Caminho mais rápido, sem instalar nada:</strong> <a href="/pt-BR/tools/rigger.html">Auto Rigger</a> + <a href="/pt-BR/tools/animate.html">Prompt Animations</a> da Cinevva, ambos gratuitos no navegador.</li>
<li><strong>Melhor biblioteca de animações grátis:</strong> Quaternius Universal Animation Library 1 e 2 (CC0, compatível com retargeting).</li>
<li><strong>O clássico:</strong> Mixamo, ainda gratuito e funcional, mas não espere atualizações.</li>
<li><strong>Melhor ferramenta gratuita de rigging automático para desktop:</strong> AccuRIG 2.0 (Windows, requer conta gratuita do ActorCore).</li>
<li><strong>Mocap bruto em grande quantidade:</strong> banco de dados do CMU Graphics Lab, com mais de 2.500 movimentos, gratuito, mas precisa de limpeza.</li>
</ul>
<h2 id="referencia-rapida" tabindex="-1">Referência rápida <a class="header-anchor" href="#referencia-rapida" aria-label="Permalink to &quot;Referência rápida&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Necessidade</th>
<th>Melhor opção</th>
<th>Licença</th>
<th>Observações</th>
</tr>
</thead>
<tbody>
<tr>
<td>Rigging automático no navegador</td>
<td><a href="/pt-BR/tools/rigger.html">Cinevva Auto Rigger</a></td>
<td>Grátis</td>
<td>Recebe GLB/FBX/OBJ e exporta GLB com rig, para bípedes e quadrúpedes</td>
</tr>
<tr>
<td>Rigging automático com animações prontas</td>
<td>Mixamo</td>
<td>Grátis, uso comercial sem royalties</td>
<td>Conta Adobe, apenas humanoides em pose T, sem manutenção</td>
</tr>
<tr>
<td>Rigging automático no desktop</td>
<td>AccuRIG 2.0</td>
<td>Grátis</td>
<td>Windows, requer conta gratuita do ActorCore para exportar FBX/USD</td>
</tr>
<tr>
<td>Pacotes de animações prontas</td>
<td>Quaternius UAL 1 + 2</td>
<td>CC0</td>
<td>Mais de 250 animações no total, com retargeting para Unity/Unreal/Godot</td>
</tr>
<tr>
<td>Personagens animados simples</td>
<td>Kenney</td>
<td>CC0</td>
<td>Personagens low-poly com rig e clipes básicos</td>
</tr>
<tr>
<td>Biblioteca de mocap bruto</td>
<td>Banco de dados de mocap da CMU</td>
<td>Grátis, sem revenda dos dados brutos</td>
<td>Existem conversões para BVH/FBX; a qualidade varia</td>
</tr>
<tr>
<td>Clipes gratuitos de mocap selecionados</td>
<td>Rokoko Motion Library</td>
<td>Clipes gratuitos permitidos para uso comercial</td>
<td>Navegação pelo Rokoko Studio gratuito</td>
</tr>
<tr>
<td>Texto para movimento</td>
<td><a href="/pt-BR/tools/animate.html">Cinevva Prompt Animations</a></td>
<td>Grátis</td>
<td>Descreva um movimento e receba GLB ou BVH</td>
</tr>
<tr>
<td>Animação manual com assistência física</td>
<td>Cascadeur</td>
<td>O plano gratuito é apenas para uso não comercial</td>
<td>Plano Indie de US$ 8/mês adiciona exportação para FBX</td>
</tr>
<tr>
<td>Controle manual total</td>
<td>Blender Rigify</td>
<td>Grátis</td>
<td>Incluído no Blender; o rig é seu</td>
</tr>
</tbody>
</table>
<h2 id="mixamo-em-2026-vivo-gratis-e-congelado" tabindex="-1">Mixamo em 2026: vivo, grátis e congelado <a class="header-anchor" href="#mixamo-em-2026-vivo-gratis-e-congelado" aria-label="Permalink to &quot;Mixamo em 2026: vivo, grátis e congelado&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://www.mixamo.com" target="_blank" rel="noreferrer">mixamo.com</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Sem royalties para uso comercial e não comercial ilimitado; é proibido redistribuir os arquivos brutos</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Milhares de animações prontas e uma biblioteca de personagens</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>FBX, FBX para Unity, DAE (sem GLB; você precisa fazer a conversão)</td>
</tr>
<tr>
<td><strong>Conta</strong></td>
<td>Requer conta Adobe gratuita</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>Manual, por animação ou pacote</td>
</tr>
</tbody>
</table>
<p>A principal dúvida nessa área é se o Mixamo morreu. Eis o que podemos confirmar em julho de 2026: o site está no ar, a ferramenta de rigging automático funciona e o serviço é gratuito com uma conta Adobe também gratuita. Os termos de licença da Adobe são realmente bons para desenvolvedores de jogos. Segundo as próprias perguntas frequentes sobre licenciamento da Adobe, os personagens e as animações do Mixamo estão “disponíveis gratuitamente, sem taxas de licença ou royalties, para uso comercial ou não comercial ilimitado”. A única restrição é a redistribuição: você pode incluí-los em um jogo finalizado, mas não pode reempacotar os arquivos brutos de animações ou personagens como pacotes de assets ou templates de engine para venda ou distribuição.</p>
<p>O problema é a falta de manutenção. A Adobe comprou o Mixamo em 2015 e não lançou nenhuma atualização significativa desde então. O Fuse, criador de personagens que acompanhava o serviço, foi descontinuado e removido da Creative Cloud em 2020. Em junho de 2025, o serviço parou de funcionar para todos durante vários dias, exibindo erros 500 do servidor, e usuários dos próprios fóruns da Adobe relataram que um agente de suporte afirmou que o Mixamo “não recebe mais suporte”. O serviço voltou, e a Adobe não anunciou uma data para encerrá-lo, mas uma ferramenta gratuita sem roadmap e com histórico de interrupções não anunciadas não é uma base segura para um pipeline. Baixe o que precisar e conheça suas alternativas.</p>
<p>Também vale lembrar duas limitações práticas: a ferramenta de rigging automático aceita apenas humanoides bípedes em uma pose aproximadamente T ou A, e as exportações são em FBX ou DAE. Portanto, para jogos web, será preciso converter os arquivos para GLB no Blender ou em outra ferramenta.</p>
<h2 id="o-caminho-mais-rapido-faca-o-rigging-e-a-animacao-no-navegador" tabindex="-1">O caminho mais rápido: faça o rigging e a animação no navegador <a class="header-anchor" href="#o-caminho-mais-rapido-faca-o-rigging-e-a-animacao-no-navegador" aria-label="Permalink to &quot;O caminho mais rápido: faça o rigging e a animação no navegador&quot;"></a></h2>
<p>Se você só quer um personagem com rig e animação sem instalar nada, as ferramentas gratuitas da Cinevva cobrem todo o fluxo de trabalho do Mixamo diretamente no navegador.</p>
<h3 id="cinevva-auto-rigger" tabindex="-1">Cinevva Auto Rigger <a class="header-anchor" href="#cinevva-auto-rigger" aria-label="Permalink to &quot;Cinevva Auto Rigger&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="/pt-BR/tools/rigger.html">cinevva.com/tools/rigger</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Grátis; seu modelo continua sendo seu</td>
</tr>
<tr>
<td><strong>Entrada</strong></td>
<td>GLB, FBX ou OBJ de até 30 MB</td>
</tr>
<tr>
<td><strong>Saída</strong></td>
<td>GLB com rig e animações assadas opcionais</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>Sim, diretamente pelo navegador</td>
</tr>
</tbody>
</table>
<p>Envie um modelo estático e receba uma versão com esqueleto ajustado e skinning aplicado automaticamente. A ferramenta aceita bípedes e quadrúpedes — o Mixamo nunca foi compatível com criaturas de quatro patas — e permite assar animações predefinidas, como parado, caminhada, corrida, salto, golpe, tiro, escalada, dano e queda. O GLB exportado pode ser usado diretamente no Three.js, Babylon, Unity, Godot ou Blender. A ferramenta combina bem com um modelo criado em nosso <a href="/pt-BR/tools/hunyuan3d.html">Gerador de Modelos 3D</a>, permitindo passar de um prompt de texto para um personagem animado sem sair do navegador.</p>
<h3 id="cinevva-prompt-animations" tabindex="-1">Cinevva Prompt Animations <a class="header-anchor" href="#cinevva-prompt-animations" aria-label="Permalink to &quot;Cinevva Prompt Animations&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="/pt-BR/tools/animate.html">cinevva.com/tools/animate</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Grátis</td>
</tr>
<tr>
<td><strong>Entrada</strong></td>
<td>Uma descrição em texto e, opcionalmente, seu GLB humanoide com rig</td>
</tr>
<tr>
<td><strong>Saída</strong></td>
<td>GLB com a animação assada ou BVH para qualquer pipeline</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>Sim</td>
</tr>
</tbody>
</table>
<p>Digite “uma pessoa se agacha e depois salta para a frente” para gerar um movimento esquelético que você pode visualizar em tempo real e aplicar ao seu próprio personagem por retargeting no navegador. A ferramenta detecta automaticamente os padrões de nomes de ossos do Mixamo, Tripo, Reallusion CC4, UE5 e humanoides genéricos, portanto personagens com rig criado em outros lugares também funcionam. Os clipes duram de 1 a 10 segundos, e a exportação para BVH permite refinar o resultado no Blender ou no Cascadeur, se quiser.</p>
<h2 id="bibliotecas-de-animacoes-gratuitas" tabindex="-1">Bibliotecas de animações gratuitas <a class="header-anchor" href="#bibliotecas-de-animacoes-gratuitas" aria-label="Permalink to &quot;Bibliotecas de animações gratuitas&quot;"></a></h2>
<h3 id="quaternius-universal-animation-library" tabindex="-1">Quaternius Universal Animation Library <a class="header-anchor" href="#quaternius-universal-animation-library" aria-label="Permalink to &quot;Quaternius Universal Animation Library&quot;"></a></h3>
<figure class="sample-sheet">
<a href="/pt-BR/assets"><img src="https://cdn.cinevva.com/guides/samples/samples-characters.jpg" alt="Personagens low-poly CC0 prontos para rigging, da KayKit, Quaternius, PolygonalMind e Kenney: cavaleiro, shiba inu, guerreiro esqueleto, astronauta e bárbaro" loading="lazy"></a>
<figcaption>Personagens CC0 prontos para rigging, da KayKit, Quaternius, PolygonalMind e Kenney, que combinam com estas bibliotecas de animações. <a href="/pt-BR/assets">Escolha um na biblioteca de assets</a>.</figcaption>
</figure>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://quaternius.com/packs/universalanimationlibrary.html" target="_blank" rel="noreferrer">quaternius.com</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>CC0 (domínio público), incluindo os planos gratuitos</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>A UAL 1 tem mais de 120 animações; a UAL 2 adiciona mais de 130</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>FBX, glTF, OBJ, com o arquivo-fonte .blend no plano pago</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>Sim, pelo quaternius.com ou itch.io</td>
</tr>
</tbody>
</table>
<p>A melhor biblioteca de animações gratuitas em 2026. Ambos os pacotes usam um único rig humanoide universal criado para retargeting no Unity, Unreal e Godot, e tudo é CC0, permitindo uso comercial sem atribuição. A UAL 1 inclui locomoção em todas as direções, combate, armas de fogo e emotes. A UAL 2 adiciona combos de combate corpo a corpo, parkour, agricultura, pesca e locomoção de zumbis. Uma grande parte de cada pacote pode ser baixada gratuitamente, enquanto os planos pagos incluem o restante e os arquivos-fonte do Blender, ainda sob CC0. Se você usa a biblioteca de assets da Cinevva, os personagens da Quaternius já podem ser pesquisados no editor.</p>
<h3 id="kenney" tabindex="-1">Kenney <a class="header-anchor" href="#kenney" aria-label="Permalink to &quot;Kenney&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://kenney.nl/assets/series:Animated%20Characters" target="_blank" rel="noreferrer">kenney.nl</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>CC0 (domínio público)</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Animated Characters 1 a 3, além de pacotes de personagens modulares</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>GLB, FBX</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>Sim</td>
</tr>
</tbody>
</table>
<p>A Kenney é mais conhecida por seus props e sprites, mas também oferece personagens animados. Cada pacote Animated Characters inclui um personagem low-poly com rig, várias skins e algumas animações básicas, enquanto os assets modulares de personagens mais recentes adicionam outras skins e clipes. Não espere um conjunto extenso de animações. São personagens iniciais no estilo limpo e blocado da Kenney, úteis para protótipos e game jams em que a consistência importa mais do que a fidelidade visual.</p>
<h3 id="banco-de-dados-de-captura-de-movimento-do-cmu-graphics-lab" tabindex="-1">Banco de Dados de Captura de Movimento do CMU Graphics Lab <a class="header-anchor" href="#banco-de-dados-de-captura-de-movimento-do-cmu-graphics-lab" aria-label="Permalink to &quot;Banco de Dados de Captura de Movimento do CMU Graphics Lab&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="http://mocap.cs.cmu.edu" target="_blank" rel="noreferrer">mocap.cs.cmu.edu</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Uso gratuito, inclusive em produtos comerciais, mas é proibido revender os dados brutos</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Mais de 2.500 sequências de movimento de mais de 100 participantes</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Originais em ASF/AMC e conversões comunitárias para BVH e FBX</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>Sim</td>
</tr>
</tbody>
</table>
<p>A clássica biblioteca acadêmica de mocap: caminhada, corrida, esportes, dança, atividades cotidianas e muitas ações peculiares, capturadas no início dos anos 2000. Os termos são informais, mas suficientemente claros: o uso em pesquisas é gratuito e os dados podem ser incluídos em produtos vendidos comercialmente; você só não pode revender os dados em si, mesmo convertidos. O formato bruto ASF/AMC é pouco prático, então use uma conversão: a versão BVH da cgspeed é o padrão usado há anos, e há conversões comunitárias para FBX no Hugging Face e no Academic Torrents — uma delas até fez o retargeting para um personagem CC0 da Quaternius. Espere precisar corrigir deslizamento dos pés e tremulação. Isso é mocap bruto, não são clipes prontos para jogos.</p>
<h3 id="rokoko-motion-library" tabindex="-1">Rokoko Motion Library <a class="header-anchor" href="#rokoko-motion-library" aria-label="Permalink to &quot;Rokoko Motion Library&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://www.rokoko.com/products/motion-library" target="_blank" rel="noreferrer">rokoko.com</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Os clipes gratuitos são licenciados para uso comercial; os pagos custam de US$ 3 a US$ 20</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Milhares de clipes capturados profissionalmente, centenas deles gratuitos</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>FBX exportado pelo Rokoko Studio</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>Pelo aplicativo gratuito Rokoko Studio</td>
</tr>
</tbody>
</table>
<p>A Rokoko — empresa de trajes de mocap — mantém uma biblioteca de movimentos que você pode explorar no aplicativo gratuito Rokoko Studio, além de oferecer pacotes temáticos gratuitos em seu site: movimentos esportivos, poses paradas cotidianas, clipes com temática de magia e um pacote com 263 assets. Os clipes gratuitos permitem explicitamente o uso em projetos comerciais. A qualidade é alta, pois os dados foram capturados e tratados profissionalmente. A desvantagem é o fluxo de trabalho: é preciso usar o Rokoko Studio e criar uma conta gratuita, em vez de baixar os arquivos diretamente.</p>
<h3 id="bandai-namco-research-motion-dataset" tabindex="-1">Bandai Namco Research Motion Dataset <a class="header-anchor" href="#bandai-namco-research-motion-dataset" aria-label="Permalink to &quot;Bandai Namco Research Motion Dataset&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://github.com/BandaiNamcoResearchInc/Bandai-Namco-Research-Motiondataset" target="_blank" rel="noreferrer">github.com/BandaiNamcoResearchInc</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>CC BY-NC 4.0, somente para uso não comercial</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Mais de 3.000 movimentos de atores profissionais em vários estilos</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>BVH</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>Sim, pelo GitHub</td>
</tr>
</tbody>
</table>
<p>Vale a pena conhecer, mas também vale ler a licença. A Bandai Namco lançou dois conjuntos de dados de mocap com qualidade de estúdio — caminhada, corrida, luta e dança, em estilos que vão de cansado a feliz — voltados à pesquisa de IA para transferência de estilo de movimento. Ambos usam a licença CC BY-NC 4.0, o que significa que o uso comercial não é permitido. Servem para um jogo gratuito de game jam ou um projeto de pesquisa, mas não para algo que você venda ou monetize. Não deixe manchetes sobre “mocap gratuito de um estúdio AAA” convencerem você a publicar esses dados em um produto comercial.</p>
<h2 id="ferramentas-de-rigging" tabindex="-1">Ferramentas de rigging <a class="header-anchor" href="#ferramentas-de-rigging" aria-label="Permalink to &quot;Ferramentas de rigging&quot;"></a></h2>
<h3 id="blender-rigify-gratis-manual" tabindex="-1">Blender Rigify (grátis, manual) <a class="header-anchor" href="#blender-rigify-gratis-manual" aria-label="Permalink to &quot;Blender Rigify (grátis, manual)&quot;"></a></h3>
<p>O Rigify vem incluído no Blender como um complemento integrado. Você posiciona um metarig sobre a malha, ajusta os ossos, gera um rig de controle completo com alternância IK/FK e depois vincula a malha usando pesos automáticos. É a opção gratuita que oferece o maior controle, aceita personagens não humanoides e o rig gerado é inteiramente seu para usar onde quiser. O custo é o tempo: ajustar ossos e corrigir manualmente a pintura de pesos exige habilidade de verdade, e seu primeiro rig levará uma noite, não um minuto.</p>
<h3 id="auto-rig-pro-o-padrao-pago" tabindex="-1">Auto-Rig Pro (o padrão pago) <a class="header-anchor" href="#auto-rig-pro-o-padrao-pago" aria-label="Permalink to &quot;Auto-Rig Pro (o padrão pago)&quot;"></a></h3>
<p>O complemento pago mais usado no Blender é vendido na Superhive — antiga Blender Market — por uma compra única: US$ 25 pela versão Lite, com posicionamento manual de marcadores, ou US$ 50 pela edição Full, que inclui a detecção Smart de marcadores com um clique que tornou a ferramenta famosa. Ele oferece retargeting de verdade — é assim que muitos dados do Mixamo e da CMU são remapeados para rigs personalizados — e um módulo de exportação para engines de jogos que gera arquivos FBX e glTF limpos. Se você cria rigs regularmente no Blender, esta é a ferramenta paga deste guia que realmente vale o preço.</p>
<h3 id="cascadeur" tabindex="-1">Cascadeur <a class="header-anchor" href="#cascadeur" aria-label="Permalink to &quot;Cascadeur&quot;"></a></h3>
<p>O Cascadeur é uma ferramenta de animação por keyframes assistida por física, excelente para criar saltos, quedas e combates convincentes sem mocap. Confira o plano gratuito antes de estruturar seu trabalho em torno dele, pois as restrições aumentaram: em meados de 2026, o plano Free permite apenas uso não comercial e exporta somente para o formato .casc do próprio Cascadeur; os formatos .fbx e .dae ficam bloqueados, e há limites de 300 frames e 120 joints. Para realmente levar as animações a um jogo, você precisa do plano Indie, que custa US$ 8 por mês com cobrança anual, permite uso comercial para quem tem receita anual inferior a US$ 100 mil, exporta FBX, DAE, USD e glTF e se converte em uma licença perpétua após dois anos de assinatura. O plano Pro custa US$ 33 por mês e não tem limite de receita.</p>
<h3 id="accurig-e-actorcore-reallusion" tabindex="-1">AccuRIG e ActorCore (Reallusion) <a class="header-anchor" href="#accurig-e-actorcore-reallusion" aria-label="Permalink to &quot;AccuRIG e ActorCore (Reallusion)&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://actorcore.reallusion.com/auto-rig" target="_blank" rel="noreferrer">actorcore.reallusion.com/auto-rig</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Ferramenta gratuita; personagens com rig podem ser usados comercialmente sem taxas adicionais</td>
</tr>
<tr>
<td><strong>Plataforma</strong></td>
<td>Aplicativo para Windows</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Exportação para FBX e USD</td>
</tr>
<tr>
<td><strong>Conta</strong></td>
<td>Requer conta gratuita do ActorCore para exportar</td>
</tr>
<tr>
<td>AccuRIG é o auto-rigger gratuito para desktop da Reallusion e a alternativa mais forte ao Mixamo na parte de rigging. A versão 2.0 (2025) gera rigs de corpo inteiro e dedos, permite explorar as animações do catálogo do ActorCore dentro do aplicativo, redirecioná-las para seu personagem e exportar em FBX ou USD para Blender, Unity, Unreal e outras engines. A ferramenta em si não custa nada e não há taxas sobre os personagens que você prepara; basta ter uma conta gratuita do ActorCore para exportar. O modelo de negócios é a loja de animações ActorCore: a biblioteca integrada à ferramenta é majoritariamente paga, com amostras gratuitas. Disponível apenas para Windows, portanto usuários de Mac e Linux devem usar uma ferramenta no navegador.</td>
<td></td>
</tr>
</tbody>
</table>
<h2 id="redirecionamento-e-o-fluxo-de-trabalho-padrao" tabindex="-1">Redirecionamento e o fluxo de trabalho padrão <a class="header-anchor" href="#redirecionamento-e-o-fluxo-de-trabalho-padrao" aria-label="Permalink to &quot;Redirecionamento e o fluxo de trabalho padrão&quot;"></a></h2>
<p>Redirecionamento é o processo de copiar uma animação criada para um esqueleto e aplicá-la a outro, fazendo ajustes para nomes de ossos, proporções e pose de repouso. Isso é necessário sempre que a animação e o personagem vêm de lugares diferentes, o que quase sempre acontece em um fluxo de trabalho com recursos gratuitos. Atualmente, todas as engines têm uma solução para isso (o avatar Humanoid da Unity, o IK Retargeter da Unreal e o mapeamento de ossos do Godot 4). Usuários do Blender recorrem ao Auto-Rig Pro ou ao plugin gratuito Rokoko Blender, enquanto as <a href="/pt-BR/tools/animate.html">Animações por Prompt</a> da Cinevva fazem o redirecionamento no navegador, detectando automaticamente padrões comuns de nomenclatura de ossos. Se uma animação baixada fizer os braços do personagem atravessarem o corpo, as proporções não foram redirecionadas corretamente e, normalmente, há uma incompatibilidade na pose de repouso.</p>
<p>O fluxo de trabalho que funciona em 2026, do início ao fim: obtenha um modelo (consulte nosso <a href="/pt-BR/guides/free-3d-model-sites.html">guia de sites com modelos 3D gratuitos</a> ou gere um), faça o rigging automático com o <a href="/pt-BR/tools/rigger.html">Auto Rigger da Cinevva</a>, AccuRIG ou Mixamo, aplique animações de uma biblioteca CC0 como a Quaternius ou gere-as a partir de texto e, então, exporte em GLB para engines web (converta FBX usando o exportador glTF do Blender caso sua ferramenta não gere GLB diretamente). Reserve uma hora para sua primeira tentativa; depois de fazer isso duas vezes, o processo levará apenas alguns minutos.</p>
<h2 id="ia-de-texto-para-movimento-em-2026" tabindex="-1">IA de texto para movimento em 2026 <a class="header-anchor" href="#ia-de-texto-para-movimento-em-2026" aria-label="Permalink to &quot;IA de texto para movimento em 2026&quot;"></a></h2>
<p>Gerar uma animação utilizável a partir de uma frase deixou de ser apenas uma demonstração e se tornou uma ferramenta de uso diário. As <a href="/pt-BR/tools/animate.html">Animações por Prompt</a> da Cinevva fazem isso gratuitamente no navegador, com exportação em GLB e BVH. O Rokoko Create gera clipes de corpo inteiro gratuitamente a partir de prompts de texto, embora a exportação seja feita pelo Rokoko Studio, no qual uma conta Starter gratuita oferece cinco exportações em FBX por mês. O SayMotion da DeepMotion é a outra opção hospedada consolidada, com um plano gratuito limitado e direitos de uso comercial nos planos pagos. No lado do código aberto, os modelos de pesquisa que deram início à área, MDM e MoMask, publicam código sob licença MIT, mas foram treinados com os conjuntos de dados HumanML3D e AMASS, que têm termos acadêmicos e não comerciais. Portanto, incluir os resultados brutos desses modelos em um jogo comercial é juridicamente incerto. Para qualquer projeto que você pretenda vender, use uma ferramenta hospedada cujos termos você tenha lido. Em 2026, a qualidade é realmente boa para locomoção, emotes e ações isoladas, mas ainda é instável para sequências longas e interações precisas com objetos. Por isso, gere clipes curtos e combine-os na engine.</p>
<h2 id="licencas-em-30-segundos" tabindex="-1">Licenças em 30 segundos <a class="header-anchor" href="#licencas-em-30-segundos" aria-label="Permalink to &quot;Licenças em 30 segundos&quot;"></a></h2>
<ul>
<li><strong>CC0:</strong> domínio público. Permite uso comercial e modificações, sem exigir atribuição. As animações da Quaternius e da Kenney são CC0.</li>
<li><strong>Livre de royalties (Mixamo e clipes gratuitos da Rokoko):</strong> uso gratuito em projetos finalizados, incluindo jogos comerciais, mas você não pode redistribuir nem revender os arquivos brutos.</li>
<li><strong>CC BY-NC (conjunto de dados da Bandai Namco):</strong> somente para uso não comercial. Não serve para jogos vendidos ou monetizados.</li>
<li><strong>Termos acadêmicos informais (CMU):</strong> o uso comercial em produtos é permitido, mas os dados em si não podem ser revendidos.</li>
</ul>
<p>Em caso de dúvida, prefira CC0. Para uma explicação completa, consulte nosso <a href="/pt-BR/guides/game-asset-licenses.html">guia de licenças de recursos para jogos</a>.</p>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="o-mixamo-ainda-e-gratuito" tabindex="-1">O Mixamo ainda é gratuito? <a class="header-anchor" href="#o-mixamo-ainda-e-gratuito" aria-label="Permalink to &quot;O Mixamo ainda é gratuito?&quot;"></a></h3>
<p>Sim. Em julho de 2026, o Mixamo continua gratuito com uma conta gratuita da Adobe, e suas animações e personagens preparados automaticamente são livres de royalties para uso comercial ilimitado. O porém é que a Adobe não o atualiza há anos, o serviço ficou vários dias fora do ar em junho de 2025 e a equipe de suporte afirmou que ele não recebe mais suporte. Portanto, considere-o uma ferramenta legada útil, não um fluxo de trabalho confiável.</p>
<h3 id="o-mixamo-sera-desativado" tabindex="-1">O Mixamo será desativado? <a class="header-anchor" href="#o-mixamo-sera-desativado" aria-label="Permalink to &quot;O Mixamo será desativado?&quot;"></a></h3>
<p>A Adobe não anunciou nenhum encerramento. O que pode ser confirmado: não houve atualizações significativas desde a aquisição em 2015, o criador de personagens Fuse foi descontinuado em 2020 e a interrupção de junho de 2025 não foi explicada. Ele funciona atualmente. Baixe o que precisar e tenha uma alternativa em mente.</p>
<h3 id="como-faco-o-rigging-de-um-modelo-3d-sem-o-blender" tabindex="-1">Como faço o rigging de um modelo 3D sem o Blender? <a class="header-anchor" href="#como-faco-o-rigging-de-um-modelo-3d-sem-o-blender" aria-label="Permalink to &quot;Como faço o rigging de um modelo 3D sem o Blender?&quot;"></a></h3>
<p>Use um auto-rigger. O <a href="/pt-BR/tools/rigger.html">Auto Rigger</a> da Cinevva funciona no navegador: envie um arquivo GLB, FBX ou OBJ e baixe um GLB com rig e, opcionalmente, animações predefinidas. Ele também funciona com quadrúpedes. Para desktop, o AccuRIG da Reallusion é gratuito no Windows e exporta em FBX ou USD. O Mixamo ainda funciona para humanoides em pose T. Os três eliminam completamente a necessidade de posicionar ossos e pintar pesos manualmente.</p>
<h3 id="posso-usar-animacoes-do-mixamo-em-um-jogo-comercial" tabindex="-1">Posso usar animações do Mixamo em um jogo comercial? <a class="header-anchor" href="#posso-usar-animacoes-do-mixamo-em-um-jogo-comercial" aria-label="Permalink to &quot;Posso usar animações do Mixamo em um jogo comercial?&quot;"></a></h3>
<p>Sim. Os termos da Adobe permitem uso comercial ilimitado e sem royalties. A única restrição relevante é a redistribuição: você não pode revender nem distribuir gratuitamente os arquivos brutos de animação ou personagem, por exemplo, em um pacote para uma loja de recursos. Incorporá-los ao jogo publicado é permitido.</p>
<h3 id="onde-posso-obter-animacoes-de-personagens-cc0-gratuitas" tabindex="-1">Onde posso obter animações de personagens CC0 gratuitas? <a class="header-anchor" href="#onde-posso-obter-animacoes-de-personagens-cc0-gratuitas" aria-label="Permalink to &quot;Onde posso obter animações de personagens CC0 gratuitas?&quot;"></a></h3>
<p>As Universal Animation Library 1 e 2 da Quaternius são as melhores fontes: juntas, oferecem mais de 250 animações em um rig humanoide universal, que podem ser redirecionadas na Unity, Unreal e Godot, todas sob CC0, incluindo os níveis gratuitos. Os pacotes Animated Characters da Kenney acrescentam personagens simples com rig e clipes básicos, também sob CC0.</p>
<h3 id="o-que-e-redirecionamento-de-animacao" tabindex="-1">O que é redirecionamento de animação? <a class="header-anchor" href="#o-que-e-redirecionamento-de-animacao" aria-label="Permalink to &quot;O que é redirecionamento de animação?&quot;"></a></h3>
<p>O redirecionamento mapeia uma animação de um esqueleto para outro com nomes de ossos e proporções diferentes. Você precisa dele sempre que o personagem e a animação vêm de fontes distintas. Unity, Unreal e Godot 4 têm ferramentas integradas de redirecionamento, usuários do Blender normalmente usam o Auto-Rig Pro e as <a href="/pt-BR/tools/animate.html">Animações por Prompt</a> da Cinevva redirecionam a animação para o personagem enviado diretamente no navegador.</p>
<h3 id="a-ia-pode-gerar-animacoes-de-personagens-a-partir-de-texto" tabindex="-1">A IA pode gerar animações de personagens a partir de texto? <a class="header-anchor" href="#a-ia-pode-gerar-animacoes-de-personagens-a-partir-de-texto" aria-label="Permalink to &quot;A IA pode gerar animações de personagens a partir de texto?&quot;"></a></h3>
<p>Sim, e isso é prático para clipes curtos em 2026. As <a href="/pt-BR/tools/animate.html">Animações por Prompt</a> da Cinevva são gratuitas no navegador e permitem exportar em GLB e BVH. O Rokoko Create gera clipes gratuitamente, com cinco exportações por mês em uma conta gratuita, e o SayMotion da DeepMotion é a principal alternativa paga. Modelos de código aberto como MDM e MoMask têm código sob licença MIT, mas foram treinados com conjuntos de dados de pesquisa não comerciais. Portanto, verifique as licenças antes de publicar os resultados.</p>
<BuildCta
  title="Ignore completamente o fluxo de rigging"
  desc="Descreva um jogo e a Cinevva o criará com personagens preparados e animados que já estarão em movimento."
  prompt="Crie uma aventura em terceira pessoa na qual meu personagem possa correr, pular e escalar ilhas flutuantes" />
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/free-3d-model-sites.html">Melhores sites com modelos 3D gratuitos para jogos</a> - onde encontrar personagens para preparar</li>
<li><a href="/pt-BR/guides/game-assets-guide.html">Onde encontrar recursos gratuitos para jogos</a> - o guia completo com mais de 20 fontes</li>
<li><a href="/pt-BR/guides/ai-asset-generators-games.html">Melhores geradores de recursos com IA para jogos</a> - gere modelos, texturas e áudio</li>
<li><a href="/pt-BR/tools/rigger.html">Auto Rigger</a> - prepare um modelo gratuitamente no navegador</li>
<li><a href="/pt-BR/tools/animate.html">Animações por Prompt</a> - gere movimentos a partir de uma descrição em texto</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/free-character-animations-rigging-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Texturas PBR, materiais e HDRIs gratuitos para jogos (2026)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/free-textures-hdris-materials</link>
            <guid>https://app.cinevva.com/pt-BR/guides/free-textures-hdris-materials</guid>
            <pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[As melhores fontes gratuitas de texturas PBR, materiais e HDRIs para jogos em 2026, desde bibliotecas CC0 como Poly Haven e ambientCG até geradores de IA, com explicações sobre as licenças.]]></description>
            <content:encoded><![CDATA[<h1 id="texturas-pbr-materiais-e-hdris-gratuitos-para-jogos-2026" tabindex="-1">Texturas PBR, materiais e HDRIs gratuitos para jogos (2026) <a class="header-anchor" href="#texturas-pbr-materiais-e-hdris-gratuitos-para-jogos-2026" aria-label="Permalink to &quot;Texturas PBR, materiais e HDRIs gratuitos para jogos (2026)&quot;"></a></h1>
<p><em>Última atualização: julho de 2026.</em></p>
<p>As melhores texturas PBR e HDRIs gratuitos vêm de bibliotecas CC0: Poly Haven (mais de 780 texturas e mais de 980 HDRIs) e ambientCG (mais de 2.000 materiais e mais de 400 HDRIs) são as duas principais referências. Ambas disponibilizam conteúdo em domínio público, não exigem atribuição e oferecem APIs gratuitas sem necessidade de chave. Sites CC0 menores, como 3DTextures.me, ShareTextures e cgbookcase, acrescentam milhares de opções, enquanto Kenney oferece texturas para protótipos e estilos visuais estilizados. O único site popular que NÃO é CC0 é o FreePBR, no qual o uso comercial exige um pagamento único.</p>
<div class="info custom-block"><p class="custom-block-title">Pesquise todas essas fontes em um só lugar</p>
<p>A <a href="/pt-BR/assets.html">Busca da Biblioteca de Assets</a> da Cinevva inclui Poly Haven e ambientCG como provedores, permitindo pesquisar suas texturas e HDRIs em um único campo: <a href="/pt-BR/assets.html?providers=polyhaven">Poly Haven</a> · <a href="/pt-BR/assets.html?providers=ambientcg">ambientCG</a></p>
</div>
<h2 id="escolhas-rapidas" tabindex="-1">Escolhas rápidas <a class="header-anchor" href="#escolhas-rapidas" aria-label="Permalink to &quot;Escolhas rápidas&quot;"></a></h2>
<ul>
<li><strong>Um único site para tudo, com visual fotorrealista:</strong> Poly Haven (texturas, HDRIs e modelos CC0).</li>
<li><strong>Maior biblioteca dedicada a materiais:</strong> ambientCG (CC0, mais de 2.000 materiais PBR).</li>
<li><strong>Mais variedade, ainda sob CC0:</strong> 3DTextures.me, ShareTextures, cgbookcase.</li>
<li><strong>Texturas para protótipos e estilos estilizados:</strong> Kenney (CC0).</li>
<li><strong>HDRIs gratuitos além do Poly Haven:</strong> ambientCG, conteúdo gratuito do HDRMaps e OpenHDRI.</li>
<li><strong>Atenção à licença:</strong> FreePBR é gratuito apenas para uso pessoal; os direitos comerciais custam US$ 16.</li>
</ul>
<h2 id="referencia-rapida" tabindex="-1">Referência rápida <a class="header-anchor" href="#referencia-rapida" aria-label="Permalink to &quot;Referência rápida&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Necessidade</th>
<th>Melhor fonte</th>
<th>Licença</th>
<th>Atribuição</th>
</tr>
</thead>
<tbody>
<tr>
<td>Materiais PBR fotorrealistas</td>
<td>Poly Haven, ambientCG</td>
<td>CC0</td>
<td>Nenhuma</td>
</tr>
<tr>
<td>Grande variedade de materiais</td>
<td>3DTextures.me, ShareTextures</td>
<td>CC0</td>
<td>Nenhuma</td>
</tr>
<tr>
<td>Biblioteca menor e selecionada</td>
<td>cgbookcase</td>
<td>CC0 1.0</td>
<td>Nenhuma</td>
</tr>
<tr>
<td>Texturas para protótipos/blockout</td>
<td>Kenney</td>
<td>CC0</td>
<td>Nenhuma</td>
</tr>
<tr>
<td>HDRIs para iluminação</td>
<td>Poly Haven, ambientCG</td>
<td>CC0</td>
<td>Nenhuma</td>
</tr>
<tr>
<td>Mais HDRIs gratuitos</td>
<td>Conteúdo gratuito do HDRMaps, OpenHDRI</td>
<td>Livre de royalties / CC0</td>
<td>Nenhuma</td>
</tr>
<tr>
<td>Jogo comercial com orçamento limitado</td>
<td>Qualquer opção CC0 acima</td>
<td>CC0</td>
<td>Nenhuma</td>
</tr>
<tr>
<td>Downloads do FreePBR</td>
<td>FreePBR</td>
<td>Personalizada</td>
<td>Nenhuma, mas o uso comercial é pago</td>
</tr>
</tbody>
</table>
<h2 id="sites-de-texturas-pbr-e-materiais" tabindex="-1">Sites de texturas PBR e materiais <a class="header-anchor" href="#sites-de-texturas-pbr-e-materiais" aria-label="Permalink to &quot;Sites de texturas PBR e materiais&quot;"></a></h2>
<h3 id="poly-haven" tabindex="-1">Poly Haven <a class="header-anchor" href="#poly-haven" aria-label="Permalink to &quot;Poly Haven&quot;"></a></h3>
<p><strong>Melhor para:</strong> Materiais fotorrealistas e HDRIs sem qualquer preocupação com licenças</p>
<figure class="sample-sheet">
<a href="/pt-BR/assets?providers=polyhaven"><img src="https://cdn.cinevva.com/guides/samples/samples-polyhaven-textures.jpg" alt="Amostras de materiais PBR CC0 do Poly Haven renderizados em esferas: tijolo, piso de madeira, placa metálica, paralelepípedo, tecido, grama, mármore e concreto" loading="lazy"></a>
<figcaption>Pré-visualizações de materiais do Poly Haven: tijolo, madeira, metal, paralelepípedo, tecido, grama, mármore e concreto, todos CC0. <a href="/pt-BR/assets?providers=polyhaven">Pesquise o Poly Haven na biblioteca de assets</a>.</figcaption>
</figure>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://polyhaven.com" target="_blank" rel="noreferrer">polyhaven.com</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>CC0 (domínio público), sem exigência de atribuição</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Mais de 780 texturas PBR, mais de 980 HDRIs e mais de 520 modelos</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Mapas JPG/PNG, EXR/HDR para HDRIs, Blend, glTF</td>
</tr>
<tr>
<td><strong>Resoluções</strong></td>
<td>Texturas de 1K a 8K, HDRIs de 1K a 16K</td>
</tr>
<tr>
<td><strong>API</strong></td>
<td>Sim, gratuita e sem necessidade de chave</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>Sim</td>
</tr>
</tbody>
</table>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Todos os assets são baseados em escaneamento ou criados manualmente segundo um padrão fotorrealista consistente</li>
<li>Conjuntos completos de mapas: difuso, normal, rugosidade, deslocamento e AO</li>
<li>Escolha a resolução de cada download em vez de baixar um único arquivo ZIP enorme</li>
<li>A API permite que ferramentas (incluindo a busca de assets da Cinevva) obtenham os assets diretamente</li>
</ul>
<p><strong>Melhor para encontrar:</strong></p>
<ul>
<li>Materiais de solo, rocha e terreno para cenas externas</li>
<li>Madeira, tijolo, gesso e metal para arquitetura</li>
<li>HDRIs de céu e estúdio para iluminar qualquer tipo de cena</li>
</ul>
<p>Poly Haven é a principal referência de todo este guia. Ele é financiado pelo Patreon e por patrocinadores corporativos, em vez de anúncios, tem o mais alto padrão de qualidade entre as bibliotecas gratuitas e, por ser CC0, faz com que você nunca mais precise pensar na licença. Se for favoritar apenas um site, escolha este. Pesquise-o dentro da Cinevva em <a href="/pt-BR/assets.html?providers=polyhaven">/assets?providers=polyhaven</a>.</p>
<h3 id="ambientcg" tabindex="-1">ambientCG <a class="header-anchor" href="#ambientcg" aria-label="Permalink to &quot;ambientCG&quot;"></a></h3>
<p><strong>Melhor para:</strong> A maior biblioteca de materiais CC0 da web</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://ambientcg.com" target="_blank" rel="noreferrer">ambientcg.com</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>CC0, gratuito para uso comercial, sem atribuição</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Mais de 2.000 materiais PBR, mais de 400 HDRIs e assets 3D adicionais</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Conjuntos de mapas JPG/PNG, HDRIs em EXR</td>
</tr>
<tr>
<td><strong>Resoluções</strong></td>
<td>Até 8K na maioria dos materiais</td>
</tr>
<tr>
<td><strong>API</strong></td>
<td>Sim, documentada e sem necessidade de chave</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>Sim</td>
</tr>
</tbody>
</table>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Mais variedade bruta de materiais do que qualquer outra opção no universo CC0</li>
<li>Anteriormente chamado CC0Textures, foi renomeado em 2021, mantendo o mesmo criador e a mesma licença desde 2018</li>
<li>Atende a mais de 1.000.000 de downloads por mês, portanto é testado em larga escala e estável</li>
<li>Boa cobertura procedural e baseada em escaneamento: tijolos, tecidos, solos, metais e telhados</li>
</ul>
<p><strong>Melhor para encontrar:</strong></p>
<ul>
<li>Superfícies repetíveis em grande quantidade ao montar um nível inteiro</li>
<li>Variações da mesma família de materiais (uma dúzia de concretos diferentes)</li>
<li>HDRIs quando o Poly Haven não tem a atmosfera que você procura</li>
</ul>
<p>Se o Poly Haven é a galeria selecionada, o ambientCG é o depósito. Quando você precisa de oito variações diferentes de asfalto ou de uma trama de tecido muito específica, é aqui que vai encontrar. Pesquise-o dentro da Cinevva em <a href="/pt-BR/assets.html?providers=ambientcg">/assets?providers=ambientcg</a>.</p>
<h3 id="_3dtextures-me" tabindex="-1">3DTextures.me <a class="header-anchor" href="#_3dtextures-me" aria-label="Permalink to &quot;3DTextures.me&quot;"></a></h3>
<p><strong>Melhor para:</strong> Uma grande biblioteca gratuita que também inclui materiais estilizados e feitos à mão</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://3dtextures.me" target="_blank" rel="noreferrer">3dtextures.me</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>CC0 (domínio público)</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Mais de 1.300 conjuntos de texturas</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Conjuntos de mapas PNG/JPG (cor base, normal, rugosidade, AO e altura)</td>
</tr>
<tr>
<td><strong>API</strong></td>
<td>Não</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>Sim, por textura</td>
</tr>
</tbody>
</table>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Grande variedade por categoria: mais de 340 metais, mais de 200 ladrilhos e mais de 200 tecidos</li>
<li>Inclui materiais estilizados e semiprocedurais que você não encontrará em sites baseados em escaneamento</li>
<li>Compatível com as convenções de mapas do Blender, Unreal, Unity e Godot</li>
</ul>
<p><strong>Melhor para encontrar:</strong></p>
<ul>
<li>Superfícies estilizadas não oferecidas por bibliotecas de escaneamentos fotorrealistas</li>
<li>Painéis de ficção científica, ladrilhos ornamentados e materiais com muitos padrões</li>
</ul>
<p>Um projeto individual que discretamente se tornou uma das maiores bibliotecas de texturas CC0 disponíveis. Os downloads individuais são gratuitos, e uma pequena doação pelo Ko-fi dá acesso a uma pasta para download em massa, caso você queira obter tudo de uma vez.</p>
<h3 id="sharetextures" tabindex="-1">ShareTextures <a class="header-anchor" href="#sharetextures" aria-label="Permalink to &quot;ShareTextures&quot;"></a></h3>
<p><strong>Melhor para:</strong> Outra coleção CC0 que vale a pena consultar quando as duas maiores não têm o que você procura</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://www.sharetextures.com" target="_blank" rel="noreferrer">sharetextures.com</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>CC0, explicitamente permitida para projetos comerciais</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Mais de 1.700 texturas e alguns modelos 3D</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Conjuntos de mapas PBR</td>
</tr>
<tr>
<td><strong>API</strong></td>
<td>Não</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>Sim</td>
</tr>
</tbody>
</table>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Boa cobertura de superfícies arquitetônicas: pisos, paredes, tecidos e madeira</li>
<li>Todo o conteúdo é livre de direitos autorais, segundo a própria política declarada do site</li>
<li>Financiado pelo Patreon e mantido ativamente em 2026</li>
</ul>
<p><strong>Melhor para encontrar:</strong></p>
<ul>
<li>Superfícies internas para cenas arquitetônicas ou do tamanho de um cômodo</li>
<li>Uma alternativa quando nem o Poly Haven nem o ambientCG têm o que você procura</li>
</ul>
<p>É menos famoso que os dois maiores, mas sua licença é igualmente simples e permissiva. Uma boa prática: pesquise primeiro no Poly Haven e no ambientCG e depois confira este site antes de aceitar algo que só atende parcialmente às suas necessidades.</p>
<h3 id="cgbookcase" tabindex="-1">cgbookcase <a class="header-anchor" href="#cgbookcase" aria-label="Permalink to &quot;cgbookcase&quot;"></a></h3>
<p><strong>Melhor para:</strong> Uma coleção CC0 menor e selecionada, com altas resoluções</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://www.cgbookcase.com" target="_blank" rel="noreferrer">cgbookcase.com</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>CC0 1.0, uso gratuito sem necessidade de atribuição</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Mais de 550 texturas</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Conjuntos de mapas PBR</td>
</tr>
<tr>
<td><strong>Resoluções</strong></td>
<td>1K a 8K</td>
</tr>
<tr>
<td><strong>API</strong></td>
<td>Não</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>Sim</td>
</tr>
</tbody>
</table>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Todas as texturas incluem o conjunto completo de mapas para materiais fotorrealistas</li>
<li>Permite filtrar pela resolução mínima durante a navegação</li>
<li>Mantido por um único artista (Dorian Zgraggen) como projeto pessoal, sem conteúdo bloqueado por pagamento</li>
</ul>
<p><strong>Melhor para encontrar:</strong></p>
<ul>
<li>Natureza e superfícies orgânicas (cascas de árvore, folhas e solo)</li>
<li>Versões em alta resolução de materiais comuns</li>
</ul>
<p>Pequena, mas muito bem produzida. As texturas de folhas com duas faces são um destaque conhecido que outras bibliotecas gratuitas não costumam oferecer.</p>
<h3 id="freepbr" tabindex="-1">FreePBR <a class="header-anchor" href="#freepbr" aria-label="Permalink to &quot;FreePBR&quot;"></a></h3>
<p><strong>Melhor para:</strong> Conjuntos de materiais voltados a jogos, desde que você leia primeiro a licença</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://freepbr.com" target="_blank" rel="noreferrer">freepbr.com</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Personalizada, NÃO é CC0. Gratuita para uso pessoal/não comercial. Os direitos comerciais custam um pagamento único de US$ 16</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Mais de 600 conjuntos de texturas PBR</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>PNG 2048x2048 (albedo, normal, rugosidade, metálico, AO e, em alguns casos, altura)</td>
</tr>
<tr>
<td><strong>API</strong></td>
<td>Não</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>Sim, por conjunto</td>
</tr>
</tbody>
</table>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Categorias voltadas a jogos: mais de 100 metais, pisos, painéis de ficção científica e solos</li>
<li>Conjuntos PNG 2K consistentes que podem ser usados diretamente nos fluxos de trabalho do Unity ou Unreal</li>
<li>O plano comercial de US$ 16 também permite baixar toda a biblioteca de uma só vez</li>
</ul>
<p><strong>Melhor para encontrar:</strong></p>
<ul>
<li>Metais estilizados para jogos e superfícies de ficção científica</li>
<li>Conjuntos rápidos em 2K quando você não precisa do realismo de um escaneamento</li>
</ul>
<p>Esta é a armadilha de licenciamento da categoria. O FreePBR se parece com os sites CC0, mas não é um deles: as próprias perguntas frequentes do site dizem que os conjuntos são gratuitos “desde que você não os use comercialmente”, e a redistribuição não é permitida. Se o seu jogo for gerar receita, pague os US$ 16 ou use os sites CC0 acima.</p>
<h3 id="kenney" tabindex="-1">Kenney <a class="header-anchor" href="#kenney" aria-label="Permalink to &quot;Kenney&quot;"></a></h3>
<p><strong>Melhor para:</strong> Texturas para protótipos e padrões estilizados</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://kenney.nl" target="_blank" rel="noreferrer">kenney.nl</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>CC0 (domínio público)</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Pacotes de texturas em uma biblioteca com mais de 40.000 assets, incluindo um pacote Prototype com 75 texturas</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>PNG</td>
</tr>
<tr>
<td><strong>API</strong></td>
<td>Não, mas há um catálogo disponível offline</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>Sim, um ZIP por pacote</td>
</tr>
</tbody>
</table>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>O pacote Prototype Textures oferece o visual padrão de grades e quadriculados para blockout</li>
<li>Padrões e superfícies estilizadas que combinam com os pacotes 3D e 2D do Kenney</li>
<li>A mesma licença CC0 em todo o catálogo</li>
</ul>
<p><strong>Melhor para encontrar:</strong></p>
<ul>
<li>Grades de greybox/blockout para prototipagem de níveis</li>
<li>Texturas estilizadas planas para jogos low poly nos quais o PBR fotorrealista não combina</li>
</ul>
<p>Não é uma biblioteca PBR, e esse é justamente o objetivo. Se o seu jogo tem um estilo low poly, um fluxo de trabalho completo de rugosidade em 4K é exagerado, e as texturas planas do Kenney proporcionarão um visual mais coerente.</p>
<h2 id="hdris-gratuitos" tabindex="-1">HDRIs gratuitos <a class="header-anchor" href="#hdris-gratuitos" aria-label="Permalink to &quot;HDRIs gratuitos&quot;"></a></h2>
<p>Um HDRI (imagem de alto alcance dinâmico) é um panorama de 360 graus usado para iluminar uma cena e preencher o fundo. Um bom HDRI substitui horas de posicionamento manual de luzes.</p>
<figure class="sample-sheet">
<a href="/pt-BR/assets?providers=polyhaven"><img src="https://cdn.cinevva.com/guides/samples/samples-polyhaven-hdris.jpg" alt="Amostras de HDRIs CC0 do Poly Haven: campo alpino, céu sobre o oceano, interior de estúdio de arte, campo no outono, céu puro e panoramas de floresta no outono" loading="lazy"></a>
<figcaption>Seis HDRIs do Poly Haven, desde céus puros até ambientes internos, todos CC0. <a href="/pt-BR/assets?providers=polyhaven">Pesquise HDRIs na biblioteca de assets</a>.</figcaption>
</figure>
<p><strong>Poly Haven</strong> também é a opção padrão aqui: são mais de 980 HDRIs CC0, desde céus limpos até configurações de estúdio e cenas noturnas, disponíveis para download de 1K a 16K em EXR ou HDR. O <strong>ambientCG</strong> acrescenta mais de 400 opções sob os mesmos termos CC0. Com os dois, você raramente precisará de outra fonte.</p>
<p>Quando precisar, o <strong>HDRMaps</strong> (<a href="https://hdrmaps.com/freebies/" target="_blank" rel="noreferrer">hdrmaps.com</a>) oferece mais de 200 HDRIs gratuitos que, segundo o site, podem ser usados em projetos privados e comerciais. A mesma equipe também mantém o <strong>OpenHDRI</strong> (<a href="https://openhdri.org" target="_blank" rel="noreferrer">openhdri.org</a>), uma biblioteca na qual todos os HDRIs são disponibilizados sob CC0.</p>
<p>Para jogos web, não inclua um HDRI de 16K. Um HDRI de 2K é suficiente quando usado apenas para iluminar a cena, e 4K normalmente basta até mesmo quando ele aparece como céu.</p>
<h2 id="o-que-os-mapas-pbr-realmente-sao" tabindex="-1">O que os mapas PBR realmente são <a class="header-anchor" href="#o-que-os-mapas-pbr-realmente-sao" aria-label="Permalink to &quot;O que os mapas PBR realmente são&quot;"></a></h2>
<p>Um material PBR é um conjunto de imagens, cada uma descrevendo uma propriedade física da superfície. A maioria dos sites gratuitos fornece cinco:</p>
<table tabindex="0">
<thead>
<tr>
<th>Mapa</th>
<th>O que controla</th>
</tr>
</thead>
<tbody>
<tr>
<td>Albedo (cor base)</td>
<td>A cor bruta da superfície, sem iluminação pré-aplicada</td>
</tr>
<tr>
<td>Normal</td>
<td>Simula pequenas saliências e reentrâncias sem geometria adicional</td>
</tr>
<tr>
<td>Rugosidade</td>
<td>Define se os reflexos são nítidos ou desfocados (polido ou fosco)</td>
</tr>
<tr>
<td>Metálico</td>
<td>Define se a superfície se comporta ou não como metal</td>
</tr>
<tr>
<td>AO (oclusão de ambiente)</td>
<td>Sombras suaves pré-calculadas em frestas</td>
</tr>
</tbody>
</table>
<p>Alguns conjuntos acrescentam um mapa de altura/deslocamento para gerar detalhes geométricos reais. Em jogos web, geralmente é possível dispensá-lo. Se o desempenho estiver apertado, você também pode remover AO e metálico de objetos que claramente não sejam feitos de metal.</p>
<h2 id="como-escolher-a-resolucao-para-jogos-web" tabindex="-1">Como escolher a resolução para jogos web <a class="header-anchor" href="#como-escolher-a-resolucao-para-jogos-web" aria-label="Permalink to &quot;Como escolher a resolução para jogos web&quot;"></a></h2>
<p>Maior não significa melhor no navegador. Toda textura é decodificada em pixels brutos na memória da GPU, portanto uma textura RGBA 4K consome 64 MB de VRAM, independentemente do tamanho do arquivo. Uma boa configuração padrão para a web é: 1K para a maioria dos objetos e superfícies repetíveis, 2K para objetos de destaque dos quais a câmera se aproxima e 4K quase nunca. Baixe a menor resolução que mantenha a qualidade necessária, não a maior disponível.</p>
<h2 id="comprima-tudo-com-ktx2" tabindex="-1">Comprima tudo com KTX2 <a class="header-anchor" href="#comprima-tudo-com-ktx2" aria-label="Permalink to &quot;Comprima tudo com KTX2&quot;"></a></h2>
<p>Antes de adicionar texturas a um jogo WebGL ou WebGPU, converta-as para KTX2 (Basis Universal). Ao contrário de PNG ou JPG, uma textura KTX2 permanece comprimida pela GPU na memória de vídeo, o que normalmente reduz o uso de VRAM das texturas de 4 a 8 vezes e acelera o carregamento. Three.js, Babylon.js e PlayCanvas já incluem carregadores de KTX2. A Cinevva oferece um <a href="/pt-BR/tools/ktx2-compressor.html">Compressor de Texturas KTX2</a> gratuito que funciona no navegador e converte PNG, JPG e WebP localmente, sem enviar nenhum arquivo. Se você ainda estiver escolhendo entre as APIs gráficas, consulte nosso <a href="/pt-BR/guides/webgpu-vs-webgl-games.html">guia sobre WebGPU vs WebGL</a>.</p>
<h2 id="gere-materiais-e-skyboxes-com-ia" tabindex="-1">Gere materiais e skyboxes com IA <a class="header-anchor" href="#gere-materiais-e-skyboxes-com-ia" aria-label="Permalink to &quot;Gere materiais e skyboxes com IA&quot;"></a></h2>
<p>Em 2026, você também pode gerar o que não conseguir encontrar. Ferramentas de texto para material agora produzem conjuntos completos de mapas PBR repetíveis (albedo, normal e rugosidade) a partir de um prompt, com opções especializadas como Texturly e 3D AI Studio, além do Adobe Substance 3D Sampler, que transforma uma única foto em um material. Para ambientes de 360 graus, o Skybox AI da Blockade Labs gera skyboxes de 8K sem emendas a partir de texto, com um plano gratuito e licenciamento comercial nos planos pagos.
A Cinevva oferece ambos integrados: o <a href="/pt-BR/tools/skybox.html">Gerador de Skyboxes</a> cria skyboxes de 360 graus com mapas de profundidade para o ambiente do seu jogo, enquanto o <a href="/pt-BR/tools/flux.html">Gerador de Imagens</a> produz texturas planas, decalques e artes conceituais a partir de um prompt de texto. Antes de publicar, confira os termos comerciais de qualquer ferramenta de IA hospedada, assim como você verificaria a licença de uma textura.</p>
<h2 id="licencas-em-30-segundos" tabindex="-1">Licenças em 30 segundos <a class="header-anchor" href="#licencas-em-30-segundos" aria-label="Permalink to &quot;Licenças em 30 segundos&quot;"></a></h2>
<ul>
<li><strong>CC0:</strong> domínio público. Permite uso comercial e modificações, sem exigir atribuição. Poly Haven, ambientCG, 3DTextures.me, ShareTextures, cgbookcase e Kenney usam a licença CC0.</li>
<li><strong>CC-BY:</strong> permite uso comercial gratuito, mas exige crédito ao criador.</li>
<li><strong>Livre de royalties / licença gratuita personalizada:</strong> uso gratuito conforme os termos específicos do site. Leia-os. O plano gratuito do FreePBR não permite uso comercial.</li>
<li><strong>Sem redistribuição:</strong> mesmo sites com licenças permissivas costumam proibir o reenvio dos arquivos brutos para outros lugares. Isso se aplica aos arquivos, não ao seu jogo, portanto incluí-los em uma build é permitido.</li>
</ul>
<p>Em caso de dúvida, prefira CC0. Para uma explicação completa, consulte nosso <a href="/pt-BR/guides/game-asset-licenses.html">guia de licenças de assets para jogos</a>.</p>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="onde-posso-baixar-texturas-pbr-gratuitas-para-jogos-comerciais" tabindex="-1">Onde posso baixar texturas PBR gratuitas para jogos comerciais? <a class="header-anchor" href="#onde-posso-baixar-texturas-pbr-gratuitas-para-jogos-comerciais" aria-label="Permalink to &quot;Onde posso baixar texturas PBR gratuitas para jogos comerciais?&quot;"></a></h3>
<p>Poly Haven e ambientCG são as melhores fontes: ambos usam CC0, portanto todas as texturas podem ser usadas com segurança em jogos comerciais sem atribuição. 3DTextures.me, ShareTextures e cgbookcase também são totalmente CC0. Não presuma que todo site de “texturas gratuitas” funcione dessa forma, pois alguns, como o FreePBR, restringem o uso comercial dos downloads gratuitos.</p>
<h3 id="o-ambientcg-e-realmente-gratuito-para-uso-comercial" tabindex="-1">O ambientCG é realmente gratuito para uso comercial? <a class="header-anchor" href="#o-ambientcg-e-realmente-gratuito-para-uso-comercial" aria-label="Permalink to &quot;O ambientCG é realmente gratuito para uso comercial?&quot;"></a></h3>
<p>Sim. Todos os assets do ambientCG são CC0, uma licença que, segundo o site, permite o uso sem atribuição até mesmo em projetos comerciais. O site se chamava anteriormente CC0Textures e usa a mesma licença desde 2018.</p>
<h3 id="o-freepbr-e-cc0" tabindex="-1">O FreePBR é CC0? <a class="header-anchor" href="#o-freepbr-e-cc0" aria-label="Permalink to &quot;O FreePBR é CC0?&quot;"></a></h3>
<p>Não. O FreePBR usa uma licença própria: os downloads são gratuitos para uso pessoal e não comercial, mas o uso comercial exige um pagamento único de US$ 16, e não é permitido redistribuir os arquivos em outros sites. Se você quer texturas comerciais sem custo, use os sites CC0.</p>
<h3 id="onde-posso-encontrar-hdris-gratuitos-para-iluminacao-de-jogos" tabindex="-1">Onde posso encontrar HDRIs gratuitos para iluminação de jogos? <a class="header-anchor" href="#onde-posso-encontrar-hdris-gratuitos-para-iluminacao-de-jogos" aria-label="Permalink to &quot;Onde posso encontrar HDRIs gratuitos para iluminação de jogos?&quot;"></a></h3>
<p>O Poly Haven tem mais de 980 HDRIs CC0 e é a opção mais recomendada. O ambientCG oferece mais de 400 outros, também sob CC0. O HDRMaps disponibiliza mais de 200 itens gratuitos que podem ser usados em projetos comerciais, e seu site associado OpenHDRI é totalmente CC0.</p>
<h3 id="qual-resolucao-de-textura-devo-usar-em-um-jogo-para-web" tabindex="-1">Qual resolução de textura devo usar em um jogo para web? <a class="header-anchor" href="#qual-resolucao-de-textura-devo-usar-em-um-jogo-para-web" aria-label="Permalink to &quot;Qual resolução de textura devo usar em um jogo para web?&quot;"></a></h3>
<p>Use 1K para a maioria das superfícies e 2K para objetos dos quais a câmera chega perto. Uma textura 4K sem compressão ocupa 64 MB de memória da GPU, o que é demais para um jogo de navegador gastar em uma única superfície. Independentemente da resolução escolhida, converta-a para KTX2 para mantê-la comprimida na VRAM.</p>
<h3 id="a-ia-consegue-gerar-materiais-pbr-continuos" tabindex="-1">A IA consegue gerar materiais PBR contínuos? <a class="header-anchor" href="#a-ia-consegue-gerar-materiais-pbr-continuos" aria-label="Permalink to &quot;A IA consegue gerar materiais PBR contínuos?&quot;"></a></h3>
<p>Sim. Ferramentas especializadas como Texturly e 3D AI Studio geram conjuntos de mapas PBR contínuos a partir de prompts de texto, enquanto o Adobe Substance 3D Sampler cria um material usando uma única foto. Para céus, o Skybox AI da Blockade Labs e o <a href="/pt-BR/tools/skybox.html">Gerador de Skyboxes</a> da Cinevva criam ambientes completos de 360 graus a partir de um prompt.</p>
<h3 id="preciso-dar-credito-ao-poly-haven-ou-ao-ambientcg-no-meu-jogo" tabindex="-1">Preciso dar crédito ao Poly Haven ou ao ambientCG no meu jogo? <a class="header-anchor" href="#preciso-dar-credito-ao-poly-haven-ou-ao-ambientcg-no-meu-jogo" aria-label="Permalink to &quot;Preciso dar crédito ao Poly Haven ou ao ambientCG no meu jogo?&quot;"></a></h3>
<p>Não. CC0 significa que nenhuma atribuição é exigida, inclusive em jogos comerciais. Ambos os sites agradecem créditos ou doações, mas legalmente você não deve nada.</p>
<BuildCta
  title="Pare de procurar texturas. Crie a cena"
  desc="A Cinevva pesquisa no Poly Haven e no ambientCG para você e adiciona materiais e HDRIs diretamente a um jogo jogável."
  prompt="Crie um vale montanhoso com neblina ao pôr do sol, com uma ruína de pedra pela qual eu possa caminhar, iluminado por um céu HDRI de tons quentes" />
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/game-assets-guide.html">Onde encontrar assets gratuitos para jogos</a>: o guia completo com mais de 20 fontes</li>
<li><a href="/pt-BR/guides/free-3d-model-sites.html">Melhores sites de modelos 3D gratuitos</a>: os modelos nos quais usar esses materiais</li>
<li><a href="/pt-BR/guides/game-asset-licenses.html">Entenda as licenças de assets para jogos</a>: CC0, CC-BY e outras</li>
<li><a href="/pt-BR/guides/webgpu-vs-webgl-games.html">WebGPU vs. WebGL para jogos</a>: onde essas texturas comprimidas são usadas</li>
<li><a href="/pt-BR/assets.html">Busca na biblioteca de assets</a>: pesquise no Poly Haven, ambientCG e outras fontes em um só lugar</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/free-textures-hdris-materials-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Guia para desenvolvedores da CrazyGames: publique e ganhe dinheiro (2026)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/publish-game-crazygames</link>
            <guid>https://app.cinevva.com/pt-BR/guides/publish-game-crazygames</guid>
            <pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Como publicar seu jogo na CrazyGames em 2026: o portal do desenvolvedor, o envio e a análise, o SDK, a participação na receita de anúncios, as compras dentro do jogo e como funcionam os pagamentos.]]></description>
            <content:encoded><![CDATA[<h1 id="guia-para-desenvolvedores-da-crazygames-publique-e-ganhe-dinheiro-2026" tabindex="-1">Guia para desenvolvedores da CrazyGames: publique e ganhe dinheiro (2026) <a class="header-anchor" href="#guia-para-desenvolvedores-da-crazygames-publique-e-ganhe-dinheiro-2026" aria-label="Permalink to &quot;Guia para desenvolvedores da CrazyGames: publique e ganhe dinheiro (2026)&quot;"></a></h1>
<p><em>Última atualização: julho de 2026.</em></p>
<p>Para publicar na CrazyGames, você envia uma build HTML5 ou Unity WebGL pelo <a href="https://developer.crazygames.com/" target="_blank" rel="noreferrer">portal do desenvolvedor</a>, a equipe de controle de qualidade faz a análise (o feedback geralmente chega em <a href="https://docs.pley.com/docs/crazy-games" target="_blank" rel="noreferrer">1 a 2 dias</a>) e seu jogo entra no ar em uma de duas etapas. O Lançamento Básico coloca o jogo no site sem exigir nenhum trabalho com o SDK, para que a CrazyGames possa medir a resposta dos jogadores. Se ele conseguir manter o interesse do público, você será convidado para o Lançamento Completo, no qual integra o <a href="https://docs.crazygames.com/" target="_blank" rel="noreferrer">SDK da CrazyGames</a> e começa a ganhar dinheiro. Não há taxa de publicação nem <a href="https://docs.crazygames.com/faq/" target="_blank" rel="noreferrer">exigência de exclusividade</a>, então você pode disponibilizar o mesmo jogo na Steam, em dispositivos móveis ou em um portal concorrente ao mesmo tempo.</p>
<p>Você ganha por meio da participação na receita dos anúncios veiculados pelo SDK (vídeos e banners), além das compras dentro do jogo disponibilizadas via Xsolla para títulos convidados. A CrazyGames não divulga a divisão exata, mas faz pagamentos mensais pelo <a href="https://docs.crazygames.com/payouts/" target="_blank" rel="noreferrer">Tipalti</a> quando seu saldo ultrapassa o mínimo de €100 e busca pagar até o dia 10 do mês seguinte. Os ganhos tendem a ser maiores em mercados de nível 1 de língua inglesa, como Estados Unidos, Reino Unido e Austrália, pois é onde a demanda por anúncios é mais forte e onde se encontra a maior parte do público da plataforma.</p>
<h2 id="referencia-rapida" tabindex="-1">Referência rápida <a class="header-anchor" href="#referencia-rapida" aria-label="Permalink to &quot;Referência rápida&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>Modelo de envio</td>
<td>Upload por conta própria pelo portal do desenvolvedor, seguido de análise humana de controle de qualidade</td>
</tr>
<tr>
<td>Custo para publicar</td>
<td>Gratuito, sem exigência de exclusividade</td>
</tr>
<tr>
<td>Tempo de análise</td>
<td>O feedback geralmente chega em 1 a 2 dias; atualizações costumam ser processadas no mesmo dia útil</td>
</tr>
<tr>
<td>Etapas de lançamento</td>
<td>Lançamento Básico (sem SDK e sem monetização) → Lançamento Completo (SDK obrigatório, gera receita)</td>
</tr>
<tr>
<td>Monetização</td>
<td>Participação na receita de anúncios (vídeos + banners do SDK); compras dentro do jogo via Xsolla (somente por convite)</td>
</tr>
<tr>
<td>Divisão da receita</td>
<td>Não consta na documentação principal; os <a href="https://crazygames.indiehero.io/cggmwj-jg/" target="_blank" rel="noreferrer">termos da game jam de 2026</a> indicam 60% dos anúncios / 70% das compras dentro do jogo para os desenvolvedores</td>
</tr>
<tr>
<td>Limite mínimo de pagamento</td>
<td>Mínimo de €100, pago mensalmente via Tipalti (transferência bancária, ACH, PayPal)</td>
</tr>
<tr>
<td>Limites da build</td>
<td>Carregamento inicial ≤ 50 MB, total ≤ 250 MB, ≤ 1.500 arquivos</td>
</tr>
<tr>
<td>Público</td>
<td>PEGI 12 / maiores de 13 anos</td>
</tr>
</tbody>
</table>
<h2 id="por-que-escolher-a-crazygames" tabindex="-1">Por que escolher a CrazyGames <a class="header-anchor" href="#por-que-escolher-a-crazygames" aria-label="Permalink to &quot;Por que escolher a CrazyGames&quot;"></a></h2>
<p>A CrazyGames é um dos maiores portais de jogos para navegador da web. O portal do desenvolvedor da empresa agora afirma ter <a href="https://developer.crazygames.com/" target="_blank" rel="noreferrer">mais de 50 milhões de jogadores mensais</a>, concentrados em mercados de nível 1, acima dos <a href="https://mobidictum.com/crazygames-reaches-35-million-monthly-users/" target="_blank" rel="noreferrer">35 milhões de usuários ativos mensais</a> divulgados de forma independente no início de 2025, em um catálogo de aproximadamente 4.000 jogos. É um público amplo e pronto que você não precisa conquistar por conta própria — justamente o grande atrativo de um portal em comparação com lançar um jogo do zero em seu próprio domínio.</p>
<p>A proposta para os desenvolvedores é simples. Você fornece um jogo que roda na web, a CrazyGames fornece o tráfego e a infraestrutura de anúncios, e vocês dividem a receita publicitária. A plataforma dá bastante ênfase ao apoio a desenvolvedores pequenos e independentes e não prende você a ela. Como não há cláusula de exclusividade, a CrazyGames costuma ser mais um canal de distribuição a acrescentar do que uma aposta exclusiva.</p>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 210" role="img" aria-label="Visão geral da CrazyGames: mais de 50 milhões de jogadores mensais, cerca de 4.000 jogos, feedback da análise em 1 a 2 dias e limite mínimo de pagamento de 100 euros" style="width:100%;height:auto;max-width:720px;margin:1.5rem auto;display:block;border-radius:14px">
  <rect width="720" height="210" rx="14" fill="#0b1020"/>
  <text x="24" y="40" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="20" font-weight="800" fill="#e8edf5">Visão geral da CrazyGames</text>
  <text x="24" y="62" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="13" fill="#9aa7b4">Escala da plataforma e fundamentos da publicação. Fonte: portal do desenvolvedor e documentação da CrazyGames.</text>
  <g font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif">
    <g transform="translate(24,80)">
      <rect width="156" height="106" rx="10" fill="#121a31"/>
      <text x="16" y="48" font-size="27" font-weight="800" fill="#c8a8ff">50 mi+</text>
      <text x="16" y="72" font-size="12" fill="#9aa7b4">Jogadores mensais</text>
      <rect x="16" y="82" width="72" height="20" rx="10" fill="#c8a8ff22"/>
      <text x="26" y="96" font-size="12" font-weight="700" fill="#c8a8ff">Foco no nível 1</text>
    </g>
    <g transform="translate(196,80)">
      <rect width="156" height="106" rx="10" fill="#121a31"/>
      <text x="16" y="48" font-size="27" font-weight="800" fill="#7dd3fc">~4.000</text>
      <text x="16" y="72" font-size="12" fill="#9aa7b4">Jogos no catálogo</text>
      <rect x="16" y="82" width="80" height="20" rx="10" fill="#7dd3fc22"/>
      <text x="26" y="96" font-size="12" font-weight="700" fill="#7dd3fc">HTML5 + Unity</text>
    </g>
    <g transform="translate(368,80)">
      <rect width="156" height="106" rx="10" fill="#121a31"/>
      <text x="16" y="48" font-size="27" font-weight="800" fill="#6ee7b7">1-2 dias</text>
      <text x="16" y="72" font-size="12" fill="#9aa7b4">Feedback da análise</text>
      <rect x="16" y="82" width="76" height="20" rx="10" fill="#6ee7b722"/>
      <text x="26" y="96" font-size="12" font-weight="700" fill="#6ee7b7">Análise humana</text>
    </g>
    <g transform="translate(540,80)">
      <rect width="156" height="106" rx="10" fill="#121a31"/>
      <text x="16" y="48" font-size="27" font-weight="800" fill="#fb7185">€100</text>
      <text x="16" y="72" font-size="12" fill="#9aa7b4">Pagamento mínimo</text>
      <rect x="16" y="82" width="60" height="20" rx="10" fill="#fb718522"/>
      <text x="26" y="96" font-size="12" font-weight="700" fill="#fb7185">Mensal</text>
    </g>
  </g>
</svg>
<h2 id="como-funciona-a-publicacao" tabindex="-1">Como funciona a publicação <a class="header-anchor" href="#como-funciona-a-publicacao" aria-label="Permalink to &quot;Como funciona a publicação&quot;"></a></h2>
<p>Você começa no <a href="https://developer.crazygames.com/games" target="_blank" rel="noreferrer">portal do desenvolvedor</a>, onde configura sua conta, preenche os dados de pagamento e envia uma build. O portal inclui uma ferramenta de controle de qualidade que executa seu jogo exatamente como ele apareceria na CrazyGames, permitindo testar chamadas do SDK e detectar problemas antes mesmo que uma pessoa o analise. Configure sua forma de pagamento antes de enviar o jogo, pois a CrazyGames solicita isso primeiro.</p>
<p>A partir daí, há uma análise, não uma publicação instantânea. A equipe de controle de qualidade joga seu título, verifica se ele atende aos requisitos e envia uma rodada de feedback. Desenvolvedores relatam que o feedback costuma chegar em <a href="https://docs.pley.com/docs/crazy-games" target="_blank" rel="noreferrer">1 a 2 dias</a>, frequentemente com capturas de tela indicando o que precisa ser corrigido, e as observações abrangem tanto problemas obrigatórios quanto sugestões de melhoria. Depois que você resolve os impedimentos, a preparação do jogo para o lançamento leva aproximadamente mais dois dias. As atualizações de um jogo que já está no ar avançam mais rápido e geralmente são <a href="https://docs.crazygames.com/faq/" target="_blank" rel="noreferrer">processadas no mesmo dia útil</a>.</p>
<h3 id="primeiro-o-lancamento-basico-depois-o-lancamento-completo" tabindex="-1">Primeiro o Lançamento Básico, depois o Lançamento Completo <a class="header-anchor" href="#primeiro-o-lancamento-basico-depois-o-lancamento-completo" aria-label="Permalink to &quot;Primeiro o Lançamento Básico, depois o Lançamento Completo&quot;"></a></h3>
<p>A CrazyGames usa um <a href="https://docs.crazygames.com/requirements/intro/" target="_blank" rel="noreferrer">lançamento em duas etapas</a>. No Lançamento Básico, seu jogo entra no ar sem exigir personalização. O SDK é opcional e a monetização fica desativada. Essa é uma janela de lançamento gradual — descrita pelos desenvolvedores como um período de aproximadamente duas semanas — durante a qual a plataforma observa o engajamento real: tempo médio de jogo, quantos visitantes começam efetivamente a jogar e retenção. Se seu jogo atingir os parâmetros esperados, você será convidado para o Lançamento Completo.</p>
<p>É no Lançamento Completo que a receita começa. Você integra corretamente o SDK, atende a todos os requisitos de integração e controle de qualidade, e o jogo passa a abrir diretamente na tela de gameplay com a monetização ativada. A passagem entre as duas etapas é o ponto central do modelo. A CrazyGames prefere dar ao jogo uma oportunidade justa com jogadores reais em vez de aprová-lo apenas com base em promessas. Por isso, o polimento e uma primeira sessão envolvente são mais importantes aqui do que uma lista extensa de recursos.</p>
<h3 id="limites-da-build-e-requisitos-tecnicos" tabindex="-1">Limites da build e requisitos técnicos <a class="header-anchor" href="#limites-da-build-e-requisitos-tecnicos" aria-label="Permalink to &quot;Limites da build e requisitos técnicos&quot;"></a></h3>
<p>Sua build tem limites rígidos: o <a href="https://docs.crazygames.com/requirements/intro/" target="_blank" rel="noreferrer">download inicial deve ter 50 MB ou menos</a>, o tamanho total deve ser de 250 MB ou menos (50 MB se você não usar o SDK), e tudo precisa ficar abaixo de 1.500 arquivos. Os jogos usam um iframe responsivo de 16:9 e precisam permanecer legíveis com devicePixelRatio igual a 1. A física deve permanecer <a href="https://docs.crazygames.com/requirements/quality/" target="_blank" rel="noreferrer">consistente em diferentes taxas de atualização</a>, como 144 Hz e 165 Hz, algo que causa problemas em uma quantidade surpreendente de engines que vinculam o movimento à taxa de quadros em vez de usar delta time. A CrazyGames é um site para jogadores <a href="https://docs.crazygames.com/requirements/gameplay/" target="_blank" rel="noreferrer">com 13 anos ou mais</a>, portanto seu jogo precisa estar em conformidade com a classificação PEGI 12.</p>
<h2 id="o-sdk-da-crazygames" tabindex="-1">O SDK da CrazyGames <a class="header-anchor" href="#o-sdk-da-crazygames" aria-label="Permalink to &quot;O SDK da CrazyGames&quot;"></a></h2>
<p>O SDK é o meio de comunicação entre seu jogo e a plataforma e é obrigatório para o Lançamento Completo. Ele gerencia <a href="https://docs.crazygames.com/" target="_blank" rel="noreferrer">anúncios, contas de usuários, salvamentos na nuvem, convites, placares de líderes e compras</a>. Somente anúncios veiculados pelo SDK são permitidos, e essa é a regra central de todo o modelo de receita.</p>
<p>Quanto aos anúncios, há dois tipos de anúncios em vídeo. Os anúncios durante a partida são exibidos em pausas naturais, como quando um jogador morre ou termina uma fase, enquanto os anúncios recompensados são solicitados pelo jogador em troca de alguma vantagem dentro do jogo. Os <a href="https://docs.crazygames.com/requirements/ads/" target="_blank" rel="noreferrer">requisitos são rigorosos</a>: os anúncios não podem interromper a gameplay ativa nem surpreender o jogador, o jogo precisa pausar e bloquear os comandos enquanto o anúncio é exibido, e o áudio deve ser silenciado durante o anúncio e reativado quando ele terminar. Também há anúncios em banner. Além dos anúncios, o SDK oferece armazenamento de dados na nuvem para que o progresso acompanhe o jogador em diferentes dispositivos, autenticação de usuário vinculada à conta da CrazyGames e convites de amigos e recursos sociais para jogos multiplayer — funcionalidades que a plataforma vem promovendo desde que adicionou recursos sociais por volta do marco de 35 milhões de usuários.</p>
<p>O SDK oferece suporte direto a <a href="https://docs.crazygames.com/" target="_blank" rel="noreferrer">HTML5, Unity, GameMaker, Construct 3, Godot e Cocos</a>, com extensões de parceiros para GDevelop, Defold e Wonderland Engine. A CrazyGames tem jogos publicados feitos em Unity, Defold, Godot, Phaser, PlayCanvas, Construct, Pixi.js e BabylonJS, portanto a engine escolhida importa muito menos do que a capacidade de exportar uma build web limpa e rápida. O suporte prático ao SDK e as orientações personalizadas sobre posicionamento de anúncios começam quando seus jogos ultrapassam <a href="https://docs.crazygames.com/requirements/intro/" target="_blank" rel="noreferrer">50.000 partidas combinadas</a>.</p>
<h3 id="compras-dentro-do-jogo" tabindex="-1">Compras dentro do jogo <a class="header-anchor" href="#compras-dentro-do-jogo" aria-label="Permalink to &quot;Compras dentro do jogo&quot;"></a></h3>
<p>As compras dentro do jogo estão disponíveis, mas <a href="https://docs.crazygames.com/sdk/in-game-purchases/" target="_blank" rel="noreferrer">somente por convite</a>. A CrazyGames processa as compras dentro do jogo por meio da <a href="https://xsolla.com/partner-spotlight/crazygames-adds-xsolla-payments" target="_blank" rel="noreferrer">Xsolla</a>, sua provedora de pagamentos, e as transações sempre são realizadas pela conta Xsolla da CrazyGames para que sejam automaticamente vinculadas ao ID de usuário do jogador na CrazyGames. O recurso foi disponibilizado de maneira mais ampla ao longo de 2025. Em junho de 2025, a Xsolla e a Defold <a href="https://www.pocketgamer.biz/xsolla-partners-with-defold-to-simplify-in-game-purchases-for-web-developers/" target="_blank" rel="noreferrer">lançaram um SDK dedicado</a> que permite aos jogos web feitos com Defold na CrazyGames adicionar compras sem a configuração manual de APIs. Na prática, as compras dentro do jogo não devem ser o foco do seu planejamento de lançamento. Primeiro, conquiste um convite apresentando bom desempenho com anúncios; depois, acrescente as compras.</p>
<h2 id="como-voce-recebe-os-pagamentos" tabindex="-1">Como você recebe os pagamentos <a class="header-anchor" href="#como-voce-recebe-os-pagamentos" aria-label="Permalink to &quot;Como você recebe os pagamentos&quot;"></a></h2>
<p>A CrazyGames não divulga a divisão da receita em sua documentação principal para desenvolvedores, portanto desconfie de guias que apresentam uma porcentagem fixa como oficial. O dado mais próximo de um número oficial está nos termos publicados pela CrazyGames para sua <a href="https://crazygames.indiehero.io/cggmwj-jg/" target="_blank" rel="noreferrer">game jam de GameMaker de 2026</a>, que indicam que os desenvolvedores ficam com 60% da receita de anúncios dentro do jogo e 70% da receita de compras dentro do jogo. O <a href="https://developer.crazygames.com/" target="_blank" rel="noreferrer">portal do desenvolvedor</a> permite acompanhar a receita de cada jogo. O que a CrazyGames documenta por completo é o funcionamento dos pagamentos, e essas informações são concretas.</p>
<p>Os pagamentos são feitos <a href="https://docs.crazygames.com/payouts/" target="_blank" rel="noreferrer">mensalmente pelo Tipalti</a> quando seu saldo atinge o mínimo de €100. Se você não alcançar €100 em determinado mês, o saldo é acumulado para o próximo. O Tipalti oferece suporte a transferência bancária, depósito direto/ACH, eCheck e PayPal, com disponibilidade variável conforme o país. Os termos formais são NET 60, mas a CrazyGames afirma que atualmente busca pagar mais cedo, normalmente até o dia 10 do mês seguinte. Considere as tarifas de câmbio na conversão de moedas e possíveis tarifas de bancos intermediários que estão fora do controle da CrazyGames. Seus ganhos dependem do volume de partidas, da retenção e da localização dos jogadores, portanto o mesmo jogo gera receitas muito diferentes com um público dos Estados Unidos e com outro de CPM baixo.</p>
<h2 id="o-que-apresenta-bom-desempenho-na-crazygames" tabindex="-1">O que apresenta bom desempenho na CrazyGames <a class="header-anchor" href="#o-que-apresenta-bom-desempenho-na-crazygames" aria-label="Permalink to &quot;O que apresenta bom desempenho na CrazyGames&quot;"></a></h2>
<p>O catálogo tende a favorecer jogos multiplayer no estilo .io, ação em sessões rápidas, quebra-cabeças casuais, jogos de corrida e jogos de tiro — tipos de jogos que prendem a atenção nos primeiros dez segundos e funcionam bem em uma aba do navegador entre outras atividades. Como a etapa de Lançamento Básico mede o tempo de jogo e a retenção, jogos que entregam a diversão logo no início tendem a se sair bem, enquanto aqueles que exigem um tutorial de cinco minutos antes de algo acontecer costumam perder força. Os recursos sociais e de convite do SDK beneficiam jogos com algum componente multiplayer ou compartilhável, motivo pelo qual tantos sucessos de destaque nos navegadores giram em torno de jogar com ou contra outras pessoas.</p>
<h2 id="motivos-comuns-para-rejeicao" tabindex="-1">Motivos comuns para rejeição <a class="header-anchor" href="#motivos-comuns-para-rejeicao" aria-label="Permalink to &quot;Motivos comuns para rejeição&quot;"></a></h2>
<p>A maneira mais rápida de ser rejeitado é enviar algo sem originalidade. A CrazyGames verifica explicitamente <a href="https://docs.crazygames.com/requirements/quality/" target="_blank" rel="noreferrer">clones, reskins e jogos feitos apenas com pacotes de assets</a>, e seu jogo não deve ser facilmente confundido com outro pelo nome ou pela iconografia. O segundo problema mais comum é a falta de refinamento. Um desenvolvedor relatou que seu jogo foi <a href="https://www.linkedin.com/pulse/my-game-got-rejected-just-2-hours-dmitrii-rigin" target="_blank" rel="noreferrer">rejeitado em cerca de duas horas</a>, com a observação de que ele &quot;parece um protótipo&quot;, e reclamou que o feedback foi superficial em comparação com alguns portais concorrentes. É um alerta válido: o nível exigido é o de um jogo que pareça finalizado, não de uma versão feita em uma game jam, e o feedback recebido pode ser sucinto.</p>
<p>Falhas técnicas completam a lista. Jogos que demoram para carregar, apresentam travamentos, fecham inesperadamente ou geram erros são recusados, assim como builds com defeitos gráficos, como artefatos de compressão, estilos visuais inconsistentes, física que falha em monitores com alta taxa de atualização ou controles que ignoram layouts de teclado comuns. Textos ilegíveis na resolução padrão ou no iframe 16:9 são outro problema frequente. Nada disso é incomum, mas são exatamente os detalhes fáceis de ignorar quando você está com pressa para enviar o jogo.</p>
<h2 id="onde-a-cinevva-se-encaixa" tabindex="-1">Onde a Cinevva se encaixa <a class="header-anchor" href="#onde-a-cinevva-se-encaixa" aria-label="Permalink to &quot;Onde a Cinevva se encaixa&quot;"></a></h2>
<p>Se você está diante da exigência de que o jogo &quot;pareça finalizado, não um protótipo&quot; e ainda não tem uma build, é aí que uma ferramenta como a Cinevva pode ajudar. Você descreve o jogo que deseja, e a Cinevva cria no navegador um jogo 3D jogável para a web, depois o exporta como uma build HTML5 independente. Assim, você tem algo para aprimorar e testar com a ferramenta de controle de qualidade da CrazyGames, em vez de começar com um projeto vazio em uma engine. Ela não garantirá originalidade nem refinamento por você, mas reduz a distância entre uma ideia e a primeira versão jogável, que é a etapa mais demorada do caminho até o envio.</p>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="quanto-a-crazygames-paga-aos-desenvolvedores" tabindex="-1">Quanto a CrazyGames paga aos desenvolvedores? <a class="header-anchor" href="#quanto-a-crazygames-paga-aos-desenvolvedores" aria-label="Permalink to &quot;Quanto a CrazyGames paga aos desenvolvedores?&quot;"></a></h3>
<p>A CrazyGames não divulga a divisão da receita em sua principal documentação para desenvolvedores. O dado oficial mais próximo aparece nos <a href="https://crazygames.indiehero.io/cggmwj-jg/" target="_blank" rel="noreferrer">termos da game jam de GameMaker de 2026</a>, segundo os quais os desenvolvedores ficam com 60% da receita de anúncios e 70% da receita de compras. Você recebe uma parcela da receita de anúncios gerada pelo seu jogo por meio do SDK, acompanhada individualmente para cada jogo no portal do desenvolvedor, além da receita de compras no jogo, caso seja convidado. Os pagamentos são feitos mensalmente pelo Tipalti quando o saldo ultrapassa €100, e os ganhos reais dependem muito do volume de partidas, da retenção e da proporção do público localizada em mercados com CPM alto, como os EUA e o Reino Unido.</p>
<h3 id="quanto-tempo-a-crazygames-leva-para-avaliar-um-jogo" tabindex="-1">Quanto tempo a CrazyGames leva para avaliar um jogo? <a class="header-anchor" href="#quanto-tempo-a-crazygames-leva-para-avaliar-um-jogo" aria-label="Permalink to &quot;Quanto tempo a CrazyGames leva para avaliar um jogo?&quot;"></a></h3>
<p>Os desenvolvedores geralmente recebem uma resposta de 1 a 2 dias após o envio, muitas vezes com capturas de tela mostrando o que precisa ser corrigido. Depois de resolver os problemas impeditivos, a preparação do jogo para o lançamento leva aproximadamente mais dois dias. As atualizações de um jogo que já está publicado são mais rápidas e geralmente processadas no mesmo dia útil. O maior custo de tempo é a fase de Lançamento Básico, um período de lançamento limitado de cerca de duas semanas em que a CrazyGames mede o engajamento real antes de convidar você para o Lançamento Completo.</p>
<h3 id="preciso-tornar-meu-jogo-exclusivo-da-crazygames" tabindex="-1">Preciso tornar meu jogo exclusivo da CrazyGames? <a class="header-anchor" href="#preciso-tornar-meu-jogo-exclusivo-da-crazygames" aria-label="Permalink to &quot;Preciso tornar meu jogo exclusivo da CrazyGames?&quot;"></a></h3>
<p>Não. A CrazyGames não exige exclusividade, então você pode publicar o mesmo jogo simultaneamente na Steam, em lojas de aplicativos para dispositivos móveis, no itch.io ou em portais concorrentes, como o Poki, e ainda receber uma parcela da receita na CrazyGames. Isso faz dela um canal de baixo risco para adicionar a um lançamento multiplataforma, em vez de uma decisão que limita a distribuição do seu jogo.</p>
<h3 id="que-tipos-de-jogos-funcionam-melhor-na-crazygames" tabindex="-1">Que tipos de jogos funcionam melhor na CrazyGames? <a class="header-anchor" href="#que-tipos-de-jogos-funcionam-melhor-na-crazygames" aria-label="Permalink to &quot;Que tipos de jogos funcionam melhor na CrazyGames?&quot;"></a></h3>
<p>Jogos de navegador que carregam rapidamente e ficam divertidos de imediato são os que mais se destacam. O filtro de lançamento da plataforma mede o tempo de jogo e a retenção, portanto, jogos multijogador .io, jogos de ação com partidas rápidas, quebra-cabeças casuais, jogos de corrida e jogos de tiro que conquistam os jogadores nos primeiros dez segundos tendem a ser aprovados e crescer. Jogos que exigem um tutorial longo antes de começar a diversão ou que demoram para carregar enfrentam dificuldades. Os recursos sociais e de convite do SDK também dão uma vantagem adicional a jogos multijogador e fáceis de compartilhar.</p>
<h3 id="quais-sao-os-limites-de-tamanho-das-builds-para-a-crazygames" tabindex="-1">Quais são os limites de tamanho das builds para a CrazyGames? <a class="header-anchor" href="#quais-sao-os-limites-de-tamanho-das-builds-para-a-crazygames" aria-label="Permalink to &quot;Quais são os limites de tamanho das builds para a CrazyGames?&quot;"></a></h3>
<p>O download inicial deve ter no máximo 50 MB, a build completa deve ter no máximo 250 MB — ou 50 MB, caso você não integre o SDK — e todo o conteúdo deve permanecer abaixo de 1.500 arquivos. Os jogos são executados em um iframe responsivo de proporção 16:9 e precisam permanecer legíveis com um devicePixelRatio de 1. Manter o carregamento inicial pequeno é o mais importante, pois uma inicialização lenta prejudica as métricas de conversão e retenção que determinam se você chegará ao Lançamento Completo.</p>
<h3 id="posso-vender-compras-dentro-do-jogo-na-crazygames" tabindex="-1">Posso vender compras dentro do jogo na CrazyGames? <a class="header-anchor" href="#posso-vender-compras-dentro-do-jogo-na-crazygames" aria-label="Permalink to &quot;Posso vender compras dentro do jogo na CrazyGames?&quot;"></a></h3>
<p>Sim, mas somente mediante convite. As compras dentro do jogo são processadas pela Xsolla por meio da própria conta da CrazyGames, para que cada compra seja automaticamente vinculada ao ID do jogador na CrazyGames. Em geral, você recebe o convite depois que seu jogo apresenta um bom desempenho com a monetização por anúncios. Portanto, planeje lançar primeiro com anúncios e adicionar compras posteriormente, em vez de criar toda a economia do jogo em torno de compras no aplicativo desde o primeiro dia.</p>
<BuildCta
  title="Precisa de um jogo pronto para a web para enviar?"
  desc="Crie um jogo 3D jogável a partir de uma única frase e exporte uma build HTML5 independente para a ferramenta de controle de qualidade da CrazyGames."
  prompt="Crie um jogo de arena multijogador no estilo .io, com carregamento rápido, que eu possa publicar na CrazyGames" />
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/publish-web-game.html">Como publicar um jogo para a web</a> — a lista completa de portais e plataformas para jogos de navegador</li>
<li><a href="/pt-BR/guides/publish-game-poki.html">Publique seu jogo no Poki</a> — o outro grande portal de jogos de navegador, em uma comparação lado a lado</li>
<li><a href="/pt-BR/guides/web-game-monetization.html">Monetização de jogos para a web</a> — como funcionam, na prática, os pagamentos de participação na receita de anúncios, compras no aplicativo e vídeos recompensados</li>
<li><a href="/pt-BR/guides/itch-io-launch-guide.html">Lance seu jogo no itch.io</a> — a alternativa aberta e sem barreiras na qual você define seus próprios termos</li>
<li><a href="/pt-BR/guides/promote-indie-game-no-budget.html">Promova um jogo independente sem orçamento</a> — como atrair seu próprio tráfego quando o portal não é suficiente</li>
<li><a href="/pt-BR/tutorials/ship-web-game-fast.html">Lance um jogo para a web que carregue rapidamente</a> — como respeitar o limite de carregamento inicial de 50 MB imposto pela CrazyGames</li>
<li><a href="/pt-BR/guides/multiplayer-browser-game.html">Crie um jogo multijogador para navegador</a> — a proposta no estilo .io que apresenta o melhor desempenho na CrazyGames</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/publish-game-crazygames-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Como Publicar um Jogo nas Atividades do Discord (2026)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/publish-game-discord-activities</link>
            <guid>https://app.cinevva.com/pt-BR/guides/publish-game-discord-activities</guid>
            <pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Como publicar um jogo nas Atividades do Discord em 2026 — SDK de Aplicativos Incorporados, restrições de iframe e proxy, recursos multijogador, monetização e a realidade da descoberta.]]></description>
            <content:encoded><![CDATA[<h1 id="como-publicar-um-jogo-nas-atividades-do-discord-2026" tabindex="-1">Como Publicar um Jogo nas Atividades do Discord (2026) <a class="header-anchor" href="#como-publicar-um-jogo-nas-atividades-do-discord-2026" aria-label="Permalink to &quot;Como Publicar um Jogo nas Atividades do Discord (2026)&quot;"></a></h1>
<p><em>Última atualização: julho de 2026.</em></p>
<p>Sim, você pode publicar um jogo no Discord, e esse formato é chamado de Atividade. Uma Atividade é um aplicativo web executado dentro do cliente do Discord, incorporado em um iframe que pode ser aberto em um canal de voz, um canal de texto ou uma mensagem direta. Você o desenvolve com o <a href="https://github.com/discord/embedded-app-sdk" target="_blank" rel="noreferrer">SDK de Aplicativos Incorporados do Discord</a>, um kit JavaScript lançado inicialmente em 2024 e que continua recebendo atualizações (a v2.5.0 chegou em <a href="https://github.com/discord/embedded-app-sdk/releases" target="_blank" rel="noreferrer">5 de maio de 2026</a>). Se o seu jogo já roda em um navegador, a maior parte do trabalho consiste em hospedá-lo, informar ao Discord onde ele está e usar o SDK para obter o usuário atual e as outras pessoas no canal.</p>
<p>Em resumo: crie um aplicativo no Portal de Desenvolvedores do Discord, ative o recurso de Atividades, hospede sua versão web em algum lugar público, adicione um mapeamento de URL para que o proxy do Discord possa servi-la e use o SDK para autenticar o jogador e consultar a lista de participantes. Isso já permite criar uma Atividade funcional que seus amigos podem abrir. Fazer com que outras pessoas a encontrem é a parte mais difícil, pois o Discord não tem uma loja para “explorar todos os jogos”, e falaremos com franqueza sobre isso abaixo.</p>
<h2 id="referencia-rapida" tabindex="-1">Referência rápida <a class="header-anchor" href="#referencia-rapida" aria-label="Permalink to &quot;Referência rápida&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>O que é</strong></td>
<td>Um aplicativo web (seu jogo) executado em um iframe dentro do Discord, que pode ser aberto em canais de voz, canais de texto e mensagens diretas</td>
</tr>
<tr>
<td><strong>Tecnologias</strong></td>
<td>Qualquer versão web (HTML5/WebGL, Unity WebGL, exportação web do Godot), mais o <a href="https://www.npmjs.com/package/@discord/embedded-app-sdk" target="_blank" rel="noreferrer">SDK de Aplicativos Incorporados</a> para autenticação e participantes</td>
</tr>
<tr>
<td><strong>Hospedagem</strong></td>
<td>Você hospeda a versão por conta própria; o Discord a encaminha por <code>discordsays.com</code> sob uma CSP rigorosa</td>
</tr>
<tr>
<td><strong>Monetização</strong></td>
<td>Compras nativas dentro do aplicativo (assinaturas + itens avulsos). A taxa de plataforma do Discord é de <a href="https://support-dev.discord.com/hc/en-us/articles/17299902720919-Premium-Apps-Payout" target="_blank" rel="noreferrer">15% sobre seu primeiro US$ 1 milhão e depois 30%</a>, além do processamento de pagamentos</td>
</tr>
<tr>
<td><strong>Descoberta</strong></td>
<td>Inicializador de Aplicativos, perfil no Diretório de Aplicativos (após a verificação) e, principalmente, boca a boca. Não há uma área global para explorar todos os jogos</td>
</tr>
<tr>
<td><strong>Custo de publicação</strong></td>
<td>A criação do aplicativo é gratuita; você paga pela própria hospedagem e por eventuais servidores de jogo</td>
</tr>
</tbody>
</table>
<h2 id="o-que-sao-as-atividades-em-2026" tabindex="-1">O que são as Atividades em 2026 <a class="header-anchor" href="#o-que-sao-as-atividades-em-2026" aria-label="Permalink to &quot;O que são as Atividades em 2026&quot;"></a></h2>
<p>Uma Atividade não é um jogo nativo que você envia para a plataforma. É o seu site, executado ao vivo, que o Discord carrega dentro de um frame isolado enquanto as pessoas passam tempo juntas. O SDK fica entre sua página e o cliente do Discord e cuida da integração social: quem está aqui, quem sou eu, em qual canal estamos e o fluxo OAuth para obter um token confiável (<a href="https://docs.discord.com/developers/developer-tools/embedded-app-sdk" target="_blank" rel="noreferrer">referência do SDK</a>).</p>
<p>Isso importa mais em 2026 do que na época do lançamento porque o Discord passou a investir intensamente em jogos como categoria. Aplicativos e Atividades agora são usados por mais de 25% dos usuários ativos mensais do Discord e, no fim de 2025, havia mais de 10 mil comunidades de jogos na plataforma, com mais de 80 milhões de membros no total (<a href="https://discord.com/press-releases/discord-deepens-its-ability-to-drive-growth-for-games" target="_blank" rel="noreferrer">comunicado do Discord, GDC 2026</a>). Algumas Atividades conquistaram uma adesão significativa entre esse público. Death by AI, da Playroom, atingiu um pico de cerca de 700 mil usuários ativos por dia e aproximadamente 7 milhões de jogadores em poucas semanas, com mais de 70% das sessões reunindo três ou mais amigos. Chef Showdown, da Mojiworks, foi jogado por mais de 14 milhões de pessoas, que passam cerca de três vezes mais tempo no jogo do que em outras plataformas. Krunker Strike FRVR mais que dobrou sua base de jogadores depois de ser lançado como uma Atividade (<a href="https://a16z.com/discord-activities-social-gaming/" target="_blank" rel="noreferrer">a16z</a>, <a href="https://discord.com/press-releases/discord-deepens-its-ability-to-drive-growth-for-games" target="_blank" rel="noreferrer">Discord</a>). O padrão em todos esses casos é social, casual e multijogador desde o primeiro instante. Esse é o formato de jogo que funciona por aqui.</p>
<h2 id="como-configurar-uma-atividade" tabindex="-1">Como configurar uma Atividade <a class="header-anchor" href="#como-configurar-uma-atividade" aria-label="Permalink to &quot;Como configurar uma Atividade&quot;"></a></h2>
<p>Comece pelo <a href="https://discord.com/developers/build" target="_blank" rel="noreferrer">Portal de Desenvolvedores do Discord</a>. Crie um novo aplicativo e ative a permissão de Atividades para ele na seção Activities. Seu jogo precisa estar acessível por uma URL HTTPS pública, então hospede a versão web onde você já costuma hospedar seus projetos (Cloudflare Pages, Vercel, Netlify ou uma hospedagem estática comum).</p>
<p>A etapa que costuma confundir as pessoas é o mapeamento de URLs. O Discord não carrega seu site diretamente. Ele encaminha todas as solicitações por um proxy em <code>https://&lt;your-app-id&gt;.discordsays.com</code> para ocultar os endereços IP dos jogadores e bloquear endpoints reconhecidamente maliciosos (<a href="https://docs.discord.com/developers/activities/development-guides/networking" target="_blank" rel="noreferrer">documentação de rede do Discord</a>). No Portal de Desenvolvedores, você mapeia um prefixo de caminho para seu host real, de forma que <code>/</code> aponte para o jogo e, por exemplo, <code>/api</code> aponte para o backend. Tudo que seu jogo tentar buscar sem um mapeamento será bloqueado. Para solicitações que só aparecem em tempo de execução, a API <code>patchUrlMappings</code> do SDK as reescreve dinamicamente, fazendo com que sua versão de desenvolvimento e a versão de produção encaminhada pelo proxy se comportem da mesma forma (<a href="https://github.com/discord/embedded-app-sdk/blob/main/patch-url-mappings.md" target="_blank" rel="noreferrer">guia de patch-url-mappings</a>).</p>
<p>Depois de configurar a hospedagem e o mapeamento, integre o SDK. Você chama <code>discordSdk.ready()</code> para confirmar que o frame está conectado e depois <code>authorize()</code> e <code>authenticate()</code> para executar o fluxo OAuth e obter um token que identifica o jogador (<a href="https://docs.discord.com/developers/developer-tools/embedded-app-sdk" target="_blank" rel="noreferrer">referência do SDK</a>). A partir daí, você pode consultar os participantes do canal e desenvolver seu jogo em torno deles. Faça o teste abrindo a Atividade em um canal de voz real com o aplicativo instalado. A documentação do Discord e os modelos da comunidade para <a href="https://robojs.dev/discord-activities/proxy" target="_blank" rel="noreferrer">Robo.js</a> e configurações com JavaScript puro ajudam você a sair de um repositório vazio para um frame em execução em uma tarde.</p>
<h2 id="restricoes-tecnicas" tabindex="-1">Restrições técnicas <a class="header-anchor" href="#restricoes-tecnicas" aria-label="Permalink to &quot;Restrições técnicas&quot;"></a></h2>
<p>Como uma Atividade é uma página web em um iframe com fortes restrições, ela está sujeita tanto às limitações da web quanto às regras de segurança do Discord. As Atividades são executadas sob uma Política de Segurança de Conteúdo restritiva, e todas as solicitações de rede precisam passar pelo proxy <code>discordsays.com</code>. Uma chamada direta para um domínio externo que você não mapeou falha com um erro <code>blocked:csp</code> (<a href="https://blog.waveplay.com/discord-proxy-csp-patch/" target="_blank" rel="noreferrer">observações sobre o proxy do Discord</a>). Isso causa mais problemas quando um módulo npm de terceiros faz chamadas silenciosas para sua própria CDN ou API. Você precisa mapear o domínio ou aplicar um patch à solicitação.</p>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 300" role="img" aria-label="Fluxo de solicitações de uma Atividade do Discord: o iframe do seu jogo envia todas as solicitações ao proxy discordsays.com; uma solicitação para um host mapeado é permitida e atendida, enquanto uma solicitação para um host externo não mapeado é bloqueada com um erro blocked:csp" style="width:100%;height:auto;max-width:720px;margin:1.5rem auto;display:block;border-radius:14px">
  <defs>
    <marker id="ah-g" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path d="M0 0 L10 5 L0 10 z" fill="#6ee7b7"/></marker>
    <marker id="ah-r" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path d="M0 0 L10 5 L0 10 z" fill="#fb7185"/></marker>
    <marker id="ah-b" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path d="M0 0 L10 5 L0 10 z" fill="#c8a8ff"/></marker>
  </defs>
  <rect width="720" height="300" rx="14" fill="#0b1020"/>
  <text x="32" y="44" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="20" font-weight="800" fill="#e8edf5">Todas as solicitações passam pelo proxy</text>
  <text x="32" y="68" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="13" fill="#9aa7b4">Mapeie um host para atendê-lo. Sem o mapeamento, a CSP do Discord o bloqueia.</text>
  <g font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif">
    <rect x="24" y="150" width="160" height="70" rx="12" fill="#121a31" stroke="#7dd3fc" stroke-width="1.5"/>
    <text x="104" y="181" text-anchor="middle" font-size="14" font-weight="800" fill="#e8edf5">Seu jogo</text>
    <text x="104" y="200" text-anchor="middle" font-size="11.5" fill="#9aa7b4">iframe no Discord</text>
    <rect x="262" y="150" width="182" height="70" rx="12" fill="#121a31" stroke="#c8a8ff" stroke-width="1.5"/>
    <text x="353" y="181" text-anchor="middle" font-size="14" font-weight="800" fill="#c8a8ff">discordsays.com</text>
    <text x="353" y="200" text-anchor="middle" font-size="11.5" fill="#9aa7b4">proxy + CSP</text>
    <rect x="524" y="94" width="172" height="66" rx="12" fill="#121a31" stroke="#6ee7b7" stroke-width="1.5"/>
    <text x="610" y="122" text-anchor="middle" font-size="14" font-weight="800" fill="#6ee7b7">Seu host mapeado</text>
    <text x="610" y="141" text-anchor="middle" font-size="11.5" fill="#9aa7b4">atendido &#10003;</text>
    <rect x="524" y="210" width="172" height="66" rx="12" fill="#121a31" stroke="#fb7185" stroke-width="1.5"/>
    <text x="610" y="238" text-anchor="middle" font-size="14" font-weight="800" fill="#fb7185">Host não mapeado</text>
    <text x="610" y="257" text-anchor="middle" font-size="11.5" fill="#9aa7b4">blocked:csp &#10007;</text>
    <path d="M184 185 H256" fill="none" stroke="#c8a8ff" stroke-width="2.5" marker-end="url(#ah-b)"/>
    <path d="M444 176 C486 176 486 127 518 127" fill="none" stroke="#6ee7b7" stroke-width="2.5" marker-end="url(#ah-g)"/>
    <path d="M444 194 C486 194 486 243 518 243" fill="none" stroke="#fb7185" stroke-width="2.5" marker-end="url(#ah-r)"/>
    <text x="470" y="112" font-size="11" font-weight="700" fill="#6ee7b7">mapeado</text>
    <text x="470" y="270" font-size="11" font-weight="700" fill="#fb7185">não mapeado</text>
  </g>
</svg>
<p>Quanto à compatibilidade com engines, se ela compila para a web, pode ser uma Atividade. HTML5 e WebGL puros funcionam. A exportação WebGL do Unity funciona, e a comunidade mantém <a href="https://www.supertorio.dev/creating-a-unity-discord-activity/" target="_blank" rel="noreferrer">wrappers e modelos do SDK para Unity</a>, já que o Discord apenas encaminha a versão WebGL servida para dentro do frame. A exportação web do Godot funciona da mesma forma, e há <a href="https://github.com/TheSleepyKoala/Svelcordot" target="_blank" rel="noreferrer">modelos prontos</a> que combinam o Godot com uma hospedagem web. Engines nativas sem suporte a navegadores simplesmente não podem ser usadas em Atividades. Mantenha o carregamento inicial pequeno, pois um download WebGL pesado dentro de uma janela de chat faz as pessoas desistirem mais rápido do que em uma página de loja.</p>
<p>A experiência mobile faz parte do projeto, não é algo a ser considerado depois. As Atividades funcionam nos clientes para desktop, web e dispositivos móveis do Discord, portanto desenvolva desde o início para toque e orientação vertical, em vez de presumir o uso de teclado e mouse.</p>
<h2 id="recursos-multijogador-e-sociais" tabindex="-1">Recursos multijogador e sociais <a class="header-anchor" href="#recursos-multijogador-e-sociais" aria-label="Permalink to &quot;Recursos multijogador e sociais&quot;"></a></h2>
<p>Esse é o verdadeiro motivo para estar no Discord. A plataforma oferece a você um grupo de amigos que já está reunido em um canal de voz — exatamente o cenário que a maioria dos jogos multijogador gasta uma fortuna tentando criar. O SDK fornece gratuitamente a lista e a identidade dos participantes, então transformar “todos nesta chamada” em jogadores da sua partida exige poucas linhas de código, não um sistema de matchmaking.</p>
<p>Ainda é sua responsabilidade executar o estado do jogo em tempo real. O SDK de Aplicativos Incorporados cuida de identidade e presença, não do seu código de rede, então você precisará combiná-lo com um servidor de jogo. A <a href="https://colyseus.io/blog/discord-embedded-sdk/" target="_blank" rel="noreferrer">Colyseus explicou como sua solução se encaixa por trás de uma Atividade do Discord</a>, e as mesmas opções apresentadas em nosso <a href="/pt-BR/guides/multiplayer-browser-game.html">guia de jogos multijogador para navegador</a> se aplicam: use WebSockets para lançar rapidamente e um servidor autoritativo para manter simples a prevenção de trapaças e a definição da fonte oficial do estado. Lembre-se apenas de que seu servidor de jogo é mais um host externo, portanto ele precisa de um mapeamento de URL como todos os outros.</p>
<p>Aproveite o contexto social. As Atividades que se destacaram são aquelas em que jogar em grupo é o objetivo principal, não um modo opcional. Jogos de festa, jogos de desenho, perguntas e respostas, rodadas competitivas rápidas — qualquer experiência em que entrar e jogar com as pessoas que já estão na chamada seja mais divertido do que jogar sozinho.</p>
<h2 id="a-realidade-da-monetizacao" tabindex="-1">A realidade da monetização <a class="header-anchor" href="#a-realidade-da-monetizacao" aria-label="Permalink to &quot;A realidade da monetização&quot;"></a></h2>
<p>O Discord oferece suporte a compras nativas dentro das Atividades, permitindo que você venda sem enviar os jogadores para um checkout externo. O <a href="https://docs.discord.com/developers/monetization/implementing-iap-for-activities" target="_blank" rel="noreferrer">sistema de compras dentro do aplicativo para Atividades</a> abrange assinaturas (por usuário ou servidor) e compras avulsas, disponíveis na forma durável para desbloqueios permanentes e na forma consumível para itens que os jogadores gastam.</p>
<p>Quanto à divisão da receita, mantenha expectativas realistas. A taxa de plataforma do Discord é de 15% sobre seu primeiro US$ 1 milhão em vendas acumuladas e depois sobe para 30% quando você ultrapassa esse limite. Isso não inclui as taxas de processamento de pagamento e transação (<a href="https://support-dev.discord.com/hc/en-us/articles/17299902720919-Premium-Apps-Payout" target="_blank" rel="noreferrer">Pagamentos de Aplicativos Premium, em vigor desde 6 de junho de 2024</a>). Você pode encontrar pela internet a afirmação de que “o Discord fica com 10%”. Encare-a com desconfiança, pois os termos de pagamento documentados são as faixas de 15% e 30% mencionadas acima. Você passa a ter direito ao pagamento depois de acumular US$ 100.
Vale a pena conhecer outros dois elementos do cenário de monetização de 2026, embora eles ainda não sejam voltados para a maioria dos desenvolvedores independentes. A moeda Orbs do Discord, lançada globalmente em <a href="https://www.tweaktown.com/news/105500/discord-rewards-users-for-engaging-with-ads-new-orbs-currency-introduced/index.html" target="_blank" rel="noreferrer">julho de 2025</a>, permite que jogadores ganhem uma moeda virtual comum ao concluir Quests (ações recompensadas de publicidade) e a gastem na Loja do Discord. Trata-se de uma economia publicitária mais voltada para os orçamentos de marketing de grandes jogos do que para uma primeira Atividade. E, na GDC 2026, o Discord expandiu o Social Commerce, uma forma nativa de comprar e presentear itens de jogo dentro dos servidores, apresentada inicialmente com Marvel Rivals em <a href="https://discord.com/blog/bringing-in-game-commerce-to-discord-communities" target="_blank" rel="noreferrer">dezembro de 2025</a>. Aproximadamente 20% das compras na Loja do Discord são presentes e, no lançamento com Marvel Rivals, 41% das compras foram presentes (<a href="https://discord.com/blog/building-on-the-social-layer-of-games-whats-new-from-gdc-2026" target="_blank" rel="noreferrer">resumo da GDC 2026</a>). O Social Commerce está sendo disponibilizado primeiro para um grupo limitado de parceiros, então é uma opção para adotar conforme você cresce, não uma ferramenta disponível desde o primeiro dia.</p>
<h2 id="a-realidade-da-descoberta" tabindex="-1">A realidade da descoberta <a class="header-anchor" href="#a-realidade-da-descoberta" aria-label="Permalink to &quot;A realidade da descoberta&quot;"></a></h2>
<p>Esta é a parte que você precisa assimilar antes de basear seu plano no Discord. Não existe uma loja global para “explorar Atividades” dentro do Discord, como a página inicial do Steam ou de um portal web (<a href="https://www.strayspark.studio/blog/discord-activities-embedded-app-sdk-indie-game-distribution-2026" target="_blank" rel="noreferrer">StraySpark, 14 de maio de 2026</a>). A descoberta acontece nos servidores dos quais as pessoas já participam, por meio de links compartilhados no chat e pelo Inicializador de Aplicativos (o ícone de formas geométricas na parte inferior do cliente), além da página de perfil do seu aplicativo no Diretório de Aplicativos. Esses recursos só aparecem depois que seu aplicativo é verificado e você ativa a Descoberta no Portal do Desenvolvedor (<a href="https://support-dev.discord.com/hc/en-us/articles/21204493235991-How-Can-Users-Discover-and-Play-My-Activity" target="_blank" rel="noreferrer">suporte do Discord</a>).</p>
<p>Na prática, isso significa que uma Atividade não cria um público do nada. Se sua comunidade ainda não está no Discord, publicar uma Atividade não fará uma surgir magicamente. Os jogos que decolaram cresceram ao se espalhar por grupos de amigos já existentes, nos quais uma pessoa inicia o jogo em uma chamada e todo o grupo começa a jogar na mesma hora. Portanto, o ciclo de crescimento que você deve projetar é “uma pessoa compartilha o jogo em um canal”, e não “alguém encontra o jogo enquanto explora um catálogo”. Desenvolva o jogo para que os primeiros 30 segundos com três amigos funcionem como sua apresentação.</p>
<h2 id="vale-a-pena-em-comparacao-com-portais-web" tabindex="-1">Vale a pena em comparação com portais web? <a class="header-anchor" href="#vale-a-pena-em-comparacao-com-portais-web" aria-label="Permalink to &quot;Vale a pena em comparação com portais web?&quot;"></a></h2>
<p>O Discord e os portais web resolvem problemas diferentes, então a resposta geralmente é “os dois, por motivos diferentes”.</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th>Atividades do Discord</th>
<th>Portais web (Poki, CrazyGames, itch.io)</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Público</strong></td>
<td>Amigos que já estão juntos em uma chamada de voz</td>
<td>Desconhecidos procurando um jogo para experimentar</td>
</tr>
<tr>
<td><strong>Descoberta</strong></td>
<td>Boca a boca, sem uma loja para explorar tudo</td>
<td>Tráfego da página inicial e de algoritmos</td>
</tr>
<tr>
<td><strong>Mais indicado para</strong></td>
<td>Jogos sociais, casuais e multijogador instantâneos</td>
<td>Jogos web para um jogador e de amplo alcance</td>
</tr>
<tr>
<td><strong>Monetização</strong></td>
<td>Compras nativas no aplicativo, com taxas de 15%/30%</td>
<td>Participação na receita de anúncios do portal ou suas próprias compras no aplicativo</td>
</tr>
<tr>
<td><strong>Trabalho adicional sobre uma versão web</strong></td>
<td>SDK, mapeamento de proxy, CSP e design social</td>
<td>Geralmente apenas uma incorporação e uma página</td>
</tr>
</tbody>
</table>
<p>Portais como o <a href="/pt-BR/guides/publish-game-poki.html">Poki</a> e o <a href="/pt-BR/guides/publish-game-crazygames.html">CrazyGames</a> enviam desconhecidos para você e colocam seu jogo diante de pessoas que estão procurando ativamente algo novo, o que o Discord não faz. O Discord envia grupos de amigos e oferece um contexto social que torna muito fácil iniciar uma partida multijogador, algo que os portais não fazem. Se o seu jogo é para um jogador, um portal é o melhor primeiro destino. Se é o tipo de experiência que ganha vida com três amigos em uma chamada, vale a pena lidar com a infraestrutura adicional do Discord. A boa notícia é que, como todas essas plataformas executam versões web, um único jogo pode chegar a todos os lugares. Lance-o primeiro como um jogo web e depois adapte-o para cada plataforma.</p>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="posso-publicar-qualquer-jogo-no-discord" tabindex="-1">Posso publicar qualquer jogo no Discord? <a class="header-anchor" href="#posso-publicar-qualquer-jogo-no-discord" aria-label="Permalink to &quot;Posso publicar qualquer jogo no Discord?&quot;"></a></h3>
<p>Somente se ele funcionar em um navegador. Uma Atividade do Discord é um aplicativo web carregado em um iframe, portanto HTML5, WebGL, Unity WebGL e exportações web do Godot são compatíveis, enquanto jogos exclusivamente nativos que não podem ser compilados para a web não são. Você desenvolve o jogo com o Embedded App SDK, hospeda a versão web por conta própria em uma URL pública e a registra como uma Atividade no Portal do Desenvolvedor do Discord. Se o seu jogo já roda em um navegador, a maior parte do caminho está concluída.</p>
<h3 id="e-gratis-publicar-uma-atividade-do-discord" tabindex="-1">É grátis publicar uma Atividade do Discord? <a class="header-anchor" href="#e-gratis-publicar-uma-atividade-do-discord" aria-label="Permalink to &quot;É grátis publicar uma Atividade do Discord?&quot;"></a></h3>
<p>Criar o aplicativo e ativar as Atividades no Portal do Desenvolvedor não custa nada. Seus custos serão a hospedagem da versão web e quaisquer servidores de jogo usados para o modo multijogador, pois o Discord apenas encaminha seu site por um proxy, em vez de hospedá-lo. Se você vender compras no aplicativo, o Discord cobra uma taxa de plataforma de 15% sobre seu primeiro US$ 1 milhão em vendas e 30% depois disso, além das taxas de processamento de pagamentos. Porém, não há nenhuma taxa inicial ou de listagem para publicar.</p>
<h3 id="como-os-jogadores-encontram-minha-atividade-do-discord" tabindex="-1">Como os jogadores encontram minha Atividade do Discord? <a class="header-anchor" href="#como-os-jogadores-encontram-minha-atividade-do-discord" aria-label="Permalink to &quot;Como os jogadores encontram minha Atividade do Discord?&quot;"></a></h3>
<p>Principalmente por meio de amigos. O Discord não tem uma vitrine global para “explorar todas as Atividades”, então a descoberta depende de links compartilhados em canais, de alguém iniciar o jogo em uma chamada de voz e, depois que seu aplicativo for verificado, do seu perfil no Diretório de Aplicativos e do Inicializador de Aplicativos no cliente. As Atividades que cresceram muito fizeram isso ao se espalhar dentro de grupos de amigos existentes, não por serem encontradas em um catálogo. Planeje o crescimento boca a boca e faça com que o primeiro minuto com amigos seja o grande atrativo.</p>
<h3 id="preciso-de-modo-multijogador-para-publicar-uma-atividade" tabindex="-1">Preciso de modo multijogador para publicar uma Atividade? <a class="header-anchor" href="#preciso-de-modo-multijogador-para-publicar-uma-atividade" aria-label="Permalink to &quot;Preciso de modo multijogador para publicar uma Atividade?&quot;"></a></h3>
<p>Não, mas esse é o principal motivo pelo qual a plataforma é interessante. As Atividades podem ser para um jogador, mas a vantagem do Discord é inserir seu jogo em um canal de voz onde os amigos já estão reunidos, enquanto o SDK fornece gratuitamente a lista de participantes. As Atividades de maior sucesso são sociais e oferecem modo multijogador instantâneo. Um jogo para um jogador geralmente terá um desempenho melhor em um portal web que envie tráfego de pessoas explorando jogos.</p>
<h3 id="como-a-monetizacao-das-atividades-do-discord-se-compara-a-dos-portais" tabindex="-1">Como a monetização das Atividades do Discord se compara à dos portais? <a class="header-anchor" href="#como-a-monetizacao-das-atividades-do-discord-se-compara-a-dos-portais" aria-label="Permalink to &quot;Como a monetização das Atividades do Discord se compara à dos portais?&quot;"></a></h3>
<p>O Discord permite vender compras nativas no aplicativo (assinaturas e itens de compra única) sem enviar os jogadores para um checkout externo. Você fica com 85% da receita até atingir US$ 1 milhão em vendas e, depois disso, com 70%, antes das taxas de processamento. Portais web geralmente pagam uma participação na receita de anúncios com base no número de partidas ou permitem que você ofereça suas próprias compras no aplicativo. O modelo do Discord favorece jogos com jogadores engajados que compram itens cosméticos ou desbloqueios, enquanto os portais favorecem jogos que atraem um grande volume de partidas casuais.</p>
<h3 id="quais-sao-as-principais-armadilhas-tecnicas-ao-publicar-no-discord" tabindex="-1">Quais são as principais armadilhas técnicas ao publicar no Discord? <a class="header-anchor" href="#quais-sao-as-principais-armadilhas-tecnicas-ao-publicar-no-discord" aria-label="Permalink to &quot;Quais são as principais armadilhas técnicas ao publicar no Discord?&quot;"></a></h3>
<p>As duas maiores são o proxy e a CSP. Todas as solicitações de rede da sua Atividade passam por <code>discordsays.com</code>, e qualquer domínio externo que você não tenha declarado como um mapeamento de URL será bloqueado. Isso costuma causar problemas quando uma dependência chama discretamente a própria API. Para corrigir, mapeie o domínio ou ajuste a solicitação usando o SDK. Além disso, mantenha o carregamento inicial leve, pois o jogo será executado em uma janela de chat, e projete para telas sensíveis ao toque, já que as Atividades também funcionam em dispositivos móveis.</p>
<BuildCta
  title="Atividades do Discord executam jogos web"
  desc="Crie um jogo 3D jogável no navegador a partir de uma única frase e depois adapte-o para uma Atividade."
  prompt="Crie um jogo de festa rápido em que até quatro amigos competem em rodadas curtas" />
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/multiplayer-browser-game.html">Como criar um jogo multijogador para navegador</a> — o código de rede de que sua Atividade precisa por trás do SDK</li>
<li><a href="/pt-BR/guides/publish-web-game.html">Como publicar um jogo web</a> — lance a versão web que se tornará sua Atividade</li>
<li><a href="/pt-BR/guides/publish-game-poki.html">Como publicar um jogo no Poki</a> — um portal que envia o tráfego de navegação que o Discord não oferece</li>
<li><a href="/pt-BR/guides/publish-game-crazygames.html">Como publicar um jogo no CrazyGames</a> — outro portal web para alcançar um público amplo</li>
<li><a href="/pt-BR/guides/web-game-monetization.html">Monetização de jogos web</a> — como as compras no aplicativo e a receita de anúncios no Discord se comparam às dos portais</li>
<li><a href="/pt-BR/guides/co-op-game-design.html">Design de jogos cooperativos</a> — como projetar os elementos sociais que fazem as Atividades se espalharem</li>
<li><a href="/pt-BR/tutorials/iframe-embedding-games.html">Incorporação de jogos com iframe</a> — a base técnica de como o Discord enquadra seu jogo</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/publish-game-discord-activities-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Como publicar seu jogo no Poki (2026)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/publish-game-poki</link>
            <guid>https://app.cinevva.com/pt-BR/guides/publish-game-poki</guid>
            <pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[O Poki funciona apenas por convite e é financiado por anúncios. Veja como enviar seu jogo web, passar no Web Fit Test, cumprir os requisitos técnicos e entender a divisão da receita.]]></description>
            <content:encoded><![CDATA[<h1 id="como-publicar-seu-jogo-no-poki-2026" tabindex="-1">Como publicar seu jogo no Poki (2026) <a class="header-anchor" href="#como-publicar-seu-jogo-no-poki-2026" aria-label="Permalink to &quot;Como publicar seu jogo no Poki (2026)&quot;"></a></h1>
<p><em>Última atualização: julho de 2026.</em></p>
<p>Para publicar seu jogo no Poki, você precisa enviá-lo pelo portal <a href="https://developers.poki.com/" target="_blank" rel="noreferrer">Poki for Developers</a>, onde uma equipe avalia cada jogo e decide se ele é adequado à plataforma. Não existe um botão aberto de upload nem a opção “publicar agora”. Você cria uma conta de desenvolvedor, envia uma build HTML5 que atenda aos requisitos técnicos do Poki — download inicial inferior a 8 MB, canvas 16:9 adaptável a computadores e dispositivos móveis e integração correta com o SDK do Poki — e então seu jogo avança por um funil de testes em etapas: Player Fit Test, Web Fit Test e uma análise final antes do lançamento global.</p>
<p>O Poki é uma plataforma com curadoria de jogos web, não uma loja, então ser aceito se parece mais com apresentar um projeto a uma publicadora do que enviar um jogo ao itch.io. A vantagem é que o Poki cuida da distribuição para você. A plataforma recebeu <a href="https://markets.financialcontent.com/stocks/article/accwirecq-2026-3-20-poki-announces-milestone-of-625-million-players-without-raising-external-funding" target="_blank" rel="noreferrer">625 milhões de jogadores em 2025</a> e conta com <a href="https://www.superjumpmagazine.com/what-pokis-100-million-monthly-gamers-reveal-about-the-future-of-browser-games/" target="_blank" rel="noreferrer">mais de 100 milhões de jogadores mensais</a>, tudo isso com uma equipe de 65 pessoas que nunca recebeu investimento externo. Você oferece um bom jogo web que prenda a atenção dos jogadores nos primeiros três minutos, e o Poki o coloca diante de um público do tamanho da base de uma rede de consoles. Este guia explica como o envio realmente funciona, quais são os requisitos técnicos, como você recebe e por que alguns jogos são rejeitados.</p>
<h2 id="resumo-rapido" tabindex="-1">Resumo rápido <a class="header-anchor" href="#resumo-rapido" aria-label="Permalink to &quot;Resumo rápido&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th>Poki</th>
</tr>
</thead>
<tbody>
<tr>
<td>Modelo de envio</td>
<td>Com curadoria, semelhante a um sistema por convite. Todos os jogos passam por análise humana. Não há upload aberto</td>
</tr>
<tr>
<td>Custo para enviar</td>
<td>Grátis</td>
</tr>
<tr>
<td>Modelo de receita</td>
<td>Divisão da receita de anúncios. <a href="https://developers.poki.com/guide/monetization" target="_blank" rel="noreferrer">100% da receita do tráfego que você atrai e divisão de 50/50 do tráfego trazido pelo Poki</a></td>
</tr>
<tr>
<td>Forma de pagamento</td>
<td>Transferência bancária ou PayPal, na moeda escolhida</td>
</tr>
<tr>
<td>Tecnologia</td>
<td>HTML5. Download inicial <a href="https://sdk.poki.com/new-requirements" target="_blank" rel="noreferrer">inferior a 8 MB</a>, canvas 16:9 e SDK do Poki obrigatório</td>
</tr>
<tr>
<td>Funil de análise</td>
<td>Player Fit Test, depois Web Fit Test (<a href="https://sdk.poki.com/web-fit-test" target="_blank" rel="noreferrer">cerca de 3 a 5 dias</a>) e, por fim, análise final</td>
</tr>
<tr>
<td>Prazo até o lançamento global</td>
<td>Aproximadamente 2 a 3 semanas de <a href="https://sdk.poki.com/releaseprocess" target="_blank" rel="noreferrer">lançamento limitado</a> após a aprovação nos testes</td>
</tr>
</tbody>
</table>
<h2 id="o-que-e-o-poki-e-por-que-vale-a-pena-tentar" tabindex="-1">O que é o Poki e por que vale a pena tentar <a class="header-anchor" href="#o-que-e-o-poki-e-por-que-vale-a-pena-tentar" aria-label="Permalink to &quot;O que é o Poki e por que vale a pena tentar&quot;"></a></h2>
<p>O Poki é o maior nome dos jogos web. Ele funciona inteiramente no navegador, sem download nem loja de aplicativos, e é voltado a jogos casuais que as pessoas jogam em sessões curtas. A escala é o principal motivo para prestar atenção. O Poki anunciou ter alcançado <a href="https://markets.financialcontent.com/stocks/article/accwirecq-2026-3-20-poki-announces-milestone-of-625-million-players-without-raising-external-funding" target="_blank" rel="noreferrer">625 milhões de jogadores em 2025</a> e ultrapassa <a href="https://www.superjumpmagazine.com/what-pokis-100-million-monthly-gamers-reveal-about-the-future-of-browser-games/" target="_blank" rel="noreferrer">100 milhões de jogadores mensais</a>, colocando-se no mesmo patamar de discussão da PlayStation Network. Os jogos de sucesso por lá alcançam números enormes: Subway Surfers ultrapassou um bilhão de partidas na plataforma, enquanto títulos como Stickman Hook, com mais de 500 milhões de partidas, e Monkey Mart, com cerca de 300 milhões, mostram como é um jogo web de sucesso, segundo o <a href="https://www.gamedeveloper.com/business/the-huge-hidden-web-game-market-no-one-talks-about-and-how-to-get-in-" target="_blank" rel="noreferrer">Game Developer</a>.</p>
<p>A contrapartida é o controle. No itch.io, você mesmo publica e divulga seu jogo. No Poki, a equipe faz a curadoria do catálogo e cuida da distribuição, então você troca independência por alcance. Esse modelo só funciona se o jogo atingir os padrões da plataforma, que são o assunto do restante deste guia.</p>
<h2 id="o-processo-de-envio-passo-a-passo" tabindex="-1">O processo de envio, passo a passo <a class="header-anchor" href="#o-processo-de-envio-passo-a-passo" aria-label="Permalink to &quot;O processo de envio, passo a passo&quot;"></a></h2>
<p>Você começa no <a href="https://developers.poki.com/" target="_blank" rel="noreferrer">Poki for Developers</a>, o portal onde ficam as informações da sua equipe e seus jogos. Você cria uma conta e envia o jogo pelo formulário. O Poki se define como uma plataforma com curadoria manual: a equipe verifica cada envio e decide se ele é adequado, portanto receber um “não” ou não receber resposta é um resultado normal, não um erro.</p>
<p>Se o Poki quiser prosseguir, seu jogo passará por um funil em etapas documentado no <a href="https://sdk.poki.com/what-is-p4d" target="_blank" rel="noreferrer">site Poki for Developers</a>: você adiciona o jogo, coleta as primeiras opiniões dos jogadores e depois passa pelo Player Fit Test, pelo Web Fit Test e por uma análise final do Poki. Cada etapa existe para responder a uma pergunta com jogadores reais antes que o Poki direcione seu tráfego ao seu jogo: as pessoas realmente continuam jogando?</p>
<p>O Player Fit Test é a primeira barreira de verdade. Um desenvolvedor que documentou seu caminho até a publicação descreve o requisito como <a href="https://kuyimobile.substack.com/p/my-game-production-process-and-how" target="_blank" rel="noreferrer">125 de 500 jogadores (25%) jogando por pelo menos 3 minutos</a>. Se jogadores suficientes permanecerem, você avança para o Web Fit Test, que apresenta o jogo a um grupo maior por <a href="https://sdk.poki.com/web-fit-test" target="_blank" rel="noreferrer">cerca de 3 a 5 dias, segundo a documentação do Poki</a>, embora alguns desenvolvedores relatem algo mais próximo de uma semana. Se você passar, o Poki entrará em contato para conduzir o jogo até o lançamento.</p>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 380" role="img" aria-label="O funil de envio do Poki: envio pelo portal de desenvolvedores, seguido pelo Player Fit Test, no qual 125 de 500 testadores (25 por cento) precisam jogar por 3 minutos ou mais; depois, um Web Fit Test de 3 a 5 dias; em seguida, um lançamento limitado de 2 a 3 semanas visando pelo menos um anúncio por usuário ativo diário; e, por fim, o lançamento global com cerca de 2 semanas de destaque" style="width:100%;height:auto;max-width:720px;margin:1.5rem auto;display:block;border-radius:14px">
  <rect width="720" height="380" rx="14" fill="#0b1020"/>
  <text x="32" y="44" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="20" font-weight="800" fill="#e8edf5">O funil de envio do Poki</text>
  <text x="32" y="68" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="13" fill="#9aa7b4">Cada etapa é uma barreira. Jogadores reais decidem antes que o Poki direcione seu tráfego.</text>
  <g font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif">
    <g transform="translate(80,92)">
      <rect width="600" height="42" rx="9" fill="#7dd3fc"/>
      <text x="18" y="19" font-size="14" font-weight="800" fill="#0b1020">1 · Envio pelo portal de desenvolvedores</text>
      <text x="18" y="35" font-size="11.5" fill="#0b1020" fill-opacity="0.72">Crie uma conta e envie a build HTML5. Análise humana, sem upload aberto.</text>
    </g>
    <g transform="translate(80,148)">
      <rect width="500" height="42" rx="9" fill="#c8a8ff"/>
      <text x="18" y="19" font-size="14" font-weight="800" fill="#0b1020">2 · Player Fit Test</text>
      <text x="18" y="35" font-size="11.5" fill="#0b1020" fill-opacity="0.72">125 de 500 testadores (25%) precisam jogar por pelo menos 3 minutos.</text>
    </g>
    <g transform="translate(80,204)">
      <rect width="410" height="42" rx="9" fill="#a9b4ff"/>
      <text x="18" y="19" font-size="14" font-weight="800" fill="#0b1020">3 · Web Fit Test</text>
      <text x="18" y="35" font-size="11.5" fill="#0b1020" fill-opacity="0.72">Grupo maior de jogadores, durante 3 a 5 dias.</text>
    </g>
    <g transform="translate(80,260)">
      <rect width="340" height="42" rx="9" fill="#f0abfc"/>
      <text x="18" y="19" font-size="14" font-weight="800" fill="#0b1020">4 · Lançamento limitado</text>
      <text x="18" y="35" font-size="11.5" fill="#0b1020" fill-opacity="0.72">2 a 3 semanas. Meta de ≥1 anúncio por usuário ativo diário.</text>
    </g>
    <g transform="translate(80,316)">
      <rect width="300" height="42" rx="9" fill="#6ee7b7"/>
      <text x="18" y="19" font-size="14" font-weight="800" fill="#0b1020">5 · Lançamento global</text>
      <text x="18" y="35" font-size="11.5" fill="#0b1020" fill-opacity="0.72">Cerca de 2 semanas em destaque.</text>
    </g>
  </g>
</svg>
<h2 id="lancamento-limitado-e-distribuicao-global" tabindex="-1">Lançamento limitado e distribuição global <a class="header-anchor" href="#lancamento-limitado-e-distribuicao-global" aria-label="Permalink to &quot;Lançamento limitado e distribuição global&quot;"></a></h2>
<p>Passar nos testes de adequação não coloca seu jogo diretamente na página inicial. Primeiro, o Poki realiza um lançamento limitado. Segundo a <a href="https://sdk.poki.com/releaseprocess" target="_blank" rel="noreferrer">documentação do processo de lançamento</a>, normalmente são necessárias de uma a duas semanas para agendar o lançamento limitado, que depois dura cerca de duas a três semanas. Durante esse período, o jogo aparece em páginas de categorias relevantes, mas não nas páginas iniciais, e você acompanha um conjunto específico de métricas no painel: conversão em partidas, engajamento, erros e monetização. Para esta última, o Poki recomenda buscar pelo menos um anúncio por usuário ativo diário, com uma combinação equilibrada de vídeos durante a partida e vídeos recompensados.</p>
<p>O lançamento limitado é a etapa em que você faz ajustes. É possível publicar novas versões e executar testes A/B enquanto o jogo está disponível para um público menor, ajustando a retenção e o ritmo dos anúncios antes da grande campanha. Quando as métricas do lançamento limitado estiverem fortes, o jogo segue para o lançamento global, e o sistema de promoção do Poki o destaca em páginas iniciais localizadas, páginas de categorias e páginas de jogos, com o que a documentação chama de uma grande campanha de aproximadamente duas semanas, além de um ícone de fogo indicando “novo”.</p>
<h2 id="requisitos-tecnicos-que-voce-precisa-cumprir" tabindex="-1">Requisitos técnicos que você precisa cumprir <a class="header-anchor" href="#requisitos-tecnicos-que-voce-precisa-cumprir" aria-label="Permalink to &quot;Requisitos técnicos que você precisa cumprir&quot;"></a></h2>
<p>A <a href="https://sdk.poki.com/new-requirements" target="_blank" rel="noreferrer">página de requisitos</a> do Poki é específica, e deixar de cumprir qualquer um deles é uma forma rápida de ser rejeitado. O principal número é o tamanho: busque um download inicial inferior a 8 MB. Jogadores da web não esperam um carregamento demorado, e essa é a restrição em que a maioria das conversões de jogos para console ou dispositivos móveis falha.</p>
<p>Seu jogo precisa se ajustar a um canvas 16:9 e ser dimensionado corretamente em diferentes dispositivos. O Poki lista as dimensões proporcionais 640x360, 836x470 e 1031x580, e o jogo deve ocupar todo o canvas em computadores, celulares e tablets. Em celulares, ele deve preencher a tela na orientação vertical, horizontal ou em ambas. Tablets devem usar o esquema de controles para dispositivos móveis, não o de computadores.</p>
<p>Você precisa integrar corretamente o SDK do Poki, e os eventos do SDK não são meramente opcionais. <code>gameplayStart()</code> deve ser acionado na primeira interação do jogador, nunca durante o carregamento, enquanto <code>gameplayStop()</code> deve ser acionado em qualquer interrupção, como uma pausa, um menu ou o fim de uma fase. Esses eventos não podem ser acionados consecutivamente, e nenhum evento de anúncio deve ser acionado durante um vídeo no meio da partida ou um vídeo recompensado. O Poki usa esses sinais para posicionar anúncios e medir os testes de adequação, portanto configurá-los incorretamente prejudica ambos.</p>
<p>Há mais alguns pontos que costumam causar problemas. O Poki <a href="https://sdk.poki.com/new-requirements" target="_blank" rel="noreferrer">bloqueia todas as solicitações externas por padrão</a>, então você precisa incluir tudo no pacote: nada de Google Fonts, CDNs de assets ou bibliotecas externas de código carregadas em tempo de execução. Somente o sistema de anúncios do próprio Poki é permitido, portanto remova qualquer outro SDK de anúncios ou rastreamento — rastreadores externos precisam da aprovação prévia do Poki. Seu jogo deve funcionar no modo anônimo, o que significa envolver o acesso a <code>localStorage</code> em try/catch para que uma chamada de armazenamento bloqueada não interrompa o jogo. Para o lançamento global, você também precisa de uma miniatura estática e outra animada. Antes de enviar, remova todo código de depuração, ferramentas de desenvolvimento e artefatos de teste.</p>
<p>Quanto às engines, o Poki não se importa com a ferramenta usada, desde que ela exporte HTML5 corretamente. A seção de <a href="https://sdk.poki.com/faq" target="_blank" rel="noreferrer">perguntas frequentes</a> lista suporte do SDK para HTML5, Defold, Unity, GameMaker, Phaser 3, Godot, Cocos, Construct 3 e GDevelop, além de uma ferramenta para converter jogos antigos em Flash para HTML5. O Unity funciona, mas é a opção mais difícil para respeitar o limite de 8 MB: você precisará seguir as orientações de otimização do Poki e exportar uma build WASM para ter alguma chance de atingir esse limite.</p>
<p>Se você cria jogos com o Cinevva, grande parte disso já está resolvida. O Cinevva exporta uma build HTML5 autocontida, com os assets incluídos, exatamente no formato que o Poki procura. Assim, em vez de lutar para reduzir o tamanho de uma engine pesada, você pode se concentrar em conectar os eventos do SDK e ajustar a retenção.</p>
<h2 id="como-os-desenvolvedores-recebem" tabindex="-1">Como os desenvolvedores recebem <a class="header-anchor" href="#como-os-desenvolvedores-recebem" aria-label="Permalink to &quot;Como os desenvolvedores recebem&quot;"></a></h2>
<p>O modelo do Poki é <a href="https://developers.poki.com/guide/monetization" target="_blank" rel="noreferrer">inteiramente baseado em anúncios</a>, o que significa que você não precisa lidar com integração de pagamentos nem compras dentro do jogo. Você recebe uma parcela da receita de anúncios, e a divisão depende da origem do jogador. Se um jogador chegar diretamente ao seu jogo por um favorito, uma pesquisa, redes sociais ou sua própria comunidade, você fica com 100% da receita gerada por ele. Se o jogador chegar ao seu jogo pelo Poki.com ou por uma ação de marketing do Poki, a receita é dividida igualmente, 50/50, entre você e o Poki. Essa estrutura recompensa discretamente quem leva seu próprio público: para você, o tráfego que você atrai vale o dobro do tráfego trazido pelo Poki.</p>
<p>O Poki faz pagamentos por transferência bancária ou PayPal, e você pode configurar seus dados de cobrança e a moeda de preferência no portal de desenvolvedores. Além da divisão direta da receita, o Poki também firma acordos de licenciamento, pagando antecipadamente ou de forma recorrente a alguns desenvolvedores para manter um jogo exclusiva ou principalmente na plataforma. Esses acordos não seguem um padrão divulgado publicamente e costumam ser reservados a jogos que o Poki pretende promover com grande destaque.</p>
<p>Defina suas expectativas com números reais. Para um primeiro jogo web, uma faixa realista é de <a href="https://indiegamebusiness.com/web-gaming-for-indie-developers/" target="_blank" rel="noreferrer">aproximadamente US$ 500 a US$ 3.000 por mês</a>, e os ganhos dependem muito do gênero, da frequência das atualizações e de há quanto tempo o jogo está disponível. Isso é consideravelmente menos do que um sucesso no Steam pode gerar de uma vez, mas a receita na web é mais constante e se acumula: o tempo de sessão impulsiona a receita de anúncios, então um jogo com alto valor de rejogabilidade continua gerando receita muito depois do lançamento. Além disso, a maioria dos desenvolvedores bem-sucedidos na web consegue bons resultados com vários jogos, não apenas um.</p>
<h2 id="poki-em-comparacao-com-outras-plataformas-web" tabindex="-1">Poki em comparação com outras plataformas web <a class="header-anchor" href="#poki-em-comparacao-com-outras-plataformas-web" aria-label="Permalink to &quot;Poki em comparação com outras plataformas web&quot;"></a></h2>
<p>O Poki não é o único lugar para publicar um jogo de navegador, e a escolha certa depende do quanto você valoriza alcance em comparação com controle.</p>
<table tabindex="0">
<thead>
<tr>
<th>Plataforma</th>
<th>Forma de entrada</th>
<th>Modelo de receita</th>
<th>Ideal para</th>
</tr>
</thead>
<tbody>
<tr>
<td>Poki</td>
<td>Curadoria, análise humana e acesso por convite</td>
<td>Participação na receita de anúncios: <a href="https://developers.poki.com/guide/monetization" target="_blank" rel="noreferrer">100% do tráfego direto, 50/50 do tráfego da Poki</a></td>
<td>Jogos casuais em busca do maior público da web</td>
</tr>
<tr>
<td>CrazyGames</td>
<td>Curadoria e análise antes da publicação</td>
<td>Participação na receita de anúncios</td>
<td>Jogos web casuais e mid-core, com alcance semelhante ao da Poki</td>
</tr>
<tr>
<td>itch.io</td>
<td>Aberta, sem barreiras de entrada</td>
<td>Você define a comissão (<a href="https://itch.io/docs/creators/pricing" target="_blank" rel="noreferrer">padrão de aproximadamente 10%</a>, pague quanto quiser ou preço fixo)</td>
<td>Jogos independentes, experimentais e de game jams que você quer controlar de ponta a ponta</td>
</tr>
<tr>
<td>Newgrounds</td>
<td>Envio aberto à comunidade</td>
<td>Participação na receita de anúncios e contribuições de apoiadores</td>
<td>Jogos curtos, criativos e voltados à comunidade, com público próprio</td>
</tr>
</tbody>
</table>
<p>A maneira mais simples de entender é esta: Poki e CrazyGames têm curadoria, são financiadas por anúncios e contam com um público enorme, então você abre mão de parte da independência em troca de distribuição. itch.io e Newgrounds são abertas, portanto qualquer pessoa pode publicar, mas você precisa cuidar do próprio marketing. Muitos desenvolvedores web enviam seus jogos para a Poki e a CrazyGames em busca de alcance, enquanto mantêm uma página no itch.io sob seu controle total. Para conhecer a estratégia completa para o itch.io, consulte nosso <a href="/pt-BR/guides/itch-io-launch-guide.html">guia de lançamento no itch.io</a>.</p>
<h2 id="o-que-realmente-tem-bom-desempenho-na-poki" tabindex="-1">O que realmente tem bom desempenho na Poki <a class="header-anchor" href="#o-que-realmente-tem-bom-desempenho-na-poki" aria-label="Permalink to &quot;O que realmente tem bom desempenho na Poki&quot;"></a></h2>
<p>A Poki prioriza jogos casuais. Os jogos que ganham escala são fáceis de entender, podem ser jogados em sessões curtas, funcionam bem em dispositivos móveis e oferecem alto valor de rejogabilidade. Esse último ponto importa mais do que parece: como você ganha com impressões de anúncios ao longo do tempo de sessão, um jogo ao qual as pessoas retornam rende muito mais do que uma experiência jogada uma única vez, mesmo com o mesmo pico de público. Loops simples de arcade, jogos multiplayer no estilo <code>.io</code>, jogos de vestir e personalização e títulos de ação com partidas curtas se encaixam nesse perfil. O público também tende a ser mais jovem e a jogar mais em dispositivos móveis do que o público típico da Steam, por isso controles com um único dedo e reinício instantâneo funcionam melhor do que uma experiência complexa e que exige muito tempo.</p>
<h2 id="motivos-comuns-de-rejeicao" tabindex="-1">Motivos comuns de rejeição <a class="header-anchor" href="#motivos-comuns-de-rejeicao" aria-label="Permalink to &quot;Motivos comuns de rejeição&quot;"></a></h2>
<p>A maioria das rejeições se resume à retenção e ao acabamento, não ao gosto pessoal. O principal motivo é a <a href="https://indiegamebusiness.com/web-gaming-for-indie-developers/" target="_blank" rel="noreferrer">baixa retenção de jogadores nos primeiros três minutos</a>, que é exatamente o que o Player Fit Test mede. Portanto, se o início do seu jogo for lento ou confuso, você não passará pela primeira etapa antes mesmo de uma pessoa avaliá-lo. Outros motivos incluem builds que ultrapassam o <a href="https://sdk.poki.com/new-requirements" target="_blank" rel="noreferrer">download inicial de 8 MB</a>, baixa compatibilidade com dispositivos móveis, jogos que exigem controles complexos ou muito tempo e qualquer experiência que pareça inacabada ou pouco refinada. Problemas de propriedade intelectual também causam rejeições, pois a Poki analisa tanto a adequação técnica quanto os direitos de uso dos jogos. Corrija primeiro a retenção e o tamanho, porque esses são os dois fatores que eliminam envios antes de qualquer outra coisa.</p>
<BuildCta
  title="Crie algo que você poderia apresentar à Poki"
  desc="A Cinevva transforma uma frase em um jogo web HTML5 jogável que você pode exportar, integrar ao SDK da Poki e enviar."
  prompt="Crie um jogo arcade controlado com um único dedo, com um loop de 10 segundos e reinício instantâneo" />
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="como-envio-meu-jogo-para-a-poki" tabindex="-1">Como envio meu jogo para a Poki? <a class="header-anchor" href="#como-envio-meu-jogo-para-a-poki" aria-label="Permalink to &quot;Como envio meu jogo para a Poki?&quot;"></a></h3>
<p>Você faz o envio pelo <a href="https://developers.poki.com/" target="_blank" rel="noreferrer">portal Poki for Developers</a>, criando uma conta de desenvolvedor e enviando seu jogo pelo formulário de submissão. A Poki realiza curadoria manual, portanto uma equipe de verdade analisa cada envio e decide se ele é adequado antes de qualquer publicação. Se houver interesse, seu jogo passa por um funil de testes — primeiro o Player Fit Test, depois o Web Fit Test e, por fim, uma análise final — para que jogadores reais demonstrem que ele consegue manter a atenção antes de a Poki direcionar seu tráfego. Não existe um sistema de publicação aberta, então encare o processo mais como a apresentação de um projeto a uma publicadora do que como a publicação em uma loja.</p>
<h3 id="e-gratuito-publicar-na-poki-e-qual-e-o-nivel-de-seletividade" tabindex="-1">É gratuito publicar na Poki e qual é o nível de seletividade? <a class="header-anchor" href="#e-gratuito-publicar-na-poki-e-qual-e-o-nivel-de-seletividade" aria-label="Permalink to &quot;É gratuito publicar na Poki e qual é o nível de seletividade?&quot;"></a></h3>
<p>O envio é gratuito, mas a Poki é seletiva. A equipe analisa todos os jogos e os testa com jogadores reais em etapas, portanto não é um marketplace aberto no qual qualquer conteúdo é publicado. O principal critério é a retenção: um relato de desenvolvedor frequentemente citado afirma que a meta do Player Fit Test é de <a href="https://kuyimobile.substack.com/p/my-game-production-process-and-how" target="_blank" rel="noreferrer">25% dos participantes jogando por pelo menos três minutos</a>. Jogos pouco refinados, pesados demais, difíceis de controlar ou que funcionam mal em dispositivos móveis geralmente não passam. Por isso, o acabamento e um primeiro minuto envolvente importam mais do que uma ideia inédita.</p>
<h3 id="quanto-dinheiro-e-possivel-ganhar-na-poki" tabindex="-1">Quanto dinheiro é possível ganhar na Poki? <a class="header-anchor" href="#quanto-dinheiro-e-possivel-ganhar-na-poki" aria-label="Permalink to &quot;Quanto dinheiro é possível ganhar na Poki?&quot;"></a></h3>
<p>A Poki paga uma participação na receita de anúncios, e uma faixa realista para um primeiro jogo web é de <a href="https://indiegamebusiness.com/web-gaming-for-indie-developers/" target="_blank" rel="noreferrer">cerca de US$ 500 a US$ 3.000 por mês</a>, dependendo do gênero, da frequência das atualizações e de há quanto tempo o jogo está disponível. A divisão favorece desenvolvedores que trazem o próprio público: você fica com <a href="https://developers.poki.com/guide/monetization" target="_blank" rel="noreferrer">100% da receita do tráfego que gera e 50% da receita do tráfego gerado pela Poki</a>. É menos do que um lançamento de grande sucesso na Steam, mas tende a ser mais constante. Como os ganhos acompanham o tempo de sessão, um jogo com alta rejogabilidade continua gerando receita muito depois do lançamento.</p>
<h3 id="quais-sao-os-requisitos-tecnicos-da-poki" tabindex="-1">Quais são os requisitos técnicos da Poki? <a class="header-anchor" href="#quais-sao-os-requisitos-tecnicos-da-poki" aria-label="Permalink to &quot;Quais são os requisitos técnicos da Poki?&quot;"></a></h3>
<p>Seu jogo precisa ser feito em HTML5, ter um <a href="https://sdk.poki.com/new-requirements" target="_blank" rel="noreferrer">download inicial inferior a 8 MB</a>, usar uma área de jogo em 16:9 que se adapte a computadores, celulares e tablets e integrar o SDK da Poki, disparando corretamente os eventos <code>gameplayStart()</code> e <code>gameplayStop()</code>. A Poki bloqueia requisições externas por padrão, portanto inclua todas as fontes, os recursos e as bibliotecas no pacote do jogo em vez de carregá-los durante a execução, e use apenas o sistema de anúncios da Poki. O jogo também precisa funcionar no modo anônimo — envolva o <code>localStorage</code> em try/catch — e incluir miniaturas estáticas e animadas para o lançamento global.</p>
<h3 id="quanto-tempo-leva-para-publicar-um-jogo-na-poki" tabindex="-1">Quanto tempo leva para publicar um jogo na Poki? <a class="header-anchor" href="#quanto-tempo-leva-para-publicar-um-jogo-na-poki" aria-label="Permalink to &quot;Quanto tempo leva para publicar um jogo na Poki?&quot;"></a></h3>
<p>Planeje-se para semanas, não dias. Depois de passar pelo Player Fit Test e pelo Web Fit Test — somente o <a href="https://sdk.poki.com/web-fit-test" target="_blank" rel="noreferrer">Web Fit Test leva cerca de 3 a 5 dias</a> —, seu jogo entra em um lançamento limitado, que <a href="https://sdk.poki.com/releaseprocess" target="_blank" rel="noreferrer">normalmente leva de uma a duas semanas para ser agendado e dura de duas a três semanas</a>. Somente depois que as métricas desse lançamento apresentarem bons resultados o jogo segue para o lançamento global, acompanhado de uma campanha promocional. Todo o processo, do envio até um lançamento global em destaque, geralmente leva um mês ou mais.</p>
<h3 id="quais-tipos-de-jogos-tem-melhor-desempenho-na-poki" tabindex="-1">Quais tipos de jogos têm melhor desempenho na Poki? <a class="header-anchor" href="#quais-tipos-de-jogos-tem-melhor-desempenho-na-poki" aria-label="Permalink to &quot;Quais tipos de jogos têm melhor desempenho na Poki?&quot;"></a></h3>
<p>Jogos casuais com alta rejogabilidade. O público da Poki joga em sessões curtas e tende a usar dispositivos móveis, por isso loops de arcade fáceis de entender, jogos no estilo <code>.io</code>, títulos de vestir e personalização e jogos de ação com partidas curtas são as opções mais adequadas. Como você ganha com impressões de anúncios ao longo do tempo de sessão, um jogo ao qual as pessoas retornam diariamente gera mais receita do que uma experiência jogada uma única vez pelo mesmo público. Controles complexos, sessões muito longas e builds pesadas jogam contra você.</p>
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/publish-web-game.html">Publique um jogo web: o guia completo</a> — todas as plataformas e os caminhos para lançar um jogo de navegador</li>
<li><a href="/pt-BR/guides/publish-game-crazygames.html">Como colocar seu jogo na CrazyGames</a> — a outra grande plataforma web com curadoria, para a qual os jogos costumam ser enviados junto com a Poki</li>
<li><a href="/pt-BR/guides/web-game-monetization.html">Monetização de jogos web</a> — receita de anúncios, compras dentro do jogo e licenciamento em plataformas web</li>
<li><a href="/pt-BR/guides/publish-game-discord-activities.html">Como publicar um jogo nas Atividades do Discord</a> — outro público web integrado para o qual você pode lançar seu jogo</li>
<li><a href="/pt-BR/guides/itch-io-launch-guide.html">Como lançar seu jogo no itch.io</a> — a alternativa aberta que você controla por completo</li>
<li><a href="/pt-BR/tutorials/ship-web-game-fast.html">Lance um jogo web com carregamento rápido</a> — como respeitar o limite de 8 MB da Poki e garantir um primeiro carregamento rápido</li>
<li><a href="/pt-BR/guides/casual-games-trends-2026.html">Tendências de jogos casuais em 2026</a> — o que os dados revelam sobre os jogos que o público da Poki procura</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/publish-game-poki-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Monetização de jogos web: o que os dados realmente mostram (2026)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/web-game-monetization</link>
            <guid>https://app.cinevva.com/pt-BR/guides/web-game-monetization</guid>
            <pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[O que os jogos web realmente faturam em 2026, desde divisões de receita de portais como Poki e itch.io até CPMs reais de anúncios, preços de licenças e faixas honestas de ganhos, tudo com fontes.]]></description>
            <content:encoded><![CDATA[<h1 id="monetizacao-de-jogos-web-o-que-os-dados-realmente-mostram-2026" tabindex="-1">Monetização de jogos web: o que os dados realmente mostram (2026) <a class="header-anchor" href="#monetizacao-de-jogos-web-o-que-os-dados-realmente-mostram-2026" aria-label="Permalink to &quot;Monetização de jogos web: o que os dados realmente mostram (2026)&quot;"></a></h1>
<p><em>Última atualização: julho de 2026.</em></p>
<p>Pergunte &quot;como jogos web ganham dinheiro&quot; e você receberá uma dúzia de respostas confiantes, a maioria tentando vender a plataforma que o autor promove. A versão honesta é mais complicada e mais útil. O dinheiro dos jogos web vem de quatro fontes (divisão da receita de anúncios de portais, contratos de licenciamento pontuais, compras dentro do jogo e vendas diretas), e os valores variam de alguns euros por ano a sete dígitos para o minúsculo grupo de jogos no topo. Extraímos os termos atuais diretamente das plataformas (<a href="https://developers.poki.com/guide/monetization" target="_blank" rel="noreferrer">Poki</a>, <a href="https://crazygames.indiehero.io/cggmwj-jg/" target="_blank" rel="noreferrer">CrazyGames</a>, <a href="https://itch.io/updates/introducing-open-revenue-sharing" target="_blank" rel="noreferrer">itch.io</a>, <a href="https://gamemonetize.com/developers" target="_blank" rel="noreferrer">GameMonetize</a>), os benchmarks de anúncios de 2026 e um detalhamento real dos ganhos de um desenvolvedor, e deixamos de fora todos os números para os quais não encontramos fontes. Veja o que de fato é verdade.</p>
<p>A versão resumida: a maioria dos jogos web ganha dinheiro sendo disponibilizada gratuitamente em um portal como Poki ou CrazyGames e dividindo a receita de anúncios, com os desenvolvedores ficando com cerca de 50% a 80%, dependendo da plataforma e da origem do tráfego, segundo a <a href="https://developers.poki.com/guide/monetization" target="_blank" rel="noreferrer">documentação das plataformas</a>. Um segundo caminho é licenciar seu jogo HTML5 pronto para portais por uma taxa fixa, normalmente <a href="https://playgama.com/blog/main/10-ways-to-monetize-html5-games-that-actually-work-in-2026/" target="_blank" rel="noreferrer">de $300 a $800 por uma licença não exclusiva e $5.000 ou mais por uma exclusiva</a>. Um terceiro é vender compras dentro do jogo ou o jogo completo diretamente, sendo que o itch.io permite que você fique com <a href="https://itch.io/updates/introducing-open-revenue-sharing" target="_blank" rel="noreferrer">90% por padrão</a>. Os números são brutais na mediana (a maioria dos jogos pagos no itch.io fatura <a href="https://generalistprogrammer.com/tutorials/how-to-make-money-on-itchio-indie-game-guide" target="_blank" rel="noreferrer">menos de $50 por mês</a>) e enormes no topo (os melhores estúdios da Poki chegam a faturar <a href="https://app.dealroom.co/news/feed/poki-hits-1b-monthly-plays-as-developer-first-model-boosts-top-studio-revenues-tenfold-1" target="_blank" rel="noreferrer">até €1 milhão por ano</a>). Um jogo casual com bom desempenho em um grande portal fica em algum ponto da faixa intermediária de <a href="https://www.abratabia.com/web-game-monetization/licensing-to-portals.php" target="_blank" rel="noreferrer">$200 a $2.000 por mês</a>.</p>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 350" role="img" aria-label="Participação do desenvolvedor na receita por plataforma de jogos web em 2026: itch.io 90 por cento, Playgama Bridge 80 por cento, compras dentro do jogo na CrazyGames 70 por cento, anúncios da CrazyGames 60 por cento, Poki 50 por cento, GameMonetize 45 por cento" style="width:100%;height:auto;max-width:720px;margin:1.5rem auto;display:block;border-radius:14px">
  <rect width="720" height="350" rx="14" fill="#0b1020"/>
  <text x="32" y="44" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="20" font-weight="800" fill="#e8edf5">Quanto cada plataforma permite que você retenha</text>
  <text x="32" y="68" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="13" fill="#9aa7b4">Participação do desenvolvedor na receita, meados de 2026. Fonte: documentação das plataformas e termos publicados de game jams.</text>
  <g font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="13" font-weight="700">
    <text x="205" y="118" text-anchor="end" fill="#e8edf5">itch.io (padrão)</text>
    <rect x="220" y="102" width="414" height="24" rx="5" fill="#6ee7b7"/>
    <text x="644" y="119" font-size="13" font-weight="800" fill="#6ee7b7">90%</text>
    <text x="205" y="158" text-anchor="end" fill="#e8edf5">Playgama Bridge</text>
    <rect x="220" y="142" width="368" height="24" rx="5" fill="#7dd3fc"/>
    <text x="598" y="159" font-size="13" font-weight="800" fill="#7dd3fc">80%</text>
    <text x="205" y="198" text-anchor="end" fill="#e8edf5">CrazyGames · compras</text>
    <rect x="220" y="182" width="322" height="24" rx="5" fill="#7dd3fc"/>
    <text x="552" y="199" font-size="13" font-weight="800" fill="#7dd3fc">70%</text>
    <text x="205" y="238" text-anchor="end" fill="#e8edf5">CrazyGames · anúncios</text>
    <rect x="220" y="222" width="276" height="24" rx="5" fill="#a9b4ff"/>
    <text x="506" y="239" font-size="13" font-weight="800" fill="#a9b4ff">60%</text>
    <text x="205" y="278" text-anchor="end" fill="#e8edf5">Poki</text>
    <rect x="220" y="262" width="230" height="24" rx="5" fill="#c8a8ff"/>
    <text x="460" y="279" font-size="13" font-weight="800" fill="#c8a8ff">50%</text>
    <text x="516" y="279" font-size="11.5" font-weight="600" fill="#9aa7b4">100% no seu próprio tráfego</text>
    <text x="205" y="318" text-anchor="end" fill="#e8edf5">GameMonetize</text>
    <rect x="220" y="302" width="207" height="24" rx="5" fill="#fb7185"/>
    <text x="437" y="319" font-size="13" font-weight="800" fill="#fb7185">45%</text>
  </g>
</svg>
<h2 id="o-modelo-padrao-de-negocios-para-jogos-web-e-free-to-play-com-divisao-da-receita-de-anuncios" tabindex="-1">O modelo padrão de negócios para jogos web é free-to-play com divisão da receita de anúncios <a class="header-anchor" href="#o-modelo-padrao-de-negocios-para-jogos-web-e-free-to-play-com-divisao-da-receita-de-anuncios" aria-label="Permalink to &quot;O modelo padrão de negócios para jogos web é free-to-play com divisão da receita de anúncios&quot;"></a></h2>
<p>O modelo dominante na web aberta é extremamente simples. Você disponibiliza seu jogo gratuitamente em um portal, os jogadores o acessam pelo navegador, o portal exibe anúncios ao redor e dentro dele, e vocês dividem o dinheiro. Não há taxa inicial nem controle de acesso por parte de uma loja. O portal cuida da tecnologia de anúncios, do tráfego e dos pagamentos, e você recebe uma parte.</p>
<p>Essa participação é o que diferencia as plataformas. A <a href="https://developers.poki.com/guide/monetization" target="_blank" rel="noreferrer">Poki</a> opera com uma divisão direta de 50/50, mas com um detalhe importante: se um jogador chega ao seu jogo pelo Poki.com ou pelo marketing da própria Poki, a receita é dividida pela metade; porém, se ele vier pelos seus próprios favoritos, buscas, redes sociais ou comunidade, você fica com 100%. É um incentivo deliberado para que você traga seu próprio público. A CrazyGames não informa a divisão em sua documentação principal para desenvolvedores, mas os termos publicados para sua <a href="https://crazygames.indiehero.io/cggmwj-jg/" target="_blank" rel="noreferrer">game jam de jogos web do GameMaker de 2026</a> dizem que os desenvolvedores ficam com 60% da receita de publicidade dentro do jogo e 70% da receita de compras dentro do jogo, com pagamentos depois que você ultrapassa o <a href="https://docs.crazygames.com/faq/" target="_blank" rel="noreferrer">mínimo de €100</a>. A GameMonetize fica na faixa inferior, com uma <a href="https://gamemonetize.com/developers" target="_blank" rel="noreferrer">participação de 45%</a>, enquanto camadas de distribuição mais recentes, como a Playgama Bridge, anunciam <a href="https://playgama.com/blog/main/10-ways-to-monetize-html5-games-that-actually-work-in-2026/" target="_blank" rel="noreferrer">80%</a>. A diferença é real, então a plataforma escolhida é uma decisão de receita, não apenas de distribuição.</p>
<p>A escala é o motivo pelo qual essas divisões valem alguma coisa. A Poki ultrapassou <a href="https://app.dealroom.co/news/feed/poki-hits-1b-monthly-plays-as-developer-first-model-boosts-top-studio-revenues-tenfold-1" target="_blank" rel="noreferrer">1 bilhão de partidas mensais</a> em 2026, com mais de 600 estúdios independentes em seu catálogo, e a CrazyGames registra <a href="https://gamesbeat.com/crazygames-hits-35m-users-for-browser-games-and-launches-social-multiplayer-features/" target="_blank" rel="noreferrer">mais de 300 milhões de partidas por mês</a> entre mais de 50 milhões de jogadores mensais, segundo seu portal para desenvolvedores. Os agregadores chegam ainda mais longe: a <a href="https://gamedistribution.com/developers/partnership/" target="_blank" rel="noreferrer">GameDistribution</a> distribui para mais de 4.000 portais, alcançando 350 milhões de usuários mensais. Um único jogo bom pode acumular números difíceis de imaginar. No panorama do mercado de jogos web <a href="https://www.gamedeveloper.com/business/the-huge-hidden-web-game-market-no-one-talks-about-and-how-to-get-in-" target="_blank" rel="noreferrer">publicado pela Game Developer</a>, Monkey Mart atingiu 300 milhões de partidas, Level Devil chegou a 83 milhões e Stickman Hook a 574 milhões — todos jogos que custaram menos de $10.000 e levaram de um a três meses para serem produzidos.</p>
<h2 id="quais-taxas-de-anuncios-os-jogos-web-realmente-conseguem" tabindex="-1">Quais taxas de anúncios os jogos web realmente conseguem <a class="header-anchor" href="#quais-taxas-de-anuncios-os-jogos-web-realmente-conseguem" aria-label="Permalink to &quot;Quais taxas de anúncios os jogos web realmente conseguem&quot;"></a></h2>
<p>A divisão da receita só importa se você conhecer as taxas de anúncios subjacentes, e é aqui que os dados sobre jogos web ficam escassos, pois a maioria dos benchmarks publicados se refere a aplicativos móveis. Os números mais claros específicos para a web vêm do <a href="https://playgama.com/blog/main/10-ways-to-monetize-html5-games-that-actually-work-in-2026/" target="_blank" rel="noreferrer">detalhamento de monetização da Playgama de 2026</a>: vídeos recompensados, o formato que paga melhor, geram cerca de $15 a $28 de eCPM nos Estados Unidos, $8 a $15 na União Europeia e apenas $1 a $3 em mercados de nível 3, como Índia e Brasil. Anúncios &quot;intrínsecos&quot; dentro do jogo (inserções de marcas integradas ao cenário) geram de $2 a $6. Essas são as taxas brutas antes da divisão da receita, então um público majoritariamente dos EUA na Poki rende metade desse valor máximo, enquanto um público global gera uma média ponderada mais próxima da faixa inferior.</p>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 300" role="img" aria-label="eCPM de vídeos recompensados na web por região em 2026: Estados Unidos de 15 a 28 dólares, União Europeia de 8 a 15 dólares, mercados de nível 3 de 1 a 3 dólares" style="width:100%;height:auto;max-width:720px;margin:1.5rem auto;display:block;border-radius:14px">
  <rect width="720" height="300" rx="14" fill="#0b1020"/>
  <text x="32" y="44" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="20" font-weight="800" fill="#e8edf5">Quanto vídeos recompensados pagam na web</text>
  <text x="32" y="68" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="13" fill="#9aa7b4">Faixa de eCPM para vídeos recompensados na web, antes da divisão da receita. Fonte: Playgama, 2026.</text>
  <g font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="12" fill="#5b6472">
    <line x1="180" y1="96" x2="180" y2="248" stroke="#ffffff" stroke-opacity="0.14"/>
    <text x="180" y="268" text-anchor="middle">$0</text>
    <text x="347" y="268" text-anchor="middle">$10</text>
    <text x="513" y="268" text-anchor="middle">$20</text>
    <text x="680" y="268" text-anchor="middle">$30</text>
  </g>
  <g font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="14" font-weight="700">
    <text x="165" y="126" text-anchor="end" fill="#e8edf5">Estados Unidos</text>
    <rect x="430" y="110" width="217" height="26" rx="6" fill="#c8a8ff"/>
    <text x="538" y="128" text-anchor="middle" font-size="12.5" font-weight="800" fill="#0b1020">$15–$28</text>
    <text x="165" y="176" text-anchor="end" fill="#e8edf5">União Europeia</text>
    <rect x="313" y="160" width="117" height="26" rx="6" fill="#7dd3fc"/>
    <text x="371" y="178" text-anchor="middle" font-size="12.5" font-weight="800" fill="#0b1020">$8–$15</text>
    <text x="165" y="226" text-anchor="end" fill="#e8edf5">Nível 3 (IN, BR)</text>
    <rect x="197" y="210" width="34" height="26" rx="6" fill="#fb7185"/>
    <text x="252" y="228" font-size="12.5" font-weight="800" fill="#fb7185">$1–$3</text>
  </g>
</svg>
<p>A taxa obtida também depende do formato, e nesse ponto todas as fontes concordam com a classificação. Vídeos recompensados (o formato opcional de &quot;assista a um anúncio para receber uma recompensa&quot;) pagam mais, muitas vezes cerca do dobro de um intersticial, segundo o <a href="https://www.applixir.com/blog/the-complete-guide-to-ecpm-optimization-for-web-games/" target="_blank" rel="noreferrer">guia de jogos web da AppLixir</a>. Em seguida vêm os intersticiais exibidos em pausas naturais, enquanto os banners ficam no fim da lista, rendendo centavos por mil impressões na maioria das regiões. É por isso que CrazyGames e Poki priorizam vídeos recompensados e exibidos durante o jogo em seus SDKs e tratam banners como algo secundário.</p>
<p>O Google também reabriu seu programa de anúncios para a web. O antigo AdSense for Games se tornou o <a href="https://support.google.com/adsense/answer/9959170" target="_blank" rel="noreferrer">H5 Games Ads</a>, um produto com aprovação por solicitação que exibe anúncios intersticiais e recompensados por meio de uma API Ad Placement. A entrada não é automática (a aprovação depende dos critérios de qualificação), mas ele oferece aos desenvolvedores web uma opção própria de anúncios fora dos grandes portais. O estudo de caso do próprio Google cita um desenvolvedor que obteve um aumento de 20% na receita e de 50% no eCPM nos três meses após migrar para o serviço.</p>
<h2 id="licenciando-seu-jogo-por-uma-taxa-fixa" tabindex="-1">Licenciando seu jogo por uma taxa fixa <a class="header-anchor" href="#licenciando-seu-jogo-por-uma-taxa-fixa" aria-label="Permalink to &quot;Licenciando seu jogo por uma taxa fixa&quot;"></a></h2>
<p>Nem todo mundo quer apostar na divisão da receita. O modelo mais antigo, popularizado anos atrás por sites como o FGL, é o licenciamento: você vende a um portal ou a uma marca o direito de disponibilizar seu jogo HTML5 pronto por uma taxa única. O comprador recebe o jogo, você recebe o pagamento antecipadamente e segue em frente. Esse modelo ainda existe em marketplaces como MarketJS, GameDistribution e CodeThisLab.</p>
<p>Os preços variam muito porque &quot;uma licença&quot; pode significar coisas diferentes. Os <a href="https://playgama.com/blog/main/10-ways-to-monetize-html5-games-that-actually-work-in-2026/" target="_blank" rel="noreferrer">números da Playgama para 2026</a> colocam as licenças não exclusivas (o mesmo jogo vendido a vários compradores) em cerca de $300 a $800 por plataforma, enquanto contratos exclusivos (o comprador passa a ser o único dono e o jogo é removido do catálogo) começam em torno de $5.000 e ultrapassam $25.000 para um título bem-acabado. Um artigo independente sobre <a href="https://www.abratabia.com/web-game-monetization/licensing-to-portals.php" target="_blank" rel="noreferrer">licenciamento para portais</a> chega a valores semelhantes, estimando taxas fixas de &quot;algumas centenas de dólares para jogos simples a $5.000 ou mais&quot; para jogos de alta qualidade. A troca é simples. O licenciamento paga agora e limita seu potencial de ganho; a divisão da receita paga depois e não limita.</p>
<h2 id="compras-dentro-do-jogo-e-vendas-diretas-na-web-aberta" tabindex="-1">Compras dentro do jogo e vendas diretas na web aberta <a class="header-anchor" href="#compras-dentro-do-jogo-e-vendas-diretas-na-web-aberta" aria-label="Permalink to &quot;Compras dentro do jogo e vendas diretas na web aberta&quot;"></a></h2>
<p>Vender itens dentro de um jogo de navegador costumava ser uma dor de cabeça. Agora ficou mais fácil. No lado das compras, a CrazyGames mantém um <a href="https://docs.crazygames.com/resources/ad-monetization-guide/" target="_blank" rel="noreferrer">programa de compras dentro do jogo somente por convite e operado pela Xsolla</a> para títulos de alto desempenho, pagando aos desenvolvedores <a href="https://crazygames.indiehero.io/cggmwj-jg/" target="_blank" rel="noreferrer">70% da receita de compras</a>. Camadas de distribuição mais recentes, como a Playgama Bridge, anunciam suporte completo a compras dentro do aplicativo, com gateways de pagamento locais integrados. Fora dos portais, você pode integrar o checkout do Stripe ou da Xsolla ao seu próprio site e ficar com quase tudo depois das taxas de processamento.
A versão mais pura de “ficar com o dinheiro” é o itch.io. Ele é uma loja, não um portal de anúncios, e seu modelo de <a href="https://itch.io/updates/introducing-open-revenue-sharing" target="_blank" rel="noreferrer">divisão aberta de receita</a> permite que você mesmo defina a porcentagem da plataforma, de 0% a 100%, com 10% como padrão. Em uma venda de $10 com a taxa padrão, após o processamento do pagamento de cerca de <a href="https://generalistprogrammer.com/tutorials/how-to-make-money-on-itchio-indie-game-guide" target="_blank" rel="noreferrer">2,9% mais $0,30</a> e o dólar do itch.io, você fica com $8,41. Compare isso aos 30% cobrados pela Steam, App Store e Google Play, e dá para entender por que o itch.io é a escolha padrão de desenvolvedores que querem cobrar diretamente por uma versão web. O Newgrounds mantém uma estrutura igualmente favorável aos criadores, pagando sua parcela da receita de anúncios depois que você ultrapassa <a href="https://newgrounds.fandom.com/wiki/Revenue_Sharing" target="_blank" rel="noreferrer">$50 via PayPal ou cheque</a>. Em 2026, ele também está apostando mais na assinatura Supporter (aumentando o preço para <a href="https://newgrounds.wiki.gg/wiki/Supporter_Status" target="_blank" rel="noreferrer">$5 por mês em abril de 2026</a>) para financiar um fundo de pagamentos mais saudável.</p>
<h2 id="a-comparacao-completa" tabindex="-1">A comparação completa <a class="header-anchor" href="#a-comparacao-completa" aria-label="Permalink to &quot;A comparação completa&quot;"></a></h2>
<p>Aqui estão todas as principais formas de ganhar dinheiro com jogos web em um só lugar. Considere a coluna de participação do desenvolvedor como a taxa principal antes dos ajustes decorrentes da composição e da localização geográfica do seu tráfego.</p>
<table tabindex="0">
<thead>
<tr>
<th>Plataforma / modelo</th>
<th>Como você ganha</th>
<th>Participação do desenvolvedor</th>
<th>Termos relevantes</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://developers.poki.com/guide/monetization" target="_blank" rel="noreferrer">Poki</a></td>
<td>Gratuito para jogar, participação na receita de anúncios</td>
<td>50% (100% sobre seu próprio tráfego)</td>
<td>Sem taxa inicial, catálogo selecionado, mais de 1 bilhão de partidas mensais</td>
</tr>
<tr>
<td><a href="https://crazygames.indiehero.io/cggmwj-jg/" target="_blank" rel="noreferrer">CrazyGames</a></td>
<td>Participação na receita de anúncios + compras no jogo somente por convite</td>
<td>60% dos anúncios, 70% das compras (segundo os termos da jam de 2026, não da documentação principal)</td>
<td>Pagamento mínimo de €100, compras via Xsolla para os principais títulos</td>
</tr>
<tr>
<td><a href="https://gamemonetize.com/developers" target="_blank" rel="noreferrer">GameMonetize</a></td>
<td>Participação na receita de anúncios via SDK</td>
<td>45%</td>
<td>Ampla distribuição, pagamentos mensais por PayPal/USDT</td>
</tr>
<tr>
<td><a href="https://playgama.com/blog/main/10-ways-to-monetize-html5-games-that-actually-work-in-2026/" target="_blank" rel="noreferrer">Playgama Bridge</a></td>
<td>Participação na receita de anúncios + compras no jogo</td>
<td>80%</td>
<td>Gateways de pagamento locais, participação declarada mais alta</td>
</tr>
<tr>
<td><a href="https://gamedistribution.com/developers/partnership/" target="_blank" rel="noreferrer">GameDistribution</a></td>
<td>Participação na receita de anúncios por distribuição</td>
<td>Varia conforme o acordo</td>
<td>Mais de 4.000 portais, alcance mensal de 350 milhões</td>
</tr>
<tr>
<td>Licenciamento (MarketJS, CodeThisLab)</td>
<td>Taxa fixa única</td>
<td>100% da taxa</td>
<td><a href="https://playgama.com/blog/main/10-ways-to-monetize-html5-games-that-actually-work-in-2026/" target="_blank" rel="noreferrer">$300–$800 por licença não exclusiva, $5.000 ou mais por licença exclusiva</a></td>
</tr>
<tr>
<td><a href="https://itch.io/updates/introducing-open-revenue-sharing" target="_blank" rel="noreferrer">itch.io</a></td>
<td>Vendas diretas, porcentagem no modelo pague quanto quiser</td>
<td>Até 100% (10% como padrão)</td>
<td>Você define a participação da plataforma</td>
</tr>
<tr>
<td><a href="https://newgrounds.fandom.com/wiki/Revenue_Sharing" target="_blank" rel="noreferrer">Newgrounds</a></td>
<td>Participação na receita de anúncios + fundo Supporter</td>
<td>Participação no fundo de anúncios</td>
<td>Pagamento mínimo de $50</td>
</tr>
</tbody>
</table>
<h2 id="expectativas-realistas-de-ganhos" tabindex="-1">Expectativas realistas de ganhos <a class="header-anchor" href="#expectativas-realistas-de-ganhos" aria-label="Permalink to &quot;Expectativas realistas de ganhos&quot;"></a></h2>
<p>Esta é a parte que a maioria dos guias ignora. A distribuição dos ganhos de jogos web é extremamente concentrada no topo, e a mediana fica próxima de zero. A análise mais clara vem de um <a href="https://generalistprogrammer.com/tutorials/how-to-make-money-on-itchio-indie-game-guide" target="_blank" rel="noreferrer">levantamento de 2026 sobre a receita no itch.io</a>, que classifica os jogos pagos por faixas: cerca de 80% ganham de $0 a $50 por mês, aproximadamente 15% ganham de $50 a $500, por volta de 4% chegam a uma renda parcial de $500 a $2.000, menos de 1% alcançam uma renda integral de $2.000 a $10.000, e menos de 0,2% viram grandes sucessos acima de $10.000. A maioria dos jogos, observa a análise sem rodeios, ganha menos de $100 durante toda a sua existência.</p>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 320" role="img" aria-label="Participação dos jogos pagos no itch.io por receita mensal em 2026: 80 por cento ganham de 0 a 50 dólares, 15 por cento ganham de 50 a 500, 4 por cento ganham de 500 a 2.000, menos de 1 por cento ganha de 2.000 a 10.000 e menos de 0,2 por cento ganha mais de 10.000" style="width:100%;height:auto;max-width:720px;margin:1.5rem auto;display:block;border-radius:14px">
  <rect width="720" height="320" rx="14" fill="#0b1020"/>
  <text x="32" y="44" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="20" font-weight="800" fill="#e8edf5">A maioria dos jogos quase não ganha nada</text>
  <text x="32" y="68" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="13" fill="#9aa7b4">Participação dos jogos pagos no itch.io por receita mensal, 2026. Fonte: Generalist Programmer.</text>
  <g font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="13" font-weight="700">
    <text x="205" y="118" text-anchor="end" fill="#e8edf5">$0–$50 / mês</text>
    <rect x="220" y="102" width="400" height="24" rx="5" fill="#fb7185"/>
    <text x="628" y="119" font-size="13" font-weight="800" fill="#fb7185">~80%</text>
    <text x="205" y="158" text-anchor="end" fill="#e8edf5">$50–$500</text>
    <rect x="220" y="142" width="75" height="24" rx="5" fill="#a9b4ff"/>
    <text x="303" y="159" font-size="13" font-weight="800" fill="#a9b4ff">~15%</text>
    <text x="205" y="198" text-anchor="end" fill="#e8edf5">$500–$2.000</text>
    <rect x="220" y="182" width="20" height="24" rx="5" fill="#7dd3fc"/>
    <text x="248" y="199" font-size="13" font-weight="800" fill="#7dd3fc">~4%</text>
    <text x="205" y="238" text-anchor="end" fill="#e8edf5">$2.000–$10.000</text>
    <rect x="220" y="222" width="7" height="24" rx="3" fill="#6ee7b7"/>
    <text x="235" y="239" font-size="13" font-weight="800" fill="#6ee7b7">&lt;1%</text>
    <text x="205" y="278" text-anchor="end" fill="#e8edf5">$10.000+</text>
    <rect x="220" y="262" width="5" height="24" rx="2.5" fill="#c8a8ff"/>
    <text x="233" y="279" font-size="13" font-weight="800" fill="#c8a8ff">&lt;0,2%</text>
  </g>
</svg>
<p>Os ganhos em portais de anúncios contam a mesma história por outro ângulo. Um jogo casual com bom desempenho em um grande portal costuma render de <a href="https://www.abratabia.com/web-game-monetization/licensing-to-portals.php" target="_blank" rel="noreferrer">$200 a $2.000 por mês</a> por meio da participação na receita, enquanto os títulos no topo do catálogo da Poki chegam a <a href="https://app.dealroom.co/news/feed/poki-hits-1b-monthly-plays-as-developer-first-model-boosts-top-studio-revenues-tenfold-1" target="_blank" rel="noreferrer">até €1 milhão por ano</a>, dez vezes mais do que esses estúdios ganhavam antes do modelo da Poki, segundo a Dealroom. O relato de um desenvolvedor independente em 2025 descreve como ele alcançou <a href="https://medium.com/@playrea/from-hobby-to-67-million-gameplays-on-poki-in-2025-df2c147cfb27" target="_blank" rel="noreferrer">67 milhões de partidas em cinco jogos na Poki</a> e cerca de 200.000 partidas por dia até o fim do ano, o suficiente, segundo ele, para transformar o desenvolvimento de jogos em sua principal fonte de renda.</p>
<p>Para ter uma noção concreta do ganho por partida na faixa mais baixa, vale observar o <a href="https://donislawdev.com/earnings-and-statistics-from-my-8-games-android-ios-webgl/" target="_blank" rel="noreferrer">detalhamento dos ganhos de vários jogos</a> feito por um desenvolvedor, embora os números sejam mais antigos (os jogos foram lançados por volta de 2018). Em oito jogos WebGL e 451.327 partidas no CrazyGames, ele ganhou €556,92, aproximadamente €1,20 por mil partidas, além de $163,79 no Kongregate com outras 104.444 partidas. Seu jogo de melhor desempenho, Fish Eat Fishes, rendeu €149,36 com 143.000 partidas. As taxas mudaram desde então e variam enormemente conforme a localização geográfica e o formato, mas o padrão permanece: é preciso ter um volume real antes que a participação na receita de anúncios se transforme em dinheiro relevante. Um jogo com 10.000 partidas ao longo de toda a sua existência é uma peça de portfólio, não uma fonte de renda.</p>
<h2 id="o-que-os-numeros-mostram" tabindex="-1">O que os números mostram <a class="header-anchor" href="#o-que-os-numeros-mostram" aria-label="Permalink to &quot;O que os números mostram&quot;"></a></h2>
<p>Juntando tudo, surge uma estratégia clara. Se você quer o maior alcance possível sem nenhum custo inicial, publique um jogo gratuito na Poki ou no CrazyGames e viva da divisão de receita, levando seu próprio tráfego sempre que puder para se aproximar da taxa de 100% da Poki sobre tráfego direto. Se preferir receber agora e evitar a aposta em volume, licencie um jogo finalizado por uma taxa fixa. Se o seu jogo for algo pelo qual as pessoas pagariam para ter, venda-o diretamente no itch.io e fique com mais de 90%. E, se você estiver levando isso a sério, faça mais de uma dessas coisas, porque os desenvolvedores que realmente vivem disso combinam a receita de anúncios em portais com compras e vendas diretas, em vez de apostar em um único canal.</p>
<p>O ponto em comum em tudo isso é que o dinheiro acompanha o jogo, e não o contrário. Nenhum esquema de monetização salva um jogo que ninguém quer jogar, e um jogo web realmente divertido encontra um caminho para gerar receita independentemente do portal em que for publicado. Hoje, isso também é o mais barato de testar. Quando criar um protótipo jogável leva minutos em vez de um fim de semana, você pode apresentar vários jogos a jogadores reais e deixar que os painéis de anúncios e as listas de desejos indiquem qual deles vale a pena monetizar. Uma ferramenta como a Cinevva pode transformar uma frase em um jogo web 3D jogável no seu navegador, que é a maneira mais rápida de chegar à única pergunta que importa: alguém continua jogando?</p>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="quanto-dinheiro-um-jogo-de-navegador-pode-render" tabindex="-1">Quanto dinheiro um jogo de navegador pode render? <a class="header-anchor" href="#quanto-dinheiro-um-jogo-de-navegador-pode-render" aria-label="Permalink to &quot;Quanto dinheiro um jogo de navegador pode render?&quot;"></a></h3>
<p>De quase nada a milhões, e a distribuição é brutalmente concentrada no topo. Cerca de <a href="https://generalistprogrammer.com/tutorials/how-to-make-money-on-itchio-indie-game-guide" target="_blank" rel="noreferrer">80% dos jogos pagos no itch.io ganham menos de $50 por mês</a>, e a maioria ganha menos de $100 durante toda a sua existência. Um jogo casual com bom desempenho em um portal como Poki ou CrazyGames costuma render de <a href="https://www.abratabia.com/web-game-monetization/licensing-to-portals.php" target="_blank" rel="noreferrer">$200 a $2.000 por mês</a> em participação na receita de anúncios, enquanto os raros estúdios no topo da Poki chegam a <a href="https://app.dealroom.co/news/feed/poki-hits-1b-monthly-plays-as-developer-first-model-boosts-top-studio-revenues-tenfold-1" target="_blank" rel="noreferrer">até €1 milhão por ano</a>. Volume é tudo, porque a receita de anúncios só se torna relevante depois de centenas de milhares de partidas.</p>
<h3 id="qual-porcentagem-da-receita-a-poki-fica" tabindex="-1">Qual porcentagem da receita a Poki fica? <a class="header-anchor" href="#qual-porcentagem-da-receita-a-poki-fica" aria-label="Permalink to &quot;Qual porcentagem da receita a Poki fica?&quot;"></a></h3>
<p><a href="https://developers.poki.com/guide/monetization" target="_blank" rel="noreferrer">A Poki divide a receita de anúncios em 50/50</a> quando um jogador chega ao seu jogo pelo Poki.com ou pelo marketing da Poki. Quando o jogador chega por meio dos seus próprios favoritos, buscas, redes sociais ou comunidade, você fica com 100%. Não há taxa inicial para publicar, e o catálogo da Poki agora atrai mais de 1 bilhão de partidas por mês em mais de 600 estúdios.</p>
<h3 id="qual-porcentagem-da-receita-o-crazygames-fica" tabindex="-1">Qual porcentagem da receita o CrazyGames fica? <a class="header-anchor" href="#qual-porcentagem-da-receita-o-crazygames-fica" aria-label="Permalink to &quot;Qual porcentagem da receita o CrazyGames fica?&quot;"></a></h3>
<p>O CrazyGames não publica a divisão em sua documentação principal para desenvolvedores, mas o dado oficial mais próximo está nos termos de sua <a href="https://crazygames.indiehero.io/cggmwj-jg/" target="_blank" rel="noreferrer">web jam do GameMaker de 2026</a>, segundo os quais os desenvolvedores ficam com 60% da receita de publicidade dentro do jogo e 70% da receita de compras dentro do jogo. Os pagamentos são feitos mensalmente quando seu saldo ultrapassa o <a href="https://docs.crazygames.com/faq/" target="_blank" rel="noreferrer">mínimo de €100</a>, e as compras dentro do jogo passam por uma integração com a Xsolla disponível apenas por convite e reservada a títulos de alto desempenho.</p>
<h3 id="e-possivel-vender-compras-dentro-de-um-jogo-web" tabindex="-1">É possível vender compras dentro de um jogo web? <a class="header-anchor" href="#e-possivel-vender-compras-dentro-de-um-jogo-web" aria-label="Permalink to &quot;É possível vender compras dentro de um jogo web?&quot;"></a></h3>
<p>Sim. O CrazyGames oferece um <a href="https://docs.crazygames.com/resources/ad-monetization-guide/" target="_blank" rel="noreferrer">programa de compras dentro do jogo via Xsolla disponível apenas por convite</a>, que repassa 70% aos desenvolvedores; camadas de distribuição como a Playgama Bridge incluem compras no jogo com gateways de pagamento locais; e você pode integrar o checkout da Stripe ou da Xsolla ao seu próprio site para ficar com quase tudo após as taxas de processamento. Para vender o jogo completo, em vez de itens, o itch.io permite cobrar diretamente e definir a porcentagem da plataforma, cujo padrão é de apenas 10%.</p>
<h3 id="quanto-os-jogos-web-ganham-por-1-000-partidas" tabindex="-1">Quanto os jogos web ganham por 1.000 partidas? <a class="header-anchor" href="#quanto-os-jogos-web-ganham-por-1-000-partidas" aria-label="Permalink to &quot;Quanto os jogos web ganham por 1.000 partidas?&quot;"></a></h3>
<p>Isso depende muito do formato dos anúncios e da localização dos jogadores, então encare qualquer número isolado com cautela. Vídeos recompensados, o formato que mais paga, alcançam aproximadamente <a href="https://playgama.com/blog/main/10-ways-to-monetize-html5-games-that-actually-work-in-2026/" target="_blank" rel="noreferrer">$15 a $28 de eCPM nos EUA, $8 a $15 na UE e $1 a $3 em mercados de nível 3</a> antes da divisão da receita. Essa é a taxa bruta por mil visualizações de anúncios, não por sessão de jogo, e os banners pagam uma pequena fração desse valor. Um levantamento mais antigo de um desenvolvedor relatou cerca de <a href="https://donislawdev.com/earnings-and-statistics-from-my-8-games-android-ios-webgl/" target="_blank" rel="noreferrer">€1,20 por mil partidas</a> no CrazyGames, considerando um portfólio de jogos simples.</p>
<h3 id="quanto-custa-licenciar-um-jogo-html5-para-um-portal" tabindex="-1">Quanto custa licenciar um jogo HTML5 para um portal? <a class="header-anchor" href="#quanto-custa-licenciar-um-jogo-html5-para-um-portal" aria-label="Permalink to &quot;Quanto custa licenciar um jogo HTML5 para um portal?&quot;"></a></h3>
<p>Não custa nada publicar em um portal com participação na receita, como Poki ou CrazyGames. Se você estiver se referindo ao modelo de licenciamento por taxa fixa, <a href="https://playgama.com/blog/main/10-ways-to-monetize-html5-games-that-actually-work-in-2026/" target="_blank" rel="noreferrer">licenças não exclusivas custam cerca de $300 a $800 por plataforma, enquanto acordos exclusivos começam em torno de $5.000 e podem ultrapassar $25.000</a> para um jogo bem acabado. Não exclusiva significa que o mesmo jogo é vendido a vários compradores; exclusiva significa que um único comprador fica com ele e o jogo sai do mercado.</p>
<h3 id="o-itch-io-e-uma-boa-forma-de-ganhar-dinheiro-com-um-jogo-web" tabindex="-1">O itch.io é uma boa forma de ganhar dinheiro com um jogo web? <a class="header-anchor" href="#o-itch-io-e-uma-boa-forma-de-ganhar-dinheiro-com-um-jogo-web" aria-label="Permalink to &quot;O itch.io é uma boa forma de ganhar dinheiro com um jogo web?&quot;"></a></h3>
<p>É a melhor opção se você quiser cobrar diretamente pelo jogo e ficar com a maior parte do dinheiro. A <a href="https://itch.io/updates/introducing-open-revenue-sharing" target="_blank" rel="noreferrer">divisão aberta de receita</a> do itch.io permite definir a porcentagem da plataforma entre 0% e 100%, com 10% como padrão. Assim, em uma venda de $10, você fica com cerca de $8,41 após o processamento do pagamento. Isso é melhor do que os 30% cobrados pela Steam e pelas lojas de aplicativos móveis. A ressalva é que o itch.io traz compradores, não uma enxurrada de tráfego de jogadores gratuitos, então ele favorece jogos que já têm público ou forte divulgação boca a boca, em vez de jogadores casuais de portais.</p>
<BuildCta
  title="Crie o jogo primeiro, monetize depois"
  desc="Nenhum modelo de receita salva um jogo que ninguém joga. Comece com algo divertido."
  prompt="Crie um jogo rápido de navegador em que você salta entre paredes para subir uma torre que está desabando" />
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/publish-web-game.html">Como publicar um jogo web</a> — onde colocar uma versão finalizada e como cada plataforma funciona</li>
<li><a href="/pt-BR/guides/publish-game-poki.html">Como publicar seu jogo na Poki</a> — os requisitos de envio e uma análise detalhada do programa 50/50 da Poki</li>
<li><a href="/pt-BR/guides/publish-game-crazygames.html">Como publicar seu jogo no CrazyGames</a> — o SDK, os formatos de anúncio e como funciona o pagamento</li>
<li><a href="/pt-BR/guides/publish-game-discord-activities.html">Como publicar um jogo nas Atividades do Discord</a> — outro canal de distribuição, com opções próprias de compras no jogo e anúncios</li>
<li><a href="/pt-BR/guides/casual-games-trends-2026.html">Tendências dos jogos casuais em 2026</a> — para onde o dinheiro está migrando em todo o mercado de jogos casuais</li>
<li><a href="/pt-BR/guides/itch-io-launch-guide.html">Guia de lançamento no itch.io</a> — como vender um jogo diretamente e ficar com 90% da receita</li>
<li><a href="/pt-BR/guides/promote-indie-game-no-budget.html">Como divulgar um jogo independente sem orçamento</a> — como atrair o tráfego que transforma uma participação na receita em dinheiro de verdade</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/web-game-monetization-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Melhores geradores de música por IA para jogos (2026)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/ai-music-generators-games</link>
            <guid>https://app.cinevva.com/pt-BR/guides/ai-music-generators-games</guid>
            <pubDate>Thu, 16 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Os melhores geradores de música por IA para trilhas sonoras de jogos em 2026, comparados em vocais, licenciamento comercial, stems e hospedagem própria, desde Suno e ElevenLabs Music até modelos abertos como Stable Audio e ACE-Step.]]></description>
            <content:encoded><![CDATA[<h1 id="melhores-geradores-de-musica-por-ia-para-jogos-2026" tabindex="-1">Melhores geradores de música por IA para jogos (2026) <a class="header-anchor" href="#melhores-geradores-de-musica-por-ia-para-jogos-2026" aria-label="Permalink to &quot;Melhores geradores de música por IA para jogos (2026)&quot;"></a></h1>
<figure style="margin:1.5rem 0">
<img src="https://cdn.cinevva.com/guides/ai-music-generators-games.jpg?v=1" alt="Melhores geradores de música por IA para trilhas sonoras de jogos em 2026" style="width:100%;border-radius:10px">
</figure>
<p><em>Última atualização: julho de 2026.</em></p>
<p>A trilha sonora costumava ser a parte de um jogo que desenvolvedores solo simplesmente pulavam. Você lançava o jogo sem música ou pegava um loop gratuito que outros cinquenta jogos já usavam, porque contratar um compositor custava mais do que todo o restante do projeto. A música por IA mudou essa conta. Você pode descrever um clima em uma frase e receber uma faixa pronta em menos de um minuto.</p>
<p>A parte difícil em 2026 não é a qualidade. A maioria dessas ferramentas soa bem o bastante para ser lançada. É o licenciamento. Um jogo é um produto comercial, e metade dos geradores de música populares bloqueia o uso comercial no plano gratuito ou enfrenta processos judiciais ainda não resolvidos por causa dos dados de treinamento. Escolha o gerador errado e você estará distribuindo um problema jurídico dentro dos arquivos do seu jogo.</p>
<p>Temos experiência direta com isso. A Cinevva mantém sua própria <a href="/pt-BR/tools/music.html">ferramenta de música</a> e, quando escolhemos os mecanismos por trás dela, testamos muito mais do que três. Ficamos com ElevenLabs Music, ACE-Step e Mubert, e o fator decisivo não foi qual deles venceu um teste cego de audição. Foi quais licenças estaríamos dispostos a defender quando um criador fizesse a única pergunta que importa: posso vender um jogo com esta faixa? Essa pergunta orienta tudo o que vem a seguir.</p>
<p>Este é, aproximadamente, o resultado do fluxo de prompt para faixa, o mesmo que você usaria dentro da ferramenta:</p>
<audio controls style="width:100%">
  <source src="/img/ai-samples/music-sample.mp3" type="audio/mpeg">
</audio>
<p><em>Um pequeno clipe gerado por IA. Descreva um clima e receba uma faixa que combine com ele.</em></p>
<p>Este guia compara os geradores de música por IA que realmente funcionam para jogos, organizados pela forma como você os usará: ferramentas de músicas completas com vocais, geradores royalty-free criados para produtos e modelos abertos que você pode executar por conta própria. Para cada um deles, o ponto mais importante vem primeiro: você pode usar legalmente o resultado em um jogo que pretende vender?</p>
<h2 id="escolha-rapida" tabindex="-1">Escolha rápida <a class="header-anchor" href="#escolha-rapida" aria-label="Permalink to &quot;Escolha rápida&quot;"></a></h2>
<p>Se você quer a versão resumida, veja para quem cada ferramenta é indicada.</p>
<table tabindex="0">
<thead>
<tr>
<th>Ferramenta</th>
<th>Melhor para</th>
<th>Vocais</th>
<th>Licença comercial</th>
<th>Hospedagem própria</th>
<th>Preço</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>ElevenLabs Music</strong></td>
<td>Licenciamento mais claro para um jogo lançado</td>
<td>Sim</td>
<td>Liberado para uso comercial, dados de treinamento licenciados</td>
<td>Não</td>
<td>Planos pagos</td>
</tr>
<tr>
<td><strong>Suno</strong></td>
<td>Músicas completas com vocais, geradas rapidamente</td>
<td>Sim</td>
<td>Somente em planos pagos, risco residual de litígios</td>
<td>Não</td>
<td>Pro US$ 10/mês</td>
</tr>
<tr>
<td><strong>Stable Audio 3</strong></td>
<td>Hospedagem própria e design de som</td>
<td>Instrumental</td>
<td>Community License, gratuita abaixo de US$ 1 milhão em receita</td>
<td>Sim</td>
<td>Pesos abertos</td>
</tr>
<tr>
<td><strong>ACE-Step</strong></td>
<td>Faixas completas, abertas e auto-hospedadas</td>
<td>Sim</td>
<td>MIT, totalmente permissiva</td>
<td>Sim</td>
<td>Gratuito</td>
</tr>
<tr>
<td><strong>Mubert</strong></td>
<td>Música de fundo contínua dentro do aplicativo</td>
<td>Não</td>
<td>Royalty-free conforme o plano, criado para produtos</td>
<td>API</td>
<td>Planos de API</td>
</tr>
<tr>
<td><strong>Soundraw</strong></td>
<td>Faixas royalty-free e uma API integrada ao produto</td>
<td>Não</td>
<td>Royalty-free, catálogo interno licenciado</td>
<td>API</td>
<td>~US$ 17/mês</td>
</tr>
<tr>
<td><strong>AIVA</strong></td>
<td>Trilhas cinematográficas e orquestrais</td>
<td>Instrumental</td>
<td>Uso comercial nos planos pagos</td>
<td>Não</td>
<td>Planos pagos</td>
</tr>
<tr>
<td><strong>Magenta RealTime</strong></td>
<td>Música adaptativa que reage em tempo real</td>
<td>Instrumental</td>
<td>Aberto, pesos CC-BY</td>
<td>Sim</td>
<td>Gratuito</td>
</tr>
<tr>
<td><strong>Udio</strong></td>
<td>Ouvir e remixar, não usar arquivos no jogo</td>
<td>Sim</td>
<td>Somente streaming, sem exportação</td>
<td>Não</td>
<td>Planos pagos</td>
</tr>
</tbody>
</table>
<h2 id="geradores-de-musicas-completas-com-vocais" tabindex="-1">Geradores de músicas completas com vocais <a class="header-anchor" href="#geradores-de-musicas-completas-com-vocais" aria-label="Permalink to &quot;Geradores de músicas completas com vocais&quot;"></a></h2>
<p>Estas são as ferramentas que criam uma faixa completa, muitas vezes com canto, a partir de um prompt de texto. São elas que a maioria das pessoas quer dizer quando fala em “música por IA”, e são a escolha certa quando você quer uma música-tema, uma faixa para o menu ou uma peça vocal para um trailer.</p>
<h3 id="elevenlabs-music" tabindex="-1">ElevenLabs Music <a class="header-anchor" href="#elevenlabs-music" aria-label="Permalink to &quot;ElevenLabs Music&quot;"></a></h3>
<p>Se você está lançando um jogo comercial e quer parar de se preocupar com o licenciamento, comece aqui. A ElevenLabs lançou o Eleven Music em agosto de 2025 e, ao contrário de seus concorrentes, desenvolveu o modelo usando músicas de produção licenciadas e assinou acordos com a Merlin e a Kobalt para que os detentores dos direitos sejam remunerados. Os resultados são liberados para amplo uso comercial, e jogos são mencionados explicitamente nos termos.</p>
<p>A contrapartida é um conjunto de restrições que você precisa respeitar. Não é possível usar nomes de artistas reais, títulos de músicas ou letras nos prompts, e alguns setores são excluídos. Portanto, leia os termos de música antes de desenvolver algo em torno da ferramenta. Para uma trilha sonora de jogo, esses limites raramente causam problemas. Em troca, você recebe aquilo que nenhum outro gerador vocal consegue oferecer em 2026: uma cadeia clara de licenciamento que você pode apresentar se alguém perguntar. Este é um dos três mecanismos por trás da nossa <a href="/pt-BR/tools/music.html">ferramenta de música</a>, especificamente porque o licenciamento está bem definido.</p>
<h3 id="suno" tabindex="-1">Suno <a class="header-anchor" href="#suno" aria-label="Permalink to &quot;Suno&quot;"></a></h3>
<p>O Suno é a maneira mais rápida de obter uma música vocal pronta e, com o modelo v5.5 (março de 2026), seus vocais são os mais naturais entre todos os geradores. Para jogos, as regras são simples e rígidas. O plano gratuito não permite uso comercial, sem exceções. Você precisa do plano Pro, por US$ 10 ao mês (ou US$ 8 ao mês na cobrança anual), que concede direitos comerciais e arquivos para download, cerca de 500 músicas em créditos e acesso ao modelo v5.5. O plano Premier, de US$ 30 ao mês, inclui o Suno Studio, que é relevante para jogos porque separa uma faixa em stems que você pode remixar para diferentes contextos dentro do jogo.</p>
<p>Há dois pontos que você precisa entender. Primeiro, uma licença comercial não equivale à titularidade dos direitos autorais. Os próprios termos do Suno dizem que conceder direitos de uso comercial é diferente de transferir a titularidade, e a legislação dos EUA geralmente exige um autor humano para o reconhecimento integral dos direitos autorais. Portanto, o que você possui é uma licença para usar a faixa, não direitos autorais incontestáveis. Segundo, o Suno chegou a um acordo com a Warner em novembro de 2025, mas os processos da Sony e da Universal ainda estavam em andamento antes de uma audiência de julgamento sumário em julho de 2026. O Suno também afirmou que pretende substituir seus modelos atuais por novos modelos licenciados pelas gravadoras ainda em 2026, portanto o modelo exato e as regras de download podem mudar. Nenhum tribunal responsabilizou usuários finais, e o risco prático para um desenvolvedor independente é baixo, mas é um risco residual que vale a pena conhecer antes de construir uma franquia em torno da ferramenta. Guarde seus comprovantes de pagamento para provar que sua assinatura estava ativa quando cada faixa foi gerada.</p>
<h3 id="udio" tabindex="-1">Udio <a class="header-anchor" href="#udio" aria-label="Permalink to &quot;Udio&quot;"></a></h3>
<p>O Udio produz áudio excelente, mas, em 2026, você não pode usá-lo em um jogo. Após seu acordo com a Universal Music em outubro de 2025, ele desativou todos os downloads e stems e se tornou um ecossistema fechado exclusivo para streaming. Você pode criar, ouvir e remixar dentro do aplicativo, mas não pode exportar um arquivo. Isso é um fator eliminatório para o desenvolvimento de jogos, já que o objetivo é justamente importar um arquivo de áudio para sua engine. A Universal está desenvolvendo em conjunto uma plataforma licenciada do Udio para 2026, portanto isso pode mudar. Porém, até o momento desta publicação, considere o Udio um lugar para experimentar, não uma fonte de trilhas sonoras.</p>
<h2 id="geradores-royalty-free-criados-para-produtos" tabindex="-1">Geradores royalty-free criados para produtos <a class="header-anchor" href="#geradores-royalty-free-criados-para-produtos" aria-label="Permalink to &quot;Geradores royalty-free criados para produtos&quot;"></a></h2>
<p>Este grupo é voltado para criadores e empresas, e não para músicos. As faixas geralmente são instrumentais, as interfaces são mais simples e o principal argumento é a segurança do licenciamento. Vários oferecem uma API, que é o caminho a seguir se você quiser permitir que os jogadores gerem suas próprias músicas dentro do seu jogo.</p>
<h3 id="mubert" tabindex="-1">Mubert <a class="header-anchor" href="#mubert" aria-label="Permalink to &quot;Mubert&quot;"></a></h3>
<p>O Mubert foi criado para produtos, e jogos são um dos seus principais casos de uso. Ele gera músicas royalty-free e livres de reivindicações da DMCA por meio de prompts, clima, BPM ou atividade, sendo treinado com conteúdo licenciado e de parceiros. O detalhe importante é a estrutura dos planos, pois ela determina o que você pode fazer legalmente. No plano Startup, a música toca dentro do seu aplicativo, mas os usuários não podem exportá-la, o que funciona bem para um jogo mobile com música de fundo. Se você quiser que os jogadores exportem ou compartilhem as faixas criadas, precisará do Startup+ ou de um plano superior, que inclui sublicenciamento. O plano gratuito não permite uso comercial. O Mubert também é um dos mecanismos por trás da nossa <a href="/pt-BR/tools/music.html">ferramenta de música</a>, razão pela qual a geração dentro do aplicativo é uma opção central, e não um recurso secundário.</p>
<h3 id="soundraw" tabindex="-1">Soundraw <a class="header-anchor" href="#soundraw" aria-label="Permalink to &quot;Soundraw&quot;"></a></h3>
<p>O Soundraw é um veterano entre os geradores royalty-free, treinado inteiramente com um catálogo interno licenciado para evitar a questão dos direitos autorais. Você escolhe o gênero, o clima e o tema e depois ajusta o arranjo. A assinatura para uso individual custa cerca de US$ 17 ao mês, e a ferramenta oferece uma API usada por desenvolvedores de jogos e ferramentas para criadores que desejam incorporar a geração de música. É uma escolha segura e discreta quando você precisa de música de fundo instrumental e de uma estrutura de licenciamento que possa explicar a uma publicadora.</p>
<h3 id="beatoven-loudly-e-aiva" tabindex="-1">Beatoven, Loudly e AIVA <a class="header-anchor" href="#beatoven-loudly-e-aiva" aria-label="Permalink to &quot;Beatoven, Loudly e AIVA&quot;"></a></h3>
<p>Há mais três opções que vale a pena conhecer para necessidades específicas. O <strong>Beatoven.ai</strong> é a opção econômica, custando cerca de US$ 2,50 ao mês com direitos comerciais incluídos, algo difícil de superar se você só precisa de uma música de fundo de boa qualidade. O <strong>Loudly</strong> custa um pouco mais, cerca de US$ 6 ao mês, e dá maior ênfase aos controles de personalização e colaboração. O <strong>AIVA</strong> é o especialista: ele foi desenvolvido para trilhas cinematográficas e orquestrais, portanto é a opção ideal quando seu jogo pede um tema sinfônico grandioso em vez de um loop pop. Todos os três concedem direitos comerciais nos planos pagos e os bloqueiam nos gratuitos, padrão que se repete em toda esta categoria.</p>
<h2 id="modelos-abertos-que-voce-pode-executar-por-conta-propria" tabindex="-1">Modelos abertos que você pode executar por conta própria <a class="header-anchor" href="#modelos-abertos-que-voce-pode-executar-por-conta-propria" aria-label="Permalink to &quot;Modelos abertos que você pode executar por conta própria&quot;"></a></h2>
<p>Se você não quer assinatura nem taxas por faixa e deseja controle total sobre o áudio de um projeto ainda não lançado, execute o modelo no seu próprio hardware. Os modelos abertos de áudio evoluíram rapidamente e, em 2026, vários deles são realmente bons. A única regra: confira a licença dos pesos, não apenas a do código, pois elas costumam ser diferentes.</p>
<h3 id="stable-audio-3" tabindex="-1">Stable Audio 3 <a class="header-anchor" href="#stable-audio-3" aria-label="Permalink to &quot;Stable Audio 3&quot;"></a></h3>
<p>O Stable Audio 3 (maio de 2026) é a opção aberta mais robusta para jogos, graças ao licenciamento e à versatilidade. A Stability lançou três modelos de pesos abertos treinados com dados totalmente licenciados: Small-Music e Small-SFX podem ser executados em uma CPU, sem necessidade de GPU, enquanto o Medium funciona em uma GPU de uso doméstico para oferecer maior qualidade. Apenas o modelo Large está disponível exclusivamente por API. Sob a Stability AI Community License, você é proprietário dos resultados e pode comercializá-los livremente até que seu estúdio ultrapasse US$ 1 milhão em receita anual. A partir daí, é necessário migrar para uma licença Enterprise, que também inclui indenização jurídica.</p>
<p>Para jogos, isso atende a duas necessidades de uma só vez. Os modelos de música geram faixas com duração variável de até cerca de seis minutos, e o Small-SFX é o melhor modelo aberto para efeitos sonoros que você pode realmente incluir em um lançamento. Você também pode fazer o ajuste fino de qualquer um deles com LoRA usando uma pasta com seus próprios áudios. É assim que você ensina ao modelo o estilo sonoro do seu jogo e depois gera loops de menu, vinhetas de combate e ambiências correspondentes, todos soando como parte da mesma trilha.</p>
<h3 id="ace-step" tabindex="-1">ACE-Step <a class="header-anchor" href="#ace-step" aria-label="Permalink to &quot;ACE-Step&quot;"></a></h3>
<p>O ACE-Step é o modelo aberto que você precisa conhecer para faixas completas com vocais. A linha 1.5 (janeiro de 2026) usa a licença MIT, uma das mais permissivas que existem, e gera rapidamente vários minutos de música em 19 idiomas, com clonagem de voz, remixagem e edição de letras integradas. É a resposta auto-hospedada ao Suno para equipes que preferem controlar a própria infraestrutura em vez de alugá-la, além de ser o terceiro mecanismo por trás da nossa <a href="/pt-BR/tools/music.html">ferramenta de música</a>.</p>
<h3 id="outros-modelos-abertos" tabindex="-1">Outros modelos abertos <a class="header-anchor" href="#outros-modelos-abertos" aria-label="Permalink to &quot;Outros modelos abertos&quot;"></a></h3>
<p>Há mais algumas opções, dependendo do que você precisa. O <strong>YuE</strong> (Apache 2.0) gera músicas completas com vocais a partir de uma letra e foi o primeiro modelo aberto a fazer isso bem. O <strong>DiffRhythm 2</strong> (Apache 2.0, fevereiro de 2026) foi criado para gerar rapidamente músicas completas. O <strong>MusicGen</strong>, da Meta, ainda funciona bem para prototipagem, mas seus pesos usam a licença CC-BY-NC, portanto ele serve apenas para rascunhos. Nunca inclua uma faixa do MusicGen em um jogo que você pretende vender. Migre para ACE-Step ou Stable Audio na versão final.</p>
<p>O <strong>Magenta RealTime</strong>, do Google (código Apache 2.0, pesos CC-BY), é diferente dos demais — e isso é excelente para jogos. Em vez de renderizar um arquivo pronto, ele gera música ao vivo, que você controla enquanto toca. Esse é exatamente o formato de uma trilha sonora adaptativa que muda quando o jogador entra em combate ou quando um chefe aparece. Nenhum outro modelo aberto foi desenvolvido para controle em tempo real, portanto, se seu objetivo é criar música interativa, este é o ponto de partida.</p>
<h2 id="efeitos-sonoros-nao-apenas-musica" tabindex="-1">Efeitos sonoros, não apenas música <a class="header-anchor" href="#efeitos-sonoros-nao-apenas-musica" aria-label="Permalink to &quot;Efeitos sonoros, não apenas música&quot;"></a></h2>
<p>Uma trilha sonora é apenas metade do trabalho. Jogos também precisam de passos, cliques de interface, explosões e ambiência, e as mesmas regras de licenciamento para IA se aplicam. Duas opções se destacam. O <strong>Stable Audio 3 Small-SFX</strong> é executado localmente, gera efeitos sob demanda e usa a mesma Community License segura para uso comercial dos outros modelos da família. A <strong>ElevenLabs</strong> tem um gerador dedicado de efeitos sonoros com a mesma política de liberação para uso comercial do Eleven Music, razão pela qual nossa própria <a href="/pt-BR/tools/sfx.html">ferramenta de efeitos sonoros</a> existe ao lado da ferramenta de música. Para seguir a abordagem tradicional, nosso guia de <a href="/pt-BR/guides/free-sound-effects-music.html">efeitos sonoros e músicas gratuitos</a> apresenta as bibliotecas CC0 que vale a pena manter como alternativas.</p>
<h2 id="a-realidade-do-licenciamento-para-jogos" tabindex="-1">A realidade do licenciamento para jogos <a class="header-anchor" href="#a-realidade-do-licenciamento-para-jogos" aria-label="Permalink to &quot;A realidade do licenciamento para jogos&quot;"></a></h2>
<p>Esta é a seção que pode evitar uma notificação de remoção, portanto leia antes de gerar qualquer coisa que você pretenda lançar.</p>
<p><strong>“Royalty-free” não significa “sem direitos autorais”, e nenhum dos dois significa titularidade.</strong> Royalty-free significa que você não paga uma taxa toda vez que a faixa é reproduzida. Isso não diz nada sobre quem é o proprietário da música nem se os dados de treinamento foram obtidos de forma regular. São três conceitos diferentes, frequentemente confundidos em textos de marketing.</p>
<p><strong>Planos gratuitos quase nunca são seguros para um jogo comercial.</strong> No Suno, Mubert, Soundraw, Beatoven e Loudly, o plano gratuito é destinado ao uso pessoal e não comercial. Um jogo que você vende — ou mesmo um jogo gratuito com anúncios ou DLC pago — é um projeto comercial. Use um plano pago ou um modelo aberto com licença permissiva e não lance uma faixa gerada no plano gratuito.</p>
<p><strong>Acompanhe os processos relacionados aos dados de treinamento.</strong> Suno e Udio enfrentam processos ativos movidos por grandes gravadoras. Até agora, nenhum tribunal responsabilizou usuários finais, e a exposição prática de um desenvolvedor independente é baixa, mas o risco existe. Por isso, as opções mais seguras em 2026 são as ferramentas treinadas com dados licenciados: ElevenLabs Music, Stable Audio, Mubert, Soundraw e AIVA.</p>
<p><strong>Guarde seus comprovantes.</strong> Os direitos comerciais de ferramentas como o Suno se aplicam às faixas geradas enquanto sua assinatura estava ativa. Guarde o comprovante da assinatura vigente no momento da geração para demonstrar que a faixa estava licenciada quando você a criou.
<strong>Divulgue onde a plataforma exigir.</strong> itch.io e Steam têm suas próprias regras de divulgação de conteúdo de IA, e ser transparente aqui é uma precaução simples. Consulte nossa <a href="/pt-BR/ai-content.html">política sobre conteúdo gerado por IA</a> para saber como lidamos com a divulgação e nosso <a href="/pt-BR/guides/game-asset-licenses.html">guia de licenças de recursos para jogos</a> para entender como o licenciamento de músicas se relaciona com sua arte e seu código.</p>
<h2 id="como-criar-musica-que-combine-com-um-jogo-nao-apenas-uma-faixa" tabindex="-1">Como criar música que combine com um jogo, não apenas uma faixa <a class="header-anchor" href="#como-criar-musica-que-combine-com-um-jogo-nao-apenas-uma-faixa" aria-label="Permalink to &quot;Como criar música que combine com um jogo, não apenas uma faixa&quot;"></a></h2>
<p>Uma música pop de três minutos não é uma trilha sonora de jogo. Jogos precisam de loops sem emendas audíveis, stems que possam ser mixados conforme a cena muda e transições de clima que acompanhem o jogador. Veja algumas observações sobre o fluxo de trabalho.</p>
<p>Para <strong>loops</strong>, gere uma peça um pouco mais longa e corte-a em um ponto de loop limpo ou use um recurso de continuação e inpainting (tanto o Stable Audio quanto o Suno oferecem isso) para conectar o final ao início. Para <strong>stems</strong>, o Suno Studio no plano Premier e o modo de remix do ACE-Step dividem uma faixa em partes, permitindo remover a bateria durante uma seção furtiva e trazê-la de volta em uma perseguição. Para música <strong>adaptativa e em tempo real</strong>, que reage às ações do jogador, o Magenta RealTime foi desenvolvido especificamente para isso, enquanto os streams infinitos por clima do Mubert funcionam bem como camadas ambientes ou de fundo contínuas dentro de um aplicativo.</p>
<h2 id="o-que-eu-realmente-usaria" tabindex="-1">O que eu realmente usaria <a class="header-anchor" href="#o-que-eu-realmente-usaria" aria-label="Permalink to &quot;O que eu realmente usaria&quot;"></a></h2>
<p>Se eu fosse compor a trilha de um jogo hoje, este seria o conjunto de ferramentas que escolheria.</p>
<p><strong>Vai lançar um jogo comercial e precisa de um licenciamento impecável?</strong> Use o ElevenLabs Music para faixas vocais e principais, e o Stable Audio 3 para bases instrumentais e efeitos sonoros. Ambos são treinados com dados licenciados e liberam os resultados para uso comercial, exatamente por isso dois dos três mecanismos da nossa própria ferramenta vêm dessa categoria.</p>
<p>Precisa de <strong>iteração rápida e dos melhores vocais</strong>? O Suno Pro é a resposta, desde que você guarde seus comprovantes e aceite o pequeno risco residual do processo judicial. Exporte as melhores faixas para o Suno Studio e extraia os stems.</p>
<p>Quer <strong>controle total e nenhuma assinatura</strong>? Hospede você mesmo o ACE-Step para faixas vocais e o Stable Audio 3 para instrumentais e efeitos sonoros. Depois, faça um ajuste fino com LoRA no Stable Audio usando seus próprios áudios para que tudo soe como parte da mesma trilha.</p>
<p>Para <strong>música de fundo dentro do seu aplicativo</strong>, ou para permitir que os jogadores criem as próprias músicas, integre a API do Mubert ou do Soundraw usando o nível de plano correspondente à possibilidade de exportação pelos usuários. E, se quiser <strong>uma trilha adaptativa que reaja à jogabilidade</strong>, comece criando um protótipo com o Magenta RealTime.</p>
<p>O erro comum é tentar usar uma única ferramenta para tudo. Música, stems, efeitos sonoros e camadas adaptativas são tarefas diferentes, e a melhor solução geralmente envolve duas ou três ferramentas, cada uma fazendo bem uma delas. Todas têm o mesmo objetivo: fazer com que a trilha sonora deixe de ser o aspecto no qual você economiza.</p>
<hr>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="qual-e-o-melhor-gerador-de-musica-por-ia-para-um-jogo-comercial" tabindex="-1">Qual é o melhor gerador de música por IA para um jogo comercial? <a class="header-anchor" href="#qual-e-o-melhor-gerador-de-musica-por-ia-para-um-jogo-comercial" aria-label="Permalink to &quot;Qual é o melhor gerador de música por IA para um jogo comercial?&quot;"></a></h3>
<p>Para um licenciamento seguro, o ElevenLabs Music e o Stable Audio 3 lideram em 2026 porque ambos são treinados com dados licenciados e liberam seus resultados para uso comercial. Para obter rapidamente os melhores vocais, o Suno Pro funciona bem se você aceitar o processo judicial em andamento movido pela Sony como um pequeno risco residual. Evite planos gratuitos e pesos não comerciais em qualquer projeto que pretenda lançar.</p>
<h3 id="posso-usar-legalmente-musicas-geradas-por-ia-em-um-jogo-que-vendo" tabindex="-1">Posso usar legalmente músicas geradas por IA em um jogo que vendo? <a class="header-anchor" href="#posso-usar-legalmente-musicas-geradas-por-ia-em-um-jogo-que-vendo" aria-label="Permalink to &quot;Posso usar legalmente músicas geradas por IA em um jogo que vendo?&quot;"></a></h3>
<p>Geralmente sim, com um plano pago ou um modelo aberto com licença permissiva, mas os detalhes importam. Os planos gratuitos quase sempre restringem o uso comercial, uma licença comercial não é o mesmo que deter os direitos autorais e ferramentas treinadas com dados não licenciados apresentam risco judicial. Verifique a licença específica, guarde o comprovante da sua assinatura e divulgue o uso de conteúdo de IA onde sua plataforma exigir.</p>
<h3 id="quais-geradores-de-musica-por-ia-posso-executar-no-meu-proprio-hardware" tabindex="-1">Quais geradores de música por IA posso executar no meu próprio hardware? <a class="header-anchor" href="#quais-geradores-de-musica-por-ia-posso-executar-no-meu-proprio-hardware" aria-label="Permalink to &quot;Quais geradores de música por IA posso executar no meu próprio hardware?&quot;"></a></h3>
<p>Stable Audio 3 (os modelos Small rodam em uma CPU; os Medium, em uma GPU para consumidores), ACE-Step, YuE, DiffRhythm 2 e Magenta RealTime são todos abertos e podem ser hospedados localmente. Verifique a licença dos pesos, não apenas a do código: os pesos do MusicGen não permitem uso comercial, enquanto o ACE-Step (MIT) e o Stable Audio (Community License) permitem.</p>
<h3 id="como-faco-para-criar-musica-em-loop-ou-adaptativa-para-um-jogo" tabindex="-1">Como faço para criar música em loop ou adaptativa para um jogo? <a class="header-anchor" href="#como-faco-para-criar-musica-em-loop-ou-adaptativa-para-um-jogo" aria-label="Permalink to &quot;Como faço para criar música em loop ou adaptativa para um jogo?&quot;"></a></h3>
<p>Gere uma faixa mais longa e corte-a para formar um loop contínuo ou use continuação e inpainting para conectar as extremidades. Para stems, use o Suno Studio ou o modo de remix do ACE-Step. Para músicas em tempo real que reagem à jogabilidade, o Magenta RealTime foi desenvolvido para direcionamento ao vivo, enquanto os streams por clima do Mubert são adequados para camadas de fundo infinitas.</p>
<hr>
<h2 id="mais-leituras" tabindex="-1">Mais leituras <a class="header-anchor" href="#mais-leituras" aria-label="Permalink to &quot;Mais leituras&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/frontier-gen-ai-models.html">Melhores modelos generativos de IA de código aberto para jogos</a>, uma visão geral completa dos modelos abertos para vídeo, imagem, 3D, áudio e voz</li>
<li><a href="/pt-BR/guides/ai-asset-generators-games.html">Melhores geradores de recursos por IA para jogos</a>, geração de modelos 3D, texturas e áudio em conjunto</li>
<li><a href="/pt-BR/guides/ai-voice-acting-games.html">Dublagem por IA para jogos</a>, a mesma questão de ferramentas aplicada a diálogos e narração</li>
<li><a href="/pt-BR/guides/free-sound-effects-music.html">Efeitos sonoros e músicas grátis para jogos</a>, bibliotecas CC0 para combinar com a geração por IA</li>
<li><a href="/pt-BR/guides/game-asset-licenses.html">Entenda as licenças de recursos para jogos</a>, como o licenciamento de músicas se relaciona com sua arte e seu código</li>
<li><a href="/pt-BR/ai-content.html">Política sobre conteúdo gerado por IA</a>, como lidamos com a divulgação do uso de IA</li>
</ul>
<BuildCta
  title="Gere um jogo e sua trilha sonora em um só lugar"
  desc="A música é mais divertida quando serve de trilha para um jogo que você realmente criou."
  prompt="Crie um jogo de ritmo ambientado em uma cidade neon, no qual a batida controla os obstáculos" />
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/ai-music-generators-games.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Comparativo de plataformas chinesas de minijogos e HTML5 (2026)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/china-mini-game-platforms</link>
            <guid>https://app.cinevva.com/pt-BR/guides/china-mini-game-platforms</guid>
            <pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Comparativo das plataformas que distribuem jogos HTML5 e minijogos na China. WeChat, Douyin, QQ, 4399, Kuaishou, Alipay e Meituan em alcance, participação na receita, público e requisitos para publicar em cada uma.]]></description>
            <content:encoded><![CDATA[<h1 id="comparativo-de-plataformas-chinesas-de-minijogos-e-html5-2026" tabindex="-1">Comparativo de plataformas chinesas de minijogos e HTML5 (2026) <a class="header-anchor" href="#comparativo-de-plataformas-chinesas-de-minijogos-e-html5-2026" aria-label="Permalink to &quot;Comparativo de plataformas chinesas de minijogos e HTML5 (2026)&quot;"></a></h1>
<figure style="margin:1.5rem 0">
<img src="https://cdn.cinevva.com/guides/china-mini-game-platforms-hero.jpg?v=1" alt="Comparativo de plataformas chinesas de minijogos e HTML5 em 2026" style="width:100%;border-radius:10px">
</figure>
<p>No Ocidente, “publicar um jogo web” significa itch.io, Poki, CrazyGames e Newgrounds. A China tem sua própria versão desse mapa, e ela é enorme. O mercado de minijogos movimentou cerca de US$ 7,65 bilhões em 2025 e deve chegar a aproximadamente US$ 20 bilhões até 2030. As plataformas são diferentes, os mecanismos de descoberta são diferentes e as regras para entrar nelas também são diferentes. Este é o guia de campo.</p>
<p>Para conhecer o equivalente ocidental, veja os <a href="/pt-BR/guides/publish-web-game.html">melhores lugares para publicar um jogo web</a>. Esta página é o mapa da China. Se você quiser entender melhor o processo para conseguir uma listagem e receber pagamentos, o <a href="/pt-BR/guides/publish-wechat-douyin-mini-games.html">guia de publicação no WeChat e no Douyin</a> aborda mais a fundo o licenciamento e a participação na receita.</p>
<h2 id="as-duas-plataformas-mais-importantes" tabindex="-1">As duas plataformas mais importantes <a class="header-anchor" href="#as-duas-plataformas-mais-importantes" aria-label="Permalink to &quot;As duas plataformas mais importantes&quot;"></a></h2>
<p>Juntos, WeChat e Douyin ficam com mais de 90% da receita de minijogos da China. Se você for lançar em apenas duas plataformas, escolha essas.</p>
<p>O WeChat Mini Games é o gigante. Aproximadamente 500 a 570 milhões de jogadores mensais acessam jogos dentro do aplicativo que um bilhão de pessoas usam para mensagens e pagamentos. A descoberta é social: os jogos se espalham entre amigos e grupos de conversa. Existem mais de 400 mil desenvolvedores de minijogos para WeChat, e mais de 300 equipes ultrapassam 10 milhões de yuans em receita trimestral. A plataforma recompensa a retenção e as recomendações boca a boca, e sua economia de compras dentro do aplicativo é robusta. Se o seu jogo tem um ciclo que faz as pessoas voltarem e um motivo para elas contarem aos amigos, é no WeChat que esse efeito se multiplica.</p>
<p>O Douyin Mini Games é o concorrente em rápida ascensão. São cerca de 170 milhões de jogadores mensais, mas a receita cresceu aproximadamente 100% e o número de usuários, cerca de 120% em relação ao ano anterior em 2025. A descoberta é algorítmica e impulsionada por vídeos curtos. Um ótimo clipe no feed pode atrair uma onda de jogadores. O Douyin oferece condições agressivas, com alguns parceiros preferenciais ficando com até 90% dos ganhos, e seu selo Ohayoo é especializado na publicação de jogos hipercasuais. Se o seu jogo parecer irresistível em cinco segundos, o feed do Douyin será um motor de crescimento que o WeChat não consegue igualar.</p>
<h2 id="o-restante-do-mercado" tabindex="-1">O restante do mercado <a class="header-anchor" href="#o-restante-do-mercado" aria-label="Permalink to &quot;O restante do mercado&quot;"></a></h2>
<p>Além das duas gigantes, vale a pena conhecer várias outras plataformas, principalmente para alcançar públicos que elas não dominam por completo.</p>
<p>O QQ Mini Games é a outra plataforma social da Tencent e tem um público mais jovem que o WeChat. Se o seu jogo é voltado para adolescentes e estudantes, o perfil demográfico do QQ é um bom motivo para estar lá, e fazer parte do ecossistema da Tencent pode simplificar algumas integrações.</p>
<p>O 4399 é um veterano da era chinesa dos jogos casuais para web, um portal anterior ao crescimento explosivo dos minijogos e que ainda atrai um grande público casual. Ele e outras empresas consolidadas semelhantes (BoKe, Tanwan e outras) expandiram sua atuação para os minijogos sem abandonar os pontos fortes de seus portais casuais tradicionais. É uma boa opção para títulos casuais simples e diretos.</p>
<p>O Kuaishou é o principal rival do Douyin no segmento de vídeos curtos, com o mesmo modelo de descoberta algorítmica e um público maior em áreas rurais e cidades de menor porte. Até agora, sua receita com minijogos é menor, mas sua base de usuários é distinta.</p>
<p>Alipay e Meituan completam o cenário. Ambas estão ganhando força no segmento de minijogos graças às suas gigantescas bases de usuários transacionais — pagamentos e entregas de comida —, mas ainda estão em uma fase inicial. O alcance é enorme, porém a participação no mercado de jogos ainda é pequena. Portanto, por enquanto, são apostas em nichos ou em uma posição pioneira antes que o espaço fique concorrido, e não canais principais.</p>
<h2 id="comparativo-rapido" tabindex="-1">Comparativo rápido <a class="header-anchor" href="#comparativo-rapido" aria-label="Permalink to &quot;Comparativo rápido&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Plataforma</th>
<th>Jogadores mensais</th>
<th>Descoberta</th>
<th>Condições de receita</th>
<th>Melhor para</th>
</tr>
</thead>
<tbody>
<tr>
<td>WeChat</td>
<td>~500–570 milhões</td>
<td>Compartilhamento social, de amigo para amigo</td>
<td>Anúncios ~50/50; desenvolvedor fica com ~60–70% das compras no app</td>
<td>Jogos focados em retenção e compartilhamento social</td>
</tr>
<tr>
<td>Douyin</td>
<td>~170 milhões</td>
<td>Vídeos curtos recomendados por algoritmo</td>
<td>Parceiros preferenciais ficam com até ~90%</td>
<td>Jogos hipercasuais com forte apelo visual</td>
</tr>
<tr>
<td>QQ</td>
<td>Grande público, mais jovem</td>
<td>Social, ecossistema da Tencent</td>
<td>Condições da Tencent</td>
<td>Público adolescente e estudantil</td>
</tr>
<tr>
<td>4399</td>
<td>Grande base casual</td>
<td>Navegação pelo portal</td>
<td>Condições do portal</td>
<td>Jogos casuais simples e diretos</td>
</tr>
<tr>
<td>Kuaishou</td>
<td>Em crescimento</td>
<td>Vídeos curtos recomendados por algoritmo</td>
<td>Negociadas</td>
<td>Alcance em cidades de menor porte e áreas rurais</td>
</tr>
<tr>
<td>Alipay / Meituan</td>
<td>Enorme, ainda inicial para jogos</td>
<td>Destaque dentro de aplicativos transacionais</td>
<td>Condições de estágio inicial</td>
<td>Apostas em nichos e posicionamento pioneiro</td>
</tr>
</tbody>
</table>
<p>O número de jogadores e as condições mudam conforme o mercado e as promoções. Portanto, considere esses dados como um retrato geral do setor, não como números fixos.</p>
<h2 id="como-escolher" tabindex="-1">Como escolher <a class="header-anchor" href="#como-escolher" aria-label="Permalink to &quot;Como escolher&quot;"></a></h2>
<p>Escolha a plataforma de acordo com a forma como seu jogo é descoberto, e não apenas com o tamanho dela.</p>
<p>Se o seu jogo faz as pessoas voltarem e incentiva o compartilhamento, o WeChat é onde a retenção se transforma em crescimento. Se for um título hipercasual cujo sucesso depende de um ótimo clipe, o feed do Douyin é o motor mais forte do mercado. Se você busca um público jovem, vale a pena fazer a integração adicional com o QQ. Para um jogo casual simples, o 4399 e outros portais são boas opções. E como a licença e a versão do jogo podem ser aproveitadas em várias plataformas, lançar em mais de uma das duas maiores costuma ser a regra, não a exceção.</p>
<p>A maior barreira é a mesma em todas elas: um jogo monetizado precisa de uma licença chinesa e de uma operadora local para detê-la. Isso é explicado no <a href="/pt-BR/guides/publish-wechat-douyin-mini-games.html">guia de publicação</a> e se aplica a toda esta tabela.</p>
<h2 id="onde-a-cinevva-entra" tabindex="-1">Onde a Cinevva entra <a class="header-anchor" href="#onde-a-cinevva-entra" aria-label="Permalink to &quot;Onde a Cinevva entra&quot;"></a></h2>
<p>Nenhuma dessas plataformas é o lugar ideal para descobrir se o seu jogo é divertido. A licença, o parceiro local e a análise da plataforma tornam muito caro apostar em uma ideia que ainda não foi testada. A Cinevva é a etapa barata do início do funil: crie um jogo para navegador em minutos, apresente-o a jogadores reais e descubra quais títulos têm o ciclo de retenção do WeChat ou o apelo imediato do Douyin antes de pagar para entrar na China. As plataformas de minijogos recompensam as mesmas qualidades de um bom jogo web — acesso instantâneo e nenhuma instalação —, então um jogo que funciona no navegador já fala a língua delas.</p>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="quais-sao-as-maiores-plataformas-de-minijogos-da-china" tabindex="-1">Quais são as maiores plataformas de minijogos da China? <a class="header-anchor" href="#quais-sao-as-maiores-plataformas-de-minijogos-da-china" aria-label="Permalink to &quot;Quais são as maiores plataformas de minijogos da China?&quot;"></a></h3>
<p>WeChat Mini Games e Douyin Mini Games, que juntas ficam com mais de 90% da receita do mercado. O WeChat tem cerca de 500 a 570 milhões de jogadores mensais, enquanto o Douyin tem aproximadamente 170 milhões e cresce rapidamente.</p>
<h3 id="existe-um-equivalente-chines-ao-itch-io-ou-ao-poki" tabindex="-1">Existe um equivalente chinês ao itch.io ou ao Poki? <a class="header-anchor" href="#existe-um-equivalente-chines-ao-itch-io-ou-ao-poki" aria-label="Permalink to &quot;Existe um equivalente chinês ao itch.io ou ao Poki?&quot;"></a></h3>
<p>Não exatamente. Os equivalentes mais próximos são as plataformas de minijogos dentro de superaplicativos — WeChat, Douyin e QQ — e portais casuais tradicionais, como o 4399. A descoberta acontece por meio de redes sociais e algoritmos de vídeos curtos, e não em um site independente de jogos.</p>
<h3 id="preciso-de-uma-versao-diferente-para-cada-plataforma-chinesa" tabindex="-1">Preciso de uma versão diferente para cada plataforma chinesa? <a class="header-anchor" href="#preciso-de-uma-versao-diferente-para-cada-plataforma-chinesa" aria-label="Permalink to &quot;Preciso de uma versão diferente para cada plataforma chinesa?&quot;"></a></h3>
<p>Geralmente, é preciso fazer adaptações específicas para cada plataforma — login, anúncios e SDKs de pagamento são diferentes —, mas o jogo principal e sua licença podem ser aproveitados entre elas. Engines como Cocos e LayaAir permitem criar versões para várias plataformas chinesas a partir de um único projeto.</p>
<h3 id="qual-e-a-melhor-plataforma-para-um-jogo-hipercasual" tabindex="-1">Qual é a melhor plataforma para um jogo hipercasual? <a class="header-anchor" href="#qual-e-a-melhor-plataforma-para-um-jogo-hipercasual" aria-label="Permalink to &quot;Qual é a melhor plataforma para um jogo hipercasual?&quot;"></a></h3>
<p>O Douyin, porque seu feed de vídeos curtos pode gerar uma onda viral de jogadores para um jogo com forte apelo visual, e suas condições de receita para parceiros preferenciais são generosas. A Ohayoo, selo do Douyin, é especializada em jogos hipercasuais.</p>
<h3 id="qual-e-o-tamanho-do-mercado-chines-de-minijogos" tabindex="-1">Qual é o tamanho do mercado chinês de minijogos? <a class="header-anchor" href="#qual-e-o-tamanho-do-mercado-chines-de-minijogos" aria-label="Permalink to &quot;Qual é o tamanho do mercado chinês de minijogos?&quot;"></a></h3>
<p>Cerca de US$ 7,65 bilhões em 2025, um aumento de aproximadamente 34% em relação ao ano anterior, com previsões próximas de US$ 20 bilhões até 2030.</p>
<BuildCta
  title="Encontre seu canal testando o jogo"
  desc="Crie no navegador, observe como os jogadores reagem e escolha a plataforma mais adequada."
  prompt="Crie um jogo colorido de empilhar objetos com física que seja difícil de largar" />
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/publish-wechat-douyin-mini-games.html">Como publicar minijogos no WeChat e no Douyin</a> — licenças, análise e participação na receita</li>
<li><a href="/pt-BR/guides/wechat-mini-game-engines.html">Engines de jogos para o WeChat Mini Games</a> — crie para a plataforma</li>
<li><a href="/pt-BR/guides/localize-web-game-china.html">Como localizar um jogo web para a China</a> — fontes, hospedagem e pagamentos</li>
<li><a href="/pt-BR/guides/publish-web-game.html">Melhores lugares para publicar um jogo web</a> — o mercado ocidental</li>
<li><a href="/pt-BR/guides/casual-games-trends-2026.html">Tendências dos jogos casuais em 2026</a> — os rumos do mercado casual</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/china-mini-game-platforms-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Localizando um jogo web para a China (2026)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/localize-web-game-china</link>
            <guid>https://app.cinevva.com/pt-BR/guides/localize-web-game-china</guid>
            <pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[O que realmente é necessário para levar um jogo web à China em 2026. Chinês simplificado e fontes, registro ICP, hospedagem dentro do Grande Firewall, WeChat Pay e Alipay e os serviços de terceiros que param de funcionar silenciosamente.]]></description>
            <content:encoded><![CDATA[<h1 id="localizando-um-jogo-web-para-a-china-2026" tabindex="-1">Localizando um jogo web para a China (2026) <a class="header-anchor" href="#localizando-um-jogo-web-para-a-china-2026" aria-label="Permalink to &quot;Localizando um jogo web para a China (2026)&quot;"></a></h1>
<figure style="margin:1.5rem 0">
<img src="https://cdn.cinevva.com/guides/localize-web-game-china-hero.jpg?v=1" alt="Localização de um jogo web para a China em 2026" style="width:100%;border-radius:10px">
</figure>
<p>Localizar um jogo web para a China não é apenas traduzi-lo. A tradução é a parte fácil, os 10%. Os outros 90% são difíceis porque o ambiente técnico e jurídico é diferente: suas fontes, sua hospedagem, seu provedor de pagamentos e metade dos serviços de terceiros dos quais você depende discretamente mudam ou deixam de funcionar ao cruzar a fronteira. Este guia é uma lista do que realmente precisa ser feito.</p>
<p>Se o seu alvo são especificamente os Mini Games, consulte também o <a href="/pt-BR/guides/publish-wechat-douyin-mini-games.html">guia de publicação no WeChat e no Douyin</a>. Esta página aborda o caso mais amplo dos jogos web, seja para uma plataforma de Mini Games ou para um site independente.</p>
<h2 id="idioma-chines-simplificado-do-jeito-certo" tabindex="-1">Idioma: chinês simplificado, do jeito certo <a class="header-anchor" href="#idioma-chines-simplificado-do-jeito-certo" aria-label="Permalink to &quot;Idioma: chinês simplificado, do jeito certo&quot;"></a></h2>
<p>Comece pelo chinês simplificado (简体中文), o padrão de escrita da China continental. O chinês tradicional é usado em Hong Kong e Taiwan e não é intercambiável. Escolha a variante certa antes de qualquer outra coisa.</p>
<p>Depois, cuide das partes que a tradução automática não resolve. O texto em chinês é mais denso do que em inglês, então uma interface ajustada para textos em inglês terá espaços em branco estranhos, e botões dimensionados para &quot;Continue&quot; ficam esquisitos contendo apenas dois caracteres. As quebras de linha funcionam de outra forma porque não há espaços entre as palavras. E o tom importa: uma tradução literal soa robótica para jogadores chineses exatamente como uma tradução literal do chinês para o inglês soa robótica para você. Reserve orçamento para uma revisão feita por um falante nativo, não apenas para o resultado gerado por um modelo.</p>
<h2 id="fontes-a-armadilha-que-ninguem-espera" tabindex="-1">Fontes: a armadilha que ninguém espera <a class="header-anchor" href="#fontes-a-armadilha-que-ninguem-espera" aria-label="Permalink to &quot;Fontes: a armadilha que ninguém espera&quot;"></a></h2>
<p>É aqui que a maioria dos jogos web ocidentais tropeça. Você não pode carregar fontes chinesas do Google Fonts, porque o Google é bloqueado na China continental e a solicitação simplesmente falha. Uma página que aparece perfeitamente no seu computador exibe texto quebrado ou uma fonte substituta dentro do Firewall.</p>
<p>Para piorar, as fontes chinesas são enormes. Uma fonte CJK completa abrange dezenas de milhares de glifos e pode ocupar dezenas de megabytes, o que é inviável para um jogo web e completamente impossível diante dos limites de tamanho dos pacotes de Mini Games. As soluções: use as fontes do sistema que já estão disponíveis em cada dispositivo ou crie um subconjunto da fonte apenas com os caracteres realmente usados pelo jogo e hospede-o você mesmo. De qualquer forma, hospede a fonte dentro da China. Não dependa de uma CDN de fontes externa.</p>
<h2 id="hospedagem-dentro-da-muralha-ou-lenta-fora-dela" tabindex="-1">Hospedagem: dentro da muralha ou lenta fora dela <a class="header-anchor" href="#hospedagem-dentro-da-muralha-ou-lenta-fora-dela" aria-label="Permalink to &quot;Hospedagem: dentro da muralha ou lenta fora dela&quot;"></a></h2>
<p>O local de onde seu jogo é servido determina a experiência do jogador. Hospede-o fora da China continental e cada solicitação passará lentamente pela inspeção do Grande Firewall, adicionando uma latência que faz um jogo em tempo real parecer defeituoso. Hospede-o dentro da China continental e ele será rápido, mas a hospedagem na China exige o registro ICP.</p>
<p>O registro ICP (Provedor de Conteúdo de Internet) é um cadastro no Ministério da Indústria e Tecnologia da Informação da China, obrigatório para qualquer site servido por servidores localizados na China continental. Ele existe em duas modalidades: um registro básico (备案) para sites não comerciais e uma licença ICP comercial para sites que vendem, exibem publicidade ou recebem pagamentos, o que inclui um jogo monetizado. Um jogo com operação comercial também costuma precisar de uma Licença Comercial de Cultura na Internet (网络文化经营许可证). O número ICP precisa aparecer no rodapé do site, com um link para o site governamental de registros. O processo leva semanas e exige uma empresa local, mais um motivo pelo qual estúdios estrangeiros trabalham com um parceiro chinês.</p>
<p>No entanto, o registro ICP cobre apenas a hospedagem. Um jogo monetizado também precisa da aprovação ISBN para jogos (版号, o &quot;banhao&quot;), que só pode ser obtida por meio de uma publicadora chinesa licenciada. Nosso <a href="/pt-BR/guides/publish-wechat-douyin-mini-games.html">guia de publicação no WeChat e no Douyin</a> explica todo o processo de licenciamento.</p>
<p>O registro não é apenas burocracia. Ele é a chave que libera todo o resto: hospedagem no país, uma CDN chinesa para distribuição rápida em todo o território e integração de pagamentos.</p>
<h2 id="pagamentos-wechat-pay-e-alipay-nao-stripe" tabindex="-1">Pagamentos: WeChat Pay e Alipay, não Stripe <a class="header-anchor" href="#pagamentos-wechat-pay-e-alipay-nao-stripe" aria-label="Permalink to &quot;Pagamentos: WeChat Pay e Alipay, não Stripe&quot;"></a></h2>
<p>Os jogadores chineses não usam os mesmos cartões e carteiras digitais utilizados no restante do mundo. Os pagamentos são feitos pelo WeChat Pay e pelo Alipay, ponto final. Stripe, PayPal e fluxos de pagamento com cartões ocidentais não são a solução. A integração do WeChat Pay ou do Alipay exige hospedagem no país e uma licença ICP, portanto pagamentos, hospedagem e registro formam um único problema conectado, não três problemas separados. Planeje tudo em conjunto.</p>
<h2 id="os-servicos-que-param-de-funcionar-silenciosamente" tabindex="-1">Os serviços que param de funcionar silenciosamente <a class="header-anchor" href="#os-servicos-que-param-de-funcionar-silenciosamente" aria-label="Permalink to &quot;Os serviços que param de funcionar silenciosamente&quot;"></a></h2>
<p>Os bugs mais dolorosos de um lançamento na China são aqueles que só aparecem quando um jogador dentro do Firewall abre o jogo. Qualquer conteúdo que seu jogo busque em um serviço bloqueado não será carregado, muitas vezes sem exibir erro algum, mesmo depois que a hospedagem e o registro estiverem corretos. As vítimas mais comuns:</p>
<p>Google Fonts, Google Analytics e qualquer outro serviço do Google. Bloqueados. Substitua-os por fontes hospedadas por você e por um provedor de análise de dados nacional.</p>
<p>YouTube e vídeos incorporados de plataformas ocidentais. Bloqueados. Use um serviço de hospedagem de vídeos nacional se você incorporar trailers.</p>
<p>Facebook, Twitter, seus SDKs e botões de compartilhamento. Bloqueados. Substitua-os pelo compartilhamento no WeChat e no Weibo.</p>
<p>CDNs externas e serviços de hospedagem de scripts nos quais você nem pensou. Alguns funcionam, muitos não. Faça uma auditoria de todas as URLs de terceiros carregadas pelo seu jogo e considere cada uma culpada até comprovar que está acessível.</p>
<p>A regra é: se um recurso é servido por uma empresa bloqueada na China, ele não funcionará para os jogadores chineses, independentemente de todo o restante da configuração estar correto. Hospede você mesmo ou encontre um equivalente nacional para cada dependência.</p>
<h2 id="analise-de-conteudo" tabindex="-1">Análise de conteúdo <a class="header-anchor" href="#analise-de-conteudo" aria-label="Permalink to &quot;Análise de conteúdo&quot;"></a></h2>
<p>A China analisa o conteúdo dos jogos, e os padrões são diferentes dos adotados pelas plataformas ocidentais. Temas, imagens e textos aprovados em outros lugares podem ser sinalizados. Essa é outra área em que uma publicadora local justifica sua participação na receita, pois conhece os limites e pode revisar o jogo antes do envio, em vez de agir somente depois de uma rejeição. Inclua a etapa de análise no cronograma em vez de tratá-la como uma formalidade no final.</p>
<h2 id="lista-de-verificacao-da-localizacao" tabindex="-1">Lista de verificação da localização <a class="header-anchor" href="#lista-de-verificacao-da-localizacao" aria-label="Permalink to &quot;Lista de verificação da localização&quot;"></a></h2>
<p>Traduza para o chinês simplificado e faça uma revisão de tom com um falante nativo, sem depender apenas de tradução automática.</p>
<p>Ajuste a interface para textos mais densos e regras diferentes de quebra de linha.</p>
<p>Hospede você mesmo os subconjuntos de fontes ou use fontes do sistema. Nunca carregue fontes chinesas de uma CDN bloqueada.</p>
<p>Decida a hospedagem: dentro da China continental, com um registro ICP para ter velocidade e pagamentos, ou fora dela, aceitando a lentidão.</p>
<p>Integre o WeChat Pay e o Alipay para qualquer recurso monetizado.</p>
<p>Faça uma auditoria de todos os recursos de terceiros e substitua aqueles que estiverem bloqueados.</p>
<p>Planeje a análise de conteúdo com um parceiro local.</p>
<h2 id="onde-a-cinevva-entra" tabindex="-1">Onde a Cinevva entra <a class="header-anchor" href="#onde-a-cinevva-entra" aria-label="Permalink to &quot;Onde a Cinevva entra&quot;"></a></h2>
<p>A versão sincera: o jogo é a parte portátil, enquanto a camada chinesa envolve distribuição e conformidade. A Cinevva cria jogos nativos da web que já podem ser executados por um link, sem instalação, que é o formato desejado pelas plataformas chinesas. Mas não vamos fingir que o registro ICP, a publicadora local ou a integração de pagamentos são coisas que uma ferramenta faz desaparecer. O que tornamos barato é a etapa anterior a tudo isso. Crie o jogo, comprove que vale a pena localizá-lo e só invista na infraestrutura para a China quando souber que ele merece esse investimento. A maioria dos jogos não precisa enfrentar essa lista de exigências. Para os que precisam, vale a pena fazer tudo corretamente.</p>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="preciso-de-uma-licenca-icp-para-operar-um-jogo-web-na-china" tabindex="-1">Preciso de uma licença ICP para operar um jogo web na China? <a class="header-anchor" href="#preciso-de-uma-licenca-icp-para-operar-um-jogo-web-na-china" aria-label="Permalink to &quot;Preciso de uma licença ICP para operar um jogo web na China?&quot;"></a></h3>
<p>Para hospedá-lo na China continental, sim. Sites não comerciais precisam de um registro ICP básico (备案); sites comerciais que vendem, exibem publicidade ou recebem pagamentos precisam de uma licença ICP comercial, e um jogo monetizado geralmente também precisa de uma Licença Comercial de Cultura na Internet. A hospedagem fora da China continental evita o registro, mas deixa o jogo lento devido ao Grande Firewall.</p>
<h3 id="por-que-minhas-fontes-nao-funcionam-na-china" tabindex="-1">Por que minhas fontes não funcionam na China? <a class="header-anchor" href="#por-que-minhas-fontes-nao-funcionam-na-china" aria-label="Permalink to &quot;Por que minhas fontes não funcionam na China?&quot;"></a></h3>
<p>Quase sempre porque você as está carregando do Google Fonts ou de outra CDN bloqueada, que não funciona dentro do Firewall. As fontes chinesas também são muito grandes, então a solução é criar um subconjunto da fonte apenas com os glifos utilizados e hospedá-lo você mesmo ou usar as fontes do sistema do dispositivo.</p>
<h3 id="posso-usar-stripe-ou-paypal-em-um-jogo-na-china" tabindex="-1">Posso usar Stripe ou PayPal em um jogo na China? <a class="header-anchor" href="#posso-usar-stripe-ou-paypal-em-um-jogo-na-china" aria-label="Permalink to &quot;Posso usar Stripe ou PayPal em um jogo na China?&quot;"></a></h3>
<p>Não. Os jogadores chineses pagam com WeChat Pay e Alipay. A integração de qualquer um deles exige hospedagem no país e uma licença ICP, portanto pagamentos, hospedagem e registro fazem parte de um único projeto conectado.</p>
<h3 id="quais-servicos-de-terceiros-nao-funcionam-na-china" tabindex="-1">Quais serviços de terceiros não funcionam na China? <a class="header-anchor" href="#quais-servicos-de-terceiros-nao-funcionam-na-china" aria-label="Permalink to &quot;Quais serviços de terceiros não funcionam na China?&quot;"></a></h3>
<p>Qualquer serviço de uma empresa bloqueada no país: Google (Fonts, Analytics), YouTube, SDKs do Facebook e do Twitter e muitas CDNs externas. Faça uma auditoria de todas as URLs carregadas pelo jogo e substitua as bloqueadas por recursos hospedados por você ou por provedores nacionais.</p>
<h3 id="traduzir-para-o-chines-e-suficiente-para-localizar-um-jogo" tabindex="-1">Traduzir para o chinês é suficiente para localizar um jogo? <a class="header-anchor" href="#traduzir-para-o-chines-e-suficiente-para-localizar-um-jogo" aria-label="Permalink to &quot;Traduzir para o chinês é suficiente para localizar um jogo?&quot;"></a></h3>
<p>Não. A tradução é apenas uma pequena parte. Você também precisa lidar com textos mais densos e quebras de linha, fontes hospedadas por você, hospedagem e registro no país, pagamentos locais, serviços de terceiros bloqueados e análise de conteúdo. O idioma é a camada mais fácil.</p>
<BuildCta
  title="Crie o jogo primeiro, localize o que provar seu valor"
  desc="Crie um jogo nativo da web em minutos e valide-o antes de investir na infraestrutura para a China."
  prompt="Crie um jogo aconchegante de fazenda com ciclos de dia e noite" />
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/publish-wechat-douyin-mini-games.html">Como publicar nos Mini Games do WeChat e do Douyin</a> — licenças, análise e participação na receita</li>
<li><a href="/pt-BR/guides/china-mini-game-platforms.html">Comparação entre plataformas chinesas de Mini Games e HTML5</a> — onde distribuir</li>
<li><a href="/pt-BR/guides/wechat-mini-game-engines.html">Engines de jogos para Mini Games do WeChat</a> — desenvolva para a plataforma</li>
<li><a href="/pt-BR/guides/publish-web-game.html">Melhores lugares para publicar um jogo web</a> — o mercado ocidental</li>
<li><a href="/pt-BR/guides/publish-web-game.html">Como publicar um jogo web</a> — coloque o jogo no ar em qualquer lugar primeiro</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/localize-web-game-china-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Como publicar nos Mini Games do WeChat e Douyin (2026)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/publish-wechat-douyin-mini-games</link>
            <guid>https://app.cinevva.com/pt-BR/guides/publish-wechat-douyin-mini-games</guid>
            <pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[O processo real para publicar um Mini Game na China em 2026. A licença ISBN/banhao, por que um estúdio estrangeiro precisa de uma publicadora local, a participação na receita do WeChat e do Douyin e como as duas plataformas realmente se diferenciam.]]></description>
            <content:encoded><![CDATA[<h1 id="como-publicar-nos-mini-games-do-wechat-e-douyin-2026" tabindex="-1">Como publicar nos Mini Games do WeChat e Douyin (2026) <a class="header-anchor" href="#como-publicar-nos-mini-games-do-wechat-e-douyin-2026" aria-label="Permalink to &quot;Como publicar nos Mini Games do WeChat e Douyin (2026)&quot;"></a></h1>
<figure style="margin:1.5rem 0">
<img src="https://cdn.cinevva.com/guides/publish-wechat-douyin-mini-games-hero.jpg?v=1" alt="Publicação nos Mini Games do WeChat e Douyin em 2026" style="width:100%;border-radius:10px">
</figure>
<p>O mercado de Mini Games da China movimentou cerca de US$ 7,65 bilhões em 2025, uma alta de aproximadamente 34% em relação ao ano anterior, e as projeções indicam que ele chegará perto de US$ 20 bilhões até 2030. Duas plataformas concentram mais de 90% desse mercado: WeChat Mini Games e Douyin Mini Games. Se você criou um jogo e quer disputar espaço nesse mercado, este é o processo que realmente terá de seguir. Ele tem menos a ver com o jogo em si e mais com licenciamento, um parceiro local e a escolha da plataforma certa.</p>
<p>Se você ainda não escolheu uma engine, comece por <a href="/pt-BR/guides/wechat-mini-game-engines.html">engines de jogos para WeChat Mini Games</a>. Este guia pressupõe que você já tem uma build e explica como publicá-la e receber por ela.</p>
<h2 id="a-licenca-e-a-porta-de-entrada" tabindex="-1">A licença é a porta de entrada <a class="header-anchor" href="#a-licenca-e-a-porta-de-entrada" aria-label="Permalink to &quot;A licença é a porta de entrada&quot;"></a></h2>
<p>Todos os jogos distribuídos na China, desde títulos AAA para consoles até um Mini Game executado dentro de um aplicativo de mensagens, estão sujeitos ao mesmo regime de licenciamento. Dois documentos são importantes.</p>
<p>O direito autoral do software (软著) é o mais fácil de obter: trata-se de um registro de autoria. O documento que define a viabilidade do seu negócio é o ISBN, ou 版号 (banhao), a licença de publicação emitida pelo órgão regulador. Na prática, um Mini Game que aceita pagamentos no aplicativo precisa de um banhao. Historicamente, jogos gratuitos ou monetizados apenas com anúncios enfrentaram um processo mais simples, mas as regras ficam mais rígidas com o tempo, e o mais seguro é presumir que qualquer monetização significativa acabará exigindo a licença.</p>
<p>Aqui está a parte que impede a maioria dos estúdios estrangeiros de avançar: somente uma entidade chinesa aprovada pode deter a licença e operar um jogo monetizado. Você não pode obter um banhao como empresa estrangeira. A publicação acontece por meio de uma operadora chinesa licenciada, que detém a licença, processa os pagamentos e fica com uma porcentagem. Isso não é uma mera formalidade que possa ser contornada. É a estrutura do mercado.</p>
<p>A boa notícia é que a <a href="/pt-BR/news/2026-01-06-china-game-approvals-2025.html">China aprovou 1.771 jogos em 2025</a>, o maior número desde 2018, e o ritmo mensal tem se mantido estável. O processo, que antes parava de maneira imprevisível, voltou a funcionar com regularidade, permitindo um nível de planejamento que não era possível alguns anos atrás.</p>
<h2 id="o-que-um-estudio-estrangeiro-realmente-precisa-fazer" tabindex="-1">O que um estúdio estrangeiro realmente precisa fazer <a class="header-anchor" href="#o-que-um-estudio-estrangeiro-realmente-precisa-fazer" aria-label="Permalink to &quot;O que um estúdio estrangeiro realmente precisa fazer&quot;"></a></h2>
<p>A sequência mais realista é esta.</p>
<p>Encontre uma publicadora ou operadora chinesa. Essa é a decisão que sustenta todo o processo. Ela detém a licença, cuida da solicitação do banhao, integra os pagamentos e muitas vezes ajuda com a análise cultural e o relacionamento com as plataformas. A porcentagem cobrada e a competência dela são os dois fatores que podem determinar o sucesso ou o fracasso do acordo.</p>
<p>Registre a conta do Mini Game. Uma conta monetizada precisa estar vinculada a uma empresa chinesa, que, na prática, será a sua publicadora, não você.</p>
<p>Desenvolva para a plataforma. Empacote o jogo com a engine e o adaptador corretos, mantenha-o abaixo do limite do pacote inicial e integre os SDKs de login, anúncios e pagamentos da plataforma.</p>
<p>Envie para análise. Todo Mini Game passa por uma análise da plataforma antes de ser disponibilizado ao público, além do processo de licenciamento. Conteúdos aceitos em outros lugares podem ser sinalizados, portanto, quanto antes sua publicadora analisá-los, menos surpresas você terá.</p>
<p>Lance e faça melhorias contínuas. As duas plataformas valorizam operações ao vivo, eventos e atualizações. Um Mini Game é um serviço, não um produto lançado uma única vez.</p>
<h2 id="wechat-vs-douyin-duas-maquinas-diferentes" tabindex="-1">WeChat vs. Douyin: duas máquinas diferentes <a class="header-anchor" href="#wechat-vs-douyin-duas-maquinas-diferentes" aria-label="Permalink to &quot;WeChat vs. Douyin: duas máquinas diferentes&quot;"></a></h2>
<p>As duas maiores plataformas não são intercambiáveis. Elas alcançam os jogadores de maneiras opostas, e isso muda o tipo de jogo que se destaca em cada uma.</p>
<p>O WeChat Mini Games é o gigante, com cerca de 500 a 570 milhões de jogadores mensais. A descoberta acontece por meio do grafo social: compartilhamentos entre amigos, conversas em grupo e a sensação de que todo mundo já está jogando. A retenção e o boca a boca são o motor. A participação do WeChat na receita depende do modelo. Para anúncios no jogo, a divisão é de 50/50. Nas compras no aplicativo, o desenvolvedor normalmente fica com cerca de 60%, enquanto o WeChat recebe 40%; títulos publicados diretamente pelo WeChat podem ficar com até 70%. O WeChat recompensa jogos aos quais as pessoas retornam e que recomendam aos amigos.</p>
<p>O Douyin Mini Games é menor, com cerca de 170 milhões de jogadores mensais, mas cresceu de forma explosiva em 2025, com uma alta de aproximadamente 100% na receita e de cerca de 120% no número de usuários em relação ao ano anterior. A descoberta funciona de maneira oposta à do WeChat: ela é algorítmica e impulsionada por vídeos curtos. Um clipe do seu jogo viraliza no feed e envia uma enxurrada de jogadores. O Douyin também disputa ativamente os desenvolvedores, permitindo que alguns parceiros preferenciais fiquem com até 90% da receita, e seu selo Ohayoo ajuda a publicar e monetizar títulos hipercasuais. O Douyin recompensa jogos que parecem irresistíveis em um vídeo de cinco segundos.</p>
<p>A conclusão prática é: um jogo focado em retenção e compartilhamento social tende a funcionar melhor no WeChat. Um jogo hipercasual com um excelente apelo visual tende a funcionar melhor no Douyin. Muitos estúdios lançam em ambos, pois a licença e a build podem ser reaproveitadas, e quase não há sobreposição entre os públicos.</p>
<h2 id="um-resumo-da-participacao-na-receita" tabindex="-1">Um resumo da participação na receita <a class="header-anchor" href="#um-resumo-da-participacao-na-receita" aria-label="Permalink to &quot;Um resumo da participação na receita&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Plataforma</th>
<th>Anúncios no jogo</th>
<th>Compras no aplicativo</th>
<th>Observações</th>
</tr>
</thead>
<tbody>
<tr>
<td>WeChat</td>
<td>~50/50</td>
<td>O desenvolvedor fica com ~60% (até 70% na publicação direta)</td>
<td>Descoberta social, enorme alcance, foco em retenção</td>
</tr>
<tr>
<td>Douyin</td>
<td>Condições favoráveis e negociadas</td>
<td>Parceiros preferenciais ficam com até ~90%</td>
<td>Descoberta algorítmica por vídeos, condições agressivas para desenvolvedores, Ohayoo para jogos hipercasuais</td>
</tr>
</tbody>
</table>
<p>Os números variam de acordo com promoções e o status do parceiro, portanto, trate-os como uma visão geral do acordo, não como um contrato. A porcentagem da sua publicadora é descontada além da porcentagem da plataforma, e é por isso que escolher a operadora certa é tão importante quanto escolher a plataforma certa.</p>
<h2 id="onde-a-cinevva-entra" tabindex="-1">Onde a Cinevva entra <a class="header-anchor" href="#onde-a-cinevva-entra" aria-label="Permalink to &quot;Onde a Cinevva entra&quot;"></a></h2>
<p>A Cinevva não publica seu jogo no WeChat ou Douyin por você, e não vamos fingir que a etapa de licenciamento é menos complexa do que realmente é. Uma publicadora local e um banhao são custos reais para entrar na China. O que a Cinevva oferece é a maneira mais barata possível de descobrir se vale a pena levar um jogo por esse processo: crie-o como um jogo de navegador em minutos, apresente-o aos jogadores e veja se ele tem o apelo capaz de se destacar em um clipe do Douyin ou o ciclo de jogo que faz alguém reabri-lo no WeChat. Primeiro, valide o jogo na web aberta. Depois, leve os que funcionarem pelo processo de publicação na China.</p>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="preciso-de-um-isbn-banhao-para-publicar-um-mini-game-na-china" tabindex="-1">Preciso de um ISBN (banhao) para publicar um Mini Game na China? <a class="header-anchor" href="#preciso-de-um-isbn-banhao-para-publicar-um-mini-game-na-china" aria-label="Permalink to &quot;Preciso de um ISBN (banhao) para publicar um Mini Game na China?&quot;"></a></h3>
<p>Se o jogo aceita pagamentos no aplicativo, na prática, sim. Mini Games gratuitos ou monetizados apenas com anúncios já tiveram um processo mais simples, mas jogos monetizados precisam da licença de publicação, e somente uma entidade chinesa aprovada pode detê-la.</p>
<h3 id="um-desenvolvedor-estrangeiro-pode-publicar-diretamente-no-wechat-mini-games" tabindex="-1">Um desenvolvedor estrangeiro pode publicar diretamente no WeChat Mini Games? <a class="header-anchor" href="#um-desenvolvedor-estrangeiro-pode-publicar-diretamente-no-wechat-mini-games" aria-label="Permalink to &quot;Um desenvolvedor estrangeiro pode publicar diretamente no WeChat Mini Games?&quot;"></a></h3>
<p>Não no caso de um jogo monetizado. Estúdios estrangeiros publicam por meio de uma operadora chinesa licenciada, que detém a licença, processa os pagamentos e fica com uma porcentagem. Encontrar a publicadora local certa é a principal decisão.</p>
<h3 id="qual-paga-melhor-wechat-ou-douyin" tabindex="-1">Qual paga melhor, WeChat ou Douyin? <a class="header-anchor" href="#qual-paga-melhor-wechat-ou-douyin" aria-label="Permalink to &quot;Qual paga melhor, WeChat ou Douyin?&quot;"></a></h3>
<p>Depende do modelo e do seu status como parceiro. O WeChat divide a receita de anúncios aproximadamente em 50/50 e permite que os desenvolvedores fiquem com cerca de 60% a 70% das compras. O Douyin permite que alguns parceiros preferenciais fiquem com até cerca de 90%. As condições do Douyin podem ser mais generosas, mas o alcance do WeChat é muito maior.</p>
<h3 id="qual-e-a-diferenca-entre-os-mini-games-do-wechat-e-do-douyin" tabindex="-1">Qual é a diferença entre os Mini Games do WeChat e do Douyin? <a class="header-anchor" href="#qual-e-a-diferenca-entre-os-mini-games-do-wechat-e-do-douyin" aria-label="Permalink to &quot;Qual é a diferença entre os Mini Games do WeChat e do Douyin?&quot;"></a></h3>
<p>A descoberta no WeChat é social, impulsionada por compartilhamentos entre amigos e grupos, e recompensa a retenção. A descoberta no Douyin é algorítmica, impulsionada por vídeos curtos, e recompensa jogos que ficam ótimos em um clipe. O WeChat é maior, enquanto o Douyin cresce mais rapidamente.</p>
<h3 id="qual-e-o-tamanho-do-mercado-chines-de-mini-games" tabindex="-1">Qual é o tamanho do mercado chinês de Mini Games? <a class="header-anchor" href="#qual-e-o-tamanho-do-mercado-chines-de-mini-games" aria-label="Permalink to &quot;Qual é o tamanho do mercado chinês de Mini Games?&quot;"></a></h3>
<p>Cerca de US$ 7,65 bilhões em 2025, uma alta aproximada de 34% em relação ao ano anterior, com projeções próximas de US$ 20 bilhões até 2030. Juntos, WeChat e Douyin representam mais de 90% desse mercado.</p>
<BuildCta
  title="Valide o jogo antes de pagar por todo o processo"
  desc="Crie uma versão para navegador em minutos e teste seu apelo antes de se comprometer com um lançamento na China."
  prompt="Crie um quebra-cabeça de combinar peças com efeitos visuais impactantes a cada fusão" />
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/wechat-mini-game-engines.html">Engines de jogos para WeChat Mini Games</a> — escolha a engine antes de publicar</li>
<li><a href="/pt-BR/guides/china-mini-game-platforms.html">Comparação entre plataformas chinesas de Mini Games e HTML5</a> — além das duas maiores</li>
<li><a href="/pt-BR/guides/localize-web-game-china.html">Como localizar um jogo web para a China</a> — fontes, hospedagem, pagamentos e o Grande Firewall</li>
<li><a href="/pt-BR/guides/publish-web-game.html">Melhores lugares para publicar um jogo web</a> — o cenário de distribuição ocidental</li>
<li><a href="/pt-BR/guides/promote-indie-game-no-budget.html">Como promover um jogo indie sem orçamento</a> — construa o público que fará o lançamento decolar</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/publish-wechat-douyin-mini-games-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Engines de jogos para Mini Games do WeChat (2026)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/wechat-mini-game-engines</link>
            <guid>https://app.cinevva.com/pt-BR/guides/wechat-mini-game-engines</guid>
            <pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Qual engine usar para Mini Games do WeChat em 2026. Cocos Creator, LayaAir, Egret, a conversão WebGL do Unity e o engine Tuanjie da Unity China, comparados em relação ao limite de pacote de 4 MB, ao plugin de engine integrado e à migração de um jogo web existente.]]></description>
            <content:encoded><![CDATA[<h1 id="engines-de-jogos-para-mini-games-do-wechat-2026" tabindex="-1">Engines de jogos para Mini Games do WeChat (2026) <a class="header-anchor" href="#engines-de-jogos-para-mini-games-do-wechat-2026" aria-label="Permalink to &quot;Engines de jogos para Mini Games do WeChat (2026)&quot;"></a></h1>
<figure style="margin:1.5rem 0">
<img src="https://cdn.cinevva.com/guides/wechat-mini-game-engines-hero.jpg?v=1" alt="Engines de jogos para Mini Games do WeChat em 2026" style="width:100%;border-radius:10px">
</figure>
<p>Os Mini Games do WeChat (微信小游戏) são a maior plataforma de jogos na qual a maioria dos desenvolvedores ocidentais nunca publicou. Mais de 500 milhões de pessoas jogam todos os meses, dentro do mesmo aplicativo que usam para conversar com amigos e pagar pelo almoço. Não há instalação, loja de aplicativos nem tela de download. O jogador toca em um link e o jogo é executado.</p>
<p>O problema é que um Mini Game não é um jogo web comum. Ele é executado em um sandbox JavaScript sem DOM nem HTML, em um canvas personalizado fornecido pela plataforma, e seu pacote inicial não pode ultrapassar 4 MB. O engine escolhido determina quanto dessa batalha você terá de enfrentar por conta própria. Este guia compara as opções reais em 2026.</p>
<p>Se antes você estiver escolhendo um engine para navegador de forma geral, nossa <a href="/pt-BR/guides/web-game-engines-comparison.html">comparação de engines para jogos web</a> aborda o mercado mais amplo. Esta página trata apenas dos engines que publicam para o WeChat.</p>
<h2 id="referencia-rapida" tabindex="-1">Referência rápida <a class="header-anchor" href="#referencia-rapida" aria-label="Permalink to &quot;Referência rápida&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Engine</th>
<th>Plugin integrado para WeChat?</th>
<th>2D/3D</th>
<th>Linguagem</th>
<th>Impacto no tamanho do pacote</th>
<th>Melhor para</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Cocos Creator</strong></td>
<td>Sim, integrado ao cliente do WeChat</td>
<td>2D + 3D</td>
<td>TypeScript</td>
<td>Melhor: o engine não conta no limite de 4 MB, além do subempacotamento com AssetBundle</td>
<td>Projetos voltados primeiro ao WeChat e sem código existente (a opção padrão)</td>
</tr>
<tr>
<td><strong>LayaAir</strong></td>
<td>Não</td>
<td>2D + 3D</td>
<td>TypeScript</td>
<td>O engine consome parte do limite do pacote; funciona bem para 2D pequeno, mas fica apertado para 3D</td>
<td>Equipes que preferem o fluxo de trabalho do Laya</td>
</tr>
<tr>
<td><strong>Egret</strong></td>
<td>Não</td>
<td>2D</td>
<td>—</td>
<td>Legado, com ecossistema em retração</td>
<td>Apenas manutenção de um jogo existente em Egret</td>
</tr>
<tr>
<td><strong>Unity (conversão WebGL)</strong></td>
<td>Não, usa o SDK de conversão</td>
<td>2D + 3D</td>
<td>C#</td>
<td>Brutal: builds WebGL são grandes, portanto espere fazer remoção agressiva de código e subempacotamento</td>
<td>Migrar rapidamente um jogo existente em Unity</td>
</tr>
<tr>
<td><strong>Tuanjie (Unity China)</strong></td>
<td>Não, o WeChat é um destino de exportação nativo</td>
<td>2D + 3D</td>
<td>C#</td>
<td>Destino nativo, evita o inchaço da conversão WebGL</td>
<td>Estúdios comprometidos com a China e que já dominam Unity</td>
</tr>
<tr>
<td><strong>Three.js / WebGL puro</strong></td>
<td>Não, via <code>weapp-adapter</code></td>
<td>2D + 3D</td>
<td>JavaScript</td>
<td>Você cuida do subempacotamento; bom para jogos pequenos e sensíveis ao tamanho</td>
<td>Jogos personalizados pequenos ou equipes que já usam Three.js</td>
</tr>
</tbody>
</table>
<h2 id="o-que-torna-um-mini-game-do-wechat-diferente" tabindex="-1">O que torna um Mini Game do WeChat diferente <a class="header-anchor" href="#o-que-torna-um-mini-game-do-wechat-diferente" aria-label="Permalink to &quot;O que torna um Mini Game do WeChat diferente&quot;"></a></h2>
<p>Antes que a escolha do engine faça sentido, é preciso entender três restrições.</p>
<p>Não há DOM. O ambiente de execução dos Mini Games é um ambiente JavaScript básico com um <code>canvas</code> e um contexto WebGL — e, cada vez mais, WebGPU —, além das APIs próprias do WeChat para armazenamento, áudio, rede e recursos sociais. Tudo que pressupõe a existência de <code>document</code>, <code>window</code> ou de um elemento HTML precisa passar por um adaptador que simule esses objetos. Todos os engines abaixo fornecem esse adaptador.</p>
<p>A regra dos 4 MB determina tudo. Seu pacote inicial — o código e os recursos carregados antes do primeiro frame — precisa caber em 4 MB. Todo o restante deve ser dividido em subpacotes (分包), baixados sob demanda, até atingir um limite total muito maior. Ficar abaixo de 4 MB é o maior desafio de engenharia da plataforma, e esse é o principal aspecto em que seu engine pode ajudar ou atrapalhar.</p>
<p>A monetização exige uma licença. Um Mini Game que aceita pagamentos dentro do aplicativo precisa de uma licença chinesa para jogos, e um estúdio estrangeiro precisa de uma publicadora local para obtê-la. Esse é um problema de distribuição, não de engine, e nós o abordamos no <a href="/pt-BR/guides/publish-wechat-douyin-mini-games.html">guia de publicação no WeChat e no Douyin</a>.</p>
<h2 id="cocos-creator-a-opcao-padrao" tabindex="-1">Cocos Creator: a opção padrão <a class="header-anchor" href="#cocos-creator-a-opcao-padrao" aria-label="Permalink to &quot;Cocos Creator: a opção padrão&quot;"></a></h2>
<p>O Cocos Creator é usado para criar a maioria dos Mini Games do WeChat, e a plataforma foi projetada para recompensar essa escolha. Desde a versão 7.0.7 do cliente do WeChat, o runtime do engine Cocos é um plugin integrado ao próprio aplicativo. Se o jogador já executou algum Mini Game feito com Cocos, o código do engine já está no celular dele e não conta no seu limite de 4 MB. Essa é uma vantagem estrutural que nenhum outro engine tem: seu pacote contém apenas o jogo, não o jogo mais o engine.</p>
<p>O Cocos também oferece o sistema AssetBundle, que é a maneira mais prática de lidar com subempacotamento. Você marca os bundles que devem ser carregados sob demanda, e a diferença entre um projeto que cabe em 4 MB e outro que não cabe geralmente está apenas em mover os bundles certos para fora do pacote principal. Ele oferece suporte a 2D e 3D, usa TypeScript e trata o WeChat como uma plataforma de primeira classe no painel de build.</p>
<p>Se você não tem uma base de código existente e está criando primeiro para o WeChat, o Cocos Creator é a escolha segura. Comece por ele, a menos que tenha um motivo específico para não fazer isso.</p>
<h2 id="layaair-a-alternativa-solida" tabindex="-1">LayaAir: a alternativa sólida <a class="header-anchor" href="#layaair-a-alternativa-solida" aria-label="Permalink to &quot;LayaAir: a alternativa sólida&quot;"></a></h2>
<p>O LayaAir (da Laya) é o outro engine que se adaptou cedo ao WeChat e o trata como um destino de primeira classe. Você seleciona WeChat Mini Game no painel de build e publica. Ele oferece suporte a 2D e 3D, usa TypeScript e tem uma base fiel de desenvolvedores que preferem seu fluxo de trabalho ao do Cocos. Quem já usou ambos costuma descrever a escolha como uma questão de preferência, e não de recursos.</p>
<p>Há um ponto a considerar: o runtime do LayaAir não está integrado ao cliente do WeChat como o do Cocos, então o próprio engine consome uma parcela maior do limite do pacote. Para um jogo 2D pequeno, isso geralmente não é um problema. Para um jogo 3D repleto de recursos, em que cada kilobyte dos 4 MB importa, o plugin integrado do Cocos pode ser o fator decisivo.</p>
<h2 id="egret-legado-use-com-cautela" tabindex="-1">Egret: legado, use com cautela <a class="header-anchor" href="#egret-legado-use-com-cautela" aria-label="Permalink to &quot;Egret: legado, use com cautela&quot;"></a></h2>
<p>O Egret (白鹭) é um engine 2D para HTML5 mais antigo, que passou a oferecer suporte aos Mini Games do WeChat cedo e impulsionou grande parte da primeira geração. Ele ainda funciona, mas o mercado migrou para Cocos e Laya, a atividade da comunidade diminuiu, e iniciar um projeto novo com ele em 2026 significa apostar em um ecossistema em retração. Se você mantém um jogo existente em Egret, tudo bem. Se está começando do zero, escolha Cocos ou Laya.</p>
<h2 id="unity-o-caminho-da-conversao-webgl" tabindex="-1">Unity: o caminho da conversão WebGL <a class="header-anchor" href="#unity-o-caminho-da-conversao-webgl" aria-label="Permalink to &quot;Unity: o caminho da conversão WebGL&quot;"></a></h2>
<p>O Unity não tem exportação nativa para WeChat, mas a Tencent e a Unity mantêm uma ferramenta oficial que converte uma build Unity WebGL em um pacote de Mini Game: o SDK de conversão para Mini Games do WeChat, às vezes distribuído como WeChat MiniGame Exporter. Desde uma atualização de meados de 2025, ele oferece exportação com um clique, e o <code>minigame-adaptor</code> que o acompanha promete desempenho de renderização aproximadamente três vezes maior que o WebGL convencional ao usar o caminho de renderização otimizado do WeChat.</p>
<p>Esse é o caminho ideal se você já tem um jogo em Unity e quer levá-lo ao WeChat sem reescrevê-lo. Mas seja realista quanto às desvantagens. Builds Unity WebGL são grandes, e o limite inicial de 4 MB é brutal para um engine que não foi projetado para isso. Você terá um trabalho considerável com remoção de código, divisão de código e transferência de recursos para subpacotes. É uma ferramenta para migrar um jogo existente, não para criar primeiro para o WeChat.</p>
<h2 id="tuanjie-a-resposta-nativa-da-unity-china" tabindex="-1">Tuanjie: a resposta nativa da Unity China <a class="header-anchor" href="#tuanjie-a-resposta-nativa-da-unity-china" aria-label="Permalink to &quot;Tuanjie: a resposta nativa da Unity China&quot;"></a></h2>
<p>Se você gosta do fluxo de trabalho do Unity, mas quer o WeChat como um destino de build real em vez de uma conversão WebGL, considere o Tuanjie (团结引擎), o engine localizado da Unity China. Ele é baseado no Unity 2022 LTS e trata os Mini Games do WeChat como uma plataforma nativa ao lado de iOS e Android, além de destinos domésticos como OpenHarmony e AliOS. Versões recentes adicionaram um sistema completo de iluminação global em tempo real (TuanjieGI), e o engine já ultrapassou 500 mil downloads.</p>
<p>Para um estúdio comprometido com o mercado chinês e que já domina Unity, o Tuanjie é a opção mais preparada para o futuro entre os engines da família Unity, porque o WeChat não é um recurso secundário acoplado por meio de WebGL. É um destino de exportação de primeira classe.</p>
<h2 id="three-js-e-webgl-puro" tabindex="-1">Three.js e WebGL puro <a class="header-anchor" href="#three-js-e-webgl-puro" aria-label="Permalink to &quot;Three.js e WebGL puro&quot;"></a></h2>
<p>É possível executar Three.js ou WebGL escrito manualmente dentro de um Mini Game usando o <code>weapp-adapter</code> do WeChat, que simula os objetos DOM e canvas esperados pela biblioteca. Essa é a opção mais flexível e também a que exige mais trabalho: você fica responsável pelo loop de renderização, pipeline de recursos, subempacotamento e todos os casos extremos do adaptador. Ela faz sentido para um jogo pequeno, personalizado e sensível ao tamanho, no qual um engine completo seria exagero, ou quando sua equipe já trabalha com Three.js e quer reutilizar o código.</p>
<p>Esse também é o caminho mais próximo de um jogo para navegador que você já tenha criado. Um jogo em Three.js executado na web aberta é estruturalmente parecido com um jogo executado no WeChat. A diferença está no adaptador e no limite de 4 MB, não na renderização.</p>
<h2 id="escolha-rapida" tabindex="-1">Escolha rápida <a class="header-anchor" href="#escolha-rapida" aria-label="Permalink to &quot;Escolha rápida&quot;"></a></h2>
<p>Criando primeiro para o WeChat, sem código existente: Cocos Creator. O plugin integrado do engine e o sistema AssetBundle tornam possível vencer a batalha dos 4 MB.</p>
<p>Migrando um jogo existente em Unity: use o SDK de conversão WebGL do WeChat para chegar lá rapidamente ou o Tuanjie se estiver assumindo um compromisso de longo prazo com a China e quiser um destino nativo.</p>
<p>Projeto pequeno, personalizado ou já feito em Three.js: use o <code>weapp-adapter</code> e WebGL puro, aceitando que você mesmo cuidará de toda a infraestrutura.</p>
<p>Prefere o fluxo de trabalho do Laya: LayaAir, sem perder de vista o tamanho do pacote em jogos 3D.</p>
<h2 id="onde-a-cinevva-se-encaixa" tabindex="-1">Onde a Cinevva se encaixa <a class="header-anchor" href="#onde-a-cinevva-se-encaixa" aria-label="Permalink to &quot;Onde a Cinevva se encaixa&quot;"></a></h2>
<p>A Cinevva cria jogos 3D voltados primeiro para a web com Three.js, executados por um link em qualquer navegador. Esse é exatamente o formato que um Mini Game do WeChat busca: sem instalação, acesso instantâneo, com JavaScript e WebGL por baixo dos panos. O Grande Firewall e a camada de licenciamento são obstáculos reais, e reconhecemos que publicar no WeChat exige uma publicadora local e a disciplina do limite de 4 MB. Mas o jogo em si — uma experiência 3D nativa do navegador e sem download — já é justamente o tipo de produto em torno do qual foi construída a maior plataforma de jogos da China. Se você está prototipando algo que talvez um dia queira apresentar a 500 milhões de jogadores de Mini Games, começar no navegador é o caminho com menos trabalho desperdiçado.</p>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="qual-e-o-limite-de-tamanho-de-arquivo-de-um-mini-game-do-wechat" tabindex="-1">Qual é o limite de tamanho de arquivo de um Mini Game do WeChat? <a class="header-anchor" href="#qual-e-o-limite-de-tamanho-de-arquivo-de-um-mini-game-do-wechat" aria-label="Permalink to &quot;Qual é o limite de tamanho de arquivo de um Mini Game do WeChat?&quot;"></a></h3>
<p>O pacote inicial é limitado a 4 MB. Tudo que ultrapassar esse limite precisa ser dividido em subpacotes (分包) carregados sob demanda, que juntos podem alcançar um total muito maior. Fazer a experiência do primeiro carregamento caber em 4 MB é o principal problema de otimização da plataforma.</p>
<h3 id="posso-usar-unity-para-criar-mini-games-do-wechat" tabindex="-1">Posso usar Unity para criar Mini Games do WeChat? <a class="header-anchor" href="#posso-usar-unity-para-criar-mini-games-do-wechat" aria-label="Permalink to &quot;Posso usar Unity para criar Mini Games do WeChat?&quot;"></a></h3>
<p>Sim, mas não de forma nativa. A Tencent e a Unity fornecem um SDK de conversão oficial que transforma uma build Unity WebGL em um Mini Game, com exportação em um clique desde meados de 2025. Como alternativa, o engine Tuanjie da Unity China oferece suporte ao WeChat como destino de build nativo. Em qualquer um dos casos, espere investir tempo para reduzir o tamanho da build.</p>
<h3 id="qual-engine-e-usado-pela-maioria-dos-mini-games-do-wechat" tabindex="-1">Qual engine é usado pela maioria dos Mini Games do WeChat? <a class="header-anchor" href="#qual-engine-e-usado-pela-maioria-dos-mini-games-do-wechat" aria-label="Permalink to &quot;Qual engine é usado pela maioria dos Mini Games do WeChat?&quot;"></a></h3>
<p>O Cocos Creator é a escolha mais comum, favorecido pelo fato de seu runtime estar integrado ao cliente do WeChat e, portanto, não consumir o limite de 4 MB do pacote. O LayaAir é a principal alternativa.</p>
<h3 id="os-mini-games-do-wechat-oferecem-suporte-a-3d" tabindex="-1">Os Mini Games do WeChat oferecem suporte a 3D? <a class="header-anchor" href="#os-mini-games-do-wechat-oferecem-suporte-a-3d" aria-label="Permalink to &quot;Os Mini Games do WeChat oferecem suporte a 3D?&quot;"></a></h3>
<p>Sim. Cocos Creator, LayaAir, Unity (por meio do SDK de conversão) e Tuanjie oferecem suporte a 3D, e o runtime do WeChat disponibiliza WebGL e, cada vez mais, WebGPU. A limitação está no tamanho do pacote e no desempenho em celulares de entrada, não na possibilidade de usar 3D.</p>
<h3 id="posso-transformar-meu-jogo-para-navegador-em-um-mini-game-do-wechat" tabindex="-1">Posso transformar meu jogo para navegador em um Mini Game do WeChat? <a class="header-anchor" href="#posso-transformar-meu-jogo-para-navegador-em-um-mini-game-do-wechat" aria-label="Permalink to &quot;Posso transformar meu jogo para navegador em um Mini Game do WeChat?&quot;"></a></h3>
<p>Em muitos casos, sim. Um jogo criado com Three.js ou WebGL pode ser executado dentro do WeChat por meio do <code>weapp-adapter</code>, que emula os objetos do navegador esperados pelo código. O trabalho está na camada de adaptação e em ficar abaixo do limite inicial de 4 MB, não em reescrever o jogo.</p>
<BuildCta
  title="Comece no navegador e mantenha suas opções em aberto"
  desc="Primeiro, crie o protótipo de um jogo 3D nativo da web. É o mesmo formato que um Mini Game busca, mas sem o sandbox."
  prompt="Crie um endless runner rápido, com controle por um toque, em uma cidade neon" />
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/publish-wechat-douyin-mini-games.html">Como publicar Mini Games no WeChat e no Douyin</a> — licenças, análise e participação na receita</li>
<li><a href="/pt-BR/guides/china-mini-game-platforms.html">Comparação de plataformas chinesas de Mini Games e HTML5</a> — WeChat, Douyin, QQ, 4399 e as demais</li>
<li><a href="/pt-BR/guides/localize-web-game-china.html">Como localizar um jogo web para a China</a> — fontes, hospedagem, pagamentos e o Firewall</li>
<li><a href="/pt-BR/guides/web-game-engines-comparison.html">Melhores engines para jogos web em 2026 (comparativo)</a> — todas as opções</li>
<li><a href="/pt-BR/guides/threejs-vs-babylonjs.html">Three.js vs Babylon.js</a> — se você optar por WebGL puro</li>
<li><a href="/pt-BR/engine.html">Engine Cinevva</a> — nosso engine de código aberto, voltado primeiro para a web e criado sobre Three.js</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/wechat-mini-game-engines-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Tendências dos jogos casuais em 2026 (o que os dados realmente mostram)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/casual-games-trends-2026</link>
            <guid>https://app.cinevva.com/pt-BR/guides/casual-games-trends-2026</guid>
            <pubDate>Tue, 30 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Uma análise das tendências dos jogos casuais em 2026 com base em dados, desde a queda nos downloads e a ascensão do híbrido-casual até onde está o dinheiro, quais títulos estão se destacando e o que a IA está mudando.]]></description>
            <content:encoded><![CDATA[<h1 id="tendencias-dos-jogos-casuais-em-2026-o-que-os-dados-realmente-mostram" tabindex="-1">Tendências dos jogos casuais em 2026 (o que os dados realmente mostram) <a class="header-anchor" href="#tendencias-dos-jogos-casuais-em-2026-o-que-os-dados-realmente-mostram" aria-label="Permalink to &quot;Tendências dos jogos casuais em 2026 (o que os dados realmente mostram)&quot;"></a></h1>
<p><em>Última atualização: julho de 2026.</em></p>
<p>A história dos jogos casuais em 2026 não é que &quot;o boom continua&quot;. É que &quot;o boom amadureceu&quot;. Os jogadores ainda abrem esses jogos com mais frequência, mas estão instalando menos jogos novos, e o dinheiro está migrando de formas que favorecem um tipo de jogo diferente daquele que venceu três anos atrás. Analisamos os números anuais completos de 2025 da <a href="https://sensortower.com/state-of-gaming-2025" target="_blank" rel="noreferrer">Sensor Tower</a>, da AppMagic (via <a href="https://investgame.net/wp-content/uploads/2025/07/Gamesforum-Intelligence-Casual-Gaming-Report.pdf" target="_blank" rel="noreferrer">Gamesforum Intelligence</a> e <a href="https://www.gamerefinery.com/mobile-game-market-review-december-2025/" target="_blank" rel="noreferrer">GameRefinery</a>) e dos analistas da <a href="https://www.deconstructoroffun.com/blog/2026/2/2/state-of-mobile-2026" target="_blank" rel="noreferrer">Deconstructor of Fun</a> e do <a href="https://www.pocketgamer.biz/what-happened-to-hypercasual-the-markets-evolution-over-the-past-year/" target="_blank" rel="noreferrer">PocketGamer.biz</a> para separar as mudanças reais do exagero. Veja o que realmente está acontecendo.</p>
<p>A versão resumida: o mercado de jogos casuais amadureceu em 2025. A receita dentro dos apps cresceu apenas 1,3%, chegando a cerca de US$ 81,75 bilhões, enquanto os downloads caíram 7,2%, para 50,4 bilhões. Portanto, o crescimento agora vem de jogadores gastando mais, não de novas instalações. O híbrido-casual foi o único segmento cuja receita dentro dos apps cresceu, com alta de 20%, para US$ 4,2 bilhões, e os quebra-cabeças híbrido-casuais foram o grande destaque. A monetização se espalhou por um amplo espectro, desde jogos de grande volume sustentados apenas por anúncios até jogos sem anúncios que faturam mais de US$ 500 milhões, enquanto a IA generativa deixou de ser um experimento e virou uma ferramenta padrão nos estúdios.</p>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 210" role="img" aria-label="O placar dos jogos mobile em 2025: US$ 81,8 bi em receita dentro dos apps, alta de 1,3%; 50,4 bi de downloads, queda de 7,2%; US$ 4,2 bi em receita híbrido-casual, alta de 20%; 22,05 bi de instalações de jogos hipercasuais" style="width:100%;height:auto;max-width:720px;margin:1.5rem auto;display:block;border-radius:14px">
  <rect width="720" height="210" rx="14" fill="#0b1020"/>
  <text x="24" y="40" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="20" font-weight="800" fill="#e8edf5">O placar de 2025</text>
  <text x="24" y="62" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="13" fill="#9aa7b4">Dados anuais completos dos jogos mobile. Fonte: Sensor Tower.</text>
  <g font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif">
    <g transform="translate(24,80)">
      <rect width="156" height="106" rx="10" fill="#121a31"/>
      <text x="16" y="48" font-size="27" font-weight="800" fill="#c8a8ff">US$ 81,8 bi</text>
      <text x="16" y="72" font-size="12" fill="#9aa7b4">Compras em jogos mobile</text>
      <rect x="16" y="82" width="62" height="20" rx="10" fill="#fbbf2422"/>
      <text x="26" y="96" font-size="12" font-weight="700" fill="#fbbf24">+1,3%</text>
    </g>
    <g transform="translate(196,80)">
      <rect width="156" height="106" rx="10" fill="#121a31"/>
      <text x="16" y="48" font-size="27" font-weight="800" fill="#7dd3fc">50,4 bi</text>
      <text x="16" y="72" font-size="12" fill="#9aa7b4">Downloads de apps</text>
      <rect x="16" y="82" width="62" height="20" rx="10" fill="#fb718522"/>
      <text x="26" y="96" font-size="12" font-weight="700" fill="#fb7185">&#8722;7,2%</text>
    </g>
    <g transform="translate(368,80)">
      <rect width="156" height="106" rx="10" fill="#121a31"/>
      <text x="16" y="48" font-size="27" font-weight="800" fill="#f0abfc">US$ 4,2 bi</text>
      <text x="16" y="72" font-size="12" fill="#9aa7b4">Compras híbrido-casuais</text>
      <rect x="16" y="82" width="56" height="20" rx="10" fill="#6ee7b722"/>
      <text x="26" y="96" font-size="12" font-weight="700" fill="#6ee7b7">+20%</text>
    </g>
    <g transform="translate(540,80)">
      <rect width="156" height="106" rx="10" fill="#121a31"/>
      <text x="16" y="48" font-size="27" font-weight="800" fill="#e8edf5">22,05 bi</text>
      <text x="16" y="72" font-size="12" fill="#9aa7b4">Instalações hipercasuais</text>
      <rect x="16" y="82" width="92" height="20" rx="10" fill="#ffffff14"/>
      <text x="26" y="96" font-size="12" font-weight="700" fill="#9aa7b4">Nº 1 em volume</text>
    </g>
  </g>
</svg>
<h2 id="o-mercado-parou-de-crescer-por-meio-de-instalacoes" tabindex="-1">O mercado parou de crescer por meio de instalações <a class="header-anchor" href="#o-mercado-parou-de-crescer-por-meio-de-instalacoes" aria-label="Permalink to &quot;O mercado parou de crescer por meio de instalações&quot;"></a></h2>
<p>Os jogos mobile geraram cerca de US$ 81,75 bilhões em compras dentro dos apps em 2025, mas isso representou um aumento de apenas 1,3% em relação a 2024, segundo os <a href="https://www.deconstructoroffun.com/blog/2026/2/2/state-of-mobile-2026" target="_blank" rel="noreferrer">números anuais completos de 2025</a>. Os downloads seguiram na direção oposta e caíram 7,2%, para 50,4 bilhões, marcando o segundo ano consecutivo de queda. Para contextualizar, os gastos dentro de apps considerando toda a loja cresceram sólidos 10,6%, chegando a US$ 167 bilhões. Portanto, foram especificamente os jogos que se estabilizaram, não o comércio mobile como um todo.</p>
<p>Essa diferença explica tudo. O engajamento continua aumentando — no ano anterior, as sessões cresceram 12% e o tempo gasto subiu 7,9% —, mas as novas instalações estão diminuindo. O crescimento agora vem de gerar mais receita com os jogadores que você já tem, não de conquistar novos. A era da aquisição barata de usuários acabou.</p>
<p>Os primeiros números de 2026 indicam que essa tendência está se acelerando, não se revertendo. Os <a href="https://gamedevreports.substack.com/p/sensor-tower-mobile-market-in-q1" target="_blank" rel="noreferrer">dados da Sensor Tower para o primeiro trimestre de 2026</a> apontam gastos de US$ 20,4 bilhões em jogos mobile, alta de apenas 0,5% na comparação anual, enquanto os downloads caíram 11,9% — uma queda mais acentuada do que o recuo registrado em todo o ano de 2025. O destaque positivo são os quebra-cabeças, cuja receita cresceu 21% na comparação anual.</p>
<p>É possível observar a mesma divergência dentro da própria categoria casual. Entre os 1.000 principais jogos casuais, a receita de compras dentro dos apps subiu de US$ 17,47 bilhões em 2022 para US$ 21,99 bilhões em 2024, com previsão de US$ 22,99 bilhões para 2025, enquanto os downloads permaneceram praticamente estáveis, próximos de 16 bilhões, segundo o <a href="https://investgame.net/wp-content/uploads/2025/07/Gamesforum-Intelligence-Casual-Gaming-Report.pdf" target="_blank" rel="noreferrer">relatório sobre jogos casuais da Gamesforum Intelligence</a>, com dados da AppMagic. Mais receita, a mesma quantidade de downloads. Os jogadores simplesmente estão gastando mais por instalação.</p>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 360" role="img" aria-label="A receita dos jogos casuais continua crescendo enquanto os downloads permanecem estáveis, de 2022 a 2025" style="width:100%;height:auto;max-width:720px;margin:1.5rem auto;display:block;border-radius:14px">
  <defs>
    <linearGradient id="revfill" x1="0" y1="0" x2="0" y2="1">
      <stop offset="0" stop-color="#c8a8ff" stop-opacity="0.34"/>
      <stop offset="1" stop-color="#c8a8ff" stop-opacity="0"/>
    </linearGradient>
  </defs>
  <rect width="720" height="360" rx="14" fill="#0b1020"/>
  <text x="32" y="44" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="20" font-weight="800" fill="#e8edf5">A receita casual continua crescendo. As instalações, não.</text>
  <text x="32" y="68" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="13" fill="#9aa7b4">1.000 principais jogos casuais: receita de compras (US$ bi) vs. downloads (bi). Previsão para 2025. Fonte: AppMagic / Gamesforum.</text>
  <g stroke="#ffffff" stroke-opacity="0.07"><path d="M70 130 H680 M70 190 H680 M70 250 H680"/></g>
  <g font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="12" fill="#9aa7b4">
    <line x1="70" y1="300" x2="680" y2="300" stroke="#ffffff" stroke-opacity="0.14"/>
    <text x="110" y="324" text-anchor="middle">2022</text>
    <text x="300" y="324" text-anchor="middle">2023</text>
    <text x="490" y="324" text-anchor="middle">2024</text>
    <text x="650" y="324" text-anchor="middle">2025p</text>
  </g>
  <path d="M110 208 L300 168 L490 130 L650 120 L650 300 L110 300 Z" fill="url(#revfill)"/>
  <polyline points="110,208 300,168 490,130 650,120" fill="none" stroke="#c8a8ff" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
  <polyline points="110,244 300,242 490,238 650,232" fill="none" stroke="#7dd3fc" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
  <g font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-weight="700" font-size="12">
    <circle cx="650" cy="120" r="5" fill="#c8a8ff"/>
    <text x="638" y="108" text-anchor="end" fill="#c8a8ff">Receita: US$ 23,0 bi</text>
    <circle cx="650" cy="232" r="5" fill="#7dd3fc"/>
    <text x="638" y="258" text-anchor="end" fill="#7dd3fc">Downloads: 16,4 bi</text>
  </g>
  <g transform="translate(118,128)">
    <rect width="186" height="26" rx="13" fill="#c8a8ff1f"/>
    <text x="16" y="18" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="13" font-weight="700" fill="#c8a8ff">+32% de receita desde 2022</text>
  </g>
</svg>
<h2 id="o-modelo-hipercasual-sustentado-apenas-por-anuncios-quebrou-—-e-tudo-bem" tabindex="-1">O modelo hipercasual sustentado apenas por anúncios quebrou — e tudo bem <a class="header-anchor" href="#o-modelo-hipercasual-sustentado-apenas-por-anuncios-quebrou-—-e-tudo-bem" aria-label="Permalink to &quot;O modelo hipercasual sustentado apenas por anúncios quebrou — e tudo bem&quot;"></a></h2>
<p>A manchete que você verá com frequência é que &quot;o hipercasual está morrendo&quot;. Isso está parcialmente correto. O que quebrou foi a economia do modelo, não os jogos. Durante anos, o hipercasual funcionou com um único truque: comprar instalações baratas, exibir anúncios e ficar com a diferença. À medida que os custos de aquisição subiram além do que os anúncios conseguiam recuperar, esse modelo puro, sustentado apenas por anúncios, deixou de funcionar.</p>
<p>Os jogos em si estão indo bem. O hipercasual ainda dominou os downloads em 2025, com 22,05 bilhões de instalações, e continuou ampliando o tempo de uso, segundo o <a href="https://gameworldobserver.com/2026/01/21/in-2025-the-revenue-of-the-mobile-gaming-market-grew-but-only-slightly-analysis" target="_blank" rel="noreferrer">Game World Observer</a>. O <a href="https://www.pocketgamer.biz/what-happened-to-hypercasual-the-markets-evolution-over-the-past-year/" target="_blank" rel="noreferrer">PocketGamer.biz relata</a> que os principais títulos faturaram por mês cerca de três vezes mais do que no ano anterior, embora esse número parta de uma base baixa e reflita parcialmente jogos híbrido-casuais que foram reclassificados. A conclusão é simples: o formato sobrevive adicionando compras dentro do app aos anúncios, em vez de depender exclusivamente da publicidade.</p>
<h2 id="o-hibrido-casual-e-o-verdadeiro-vencedor" tabindex="-1">O híbrido-casual é o verdadeiro vencedor <a class="header-anchor" href="#o-hibrido-casual-e-o-verdadeiro-vencedor" aria-label="Permalink to &quot;O híbrido-casual é o verdadeiro vencedor&quot;"></a></h2>
<p>Se uma tendência define 2026, é o híbrido-casual. Foi o único segmento casual cuja receita de compras dentro dos apps cresceu no ano passado, com alta de 20%, para US$ 4,2 bilhões. Os dez principais títulos registraram crescimento anual entre 67% e 100% nessa receita, como detalha o <a href="https://gameworldobserver.com/2026/01/21/in-2025-the-revenue-of-the-mobile-gaming-market-grew-but-only-slightly-analysis" target="_blank" rel="noreferrer">Game World Observer</a>. As plataformas de análise classificam o segmento de formas diferentes: a leitura do Game World Observer aponta 20%, enquanto a da própria Sensor Tower indica 37%. Ainda assim, todas concordam que esse foi o único segmento casual em crescimento. O híbrido-casual combina os loops rápidos e favoráveis a anúncios do hipercasual com a metaprogressão e o potencial de gastos de um jogo casual completo. Ele mantém a facilidade de instalar e acrescenta um motivo para pagar.</p>
<p>O crescimento está concentrado nos quebra-cabeças híbrido-casuais. A <a href="https://www.gamerefinery.com/mobile-game-market-review-december-2025/" target="_blank" rel="noreferrer">análise de dezembro de 2025 da GameRefinery</a> descreve subgêneros consolidados como Match3 como &quot;intensamente saturados&quot;, enquanto um grupo de jogos de quebra-cabeça mais recentes avançou nas listas de maior faturamento: Color Block Jam, Pixel Flow, Screwdom, Magic Sort e All in Hole. Somente Color Block Jam gerou cerca de US$ 42 milhões em receita com 21,8 milhões de instalações em um único trimestre. A história continuou evoluindo durante o primeiro semestre de 2026: Pixel Flow passou de estreante a líder da categoria, com cerca de US$ 94 milhões em receita acumulada dentro do app; Jigsolitaire e Color Block: Combo Blast são os nomes que estão crescendo agora; e Gossip Harbor e Tasty Travels impulsionaram boa parte do crescimento da receita de quebra-cabeças no primeiro trimestre. Se você está decidindo que tipo de jogo casual criar em 2026, uma &quot;cópia saturada de Match3&quot; e um &quot;quebra-cabeça híbrido-casual original&quot; são apostas muito diferentes.</p>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 300" role="img" aria-label="Destaques casuais de 2025: os líderes de receita Royal Match e Monopoly Go, o puzzle hybrid-casual de sucesso Color Block Jam, Screwdom e Pixel Flow" style="width:100%;height:auto;max-width:720px;margin:1.5rem auto;display:block;border-radius:14px">
  <rect width="720" height="300" rx="14" fill="#0b1020"/>
  <text x="32" y="44" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="20" font-weight="800" fill="#e8edf5">Os grandes sucessos de 2025</text>
  <text x="32" y="68" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="13" fill="#9aa7b4">Os períodos de receita variam. Fonte: AppMagic.</text>
  <g font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif">
    <text x="32" y="100" font-size="12" font-weight="800" letter-spacing="1" fill="#c8a8ff">MAIOR RECEITA · SEM ANÚNCIOS</text>
    <g transform="translate(32,112)">
      <rect width="316" height="46" rx="10" fill="#121a31"/>
      <text x="16" y="29" font-size="15" font-weight="700" fill="#e8edf5">Royal Match</text>
      <text x="300" y="29" text-anchor="end" font-size="14" font-weight="800" fill="#c8a8ff">&gt;$500M</text>
    </g>
    <g transform="translate(32,166)">
      <rect width="316" height="46" rx="10" fill="#121a31"/>
      <text x="16" y="29" font-size="15" font-weight="700" fill="#e8edf5">Monopoly Go!</text>
      <text x="300" y="29" text-anchor="end" font-size="14" font-weight="800" fill="#c8a8ff">$431M</text>
    </g>
    <text x="372" y="100" font-size="12" font-weight="800" letter-spacing="1" fill="#7dd3fc">PUZZLE HYBRID-CASUAL DE SUCESSO</text>
    <g transform="translate(372,112)">
      <rect width="316" height="46" rx="10" fill="#121a31"/>
      <text x="16" y="22" font-size="15" font-weight="700" fill="#e8edf5">Color Block Jam</text>
      <text x="16" y="38" font-size="11" fill="#9aa7b4">21,8 mi de instalações em um trimestre</text>
      <text x="300" y="30" text-anchor="end" font-size="14" font-weight="800" fill="#7dd3fc">$42M</text>
    </g>
    <g transform="translate(372,166)">
      <rect width="150" height="46" rx="10" fill="#121a31"/>
      <text x="16" y="22" font-size="14" font-weight="700" fill="#e8edf5">Screwdom</text>
      <text x="134" y="38" text-anchor="end" font-size="13" font-weight="800" fill="#7dd3fc">$27.1M</text>
    </g>
    <g transform="translate(538,166)">
      <rect width="150" height="46" rx="10" fill="#121a31"/>
      <text x="16" y="22" font-size="14" font-weight="700" fill="#e8edf5">Pixel Flow</text>
      <text x="134" y="38" text-anchor="end" font-size="11" fill="#9aa7b4">ultrapassou em dez.</text>
    </g>
  </g>
  <text x="32" y="248" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="12.5" fill="#9aa7b4">Magic Sort e All in Hole também chegaram ao top 50 de receita, enquanto o Match3</text>
  <text x="32" y="268" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="12.5" fill="#9aa7b4">permaneceu estagnado em um mercado extremamente saturado.</text>
</svg>
<h2 id="a-monetizacao-agora-e-um-espectro-nao-um-modelo" tabindex="-1">A monetização agora é um espectro, não um modelo <a class="header-anchor" href="#a-monetizacao-agora-e-um-espectro-nao-um-modelo" aria-label="Permalink to &quot;A monetização agora é um espectro, não um modelo&quot;"></a></h2>
<p>Já não existe um único “modelo de monetização casual”. O mercado se dividiu em um espectro bem definido, e a posição de um jogo depende do que ele é. A leitura consistente entre as plataformas de análise é que combinar compras no aplicativo com anúncios se tornou a estratégia intermediária otimizada, mas os extremos ainda conquistam grandes resultados.</p>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 290" role="img" aria-label="O espectro da monetização casual, do Block Blast sustentado apenas por anúncios aos híbridos Candy Crush e Coin Master, chegando a Royal Match e Monopoly Go sem anúncios" style="width:100%;height:auto;max-width:720px;margin:1.5rem auto;display:block;border-radius:14px">
  <defs>
    <linearGradient id="spec" x1="0" y1="0" x2="1" y2="0">
      <stop offset="0" stop-color="#7dd3fc"/>
      <stop offset="0.5" stop-color="#a9b4ff"/>
      <stop offset="1" stop-color="#c8a8ff"/>
    </linearGradient>
  </defs>
  <rect width="720" height="290" rx="14" fill="#0b1020"/>
  <text x="32" y="44" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="20" font-weight="800" fill="#e8edf5">Um gênero, três modelos de receita</text>
  <text x="32" y="68" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="13" fill="#9aa7b4">A posição dos sucessos casuais no espectro da monetização. Fonte: AppMagic, Gamesforum.</text>
  <rect x="60" y="150" width="600" height="10" rx="5" fill="url(#spec)"/>
  <g font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif">
    <g text-anchor="middle">
      <circle cx="150" cy="155" r="9" fill="#7dd3fc" stroke="#0b1020" stroke-width="3"/>
      <text x="150" y="120" font-size="14" font-weight="800" fill="#e8edf5">Block Blast!</text>
      <text x="150" y="138" font-size="11.5" fill="#9aa7b4">mais baixado</text>
      <text x="150" y="186" font-size="12" font-weight="700" fill="#7dd3fc">Somente anúncios</text>
      <text x="150" y="204" font-size="11.5" fill="#9aa7b4">monetizado pelo volume</text>
    </g>
    <g text-anchor="middle">
      <circle cx="360" cy="155" r="9" fill="#a9b4ff" stroke="#0b1020" stroke-width="3"/>
      <text x="360" y="120" font-size="14" font-weight="800" fill="#e8edf5">Candy Crush · Coin Master</text>
      <text x="360" y="138" font-size="11.5" fill="#9aa7b4">o novo padrão</text>
      <text x="360" y="186" font-size="12" font-weight="700" fill="#a9b4ff">Híbrido (IAP + anúncios)</text>
      <text x="360" y="204" font-size="11.5" fill="#9aa7b4">vídeos premiados e compras</text>
    </g>
    <g text-anchor="middle">
      <circle cx="570" cy="155" r="9" fill="#c8a8ff" stroke="#0b1020" stroke-width="3"/>
      <text x="570" y="120" font-size="14" font-weight="800" fill="#e8edf5">Royal Match · Monopoly Go!</text>
      <text x="570" y="138" font-size="11.5" fill="#9aa7b4">&gt;$500M · $431M</text>
      <text x="570" y="186" font-size="12" font-weight="700" fill="#c8a8ff">Sem anúncios, apenas IAP</text>
      <text x="570" y="204" font-size="11.5" fill="#9aa7b4">os pagantes sustentam o jogo</text>
    </g>
  </g>
  <g font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="12" fill="#5b6472" font-weight="600">
    <text x="60" y="252">◄ Alcance e volume</text>
    <text x="660" y="252" text-anchor="end">Profundidade e pagantes ►</text>
  </g>
</svg>
<table tabindex="0">
<thead>
<tr>
<th>Modelo</th>
<th>Quem o utiliza</th>
<th>Exemplos</th>
<th>O que isso revela</th>
</tr>
</thead>
<tbody>
<tr>
<td>Sem anúncios, apenas IAP</td>
<td>Os líderes de receita</td>
<td>Royal Match (mais de US$ 500 mi de jan. a abr. de 2025), Monopoly Go! (US$ 431 mi)</td>
<td>Metajogos profundos não precisam de anúncios; os jogadores pagantes os sustentam</td>
</tr>
<tr>
<td>Híbrido (IAP + anúncios)</td>
<td>Jogos intermediários e a maioria dos novos sucessos</td>
<td>Candy Crush, Coin Master, Township</td>
<td>O novo padrão: vídeos premiados e compras</td>
</tr>
<tr>
<td>Somente anúncios</td>
<td>Os títulos mais baixados</td>
<td>Block Blast!</td>
<td>Alcance enorme, monetizado quase inteiramente pelo volume</td>
</tr>
</tbody>
</table>
<p>A lição não é “escolha um”. O modelo deve acompanhar o jogo. Um brinquedo de puzzle puro com alcance enorme pode viver de anúncios. Um jogo com coleção, progressão e recursos sociais deixa dinheiro na mesa se exibe anúncios aos jogadores que gastam. Quase tudo que fica entre esses extremos obtém melhores resultados combinando os dois. Os números vêm do <a href="https://investgame.net/wp-content/uploads/2025/07/Gamesforum-Intelligence-Casual-Gaming-Report.pdf" target="_blank" rel="noreferrer">relatório de jogos casuais da Gamesforum Intelligence</a> (dados da AppMagic).</p>
<h2 id="quanta-receita-de-anuncios-um-jogo-casual-pode-esperar-em-2026" tabindex="-1">Quanta receita de anúncios um jogo casual pode esperar em 2026? <a class="header-anchor" href="#quanta-receita-de-anuncios-um-jogo-casual-pode-esperar-em-2026" aria-label="Permalink to &quot;Quanta receita de anúncios um jogo casual pode esperar em 2026?&quot;"></a></h2>
<p>O lado publicitário desse espectro é maior do que a maioria das pessoas imagina. A publicidade em jogos mobile ultrapassou <a href="https://gameworldobserver.com/2026/07/06/in-2025-mobile-game-advertising-revenue-exceeded-12-billion-analytics" target="_blank" rel="noreferrer">US$ 12 bilhões em 2025</a>, segundo a análise aprofundada sobre monetização por anúncios da Sensor Tower, e os jogos de puzzle, sozinhos, responderam por 53% da receita publicitária do gênero no início de 2026. A parcela da sua receita que deve vir de anúncios depende muito de onde estão seus jogadores. Os anúncios representaram cerca de 22% da receita de jogos mobile nos EUA entre janeiro e maio de 2026, mas 70% na Índia. Portanto, um público de mercados tier 1 gera receita por meio de compras, enquanto um público global de grande volume gera receita por meio de impressões.</p>
<p>Quanto aos valores, os <a href="https://business.mistplay.com/resources/mobile-ads-ecpm/" target="_blank" rel="noreferrer">benchmarks de eCPM da Appodeal</a> colocam as médias dos EUA em aproximadamente US$ 15 para vídeos premiados, de US$ 12 a US$ 13 para intersticiais e cerca de US$ 0,50 para banners, com valores consideravelmente menores na Europa e na região Ásia-Pacífico. A receita por jogador varia mais de acordo com o subgênero do que com a rede: o <a href="https://appdevelopermagazine.com/mobile-casual-benchmarks-report-2025/" target="_blank" rel="noreferrer">relatório de benchmarks casuais</a> da Appodeal mostra que o ARPU de anúncios no Android dos EUA fica abaixo de um dólar para jogos hypercasual, perto de US$ 3 para jogos de combinação e bem acima de US$ 10 para títulos de merge. Já o <a href="https://tenjin.com/blog/ad-mon-gaming-2026/" target="_blank" rel="noreferrer">relatório de benchmarks de 2026 da Tenjin e da CAS.AI</a> aponta que o Android responde por 57% da receita publicitária de jogos mobile, com AdMob e AppLovin como as maiores redes. Considere tudo isso como uma orientação, não como verdade absoluta. Gênero, distribuição geográfica e design dos posicionamentos afetam os números mais do que a plataforma de mediação.</p>
<h2 id="metarrecursos-reforma-e-requisito-basico-as-novas-camadas-sao-tarefas-e-cooperacao" tabindex="-1">Metarrecursos: reforma é requisito básico; as novas camadas são tarefas e cooperação <a class="header-anchor" href="#metarrecursos-reforma-e-requisito-basico-as-novas-camadas-sao-tarefas-e-cooperacao" aria-label="Permalink to &quot;Metarrecursos: reforma é requisito básico; as novas camadas são tarefas e cooperação&quot;"></a></h2>
<p>Se você quer saber quais metarrecursos os jogos casuais líderes de receita realmente utilizam, a resposta tem sido bastante estável: decoração e construção. A GameRefinery encontrou elementos de reforma em <a href="https://www.pocketgamer.biz/gamerefinery-renovation-features-are-in-every-top-100-us-casual-mobile-game/" target="_blank" rel="noreferrer">todos os 100 jogos casuais de maior receita nos EUA lançados desde 2020</a> (uma constatação de 2022 que ainda define a categoria) e elementos de <a href="https://www.gamerefinery.com/why-renovation-and-construction-elements-are-becoming-more-popular-in-casual-games/" target="_blank" rel="noreferrer">construção em 49% dos jogos Match3 entre os 100 de maior receita nos EUA</a>, contra 7% seis anos antes.</p>
<p>O que está mudando em 2026 é a camada superior. A <a href="https://www.gamerefinery.com/mobile-game-market-review-january-2026/" target="_blank" rel="noreferrer">retrospectiva de janeiro de 2026 da GameRefinery</a> chama isso de evolução, não revolução: Zen Match substituiu seu meta de decoração de cômodos por uma camada de exploração de ilha baseada em tarefas; Gossip Harbor adicionou os Medal Challenges, uma grade de metatarefas paralelas e de longa duração no lugar de eventos mensais isolados; e Hay Day acrescentou progressão cooperativa no nível da vizinhança à fazenda. A decoração trouxe todos até aqui, mas agora a diferenciação vem de sistemas de tarefas, ciclos sazonais e metas cooperativos adicionados sobre ela.</p>
<h2 id="para-onde-o-dinheiro-esta-indo" tabindex="-1">Para onde o dinheiro está indo <a class="header-anchor" href="#para-onde-o-dinheiro-esta-indo" aria-label="Permalink to &quot;Para onde o dinheiro está indo&quot;"></a></h2>
<p>Geograficamente, os jogos casuais impulsionaram o maior crescimento nos mercados ocidentais. A América do Norte registrou o maior crescimento absoluto e a Europa cresceu mais em termos percentuais, enquanto a Ásia foi a única região em que a receita de compras no aplicativo realmente <a href="https://sensortower.com/state-of-gaming-2025" target="_blank" rel="noreferrer">caiu</a>. Parte dessa queda na Ásia é um efeito do dólar forte, mas a direção está clara: é no Ocidente que os gastos com jogos casuais estão crescendo.</p>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 240" role="img" aria-label="Crescimento da receita casual por região em 2025: Europa com alta de 14 por cento, América do Norte com alta de 9 por cento e o maior crescimento absoluto, Ásia com queda de 3 por cento" style="width:100%;height:auto;max-width:720px;margin:1.5rem auto;display:block;border-radius:14px">
  <rect width="720" height="240" rx="14" fill="#0b1020"/>
  <text x="32" y="44" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="20" font-weight="800" fill="#e8edf5">O crescimento casual foi para o Ocidente</text>
  <text x="32" y="68" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="13" fill="#9aa7b4">Variação da receita em apps por região em 2025. A queda na Ásia se deve, em parte, ao dólar forte. Fonte: Sensor Tower.</text>
  <line x1="280" y1="96" x2="280" y2="212" stroke="#ffffff" stroke-opacity="0.18"/>
  <g font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="14" font-weight="700">
    <text x="150" y="122" text-anchor="end" fill="#e8edf5">Europa</text>
    <rect x="280" y="106" width="252" height="22" rx="5" fill="#6ee7b7"/>
    <text x="542" y="122" font-size="13" font-weight="800" fill="#6ee7b7">+14%</text>
    <text x="150" y="164" text-anchor="end" fill="#e8edf5">América do Norte</text>
    <rect x="280" y="148" width="162" height="22" rx="5" fill="#7dd3fc"/>
    <text x="452" y="164" font-size="13" font-weight="800" fill="#7dd3fc">+9%</text>
    <text x="504" y="164" font-size="11.5" font-weight="600" fill="#9aa7b4">maior crescimento absoluto</text>
    <text x="150" y="206" text-anchor="end" fill="#e8edf5">Ásia</text>
    <rect x="226" y="190" width="54" height="22" rx="5" fill="#fb7185"/>
    <text x="218" y="206" text-anchor="end" font-size="13" font-weight="800" fill="#fb7185">&#8722;3%</text>
  </g>
</svg>
<p>O marco mais impressionante de 2025 está logo além dos jogos. Pela primeira vez, aplicativos que não são jogos superaram os jogos em receita de compras no aplicativo mobile, cerca de US$ 85,6 bilhões contra US$ 81,8 bilhões, e grande parte dessa virada veio de aplicativos de assinatura com IA generativa, como explica o <a href="https://www.deconstructoroffun.com/blog/2026/2/2/state-of-mobile-2026" target="_blank" rel="noreferrer">Deconstructor of Fun</a>. Os jogos perderam o primeiro lugar na loja que costumavam dominar, em parte para produtos de IA. Vale a pena refletir sobre isso.</p>
<h2 id="as-regras-das-lojas-tambem-estao-mudando" tabindex="-1">As regras das lojas também estão mudando <a class="header-anchor" href="#as-regras-das-lojas-tambem-estao-mudando" aria-label="Permalink to &quot;As regras das lojas também estão mudando&quot;"></a></h2>
<p>O outro fator que está remodelando a monetização casual em 2026 ocorre nos tribunais e órgãos reguladores, não no design de jogos. Nos EUA, a Apple foi obrigada a permitir links externos de pagamento sem comissão desde a decisão por desacato de abril de 2025. Embora uma <a href="https://www.macrumors.com/2025/12/11/apple-app-store-fees-external-payment-links/" target="_blank" rel="noreferrer">decisão de apelação de dezembro de 2025</a> permita que a Apple eventualmente cobre “uma comissão razoável”, nenhuma taxa será aplicada até que um tribunal aprove uma. Portanto, em meados de 2026, os links continuam sem cobrança. Na UE, a Core Technology Fee por instalação foi eliminada e substituída por uma <a href="https://developer.apple.com/support/dma-and-apps-in-the-eu/" target="_blank" rel="noreferrer">Core Technology Commission de 5%</a> sobre a receita de bens digitais a partir de janeiro de 2026. E, no Android, Google e Epic <a href="https://www.pocketgamer.biz/google-and-epic-withdraw-settlement-as-play-store-overhaul-moves-ahead/" target="_blank" rel="noreferrer">retiraram seu acordo em 15 de julho de 2026</a>, mantendo em vigor a liminar original: a partir de 22 de julho, lojas de aplicativos concorrentes serão distribuídas como apps disponíveis para download na Play Store dos EUA, e as listagens nos EUA serão incluídas automaticamente em lojas de terceiros, a menos que os desenvolvedores optem por não participar.
Para um estúdio de jogos casuais, a conclusão prática é que a receita fora das lojas deixou de ser algo exótico. O relatório <a href="https://www.revenuecat.com/state-of-subscription-apps" target="_blank" rel="noreferrer">State of Subscription Apps 2026</a>, da RevenueCat, revelou que 41% dos maiores aplicativos já geram receita na web, contra cerca de 1% dos aplicativos de desenvolvedores amadores. Lojas próprias voltadas diretamente ao consumidor, links de pagamento externos e lojas alternativas agora são opções que se espera que um jogo casual de médio porte ao menos avalie.</p>
<h2 id="como-a-ia-esta-mudando-a-producao-de-jogos-casuais" tabindex="-1">Como a IA está mudando a produção de jogos casuais <a class="header-anchor" href="#como-a-ia-esta-mudando-a-producao-de-jogos-casuais" aria-label="Permalink to &quot;Como a IA está mudando a produção de jogos casuais&quot;"></a></h2>
<p>A IA aparece nos dois lados da equação. No lado dos gastos, como observado acima, os aplicativos de IA agora estão atraindo dinheiro que antes ia para os jogos. No lado da produção, a IA generativa deixou de ser um experimento e se tornou uma ferramenta padrão. A pesquisa State of the Game Industry de 2025, da GDC, revelou que 52% dos desenvolvedores trabalhavam em empresas que usavam IA generativa em alguma parte da organização, enquanto a edição de 2026 apontou um uso pessoal de 36%.</p>
<p>Porém, não se trata de uma trajetória de crescimento contínuo. Uma pesquisa mais recente do <a href="https://www.gamedeveloper.com/production/developer-use-of-generative-ai-may-be-declining" target="_blank" rel="noreferrer">Game Developer Collective</a> revelou que o uso pessoal caiu para 29%, sugerindo que algumas equipes experimentaram ferramentas de IA e depois recuaram. E a percepção está piorando mesmo com a expansão da adoção: na mesma pesquisa da GDC de 2026, 52% dos desenvolvedores disseram que a IA generativa está causando um impacto negativo no setor, a maior proporção até agora. A leitura mais honesta em 2026 é que a IA está firmemente inserida no cotidiano dos estúdios de jogos, mas ainda está encontrando as áreas em que realmente ajuda. Para jogos casuais, isso significa prototipagem rápida, geração de assets e conteúdo de live ops, em vez de lançar um jogo inteiro sem qualquer intervenção humana.</p>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 250" role="img" aria-label="Adoção de IA generativa entre desenvolvedores de jogos: 52% em empresas que usam IA, 36% usando por conta própria e 29% em uma pesquisa posterior" style="width:100%;height:auto;max-width:720px;margin:1.5rem auto;display:block;border-radius:14px">
  <rect width="720" height="250" rx="14" fill="#0b1020"/>
  <text x="32" y="44" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="20" font-weight="800" fill="#e8edf5">A IA entrou nos estúdios</text>
  <text x="32" y="68" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="13" fill="#9aa7b4">Proporção de desenvolvedores de jogos que usam IA generativa. Fonte: GDC; Game Developer Collective.</text>
  <g transform="translate(180,120)">
    <circle r="44" fill="none" stroke="#1b2540" stroke-width="11"/>
    <circle r="44" fill="none" stroke="#c8a8ff" stroke-width="11" stroke-linecap="round" stroke-dasharray="143.8 276.5" transform="rotate(-90)"/>
    <text y="8" text-anchor="middle" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="26" font-weight="800" fill="#e8edf5">52%</text>
    <text y="74" text-anchor="middle" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="13" font-weight="700" fill="#e8edf5">Em empresas que usam IA</text>
    <text y="92" text-anchor="middle" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="11.5" fill="#9aa7b4">Pesquisa GDC 2025</text>
  </g>
  <g transform="translate(360,120)">
    <circle r="44" fill="none" stroke="#1b2540" stroke-width="11"/>
    <circle r="44" fill="none" stroke="#7dd3fc" stroke-width="11" stroke-linecap="round" stroke-dasharray="99.5 276.5" transform="rotate(-90)"/>
    <text y="8" text-anchor="middle" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="26" font-weight="800" fill="#e8edf5">36%</text>
    <text y="74" text-anchor="middle" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="13" font-weight="700" fill="#e8edf5">Usam por conta própria</text>
    <text y="92" text-anchor="middle" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="11.5" fill="#9aa7b4">Pesquisa GDC 2026</text>
  </g>
  <g transform="translate(540,120)">
    <circle r="44" fill="none" stroke="#1b2540" stroke-width="11"/>
    <circle r="44" fill="none" stroke="#f0abfc" stroke-width="11" stroke-linecap="round" stroke-dasharray="80.2 276.5" transform="rotate(-90)"/>
    <text y="8" text-anchor="middle" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="26" font-weight="800" fill="#e8edf5">29%</text>
    <text y="74" text-anchor="middle" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="13" font-weight="700" fill="#e8edf5">Uso pessoal posterior</text>
    <text y="92" text-anchor="middle" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="11.5" fill="#9aa7b4">queda em relação a 36%</text>
  </g>
</svg>
<p>Para criadores independentes e equipes pequenas, essa é a frente mais interessante. A mesma abordagem de texto para jogo que criou a categoria de aplicativos de IA agora está sendo usada para produzir os próprios jogos. Os jogos casuais são o gênero com o qual a IA lida melhor, pois seus loops são compactos e o escopo é pequeno. É exatamente por isso que uma ferramenta como a Cinevva consegue transformar uma frase em um jogo executável no seu navegador.</p>
<h2 id="o-que-isso-significa-para-quem-esta-criando-um-jogo-casual" tabindex="-1">O que isso significa para quem está criando um jogo casual <a class="header-anchor" href="#o-que-isso-significa-para-quem-esta-criando-um-jogo-casual" aria-label="Permalink to &quot;O que isso significa para quem está criando um jogo casual&quot;"></a></h2>
<p>Juntando tudo, a estratégia para 2026 é diferente da de 2022. Você não está mais correndo para conquistar instalações baratas, porque essa era acabou. Agora, o objetivo é criar algo que um público menor realmente queira continuar jogando e no qual esteja disposto a gastar. Isso favorece um diferencial claro com profundidade por trás, monetização híbrida que respeite tanto quem assiste a anúncios quanto quem gasta dinheiro e uma abordagem original de um loop comprovado, em vez do milésimo clone de match-3. O público ocidental está gastando, os jogos de quebra-cabeça estão concorridos no topo, mas ainda há muito espaço para novas mecânicas, e o custo de experimentar uma ideia despencou agora que a IA pode criar a primeira versão jogável para você.</p>
<p>Essa última parte é a verdadeira oportunidade. Quando um protótipo leva minutos em vez de um fim de semana, você pode testar dez conceitos híbridos casuais com o esforço que antes era necessário para testar apenas um. O mercado recompensa a ideia que funciona, e a maneira mais rápida de encontrá-la é criar e jogar, não apenas planejar. <a href="/pt-BR/game-creator.html">Comece com um prompt</a> e veja o que se sustenta.</p>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="o-mercado-de-jogos-casuais-esta-encolhendo-em-2026" tabindex="-1">O mercado de jogos casuais está encolhendo em 2026? <a class="header-anchor" href="#o-mercado-de-jogos-casuais-esta-encolhendo-em-2026" aria-label="Permalink to &quot;O mercado de jogos casuais está encolhendo em 2026?&quot;"></a></h3>
<p>Não, mas ele parou de crescer em número de downloads. A receita de compras no aplicativo ainda avançou ligeiramente, chegando a cerca de US$ 81,75 bilhões em 2025, enquanto os downloads caíram 7,2%. A queda continuou em 2026, com os downloads do primeiro trimestre recuando 11,9% em relação ao mesmo período do ano anterior. O mercado está amadurecendo, portanto o crescimento vem de jogadores gastando mais, não de novas instalações.</p>
<h3 id="o-que-e-um-jogo-hibrido-casual-e-por-que-isso-importa" tabindex="-1">O que é um jogo híbrido casual e por que isso importa? <a class="header-anchor" href="#o-que-e-um-jogo-hibrido-casual-e-por-que-isso-importa" aria-label="Permalink to &quot;O que é um jogo híbrido casual e por que isso importa?&quot;"></a></h3>
<p>Os jogos híbridos casuais combinam os loops simples e adequados a anúncios dos jogos hipercasuais com a progressão mais profunda e as compras de um jogo casual completo. Esse foi o único segmento casual cuja receita de compras no aplicativo cresceu em 2025, com alta de 20%, chegando a US$ 4,2 bilhões, o que o torna a categoria mais importante para estudar agora.</p>
<h3 id="quais-jogos-casuais-estao-se-destacando-atualmente" tabindex="-1">Quais jogos casuais estão se destacando atualmente? <a class="header-anchor" href="#quais-jogos-casuais-estao-se-destacando-atualmente" aria-label="Permalink to &quot;Quais jogos casuais estão se destacando atualmente?&quot;"></a></h3>
<p>Entre os novos sucessos, jogos de quebra-cabeça híbridos casuais como Color Block Jam, Pixel Flow, Screwdom e Magic Sort cresceram rapidamente em 2025. Entre os gigantes já consolidados, Royal Match e Monopoly Go! lideram em receita, enquanto Block Blast! lidera em downloads.</p>
<h3 id="meu-jogo-deve-usar-anuncios-ou-compras-no-aplicativo" tabindex="-1">Meu jogo deve usar anúncios ou compras no aplicativo? <a class="header-anchor" href="#meu-jogo-deve-usar-anuncios-ou-compras-no-aplicativo" aria-label="Permalink to &quot;Meu jogo deve usar anúncios ou compras no aplicativo?&quot;"></a></h3>
<p>Depende do jogo. Jogos simples com grande alcance podem se sustentar com anúncios, metajogos profundos têm melhor desempenho sem anúncios e com compras, e quase tudo que fica entre esses extremos ganha mais combinando os dois modelos. O modelo deve acompanhar o design, não o contrário.</p>
<h3 id="como-a-ia-esta-mudando-o-desenvolvimento-de-jogos-casuais" tabindex="-1">Como a IA está mudando o desenvolvimento de jogos casuais? <a class="header-anchor" href="#como-a-ia-esta-mudando-o-desenvolvimento-de-jogos-casuais" aria-label="Permalink to &quot;Como a IA está mudando o desenvolvimento de jogos casuais?&quot;"></a></h3>
<p>A IA generativa agora é uma ferramenta padrão nos estúdios, e 52% dos desenvolvedores trabalham em empresas que a utilizam. Especificamente para jogos casuais, ela acelera a prototipagem, a criação de assets e as live ops. Além disso, ferramentas de texto para jogo agora permitem que criadores produzam um jogo casual jogável a partir de uma descrição.</p>
<h3 id="qual-e-o-tamanho-do-mercado-de-jogos-casuais-em-2026" tabindex="-1">Qual é o tamanho do mercado de jogos casuais em 2026? <a class="header-anchor" href="#qual-e-o-tamanho-do-mercado-de-jogos-casuais-em-2026" aria-label="Permalink to &quot;Qual é o tamanho do mercado de jogos casuais em 2026?&quot;"></a></h3>
<p>Os jogos mobile geraram cerca de US$ 81,75 bilhões em compras no aplicativo em 2025, alta de apenas 1,3% em relação a 2024, e os mil principais jogos casuais representam aproximadamente US$ 23 bilhões desse valor. Os downloads caíram 7,2%, para 50,4 bilhões, portanto o mercado está crescendo por meio do gasto por jogador, e não de novas instalações.</p>
<h3 id="os-jogos-hipercasuais-morreram-em-2026" tabindex="-1">Os jogos hipercasuais morreram em 2026? <a class="header-anchor" href="#os-jogos-hipercasuais-morreram-em-2026" aria-label="Permalink to &quot;Os jogos hipercasuais morreram em 2026?&quot;"></a></h3>
<p>Não. O que deixou de funcionar foi o modelo de negócios baseado apenas em anúncios, não os jogos. Os jogos hipercasuais ainda lideraram todos os downloads em 2025, com 22,05 bilhões de instalações, e o formato está migrando para a monetização híbrida, que acrescenta compras no aplicativo aos anúncios.</p>
<BuildCta
  title="Aproveite a onda dos jogos casuais com seu próprio jogo"
  desc="Jogos aconchegantes e casuais são o gênero mais fácil para começar."
  prompt="Crie um jogo de quebra-cabeça aconchegante de combinar e mesclar peças, com cores suaves" />
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/ai-game-generators-2026.html">Melhores geradores de jogos com IA em 2026</a> — as ferramentas que criam jogos casuais a partir de um prompt</li>
<li><a href="/pt-BR/guides/make-a-game-with-ai.html">Como criar um jogo com IA (sem programar)</a> — o passo a passo da criação</li>
<li><a href="/pt-BR/guides/vibe-coding-games.html">Vibe coding de jogos: o que é e como começar</a> — a mentalidade de prototipagem que este mercado recompensa</li>
<li><a href="/pt-BR/guides/vibe-coding-game-prompts.html">Prompts de jogos com IA que você pode criar com um clique</a> — conceitos casuais para testar rapidamente</li>
<li><a href="/pt-BR/guides/get-more-plays-itch-io.html">Como conseguir mais jogadores no itch.io</a> — como encontrar o público que permanece</li>
<li><a href="/pt-BR/guides/web-game-monetization.html">Monetização de jogos para web: o que os dados realmente mostram</a> — a mesma análise baseada em dados sobre como os jogos de navegador geram receita</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/casual-games-trends-2026-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Como criar um jogo no Cinevva]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/how-to-write-a-game</link>
            <guid>https://app.cinevva.com/pt-BR/guides/how-to-write-a-game</guid>
            <pubDate>Wed, 24 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Um guia prático para escrever prompts que se transformam em um jogo que você realmente queira continuar desenvolvendo. Como começar, como iterar e como descrever um bug para que a IA o corrija na primeira tentativa.]]></description>
            <content:encoded><![CDATA[<h1 id="como-criar-um-jogo-no-cinevva" tabindex="-1">Como criar um jogo no Cinevva <a class="header-anchor" href="#como-criar-um-jogo-no-cinevva" aria-label="Permalink to &quot;Como criar um jogo no Cinevva&quot;"></a></h1>
<p>Você digita o que quer, o Cinevva cria um jogo jogável no seu navegador e, depois, você faz alterações conversando pelo chat. Esse é o ciclo completo. A parte difícil não é a ferramenta, mas saber o que dizer.</p>
<p>Analisamos uma semana de sessões reais para descobrir o que diferencia um prompt que vira um jogo no qual alguém continua trabalhando de outro que é abandonado logo após a primeira versão. O padrão ficou claro, e nada disso é complicado. Veja o que funciona.</p>
<h2 id="comece-com-uma-frase-clara" tabindex="-1">Comece com uma frase clara <a class="header-anchor" href="#comece-com-uma-frase-clara" aria-label="Permalink to &quot;Comece com uma frase clara&quot;"></a></h2>
<p>A melhor forma de começar é com uma ou duas frases que indiquem o tipo de jogo e aquilo que o torna divertido. “Um jogo de sobrevivência a zumbis com visão de cima, no qual você carrega uma lanterna e munição limitada” dá à IA um gênero, um ângulo de câmera, uma tensão central e uma limitação em torno da qual desenvolver o jogo. Ela sabe exatamente o que criar.</p>
<p>Compare isso com “jogo de plataforma” ou “jogos de tiro”. Esses são exemplos reais de prompts iniciais que vemos todos os dias. O Cinevva criará algo a partir deles, mas é questão de sorte se esse algo será o que você tinha em mente. Quanto mais específica for sua primeira frase, mais próxima a primeira versão ficará do que você queria.</p>
<h2 id="descreva-a-sensacao-nao-um-jogo-famoso" tabindex="-1">Descreva a sensação, não um jogo famoso <a class="header-anchor" href="#descreva-a-sensacao-nao-um-jogo-famoso" aria-label="Permalink to &quot;Descreva a sensação, não um jogo famoso&quot;"></a></h2>
<p>Muitas pessoas começam apenas com o nome de um jogo. Pokémon. GTA. Minecraft. Um jogo do Roblox que adoram. Nós entendemos: foram esses jogos que despertaram em você a vontade de criar um. O problema é que eles levaram anos e estúdios inteiros para serem produzidos, além de não caberem em uma aba do navegador.</p>
<p>Em vez disso, indique as partes que você realmente quer. Se você diz GTA, provavelmente quer dizer “dirigir por uma cidade aberta e cumprir missões”. Se diz Minecraft, talvez queira dizer “colocar e quebrar blocos em uma grade infinita para construir coisas”. Explique a mecânica e o Cinevva poderá reproduzir a sensação, mesmo que não possa entregar a franquia inteira. Descrever a experiência sempre funciona melhor do que citar a marca.</p>
<h2 id="deixe-o-jogo-comecar-pequeno-e-depois-amplie" tabindex="-1">Deixe o jogo começar pequeno e depois amplie <a class="header-anchor" href="#deixe-o-jogo-comecar-pequeno-e-depois-amplie" aria-label="Permalink to &quot;Deixe o jogo começar pequeno e depois amplie&quot;"></a></h2>
<p>O Cinevva cria de propósito uma parte jogável logo na primeira interação. Quem acaba criando algo que adora não tenta colocar tudo no prompt inicial. Em vez disso, adiciona uma coisa por mensagem depois de ver o jogo funcionando.</p>
<p>“Adicione carros no trânsito.” “Faça o personagem pular mais alto.” “Crie uma segunda fase.” “Adicione uma barra de vida.” Cada mudança é pequena, rápida e fácil de verificar, e todas se acumulam até formar um jogo de verdade. Tentar incluir dez recursos na primeira interação geralmente resulta em uma versão instável de todos eles. É com uma mudança clara de cada vez que os bons jogos são feitos.</p>
<h2 id="quando-algo-estiver-errado-diga-exatamente-o-que" tabindex="-1">Quando algo estiver errado, diga exatamente o quê <a class="header-anchor" href="#quando-algo-estiver-errado-diga-exatamente-o-que" aria-label="Permalink to &quot;Quando algo estiver errado, diga exatamente o quê&quot;"></a></h2>
<p>A mensagem que menos ajuda é “não funciona” ou apenas “conserte”. A IA não consegue ver sua tela, então precisa tentar adivinhar.</p>
<p>Diga três coisas: o que você fez, o que aconteceu e o que esperava. “Quando pressiono a barra de espaço, o pássaro quase não sobe; eu queria que ele batesse as asas e voasse mais alto” resulta em uma correção de verdade na primeira tentativa. “O carro atravessa as paredes em vez de parar” aponta diretamente para a detecção de colisão. Essas dez palavras extras evitam três rodadas de idas e vindas.</p>
<h2 id="seja-especifico-sobre-a-aparencia" tabindex="-1">Seja específico sobre a aparência <a class="header-anchor" href="#seja-especifico-sobre-a-aparencia" aria-label="Permalink to &quot;Seja específico sobre a aparência&quot;"></a></h2>
<p>O Cinevva é bom com elementos visuais quando você dá algo que ele possa imaginar. Cores, formas, clima, detalhes do personagem. Uma pessoa descreveu seu herói como “uma figura escura com capa branca, luvas brancas e olhos brancos brilhantes” e recebeu exatamente isso.</p>
<p>“Deixe mais legal” não dá à IA nada com que trabalhar. Em vez disso, especifique a paleta, o estilo (neon, aconchegante, retrô, terror, desenhado à mão) e quaisquer detalhes importantes do personagem ou do mundo. Algumas palavras específicas podem mudar toda a aparência.</p>
<h2 id="use-sua-propria-arte" tabindex="-1">Use sua própria arte <a class="header-anchor" href="#use-sua-propria-arte" aria-label="Permalink to &quot;Use sua própria arte&quot;"></a></h2>
<p>Você não precisa ficar limitado ao que a IA desenha. Envie suas próprias imagens diretamente pelo chat, e ela as usará como texturas, sprites ou planos de fundo. Você também pode abrir a biblioteca de recursos para usar modelos 3D gratuitos sem se preocupar com atribuição. Quando tiver um visual específico em mente, fornecer uma imagem de referência costuma funcionar melhor do que tentar descrevê-lo.</p>
<h2 id="a-primeira-versao-e-a-mais-demorada-e-seu-trabalho-fica-salvo" tabindex="-1">A primeira versão é a mais demorada, e seu trabalho fica salvo <a class="header-anchor" href="#a-primeira-versao-e-a-mais-demorada-e-seu-trabalho-fica-salvo" aria-label="Permalink to &quot;A primeira versão é a mais demorada, e seu trabalho fica salvo&quot;"></a></h2>
<p>A primeira versão leva mais tempo porque o Cinevva está criando todo o seu jogo do zero. Depois disso, as alterações ficam prontas em segundos. Portanto, aguarde durante essa primeira espera: ela realmente será a mais longa da sessão.</p>
<p>E sim, seus jogos ficam salvos. Feche a aba, volte amanhã, abra Meus jogos e continue exatamente de onde parou. Nada desaparece quando você sai.</p>
<h2 id="um-bom-prompt-do-inicio-ao-fim" tabindex="-1">Um bom prompt, do início ao fim <a class="header-anchor" href="#um-bom-prompt-do-inicio-ao-fim" aria-label="Permalink to &quot;Um bom prompt, do início ao fim&quot;"></a></h2>
<p>Juntando tudo, um bom prompt inicial fica assim:</p>
<p>“Um jogo de tiro com dois analógicos e visão de cima. Sou um pequeno robô em uma arena neon, ondas de inimigos se aproximam, e eu desvio e atiro para sobreviver. Quero um ritmo rápido e estilo arcade.”</p>
<p>Isso define um gênero, um personagem, um cenário, um ciclo central de jogabilidade e uma sensação, tudo em quatro frases curtas. Crie, veja o jogo funcionando e comece a adicionar elementos. Um chefe a cada cinco ondas. Uma esquiva rápida com a tecla Shift. Um multiplicador de pontos para combos. É assim que uma frase se transforma em um jogo que você realmente quer compartilhar.</p>
<p>Quer experimentar? <a href="/pt-BR/create.html?utm_source=guide&amp;utm_medium=content&amp;utm_campaign=how_to_write_a_game">Abra o criador e comece a criar gratuitamente →</a></p>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/how-to-write-a-game-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Como Criar um Jogo 3D para Navegador sem Programar (2026)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/3d-browser-game-without-coding</link>
            <guid>https://app.cinevva.com/pt-BR/guides/3d-browser-game-without-coding</guid>
            <pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[As opções reais para criar um jogo 3D para navegador sem programar em 2026, por que a maioria das ferramentas no-code é voltada para 2D e como as ferramentas de IA que transformam prompts em jogos se tornaram o caminho mais prático para criar em 3D no navegador.]]></description>
            <content:encoded><![CDATA[<h1 id="como-criar-um-jogo-3d-para-navegador-sem-programar-2026" tabindex="-1">Como Criar um Jogo 3D para Navegador sem Programar (2026) <a class="header-anchor" href="#como-criar-um-jogo-3d-para-navegador-sem-programar-2026" aria-label="Permalink to &quot;Como Criar um Jogo 3D para Navegador sem Programar (2026)&quot;"></a></h1>
<p><em>Última atualização: junho de 2026.</em></p>
<p>Há anos é possível criar um jogo 2D sem código. Já criar um jogo 3D que rode no navegador, sem programar, tem sido surpreendentemente difícil — e a maioria dos guias evita discretamente o assunto ao apresentar uma ferramenta 2D. Este guia não faz isso. Veja a situação real da criação de jogos 3D sem código no navegador em 2026 e o caminho que realmente funciona hoje.</p>
<h2 id="a-verdade-incomoda-sobre-o-3d-sem-codigo" tabindex="-1">A verdade incômoda sobre o 3D sem código <a class="header-anchor" href="#a-verdade-incomoda-sobre-o-3d-sem-codigo" aria-label="Permalink to &quot;A verdade incômoda sobre o 3D sem código&quot;"></a></h2>
<p>Os construtores de jogos no-code tradicionais são, em sua esmagadora maioria, voltados para 2D. As poucas ferramentas 3D totalmente no-code que funcionavam no navegador praticamente desapareceram ou mudaram de rumo:</p>
<ul>
<li><strong>Struckd</strong>, a ferramenta que mais se aproximava de uma verdadeira criação 3D por arrastar e soltar na web, encerrará seu estúdio em agosto de 2026.</li>
<li><strong>Crayta</strong> foi encerrado em 2023.</li>
<li><strong>Core</strong> permite criar em 3D sem código, mas exige o download de um cliente e não gera jogos para navegador.</li>
<li><strong>PlayCanvas</strong> é um excelente motor 3D para a web, mas exige que você escreva JavaScript, portanto não é realmente no-code.</li>
</ul>
<p>Isso deixa uma lacuna de verdade. Se você quer criar em 3D, no navegador e sem código, o universo dos construtores visuais tradicionais praticamente não tem mais nada a oferecer, com uma única exceção.</p>
<h2 id="a-unica-excecao-tradicional-gdevelop" tabindex="-1">A única exceção tradicional: GDevelop <a class="header-anchor" href="#a-unica-excecao-tradicional-gdevelop" aria-label="Permalink to &quot;A única exceção tradicional: GDevelop&quot;"></a></h2>
<p>O GDevelop é um construtor visual de jogos gratuito e de código aberto que roda no navegador e tem investido bastante em 3D desde o final de 2025. Você cria a lógica usando planilhas de eventos visuais em vez de código, conta com um editor 3D dedicado e física 3D e pode publicar na web pelo gd.games com um link para compartilhar. Ele é principalmente uma ferramenta 2D com recursos 3D em expansão, portanto não se compara a um motor 3D dedicado, mas é a opção tradicional mais forte para criar jogos realmente 3D sem código no navegador. Ele também ganhou um agente de IA, o que nos leva ao outro caminho.</p>
<h2 id="o-caminho-que-realmente-funciona-em-2026-ia-que-transforma-prompts-em-jogos" tabindex="-1">O caminho que realmente funciona em 2026: IA que transforma prompts em jogos <a class="header-anchor" href="#o-caminho-que-realmente-funciona-em-2026-ia-que-transforma-prompts-em-jogos" aria-label="Permalink to &quot;O caminho que realmente funciona em 2026: IA que transforma prompts em jogos&quot;"></a></h2>
<p>Esta é a mudança: a maneira mais prática de criar um jogo 3D para navegador sem programar em 2026 não é usar um editor visual, mas descrever o jogo para uma IA e deixar que ela construa um jogo 3D de verdade usando um motor web. Isso às vezes é chamado de <a href="/pt-BR/guides/vibe-coding-games.html">vibe coding</a> e, especificamente para 3D, tornou-se discretamente uma alternativa viável enquanto as ferramentas 3D no-code tradicionais desapareceram.</p>
<p>Algumas ferramentas fazem isso:</p>
<ul>
<li><strong>Cinevva</strong> cria jogos realmente 3D e jogáveis no navegador a partir de um prompt de texto, usando um motor baseado em Three.js, com geração integrada de modelos 3D, imagens, músicas e skyboxes, além de um link que pode ser compartilhado instantaneamente.</li>
<li><strong>Rosebud</strong> transforma prompts em jogos 2D e, cada vez mais, 3D, com hospedagem no navegador.</li>
<li><strong>Nilo</strong> é uma ferramenta de IA 3D para navegador com forte foco na exportação para Roblox, voltada para um público mais jovem.</li>
</ul>
<p>Você não precisa escrever código em nenhuma delas. Basta descrever o jogo, testar o resultado e refiná-lo pedindo alterações. Consulte a <a href="/pt-BR/guides/ai-game-generators-2026.html">comparação completa de geradores de jogos com IA</a> para entender as diferenças entre eles.</p>
<h2 id="como-criar-um-jogo-3d-para-navegador-com-ia-passo-a-passo" tabindex="-1">Como criar um jogo 3D para navegador com IA, passo a passo <a class="header-anchor" href="#como-criar-um-jogo-3d-para-navegador-com-ia-passo-a-passo" aria-label="Permalink to &quot;Como criar um jogo 3D para navegador com IA, passo a passo&quot;"></a></h2>
<h3 id="_1-descreva-um-jogo-3d-pequeno" tabindex="-1">1. Descreva um jogo 3D pequeno <a class="header-anchor" href="#_1-descreva-um-jogo-3d-pequeno" aria-label="Permalink to &quot;1. Descreva um jogo 3D pequeno&quot;"></a></h3>
<p>Informe o gênero, um detalhe marcante e um objetivo. O 3D funciona melhor quando o conceito é simples e espacial. Por exemplo:</p>
<blockquote>
<p>Crie um jogo de parkour em primeira pessoa no qual eu salto entre ilhas flutuantes e corro contra o cronômetro para chegar ao final.</p>
</blockquote>
<p>Você pode <a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=3d_no_code">começar com um prompt em branco</a> ou usar um <a href="/pt-BR/guides/vibe-coding-game-prompts.html">prompt 3D pronto para criar com um clique</a> e personalizá-lo.</p>
<h3 id="_2-jogue-e-depois-altere-uma-coisa" tabindex="-1">2. Jogue e depois altere uma coisa <a class="header-anchor" href="#_2-jogue-e-depois-altere-uma-coisa" aria-label="Permalink to &quot;2. Jogue e depois altere uma coisa&quot;"></a></h3>
<p>Você receberá uma cena 3D jogável. Jogue e identifique o principal problema. Peça apenas uma alteração: &quot;faça os saltos alcançarem uma distância maior&quot;, &quot;adicione uma mecânica de cair e reaparecer&quot;, &quot;aumente a velocidade do jogador&quot;. Altere, jogue e repita. Esse ciclo é a essência de todo o processo.</p>
<h3 id="_3-adicione-assets-3d" tabindex="-1">3. Adicione assets 3D <a class="header-anchor" href="#_3-adicione-assets-3d" aria-label="Permalink to &quot;3. Adicione assets 3D&quot;"></a></h3>
<p>Peça os modelos e o visual que deseja: &quot;dê ao jogador um robô low-poly&quot;, &quot;use um skybox de pôr do sol&quot;, &quot;faça as ilhas de pedra com grama por cima&quot;. Se a ferramenta tiver uma biblioteca de assets CC0, aproveite-a para tudo o que pretende publicar. Nosso <a href="/pt-BR/guides/game-assets-guide.html">guia de assets gratuitos para jogos</a> explica as fontes e licenças.</p>
<h3 id="_4-faca-com-que-ele-pareca-um-jogo-de-verdade" tabindex="-1">4. Faça com que ele pareça um jogo de verdade <a class="header-anchor" href="#_4-faca-com-que-ele-pareca-um-jogo-de-verdade" aria-label="Permalink to &quot;4. Faça com que ele pareça um jogo de verdade&quot;"></a></h3>
<p>Adicione os detalhes finais que os jogadores percebem em 3D: uma câmera clara, controles responsivos, um objetivo visível, sons nas ações importantes e uma condição de vitória ou derrota. Peça também uma tela de título e um botão para reiniciar.</p>
<h3 id="_5-publique-o-link" tabindex="-1">5. Publique o link <a class="header-anchor" href="#_5-publique-o-link" aria-label="Permalink to &quot;5. Publique o link&quot;"></a></h3>
<p>As ferramentas para navegador fornecem uma URL compartilhável com um clique. Envie-a para outras pessoas, observe em que ponto elas desistem e transforme essas descobertas na próxima rodada de alterações.</p>
<h2 id="e-se-eu-quiser-fazer-tudo-manualmente" tabindex="-1">E se eu quiser fazer tudo manualmente? <a class="header-anchor" href="#e-se-eu-quiser-fazer-tudo-manualmente" aria-label="Permalink to &quot;E se eu quiser fazer tudo manualmente?&quot;"></a></h2>
<p>Se você estiver disposto a aprender um pouco de código, o universo 3D para a web oferece muitas opções: Three.js, Babylon.js e PlayCanvas criam excelentes experiências 3D para navegador, e motores como o Godot também exportam para a web. Isso não é no-code, mas vale a pena saber que as possibilidades aumentam muito quando você cruza essa barreira. Nossa <a href="/pt-BR/guides/web-game-engines-comparison.html">comparação de motores de jogos para a web</a> aborda essas opções. Para permanecer totalmente no-code, a resposta é usar o GDevelop ou uma ferramenta de IA que transforma prompts em jogos.</p>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="e-possivel-criar-um-jogo-3d-no-navegador-sem-programar" tabindex="-1">É possível criar um jogo 3D no navegador sem programar? <a class="header-anchor" href="#e-possivel-criar-um-jogo-3d-no-navegador-sem-programar" aria-label="Permalink to &quot;É possível criar um jogo 3D no navegador sem programar?&quot;"></a></h3>
<p>Sim, mas as opções são limitadas. O GDevelop é a principal ferramenta no-code tradicional com recursos 3D reais no navegador, enquanto ferramentas de IA que transformam prompts em jogos, como Cinevva, Rosebud e Nilo, permitem criar jogos 3D para navegador descrevendo-os em vez de programá-los. Várias ferramentas 3D no-code mais antigas, como Struckd e Crayta, foram encerradas. Por isso, os caminhos práticos em 2026 são o GDevelop ou a IA.</p>
<h3 id="qual-e-a-maneira-mais-facil-de-criar-um-jogo-3d-sem-experiencia" tabindex="-1">Qual é a maneira mais fácil de criar um jogo 3D sem experiência? <a class="header-anchor" href="#qual-e-a-maneira-mais-facil-de-criar-um-jogo-3d-sem-experiencia" aria-label="Permalink to &quot;Qual é a maneira mais fácil de criar um jogo 3D sem experiência?&quot;"></a></h3>
<p>Descreva o jogo para uma ferramenta de IA que transforma prompts em jogos e refine-o por meio de uma conversa. Você recebe um jogo 3D jogável em poucos minutos, sem precisar instalar um motor ou escrever código, e depois pode aprimorá-lo com uma alteração de cada vez. É o ponto de partida mais simples para quem não tem nenhuma experiência.</p>
<h3 id="o-gdevelop-e-bom-para-3d" tabindex="-1">O GDevelop é bom para 3D? <a class="header-anchor" href="#o-gdevelop-e-bom-para-3d" aria-label="Permalink to &quot;O GDevelop é bom para 3D?&quot;"></a></h3>
<p>O GDevelop é principalmente um motor 2D, mas ganhou um editor 3D dedicado, física 3D e outros recursos 3D desde o final de 2025. Além disso, é gratuito, de código aberto, roda no navegador e oferece publicação na web. Ele não se compara a um motor 3D dedicado, mas é a opção tradicional mais forte para criar jogos 3D gratuitos e sem código no navegador.</p>
<h3 id="preciso-de-um-computador-potente-para-criar-um-jogo-3d-para-navegador" tabindex="-1">Preciso de um computador potente para criar um jogo 3D para navegador? <a class="header-anchor" href="#preciso-de-um-computador-potente-para-criar-um-jogo-3d-para-navegador" aria-label="Permalink to &quot;Preciso de um computador potente para criar um jogo 3D para navegador?&quot;"></a></h3>
<p>Não. As ferramentas de IA para navegador e o GDevelop realizam o trabalho pesado nos próprios servidores ou no navegador, portanto você não precisa de um PC gamer nem de uma GPU dedicada. Qualquer computador razoavelmente moderno com um navegador atualizado é suficiente para criar e jogar.</p>
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/ai-game-generators-2026.html">Melhores geradores de jogos com IA em 2026</a> — as ferramentas que criam jogos 3D a partir de prompts</li>
<li><a href="/pt-BR/guides/make-a-game-with-ai.html">Como criar um jogo com IA sem programar</a> — o fluxo de trabalho completo para iniciantes</li>
<li><a href="/pt-BR/guides/vibe-coding-games.html">Vibe coding de jogos: o que é e como começar</a> — uma explicação da abordagem orientada por prompts</li>
<li><a href="/pt-BR/guides/vibe-coding-game-prompts.html">Prompts de jogos com IA que você pode criar com um clique</a> — pontos de partida para jogos 3D</li>
<li><a href="/pt-BR/guides/web-game-engines-comparison.html">Melhores motores de jogos para a web em 2026</a> — caso você decida aprender um pouco de código</li>
<li><a href="/pt-BR/guides/game-assets-guide.html">Onde encontrar assets gratuitos para jogos</a> — modelos 3D e texturas</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/3d-browser-game-without-coding-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Melhores geradores de assets com IA para jogos (2026)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/ai-asset-generators-games</link>
            <guid>https://app.cinevva.com/pt-BR/guides/ai-asset-generators-games</guid>
            <pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Os melhores geradores de assets com IA para jogos em 2026, incluindo modelos 3D, texturas e áudio, com comparações entre Meshy, Tripo, Hunyuan3D, TRELLIS, Stable Audio e outros, além de observações sobre licenciamento.]]></description>
            <content:encoded><![CDATA[<h1 id="melhores-geradores-de-assets-com-ia-para-jogos-2026" tabindex="-1">Melhores geradores de assets com IA para jogos (2026) <a class="header-anchor" href="#melhores-geradores-de-assets-com-ia-para-jogos-2026" aria-label="Permalink to &quot;Melhores geradores de assets com IA para jogos (2026)&quot;"></a></h1>
<p><em>Última atualização: julho de 2026.</em></p>
<p>Em 2026, gerar um asset para um jogo costuma ser mais rápido do que procurar o asset gratuito ideal. Descreva um objeto e receba um modelo 3D texturizado em menos de um minuto. Digite o clima desejado e receba uma música. Este guia apresenta os melhores geradores de assets com IA para jogos nas categorias de 3D, texturas e áudio, os pontos fortes de cada um e a questão de licenciamento que você precisa observar antes de lançar o jogo.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/9zUOvhQ828g" title="Meshy 5 — análise do gerador de modelos 3D com IA" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">Uma análise do Meshy, um dos principais geradores de modelos 3D com IA.</div>
<h2 id="a-questao-do-licenciamento-leia-isto-primeiro" tabindex="-1">A questão do licenciamento (leia isto primeiro) <a class="header-anchor" href="#a-questao-do-licenciamento-leia-isto-primeiro" aria-label="Permalink to &quot;A questão do licenciamento (leia isto primeiro)&quot;"></a></h2>
<p>A maioria dos geradores hospedados permite criar gratuitamente, mas reserva os direitos de uso comercial para planos pagos, e os resultados do plano gratuito muitas vezes não podem ser usados comercialmente. Modelos abertos executados por conta própria geralmente são a opção mais segura para uso comercial, mas cada um tem sua própria licença (algumas excluem determinadas regiões). Antes de lançar qualquer conteúdo criado por IA, confirme os termos de direitos sobre os resultados do modelo. Em caso de dúvida, use um modelo aberto com licença permissiva ou um plano pago que conceda direitos de uso comercial.</p>
<h2 id="geradores-de-modelos-3d" tabindex="-1">Geradores de modelos 3D <a class="header-anchor" href="#geradores-de-modelos-3d" aria-label="Permalink to &quot;Geradores de modelos 3D&quot;"></a></h2>
<h3 id="hospedados-mais-rapidos-para-comecar" tabindex="-1">Hospedados (mais rápidos para começar) <a class="header-anchor" href="#hospedados-mais-rapidos-para-comecar" aria-label="Permalink to &quot;Hospedados (mais rápidos para começar)&quot;"></a></h3>
<ul>
<li><strong>Meshy</strong>: transforma texto ou imagem em uma malha 3D texturizada, compatível com rig e materiais PBR. Os resultados do plano gratuito são licenciados sob CC BY 4.0, portanto o uso comercial é permitido desde que você atribua o crédito ao Meshy. É a opção versátil mais popular. <a href="https://www.meshy.ai" target="_blank" rel="noreferrer">meshy.ai</a></li>
<li><strong>Tripo</strong>: transforma texto ou imagem em 3D com PBR em 4K e rig automático. O plano gratuito não permite uso comercial. Oferece resultados robustos e voltados a jogos. <a href="https://www.tripo3d.ai" target="_blank" rel="noreferrer">tripo3d.ai</a></li>
<li><strong>Rodin / Hyper3D</strong>: topologia limpa em quads; a geração é gratuita, mas é preciso pagar para baixar. Uma boa opção quando a topologia da malha é importante. <a href="https://hyper3d.ai" target="_blank" rel="noreferrer">hyper3d.ai</a></li>
<li><strong>Sloyd</strong>: geração paramétrica e com IA voltada a jogos, com uso comercial no plano pago. <a href="https://www.sloyd.ai" target="_blank" rel="noreferrer">sloyd.ai</a></li>
</ul>
<h3 id="abertos-execucao-propria-e-adequados-para-uso-comercial" tabindex="-1">Abertos (execução própria e adequados para uso comercial) <a class="header-anchor" href="#abertos-execucao-propria-e-adequados-para-uso-comercial" aria-label="Permalink to &quot;Abertos (execução própria e adequados para uso comercial)&quot;"></a></h3>
<ul>
<li><strong>Hunyuan3D 2.1</strong> (Tencent): pesos e código de treinamento abertos, com texturização PBR pronta para produção. Observe que sua licença exclui a UE, o Reino Unido e a Coreia do Sul, portanto verifique os termos antes de lançar nessas regiões. A Cinevva o disponibiliza como <a href="/pt-BR/tools/hunyuan3d.html">Gerador de Modelos 3D</a>.</li>
<li><strong>TRELLIS.2</strong> (Microsoft): licenciado sob MIT, é o atual líder aberto em conversão de imagem para 3D e oferece PBR nativo.</li>
<li><strong>SAM 3D</strong> (Meta): transforma uma única foto em 3D, tanto para objetos quanto para corpos humanos. A Cinevva o disponibiliza no navegador como uma ferramenta de <a href="/pt-BR/tools/sam3d.html">captura de objetos 3D a partir de imagens</a>, que gera um Gaussian splat.</li>
<li><strong>Roblox Cube 3D</strong>: ferramenta de texto para malha disponibilizada como código aberto.</li>
</ul>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/-_ZlUTXaFqA" title="Tripo 3.1 — análise da geração de assets 3D com IA" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">Uma demonstração do Tripo gerando assets 3D prontos para jogos.</div>
<h2 id="geradores-de-texturas-e-imagens" tabindex="-1">Geradores de texturas e imagens <a class="header-anchor" href="#geradores-de-texturas-e-imagens" aria-label="Permalink to &quot;Geradores de texturas e imagens&quot;"></a></h2>
<p>Para texturas repetíveis, sprites, arte conceitual e interfaces:</p>
<ul>
<li><strong>FLUX.2</strong> (Black Forest Labs): geração e edição avançadas de imagens a partir de texto. A opção aberta e gratuita para uso comercial é o klein 4B (Apache 2.0).</li>
<li><strong>Qwen-Image</strong> (Alibaba): aberto, sob Apache 2.0, com renderização de texto líder da categoria (excelente para placas e etiquetas).</li>
<li><strong>Stable Diffusion 3.5</strong>: ecossistema maduro (ControlNet, inpainting e LoRAs) para personalização avançada.</li>
</ul>
<p>Esses modelos geram texturas repetíveis e arte 2D que você pode inserir diretamente em um jogo. Consulte nosso <a href="/pt-BR/guides/frontier-gen-ai-models.html">guia de modelos abertos de IA generativa</a> para ver a lista completa e suas licenças.</p>
<h2 id="geradores-de-audio-musica-e-efeitos-sonoros" tabindex="-1">Geradores de áudio (música e efeitos sonoros) <a class="header-anchor" href="#geradores-de-audio-musica-e-efeitos-sonoros" aria-label="Permalink to &quot;Geradores de áudio (música e efeitos sonoros)&quot;"></a></h2>
<ul>
<li><strong>Stable Audio 3.0</strong>: oferece pesos abertos para um modelo Small, além de um modelo aberto dedicado a efeitos sonoros, treinado com dados licenciados (uma base jurídica sólida). É a melhor opção aberta para efeitos sonoros de jogos.</li>
<li><strong>ACE-Step 1.5</strong>: geração musical aberta, sob licença MIT, em vários idiomas e com clonagem de voz.</li>
<li><strong>ElevenLabs</strong>: a opção hospedada mais avançada para efeitos sonoros e música, com direitos de uso comercial nos planos pagos.</li>
</ul>
<h2 id="rig-e-animacao" tabindex="-1">Rig e animação <a class="header-anchor" href="#rig-e-animacao" aria-label="Permalink to &quot;Rig e animação&quot;"></a></h2>
<p>A criação automática de rigs amadureceu: modelos abertos como <strong>UniRig</strong> (MIT) e <strong>NVIDIA SOMA-X</strong> (Apache 2.0) geram esqueletos e skinning para suas malhas, oferecendo uma alternativa confiável ao Mixamo, que se tornou instável. Ferramentas hospedadas como Tripo e Meshy também criam rigs automaticamente. O <a href="/pt-BR/tools/rigger.html">Criador Automático de Rigs</a> da Cinevva faz isso no navegador: envie um arquivo GLB, FBX ou OBJ e receba um modelo com rig e animações predefinidas opcionais.</p>
<h2 id="comparacao" tabindex="-1">Comparação <a class="header-anchor" href="#comparacao" aria-label="Permalink to &quot;Comparação&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Ferramenta</th>
<th>O que gera</th>
<th>Aberta / hospedada</th>
<th>Uso comercial</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Meshy</strong></td>
<td>Modelos 3D</td>
<td>Hospedada</td>
<td>Plano gratuito sob CC BY (atribua crédito ao Meshy)</td>
</tr>
<tr>
<td><strong>Tripo</strong></td>
<td>Modelos 3D + rig</td>
<td>Hospedada</td>
<td>Plano pago</td>
</tr>
<tr>
<td><strong>Hunyuan3D 2.1</strong></td>
<td>Modelos 3D</td>
<td>Aberta</td>
<td>Sim (com limitações regionais)</td>
</tr>
<tr>
<td><strong>TRELLIS.2</strong></td>
<td>Modelos 3D</td>
<td>Aberta (MIT)</td>
<td>Sim</td>
</tr>
<tr>
<td><strong>FLUX.2 klein</strong></td>
<td>Imagens/texturas</td>
<td>Aberta (Apache)</td>
<td>Sim</td>
</tr>
<tr>
<td><strong>Qwen-Image</strong></td>
<td>Imagens/texturas</td>
<td>Aberta (Apache)</td>
<td>Sim</td>
</tr>
<tr>
<td><strong>Stable Audio 3.0</strong></td>
<td>Música + efeitos sonoros</td>
<td>Aberta</td>
<td>Sim</td>
</tr>
<tr>
<td><strong>ElevenLabs</strong></td>
<td>Efeitos sonoros + música</td>
<td>Hospedada</td>
<td>Plano pago</td>
</tr>
</tbody>
</table>
<h2 id="a-opcao-completa" tabindex="-1">A opção completa <a class="header-anchor" href="#a-opcao-completa" aria-label="Permalink to &quot;A opção completa&quot;"></a></h2>
<p>Combinar essas ferramentas funciona, mas cria todo um pipeline. Alguns criadores de jogos integram a geração ao editor: a Cinevva oferece geração de 3D a partir de texto, imagens, música e skyboxes diretamente na plataforma. Assim, você pode gerar um asset e inseri-lo no jogo sem precisar exportar e importar arquivos entre diferentes ferramentas. Você pode <a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=ai_asset_generators">experimentar gratuitamente</a>.</p>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="qual-e-o-melhor-gerador-de-modelos-3d-com-ia-para-jogos" tabindex="-1">Qual é o melhor gerador de modelos 3D com IA para jogos? <a class="header-anchor" href="#qual-e-o-melhor-gerador-de-modelos-3d-com-ia-para-jogos" aria-label="Permalink to &quot;Qual é o melhor gerador de modelos 3D com IA para jogos?&quot;"></a></h3>
<p>Entre as ferramentas hospedadas, Meshy e Tripo são as opções versáteis mais avançadas (ambas transformam texto ou imagem em uma malha texturizada e compatível com rig). Os resultados do plano gratuito do Meshy são licenciados sob CC BY 4.0, portanto você pode usá-los comercialmente desde que atribua crédito ao Meshy, enquanto o Tripo concede direitos de uso comercial em seus planos pagos. Entre os modelos abertos que podem ser executados por conta própria, Hunyuan3D 2.1 e TRELLIS.2, da Microsoft, são os mais avançados em 2026. A melhor escolha depende de você preferir uma ferramenta hospedada e rápida ou pesos abertos mais adequados para uso comercial.</p>
<h3 id="posso-usar-assets-gerados-por-ia-em-um-jogo-comercial" tabindex="-1">Posso usar assets gerados por IA em um jogo comercial? <a class="header-anchor" href="#posso-usar-assets-gerados-por-ia-em-um-jogo-comercial" aria-label="Permalink to &quot;Posso usar assets gerados por IA em um jogo comercial?&quot;"></a></h3>
<p>Muitas vezes, sim, mas verifique a licença. Modelos abertos executados por conta própria geralmente são a opção mais segura (observe que o Hunyuan3D exclui algumas regiões). Ferramentas hospedadas normalmente reservam os direitos de uso comercial para planos pagos, e os resultados dos planos gratuitos muitas vezes não podem ser usados comercialmente. Sempre confirme os termos de direitos sobre os resultados do modelo e informe o uso de conteúdo gerado por IA quando a plataforma exigir.</p>
<h3 id="existem-geradores-gratuitos-de-assets-com-ia" tabindex="-1">Existem geradores gratuitos de assets com IA? <a class="header-anchor" href="#existem-geradores-gratuitos-de-assets-com-ia" aria-label="Permalink to &quot;Existem geradores gratuitos de assets com IA?&quot;"></a></h3>
<p>Muitas ferramentas oferecem planos gratuitos, mas eles geralmente limitam o uso e excluem direitos comerciais. Modelos abertos como TRELLIS.2, FLUX.2 klein, Qwen-Image e Stable Audio podem ser executados gratuitamente por conta própria, com licenças adequadas para uso comercial, desde que você tenha o hardware necessário. A tabela comparativa acima mostra quais opções são abertas e quais são hospedadas.</p>
<h3 id="a-ia-pode-gerar-musicas-e-efeitos-sonoros-para-jogos" tabindex="-1">A IA pode gerar músicas e efeitos sonoros para jogos? <a class="header-anchor" href="#a-ia-pode-gerar-musicas-e-efeitos-sonoros-para-jogos" aria-label="Permalink to &quot;A IA pode gerar músicas e efeitos sonoros para jogos?&quot;"></a></h3>
<p>Sim. O Stable Audio 3.0 oferece pesos abertos, incluindo um modelo dedicado a efeitos sonoros; o ACE-Step gera música sob uma licença MIT; e o ElevenLabs é uma opção hospedada avançada, com direitos de uso comercial nos planos pagos. Essas ferramentas cobrem tanto músicas quanto efeitos sonoros para criar toda a paisagem sonora de um jogo.</p>
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/frontier-gen-ai-models.html">Melhores modelos de IA generativa de código aberto para jogos</a> — uma análise técnica detalhada</li>
<li><a href="/pt-BR/guides/game-assets-guide.html">Onde encontrar assets gratuitos para jogos</a> — assets gratuitos prontos</li>
<li><a href="/pt-BR/guides/free-3d-model-sites.html">Melhores sites de modelos 3D gratuitos para jogos</a> — pesquise em vez de gerar</li>
<li><a href="/pt-BR/guides/free-sound-effects-music.html">Efeitos sonoros e músicas gratuitos para jogos</a> — áudio pronto</li>
<li><a href="/pt-BR/guides/game-asset-licenses.html">Licenças de assets para jogos explicadas</a> — entenda os termos</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/ai-asset-generators-games-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Melhores geradores de jogos com IA em 2026 (ranking e comparação)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/ai-game-generators-2026</link>
            <guid>https://app.cinevva.com/pt-BR/guides/ai-game-generators-2026</guid>
            <pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Comparamos os melhores geradores de jogos com IA de 2026 considerando o que eles realmente criam, 2D vs. 3D, propriedade e preço, do Rosebud e Summer ao Replit, Gameer, GDevelop AI e Cinevva.]]></description>
            <content:encoded><![CDATA[<h1 id="melhores-geradores-de-jogos-com-ia-em-2026-ranking-e-comparacao" tabindex="-1">Melhores geradores de jogos com IA em 2026 (ranking e comparação) <a class="header-anchor" href="#melhores-geradores-de-jogos-com-ia-em-2026-ranking-e-comparacao" aria-label="Permalink to &quot;Melhores geradores de jogos com IA em 2026 (ranking e comparação)&quot;"></a></h1>
<p><em>Última atualização: junho de 2026.</em></p>
<p>Você digita uma frase e uma IA cria um jogo. Essa é a promessa — e, em 2026, ela é real —, mas as ferramentas que fazem isso acontecer são muito diferentes por baixo do capô. Algumas criam jogos de fliperama 2D bem-acabados no navegador. Outras são engines para desktop que entregam um projeto totalmente seu. Algumas são assistentes de programação genéricos que, por acaso, conseguem criar um jogo. Escolher a ferramenta errada pode fazer você perder um fim de semana.</p>
<p>Este guia compara os geradores de jogos com IA que vale a pena conhecer em 2026, o que cada um realmente produz, se você pode ter a propriedade e exportar seu jogo e quanto custa. Tentamos ser honestos sobre os pontos fortes de cada ferramenta, inclusive sobre onde a nossa se destaca e onde não.</p>
<h2 id="os-quatro-tipos-de-gerador-de-jogos-com-ia" tabindex="-1">Os quatro tipos de &quot;gerador de jogos com IA&quot; <a class="header-anchor" href="#os-quatro-tipos-de-gerador-de-jogos-com-ia" aria-label="Permalink to &quot;Os quatro tipos de &quot;gerador de jogos com IA&quot;&quot;"></a></h2>
<p>A maioria das listas de &quot;melhores criadores de jogos com IA&quot; mistura tudo isso, e é por isso que elas são confusas. Na verdade, existem quatro categorias:</p>
<ol>
<li><strong>Criadores de jogos a partir de prompts</strong> produzem um jogo jogável com base em uma descrição. Rosebud, Gameer, Astrocade, Nilo e Cinevva estão nesta categoria.</li>
<li><strong>Agentes de IA integrados a engines</strong> adicionam um assistente de IA dentro de uma engine existente. É o caso do GDevelop AI, Buildbox 4 e Unity AI.</li>
<li><strong>Criadores de código genéricos</strong>, como o Replit, conseguem criar um jogo porque podem desenvolver qualquer aplicativo web, mas não foram feitos especificamente para jogos.</li>
<li><strong>Ferramentas de ideação e criação de assets</strong>, como o Ludo.ai, ajudam você a planejar e gerar assets, mas não produzem o jogo final.</li>
</ol>
<p>Saber qual categoria você procura reduz rapidamente as opções.</p>
<h2 id="escolhas-rapidas" tabindex="-1">Escolhas rápidas <a class="header-anchor" href="#escolhas-rapidas" aria-label="Permalink to &quot;Escolhas rápidas&quot;"></a></h2>
<ul>
<li><strong>Resultado jogável mais rápido no navegador:</strong> Rosebud ou Cinevva.</li>
<li><strong>Você quer ter a propriedade do código e lançar na Steam:</strong> Summer Engine.</li>
<li><strong>Ficção interativa e visual novels:</strong> Gameer.</li>
<li><strong>Gratuito, de código aberto e com hospedagem web:</strong> GDevelop AI.</li>
<li><strong>Jogo 3D a partir de um prompt, compartilhável instantaneamente por link:</strong> Cinevva ou Nilo.</li>
<li><strong>Você já desenvolve com Unity ou para a web:</strong> Unity AI ou Replit.</li>
</ul>
<h2 id="tabela-comparativa" tabindex="-1">Tabela comparativa <a class="header-anchor" href="#tabela-comparativa" aria-label="Permalink to &quot;Tabela comparativa&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Ferramenta</th>
<th>O que cria</th>
<th>2D / 3D</th>
<th>O código é seu?</th>
<th>Compartilhável na web</th>
<th>Plano gratuito</th>
<th>Plano pago mais barato</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/pt-BR/engine.html"><strong>Cinevva</strong></a></td>
<td>Jogo jogável</td>
<td>2D + 3D (web)</td>
<td>✅ download</td>
<td>✅ link</td>
<td>✅</td>
<td>veja os <a href="/pt-BR/plans.html">planos</a></td>
</tr>
<tr>
<td><a href="https://rosebud.ai/" target="_blank" rel="noreferrer"><strong>Rosebud</strong></a></td>
<td>Jogo jogável</td>
<td>2D + 3D</td>
<td>Exportação JS</td>
<td>✅ link</td>
<td>✅ ~20 prompts/semana</td>
<td>~$10/mês</td>
</tr>
<tr>
<td><a href="https://www.summerengine.com/" target="_blank" rel="noreferrer"><strong>Summer Engine</strong></a></td>
<td>Projeto real de engine</td>
<td>2D + 3D</td>
<td>✅ completo (Godot)</td>
<td>❌ builds nativas</td>
<td>✅</td>
<td>$20/mês</td>
</tr>
<tr>
<td><a href="https://www.gameer.io/" target="_blank" rel="noreferrer"><strong>Gameer</strong></a></td>
<td>História interativa</td>
<td>2D</td>
<td>❌ preso à engine</td>
<td>✅ link</td>
<td>✅</td>
<td>$1,99/mês</td>
</tr>
<tr>
<td><a href="https://gdevelop.io/" target="_blank" rel="noreferrer"><strong>GDevelop AI</strong></a></td>
<td>Projeto de engine</td>
<td>2D + 3D</td>
<td>✅ código aberto</td>
<td>✅ gd.games</td>
<td>✅ ~40 créditos/mês</td>
<td>~$5,49/mês</td>
</tr>
<tr>
<td><a href="https://replit.com/" target="_blank" rel="noreferrer"><strong>Replit</strong></a></td>
<td>Aplicativo/jogo web</td>
<td>2D (3D possível)</td>
<td>✅ exportação do código</td>
<td>✅ URL</td>
<td>✅</td>
<td>$25/mês</td>
</tr>
<tr>
<td><a href="https://unity.com/" target="_blank" rel="noreferrer"><strong>Unity AI</strong></a></td>
<td>Projeto Unity</td>
<td>2D + 3D</td>
<td>✅ seu projeto</td>
<td>Exportação WebGL</td>
<td>período de teste</td>
<td>$10/mês</td>
</tr>
<tr>
<td><a href="https://www.buildbox.com/" target="_blank" rel="noreferrer"><strong>Buildbox 4</strong></a></td>
<td>Jogo sem código</td>
<td>2D + 3D</td>
<td>❌ preso à engine</td>
<td>Exportação HTML5</td>
<td>✅</td>
<td>~$48,99/ano</td>
</tr>
<tr>
<td><a href="https://www.astrocade.com/" target="_blank" rel="noreferrer"><strong>Astrocade</strong></a></td>
<td>Jogo social</td>
<td>2D (alega ter 3D)</td>
<td>❌ preso à plataforma</td>
<td>✅ link</td>
<td>✅</td>
<td>n/d (sob consulta)</td>
</tr>
<tr>
<td><a href="https://nilo.io/" target="_blank" rel="noreferrer"><strong>Nilo</strong></a></td>
<td>Mundo/assets 3D</td>
<td>3D</td>
<td>Exportação FBX/glTF</td>
<td>✅ link + Roblox</td>
<td>✅ beta</td>
<td>ainda não disponível</td>
</tr>
</tbody>
</table>
<p>Os preços são aproximados e mudam com frequência, portanto confirme-os no momento da compra. Os planos gratuitos geralmente restringem os direitos de uso comercial, então verifique os termos antes de lançar qualquer coisa que você pretenda vender.</p>
<h2 id="ferramenta-por-ferramenta" tabindex="-1">Ferramenta por ferramenta <a class="header-anchor" href="#ferramenta-por-ferramenta" aria-label="Permalink to &quot;Ferramenta por ferramenta&quot;"></a></h2>
<h3 id="rosebud-ai" tabindex="-1">Rosebud AI <a class="header-anchor" href="#rosebud-ai" aria-label="Permalink to &quot;Rosebud AI&quot;"></a></h3>
<p>O Rosebud transforma prompts em jogos executáveis no navegador e tem seu ponto forte no 2D, com suporte crescente a 3D e voxels. Por baixo do capô, ele gera JavaScript (Three.js para 3D e Phaser para 2D), portanto, em princípio, o resultado é portável. Você faz iterações conversando com o assistente, que gera sprites e NPCs, e publica o jogo em uma URL compartilhável hospedada pelo Rosebud. O plano gratuito oferece alguns prompts por semana, sem direitos de uso comercial; os planos pagos liberam o uso comercial. É ideal para iniciantes, educadores e participantes de game jams que querem o caminho mais rápido para obter um link de um jogo 2D.</p>
<h3 id="summer-engine" tabindex="-1">Summer Engine <a class="header-anchor" href="#summer-engine" aria-label="Permalink to &quot;Summer Engine&quot;"></a></h3>
<p>O Summer é a escolha certa se você quer lançar e vender um jogo de verdade e ter a propriedade de tudo. É uma engine para desktop nativa de IA, posicionada como uma substituta direta do Godot 4, portanto seu projeto usa arquivos padrão do Godot (GDScript ou C#), sem aprisionamento tecnológico. Você descreve cenas e lógica no chat, a ferramenta gera código e assets, e então pode exportar para Windows, macOS, Linux, dispositivos móveis, web e Steam, mantendo toda a sua receita. A desvantagem em relação às ferramentas de navegador é que se trata de um aplicativo para desktop voltado a lançamentos em lojas, e não à geração instantânea de um link público. Vale observar que o Summer publica muitas das listas de &quot;melhores criadores de jogos com IA&quot; que colocam o próprio Summer em primeiro lugar, então leve isso em consideração.</p>
<h3 id="gameer" tabindex="-1">Gameer <a class="header-anchor" href="#gameer" aria-label="Permalink to &quot;Gameer&quot;"></a></h3>
<p>O Gameer cria jogos cinematográficos de histórias interativas e visual novels a partir de um prompt em texto simples em poucos minutos, sem código. Um sistema multiagente cuida da narrativa, do visual e das mecânicas. Você recebe instantaneamente um link compartilhável, embora o jogo fique preso ao ambiente de execução do Gameer. Ele foi desenvolvido para escritores, educadores e profissionais de marketing que querem ficção com ramificações, e não ação em tempo real ou 3D.</p>
<h3 id="gdevelop-ai" tabindex="-1">GDevelop AI <a class="header-anchor" href="#gdevelop-ai" aria-label="Permalink to &quot;GDevelop AI&quot;"></a></h3>
<p>O GDevelop é uma engine gratuita e de código aberto que adicionou um agente de IA dentro do editor. Você pede que ele crie funcionalidades ou jogos completos, e a ferramenta escreve eventos e comportamentos em seu projeto editável. Ele trabalha com 2D e oferece recursos 3D em expansão, exporta para web, Android, iOS e desktop e fornece hospedagem pública gratuita no gd.games, com links para compartilhamento. A IA funciona com uma franquia mensal de créditos, e os planos pagos oferecem mais. É uma opção gratuita, aberta e sólida, se você não se importar com o limite de créditos e com a necessidade de fazer algumas iterações.</p>
<h3 id="replit" tabindex="-1">Replit <a class="header-anchor" href="#replit" aria-label="Permalink to &quot;Replit&quot;"></a></h3>
<p>O Agent do Replit é um criador full-stack genérico, não uma engine de jogos, mas consegue criar um jogo web a partir de uma descrição e implantá-lo em uma URL pública. Ele não gera sprites, músicas nem sons, então você precisa fornecer seus próprios assets, e a ferramenta tende mais para o 2D. É melhor para quem já se sente à vontade orientando uma ferramenta de programação com IA e quer um resultado jogável na web sob seu controle total.</p>
<h3 id="unity-ai" tabindex="-1">Unity AI <a class="header-anchor" href="#unity-ai" aria-label="Permalink to &quot;Unity AI&quot;"></a></h3>
<p>A Unity substituiu seu antigo produto Muse pelo Unity AI, que estava em beta aberto em maio de 2026. Trata-se de um agente integrado ao editor do Unity 6 que gera código C#, assets provisórios e cenas usando modelos de ponta. Você continua trabalhando dentro do seu próprio projeto Unity, mantém a propriedade do jogo e pode exportá-lo para WebGL, entre outras plataformas. Ele é voltado a quem já trabalha com Unity e quer assistência de IA, não a iniciantes que desejam criar um jogo a partir de uma única frase.</p>
<h3 id="buildbox-4-astrocade-nilo" tabindex="-1">Buildbox 4, Astrocade, Nilo <a class="header-anchor" href="#buildbox-4-astrocade-nilo" aria-label="Permalink to &quot;Buildbox 4, Astrocade, Nilo&quot;"></a></h3>
<p>O <strong>Buildbox 4</strong> é uma engine sem código voltada principalmente a jogos mobile hipercasuais que adicionou geração de assets e nós por IA; ela exporta para HTML5, mas mantém você preso à engine. O <strong>Astrocade</strong> é uma plataforma social bem financiada, com compartilhamento instantâneo, cujo resultado tende ao 2D na prática, apesar do marketing sobre 3D, com forte aprisionamento à plataforma e sem exportação de código. O <strong>Nilo</strong> é a ferramenta de IA 3D para navegador mais próxima do que desenvolvemos, com forte foco na exportação para o Roblox e em um público mais jovem; está em beta gratuito.</p>
<h2 id="como-escolher" tabindex="-1">Como escolher <a class="header-anchor" href="#como-escolher" aria-label="Permalink to &quot;Como escolher&quot;"></a></h2>
<p>Faça três perguntas. Primeiro: você precisa de 3D ou 2D é suficiente? A maioria das ferramentas é mais forte em 2D, e gerar 3D confiável a partir de um prompt é um desafio difícil que poucas conseguem superar. Segundo: você precisa ter a propriedade e exportar o código, ou um link hospedado é suficiente? Summer, GDevelop, Unity AI e Cinevva permitem exportar seu projeto (o Cinevva permite baixar o jogo completo para hospedá-lo onde quiser); Rosebud, Gameer e Astrocade priorizam o link compartilhável instantaneamente. Terceiro: você pretende lançar na Steam e em lojas de aplicativos ou compartilhar um link com amigos? Para lojas, as engines de desktop são mais adequadas; para links, as ferramentas de navegador são melhores.</p>
<h2 id="onde-o-cinevva-se-encaixa" tabindex="-1">Onde o Cinevva se encaixa <a class="header-anchor" href="#onde-o-cinevva-se-encaixa" aria-label="Permalink to &quot;Onde o Cinevva se encaixa&quot;"></a></h2>
<p>Vamos ser diretos. A parte mais concorrida do mercado é a de jogos 2D no navegador (Rosebud, Astrocade, Gameer, Replit). O Cinevva ocupa um espaço muito menos disputado: é orientado por chat, cria jogos tanto 2D quanto realmente 3D, executáveis no navegador em uma engine real baseada em Three.js, compartilháveis instantaneamente por link e exportáveis como jogos completos que você pode baixar e hospedar onde quiser, com geração de texto para 3D, imagens, músicas e skyboxes, além de bibliotecas integradas de assets CC0. Essa exportação de código é importante porque vários concorrentes com compartilhamento instantâneo (Astrocade e Gameer) prendem seu jogo ao ambiente de execução deles. A ferramenta mais próxima dessa combinação é o Nilo, que tende a priorizar a exportação de assets 3D para o Roblox e tem como público-alvo usuários mais jovens. Por isso, nosso foco está em preencher a lacuna de jogos web auto-hospedados que você pode tanto compartilhar quanto baixar.</p>
<p>A ressalva honesta é que &quot;3D de verdade a partir de um prompt&quot; é a promessa mais difícil dessa categoria, e os avaliadores têm razão em ser céticos. A maneira justa de avaliar qualquer uma dessas ferramentas, inclusive a nossa, é criar algo e compartilhar o link. Você pode <a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=ai_game_generators">criar gratuitamente um jogo 3D a partir de um prompt</a> e conferir o resultado ou <a href="/pt-BR/guides/vibe-coding-game-prompts.html">começar com um prompt de um clique</a> se preferir não ficar olhando para uma caixa vazia.</p>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="qual-e-o-melhor-gerador-de-jogos-com-ia-em-2026" tabindex="-1">Qual é o melhor gerador de jogos com IA em 2026? <a class="header-anchor" href="#qual-e-o-melhor-gerador-de-jogos-com-ia-em-2026" aria-label="Permalink to &quot;Qual é o melhor gerador de jogos com IA em 2026?&quot;"></a></h3>
<p>Não existe um único melhor, porque as ferramentas atendem a objetivos diferentes. Para criar rapidamente um jogo 2D no navegador, o Rosebud é excelente. Para um jogo 3D no navegador que você possa compartilhar instantaneamente, Cinevva ou Nilo. Para um jogo que seja seu e que você possa lançar na Steam, Summer Engine. Para uma opção gratuita e de código aberto, GDevelop AI. Escolha com base em 2D ou 3D, se você precisa ter a propriedade do código e se pretende compartilhar um link ou lançar em uma loja.</p>
<h3 id="a-ia-realmente-consegue-criar-um-jogo-completo-a-partir-de-um-prompt" tabindex="-1">A IA realmente consegue criar um jogo completo a partir de um prompt? <a class="header-anchor" href="#a-ia-realmente-consegue-criar-um-jogo-completo-a-partir-de-um-prompt" aria-label="Permalink to &quot;A IA realmente consegue criar um jogo completo a partir de um prompt?&quot;"></a></h3>
<p>Para jogos pequenos e casuais, sim, especialmente em 2D. A IA cuida de movimentação, colisões, física e arte básica, permitindo que você passe da ideia a algo jogável em poucos minutos. Jogos maiores ou mais refinados ainda exigem iterações e trabalho humano de game design, e é mais difícil para a IA acertar em 3D do que em 2D. Trate a primeira geração como um ponto de partida sólido que você poderá aprimorar, e não como um produto finalizado.</p>
<h3 id="os-jogos-que-crio-com-um-gerador-de-jogos-com-ia-sao-meus" tabindex="-1">Os jogos que crio com um gerador de jogos com IA são meus? <a class="header-anchor" href="#os-jogos-que-crio-com-um-gerador-de-jogos-com-ia-sao-meus" aria-label="Permalink to &quot;Os jogos que crio com um gerador de jogos com IA são meus?&quot;"></a></h3>
<p>Isso depende da ferramenta. Ferramentas baseadas em engines, como Summer, GDevelop e Unity AI, fornecem um projeto real que é seu e pode ser exportado. As plataformas hospedadas que criam jogos a partir de prompts variam: algumas permitem exportar o código, outras prendem o jogo ao ambiente de execução delas, e muitas restringem os direitos de uso comercial a um plano pago. Sempre leia os termos antes de vender qualquer coisa.</p>
<h3 id="e-gratuito-criar-jogos-com-ia" tabindex="-1">É gratuito criar jogos com IA? <a class="header-anchor" href="#e-gratuito-criar-jogos-com-ia" aria-label="Permalink to &quot;É gratuito criar jogos com IA?&quot;"></a></h3>
<p>A maioria das ferramentas tem um plano gratuito bom o suficiente para experimentá-las, mas esses planos normalmente limitam quanto você pode gerar e muitas vezes excluem os direitos de uso comercial. Espere pagar quando quiser publicar comercialmente, gerar muito conteúdo ou exportar. A tabela comparativa acima lista o plano gratuito e o plano pago mais barato de cada ferramenta.</p>
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/make-a-game-with-ai.html">Como criar um jogo com IA (guia de 2026)</a> — o fluxo de trabalho completo sem código, passo a passo</li>
<li><a href="/pt-BR/guides/3d-browser-game-without-coding.html">Como criar um jogo 3D para navegador sem programar</a> — o caminho específico para 3D</li>
<li><a href="/pt-BR/guides/vibe-coding-games.html">Vibe coding de jogos: o que é e como começar</a> — o termo, o fluxo de trabalho e as armadilhas</li>
<li><a href="/pt-BR/guides/vibe-coding-game-prompts.html">Prompts de jogos com IA que você pode criar com um clique</a> — pontos de partida para experimentar</li>
<li><a href="/pt-BR/guides/web-game-engines-comparison.html">Melhores engines de jogos web para 2026</a> — se você preferir criar manualmente</li>
<li><a href="/pt-BR/guides/frontier-gen-ai-models.html">Melhores modelos de IA generativa de código aberto para jogos</a> — os modelos por trás da geração de assets por IA</li>
<li><a href="/pt-BR/guides/ai-npcs-dialogue.html">NPCs com IA e diálogos em jogos</a> — IA dentro do jogo, não apenas na criação dele</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/ai-game-generators-2026-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Melhores engines de jogos gratuitas para iniciantes (2026)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/best-free-game-engines-beginners</link>
            <guid>https://app.cinevva.com/pt-BR/guides/best-free-game-engines-beginners</guid>
            <pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[As melhores engines de jogos gratuitas para iniciantes em 2026, desde ferramentas sem código como GDevelop até Godot e Phaser, com os pontos fortes de cada uma e como escolher sua primeira engine.]]></description>
            <content:encoded><![CDATA[<h1 id="melhores-engines-de-jogos-gratuitas-para-iniciantes-2026" tabindex="-1">Melhores engines de jogos gratuitas para iniciantes (2026) <a class="header-anchor" href="#melhores-engines-de-jogos-gratuitas-para-iniciantes-2026" aria-label="Permalink to &quot;Melhores engines de jogos gratuitas para iniciantes (2026)&quot;"></a></h1>
<p><em>Última atualização: julho de 2026.</em></p>
<p>Para quem está começando, a melhor engine é aquela que permite chegar a um jogo funcional o mais rápido possível, sem custos nem uma barreira enorme de programação. A boa notícia é que, em 2026, as melhores opções para iniciantes são totalmente gratuitas. Veja nossas escolhas, organizadas pela quantidade de código que você deseja escrever, além da nova alternativa de “descrever o jogo para uma IA”.</p>
<h2 id="escolhas-rapidas-de-acordo-com-seu-ponto-de-partida" tabindex="-1">Escolhas rápidas de acordo com seu ponto de partida <a class="header-anchor" href="#escolhas-rapidas-de-acordo-com-seu-ponto-de-partida" aria-label="Permalink to &quot;Escolhas rápidas de acordo com seu ponto de partida&quot;"></a></h2>
<ul>
<li><strong>Não quer programar e quer criar um jogo hoje:</strong> GDevelop ou uma ferramenta de IA que transforma prompts em jogos.</li>
<li><strong>Aceita programar um pouco e quer aprender de verdade:</strong> Godot.</li>
<li><strong>Já conhece um pouco de JavaScript:</strong> Phaser.</li>
<li><strong>Programação visual com um editor bem-acabado:</strong> Construct (plano gratuito) ou GDevelop.</li>
</ul>
<h2 id="as-melhores-engines-gratuitas" tabindex="-1">As melhores engines gratuitas <a class="header-anchor" href="#as-melhores-engines-gratuitas" aria-label="Permalink to &quot;As melhores engines gratuitas&quot;"></a></h2>
<h3 id="gdevelop" tabindex="-1">GDevelop <a class="header-anchor" href="#gdevelop" aria-label="Permalink to &quot;GDevelop&quot;"></a></h3>
<p>Gratuita, de código aberto, funciona no navegador ou como aplicativo para desktop, e permite criar a lógica usando folhas de eventos visuais em vez de código. É compatível com 2D e, cada vez mais, com 3D, exporta para web, dispositivos móveis e desktop e oferece hospedagem gratuita no gd.games com um link para compartilhar. Ela até ganhou um agente de IA capaz de criar recursos a partir de prompts. É o melhor ponto de partida sem código para a maioria dos iniciantes, sem nenhum custo para publicar.</p>
<h3 id="godot" tabindex="-1">Godot <a class="header-anchor" href="#godot" aria-label="Permalink to &quot;Godot&quot;"></a></h3>
<p>Gratuita e de código aberto sob a licença MIT, sem taxas nem limites de receita. A Godot oferece suporte a 2D e 3D, conta com uma linguagem de script acessível (GDScript) e possui uma enorme biblioteca de tutoriais gratuitos. A versão atual é a 4.7 (junho de 2026). É a melhor escolha se você quer aprender programação de jogos de verdade sem preocupações com licenciamento, além de acompanhar sua evolução desde o primeiro projeto até o lançamento de um jogo completo. Uma observação: projetos em C# não podem ser exportados para a web, então use GDScript se esse for seu destino.</p>
<h3 id="phaser" tabindex="-1">Phaser <a class="header-anchor" href="#phaser" aria-label="Permalink to &quot;Phaser&quot;"></a></h3>
<p>Gratuito sob a licença MIT, o Phaser é o framework de jogos HTML5 mais popular, com a maior comunidade e o maior número de tutoriais para jogos 2D para web. A versão 4 foi lançada em 2026. Ele é focado em código (JavaScript ou TypeScript), por isso é indicado para iniciantes que já conhecem um pouco de desenvolvimento web e querem aprender escrevendo código em vez de usar um editor visual.</p>
<h3 id="construct-plano-gratuito" tabindex="-1">Construct (plano gratuito) <a class="header-anchor" href="#construct-plano-gratuito" aria-label="Permalink to &quot;Construct (plano gratuito)&quot;"></a></h3>
<p>O Construct é uma engine visual baseada em folhas de eventos que funciona no navegador sem exigir programação. Seu plano gratuito permite criar e publicar jogos 2D na web, com limites de eventos e camadas que acabam sendo ultrapassados à medida que os projetos crescem. É excelente para iniciantes que querem um editor guiado e bem-acabado, sendo necessário assinar um plano apenas quando o projeto ganhar escala.</p>
<h3 id="a-alternativa-com-ia-e-sem-codigo" tabindex="-1">A alternativa com IA e sem código <a class="header-anchor" href="#a-alternativa-com-ia-e-sem-codigo" aria-label="Permalink to &quot;A alternativa com IA e sem código&quot;"></a></h3>
<p>Uma opção mais recente: descreva um jogo para uma ferramenta de IA que transforma prompts em jogos e refine o resultado por meio de uma conversa, sem precisar instalar uma engine. Esse é o caminho mais rápido entre uma ideia e um jogo funcional e compartilhável, especialmente para 3D, área em que as ferramentas tradicionais sem código são limitadas. Veja <a href="/pt-BR/guides/make-a-game-with-ai.html">como criar um jogo com IA</a> e nossa <a href="/pt-BR/guides/ai-game-generators-2026.html">comparação de geradores de jogos com IA</a>.</p>
<h2 id="comparacao" tabindex="-1">Comparação <a class="header-anchor" href="#comparacao" aria-label="Permalink to &quot;Comparação&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Engine</th>
<th>Código necessário</th>
<th>2D / 3D</th>
<th>Funciona no navegador</th>
<th>Publicação na web</th>
<th>Custo</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>GDevelop</strong></td>
<td>Nenhum (visual)</td>
<td>2D + 3D</td>
<td>Sim</td>
<td>gd.games</td>
<td>Gratuita</td>
</tr>
<tr>
<td><strong>Godot</strong></td>
<td>Pouco (GDScript)</td>
<td>2D + 3D</td>
<td>Desktop</td>
<td>Exportação</td>
<td>Gratuita (MIT)</td>
</tr>
<tr>
<td><strong>Phaser</strong></td>
<td>Sim (JS/TS)</td>
<td>2D</td>
<td>Sim</td>
<td>Hospedagem própria</td>
<td>Gratuito (MIT)</td>
</tr>
<tr>
<td><strong>Construct</strong></td>
<td>Nenhum (visual)</td>
<td>2D</td>
<td>Sim</td>
<td>Plano gratuito</td>
<td>Plano gratuito; pago para ganhar escala</td>
</tr>
<tr>
<td><strong>IA que transforma prompts em jogos</strong></td>
<td>Nenhum (basta descrever)</td>
<td>2D + 3D</td>
<td>Sim</td>
<td>Link instantâneo</td>
<td>Gratuito para começar</td>
</tr>
</tbody>
</table>
<h2 id="como-escolher-sua-primeira-engine" tabindex="-1">Como escolher sua primeira engine <a class="header-anchor" href="#como-escolher-sua-primeira-engine" aria-label="Permalink to &quot;Como escolher sua primeira engine&quot;"></a></h2>
<p>Não complique. Escolha a engine de acordo com a quantidade de código que você deseja escrever e comece com algo pequeno. Se a ideia de programar não parecer atraente, comece com o GDevelop e publique um jogo simples ainda esta semana. Se quiser aprender programação junto com design, comece com a Godot e siga um de seus muitos tutoriais para iniciantes. Se você já conhece JavaScript, o Phaser parecerá natural. E, se quiser apenas ver sua ideia se tornar jogável o mais rápido possível, experimente a alternativa com IA e depois passe para uma engine visual ou baseada em código conforme seus projetos crescerem. O maior erro dos iniciantes é escolher uma engine profissional complexa, ficar sobrecarregado e desistir. Um pequeno jogo concluído em uma engine simples ensina mais do que um grande projeto abandonado.</p>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="qual-e-a-engine-de-jogos-gratuita-mais-facil-para-iniciantes" tabindex="-1">Qual é a engine de jogos gratuita mais fácil para iniciantes? <a class="header-anchor" href="#qual-e-a-engine-de-jogos-gratuita-mais-facil-para-iniciantes" aria-label="Permalink to &quot;Qual é a engine de jogos gratuita mais fácil para iniciantes?&quot;"></a></h3>
<p>O GDevelop é o ponto de partida gratuito mais fácil: não exige código (usa folhas de eventos visuais), funciona no navegador e permite publicar gratuitamente na web. O Construct também é fácil para iniciantes e oferece um plano gratuito. Se você não quiser nenhuma configuração, uma ferramenta de IA que transforma prompts em jogos pode criar um jogo funcional a partir de uma descrição.</p>
<h3 id="a-godot-e-boa-para-iniciantes" tabindex="-1">A Godot é boa para iniciantes? <a class="header-anchor" href="#a-godot-e-boa-para-iniciantes" aria-label="Permalink to &quot;A Godot é boa para iniciantes?&quot;"></a></h3>
<p>Sim. A Godot é gratuita, de código aberto e conta com uma linguagem de script acessível para iniciantes (GDScript), além de uma grande biblioteca de tutoriais gratuitos. É a melhor opção gratuita para quem quer aprender programação de jogos de verdade e oferece suporte a 2D e 3D. Apenas lembre que projetos em C# não podem ser exportados para a web, portanto use GDScript se seu objetivo for criar jogos para navegadores.</p>
<h3 id="preciso-saber-programar-para-criar-um-jogo" tabindex="-1">Preciso saber programar para criar um jogo? <a class="header-anchor" href="#preciso-saber-programar-para-criar-um-jogo" aria-label="Permalink to &quot;Preciso saber programar para criar um jogo?&quot;"></a></h3>
<p>Não. Engines sem código, como GDevelop e Construct, permitem criar jogos com lógica visual, enquanto ferramentas de IA que transformam prompts em jogos criam um jogo a partir de uma descrição em linguagem natural. A programação oferece mais controle e vale a pena aprendê-la no futuro, mas hoje já é possível criar e publicar um jogo de verdade sem saber programar.</p>
<h3 id="qual-engine-gratuita-devo-aprender-em-2026" tabindex="-1">Qual engine gratuita devo aprender em 2026? <a class="header-anchor" href="#qual-engine-gratuita-devo-aprender-em-2026" aria-label="Permalink to &quot;Qual engine gratuita devo aprender em 2026?&quot;"></a></h3>
<p>Escolha de acordo com a quantidade de código que deseja escrever: GDevelop ou uma ferramenta de IA para não programar, Godot para aprender programação ou Phaser se você conhece JavaScript. Todas permitem publicar jogos comerciais gratuitamente. Comece pela opção que reduzir as barreiras para você, conclua um jogo pequeno e avance a partir daí.</p>
<BuildCta
  title="Crie seu primeiro jogo antes mesmo de instalar qualquer coisa"
  desc="A maneira mais rápida de descobrir se criar jogos é para você."
  prompt="Crie uma pista de obstáculos 3D simples com pontos de controle e uma linha de chegada" />
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/vibe-coding-game-prompts.html">100 ideias de prompts de jogos com IA que você pode criar com um clique</a> — aproveite uma ideia e transforme-a em algo jogável em cerca de um minuto</li>
<li><a href="/pt-BR/guides/web-game-engines-comparison.html">Melhores engines de jogos para web em 2026</a> — todas as opções para quando você evoluir</li>
<li><a href="/pt-BR/guides/best-2d-game-engines-2026.html">Melhores engines de jogos 2D em 2026</a> — se o seu primeiro jogo for 2D</li>
<li><a href="/pt-BR/guides/make-a-game-with-ai.html">Como criar um jogo com IA (sem programar)</a> — o caminho com IA e sem código</li>
<li><a href="/pt-BR/guides/3d-browser-game-without-coding.html">Como criar um jogo 3D para navegador sem programar</a> — 3D para iniciantes</li>
<li><a href="/pt-BR/guides/itch-io-launch-guide.html">Como lançar seu jogo no itch.io</a> — publique seu primeiro jogo</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/best-free-game-engines-beginners-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Melhores sites de modelos 3D gratuitos para jogos (2026)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/free-3d-model-sites</link>
            <guid>https://app.cinevva.com/pt-BR/guides/free-3d-model-sites</guid>
            <pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Os melhores sites de modelos 3D gratuitos para jogos em 2026, desde fontes CC0 como Kenney, Quaternius e Poly Haven até Sketchfab e os sucessores do Google Poly, com explicações sobre as licenças.]]></description>
            <content:encoded><![CDATA[<h1 id="melhores-sites-de-modelos-3d-gratuitos-para-jogos-2026" tabindex="-1">Melhores sites de modelos 3D gratuitos para jogos (2026) <a class="header-anchor" href="#melhores-sites-de-modelos-3d-gratuitos-para-jogos-2026" aria-label="Permalink to &quot;Melhores sites de modelos 3D gratuitos para jogos (2026)&quot;"></a></h1>
<p><em>Última atualização: julho de 2026.</em></p>
<p>Você não precisa modelar tudo por conta própria nem pagar por isso. Existe uma enorme variedade de modelos 3D gratuitos e prontos para jogos, e os melhores são CC0, o que significa que você pode usá-los comercialmente sem atribuição. Aqui estão os sites que vale a pena adicionar aos favoritos em 2026, organizados conforme o uso que você realmente fará deles e com as licenças explicadas de forma clara.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/pC937t3NlOA" title="Milhares de modelos 3D GRATUITOS para jogos (assets CC0 do Quaternius)" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">Um passeio por milhares de modelos 3D gratuitos e CC0 para jogos do Quaternius.</div>
<h2 id="referencia-rapida" tabindex="-1">Referência rápida <a class="header-anchor" href="#referencia-rapida" aria-label="Permalink to &quot;Referência rápida&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Necessidade</th>
<th>Melhor fonte</th>
<th>Licença</th>
<th>Atribuição</th>
</tr>
</thead>
<tbody>
<tr>
<td>Objetos prontos para jogos em um estilo consistente</td>
<td>Kenney</td>
<td>CC0</td>
<td>Nenhuma</td>
</tr>
<tr>
<td>Personagens low-poly estilizados</td>
<td>Quaternius, KayKit</td>
<td>CC0</td>
<td>Nenhuma</td>
</tr>
<tr>
<td>Objetos, texturas e HDRIs fotorrealistas</td>
<td>Poly Haven</td>
<td>CC0</td>
<td>Nenhuma</td>
</tr>
<tr>
<td>Maior variedade e modelos complexos</td>
<td>Sketchfab</td>
<td>Mista, filtre por modelo</td>
<td>Depende do modelo</td>
</tr>
<tr>
<td>Arquivo do Google Poly e objetos estilizados rápidos</td>
<td>Poly Pizza, Icosa Gallery</td>
<td>Principalmente CC-BY</td>
<td>Dê crédito ao criador</td>
</tr>
<tr>
<td>Digitalizações gratuitas com qualidade AAA</td>
<td>Fab (pacote inicial do Megascans)</td>
<td>Fab Standard, algumas CC</td>
<td>Nenhuma, confira o anúncio</td>
</tr>
<tr>
<td>Biblioteca enorme voltada ao Blender</td>
<td>Plano gratuito do BlenderKit</td>
<td>Royalty-Free e CC0</td>
<td>Nenhuma</td>
</tr>
<tr>
<td>Arte comunitária compatível com código aberto</td>
<td>OpenGameArt</td>
<td>CC0, CC-BY, OGA-BY, GPL</td>
<td>Depende do asset</td>
</tr>
<tr>
<td>Itens gratuitos de marketplaces</td>
<td>CGTrader, TurboSquid</td>
<td>Royalty-Free</td>
<td>Nenhuma</td>
</tr>
<tr>
<td>Digitalizações de museus e do espaço</td>
<td>Smithsonian, NASA</td>
<td>CC0 / obra do governo dos EUA</td>
<td>Nenhuma</td>
</tr>
</tbody>
</table>
<h2 id="recomendacoes-rapidas" tabindex="-1">Recomendações rápidas <a class="header-anchor" href="#recomendacoes-rapidas" aria-label="Permalink to &quot;Recomendações rápidas&quot;"></a></h2>
<ul>
<li><strong>Prontos para jogos, estilo consistente e sem complicação:</strong> Kenney, Quaternius e KayKit (todos CC0).</li>
<li><strong>Modelos, texturas e HDRIs fotorrealistas:</strong> Poly Haven (CC0).</li>
<li><strong>Maior variedade e modelos complexos:</strong> Sketchfab (licenças mistas, confira cada item).</li>
<li><strong>Low-poly e arquivo do Google Poly:</strong> Poly Pizza e Icosa Gallery (principalmente CC-BY).</li>
<li><strong>Objetos incomuns que ninguém mais tem:</strong> Smithsonian Open Access e NASA 3D Resources.</li>
</ul>
<h2 id="as-fontes-cc0-essenciais-sem-atribuicao-e-seguras-para-uso-comercial" tabindex="-1">As fontes CC0 essenciais (sem atribuição e seguras para uso comercial) <a class="header-anchor" href="#as-fontes-cc0-essenciais-sem-atribuicao-e-seguras-para-uso-comercial" aria-label="Permalink to &quot;As fontes CC0 essenciais (sem atribuição e seguras para uso comercial)&quot;"></a></h2>
<h3 id="kenney" tabindex="-1">Kenney <a class="header-anchor" href="#kenney" aria-label="Permalink to &quot;Kenney&quot;"></a></h3>
<p>O melhor ponto de partida. A Kenney oferece dezenas de milhares de assets prontos para jogos, todos CC0, incluindo modelos 3D, sprites, interfaces e áudio, em estilos visuais consistentes que você pode combinar livremente. Tudo é otimizado para jogos, com atlas de texturas compartilhados e contagens de polígonos adequadas. Se você quer criar rapidamente um visual coeso, comece aqui.</p>
<figure class="sample-sheet">
<a href="/pt-BR/assets?providers=kenney"><img src="https://cdn.cinevva.com/guides/samples/samples-kenney-3d.jpg" alt="Exemplos de modelos 3D CC0 da Kenney: carro de corrida, nave espacial, torre de cerco, casa, navio pirata, moinho de vento, OVNI e caminhão de bombeiros" loading="lazy"></a>
<figcaption>Oito objetos da Kenney, todos CC0. <a href="/pt-BR/assets?providers=kenney">Explore a coleção completa da Kenney na biblioteca de assets</a>.</figcaption>
</figure>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://kenney.nl" target="_blank" rel="noreferrer">kenney.nl</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>CC0, sem necessidade de atribuição</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Mais de 270 pacotes e dezenas de milhares de assets individuais</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>GLB/GLTF, OBJ e FBX para 3D, além de PNG e WAV</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>Sim, um ZIP gratuito por pacote, sem necessidade de conta</td>
</tr>
<tr>
<td><strong>Melhor para</strong></td>
<td>Criar protótipos rapidamente e lançar com um estilo visual consistente</td>
</tr>
</tbody>
</table>
<h3 id="quaternius" tabindex="-1">Quaternius <a class="header-anchor" href="#quaternius" aria-label="Permalink to &quot;Quaternius&quot;"></a></h3>
<p>Modelos 3D low-poly simpáticos e estilizados, todos CC0, organizados em pacotes temáticos (personagens, ambientes, veículos e monstros), além de uma biblioteca universal de animações compatível com os diferentes pacotes de personagens. Perfeito para jogos independentes que buscam uma estética low-poly charmosa.</p>
<figure class="sample-sheet">
<a href="/pt-BR/assets"><img src="https://cdn.cinevva.com/guides/samples/samples-quaternius.jpg" alt="Exemplos de modelos low-poly CC0 do Quaternius: monstros, capitão pirata, mecha, mago, nave espacial, shiba inu e cavaleiro" loading="lazy"></a>
<figcaption>Personagens e naves do Quaternius, todos CC0 e, em sua maioria, animados. <a href="/pt-BR/assets">Pesquise por eles na biblioteca de assets gratuitos</a>.</figcaption>
</figure>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://quaternius.com" target="_blank" rel="noreferrer">quaternius.com</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>CC0, sem necessidade de atribuição</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Quase 80 pacotes temáticos e mais de 1.100 modelos</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>GLTF/GLB, FBX</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>Sim, um ZIP gratuito por pacote</td>
</tr>
<tr>
<td><strong>Melhor para</strong></td>
<td>Personagens e criaturas low-poly com animações correspondentes</td>
</tr>
</tbody>
</table>
<h3 id="kaykit-de-kay-lousberg" tabindex="-1">KayKit, de Kay Lousberg <a class="header-anchor" href="#kaykit-de-kay-lousberg" aria-label="Permalink to &quot;KayKit, de Kay Lousberg&quot;"></a></h3>
<p>KayKit é a linha de pacotes de assets low-poly de Kay Lousberg e preenche a lacuna entre Kenney e Quaternius com kits de masmorras, pacotes de personagens (aventureiros e esqueletos), terrenos hexagonais e dezenas de pacotes temáticos de objetos “Bits”. A maioria dos pacotes é gratuita e CC0, com um pacote completo pago caso você queira tudo de uma só vez. Os pacotes de personagens incluem animações e rigs bem configurados.</p>
<figure class="sample-sheet">
<a href="/pt-BR/assets"><img src="https://cdn.cinevva.com/guides/samples/samples-kaykit.jpg" alt="Exemplos de modelos CC0 do KayKit: baú de tesouro, mago esqueleto, cavaleiro, torre hexagonal, mago, torre de água, barril e abóbora de Halloween" loading="lazy"></a>
<figcaption>Pacotes de masmorras e personagens do KayKit, CC0. <a href="/pt-BR/assets">Pesquise por KayKit na biblioteca de assets</a>.</figcaption>
</figure>
<figure class="sample-sheet">
<a href="/pt-BR/assets"><img src="https://cdn.cinevva.com/guides/samples/samples-kaylousberg.jpg" alt="Exemplos de objetos CC0 para interiores e parques de Kay Lousberg: geladeira, bolo de aniversário, cacto, árvore, banco de parque, banheira, fonte e pão" loading="lazy"></a>
<figcaption>Pacotes Bits de objetos domésticos e para parques de Kay Lousberg, CC0. <a href="/pt-BR/assets">Encontre-os na biblioteca de assets</a>.</figcaption>
</figure>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://kaylousberg.itch.io" target="_blank" rel="noreferrer">kaylousberg.itch.io</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>CC0 nos pacotes gratuitos, sem necessidade de atribuição</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Cerca de 25 pacotes, a maioria gratuita</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>GLTF, FBX, OBJ</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>Sim, pelo itch.io (pague quanto quiser, inclusive US$ 0)</td>
</tr>
<tr>
<td><strong>Melhor para</strong></td>
<td>Dungeon crawlers, objetos para RPG e personagens de fantasia animados</td>
</tr>
</tbody>
</table>
<h3 id="poly-haven" tabindex="-1">Poly Haven <a class="header-anchor" href="#poly-haven" aria-label="Permalink to &quot;Poly Haven&quot;"></a></h3>
<p>Modelos 3D fotorrealistas, texturas PBR e HDRIs, todos CC0, com várias resoluções e uma API sem chave para downloads diretos. São mais de 2.000 assets, e o acervo continua crescendo, incluindo mais de 500 modelos. É a melhor opção para objetos, ambientes e iluminação realistas. Só os HDRIs já justificam adicionar o site aos favoritos: eles melhoram a aparência de qualquer cena com um clique.</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://polyhaven.com" target="_blank" rel="noreferrer">polyhaven.com</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>CC0, sem necessidade de atribuição</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Mais de 2.000 (modelos, texturas PBR e HDRIs)</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>GLTF, Blend, FBX, com resoluções de 1K a 16K</td>
</tr>
<tr>
<td><strong>API</strong></td>
<td>Sim, pública e sem chave</td>
</tr>
<tr>
<td><strong>Melhor para</strong></td>
<td>Objetos realistas, materiais e iluminação baseada em imagem</td>
</tr>
</tbody>
</table>
<h3 id="polygonalmind" tabindex="-1">PolygonalMind <a class="header-anchor" href="#polygonalmind" aria-label="Permalink to &quot;PolygonalMind&quot;"></a></h3>
<p>Um estúdio que disponibiliza parte de seu trabalho como código aberto. O projeto 100 Avatars lançou mais de 200 personagens low-poly CC0 em duas rodadas completas (com uma terceira em andamento), todos com rig e prontos para jogos ou VR, além de pacotes temáticos de objetos CC0 publicados no Sketchfab e no GitHub. É uma excelente fonte de personagens estilizados e variados quando você precisa criar uma multidão.</p>
<figure class="sample-sheet">
<a href="/pt-BR/assets"><img src="https://cdn.cinevva.com/guides/samples/samples-polygonalmind.jpg" alt="Exemplos de avatares CC0 do projeto 100 Avatars da PolygonalMind: oito personagens estilizados com rig" loading="lazy"></a>
<figcaption>Oito dos mais de 200 avatares CC0 com rig do 100 Avatars. <a href="/pt-BR/assets">Explore os avatares na biblioteca de assets</a>.</figcaption>
</figure>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://github.com/PolygonalMind" target="_blank" rel="noreferrer">github.com/PolygonalMind</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>CC0 nos lançamentos de código aberto</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Mais de 200 avatares, além de pacotes temáticos de objetos</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>FBX, VRM, GLB (varia conforme o pacote)</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>Sim, pelos lançamentos do GitHub e pelo Sketchfab</td>
</tr>
<tr>
<td><strong>Melhor para</strong></td>
<td>Grandes quantidades de personagens estilizados com rig</td>
</tr>
</tbody>
</table>
<h2 id="as-grandes-bibliotecas-licencas-mistas-confira-cada-item" tabindex="-1">As grandes bibliotecas (licenças mistas, confira cada item) <a class="header-anchor" href="#as-grandes-bibliotecas-licencas-mistas-confira-cada-item" aria-label="Permalink to &quot;As grandes bibliotecas (licenças mistas, confira cada item)&quot;"></a></h2>
<h3 id="sketchfab" tabindex="-1">Sketchfab <a class="header-anchor" href="#sketchfab" aria-label="Permalink to &quot;Sketchfab&quot;"></a></h3>
<p>A maior biblioteca de modelos 3D, com milhões de modelos e uma visualização 3D antes do download. As licenças variam conforme o modelo, portanto filtre por itens disponíveis para download e por CC0 ou CC-BY. A ressalva em 2026: a loja paga do Sketchfab foi encerrada e transferida para o Fab, da Epic, e somente conteúdos CC-BY e Fab Standard podem migrar para lá. Modelos CC0, CC-BY-SA, CC-BY-NC e CC-BY-ND permanecem no Sketchfab e, em meados de 2026, os downloads gratuitos e a API de download ainda funcionam. Considere-o uma fonte CC0 ainda útil, mas em declínio gradual; baixe o que precisar em vez de presumir que sempre estará disponível.</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://sketchfab.com" target="_blank" rel="noreferrer">sketchfab.com</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Mista, por modelo (CC0, CC-BY, CC-BY-NC e outras)</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Milhões de modelos</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>GLTF, FBX, OBJ, USDZ</td>
</tr>
<tr>
<td><strong>API</strong></td>
<td>Sim, as APIs de download e visualização continuam ativas em 2026</td>
</tr>
<tr>
<td><strong>Melhor para</strong></td>
<td>Encontrar aquele modelo específico que nenhuma outra fonte possui</td>
</tr>
</tbody>
</table>
<h3 id="poly-pizza-e-icosa-gallery" tabindex="-1">Poly Pizza e Icosa Gallery <a class="header-anchor" href="#poly-pizza-e-icosa-gallery" aria-label="Permalink to &quot;Poly Pizza e Icosa Gallery&quot;"></a></h3>
<p>O Google Poly foi encerrado em 2021, mas seu catálogo low-poly continua disponível. O Poly Pizza hospeda mais de 10.600 modelos gratuitos, incluindo a coleção arquivada “Poly by Google” (cerca de 2.294 modelos), além de milhares de novos envios da comunidade. A organização sem fins lucrativos Icosa Gallery dá continuidade à missão aberta com seu próprio arquivo, uma API e vínculos com os projetos Open Brush e Open Blocks. A maioria dos modelos de ambos os sites usa CC-BY (dê crédito ao criador), com alguns em CC0. São ótimos para encontrar rapidamente objetos estilizados que combinam com o visual da Kenney e do Quaternius.</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://poly.pizza" target="_blank" rel="noreferrer">poly.pizza</a> e <a href="https://icosa.gallery" target="_blank" rel="noreferrer">icosa.gallery</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Principalmente CC-BY, com alguns CC0, indicada em cada modelo</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Mais de 10.600 no Poly Pizza e outros milhares no Icosa</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>GLB/GLTF, OBJ</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>Sim, sem necessidade de conta no Poly Pizza</td>
</tr>
<tr>
<td><strong>Melhor para</strong></td>
<td>Objetos low-poly rápidos quando você não se importa em incluir uma linha de créditos</td>
</tr>
</tbody>
</table>
<h3 id="fab-epic" tabindex="-1">Fab (Epic) <a class="header-anchor" href="#fab-epic" aria-label="Permalink to &quot;Fab (Epic)&quot;"></a></h3>
<p>O marketplace unificado da Epic, sucessor do Unreal Marketplace, Quixel Megascans e da loja do Sketchfab. A principal atração para quem procura assets é um pacote inicial do Megascans permanentemente gratuito, com mais de 1.500 assets digitalizados, superfícies e decalques que podem ser usados em qualquer engine, além de uma seleção gratuita rotativa a cada duas semanas. O catálogo completo do Megascans, com cerca de 17.000 assets, tornou-se pago no fim de 2024. Confira a licença de cada anúncio antes de lançar seu jogo.</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://www.fab.com" target="_blank" rel="noreferrer">fab.com</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Fab Standard (Personal/Professional) e algumas Creative Commons</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Mais de 1.500 assets do Megascans permanentemente gratuitos, além de seleções gratuitas quinzenais</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Unreal, Unity, glTF e outros</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>Sim, após criar uma conta gratuita</td>
</tr>
<tr>
<td><strong>Melhor para</strong></td>
<td>Digitalizações fotorrealistas e acompanhar os itens gratuitos quinzenais</td>
</tr>
</tbody>
</table>
<h3 id="opengameart" tabindex="-1">OpenGameArt <a class="header-anchor" href="#opengameart" aria-label="Permalink to &quot;OpenGameArt&quot;"></a></h3>
<p>O repositório comunitário de arte para jogos independentes e de código aberto, em operação desde 2009. Ele hospeda arte 2D e 3D, áudio e texturas sob um conjunto rigoroso de licenças abertas, portanto tudo nele pode ser usado legalmente desde que você cumpra a licença indicada. A seção 3D é menor e menos consistente que a dos sites dedicados a modelos, mas esconde verdadeiras joias, e o filtro de licenças facilita a navegação exclusiva por CC0. Tenha cuidado com assets sob GPL, que podem impor obrigações de compartilhamento pela mesma licença ao seu projeto.</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://opengameart.org" target="_blank" rel="noreferrer">opengameart.org</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>CC0, CC-BY, CC-BY-SA, OGA-BY ou GPL, conforme o asset</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Milhares de contribuições da comunidade em 2D, 3D e áudio</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Variam (Blend, OBJ, FBX, GLTF)</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>Sim, sem necessidade de conta</td>
</tr>
<tr>
<td><strong>Melhor para</strong></td>
<td>Navegação filtrada por CC0 e projetos compatíveis com código aberto</td>
</tr>
</tbody>
</table>
<h3 id="blenderkit" tabindex="-1">BlenderKit <a class="header-anchor" href="#blenderkit" aria-label="Permalink to &quot;BlenderKit&quot;"></a></h3>
<p>Uma enorme biblioteca de assets integrada a um complemento do Blender, permitindo inserir modelos, materiais e HDRIs diretamente na cena. O plano gratuito é realmente amplo: mais de 17.000 modelos gratuitos, 26.000 materiais gratuitos e 2.000 HDRIs gratuitos na última contagem pública. O BlenderKit usa exatamente duas licenças, Royalty-Free e CC0, e você pode filtrar por qualquer uma delas. Aqui, Royalty-Free significa que você pode usar o asset comercialmente em seu jogo, mas não pode revender o arquivo original.</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://www.blenderkit.com" target="_blank" rel="noreferrer">blenderkit.com</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Royalty-Free ou CC0, com filtros</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Mais de 45.000 gratuitos (modelos, materiais, HDRIs e pincéis)</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Blend nativo, com exportação para GLB/FBX pelo Blender</td>
</tr>
<tr>
<td><strong>API</strong></td>
<td>Sim, pelo complemento do Blender; requer conta gratuita</td>
</tr>
<tr>
<td><strong>Melhor para</strong></td>
<td>Composição de cenas e materiais, caso o Blender faça parte do seu fluxo de trabalho</td>
</tr>
</tbody>
</table>
<h2 id="secoes-gratuitas-de-marketplaces-royalty-free-leia-as-condicoes-com-atencao" tabindex="-1">Seções gratuitas de marketplaces (royalty-free, leia as condições com atenção) <a class="header-anchor" href="#secoes-gratuitas-de-marketplaces-royalty-free-leia-as-condicoes-com-atencao" aria-label="Permalink to &quot;Seções gratuitas de marketplaces (royalty-free, leia as condições com atenção)&quot;"></a></h2>
<h3 id="turbosquid" tabindex="-1">TurboSquid <a class="header-anchor" href="#turbosquid" aria-label="Permalink to &quot;TurboSquid&quot;"></a></h3>
<p>O mais antigo dos grandes marketplaces 3D, agora pertencente à Shutterstock, com uma seção gratuita considerável. Os modelos gratuitos usam a mesma licença royalty-free do TurboSquid aplicada aos modelos pagos: jogos para console, PC, dispositivos móveis e VR são explicitamente permitidos; você pode usar um modelo em projetos ilimitados para sempre, mas não pode redistribuir os arquivos originais, e os usuários finais não devem conseguir extraí-los. Ignore tudo que estiver marcado como “Editorial Use”, pois esses modelos não podem ser incluídos em um jogo comercial.</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://www.turbosquid.com/Search/3D-Models/free" target="_blank" rel="noreferrer">turbosquid.com</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Royalty-free do TurboSquid, com jogos permitidos</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Uma grande seção gratuita dentro de um catálogo com milhões de modelos</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>MAX, FBX, OBJ, Blend, GLTF (varia conforme o modelo)</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>Após criar uma conta gratuita</td>
</tr>
<tr>
<td><strong>Melhor para</strong></td>
<td>Objetos realistas específicos, veículos e modelos hard-surface</td>
</tr>
</tbody>
</table>
<h3 id="cgtrader" tabindex="-1">CGTrader <a class="header-anchor" href="#cgtrader" aria-label="Permalink to &quot;CGTrader&quot;"></a></h3>
<p>A maior seção gratuita entre todos os marketplaces, com mais de 150.000 modelos grátis. A licença royalty-free permite o uso comercial em jogos sem taxas extras, com a mesma ressalva do TurboSquid: o modelo precisa ser incorporado ao jogo para que os jogadores não possam extrair o arquivo, e você não pode revendê-lo separadamente. A qualidade varia muito mais do que nos sites com curadoria, então confira a contagem de polígonos e as texturas antes de escolher.</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://www.cgtrader.com/free-3d-models" target="_blank" rel="noreferrer">cgtrader.com/free-3d-models</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Royalty-free da CGTrader, uso comercial permitido</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Mais de 150.000 modelos grátis</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>FBX, OBJ, Blend, GLTF, MAX (varia conforme o modelo)</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>Após criar uma conta gratuita</td>
</tr>
<tr>
<td><strong>Ideal para</strong></td>
<td>Grande variedade quando os sites de CC0 não têm o que você procura</td>
</tr>
</tbody>
</table>
<h2 id="digitalizacoes-em-dominio-publico-museus-e-espaco" tabindex="-1">Digitalizações em domínio público (museus e espaço) <a class="header-anchor" href="#digitalizacoes-em-dominio-publico-museus-e-espaco" aria-label="Permalink to &quot;Digitalizações em domínio público (museus e espaço)&quot;"></a></h2>
<h3 id="smithsonian-open-access-3d" tabindex="-1">Smithsonian Open Access 3D <a class="header-anchor" href="#smithsonian-open-access-3d" aria-label="Permalink to &quot;Smithsonian Open Access 3D&quot;"></a></h3>
<p>O Smithsonian disponibilizou milhões de itens de seu acervo sob CC0, incluindo mais de 2.000 digitalizações 3D para download: fósseis de dinossauros, espaçonaves, estátuas, instrumentos e artefatos que você não encontrará em nenhum outro lugar. Procure a indicação CC0 na página do modelo. As digitalizações usam bastante fotogrametria, então planeje reduzi-las no Blender antes de colocá-las em um jogo para navegador.</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://3d.si.edu" target="_blank" rel="noreferrer">3d.si.edu</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>CC0 nos modelos identificados; confira cada um</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Mais de 2.000 digitalizações 3D</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>OBJ, glTF/GLB</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>Sim, sem necessidade de conta</td>
</tr>
<tr>
<td><strong>Ideal para</strong></td>
<td>Objetos com qualidade de museu, fósseis e elementos de ambientação histórica</td>
</tr>
</tbody>
</table>
<h3 id="nasa-3d-resources" tabindex="-1">NASA 3D Resources <a class="header-anchor" href="#nasa-3d-resources" aria-label="Permalink to &quot;NASA 3D Resources&quot;"></a></h3>
<p>A NASA publica centenas de modelos de espaçonaves, rovers, asteroides e terrenos planetários, disponíveis gratuitamente para download e uso conforme suas diretrizes de uso de mídia (a maior parte do material criado pela NASA não é protegida por direitos autorais; apenas não dê a entender que a NASA endossa seu jogo nem use a insígnia da agência). A qualidade das malhas varia de digitalizações prontas para impressão a modelos reais de engenharia, e a coleção também está espelhada no GitHub.</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://science.nasa.gov/3d-resources/" target="_blank" rel="noreferrer">science.nasa.gov/3d-resources</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Gratuita conforme as diretrizes de mídia da NASA, sem sugerir endosso</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Centenas de modelos e texturas</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>GLB, FBX, Blend, STL, 3DS e mais</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>Sim, sem necessidade de conta</td>
</tr>
<tr>
<td><strong>Ideal para</strong></td>
<td>Jogos espaciais que querem o rover Curiosity de verdade</td>
</tr>
</tbody>
</table>
<h2 id="gere-modelos-com-ia" tabindex="-1">Gere modelos com IA <a class="header-anchor" href="#gere-modelos-com-ia" aria-label="Permalink to &quot;Gere modelos com IA&quot;"></a></h2>
<p>Em 2026, gerar um modelo pode ser mais rápido do que procurar um. Ferramentas como Meshy e Tripo transformam texto ou uma imagem em uma malha 3D texturizada, enquanto modelos abertos como Hunyuan3D e TRELLIS.2 permitem hospedagem própria. A maioria das ferramentas hospedadas reserva os direitos de uso comercial para planos pagos, então confira os termos. Veja nosso guia dos <a href="/pt-BR/guides/ai-asset-generators-games.html">melhores geradores de assets com IA para jogos</a> para uma análise completa. A Cinevva também tem um <a href="/pt-BR/tools/hunyuan3d.html">Gerador de Modelos 3D</a> integrado, que transforma uma foto ou um prompt de texto em um modelo.</p>
<h2 id="preparando-os-modelos-para-o-jogo" tabindex="-1">Preparando os modelos para o jogo <a class="header-anchor" href="#preparando-os-modelos-para-o-jogo" aria-label="Permalink to &quot;Preparando os modelos para o jogo&quot;"></a></h2>
<p>Encontrar o modelo é apenas metade do trabalho. Veja como garantir que ele realmente funcione no seu jogo.</p>
<p><strong>Prefira GLB para jogos web.</strong> GLB é um único arquivo binário com malha, materiais e texturas incorporados, e todos os motores web (Three.js, Babylon.js, PlayCanvas) oferecem suporte nativo a ele. Se um modelo estiver disponível apenas como FBX ou OBJ, abra-o no Blender e exporte-o como GLB; isso leva um minuto. Kenney, Quaternius, KayKit e Poly Haven já fornecem GLTF/GLB, o que é um dos principais motivos para estarem no topo desta lista.</p>
<p><strong>Fique de olho no orçamento de polígonos.</strong> Jogos para navegador rodam em qualquer hardware que apareça, incluindo celulares de três anos atrás. Como regra geral, limite objetos de cena a algumas centenas ou poucos milhares de triângulos, personagens principais a algo entre 10.000 e 30.000 e downloads individuais a menos de 100.000. Modelos de marketplaces e museus frequentemente ultrapassam muito esses números, então verifique a contagem de triângulos antes de se apaixonar pelo modelo ou planeje uma etapa de redução no Blender.</p>
<p><strong>Observe as draw calls, não apenas os polígonos.</strong> Cinquenta objetos separados com cinquenta materiais pesarão mais do que uma única malha densa. Os pacotes com curadoria também ajudam nesse aspecto: os assets da Kenney e da Quaternius compartilham atlas de texturas, permitindo renderizar uma cena inteira com poucas draw calls.</p>
<p><strong>Confira a licença antes de publicar, não depois.</strong> Salve uma captura de tela ou um PDF da página da licença de cada modelo não CC0 que usar e mantenha uma lista atualizada de créditos para assets CC-BY. Tentar descobrir de onde veio um modelo um ano depois é péssimo.</p>
<p><strong>Ou pare de pular entre abas.</strong> A <a href="/pt-BR/assets.html">busca de assets</a> da Cinevva pesquisa Kenney, Quaternius, Poly Haven, Sketchfab e outras fontes em uma única caixa de busca, com informações de licença em cada item e filtros por fonte, como <a href="/pt-BR/assets.html?providers=kenney">somente Kenney</a> ou <a href="/pt-BR/assets.html?providers=polyhaven">somente Poly Haven</a>. E, se você baixar um personagem sem rig, o <a href="/pt-BR/tools/rigger.html">auto-rigger</a> gratuito cria o rig de modelos humanoides diretamente no navegador.</p>
<h2 id="licencas-em-30-segundos" tabindex="-1">Licenças em 30 segundos <a class="header-anchor" href="#licencas-em-30-segundos" aria-label="Permalink to &quot;Licenças em 30 segundos&quot;"></a></h2>
<ul>
<li><strong>CC0:</strong> domínio público. Permite uso comercial e modificações, sem exigir atribuição. A opção mais segura.</li>
<li><strong>CC-BY:</strong> uso comercial gratuito, mas você precisa dar crédito ao criador.</li>
<li><strong>Royalty-Free:</strong> pague uma vez (ou obtenha gratuitamente) e use sem taxas por utilização, mas não revenda os arquivos brutos.</li>
<li><strong>CC-BY-NC / Editorial:</strong> não permite uso comercial. Evite em jogos que você pretende vender.</li>
</ul>
<p>Na dúvida, prefira CC0. Para uma explicação completa, consulte nosso <a href="/pt-BR/guides/game-asset-licenses.html">guia de licenças de assets para jogos</a>.</p>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="onde-posso-encontrar-modelos-3d-gratuitos-para-jogos" tabindex="-1">Onde posso encontrar modelos 3D gratuitos para jogos? <a class="header-anchor" href="#onde-posso-encontrar-modelos-3d-gratuitos-para-jogos" aria-label="Permalink to &quot;Onde posso encontrar modelos 3D gratuitos para jogos?&quot;"></a></h3>
<p>Kenney, Quaternius, KayKit e Poly Haven são os melhores pontos de partida. Todos usam CC0, então você pode utilizá-los comercialmente sem atribuição. Para mais variedade, o Sketchfab tem milhões de modelos sob diferentes licenças, o Poly Pizza hospeda o catálogo arquivado do Google Poly e a seção gratuita do CGTrader conta com mais de 150.000 modelos. Sempre confira a licença do modelo individual antes de publicar seu jogo.</p>
<h3 id="o-que-significa-cc0-para-modelos-3d" tabindex="-1">O que significa CC0 para modelos 3D? <a class="header-anchor" href="#o-que-significa-cc0-para-modelos-3d" aria-label="Permalink to &quot;O que significa CC0 para modelos 3D?&quot;"></a></h3>
<p>CC0 significa que o modelo está em domínio público: você pode usá-lo em jogos comerciais, modificá-lo e não precisa dar crédito ao criador. É a licença mais permissiva e de menor risco. Kenney, Quaternius, KayKit, Poly Haven e AmbientCG são as principais fontes de assets CC0 para jogos.</p>
<h3 id="posso-usar-modelos-3d-gratuitos-em-jogos-comerciais" tabindex="-1">Posso usar modelos 3D gratuitos em jogos comerciais? <a class="header-anchor" href="#posso-usar-modelos-3d-gratuitos-em-jogos-comerciais" aria-label="Permalink to &quot;Posso usar modelos 3D gratuitos em jogos comerciais?&quot;"></a></h3>
<p>Na maioria dos casos, sim, mas isso depende da licença. Assets CC0 são sempre seguros. CC-BY exige que você dê crédito ao criador. Modelos royalty-free de marketplaces permitem o uso em jogos comerciais, mas proíbem a redistribuição dos arquivos brutos. Modelos CC-BY-NC e exclusivos para uso editorial não podem ser usados em jogos que você vende; portanto, confira a licença de cada modelo e prefira CC0 quando possível.</p>
<h3 id="o-que-aconteceu-com-o-google-poly" tabindex="-1">O que aconteceu com o Google Poly? <a class="header-anchor" href="#o-que-aconteceu-com-o-google-poly" aria-label="Permalink to &quot;O que aconteceu com o Google Poly?&quot;"></a></h3>
<p>O Google encerrou o Poly em 30 de junho de 2021. A comunidade arquivou o catálogo antes que ele saísse do ar, e ele continua disponível em dois lugares: o Poly Pizza hospeda a coleção &quot;Poly by Google&quot; junto a milhares de uploads mais recentes, e a organização sem fins lucrativos Icosa Gallery dá continuidade à missão de manter uma plataforma aberta. A maioria dos modelos arquivados usa CC-BY, então dê crédito ao criador original.</p>
<h3 id="o-sketchfab-vai-encerrar-as-atividades" tabindex="-1">O Sketchfab vai encerrar as atividades? <a class="header-anchor" href="#o-sketchfab-vai-encerrar-as-atividades" aria-label="Permalink to &quot;O Sketchfab vai encerrar as atividades?&quot;"></a></h3>
<p>Ele não foi encerrado, mas está reduzindo gradualmente suas operações como marketplace. A Epic fechou a loja do Sketchfab e transferiu as vendas para o Fab, e apenas conteúdos CC-BY e Fab Standard puderam ser migrados. Em meados de 2026, o site, os downloads gratuitos e a API de download continuam funcionando, e os modelos CC0 ainda podem ser baixados. A opção mais segura é baixar tudo o que você sabe que vai querer, em vez de presumir que continuará disponível para sempre.</p>
<h3 id="qual-e-a-melhor-alternativa-gratuita-ao-turbosquid" tabindex="-1">Qual é a melhor alternativa gratuita ao TurboSquid? <a class="header-anchor" href="#qual-e-a-melhor-alternativa-gratuita-ao-turbosquid" aria-label="Permalink to &quot;Qual é a melhor alternativa gratuita ao TurboSquid?&quot;"></a></h3>
<p>Para assets prontos para jogos, Kenney, Quaternius e KayKit superam a seção gratuita de qualquer marketplace, pois tudo é CC0 e otimizado para motores de jogo. Para digitalizações realistas, Poly Haven e o pacote inicial gratuito Megascans do Fab são opções melhores. Se você procura especificamente a variedade de um marketplace, a seção gratuita do CGTrader é maior do que a do TurboSquid, com mais de 150.000 modelos grátis sob uma licença royalty-free semelhante.</p>
<h3 id="quantos-poligonos-um-modelo-deve-ter-para-jogos-web" tabindex="-1">Quantos polígonos um modelo deve ter para jogos web? <a class="header-anchor" href="#quantos-poligonos-um-modelo-deve-ter-para-jogos-web" aria-label="Permalink to &quot;Quantos polígonos um modelo deve ter para jogos web?&quot;"></a></h3>
<p>Limite objetos de cena a algumas centenas ou poucos milhares de triângulos, personagens a algo entre 10.000 e 30.000 e evite qualquer modelo individual com mais de 100.000. Uma cena inteira para navegador deve permanecer na faixa das poucas centenas de milhares de triângulos para rodar bem em celulares intermediários. Se um modelo for pesado demais, o modificador Decimate do Blender geralmente consegue reduzir a contagem pela metade sem que você perceba diferença.</p>
<h3 id="posso-gerar-modelos-3d-com-ia" tabindex="-1">Posso gerar modelos 3D com IA? <a class="header-anchor" href="#posso-gerar-modelos-3d-com-ia" aria-label="Permalink to &quot;Posso gerar modelos 3D com IA?&quot;"></a></h3>
<p>Sim. Ferramentas como Meshy e Tripo criam malhas texturizadas a partir de texto ou imagens, enquanto modelos abertos como Hunyuan3D e TRELLIS.2 podem ser hospedados por você. Os direitos de uso comercial em ferramentas hospedadas geralmente exigem um plano pago, então confirme os termos. Gerar com IA está se tornando cada vez mais rápido do que procurar o modelo gratuito certo.</p>
<BuildCta
  title="Pule os downloads. Receba os objetos já posicionados"
  desc="A Cinevva inclui milhares de objetos CC0 gratuitos e os coloca em um jogo para você."
  prompt="Crie uma cena low poly de um acampamento que eu possa explorar à noite com uma lanterna" />
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/game-assets-guide.html">Onde encontrar assets gratuitos para jogos</a> — o guia completo com mais de 20 fontes</li>
<li><a href="/pt-BR/guides/sketchfab-polyhaven-kenney.html">Sketchfab vs. Poly Haven vs. Kenney</a> — três das principais fontes comparadas lado a lado</li>
<li><a href="/pt-BR/guides/ai-asset-generators-games.html">Melhores geradores de assets com IA para jogos</a> — gere em vez de procurar</li>
<li><a href="/pt-BR/guides/game-asset-licenses.html">Licenças de assets para jogos explicadas</a> — CC0, CC-BY e as demais</li>
<li><a href="/pt-BR/guides/free-sound-effects-music.html">Efeitos sonoros e músicas gratuitos para jogos</a> — a parte de áudio</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/free-3d-model-sites-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Efeitos Sonoros e Músicas Grátis para Jogos (2026)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/free-sound-effects-music</link>
            <guid>https://app.cinevva.com/pt-BR/guides/free-sound-effects-music</guid>
            <pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Onde encontrar efeitos sonoros e músicas grátis para jogos em 2026, desde fontes CC0 como Kenney e Freesound até Incompetech e Pixabay, com explicações sobre licenças e atribuição.]]></description>
            <content:encoded><![CDATA[<h1 id="efeitos-sonoros-e-musicas-gratis-para-jogos-2026" tabindex="-1">Efeitos Sonoros e Músicas Grátis para Jogos (2026) <a class="header-anchor" href="#efeitos-sonoros-e-musicas-gratis-para-jogos-2026" aria-label="Permalink to &quot;Efeitos Sonoros e Músicas Grátis para Jogos (2026)&quot;"></a></h1>
<p><em>Última atualização: julho de 2026.</em></p>
<p>O áudio representa metade da experiência de um jogo, e você não precisa de orçamento para consegui-lo. Existem excelentes fontes gratuitas tanto de efeitos sonoros quanto de músicas, mas as licenças variam bastante, e alguns sites populares permitem apenas o uso não comercial, o que pode comprometer discretamente um jogo que você pretende vender. Veja onde procurar em 2026 e exatamente o que você pode publicar.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/eFSKkNdHh_k" title="Onde obter efeitos sonoros e músicas para seu jogo (grátis e pagos)" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">Uma visão geral de fontes gratuitas e pagas de efeitos sonoros e músicas para jogos.</div>
<h2 id="referencia-rapida" tabindex="-1">Referência rápida <a class="header-anchor" href="#referencia-rapida" aria-label="Permalink to &quot;Referência rápida&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Necessidade</th>
<th>Melhor fonte</th>
<th>Licença</th>
<th>Atribuição</th>
</tr>
</thead>
<tbody>
<tr>
<td>Efeitos sonoros em grande quantidade, com qualidade de estúdio</td>
<td><a href="https://sonniss.com/gameaudiogdc" target="_blank" rel="noreferrer">Pacote GDC da Sonniss</a></td>
<td>Livre de royalties</td>
<td>Não</td>
</tr>
<tr>
<td>Um som específico</td>
<td><a href="https://freesound.org" target="_blank" rel="noreferrer">Freesound</a> (filtro CC0)</td>
<td>CC0</td>
<td>Não</td>
</tr>
<tr>
<td>Efeitos sonoros coesos e prontos para jogos</td>
<td><a href="https://kenney.nl/assets/category:Audio" target="_blank" rel="noreferrer">Kenney</a></td>
<td>CC0</td>
<td>Não</td>
</tr>
<tr>
<td>Efeitos sonoros rápidos para interfaces e jogos casuais</td>
<td><a href="https://mixkit.co/free-sound-effects/" target="_blank" rel="noreferrer">Mixkit</a></td>
<td>Licença gratuita do Mixkit</td>
<td>Não</td>
</tr>
<tr>
<td>Música de fundo sem complicações</td>
<td><a href="https://pixabay.com/music/" target="_blank" rel="noreferrer">Pixabay Music</a></td>
<td>Licença de Conteúdo do Pixabay</td>
<td>Não</td>
</tr>
<tr>
<td>Grande variedade de trilhas sonoras</td>
<td><a href="https://incompetech.com" target="_blank" rel="noreferrer">Incompetech</a></td>
<td>CC-BY 4.0</td>
<td>Sim</td>
</tr>
<tr>
<td>Música chiptune e para RPG</td>
<td><a href="https://opengameart.org" target="_blank" rel="noreferrer">OpenGameArt</a></td>
<td>CC0 / CC-BY, conforme o item</td>
<td>Depende</td>
</tr>
<tr>
<td>Pacotes temáticos com estilo definido</td>
<td><a href="https://itch.io/game-assets/free/tag-audio" target="_blank" rel="noreferrer">itch.io</a></td>
<td>Conforme o pacote, geralmente CC0</td>
<td>Depende</td>
</tr>
<tr>
<td>Biblioteca enorme de efeitos sonoros, se puder dar os créditos</td>
<td><a href="https://www.zapsplat.com" target="_blank" rel="noreferrer">ZapSplat</a></td>
<td>ZapSplat Standard</td>
<td>Sim</td>
</tr>
<tr>
<td>Áudio personalizado gerado</td>
<td>Ferramentas <a href="/pt-BR/tools/sfx.html">Cinevva SFX</a> e <a href="/pt-BR/tools/music.html">Music</a></td>
<td>Seu para usar</td>
<td>Não</td>
</tr>
</tbody>
</table>
<h2 id="as-opcoes-cc0-mais-seguras-sem-atribuicao-e-adequadas-para-uso-comercial" tabindex="-1">As opções CC0 mais seguras (sem atribuição e adequadas para uso comercial) <a class="header-anchor" href="#as-opcoes-cc0-mais-seguras-sem-atribuicao-e-adequadas-para-uso-comercial" aria-label="Permalink to &quot;As opções CC0 mais seguras (sem atribuição e adequadas para uso comercial)&quot;"></a></h2>
<p>Se você não quiser se preocupar com licenças, comece por aqui. Os <strong>áudios da Kenney</strong> são totalmente CC0 e incluem cliques de interface, impactos e efeitos sonoros retrô limpos e prontos para jogos. O <strong>Pixabay Music</strong> é gratuito sob a Licença de Conteúdo do Pixabay, permite uso comercial e não exige atribuição (você não pode revender o arquivo isoladamente, mas pode incluí-lo no seu jogo). O <strong>pacote GDC da Sonniss</strong> é livre de royalties para uso comercial, não exige atribuição e oferece um acervo de vários anos com mais de 200 GB de efeitos sonoros profissionais. Além disso, tanto o <strong>Freesound</strong> quanto o <strong>OpenGameArt</strong> hospedam conteúdo CC0 disponível por meio de um filtro de licença; basta selecionar essa opção para usá-lo com segurança.</p>
<h2 id="efeitos-sonoros" tabindex="-1">Efeitos sonoros <a class="header-anchor" href="#efeitos-sonoros" aria-label="Permalink to &quot;Efeitos sonoros&quot;"></a></h2>
<h3 id="freesound" tabindex="-1">Freesound <a class="header-anchor" href="#freesound" aria-label="Permalink to &quot;Freesound&quot;"></a></h3>
<p><strong>Ideal para:</strong> Efeitos específicos e gravações de campo</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://freesound.org" target="_blank" rel="noreferrer">freesound.org</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Conforme o som: CC0, CC-BY, CC-BY-SA ou CC-BY-NC</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Mais de 700 mil sons</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>WAV, MP3, FLAC, OGG (varia conforme o envio)</td>
</tr>
<tr>
<td><strong>Atribuição</strong></td>
<td>Nenhuma para CC0, obrigatória para CC-BY; CC-BY-NC não é adequada para uso comercial</td>
</tr>
</tbody>
</table>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>A maior biblioteca gratuita de efeitos sonoros da web, ainda em expansão em 2026</li>
<li>Filtros de pesquisa avançados por licença, permitindo restringir os resultados a CC0</li>
<li>Gravações de campo e sons incomuns que você não encontrará em pacotes selecionados</li>
</ul>
<p>O porém é que cada som tem sua própria licença, então verifique cada arquivo antes de publicar. CC0 não exige créditos, CC-BY exige uma linha de crédito e CC-BY-NC não pode ser usado em um jogo vendido comercialmente. O catálogo CC0 do Freesound também pode ser pesquisado diretamente na <a href="/pt-BR/assets.html?providers=freesound">busca de recursos da Cinevva</a>, já filtrado para que tudo o que você importar seja adequado para uso comercial.</p>
<h3 id="audios-da-kenney" tabindex="-1">Áudios da Kenney <a class="header-anchor" href="#audios-da-kenney" aria-label="Permalink to &quot;Áudios da Kenney&quot;"></a></h3>
<p><strong>Ideal para:</strong> Efeitos sonoros coesos e prontos para jogos, sem complicações de licença</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://kenney.nl/assets/category:Audio" target="_blank" rel="noreferrer">kenney.nl</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>CC0 (Domínio Público)</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>10 pacotes de áudio (interface, impactos, ficção científica, RPG, cassino, vinhetas e vozes)</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>WAV, pronto para jogos</td>
</tr>
<tr>
<td><strong>Atribuição</strong></td>
<td>Nenhuma</td>
</tr>
</tbody>
</table>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Tudo é CC0, portanto não há nada para controlar nem creditar</li>
<li>Os sons de cada pacote compartilham um estilo, mantendo a consistência sonora do jogo</li>
<li>Abrange o básico de que todo jogo precisa: cliques, confirmações, impactos e vinhetas</li>
</ul>
<p>Baixe primeiro os pacotes Interface Sounds e Impact Sounds. Juntos, eles cobrem a maior parte das necessidades de um jogo pequeno, enquanto o pacote Music Jingles oferece vinhetas de vitória e derrota.</p>
<h3 id="pacote-gdc-da-sonniss" tabindex="-1">Pacote GDC da Sonniss <a class="header-anchor" href="#pacote-gdc-da-sonniss" aria-label="Permalink to &quot;Pacote GDC da Sonniss&quot;"></a></h3>
<p><strong>Ideal para:</strong> Efeitos sonoros com qualidade de estúdio em grande quantidade</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://sonniss.com/gameaudiogdc" target="_blank" rel="noreferrer">sonniss.com/gameaudiogdc</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Livre de royalties, uso comercial e projetos ilimitados por toda a vida</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>O pacote de 2026 tem mais de 7 GB; o acervo de vários anos soma mais de 200 GB</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>WAV (altas taxas de amostragem)</td>
</tr>
<tr>
<td><strong>Atribuição</strong></td>
<td>Nenhuma</td>
</tr>
</tbody>
</table>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Bibliotecas profissionais de design de som doadas por fornecedores comerciais</li>
<li>Um novo pacote é lançado todos os anos na época da GDC (o de 2026 chegou em março)</li>
<li>O acervo de pacotes anteriores continua disponível para download por tempo indeterminado</li>
</ul>
<p>Há uma restrição: o uso dos sons para treinamento de IA/aprendizado de máquina é expressamente proibido. Para reproduzi-los em um jogo, você pode usá-los sem problemas. Os arquivos são grandes, então planeje baixar o pacote, selecionar o que precisa e transcodificar para OGG antes de publicar.</p>
<h3 id="zapsplat" tabindex="-1">ZapSplat <a class="header-anchor" href="#zapsplat" aria-label="Permalink to &quot;ZapSplat&quot;"></a></h3>
<p><strong>Ideal para:</strong> Uma ampla biblioteca de efeitos sonoros cotidianos quando você pode incluir um crédito</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://www.zapsplat.com" target="_blank" rel="noreferrer">zapsplat.com</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Licença Padrão do ZapSplat (plano gratuito); alguns sons usam CC-BY</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Dezenas de milhares de efeitos sonoros em diversas categorias</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>MP3 no plano gratuito, WAV no plano Gold pago</td>
</tr>
<tr>
<td><strong>Atribuição</strong></td>
<td>Obrigatória no plano gratuito</td>
</tr>
</tbody>
</table>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Downloads gratuitos ilimitados para projetos pessoais e comerciais</li>
<li>A exigência de crédito é simples e jogos estão explicitamente contemplados</li>
<li>A assinatura Gold elimina a atribuição e mantém os sons licenciados por toda a vida</li>
</ul>
<p>O crédito obrigatório para um jogo é uma linha como &quot;Efeitos sonoros obtidos em zapsplat.com&quot; na tela de créditos ou na página do jogo. Os sons baixados durante uma assinatura Gold permanecem livres de atribuição para sempre, mesmo após o cancelamento.</p>
<h3 id="mixkit" tabindex="-1">Mixkit <a class="header-anchor" href="#mixkit" aria-label="Permalink to &quot;Mixkit&quot;"></a></h3>
<p><strong>Ideal para:</strong> Sons rápidos e bem produzidos para interfaces e jogos casuais, sem precisar criar uma conta</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://mixkit.co/free-sound-effects/" target="_blank" rel="noreferrer">mixkit.co</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Licença Gratuita de Efeitos Sonoros do Mixkit</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Categorias selecionadas de efeitos sonoros e músicas de acervo, incluindo uma seção exclusiva para jogos</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>MP3 e WAV</td>
</tr>
<tr>
<td><strong>Atribuição</strong></td>
<td>Nenhuma</td>
</tr>
</tbody>
</table>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Permite explicitamente o uso comercial, inclusive em videogames, sem atribuição</li>
<li>Não exige conta: basta baixar</li>
<li>Qualidade selecionada, reduzindo o tempo de busca em comparação com bibliotecas maiores</li>
</ul>
<p>As músicas e os efeitos sonoros do Mixkit usam licenças gratuitas distintas, então confira ambas caso use conteúdo dos dois catálogos. A seleção é menor que a do Freesound ou ZapSplat, mas tudo é limpo e pode ser usado como está.</p>
<h3 id="audios-do-opengameart" tabindex="-1">Áudios do OpenGameArt <a class="header-anchor" href="#audios-do-opengameart" aria-label="Permalink to &quot;Áudios do OpenGameArt&quot;"></a></h3>
<p><strong>Ideal para:</strong> Chiptune, música para RPG e efeitos sonoros retrô feitos por desenvolvedores de jogos para jogos</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://opengameart.org" target="_blank" rel="noreferrer">opengameart.org</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Conforme o item: CC0, CC-BY, OGA-BY ou GPL</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Milhares de faixas e pacotes de efeitos sonoros</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>OGG, WAV, MP3 e formatos de tracker</td>
</tr>
<tr>
<td><strong>Atribuição</strong></td>
<td>Nenhuma para CC0, obrigatória para CC-BY e OGA-BY</td>
</tr>
</tbody>
</table>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Músicas compostas especificamente para jogos, portanto as faixas funcionam em loop e combinam com os gêneros</li>
<li>Filtro de licença na pesquisa, facilitando a restrição a CC0</li>
<li>Coleções da comunidade reúnem os melhores áudios CC0 em um só lugar</li>
</ul>
<p>Duas observações sobre as licenças: OGA-BY é a licença de atribuição do próprio OpenGameArt, semelhante à CC-BY, mas mais adequada a jogos protegidos por DRM. Áudios sob GPL são juridicamente complicados em jogos de código fechado, então prefira as opções CC.</p>
<h3 id="pacotes-de-audio-do-itch-io" tabindex="-1">Pacotes de áudio do itch.io <a class="header-anchor" href="#pacotes-de-audio-do-itch-io" aria-label="Permalink to &quot;Pacotes de áudio do itch.io&quot;"></a></h3>
<p><strong>Ideal para:</strong> Pacotes temáticos com direção artística marcante</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://itch.io/game-assets/free/tag-audio" target="_blank" rel="noreferrer">itch.io/game-assets/free/tag-audio</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Conforme o pacote, definida por cada criador (muitos usam CC0 ou são livres de royalties)</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Mais de 980 pacotes gratuitos com a tag de áudio</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>WAV, OGG, MP3 (varia conforme o pacote)</td>
</tr>
<tr>
<td><strong>Atribuição</strong></td>
<td>Depende do pacote; leia cada página</td>
</tr>
</tbody>
</table>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Compositores independentes publicam pacotes completos adaptados a gêneros específicos (synthwave, RPG de fantasia, terror)</li>
<li>Muitos pacotes permitem pagar quanto quiser, então você pode baixá-los gratuitamente agora e contribuir depois</li>
<li>As páginas dos pacotes apresentam os termos em linguagem simples</li>
</ul>
<p>Não existe uma licença única para todo o itch.io; o criador define os termos de cada pacote, então leia a descrição antes de publicar. Os pacotes mais populares geralmente informam explicitamente que são &quot;gratuitos para uso comercial&quot;, e muitos são CC0.</p>
<h2 id="musica" tabindex="-1">Música <a class="header-anchor" href="#musica" aria-label="Permalink to &quot;Música&quot;"></a></h2>
<h3 id="incompetech-kevin-macleod" tabindex="-1">Incompetech (Kevin MacLeod) <a class="header-anchor" href="#incompetech-kevin-macleod" aria-label="Permalink to &quot;Incompetech (Kevin MacLeod)&quot;"></a></h3>
<p><strong>Ideal para:</strong> Faixas de fundo completas para praticamente todos os climas</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://incompetech.com" target="_blank" rel="noreferrer">incompetech.com</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>CC-BY 4.0; há uma licença paga sem atribuição disponível</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Mais de 2 mil faixas completas</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>MP3</td>
</tr>
<tr>
<td><strong>Atribuição</strong></td>
<td>Obrigatória; uma linha exata de crédito é fornecida para cada faixa</td>
</tr>
</tbody>
</table>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Um dos maiores catálogos gratuitos de música de um único compositor</li>
<li>Pesquisa por gênero, clima e andamento</li>
<li>A licença tem uma única regra clara, em vez de variar a cada faixa</li>
</ul>
<p>O crédito obrigatório é a linha completa: &quot;Music by Kevin MacLeod (incompetech.com), Licensed under Creative Commons: By Attribution 4.0&quot;. Se você não puder exibir créditos, uma licença sem atribuição custa a partir de US$ 30 para uma música e cai para US$ 20 por música na compra de três ou mais. Em 2026, continua gratuito com atribuição; nada mudou nesse aspecto.</p>
<h3 id="pixabay-music" tabindex="-1">Pixabay Music <a class="header-anchor" href="#pixabay-music" aria-label="Permalink to &quot;Pixabay Music&quot;"></a></h3>
<p><strong>Ideal para:</strong> Música de fundo adequada ao uso comercial e sem complicações</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://pixabay.com/music/" target="_blank" rel="noreferrer">pixabay.com/music</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Licença de Conteúdo do Pixabay (envios anteriores a 2019 são CC0)</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Grande catálogo pesquisável de faixas e loops</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>MP3</td>
</tr>
<tr>
<td><strong>Atribuição</strong></td>
<td>Nenhuma</td>
</tr>
</tbody>
</table>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Uso comercial sem atribuição e sem exigências complicadas de conta</li>
<li>Boa variedade de loops e bases de fundo de diferentes gêneros</li>
<li>Os efeitos sonoros ficam no mesmo site e usam a mesma licença</li>
</ul>
<p>A Licença de Conteúdo proíbe revender o arquivo isoladamente e usar conteúdos que exibam marcas comerciais ou logotipos para promover produtos, mas incorporar uma faixa ao jogo é exatamente o uso pretendido. Continua sendo a opção mais simples para quem quer &quot;apenas uma música&quot;.</p>
<h3 id="purple-planet" tabindex="-1">Purple Planet <a class="header-anchor" href="#purple-planet" aria-label="Permalink to &quot;Purple Planet&quot;"></a></h3>
<p><strong>Ideal para:</strong> Trilhas organizadas por clima com um crédito simples</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://www.purple-planet.com" target="_blank" rel="noreferrer">purple-planet.com</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Gratuita com atribuição; a licença paga elimina o crédito</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Faixas originais de Chris Martyn e Geoff Harvey, organizadas por clima</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>MP3 gratuitamente; arquivos de maior qualidade com licenças pagas</td>
</tr>
<tr>
<td><strong>Atribuição</strong></td>
<td>Obrigatória no plano gratuito: &quot;Music: <a href="https://www.purple-planet.com" target="_blank" rel="noreferrer">https://www.purple-planet.com</a>&quot;</td>
</tr>
</tbody>
</table>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Os termos permitem explicitamente jogos que você vende e distribui por conta própria</li>
<li>As faixas são agrupadas por emoção, agilizando a busca por uma trilha sonora</li>
<li>O crédito pode aparecer na tela de créditos ou na página do jogo na loja</li>
</ul>
<p>Usos comerciais mais amplos, como anúncios e transmissões, exigem uma das licenças pagas, que também eliminam a exigência de atribuição. Para um jogo independente típico, o plano gratuito com uma linha de crédito é suficiente.</p>
<h3 id="uppbeat" tabindex="-1">Uppbeat <a class="header-anchor" href="#uppbeat" aria-label="Permalink to &quot;Uppbeat&quot;"></a></h3>
<p><strong>Ideal para:</strong> Música para criadores de conteúdo, menos indicada para jogos publicados</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://uppbeat.io" target="_blank" rel="noreferrer">uppbeat.io</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Plano gratuito do Uppbeat, com código de crédito para cada download</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Catálogo moderno selecionado (25% disponível no plano gratuito)</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>MP3</td>
</tr>
<tr>
<td><strong>Atribuição</strong></td>
<td>Obrigatória no plano gratuito</td>
</tr>
</tbody>
</table>
<p>O plano gratuito agora oferece três downloads por mês, e a linguagem da licença se concentra em plataformas sociais, transmissões ao vivo, podcasts e sites, em vez de jogos para download. Portanto, leia os termos com atenção antes de montar uma trilha sonora com esse conteúdo. É uma ótima opção para o trailer e os diários de desenvolvimento do seu jogo. Para músicas incluídas em um jogo comercial, as fontes acima são mais seguras.</p>
<h3 id="free-music-archive" tabindex="-1">Free Music Archive <a class="header-anchor" href="#free-music-archive" aria-label="Permalink to &quot;Free Music Archive&quot;"></a></h3>
<p><strong>Ideal para:</strong> Explorar gêneros a fundo quando você está disposto a verificar cada licença</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://freemusicarchive.org" target="_blank" rel="noreferrer">freemusicarchive.org</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Conforme a faixa: CC0, CC-BY, CC-BY-SA e muitas variantes NC</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Enorme catálogo de artistas reais, abrangendo diversos gêneros</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>MP3</td>
</tr>
<tr>
<td><strong>Atribuição</strong></td>
<td>Depende da licença CC da faixa</td>
</tr>
</tbody>
</table>
<p>O FMA continua ativo em 2026 sob a administração da Tribe of Noise. O porém não mudou: muitas faixas são não comerciais ou compartilha-igual, então filtre por licença e leia a página da faixa antes de publicar. A divisão paga, Tribe of Noise PRO, licencia faixas para projetos comerciais, incluindo jogos, por cerca de 45 euros por música.</p>
<h3 id="jamendo" tabindex="-1">Jamendo <a class="header-anchor" href="#jamendo" aria-label="Permalink to &quot;Jamendo&quot;"></a></h3>
<p><strong>Ideal para:</strong> Descobrir músicas, não para uso comercial gratuito</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://www.jamendo.com" target="_blank" rel="noreferrer">jamendo.com</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>CC para uso pessoal; licença paga de sincronização para projetos comerciais</td>
</tr>
<tr>
<td><strong>Recursos</strong></td>
<td>Grande catálogo de artistas independentes</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>MP3</td>
</tr>
<tr>
<td><strong>Atribuição</strong></td>
<td>Não se aplica ao uso comercial (é necessária uma licença paga)</td>
</tr>
</tbody>
</table>
<p>O Jamendo confunde muita gente. Os downloads gratuitos são destinados ao uso pessoal, e a maioria das faixas utiliza termos CC não comerciais. Incluir uma faixa em um jogo vendido exige uma licença por faixa do Jamendo Licensing, o programa pago de sincronização da plataforma. Considere-o uma fonte paga com prévia gratuita, e não uma fonte gratuita.</p>
<h2 id="fique-atento-as-armadilhas-das-licencas" tabindex="-1">Fique atento às armadilhas das licenças <a class="header-anchor" href="#fique-atento-as-armadilhas-das-licencas" aria-label="Permalink to &quot;Fique atento às armadilhas das licenças&quot;"></a></h2>
<p>Algumas fontes populares não são seguras para jogos comerciais:</p>
<ul>
<li>O <strong>arquivo de efeitos sonoros da BBC</strong> é gratuito, mas sua licença RemArc permite apenas uso não comercial. Use-o em protótipos e projetos estudantis, não em jogos que você pretende vender.</li>
<li>Os <strong>downloads gratuitos do Jamendo</strong> são apenas para uso pessoal, como explicado acima. Para uso comercial, é necessário comprar uma licença de sincronização.</li>
<li>O <strong>plano gratuito do Uppbeat</strong> foi criado para conteúdo de redes sociais, não para jogos baixáveis, então não presuma que ele cobre seu projeto.</li>
<li>Os áudios do <strong>Internet Archive</strong> variam muito de um item para outro, e alguns foram enviados sem o consentimento do detentor dos direitos. Verifique o campo de direitos de cada item; esta é a fonte de maior risco da lista.</li>
</ul>
<h2 id="formatos-de-audio-para-jogos-web" tabindex="-1">Formatos de áudio para jogos web <a class="header-anchor" href="#formatos-de-audio-para-jogos-web" aria-label="Permalink to &quot;Formatos de áudio para jogos web&quot;"></a></h2>
<p>Se o seu jogo roda em um navegador, a escolha do formato afeta tanto o tamanho do arquivo quanto a capacidade de reproduzir loops corretamente.</p>
<table tabindex="0">
<thead>
<tr>
<th>Formato</th>
<th>Tamanho com boa qualidade</th>
<th>Compatibilidade com navegadores</th>
<th>Use para</th>
</tr>
</thead>
<tbody>
<tr>
<td>OGG Vorbis</td>
<td>Pequeno</td>
<td>Todos, Safari desde a versão 18.4 (2025)</td>
<td>Música e efeitos sonoros, sua opção padrão</td>
</tr>
<tr>
<td>MP3</td>
<td>Um pouco maior</td>
<td>Universal, incluindo versões antigas do Safari</td>
<td>Formato alternativo, sons sem repetição</td>
</tr>
<tr>
<td>Opus (WebM/OGG)</td>
<td>O menor</td>
<td>Navegadores modernos, compatibilidade recente no Safari</td>
<td>Músicas longas com taxas de bits baixas</td>
</tr>
<tr>
<td>WAV</td>
<td>Enorme</td>
<td>Universal</td>
<td>Apenas sons curtíssimos de interface, se necessário</td>
</tr>
</tbody>
</table>
<p>O Safari finalmente adicionou compatibilidade nativa com OGG Vorbis na versão 18.4, então, em 2026, você pode disponibilizar apenas OGG para a maioria dos públicos. Se suas análises mostrarem tráfego de versões antigas do iOS, ofereça MP3 como formato alternativo usando o padrão de múltiplas fontes do elemento <code>&lt;audio&gt;</code> ou uma biblioteca como Howler.js.</p>
<h3 id="como-repetir-musicas-sem-intervalos" tabindex="-1">Como repetir músicas sem intervalos <a class="header-anchor" href="#como-repetir-musicas-sem-intervalos" aria-label="Permalink to &quot;Como repetir músicas sem intervalos&quot;"></a></h3>
<p>MP3 é o formato errado para loops. O codificador adiciona alguns milissegundos de silêncio ao início e ao fim de cada arquivo, fazendo com que um loop em MP3 estale ou engasgue no ponto de emenda. Use OGG para qualquer áudio que se repita. Para loops com precisão de amostra, decodifique o arquivo com a Web Audio API (<code>decodeAudioData</code> em um <code>AudioBufferSourceNode</code> com <code>loop = true</code>), que o repete sem qualquer intervalo. Remova o silêncio das duas extremidades do arquivo e corte o loop no limite de um compasso musical para que a emenda seja imperceptível.</p>
<h3 id="como-normalizar-o-volume" tabindex="-1">Como normalizar o volume <a class="header-anchor" href="#como-normalizar-o-volume" aria-label="Permalink to &quot;Como normalizar o volume&quot;"></a></h3>
<p>Sons gratuitos vêm de diferentes fontes e apresentam níveis de volume muito distintos. Antes de publicar, abra tudo em um editor como o Audacity e normalize: músicas de fundo em torno de -14 a -16 LUFS e efeitos sonoros com picos um ou dois decibéis abaixo da escala máxima, para que vários sons tocando ao mesmo tempo não causem distorção. No código, encaminhe tudo por um único nó de ganho mestre para que um só controle de volume ajuste toda a mixagem.</p>
<h3 id="como-reduzir-o-peso-total-do-audio" tabindex="-1">Como reduzir o peso total do áudio <a class="header-anchor" href="#como-reduzir-o-peso-total-do-audio" aria-label="Permalink to &quot;Como reduzir o peso total do áudio&quot;"></a></h3>
<p>O áudio pode se tornar silenciosamente a parte mais pesada de um jogo para navegador. Codifique músicas em OGG de 96 a 128 kbps (os jogadores não perceberão a diferença durante a partida), exporte efeitos sonoros em mono e prefira um loop de 60 segundos a uma faixa de 4 minutos. Transmita músicas longas por um elemento <code>&lt;audio&gt;</code> em vez de decodificá-las na memória e reserve os buffers da Web Audio para efeitos sonoros curtos que exigem baixa latência. Todo o áudio de um jogo pequeno pode ficar confortavelmente abaixo de 5 MB.</p>
<h2 id="gere-audio-com-ia" tabindex="-1">Gere áudio com IA <a class="header-anchor" href="#gere-audio-com-ia" aria-label="Permalink to &quot;Gere áudio com IA&quot;"></a></h2>
<p>A outra maneira de obter áudio gratuito para jogos em 2026 é gerá-lo. Modelos abertos como Stable Audio Open e ACE-Step produzem efeitos sonoros e músicas com licenças adequadas para uso comercial, enquanto o ElevenLabs é a opção hospedada mais robusta, com direitos comerciais nos planos pagos. Nosso <a href="/pt-BR/guides/frontier-gen-ai-models.html">guia de modelos abertos de IA generativa</a> faz uma comparação entre eles.</p>
<p>Uma observação sobre licenciamento: segundo as orientações atuais do Escritório de Direitos Autorais dos EUA, áudios gerados puramente por IA não podem, por si só, receber proteção autoral. Portanto, ninguém pode reivindicar a propriedade dos efeitos sonoros que você gerar, mas você também não pode impedir que outras pessoas usem um resultado idêntico. Na prática, o que importa são os termos do provedor, então confirme que você tem direitos de uso comercial antes de publicar.</p>
<p>A Cinevva oferece as duas opções integradas e gratuitas para testar. <a href="/pt-BR/tools/sfx.html">Gere efeitos sonoros a partir de uma descrição em texto</a> (um disparo de laser, uma porta rangendo, o som de uma moeda sendo coletada) ou <a href="/pt-BR/tools/music.html">gere músicas originais</a>, com vocais e instrumentais para sua trilha sonora. E, se preferir usar sons gravados, o catálogo CC0 do Freesound está integrado à <a href="/pt-BR/assets.html?providers=freesound">busca de recursos da Cinevva</a>, permitindo pesquisar e adicionar diretamente ao jogo áudios seguros para uso comercial.</p>
<h2 id="referencia-rapida-de-licencas" tabindex="-1">Referência rápida de licenças <a class="header-anchor" href="#referencia-rapida-de-licencas" aria-label="Permalink to &quot;Referência rápida de licenças&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Fonte</th>
<th>Licença</th>
<th>Atribuição</th>
<th>Seguro para uso comercial</th>
</tr>
</thead>
<tbody>
<tr>
<td>Áudios da Kenney</td>
<td>CC0</td>
<td>Não</td>
<td>✅</td>
</tr>
<tr>
<td>Pixabay Music</td>
<td>Pixabay Content License</td>
<td>Não</td>
<td>✅</td>
</tr>
<tr>
<td>Sonniss GDC</td>
<td>Livre de royalties</td>
<td>Não</td>
<td>✅</td>
</tr>
<tr>
<td>Mixkit</td>
<td>Licença gratuita do Mixkit</td>
<td>Não</td>
<td>✅</td>
</tr>
<tr>
<td>Freesound</td>
<td>Por som (CC0/CC-BY/NC)</td>
<td>Depende</td>
<td>✅ (verifique cada um)</td>
</tr>
<tr>
<td>OpenGameArt</td>
<td>Por item (CC0/CC-BY/OGA-BY)</td>
<td>Depende</td>
<td>✅ (verifique cada um)</td>
</tr>
<tr>
<td>Pacotes do itch.io</td>
<td>Por pacote</td>
<td>Depende</td>
<td>✅ (verifique cada um)</td>
</tr>
<tr>
<td>Incompetech</td>
<td>CC-BY 4.0</td>
<td>Sim</td>
<td>✅</td>
</tr>
<tr>
<td>ZapSplat (gratuito)</td>
<td>Padrão</td>
<td>Sim</td>
<td>✅</td>
</tr>
<tr>
<td>Purple Planet (gratuito)</td>
<td>Licença com atribuição</td>
<td>Sim</td>
<td>✅</td>
</tr>
<tr>
<td>Uppbeat (gratuito)</td>
<td>Plano gratuito</td>
<td>Sim</td>
<td>Limitado</td>
</tr>
<tr>
<td>Free Music Archive</td>
<td>CC por faixa</td>
<td>Depende</td>
<td>⚠️ muitas faixas NC</td>
</tr>
<tr>
<td>Jamendo</td>
<td>CC para uso pessoal/sincronização paga</td>
<td>n/d</td>
<td>❌ sem licença paga</td>
</tr>
<tr>
<td>BBC Sound Effects</td>
<td>RemArc</td>
<td>n/d</td>
<td>❌ não comercial</td>
</tr>
<tr>
<td>Internet Archive</td>
<td>Varia</td>
<td>Varia</td>
<td>⚠️ verifique cada item</td>
</tr>
</tbody>
</table>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="onde-posso-encontrar-efeitos-sonoros-gratuitos-para-jogos" tabindex="-1">Onde posso encontrar efeitos sonoros gratuitos para jogos? <a class="header-anchor" href="#onde-posso-encontrar-efeitos-sonoros-gratuitos-para-jogos" aria-label="Permalink to &quot;Onde posso encontrar efeitos sonoros gratuitos para jogos?&quot;"></a></h3>
<p>O Freesound tem a maior biblioteca, com mais de 700 mil sons (as licenças variam por som; filtre por CC0), a Kenney oferece pacotes de áudio totalmente CC0 sem exigência de atribuição e o pacote Sonniss GDC fornece grandes quantidades de efeitos sonoros profissionais livres de royalties. Para jogos comerciais, prefira fontes CC0 ou claramente livres de royalties e verifique a licença de cada arquivo.</p>
<h3 id="qual-e-a-melhor-fonte-de-musica-gratuita-para-jogos" tabindex="-1">Qual é a melhor fonte de música gratuita para jogos? <a class="header-anchor" href="#qual-e-a-melhor-fonte-de-musica-gratuita-para-jogos" aria-label="Permalink to &quot;Qual é a melhor fonte de música gratuita para jogos?&quot;"></a></h3>
<p>Para músicas sem exigência de atribuição, o Pixabay Music é a opção mais simples e segura para uso comercial. O Incompetech oferece mais de 2 mil faixas sob CC-BY, desde que você inclua os créditos, e o OpenGameArt tem loops específicos para jogos sob CC0. O Free Music Archive oferece uma enorme variedade, mas as licenças são diferentes, então verifique cada faixa. Evite os downloads gratuitos do Jamendo em jogos comerciais, pois eles se destinam apenas ao uso pessoal.</p>
<h3 id="posso-usar-audios-do-freesound-em-um-jogo-comercial" tabindex="-1">Posso usar áudios do Freesound em um jogo comercial? <a class="header-anchor" href="#posso-usar-audios-do-freesound-em-um-jogo-comercial" aria-label="Permalink to &quot;Posso usar áudios do Freesound em um jogo comercial?&quot;"></a></h3>
<p>Sim, desde que a licença do som específico permita. Sons CC0 são totalmente seguros para uso comercial e não exigem créditos, sons CC-BY podem ser usados com atribuição e sons CC-BY-NC não podem ser usados em um jogo que você vende. A busca avançada do Freesound permite filtrar por licença; limite os resultados a CC0 e CC-BY para evitar problemas.</p>
<h3 id="preciso-dar-creditos-a-kenney" tabindex="-1">Preciso dar créditos à Kenney? <a class="header-anchor" href="#preciso-dar-creditos-a-kenney" aria-label="Permalink to &quot;Preciso dar créditos à Kenney?&quot;"></a></h3>
<p>Não. Todos os recursos da Kenney, incluindo todos os pacotes de áudio, são de domínio público sob CC0. Portanto, nenhuma atribuição é obrigatória, mesmo em jogos comerciais. A Kenney incentiva explicitamente o uso comercial. Incluir créditos ou fazer uma doação é um gesto gentil, não uma exigência legal.</p>
<h3 id="as-musicas-do-incompetech-ainda-sao-gratuitas" tabindex="-1">As músicas do Incompetech ainda são gratuitas? <a class="header-anchor" href="#as-musicas-do-incompetech-ainda-sao-gratuitas" aria-label="Permalink to &quot;As músicas do Incompetech ainda são gratuitas?&quot;"></a></h3>
<p>Sim. Em 2026, o catálogo de Kevin MacLeod, com mais de 2 mil faixas, continua gratuito sob CC-BY 4.0, desde que você inclua os créditos completos com o nome dele, o site e a licença. Se não puder exibir créditos, uma licença sem atribuição custa a partir de US$ 30 por música.</p>
<h3 id="preciso-dar-creditos-por-audios-gratuitos-usados-em-jogos" tabindex="-1">Preciso dar créditos por áudios gratuitos usados em jogos? <a class="header-anchor" href="#preciso-dar-creditos-por-audios-gratuitos-usados-em-jogos" aria-label="Permalink to &quot;Preciso dar créditos por áudios gratuitos usados em jogos?&quot;"></a></h3>
<p>Depende da licença. Áudios CC0, licenciados pelo Pixabay e do Mixkit não exigem créditos. CC-BY (como o Incompetech), o plano gratuito do ZapSplat e o Purple Planet exigem atribuição, geralmente uma linha na tela de créditos. CC-BY-NC e a licença RemArc da BBC proíbem totalmente o uso comercial. Prefira CC0 para não precisar gerenciar atribuições.</p>
<h3 id="qual-formato-de-audio-os-jogos-web-devem-usar" tabindex="-1">Qual formato de áudio os jogos web devem usar? <a class="header-anchor" href="#qual-formato-de-audio-os-jogos-web-devem-usar" aria-label="Permalink to &quot;Qual formato de áudio os jogos web devem usar?&quot;"></a></h3>
<p>OGG Vorbis. Ele é pequeno com boa qualidade, permite loops sem intervalos e agora funciona em todos os principais navegadores desde que o Safari adicionou suporte na versão 18.4. Mantenha MP3 como formato alternativo se precisar oferecer compatibilidade com dispositivos iOS antigos e evite MP3 para músicas em loop, pois o preenchimento do codificador prejudica o ponto de emenda.</p>
<h3 id="posso-usar-ia-para-gerar-sons-e-musicas-para-jogos" tabindex="-1">Posso usar IA para gerar sons e músicas para jogos? <a class="header-anchor" href="#posso-usar-ia-para-gerar-sons-e-musicas-para-jogos" aria-label="Permalink to &quot;Posso usar IA para gerar sons e músicas para jogos?&quot;"></a></h3>
<p>Sim. Modelos abertos como Stable Audio Open e ACE-Step geram áudio com licenças adequadas para uso comercial, e o ElevenLabs é uma opção hospedada robusta, com direitos comerciais nos planos pagos. As ferramentas gratuitas de <a href="/pt-BR/tools/sfx.html">efeitos sonoros</a> e <a href="/pt-BR/tools/music.html">música</a> da Cinevva geram áudio para jogos a partir de uma descrição em texto. Confirme os termos de direitos sobre os resultados do provedor antes de publicar qualquer conteúdo comercialmente.</p>
<BuildCta
  title="Adicione música e som automaticamente ao seu jogo"
  desc="A IA cria a trilha sonora do seu jogo enquanto o desenvolve."
  prompt="Crie um jogo clicker de ritmo com música animada e efeitos sonoros satisfatórios" />
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/game-assets-guide.html">Onde encontrar recursos gratuitos para jogos</a> — o guia completo de recursos</li>
<li><a href="/pt-BR/guides/free-3d-model-sites.html">Melhores sites de modelos 3D gratuitos para jogos</a> — a parte visual</li>
<li><a href="/pt-BR/guides/game-asset-licenses.html">Entenda as licenças de recursos para jogos</a> — CC0, CC-BY e livre de royalties</li>
<li><a href="/pt-BR/guides/frontier-gen-ai-models.html">Melhores modelos de IA generativa de código aberto para jogos</a> — geração de áudio com IA</li>
<li><a href="/pt-BR/guides/itch-io-launch-guide.html">Como lançar um jogo no itch.io</a> — publique usando esses pacotes de áudio</li>
<li><a href="/pt-BR/tutorials/tone-js-game-audio.html">Áudio para jogos com Tone.js</a> — reprodução de áudio no navegador</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/free-sound-effects-music-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Como Conseguir Mais Jogadas no itch.io (2026)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/get-more-plays-itch-io</link>
            <guid>https://app.cinevva.com/pt-BR/guides/get-more-plays-itch-io</guid>
            <pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Um guia prático de 2026 para conseguir mais jogadas e downloads no itch.io, abordando como a descoberta funciona, tags, uma versão web jogável, devlogs, game jams e tráfego externo.]]></description>
            <content:encoded><![CDATA[<h1 id="como-conseguir-mais-jogadas-no-itch-io-2026" tabindex="-1">Como Conseguir Mais Jogadas no itch.io (2026) <a class="header-anchor" href="#como-conseguir-mais-jogadas-no-itch-io-2026" aria-label="Permalink to &quot;Como Conseguir Mais Jogadas no itch.io (2026)&quot;"></a></h1>
<p><em>Última atualização: junho de 2026.</em></p>
<p>Publicar no itch.io é fácil. Fazer com que joguem é a parte difícil. O itch.io não entrega um público a você como um grande portal talvez faria, então as jogadas vêm de uma página bem-feita, uma versão web jogável, devlogs, jams e do tráfego que você mesmo atrai. Veja o que realmente faz diferença em 2026, com base em como a descoberta do itch.io de fato funciona.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/dSLhu2ufSvc" title="Como Conseguir Mais Visualizações e Downloads no Itch.io — Brani_Dev" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">Táticas práticas para conseguir mais visualizações e downloads no itch.io.</div>
<h2 id="como-a-descoberta-do-itch-io-realmente-funciona" tabindex="-1">Como a descoberta do itch.io realmente funciona <a class="header-anchor" href="#como-a-descoberta-do-itch-io-realmente-funciona" aria-label="Permalink to &quot;Como a descoberta do itch.io realmente funciona&quot;"></a></h2>
<p>Alguns fatos para orientar seus esforços:</p>
<ul>
<li>A classificação <strong>Popular</strong> usa um algoritmo opaco que combina a atividade histórica e a recente, dando mais peso à atividade recente. Os fatores confirmados são visualizações orgânicas, downloads e jogadas. Falsificar qualquer um deles faz seu jogo ser removido das listagens.</li>
<li><strong>Most Recent</strong> exibe seu jogo uma única vez, na primeira publicação; você não pode acionar essa exibição novamente republicando-o (o itch não altera sua data de publicação).</li>
<li>A <strong>página inicial tem curadoria humana</strong>, com jogos escolhidos manualmente pela equipe, e não por um algoritmo. Não há como manipular o sistema para aparecer nela, mas uma ótima página e uma tração real aumentam suas chances.</li>
<li>Para ser indexada, sua página precisa ser pública, ter uma imagem de capa e oferecer um jogo jogável ou para download. Páginas provisórias vazias não são indexadas, e novas contas de vendedores passam por uma breve fila de análise.</li>
</ul>
<p>A conclusão prática: o itch recompensa atividade real e concentrada no lançamento, além de uma página completa. Ele não recompensa truques.</p>
<h2 id="torne-o-jogo-executavel-no-navegador" tabindex="-1">Torne o jogo executável no navegador <a class="header-anchor" href="#torne-o-jogo-executavel-no-navegador" aria-label="Permalink to &quot;Torne o jogo executável no navegador&quot;"></a></h2>
<p>Essa é a ação mais eficaz que você pode realizar na página. Envie uma versão HTML5 (um ZIP com <code>index.html</code>) para que as pessoas possam jogar imediatamente, em vez de precisar fazer download. Jogos executáveis no navegador geram muito mais engajamento do que aqueles disponíveis apenas para download, pois não há atrito. O fundador do itch já destacou essa taxa de conversão muito maior, e dados de analistas indicam que jogos de navegador têm cerca de 3 vezes mais engajamento, muitas vezes convertendo aproximadamente metade de todas as visualizações da página em jogadas. Se sua engine consegue exportar para a web, faça isso.</p>
<h2 id="capriche-na-pagina" tabindex="-1">Capriche na página <a class="header-anchor" href="#capriche-na-pagina" aria-label="Permalink to &quot;Capriche na página&quot;"></a></h2>
<ul>
<li><strong>Imagem de capa:</strong> obrigatória, com tamanho recomendado de 630x500. É o elemento visual mais importante da sua página, e capas em GIF animado são aceitas e incentivadas. Comece com um movimento que mostre o principal atrativo do jogo.</li>
<li><strong>Capturas de tela e um trailer/GIF:</strong> o itch exibe vídeos incorporados (YouTube, Vimeo) acima das capturas de tela, algo especialmente recomendado para jogos. Mostre em vez de apenas descrever.</li>
<li><strong>Descrição curta:</strong> ela aparece em listagens por todo o site, então use uma chamada clara e específica.</li>
</ul>
<h2 id="tags-e-metadados" tabindex="-1">Tags e metadados <a class="header-anchor" href="#tags-e-metadados" aria-label="Permalink to &quot;Tags e metadados&quot;"></a></h2>
<p>Use as tags sugeridas em vez de inventar as suas, evite sinônimos e não exagere na quantidade de tags, pois isso pode remover seu jogo da navegação. Você pode usar até 10 tags, além de um gênero. Marque uma plataforma (Windows/Mac/Linux) somente se realmente tiver uma versão testada para ela; classificações incorretas fazem seu jogo ser removido das listagens.</p>
<h2 id="use-devlogs" tabindex="-1">Use devlogs <a class="header-anchor" href="#use-devlogs" aria-label="Permalink to &quot;Use devlogs&quot;"></a></h2>
<p>Publicar um devlog envia a postagem para os feeds de todos os seus seguidores e para o feed geral de devlogs do site, alcançando pessoas que ainda não seguem você. Os seguidores também recebem notificações quando você lança um novo projeto ou o coloca em promoção. Portanto, publicar devlogs aumenta seu número de seguidores, e essas pessoas serão notificadas no seu próximo lançamento. Trate os devlogs como uma ferramenta recorrente para gerar tráfego e construir público, não como algo secundário.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/l9TZl_0Gqe4" title="Por Que Seu Jogo no itch.io Recebe 0 Downloads (e Como Corrigir Isso) — KiriSoft Games" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">Motivos comuns pelos quais jogos no itch.io não recebem downloads e como corrigir esses problemas.</div>
<h2 id="participe-de-game-jams-o-verdadeiro-motor-de-descoberta" tabindex="-1">Participe de game jams (o verdadeiro motor de descoberta) <a class="header-anchor" href="#participe-de-game-jams-o-verdadeiro-motor-de-descoberta" aria-label="Permalink to &quot;Participe de game jams (o verdadeiro motor de descoberta)&quot;"></a></h2>
<p>As jams são a maior fonte de descoberta orgânica do itch.io, com centenas de milhares de jogos criados para elas. Uma jam oferece um público já formado, um prazo e um mecanismo de reciprocidade: se você avaliar e comentar outros jogos participantes (e também tiver enviado o seu), um link para seu jogo será adicionado automaticamente abaixo dos seus comentários, trazendo jogadas de volta para você. Grandes jams, como a GMTK, atraem dezenas de milhares de participantes. As jams não impulsionam magicamente o algoritmo da classificação Popular, mas colocam seu jogo diante de pessoas reais quando nada mais consegue fazer isso.</p>
<h2 id="defina-o-preco-para-maximizar-as-jogadas" tabindex="-1">Defina o preço para maximizar as jogadas <a class="header-anchor" href="#defina-o-preco-para-maximizar-as-jogadas" aria-label="Permalink to &quot;Defina o preço para maximizar as jogadas&quot;"></a></h2>
<p>O modelo de preços do itch é sempre “pague quanto quiser”: o preço definido é um valor mínimo, e os compradores podem pagar mais (cerca de 30% do dinheiro gasto corresponde a valores extras acima do mínimo). Para maximizar as jogadas, oferecer o jogo gratuitamente ou no modelo “pague quanto quiser” elimina todo o atrito e ainda permite que os fãs contribuam. Observe que jogos HTML5 só podem receber pagamentos na forma de doações. Evite promoções permanentes, pois o itch não as considera promoções legítimas e pode remover o jogo do índice.</p>
<h2 id="traga-seu-proprio-trafego-de-onde-vem-a-maioria-das-jogadas" tabindex="-1">Traga seu próprio tráfego (de onde vem a maioria das jogadas) <a class="header-anchor" href="#traga-seu-proprio-trafego-de-onde-vem-a-maioria-das-jogadas" aria-label="Permalink to &quot;Traga seu próprio tráfego (de onde vem a maioria das jogadas)&quot;"></a></h2>
<p>O itch alterna rapidamente os jogos em destaque e não mantém a descoberta como a Steam, então é do tráfego externo que vêm as jogadas de verdade:</p>
<ul>
<li><strong>Streamers e YouTubers</strong> são o canal com o maior retorno. Um único criador pode gerar mais instalações do que meses de outros esforços, e eles procuram ativamente demos gratuitas no itch.</li>
<li><strong>Vídeos curtos</strong> (TikTok, Reels, Shorts) com clipes reais de gameplay são atualmente um dos principais motores de viralização para jogos independentes.</li>
<li><strong>Reddit</strong> (r/IndieGaming, r/playmygame e comunidades semelhantes), respeitando a proporção aproximada de 9 publicações para a comunidade para cada autopromoção.</li>
<li><strong>Discord</strong> para encontrar testadores e aumentar a retenção, além da hashtag #screenshotsaturday no X com GIFs.</li>
</ul>
<p>Para conhecer a estratégia mais ampla sem orçamento, veja <a href="/pt-BR/guides/promote-indie-game-no-budget.html">como promover um jogo indie sem orçamento</a>.</p>
<h2 id="erros-comuns" tabindex="-1">Erros comuns <a class="header-anchor" href="#erros-comuns" aria-label="Permalink to &quot;Erros comuns&quot;"></a></h2>
<p>Oferecer apenas download quando uma versão web é possível, usar uma capa fraca ou não ter capa, não incluir trailer nem GIF, escrever descrições superficiais, usar tags inadequadas ou em excesso, publicar e depois desaparecer (sem devlogs), esperar que o algoritmo ou os destaques façam todo o trabalho, não oferecer uma demo e falsificar métricas (o que faz seu jogo ser removido das listagens). Corrija esses problemas primeiro; isso não custa nada.</p>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="como-conseguir-mais-jogadas-no-itch-io" tabindex="-1">Como conseguir mais jogadas no itch.io? <a class="header-anchor" href="#como-conseguir-mais-jogadas-no-itch-io" aria-label="Permalink to &quot;Como conseguir mais jogadas no itch.io?&quot;"></a></h3>
<p>Publique uma versão HTML5 executável no navegador (ela gera muito mais engajamento do que downloads), crie uma página atraente com capa animada e trailer, use as tags sugeridas com precisão, publique devlogs para alcançar seguidores, participe de game jams para aproveitar a descoberta integrada e atraia tráfego externo por meio de streamers, vídeos curtos e comunidades. O itch recompensa atividade real e uma página completa, não truques.</p>
<h3 id="o-itch-io-promove-seu-jogo-por-voce" tabindex="-1">O itch.io promove seu jogo por você? <a class="header-anchor" href="#o-itch-io-promove-seu-jogo-por-voce" aria-label="Permalink to &quot;O itch.io promove seu jogo por você?&quot;"></a></h3>
<p>Não muito. A página inicial tem curadoria manual da equipe, e a classificação Popular muda rapidamente com base em atividade recente e real. O itch oferece as ferramentas e um público inicial, mas a descoberta contínua vem do que você faz: uma versão jogável, devlogs, jams e o tráfego que você atrai de streamers, vídeos e comunidades.</p>
<h3 id="jogos-web-recebem-mais-jogadas-do-que-downloads-no-itch-io" tabindex="-1">Jogos web recebem mais jogadas do que downloads no itch.io? <a class="header-anchor" href="#jogos-web-recebem-mais-jogadas-do-que-downloads-no-itch-io" aria-label="Permalink to &quot;Jogos web recebem mais jogadas do que downloads no itch.io?&quot;"></a></h3>
<p>Sim, muito mais. Jogos executáveis no navegador eliminam o atrito do download, e os dados mostram cerca de 3 vezes mais engajamento do que jogos disponíveis apenas para download, com uma grande parcela das visualizações da página se convertendo em jogadas. Se sua engine exporta para HTML5, publicar uma versão web jogável é a melhor ação para conseguir mais jogadas.</p>
<h3 id="vale-a-pena-participar-de-game-jams-para-conseguir-jogadas" tabindex="-1">Vale a pena participar de game jams para conseguir jogadas? <a class="header-anchor" href="#vale-a-pena-participar-de-game-jams-para-conseguir-jogadas" aria-label="Permalink to &quot;Vale a pena participar de game jams para conseguir jogadas?&quot;"></a></h3>
<p>Muito. As jams são a maior fonte de descoberta orgânica do itch.io: elas oferecem um público já formado e um prazo, e avaliar outros jogos adiciona automaticamente um link para o seu, atraindo jogadas. Elas não impulsionam diretamente o algoritmo, mas colocam jogadores reais no seu jogo quando você ainda não tem público.</p>
<BuildCta
  title="Precisa primeiro de um jogo para promover?"
  desc="Crie algo curto e viciante e, depois, aplique esta estratégia."
  prompt="Crie um jogo curto e viciante de um único botão, com sensação de recorde global" />
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/itch-io-launch-guide.html">Como Lançar Seu Jogo no itch.io</a> — os fundamentos da configuração</li>
<li><a href="/pt-BR/guides/publish-web-game.html">Melhores Lugares para Publicar um Jogo Web em 2026</a> — itch.io versus os portais</li>
<li><a href="/pt-BR/guides/promote-indie-game-no-budget.html">Como Promover um Jogo Indie Sem Orçamento</a> — a estratégia mais ampla</li>
<li><a href="/pt-BR/guides/game-jams-hackathons.html">Game Jams e Hackathons</a> — como escolher de quais jams participar</li>
<li><a href="/pt-BR/guides/web-game-monetization.html">Monetização de Jogos Web: O Que os Dados Realmente Dizem</a> — como transformar essas jogadas em receita</li>
<li><a href="/pt-BR/guides/steam-next-fest-strategy.html">Estratégia para o Steam Next Fest</a> — caso você também leve o jogo para a Steam</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/get-more-plays-itch-io-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Como Criar um Jogo com IA em 2026 (Sem Precisar Programar)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/make-a-game-with-ai</link>
            <guid>https://app.cinevva.com/pt-BR/guides/make-a-game-with-ai</guid>
            <pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Um guia passo a passo de 2026 para criar um jogo com IA e sem programar, desde escrever seu primeiro prompt até gerar recursos, iterar e publicar um jogo jogável.]]></description>
            <content:encoded><![CDATA[<h1 id="como-criar-um-jogo-com-ia-em-2026-sem-precisar-programar" tabindex="-1">Como Criar um Jogo com IA em 2026 (Sem Precisar Programar) <a class="header-anchor" href="#como-criar-um-jogo-com-ia-em-2026-sem-precisar-programar" aria-label="Permalink to &quot;Como Criar um Jogo com IA em 2026 (Sem Precisar Programar)&quot;"></a></h1>
<p><em>Última atualização: junho de 2026.</em></p>
<p>Há alguns anos, criar um jogo significava aprender a usar uma engine, uma linguagem de programação e um pipeline de arte antes de ter algo jogável. Em 2026, você pode descrever um jogo em linguagem simples e ter uma versão funcional em minutos. Você ainda toma as decisões criativas, mas a IA cuida do trabalho repetitivo: movimentação, colisões, física, arte provisória e som.</p>
<p>Este guia explica todo o processo sem programação, desde o primeiro prompt até a publicação do jogo. Os exemplos usam um criador de jogos com IA baseado no navegador, mas o fluxo de trabalho se aplica à maioria das ferramentas que transformam prompts em jogos.</p>
<h2 id="o-que-voce-precisa" tabindex="-1">O que você precisa <a class="header-anchor" href="#o-que-voce-precisa" aria-label="Permalink to &quot;O que você precisa&quot;"></a></h2>
<p>Não é muita coisa. Um navegador, uma ideia e uma ferramenta. Você não precisa instalar uma engine, ter uma GPU nem criar arte. Se quiser escolher uma ferramenta primeiro, confira nossa <a href="/pt-BR/guides/ai-game-generators-2026.html">comparação de geradores de jogos com IA</a>; se quiser apenas começar, você pode <a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=make_game_with_ai">abrir um criador e digitar uma ideia</a> agora mesmo.</p>
<h2 id="etapa-1-comece-com-uma-ideia-clara-e-pequena" tabindex="-1">Etapa 1: Comece com uma ideia clara e pequena <a class="header-anchor" href="#etapa-1-comece-com-uma-ideia-clara-e-pequena" aria-label="Permalink to &quot;Etapa 1: Comece com uma ideia clara e pequena&quot;"></a></h2>
<p>O erro mais comum entre iniciantes é pedir “um RPG de mundo aberto com multijogador”. As ferramentas de IA produzem os melhores resultados a partir de um núcleo pequeno e específico, que você pode expandir depois. Defina três coisas:</p>
<ul>
<li><strong>O tipo de jogo.</strong> Plataforma, corrida, tiro, quebra-cabeça, sobrevivência ou simulador aconchegante.</li>
<li><strong>Algo que torne o jogo único.</strong> Um brilho, uma mudança nas regras ou uma ambientação.</li>
<li><strong>Um objetivo.</strong> O que o jogador está tentando fazer.</li>
</ul>
<p>“Um jogo de parkour em primeira pessoa por ilhas flutuantes, no qual você corre contra o tempo” é um prompt inicial muito melhor do que “uma aventura 3D divertida”. O primeiro dá à IA uma estrutura para construir; o segundo a obriga a adivinhar.</p>
<h2 id="etapa-2-escreva-seu-primeiro-prompt" tabindex="-1">Etapa 2: Escreva seu primeiro prompt <a class="header-anchor" href="#etapa-2-escreva-seu-primeiro-prompt" aria-label="Permalink to &quot;Etapa 2: Escreva seu primeiro prompt&quot;"></a></h2>
<p>Limite-se a uma ou duas frases. Você não está escrevendo uma especificação, mas iniciando uma conversa. Um bom primeiro prompt define o gênero, o objetivo e a sensação desejada:</p>
<blockquote>
<p>Crie um jogo de sobrevivência com zumbis e visão de cima, com uma lanterna que ilumina apenas um cone estreito, munição limitada e ondas que ficam cada vez mais difíceis.</p>
</blockquote>
<p>Depois, deixe a ferramenta criar. Você receberá uma primeira versão jogável, muitas vezes imperfeita, e é exatamente isso que você quer, porque o verdadeiro trabalho está na iteração. Se uma caixa em branco parecer intimidadora, comece com um <a href="/pt-BR/guides/vibe-coding-game-prompts.html">prompt pronto</a> e altere uma palavra.</p>
<h2 id="etapa-3-faca-iteracoes-conversando-com-a-ia" tabindex="-1">Etapa 3: Faça iterações conversando com a IA <a class="header-anchor" href="#etapa-3-faca-iteracoes-conversando-com-a-ia" aria-label="Permalink to &quot;Etapa 3: Faça iterações conversando com a IA&quot;"></a></h2>
<p>É aqui que os jogos realmente ganham forma. Jogue a primeira versão, identifique a coisa que mais incomoda e peça apenas essa alteração. Pedidos pequenos e específicos funcionam melhor do que pedidos grandes e vagos:</p>
<ul>
<li>“Faça o jogador se mover mais rápido e pular mais alto.”</li>
<li>“Os inimigos estão agressivos demais; deixe-os mais lentos e reduza a vida deles.”</li>
<li>“Adicione um contador de pontos no canto superior direito e uma tela de fim de jogo.”</li>
</ul>
<p>Altere uma coisa, jogue e repita. Se uma mudança piorar o jogo, peça para desfazê-la ou reverter à versão anterior. Encare o processo como direção, não como programação: você descreve o resultado desejado e avalia o que foi produzido.</p>
<h2 id="etapa-4-gere-os-recursos-necessarios" tabindex="-1">Etapa 4: Gere os recursos necessários <a class="header-anchor" href="#etapa-4-gere-os-recursos-necessarios" aria-label="Permalink to &quot;Etapa 4: Gere os recursos necessários&quot;"></a></h2>
<p>As ferramentas modernas de criação de jogos com IA geram arte e áudio sob demanda, então você não precisa ficar preso a blocos cinza. Dependendo da ferramenta, é possível pedir modelos 3D, texturas, sprites, músicas e efeitos sonoros ou usar bibliotecas integradas de recursos gratuitos. Peça elementos que combinem com a atmosfera: “dê ao jogador um modelo de robô low-poly”, “adicione uma música animada com sintetizadores”, “use um skybox de deserto”. Se a ferramenta tiver uma biblioteca de recursos CC0, essa será a fonte mais segura para tudo o que você pretende publicar. Nosso <a href="/pt-BR/guides/game-assets-guide.html">guia de recursos gratuitos para jogos</a> explica de onde eles vêm e como funcionam as licenças.</p>
<h2 id="etapa-5-aprimore-a-experiencia" tabindex="-1">Etapa 5: Aprimore a experiência <a class="header-anchor" href="#etapa-5-aprimore-a-experiencia" aria-label="Permalink to &quot;Etapa 5: Aprimore a experiência&quot;"></a></h2>
<p>A diferença entre uma demonstração técnica e um jogo está na experiência. Quando o loop principal estiver funcionando, concentre suas iterações no que os jogadores realmente percebem: controles responsivos, feedback claro quando algo acontece, um objetivo visível e condições de vitória ou derrota. Peça uma tela de título, um botão para reiniciar, sons para ações importantes e uma curva de dificuldade. São esses pequenos detalhes que fazem um jogo parecer finalizado.</p>
<h2 id="etapa-6-publique-e-compartilhe" tabindex="-1">Etapa 6: Publique e compartilhe <a class="header-anchor" href="#etapa-6-publique-e-compartilhe" aria-label="Permalink to &quot;Etapa 6: Publique e compartilhe&quot;"></a></h2>
<p>Quando estiver jogável, publique. Ferramentas baseadas no navegador fornecem um link compartilhável com apenas um clique, a forma mais rápida de obter feedback. Compartilhe com amigos, publique onde seu público costuma estar e observe em quais partes as pessoas ficam presas ou desistem. Esse feedback orientará sua próxima rodada de iterações. Se quiser ir além, nosso <a href="/pt-BR/guides/itch-io-launch-guide.html">guia de lançamento no itch.io</a> explica como distribuir um jogo para navegador a um público maior.</p>
<h2 id="dicas-para-criar-jogos-com-ia-de-forma-eficaz" tabindex="-1">Dicas para criar jogos com IA de forma eficaz <a class="header-anchor" href="#dicas-para-criar-jogos-com-ia-de-forma-eficaz" aria-label="Permalink to &quot;Dicas para criar jogos com IA de forma eficaz&quot;"></a></h2>
<ul>
<li><strong>Comece pequeno e depois cresça.</strong> Publique um jogo pequeno e completo antes de adicionar funcionalidades. Um jogo pequeno e finalizado é melhor do que um grande e inacabado.</li>
<li><strong>Uma alteração por vez.</strong> Pedidos com várias mudanças confundem a IA e dificultam saber o que funcionou.</li>
<li><strong>Descreva resultados, não a implementação.</strong> Diga “o pulo parece flutuante; deixe-o mais ágil”, e não “defina a gravidade como 20”.</li>
<li><strong>Mantenha uma versão que você sabe que funciona.</strong> Antes de uma grande alteração, registre que o estado atual funciona para poder voltar a ele.</li>
<li><strong>Use a IA para as partes tediosas.</strong> Deixe que ela cuide do trabalho repetitivo e das variações, para que você dedique seu tempo às decisões que tornam o jogo único.</li>
</ul>
<h2 id="no-que-a-ia-e-boa-e-no-que-nao-e" tabindex="-1">No que a IA é boa e no que não é <a class="header-anchor" href="#no-que-a-ia-e-boa-e-no-que-nao-e" aria-label="Permalink to &quot;No que a IA é boa e no que não é&quot;"></a></h2>
<p>A IA é realmente boa para levar você rapidamente do zero a um protótipo jogável, gerar recursos provisórios e até definitivos e cuidar da infraestrutura mecânica de um jogo. Ela é menos eficiente em projetos grandes e com muitos sistemas, balanceamento detalhado e tudo o que exige uma visão coerente de longo prazo — algo que ainda é responsabilidade sua. A expectativa realista para 2026 é: a IA transforma um fim de semana de preparação em uma tarde, e os resultados mais confiáveis se concentram em jogos pequenos e médios, não em projetos gigantescos.</p>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="posso-realmente-criar-um-jogo-sem-experiencia-em-programacao" tabindex="-1">Posso realmente criar um jogo sem experiência em programação? <a class="header-anchor" href="#posso-realmente-criar-um-jogo-sem-experiencia-em-programacao" aria-label="Permalink to &quot;Posso realmente criar um jogo sem experiência em programação?&quot;"></a></h3>
<p>Sim. Em 2026, as ferramentas que transformam prompts em jogos geram o código, a arte e a lógica a partir de descrições em linguagem simples. Assim, você pode criar e publicar um jogo jogável sem escrever nem ler código. Você dirige o jogo descrevendo o que deseja e refinando os resultados.</p>
<h3 id="quanto-tempo-leva-para-criar-um-jogo-com-ia" tabindex="-1">Quanto tempo leva para criar um jogo com IA? <a class="header-anchor" href="#quanto-tempo-leva-para-criar-um-jogo-com-ia" aria-label="Permalink to &quot;Quanto tempo leva para criar um jogo com IA?&quot;"></a></h3>
<p>Um jogo simples e jogável pode levar de alguns minutos a uma hora. Um jogo pequeno, mas bem-acabado, com arte, som, menus e uma curva de dificuldade, pode exigir de uma tarde a um fim de semana de iterações. Jogos maiores ou mais complexos ainda levam mais tempo, pois o trabalho passa da preparação para o design e o refinamento.</p>
<h3 id="que-tipos-de-jogos-a-ia-consegue-criar" tabindex="-1">Que tipos de jogos a IA consegue criar? <a class="header-anchor" href="#que-tipos-de-jogos-a-ia-consegue-criar" aria-label="Permalink to &quot;Que tipos de jogos a IA consegue criar?&quot;"></a></h3>
<p>A IA lida melhor com jogos pequenos e casuais: plataforma, corrida infinita, tiro arcade, quebra-cabeça, corrida, sobrevivência e simuladores aconchegantes. Ferramentas para navegador podem criar tanto jogos 2D quanto 3D, embora o 2D costume ser mais confiável. Jogos grandes e com muitos sistemas, como RPGs extensos ou títulos de estratégia, ainda são difíceis de gerar de forma consistente e exigem muita orientação humana.</p>
<h3 id="preciso-pagar-para-criar-um-jogo-com-ia" tabindex="-1">Preciso pagar para criar um jogo com IA? <a class="header-anchor" href="#preciso-pagar-para-criar-um-jogo-com-ia" aria-label="Permalink to &quot;Preciso pagar para criar um jogo com IA?&quot;"></a></h3>
<p>A maioria das ferramentas oferece um plano gratuito suficiente para criar e testar um jogo. Normalmente, você paga quando precisa de uma geração mais avançada, direitos comerciais ou exportação. Nossa <a href="/pt-BR/guides/ai-game-generators-2026.html">comparação de geradores de jogos com IA</a> apresenta os planos gratuitos e os preços lado a lado.</p>
<h3 id="posso-vender-um-jogo-que-criei-com-ia" tabindex="-1">Posso vender um jogo que criei com IA? <a class="header-anchor" href="#posso-vender-um-jogo-que-criei-com-ia" aria-label="Permalink to &quot;Posso vender um jogo que criei com IA?&quot;"></a></h3>
<p>Muitas vezes, sim, mas verifique duas coisas: os termos comerciais da ferramenta — algumas restringem o uso comercial a planos pagos — e a licença de qualquer recurso gerado ou importado. Muitas plataformas também exigem que você informe o uso de conteúdo gerado por IA. Para evitar problemas, use recursos CC0 e o plano comercial da ferramenta.</p>
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/ai-game-generators-2026.html">Melhores Geradores de Jogos com IA em 2026</a> — escolha primeiro a ferramenta certa</li>
<li><a href="/pt-BR/guides/3d-browser-game-without-coding.html">Como Criar um Jogo 3D para Navegador sem Programar</a> — o passo a passo específico para 3D</li>
<li><a href="/pt-BR/guides/vibe-coding-games.html">Vibe Coding de Jogos: O Que É e Como Começar</a> — a mentalidade por trás da criação orientada por prompts</li>
<li><a href="/pt-BR/guides/vibe-coding-game-prompts.html">Prompts de Jogos com IA que Você Pode Criar com um Clique</a> — pontos de partida</li>
<li><a href="/pt-BR/guides/game-assets-guide.html">Onde Encontrar Recursos Gratuitos para Jogos</a> — arte e áudio para o seu jogo</li>
<li><a href="/pt-BR/guides/itch-io-launch-guide.html">Como Lançar seu Jogo no itch.io</a> — conquiste jogadores</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/make-a-game-with-ai-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Como Criar um Jogo Multijogador para Navegador (2026)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/multiplayer-browser-game</link>
            <guid>https://app.cinevva.com/pt-BR/guides/multiplayer-browser-game</guid>
            <pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Como criar um jogo multijogador para navegador em 2026, desde WebSockets versus WebRTC até as melhores ferramentas (Colyseus, PartyKit, Playroom), fundamentos de netcode e uma stack para iniciantes.]]></description>
            <content:encoded><![CDATA[<h1 id="como-criar-um-jogo-multijogador-para-navegador-2026" tabindex="-1">Como Criar um Jogo Multijogador para Navegador (2026) <a class="header-anchor" href="#como-criar-um-jogo-multijogador-para-navegador-2026" aria-label="Permalink to &quot;Como Criar um Jogo Multijogador para Navegador (2026)&quot;"></a></h1>
<p><em>Última atualização: junho de 2026.</em></p>
<p>O multijogador é o recurso que faz um jogo pequeno se espalhar e, em 2026, você pode adicioná-lo a um jogo de navegador sem operar seu próprio data center. A parte difícil não é conectar os jogadores, mas manter o jogo sincronizado e justo. Este guia aborda as escolhas que realmente importam (transporte, modelo de servidor e netcode) e as ferramentas que tornam tudo isso administrável, além de apresentar uma stack inicial sensata.</p>
<p><strong>O padrão de 2026 para um jogo multijogador de navegador é usar WebSockets com um servidor autoritativo e um framework como Colyseus ou PartyKit para gerenciar salas e sincronização de estado, recorrendo ao WebRTC apenas quando conexões ponto a ponto forem realmente necessárias.</strong></p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/s4lcuCTO2K8" title="Configuração de servidor multijogador com Colyseus e Phaser 3 — ourcade" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">A ourcade mostra como criar um servidor multijogador com Colyseus e Phaser.</div>
<h2 id="primeiro-defina-o-escopo-com-honestidade" tabindex="-1">Primeiro, defina o escopo com honestidade <a class="header-anchor" href="#primeiro-defina-o-escopo-com-honestidade" aria-label="Permalink to &quot;Primeiro, defina o escopo com honestidade&quot;"></a></h2>
<p>A dificuldade do multijogador cresce muito de acordo com a velocidade e o nível de competitividade do jogo.</p>
<ul>
<li><strong>Fácil:</strong> jogos por turnos (cartas, jogos de tabuleiro), salas pequenas com 2 a 8 jogadores, cursores compartilhados, lobbies, bate-papo e cooperação casual. WebSockets simples ou uma ferramenta sem backend são suficientes.</li>
<li><strong>Difícil:</strong> ação rápida em tempo real (jogos de tiro, movimentação estilo .io), muitos jogadores simultâneos e qualquer experiência competitiva em que trapaças sejam relevantes. Esses jogos precisam de um servidor autoritativo, predição e netcode cuidadosamente desenvolvido.</li>
</ul>
<p>Comece pela categoria fácil. Um jogo funcional por turnos ou com salas pequenas ensina todo o fluxo antes que você enfrente os problemas mais difíceis.</p>
<h2 id="o-transporte-como-os-dados-trafegam" tabindex="-1">O transporte: como os dados trafegam <a class="header-anchor" href="#o-transporte-como-os-dados-trafegam" aria-label="Permalink to &quot;O transporte: como os dados trafegam&quot;"></a></h2>
<ul>
<li><strong>WebSockets</strong> são o padrão mais prático. São baseados em TCP, bidirecionais, maduros e compatíveis com todos os navegadores. A única fraqueza é o bloqueio de início de fila: um pacote perdido paralisa todos os que vêm depois dele, o que prejudica jogos de ação rápida. Para a maioria dos jogos, lance com WebSockets.</li>
<li><strong>WebRTC</strong> oferece canais de dados semelhantes a UDP (sem bloqueio de início de fila), adequados para ação rápida ou conexões ponto a ponto, mas sua configuração é muito mais complexa (sinalização, STUN/TURN). Use-o apenas quando precisar de P2P ou tiver que evitar um servidor de retransmissão.</li>
<li><strong>WebTransport</strong> é a opção mais recente (HTTP/3 + QUIC), com datagramas no estilo UDP. É para onde a tecnologia está caminhando, mas a compatibilidade dos navegadores ainda está se consolidando em 2026, portanto não é seguro usá-lo como único transporte para quem está começando e quer lançar um jogo hoje.</li>
</ul>
<p>Regra geral: WebSockets para lançar agora, WebTransport futuramente se necessário e WebRTC para P2P ou mídia.</p>
<h2 id="o-modelo-de-servidor-quem-decide-o-que-aconteceu" tabindex="-1">O modelo de servidor: quem decide o que aconteceu <a class="header-anchor" href="#o-modelo-de-servidor-quem-decide-o-que-aconteceu" aria-label="Permalink to &quot;O modelo de servidor: quem decide o que aconteceu&quot;"></a></h2>
<ul>
<li><strong>Servidor autoritativo:</strong> os clientes enviam comandos, o servidor executa a simulação e transmite o resultado. Esse é o padrão para qualquer experiência competitiva, pois o servidor funciona como uma barreira natural contra trapaças; você nunca confia no cliente.</li>
<li><strong>Ponto a ponto:</strong> custa menos para operar, mas é difícil impedir trapaças e a conectividade é frágil. É adequado para cooperação casual e lobbies pequenos entre jogadores de confiança.</li>
</ul>
<p>Mesmo em um jogo pequeno, um servidor autoritativo mantém sua &quot;fonte da verdade&quot; simples. A maioria das ferramentas abaixo usa esse modelo por padrão.</p>
<h2 id="fundamentos-de-netcode-somente-quando-forem-necessarios" tabindex="-1">Fundamentos de netcode (somente quando forem necessários) <a class="header-anchor" href="#fundamentos-de-netcode-somente-quando-forem-necessarios" aria-label="Permalink to &quot;Fundamentos de netcode (somente quando forem necessários)&quot;"></a></h2>
<p>Em jogos rápidos em tempo real, a simples sincronização do estado parece lenta. As soluções padrão, muito bem explicadas na série clássica de Gabriel Gambetta, são:</p>
<ul>
<li><strong>Predição no cliente:</strong> o cliente aplica o comando do jogador imediatamente, em vez de aguardar a comunicação de ida e volta com o servidor, fazendo com que o movimento pareça instantâneo.</li>
<li><strong>Reconciliação com o servidor:</strong> quando o estado autoritativo chega, o cliente reaplica os comandos pendentes para corrigir qualquer desvio.</li>
<li><strong>Interpolação de entidades:</strong> renderiza os outros jogadores ligeiramente no passado, entre estados conhecidos, para suavizar seus movimentos.</li>
<li><strong>Compensação de latência:</strong> o servidor volta ao ponto em que um alvo estava quando o disparo foi feito, para que os acertos sejam determinados de forma justa.</li>
</ul>
<p>Não implemente esses recursos logo no início. Adicione-os somente quando a movimentação realmente parecer ruim, o que não acontecerá em jogos por turnos ou de ritmo lento.</p>
<h2 id="o-cenario-de-ferramentas-em-2026" tabindex="-1">O cenário de ferramentas em 2026 <a class="header-anchor" href="#o-cenario-de-ferramentas-em-2026" aria-label="Permalink to &quot;O cenário de ferramentas em 2026&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Ferramenta</th>
<th>Para que serve</th>
<th>Código aberto</th>
<th>Hospedagem</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Socket.IO</strong></td>
<td>Biblioteca WebSocket; você escreve a lógica do jogo. Ótima para aprender e criar salas pequenas.</td>
<td>Sim (MIT)</td>
<td>Hospedagem própria</td>
</tr>
<tr>
<td><strong>Colyseus</strong></td>
<td>Framework de servidor autoritativo para jogos: salas, pareamento e sincronização automática de estado.</td>
<td>Sim (MIT)</td>
<td>Hospedagem própria gratuita; Cloud a partir de cerca de US$ 15/mês</td>
</tr>
<tr>
<td><strong>Playroom</strong></td>
<td>Salas acessíveis sem backend, presença e pareamento casual. O caminho mais rápido para jogos casuais.</td>
<td>SDK</td>
<td>Gerenciada</td>
</tr>
<tr>
<td><strong>PartyKit</strong></td>
<td>Salas em tempo real na rede de borda da Cloudflare (agora faz parte da Cloudflare).</td>
<td>Sim</td>
<td>Cobrança da Cloudflare baseada no uso</td>
</tr>
<tr>
<td><strong>Cloudflare Durable Objects</strong></td>
<td>O recurso de nível mais baixo, com estado por sala, no qual o PartyKit se baseia.</td>
<td>Plataforma</td>
<td>Cobrança da Cloudflare baseada no uso</td>
</tr>
<tr>
<td><strong>geckos.io</strong></td>
<td>Comunicação cliente/servidor semelhante a UDP sobre WebRTC, para jogos de ação rápida.</td>
<td>Sim</td>
<td>Hospedagem própria</td>
</tr>
<tr>
<td><strong>Nakama</strong></td>
<td>Backend completo de código aberto: tempo real, pareamento, placares e bate-papo.</td>
<td>Sim (Apache-2.0)</td>
<td>Hospedagem própria; nuvem gerenciada</td>
</tr>
<tr>
<td><strong>Photon</strong></td>
<td>Rede comercial madura em tempo real, voltada principalmente para Unity.</td>
<td>Não</td>
<td>100 usuários simultâneos grátis; planos pagos</td>
</tr>
<tr>
<td><strong>Supabase Realtime</strong></td>
<td>Transmissão + presença via WebSockets para sincronização leve e lobbies.</td>
<td>Sim</td>
<td>Incluída nos planos do Supabase</td>
</tr>
</tbody>
</table>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/DbaBeLDU-oY" title="Crie um aplicativo web multijogador em tempo real — CodeTV" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">A criação de uma experiência multijogador em tempo real usando PartyKit na rede de borda.</div>
<h2 id="uma-stack-recomendada-para-iniciantes" tabindex="-1">Uma stack recomendada para iniciantes <a class="header-anchor" href="#uma-stack-recomendada-para-iniciantes" aria-label="Permalink to &quot;Uma stack recomendada para iniciantes&quot;"></a></h2>
<p>Para um pequeno jogo de navegador em tempo real em 2026:</p>
<ul>
<li><strong>Transporte:</strong> WebSockets (compatibilidade para lançar agora).</li>
<li><strong>Modelo de servidor:</strong> autoritativo, mesmo para um jogo pequeno, para manter simples a prevenção de trapaças e a &quot;fonte da verdade&quot;.</li>
<li><strong>Framework:</strong> Colyseus. Ele usa a licença MIT, permite hospedagem própria gratuita e oferece salas, pareamento e sincronização automática de estado prontos para uso, além de uma nuvem gerenciada (a partir de cerca de US$ 15/mês) caso você prefira não operar servidores. Se quiser eliminar o backend em um jogo casual, Playroom é uma opção ainda mais rápida; se já usa a Cloudflare, PartyKit ou Durable Objects se integram naturalmente.</li>
<li><strong>Netcode:</strong> comece sem predição. Adicione predição e interpolação no estilo de Gambetta somente quando a movimentação parecer lenta.</li>
</ul>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="qual-e-a-maneira-mais-facil-de-criar-um-jogo-multijogador-para-navegador" tabindex="-1">Qual é a maneira mais fácil de criar um jogo multijogador para navegador? <a class="header-anchor" href="#qual-e-a-maneira-mais-facil-de-criar-um-jogo-multijogador-para-navegador" aria-label="Permalink to &quot;Qual é a maneira mais fácil de criar um jogo multijogador para navegador?&quot;"></a></h3>
<p>Comece com um jogo por turnos ou com salas pequenas usando WebSockets, por meio de um framework como Colyseus ou de uma ferramenta sem backend como Playroom. Essas soluções cuidam das salas, da entrada de jogadores e da sincronização de estado, permitindo que você lance um jogo multijogador funcional sem desenvolver netcode nem operar seus próprios servidores. Deixe a ação rápida em tempo real para depois de lançar algo mais simples.</p>
<h3 id="devo-usar-websockets-ou-webrtc-no-meu-jogo" tabindex="-1">Devo usar WebSockets ou WebRTC no meu jogo? <a class="header-anchor" href="#devo-usar-websockets-ou-webrtc-no-meu-jogo" aria-label="Permalink to &quot;Devo usar WebSockets ou WebRTC no meu jogo?&quot;"></a></h3>
<p>Use WebSockets para a maioria dos jogos: eles são simples, maduros e compatíveis com todos os navegadores. Use WebRTC somente se precisar de conexões ponto a ponto ou da menor latência possível para ação rápida, pois sua configuração é significativamente mais complexa. WebTransport é uma opção promissora para o futuro, mas sua compatibilidade com navegadores ainda está se consolidando em 2026.</p>
<h3 id="preciso-de-um-servidor-proprio-para-o-multijogador" tabindex="-1">Preciso de um servidor próprio para o multijogador? <a class="header-anchor" href="#preciso-de-um-servidor-proprio-para-o-multijogador" aria-label="Permalink to &quot;Preciso de um servidor próprio para o multijogador?&quot;"></a></h3>
<p>Não necessariamente. Ferramentas gerenciadas como Colyseus Cloud, Playroom, PartyKit e Photon hospedam a parte em tempo real para você. Também é possível hospedar frameworks de código aberto como Colyseus ou Nakama por conta própria, caso queira controle total. Para um jogo pequeno, um serviço gerenciado é o caminho mais rápido e, muitas vezes, gratuito ou barato no início.</p>
<h3 id="como-impedir-trapacas-em-um-jogo-multijogador" tabindex="-1">Como impedir trapaças em um jogo multijogador? <a class="header-anchor" href="#como-impedir-trapacas-em-um-jogo-multijogador" aria-label="Permalink to &quot;Como impedir trapaças em um jogo multijogador?&quot;"></a></h3>
<p>Use um servidor autoritativo: os clientes enviam apenas seus comandos, enquanto o servidor decide o que realmente acontece e valida tudo. Nunca confie ao cliente o resultado do jogo. É por isso que frameworks como Colyseus, Nakama e Photon usam por padrão um modelo autoritativo no servidor, especialmente em experiências competitivas.</p>
<BuildCta
  title="Comece pelo núcleo para um jogador"
  desc="Acerte a sensação do jogo contra bots antes de adicionar netcode."
  prompt="Crie um jogo de tiro em arena no qual eu enfrento ondas de bots controlados por IA" />
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/web-game-engines-comparison.html">Melhores engines de jogos web para 2026</a> — a engine na qual seu jogo multijogador será executado</li>
<li><a href="/pt-BR/guides/best-free-game-engines-beginners.html">Melhores engines de jogos gratuitas para iniciantes</a> — por onde começar</li>
<li><a href="/pt-BR/tutorials/websocket-multiplayer-basics.html">Fundamentos de multijogador com WebSockets</a> — uma introdução prática</li>
<li><a href="/pt-BR/guides/itch-io-launch-guide.html">Como lançar seu jogo no itch.io</a> — como publicar seu jogo multijogador</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/multiplayer-browser-game-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Phaser vs Defold: comparação dos melhores motores de jogos 2D para web (2026)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/phaser-vs-defold</link>
            <guid>https://app.cinevva.com/pt-BR/guides/phaser-vs-defold</guid>
            <pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Phaser vs Defold em 2026 para jogos 2D na web, comparados em tamanho da build, tempo de carregamento, linguagem, fluxo de trabalho e custo, para você escolher o motor 2D certo para o navegador.]]></description>
            <content:encoded><![CDATA[<h1 id="phaser-vs-defold-comparacao-dos-melhores-motores-de-jogos-2d-para-web-2026" tabindex="-1">Phaser vs Defold: comparação dos melhores motores de jogos 2D para web (2026) <a class="header-anchor" href="#phaser-vs-defold-comparacao-dos-melhores-motores-de-jogos-2d-para-web-2026" aria-label="Permalink to &quot;Phaser vs Defold: comparação dos melhores motores de jogos 2D para web (2026)&quot;"></a></h1>
<p><em>Última atualização: julho de 2026.</em></p>
<p>Para jogos 2D no navegador, dois motores se destacam por qualidades diferentes: o Phaser, framework HTML5 mais popular, e o Defold, motor que gera as menores builds para web e oferece o carregamento mais rápido. Eles atendem a perfis diferentes de desenvolvedores. Confira a comparação de 2026 para ajudar você a escolher.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/3nfs6MNTNDo" title="Comparação do motor de jogos Defold — GameFromScratch" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">O GameFromScratch coloca o Defold em uma comparação direta com outros motores.</div>
<h2 id="veredito-rapido" tabindex="-1">Veredito rápido <a class="header-anchor" href="#veredito-rapido" aria-label="Permalink to &quot;Veredito rápido&quot;"></a></h2>
<ul>
<li><strong>Menores builds para web, carregamento mais rápido e um editor completo e refinado:</strong> Defold.</li>
<li><strong>Maior comunidade, mais tutoriais e um framework JavaScript voltado a código:</strong> Phaser.</li>
</ul>
<p>Ambos são gratuitos. A verdadeira escolha envolve o fluxo de trabalho (editor visual ou framework de código), a linguagem (Lua ou JavaScript) e a importância do tempo de carregamento e da comunidade para você.</p>
<h2 id="comparacao" tabindex="-1">Comparação <a class="header-anchor" href="#comparacao" aria-label="Permalink to &quot;Comparação&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th>Phaser (4)</th>
<th>Defold</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Tipo</strong></td>
<td>Framework de jogos JS/TS</td>
<td>Motor completo + editor</td>
</tr>
<tr>
<td><strong>Linguagem</strong></td>
<td>JavaScript / TypeScript</td>
<td>Lua</td>
</tr>
<tr>
<td><strong>Tecnologia web</strong></td>
<td>WebGL2 / Canvas</td>
<td>WebAssembly + WebGL</td>
</tr>
<tr>
<td><strong>Tamanho da build vazia</strong></td>
<td>~500 KB (framework)</td>
<td>~1,14 MB (build completa)</td>
</tr>
<tr>
<td><strong>Editor</strong></td>
<td>Use o de sua preferência (código)</td>
<td>Integrado e completo</td>
</tr>
<tr>
<td><strong>Comunidade</strong></td>
<td>A maior entre os jogos HTML5</td>
<td>Menor, mas ativa</td>
</tr>
<tr>
<td><strong>Publicação</strong></td>
<td>Manual / por conta própria</td>
<td>Integrada (Poki e outras)</td>
</tr>
<tr>
<td><strong>Licença / custo</strong></td>
<td>Grátis (MIT)</td>
<td>Grátis, sem royalties</td>
</tr>
<tr>
<td><strong>3D</strong></td>
<td>Não (2D)</td>
<td>Principalmente 2D, adicionando 3D</td>
</tr>
</tbody>
</table>
<h2 id="phaser-4" tabindex="-1">Phaser 4 <a class="header-anchor" href="#phaser-4" aria-label="Permalink to &quot;Phaser 4&quot;"></a></h2>
<p>O Phaser é o framework de jogos HTML5 mais popular, e a versão estável 4.0 foi lançada em abril de 2026 (com atualizações pontuais, como a 4.2, chegando logo depois). Ele traz uma reescrita completa do renderizador WebGL2, com uma nova arquitetura baseada em nós, mantendo a conhecida API da v3. Você programa em JavaScript ou TypeScript e recebe, de fábrica, recursos de física, entrada, áudio, cenas e carregamento de assets. O framework em si é pequeno (~500 KB), embora o tamanho final dependa dos seus assets. As grandes vantagens são a enorme comunidade, a quantidade de tutoriais e exemplos e o fato de você escrever código web padrão sobre o qual tem controle total. Vale observar que o Phaser 4 é um motor WebGL2, não WebGPU; o WebGPU é uma base para o futuro, não um recurso disponível na versão atual.</p>
<h2 id="defold" tabindex="-1">Defold <a class="header-anchor" href="#defold" aria-label="Permalink to &quot;Defold&quot;"></a></h2>
<p>O Defold, criado originalmente pela King (Candy Crush), foi desenvolvido para jogos web pequenos e de carregamento rápido. Sua build HTML5 vazia tem cerca de 1,14 MB e usa WebAssembly por padrão, o que o torna um dos motores com carregamento mais rápido em estudos sobre os principais jogos web. Ele vem como um pacote completo: editor integrado, ferramentas de cena e publicação com um clique em plataformas como a Poki. A versão estável mais recente é a 1.13.0 (junho de 2026), que removeu o destino legado asm.js, fazendo com que as builds web usem apenas Wasm. Além disso, ele é gratuito e não cobra royalties. As desvantagens são uma comunidade menor que a do Phaser e a curva de aprendizado da programação em Lua e do modelo de componentes do Defold. Ele é principalmente um motor 2D, embora esteja adicionando ativamente recursos 3D.</p>
<h2 id="como-escolher" tabindex="-1">Como escolher <a class="header-anchor" href="#como-escolher" aria-label="Permalink to &quot;Como escolher&quot;"></a></h2>
<p>Se você já conhece JavaScript, quer o maior acervo de tutoriais e ajuda e gosta de montar seu próprio conjunto de ferramentas, escolha o Phaser. Se você quer as menores builds, o carregamento mais rápido, um editor completo e refinado e publicação integrada — e não se importa em aprender Lua —, escolha o Defold. Para jogos web mobile em que o tempo de carregamento é crucial, o Defold tem uma vantagem real; para aprendizado e suporte da comunidade, o Phaser é difícil de superar.</p>
<p>Quer conhecer mais opções, incluindo PixiJS, Construct e GDevelop? Veja nossos <a href="/pt-BR/guides/best-2d-game-engines-2026.html">melhores motores de jogos 2D para 2026</a>.</p>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="phaser-ou-defold-e-melhor-para-jogos-2d-na-web" tabindex="-1">Phaser ou Defold é melhor para jogos 2D na web? <a class="header-anchor" href="#phaser-ou-defold-e-melhor-para-jogos-2d-na-web" aria-label="Permalink to &quot;Phaser ou Defold é melhor para jogos 2D na web?&quot;"></a></h3>
<p>Ambos são excelentes, mas atendem a perfis diferentes de desenvolvedores. O Phaser é um framework JavaScript voltado a código, com a maior comunidade e a maior quantidade de material de aprendizado. O Defold é um motor completo, com editor integrado e as menores builds para web, além do carregamento mais rápido. Escolha o Phaser pela comunidade e pelo JavaScript; escolha o Defold pelo tempo de carregamento e pelo fluxo de trabalho completo.</p>
<h3 id="qual-deles-gera-builds-menores-e-com-carregamento-mais-rapido" tabindex="-1">Qual deles gera builds menores e com carregamento mais rápido? <a class="header-anchor" href="#qual-deles-gera-builds-menores-e-com-carregamento-mais-rapido" aria-label="Permalink to &quot;Qual deles gera builds menores e com carregamento mais rápido?&quot;"></a></h3>
<p>O Defold. Sua build HTML5 vazia tem cerca de 1,14 MB e usa WebAssembly, tornando-o um dos motores com carregamento mais rápido para jogos web. O framework do Phaser tem cerca de 500 KB, mas ele é um framework, não uma build completa, e o tamanho real depende muito dos seus próprios assets. Para jogos sensíveis ao tempo de carregamento, o Defold leva vantagem.</p>
<h3 id="phaser-e-defold-oferecem-suporte-a-webgpu" tabindex="-1">Phaser e Defold oferecem suporte a WebGPU? <a class="header-anchor" href="#phaser-e-defold-oferecem-suporte-a-webgpu" aria-label="Permalink to &quot;Phaser e Defold oferecem suporte a WebGPU?&quot;"></a></h3>
<p>Não como recurso disponível nas versões de 2026. O Phaser 4 é uma reescrita em WebGL2, e o WebGPU serve apenas como base para o futuro. O backend HTML5 do Defold usa WebGL, com trabalhos experimentais em WebGPU. Para jogos 2D, isso raramente importa; o WebGL2 é mais do que suficiente para a renderização 2D típica.</p>
<h3 id="phaser-e-defold-sao-gratuitos-para-jogos-comerciais" tabindex="-1">Phaser e Defold são gratuitos para jogos comerciais? <a class="header-anchor" href="#phaser-e-defold-sao-gratuitos-para-jogos-comerciais" aria-label="Permalink to &quot;Phaser e Defold são gratuitos para jogos comerciais?&quot;"></a></h3>
<p>Sim. O Phaser é gratuito sob a licença MIT, e o Defold é gratuito e de código aberto, sem royalties nem limites de receita. Nenhum deles cobra para você lançar um jogo comercial, embora o Phaser venda separadamente um editor opcional.</p>
<BuildCta
  title="Teste sua ideia de jogo 2D antes de se comprometer"
  desc="Um prompt, um protótipo jogável, nenhuma configuração repetitiva."
  prompt="Crie um jogo de tiro espacial 2D com ondas de inimigos e melhorias" />
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/best-2d-game-engines-2026.html">Melhores motores de jogos 2D para 2026</a> — todas as principais opções para 2D</li>
<li><a href="/pt-BR/guides/web-game-engines-comparison.html">Melhores motores de jogos web para 2026</a> — 2D e 3D juntos</li>
<li><a href="/pt-BR/guides/best-free-game-engines-beginners.html">Melhores motores de jogos gratuitos para iniciantes</a> — por onde começar</li>
<li><a href="/pt-BR/guides/itch-io-launch-guide.html">Como lançar seu jogo no itch.io</a> — como publicar um jogo 2D finalizado</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/phaser-vs-defold-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Como divulgar um jogo indie sem orçamento (2026)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/promote-indie-game-no-budget</link>
            <guid>https://app.cinevva.com/pt-BR/guides/promote-indie-game-no-budget</guid>
            <pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Um guia prático de 2026 para divulgar um jogo indie sem orçamento, desde listas de desejos e uma página na Steam até vídeos curtos, devlogs, comunidades e contato com streamers.]]></description>
            <content:encoded><![CDATA[<h1 id="como-divulgar-um-jogo-indie-sem-orcamento-2026" tabindex="-1">Como divulgar um jogo indie sem orçamento (2026) <a class="header-anchor" href="#como-divulgar-um-jogo-indie-sem-orcamento-2026" aria-label="Permalink to &quot;Como divulgar um jogo indie sem orçamento (2026)&quot;"></a></h1>
<p><em>Última atualização: junho de 2026.</em></p>
<p>Você não precisa investir em anúncios para divulgar um jogo. Precisa de tempo, um diferencial claro e começar cedo. A dura verdade em 2026 é que o problema está na descoberta, não na demanda: cerca de 19 mil jogos foram lançados na Steam em 2024, e a maioria nunca alcançou vendas significativas. A boa notícia é que os canais que funcionam para jogos indie são, em sua maioria, gratuitos. Veja como usá-los.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/kpb2Ab8x7Zg" title="Por que as listas de desejos são tão importantes para desenvolvedores indie? (com Chris Zukowski)" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">Por que as listas de desejos são importantes, com o especialista em marketing Chris Zukowski.</div>
<h2 id="comece-pela-pagina-da-steam-se-voce-estiver-na-steam" tabindex="-1">Comece pela página da Steam (se você estiver na Steam) <a class="header-anchor" href="#comece-pela-pagina-da-steam-se-voce-estiver-na-steam" aria-label="Permalink to &quot;Comece pela página da Steam (se você estiver na Steam)&quot;"></a></h2>
<p>Se o seu jogo vai passar pela Steam, a ação gratuita mais valiosa que você pode realizar é publicar cedo uma página marcada como &quot;Em breve&quot;. Jogos que publicaram a página seis meses ou mais antes do lançamento tiveram muito mais vendas do que aqueles que esperaram até o último mês. As listas de desejos não expiram, então a página deve entrar no ar assim que você tiver algumas capturas de tela e um clipe curto.</p>
<p>O que as listas de desejos realmente fazem: cada pessoa que adicionou o jogo recebe uma notificação no lançamento e durante promoções, transformando esse público acumulado em um pico de vendas no primeiro dia. Elas também impulsionam a seção &quot;Próximos lançamentos populares&quot; na última semana. Um patamar mínimo aproximado para um lançamento viável é de cerca de 7 mil adições à lista de desejos; esse não é um número mágico, apenas indica que você está entre os principais lançamentos daquela semana. Preencha corretamente a página da loja também: tags precisas (a Steam usa essas tags para categorizar jogos) e suporte a mais idiomas aumentam a frequência com que a Steam exibe seu jogo.</p>
<h3 id="o-ciclo-da-demo-no-steam-vem-ai" tabindex="-1">O ciclo da demo no Steam Vem Aí <a class="header-anchor" href="#o-ciclo-da-demo-no-steam-vem-ai" aria-label="Permalink to &quot;O ciclo da demo no Steam Vem Aí&quot;"></a></h3>
<p>O Steam Vem Aí é o maior evento gratuito para conquistar adições à lista de desejos, mas ele amplia um público existente em vez de criar um. A quantidade de adições conquistadas cresce bastante de acordo com o número que você já tem ao entrar no evento. Portanto, forme um público antes do festival e aproveite o impulso. Uma boa taxa de conversão da demo em adições à lista de desejos fica em torno de 16% a 20%.</p>
<h2 id="crie-um-jogo-que-divulgue-a-si-mesmo" tabindex="-1">Crie um jogo que divulgue a si mesmo <a class="header-anchor" href="#crie-um-jogo-que-divulgue-a-si-mesmo" aria-label="Permalink to &quot;Crie um jogo que divulgue a si mesmo&quot;"></a></h2>
<p>A maior decisão de marketing acontece antes de qualquer divulgação: o gênero e o conceito do seu jogo. Um jogo com um conceito marcante chama atenção desde a primeira captura de tela e precisa de apenas uma ou duas frases para despertar interesse. Se você não conseguir mostrar por que seu jogo é interessante nos primeiros segundos de um clipe, o público simplesmente continuará rolando a tela. Portanto, comece pelo diferencial: trailers e clipes devem chegar à parte interessante nos primeiros segundos e apresentar primeiro o gênero, depois o diferencial e, por fim, o conteúdo, em vez de uma lista de recursos.</p>
<h2 id="os-canais-gratuitos-que-funcionam-em-2026" tabindex="-1">Os canais gratuitos que funcionam em 2026 <a class="header-anchor" href="#os-canais-gratuitos-que-funcionam-em-2026" aria-label="Permalink to &quot;Os canais gratuitos que funcionam em 2026&quot;"></a></h2>
<ul>
<li><strong>Vídeos curtos</strong> (TikTok, Reels, YouTube Shorts) são o canal gratuito com o maior potencial de alcance, pois o algoritmo mostra clipes a pessoas que não seguem você, ao contrário do X, onde o alcance orgânico diminuiu. Um clipe pode ter um desempenho muito superior ao de um post no X. Mas é importante fazer uma ressalva: ficou mais difícil obter alcance orgânico com vídeos curtos em 2025 e 2026. Portanto, publique com consistência e considere o YouTube Shorts uma opção estável que também gera bons cliques.</li>
<li><strong>Devlogs, trailers, GIFs e arte de cápsula:</strong> a exposição repetida cria a familiaridade que se transforma em adições à lista de desejos, e a publicação constante de clipes também funciona como um teste gratuito para descobrir quais diferenciais despertam interesse.</li>
<li><strong>Reddit:</strong> publique em subreddits relevantes (r/IndieGaming, r/IndieDev, r/indiegames, r/playmygame e também os de nicho) e respeite a regra aproximada de 10 para 1: apenas cerca de uma em cada dez publicações deve promover diretamente seu jogo. Autopromoção excessiva pode resultar em banimento.</li>
<li><strong>Discord:</strong> um servidor mantém os jogadores interessados engajados, ajuda você a encontrar pessoas para testar o jogo e cria o núcleo da comunidade que estará presente no lançamento.</li>
</ul>
<h2 id="imprensa-e-streamers-sem-orcamento" tabindex="-1">Imprensa e streamers sem orçamento <a class="header-anchor" href="#imprensa-e-streamers-sem-orcamento" aria-label="Permalink to &quot;Imprensa e streamers sem orçamento&quot;"></a></h2>
<p>Streamers e YouTubers agora impulsionam a descoberta de jogos indie de forma mais confiável do que a imprensa tradicional, e alguns criadores certos podem superar todo o seu contato com a imprensa. Eles procuram ativamente demos gratuitas. Uma boa escolha de público vale mais do que o alcance: selecione criadores cuja audiência combine com o gênero do seu jogo e explique por que você os escolheu.</p>
<p>Para a imprensa, mantenha as mensagens curtas (a maioria dos jornalistas prefere menos de 200 palavras), inclua o diferencial, o gênero, um link para o kit de imprensa, o trailer e uma chave, além de personalizar a mensagem. Publique um kit de imprensa de uma página com uma ficha informativa, capturas de tela em alta resolução, um trailer e logotipos. Cada obstáculo removido aumenta suas chances. Envie cópias para análise cerca de duas semanas antes do lançamento e forneça chaves aos streamers aproximadamente uma semana antes. O maior erro nesse contato é ficar em silêncio depois que alguém demonstra interesse e perder a oportunidade.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/gQBdIGaZROE" title="Como NÃO estragar o lançamento do seu jogo indie. 30 erros em 30 minutos." frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">Erros comuns que você deve evitar no lançamento de um jogo indie.</div>
<h2 id="expectativas-realistas" tabindex="-1">Expectativas realistas <a class="header-anchor" href="#expectativas-realistas" aria-label="Permalink to &quot;Expectativas realistas&quot;"></a></h2>
<p>O cenário de referência é desanimador: a receita bruta mediana de um jogo lançado na Steam em 2024 foi de apenas algumas centenas de dólares, e a maior parte da receita fica concentrada nos vencedores. Mas esse é um problema de descoberta, não de demanda: jogos indie já representam cerca de metade da receita e das cópias vendidas na Steam. O público é enorme; seu trabalho é garantir que ele consiga encontrar seu jogo. O maior erro é desenvolver em silêncio e começar a divulgação apenas na última semana. O silêncio total é mais perigoso do que mostrar um jogo imperfeito.</p>
<p>Se o seu jogo roda em um navegador, publicá-lo gratuitamente em portais como Poki e CrazyGames já é, por si só, uma estratégia de marketing sem orçamento, pois essas plataformas trazem jogadores que você teria de pagar para alcançar de outra forma. Publicar seu jogo em um portal coloca-o diante de um público que já está ali procurando algo para jogar, gerando distribuição e tráfego sem gastar um único centavo com anúncios. Consulte <a href="/pt-BR/guides/publish-web-game.html">onde publicar um jogo para navegador</a> para conhecer as vantagens e desvantagens de cada plataforma e <a href="/pt-BR/guides/web-game-monetization.html">monetização de jogos para navegador</a> para descobrir quanto esse alcance realmente pode render.</p>
<h2 id="um-cronograma-sem-orcamento" tabindex="-1">Um cronograma sem orçamento <a class="header-anchor" href="#um-cronograma-sem-orcamento" aria-label="Permalink to &quot;Um cronograma sem orçamento&quot;"></a></h2>
<ul>
<li><strong>6 a 12 meses antes:</strong> publique a página &quot;Em breve&quot; na Steam, comece a postar clipes e devlogs e crie uma comunidade no Discord.</li>
<li><strong>3 a 6 meses antes:</strong> publique vídeos curtos com consistência, conquiste adições à lista de desejos e prepare-se para o Steam Vem Aí.</li>
<li><strong>4 a 6 semanas antes:</strong> entre em contato com a imprensa e criadores e finalize o trailer e o kit de imprensa.</li>
<li><strong>Semana do lançamento:</strong> coordene as publicações no Reddit, nas redes sociais e na imprensa para a mesma manhã; entregue chaves aos streamers uma semana antes.</li>
</ul>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="como-divulgar-um-jogo-indie-sem-dinheiro" tabindex="-1">Como divulgar um jogo indie sem dinheiro? <a class="header-anchor" href="#como-divulgar-um-jogo-indie-sem-dinheiro" aria-label="Permalink to &quot;Como divulgar um jogo indie sem dinheiro?&quot;"></a></h3>
<p>Comece cedo e aproveite os canais gratuitos: publique uma página na Steam com meses de antecedência para acumular adições à lista de desejos, poste vídeos curtos que mostrem o diferencial do jogo, escreva devlogs, compartilhe o projeto em comunidades relevantes no Reddit e no Discord e entre em contato com streamers e veículos menores. O segredo é ter consistência ao longo do tempo e um diferencial claro e rapidamente compreensível, não um orçamento de marketing.</p>
<h3 id="quantas-adicoes-a-lista-de-desejos-preciso-ter-antes-de-lancar-na-steam" tabindex="-1">Quantas adições à lista de desejos preciso ter antes de lançar na Steam? <a class="header-anchor" href="#quantas-adicoes-a-lista-de-desejos-preciso-ter-antes-de-lancar-na-steam" aria-label="Permalink to &quot;Quantas adições à lista de desejos preciso ter antes de lançar na Steam?&quot;"></a></h3>
<p>Não existe um número mágico, mas um patamar mínimo aproximado é de 7 mil, enquanto 7 mil a 10 mil adições podem dar a você uma chance de aparecer na seção &quot;Próximos lançamentos populares&quot;. Quanto mais, melhor, pois as listas de desejos se convertem em vendas no dia do lançamento por meio das notificações. O mais importante é estar entre os principais lançamentos daquela semana, algo que depende principalmente de publicar sua página e começar a divulgação cedo.</p>
<h3 id="qual-e-o-melhor-canal-gratuito-para-divulgar-jogos-indie-em-2026" tabindex="-1">Qual é o melhor canal gratuito para divulgar jogos indie em 2026? <a class="header-anchor" href="#qual-e-o-melhor-canal-gratuito-para-divulgar-jogos-indie-em-2026" aria-label="Permalink to &quot;Qual é o melhor canal gratuito para divulgar jogos indie em 2026?&quot;"></a></h3>
<p>Vídeos curtos (TikTok, Reels e YouTube Shorts) com cenas reais do jogo, pois os algoritmos mostram os clipes a pessoas que não seguem você, proporcionando alcance mesmo sem um público existente. Streamers e YouTubers também oferecem um retorno extremamente alto. Ficou mais difícil obter alcance orgânico com vídeos curtos do que há alguns anos, portanto publique com consistência em vez de esperar um único sucesso viral.</p>
<h3 id="qual-e-o-maior-erro-de-marketing-de-jogos-indie" tabindex="-1">Qual é o maior erro de marketing de jogos indie? <a class="header-anchor" href="#qual-e-o-maior-erro-de-marketing-de-jogos-indie" aria-label="Permalink to &quot;Qual é o maior erro de marketing de jogos indie?&quot;"></a></h3>
<p>Desenvolver em silêncio e começar a divulgação na última semana. O marketing exige meses de preparação para acumular adições à lista de desejos e formar um público. Assim, até mesmo um ótimo jogo lançado sem lista de desejos, sem trailer e com uma página fraca na loja acaba soterrado. Mostre seu jogo cedo, mesmo que ainda esteja imperfeito, e comece a despertar interesse muito antes do lançamento.</p>
<BuildCta
  title="Seu melhor recurso de marketing é um link que já abre o jogo"
  desc="Jogos para navegador se espalham porque não há nada para instalar."
  prompt="Crie um minijogo compartilhável com o desafio de superar minha pontuação" />
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/steam-next-fest-strategy.html">Estratégia para o Steam Vem Aí</a> — uma análise detalhada do evento de demos e listas de desejos</li>
<li><a href="/pt-BR/guides/kickstarter-for-indie-games.html">Kickstarter para jogos indie</a> — caso você opte pelo financiamento coletivo</li>
<li><a href="/pt-BR/guides/itch-io-launch-guide.html">Como lançar seu jogo no itch.io</a> — como fazer um lançamento no itch</li>
<li><a href="/pt-BR/guides/get-more-plays-itch-io.html">Como conseguir mais acessos no itch.io</a> — como gerar tráfego para jogos de navegador</li>
<li><a href="/pt-BR/guides/publish-web-game.html">Melhores lugares para publicar um jogo de navegador em 2026</a> — onde publicar um jogo de navegador</li>
<li><a href="/pt-BR/guides/web-game-monetization.html">Monetização de jogos de navegador: o que os dados realmente mostram</a> — quanto o alcance gratuito dos portais pode render</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/promote-indie-game-no-budget-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Melhores lugares para publicar um jogo web em 2026]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/publish-web-game</link>
            <guid>https://app.cinevva.com/pt-BR/guides/publish-web-game</guid>
            <pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Onde publicar um jogo web em 2026, comparando itch.io, Newgrounds, CrazyGames, Poki, GameJolt e outras plataformas em alcance, divisão de receita e requisitos.]]></description>
            <content:encoded><![CDATA[<h1 id="melhores-lugares-para-publicar-um-jogo-web-em-2026" tabindex="-1">Melhores lugares para publicar um jogo web em 2026 <a class="header-anchor" href="#melhores-lugares-para-publicar-um-jogo-web-em-2026" aria-label="Permalink to &quot;Melhores lugares para publicar um jogo web em 2026&quot;"></a></h1>
<p><em>Última atualização: julho de 2026.</em></p>
<p>Você terminou um jogo web. E agora? O lugar onde você o publica influencia quantas pessoas vão jogá-lo, se você ganhará algum dinheiro e quanto controle manterá. As plataformas vão desde a publicação independente, instantânea e gratuita até portais com curadoria, milhões de jogadores e critérios mais exigentes. Veja o panorama de 2026, com as vantagens e desvantagens que realmente importam.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/hyWQHY7EqoE" title="Como criar uma página no itch.io para seu jogo indie — TheOdie" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">Como criar uma boa página no itch.io, o lugar mais flexível para publicar um jogo web de forma independente.</div>
<h2 id="comparativo" tabindex="-1">Comparativo <a class="header-anchor" href="#comparativo" aria-label="Permalink to &quot;Comparativo&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Plataforma</th>
<th>Alcance</th>
<th>Modelo de receita</th>
<th>Aprovação</th>
<th>Melhor para</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>itch.io</strong></td>
<td>Grande (indie)</td>
<td>Você define a porcentagem (padrão: 90% para você / 10% para o itch); pago, doações ou gratuito</td>
<td>Instantânea, sem barreiras</td>
<td>Jogos indie, pagos/PWYW e de game jams</td>
</tr>
<tr>
<td><strong>Newgrounds</strong></td>
<td>Médio, comunidade</td>
<td>Divisão da receita de anúncios com os criadores</td>
<td>Votação do portal</td>
<td>Jogos gratuitos de navegador e público de arte/animação</td>
</tr>
<tr>
<td><strong>CrazyGames</strong></td>
<td>Mais de 50 milhões de jogadores mensais</td>
<td>Divisão da receita de anúncios (% não divulgada)</td>
<td>QA + análise</td>
<td>Ação/arcade/casual e grande público</td>
</tr>
<tr>
<td><strong>Poki</strong></td>
<td>Cerca de 100 milhões de usuários ativos mensais</td>
<td>100% se você trouxer os jogadores / 50% se a Poki trouxer</td>
<td>Rigorosa, com testes de jogabilidade</td>
<td>Jogos casuais refinados e otimizados</td>
</tr>
<tr>
<td><strong>GameJolt</strong></td>
<td>Comunidade</td>
<td>Taxa do marketplace limitada a 10%</td>
<td>Instantânea</td>
<td>Criar uma base de fãs e vender com taxas baixas</td>
</tr>
<tr>
<td><strong>gd.games</strong> (GDevelop)</td>
<td>Comunidade</td>
<td>Ganhos com anúncios baseados em sessões</td>
<td>Privado e depois público</td>
<td>Usuários do GDevelop e hospedagem gratuita</td>
</tr>
<tr>
<td><strong>Armor Games</strong></td>
<td>Menor</td>
<td>Pagamento antecipado de patrocínio/licenciamento</td>
<td>Proposta por e-mail, com curadoria</td>
<td>Jogos refinados em busca de pagamento</td>
</tr>
<tr>
<td><strong>GameDistribution / GameMonetize</strong></td>
<td>Alcance por rede</td>
<td>Divisão de receita (33% / 45%+)</td>
<td>Painel + análise</td>
<td>Distribuição passiva de jogos casuais</td>
</tr>
</tbody>
</table>
<p>Uma observação sobre os dois grandes portais: <strong>Poki e CrazyGames</strong> têm os maiores públicos, mas também os critérios mais exigentes e SDKs obrigatórios. O <strong>itch.io</strong> oferece mais liberdade e a melhor divisão de receita, mas você precisa trazer seu próprio tráfego. Ignore o <strong>Kongregate</strong>, que parou de aceitar novos jogos em 2020 e agora funciona como um arquivo.</p>
<h2 id="comece-publicando-por-conta-propria-itch-io" tabindex="-1">Comece publicando por conta própria: itch.io <a class="header-anchor" href="#comece-publicando-por-conta-propria-itch-io" aria-label="Permalink to &quot;Comece publicando por conta própria: itch.io&quot;"></a></h2>
<p>Para a maioria dos desenvolvedores indie, o itch.io é o ponto de partida padrão. Você envia uma build HTML5 (um arquivo ZIP com <code>index.html</code>), ela é incorporada em um iframe e, em poucos minutos, seu jogo está no ar sem precisar passar por aprovação. Você define a divisão da receita (o padrão oferece 90% para você) e pode cobrar, aceitar doações ou disponibilizar o jogo gratuitamente. O problema é que o itch não gera muito tráfego constante por conta própria. É você quem precisa atrair os jogadores. Isso é explicado em nosso guia sobre <a href="/pt-BR/guides/get-more-plays-itch-io.html">como conseguir mais acessos no itch.io</a>, enquanto o básico está no <a href="/pt-BR/guides/itch-io-launch-guide.html">guia de lançamento no itch.io</a>.</p>
<h2 id="os-grandes-portais-crazygames-e-poki" tabindex="-1">Os grandes portais: CrazyGames e Poki <a class="header-anchor" href="#os-grandes-portais-crazygames-e-poki" aria-label="Permalink to &quot;Os grandes portais: CrazyGames e Poki&quot;"></a></h2>
<p>Se você quer um público integrado de dezenas de milhões de pessoas, os portais de jogos casuais são o melhor caminho, mas eles são seletivos.</p>
<ul>
<li><strong>CrazyGames</strong> (mais de 50 milhões de jogadores mensais) aceita jogos HTML5/WebGL. Uma listagem básica exige pouco, mas um lançamento completo com monetização requer o SDK da plataforma e a aprovação no QA, incluindo funcionar com bloqueadores de anúncios e abrir diretamente na jogabilidade. Os pagamentos começam a partir de €100.</li>
<li><strong>Poki</strong> (cerca de 100 milhões de usuários mensais) é a mais rigorosa: há um processo com várias etapas e testes de jogabilidade, no qual os jogos são avaliados por qualidade, adequação ao público e solidez técnica. O SDK é obrigatório, e o acordo de receita depende de quem traz o jogador (100% quando é você, 50% quando é a Poki).</li>
</ul>
<p>Essas plataformas são adequadas para jogos casuais refinados e muito bem otimizados, e passar por seus processos exige bastante trabalho.</p>
<h2 id="plataformas-de-comunidade-newgrounds-gamejolt-gd-games" tabindex="-1">Plataformas de comunidade: Newgrounds, GameJolt, gd.games <a class="header-anchor" href="#plataformas-de-comunidade-newgrounds-gamejolt-gd-games" aria-label="Permalink to &quot;Plataformas de comunidade: Newgrounds, GameJolt, gd.games&quot;"></a></h2>
<ul>
<li><strong>Newgrounds</strong> coloca a comunidade em primeiro lugar, com um sistema de votação no portal e divisão da receita de anúncios. É ótima para jogos gratuitos de navegador e para o público de arte e animação.</li>
<li><strong>GameJolt</strong> limita a taxa do marketplace a 10% e foi criada em torno de seguidores e da construção de uma base de fãs.</li>
<li><strong>gd.games</strong> oferece aos usuários do GDevelop hospedagem gratuita, ganhos com anúncios baseados em sessões e publicação com um clique diretamente pelo editor.</li>
</ul>
<h2 id="redes-de-distribuicao-gamedistribution-gamemonetize" tabindex="-1">Redes de distribuição: GameDistribution, GameMonetize <a class="header-anchor" href="#redes-de-distribuicao-gamedistribution-gamemonetize" aria-label="Permalink to &quot;Redes de distribuição: GameDistribution, GameMonetize&quot;"></a></h2>
<p>Essas redes distribuem um único envio HTML5 para vários sites parceiros, proporcionando alcance passivo em troca de uma porcentagem maior da receita e da integração obrigatória de um SDK. A GameDistribution fica com uma parcela maior; a GameMonetize oferece uma divisão mais favorável e pagamentos rápidos com um valor mínimo baixo. São boas opções para jogos casuais, de quebra-cabeça e .io, nos quais o volume importa mais do que a porcentagem recebida.</p>
<h2 id="nao-se-esqueca-da-hospedagem-propria" tabindex="-1">Não se esqueça da hospedagem própria <a class="header-anchor" href="#nao-se-esqueca-da-hospedagem-propria" aria-label="Permalink to &quot;Não se esqueça da hospedagem própria&quot;"></a></h2>
<p>Um jogo HTML5 é apenas um conjunto de arquivos estáticos, então você pode hospedá-lo gratuitamente no GitHub Pages, Cloudflare Pages, Netlify ou Vercel, usando seu próprio domínio, sem ceder parte da receita e mantendo controle total sobre SEO e análises. A desvantagem é não ter nenhum público integrado. Uma abordagem comum é hospedar por conta própria a versão canônica para fortalecer sua marca e seu SEO e também publicar no itch.io e em um ou dois portais para obter alcance. Se seu jogo foi criado em uma ferramenta como a Cinevva, você também pode compartilhá-lo instantaneamente por meio de um link e enviá-lo para a galeria.</p>
<h2 id="como-escolher" tabindex="-1">Como escolher <a class="header-anchor" href="#como-escolher" aria-label="Permalink to &quot;Como escolher&quot;"></a></h2>
<p>Escolha a plataforma de acordo com seu objetivo. Quer o máximo de liberdade e a melhor divisão de receita? itch.io com hospedagem própria. Quer o maior público e tem um jogo casual refinado? Poki ou CrazyGames. Quer um pagamento antecipado por um jogo de qualidade já concluído? Envie uma proposta para a Armor Games. Quer alcance passivo por meio de distribuição? Use uma rede de distribuição. A maioria dos desenvolvedores indie publica em vários lugares ao mesmo tempo: itch.io como base principal, um portal para obter alcance e um link próprio para manter o controle.</p>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="onde-devo-publicar-meu-jogo-html5" tabindex="-1">Onde devo publicar meu jogo HTML5? <a class="header-anchor" href="#onde-devo-publicar-meu-jogo-html5" aria-label="Permalink to &quot;Onde devo publicar meu jogo HTML5?&quot;"></a></h3>
<p>Comece pelo itch.io: a publicação é instantânea e gratuita, a plataforma oferece a melhor divisão de receita e permite cobrar pelo jogo ou disponibilizá-lo gratuitamente. Para alcançar um público maior, envie jogos casuais refinados para a CrazyGames ou a Poki — ambas têm análises seletivas e SDKs obrigatórios. A maioria dos desenvolvedores publica em vários lugares: itch.io, um portal e um link com hospedagem própria.</p>
<h3 id="qual-plataforma-de-jogos-web-paga-mais" tabindex="-1">Qual plataforma de jogos web paga mais? <a class="header-anchor" href="#qual-plataforma-de-jogos-web-paga-mais" aria-label="Permalink to &quot;Qual plataforma de jogos web paga mais?&quot;"></a></h3>
<p>Depende do tráfego e do modelo. O itch.io oferece a melhor divisão — por padrão, você fica com 90% ou mais —, mas precisa trazer o público. Poki e CrazyGames têm enormes públicos integrados, porém dividem a receita de anúncios conforme seus próprios termos. A Armor Games paga uma taxa de patrocínio antecipada por jogos de qualidade. Não existe uma única opção ideal: uma porcentagem alta com pouco tráfego pode render menos do que uma porcentagem menor diante de milhões de jogadores.</p>
<h3 id="preciso-de-um-sdk-para-publicar-um-jogo-web" tabindex="-1">Preciso de um SDK para publicar um jogo web? <a class="header-anchor" href="#preciso-de-um-sdk-para-publicar-um-jogo-web" aria-label="Permalink to &quot;Preciso de um SDK para publicar um jogo web?&quot;"></a></h3>
<p>No itch.io, Newgrounds e GameJolt, não: basta fazer o envio. Nos grandes portais (Poki e CrazyGames) e nas redes de distribuição (GameDistribution e GameMonetize), um SDK é necessário para monetização e lançamento completo. O SDK gerencia anúncios e recursos da plataforma. Considere o trabalho de integração ao escolher onde publicar.</p>
<h3 id="posso-publicar-o-mesmo-jogo-web-em-varias-plataformas" tabindex="-1">Posso publicar o mesmo jogo web em várias plataformas? <a class="header-anchor" href="#posso-publicar-o-mesmo-jogo-web-em-varias-plataformas" aria-label="Permalink to &quot;Posso publicar o mesmo jogo web em várias plataformas?&quot;"></a></h3>
<p>Geralmente, sim, a menos que você aceite um acordo de exclusividade — por exemplo, a porcentagem maior de receita da Poki pode exigir exclusividade na web. Hospedagem própria combinada com itch.io e um portal sem exclusividade é uma opção comum. Leia os termos de cada plataforma, pois exclusividade e divisão de receita costumam estar vinculadas.</p>
<BuildCta
  title="Precisa de um jogo para publicar?"
  desc="Crie um no navegador e compartilhe-o com um único link."
  prompt="Crie um jogo de arcade simples que eu possa publicar e compartilhar por meio de um link" />
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/publish-game-poki.html">Como publicar seu jogo na Poki</a> — uma análise detalhada do processo de envio e da divisão de receita</li>
<li><a href="/pt-BR/guides/publish-game-crazygames.html">Guia para desenvolvedores da CrazyGames</a> — uma análise detalhada do portal, do SDK e dos pagamentos</li>
<li><a href="/pt-BR/guides/publish-game-discord-activities.html">Como publicar um jogo nas Atividades do Discord</a> — como lançar um jogo web dentro do Discord</li>
<li><a href="/pt-BR/guides/web-game-monetization.html">Monetização de jogos web: o que os dados realmente mostram</a> — quanto cada plataforma paga, com fontes</li>
<li><a href="/pt-BR/guides/itch-io-launch-guide.html">Como lançar seu jogo no itch.io</a> — o passo a passo</li>
<li><a href="/pt-BR/guides/get-more-plays-itch-io.html">Como conseguir mais acessos no itch.io</a> — como atrair tráfego depois que o jogo estiver no ar</li>
<li><a href="/pt-BR/guides/promote-indie-game-no-budget.html">Como promover um jogo indie sem orçamento</a> — marketing sem gastar nada</li>
<li><a href="/pt-BR/guides/steam-next-fest-strategy.html">Estratégia para o Steam Next Fest</a> — caso você também publique na Steam</li>
<li><a href="/pt-BR/guides/web-game-engines-comparison.html">Melhores engines de jogos web para 2026</a> — como criar o jogo primeiro</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/publish-web-game-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Sketchfab vs Poly Haven vs Kenney: comparação de assets 3D gratuitos (2026)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/sketchfab-polyhaven-kenney</link>
            <guid>https://app.cinevva.com/pt-BR/guides/sketchfab-polyhaven-kenney</guid>
            <pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Comparação entre Sketchfab, Poly Haven e Kenney para assets gratuitos de jogos em 2026, considerando licença, estilo, variedade, formatos e qual usar para cada tipo de jogo.]]></description>
            <content:encoded><![CDATA[<h1 id="sketchfab-vs-poly-haven-vs-kenney-comparacao-de-assets-3d-gratuitos-2026" tabindex="-1">Sketchfab vs Poly Haven vs Kenney: comparação de assets 3D gratuitos (2026) <a class="header-anchor" href="#sketchfab-vs-poly-haven-vs-kenney-comparacao-de-assets-3d-gratuitos-2026" aria-label="Permalink to &quot;Sketchfab vs Poly Haven vs Kenney: comparação de assets 3D gratuitos (2026)&quot;"></a></h1>
<p><em>Última atualização: junho de 2026.</em></p>
<p>Três nomes aparecem constantemente quando você procura assets 3D gratuitos: Sketchfab, Poly Haven e Kenney. Eles não são exatamente concorrentes — cada um se destaca em uma área diferente. Um é um enorme marketplace com várias licenças, outro oferece conteúdo fotorrealista em CC0 e o terceiro tem assets estilizados e prontos para jogos. Veja como eles se comparam em 2026 e quando recorrer a cada um.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/8aGqyS7IQVA" title="Principais sites de modelos 3D gratuitos" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">Uma seleção de fontes de modelos 3D gratuitos, incluindo as três comparadas aqui.</div>
<h2 id="visao-geral" tabindex="-1">Visão geral <a class="header-anchor" href="#visao-geral" aria-label="Permalink to &quot;Visão geral&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th>Sketchfab</th>
<th>Poly Haven</th>
<th>Kenney</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Melhor para</strong></td>
<td>Variedade, modelos complexos/detalhados</td>
<td>Modelos fotorrealistas, texturas, HDRIs</td>
<td>Assets estilizados e consistentes, prontos para jogos</td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Variada (verifique cada item)</td>
<td>CC0 (todos)</td>
<td>CC0 (todos)</td>
</tr>
<tr>
<td><strong>Atribuição</strong></td>
<td>Depende do modelo</td>
<td>Nenhuma</td>
<td>Nenhuma</td>
</tr>
<tr>
<td><strong>Catálogo</strong></td>
<td>Milhões</td>
<td>Mais de 2.000</td>
<td>Dezenas de milhares</td>
</tr>
<tr>
<td><strong>Estilo</strong></td>
<td>Todos</td>
<td>Realista</td>
<td>Low-poly coeso / visual limpo</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>glTF, FBX, OBJ</td>
<td>glTF, Blend, FBX</td>
<td>GLB, PNG, WAV e outros</td>
</tr>
<tr>
<td><strong>Download direto / API</strong></td>
<td>Exige login</td>
<td>Sim, API sem chave</td>
<td>Sim (pacotes)</td>
</tr>
</tbody>
</table>
<h2 id="kenney-coeso-e-pronto-para-jogos" tabindex="-1">Kenney: coeso e pronto para jogos <a class="header-anchor" href="#kenney-coeso-e-pronto-para-jogos" aria-label="Permalink to &quot;Kenney: coeso e pronto para jogos&quot;"></a></h2>
<p>Kenney é a maneira mais rápida de criar um jogo com visual coeso. São dezenas de milhares de assets, todos CC0 (sem atribuição e liberados para uso comercial), em estilos consistentes que você pode combinar entre diferentes pacotes, e todos otimizados para jogos. A desvantagem é a variedade: o visual é estilizado e limpo, em vez de fotorrealista, e você não encontrará um objeto específico com detalhes extremamente elaborados. Use Kenney quando quiser que todo o seu jogo pareça fazer parte do mesmo conjunto, com rapidez e sem precisar se preocupar com licenças.</p>
<h2 id="poly-haven-fotorrealista-e-cc0" tabindex="-1">Poly Haven: fotorrealista e CC0 <a class="header-anchor" href="#poly-haven-fotorrealista-e-cc0" aria-label="Permalink to &quot;Poly Haven: fotorrealista e CC0&quot;"></a></h2>
<p>Poly Haven é especialista em realismo: modelos 3D com texturas PBR, texturas de alta resolução e HDRIs para iluminação, todos CC0, com várias resoluções e uma API sem chave para downloads diretos. São mais de 2.000 assets, e o catálogo continua crescendo. A seleção é menor e mais focada — objetos, elementos de cenário, materiais e iluminação — em vez de um marketplace gigantesco. Use Poly Haven quando quiser materiais realistas, elementos para compor cenários e iluminação HDRI de qualidade sem qualquer exigência de atribuição.</p>
<h2 id="sketchfab-variedade-mas-e-preciso-verificar-a-licenca" tabindex="-1">Sketchfab: variedade, mas é preciso verificar a licença <a class="header-anchor" href="#sketchfab-variedade-mas-e-preciso-verificar-a-licenca" aria-label="Permalink to &quot;Sketchfab: variedade, mas é preciso verificar a licença&quot;"></a></h2>
<p>Sketchfab é o gigante: milhões de modelos, visualização 3D antes do download e uma enorme variedade de estilos e temas. O problema é que as licenças variam de um modelo para outro, então você precisa filtrar pelos itens disponíveis para download e com licença CC0 ou CC-BY, além de verificar cada um. Um alerta para 2026: a loja do Sketchfab migrou para o Fab, da Epic, e apenas conteúdo CC-BY e com a licença Fab Standard pode ser transferido. Modelos CC0 e com outras licenças Creative Commons continuam disponíveis para download no Sketchfab por enquanto, mas encare-o como uma fonte de CC0 em declínio gradual e baixe o que precisar. Use Sketchfab quando precisar de um modelo específico ou incomum que os outros não tenham e estiver disposto a verificar a licença.</p>
<h2 id="qual-voce-deve-usar" tabindex="-1">Qual você deve usar? <a class="header-anchor" href="#qual-voce-deve-usar" aria-label="Permalink to &quot;Qual você deve usar?&quot;"></a></h2>
<ul>
<li><strong>Coesão visual para o jogo inteiro, rapidez e sem atribuição:</strong> Kenney.</li>
<li><strong>Objetos, materiais e iluminação realistas em CC0:</strong> Poly Haven.</li>
<li><strong>Um modelo específico ou incomum, com a maior variedade:</strong> Sketchfab (verifique a licença).</li>
</ul>
<p>Na prática, muitos desenvolvedores usam os três: Kenney para o conjunto básico e a interface, Poly Haven para texturas realistas e HDRIs e Sketchfab para aquele asset especial usado uma única vez. Combinar materiais realistas do Poly Haven com modelos estilizados da Kenney pode gerar conflito visual, então defina primeiro sua direção de arte e depois escolha fontes compatíveis com ela.</p>
<h2 id="alem-dos-tres-principais" tabindex="-1">Além dos três principais <a class="header-anchor" href="#alem-dos-tres-principais" aria-label="Permalink to &quot;Além dos três principais&quot;"></a></h2>
<p>Essas não são suas únicas opções. Quaternius é outra excelente fonte CC0 de assets low-poly estilizados, AmbientCG é especializado em texturas CC0 e Poly Pizza hospeda o catálogo arquivado do Google Poly. Você também pode gerar modelos com IA. Para conhecer todas as opções, consulte nossos guias de <a href="/pt-BR/guides/free-3d-model-sites.html">sites de modelos 3D gratuitos</a> e <a href="/pt-BR/guides/game-assets-guide.html">assets gratuitos para jogos</a>.</p>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="sketchfab-poly-haven-ou-kenney-qual-e-o-melhor-para-modelos-3d-gratuitos" tabindex="-1">Sketchfab, Poly Haven ou Kenney: qual é o melhor para modelos 3D gratuitos? <a class="header-anchor" href="#sketchfab-poly-haven-ou-kenney-qual-e-o-melhor-para-modelos-3d-gratuitos" aria-label="Permalink to &quot;Sketchfab, Poly Haven ou Kenney: qual é o melhor para modelos 3D gratuitos?&quot;"></a></h3>
<p>Cada um é melhor em uma área diferente. Kenney é a melhor opção para assets estilizados, coesos e prontos para jogos, todos CC0. Poly Haven é a melhor opção para modelos fotorrealistas, texturas e HDRIs, todos CC0. Sketchfab é a melhor opção em variedade e para encontrar modelos específicos ou detalhados, mas suas licenças variam, então você precisa verificar cada uma. Muitos desenvolvedores usam os três em conjunto.</p>
<h3 id="poly-haven-e-kenney-sao-realmente-gratuitos-para-jogos-comerciais" tabindex="-1">Poly Haven e Kenney são realmente gratuitos para jogos comerciais? <a class="header-anchor" href="#poly-haven-e-kenney-sao-realmente-gratuitos-para-jogos-comerciais" aria-label="Permalink to &quot;Poly Haven e Kenney são realmente gratuitos para jogos comerciais?&quot;"></a></h3>
<p>Sim. Ambos são inteiramente CC0, o que significa que todos os assets estão em domínio público: podem ser usados gratuitamente para fins comerciais, modificados e não exigem atribuição. Isso faz deles as duas fontes de menor risco entre as três. O Sketchfab, por outro lado, tem licenças variadas para cada modelo, que você precisa verificar antes do uso comercial.</p>
<h3 id="preciso-dar-creditos-pelos-assets-desses-sites" tabindex="-1">Preciso dar créditos pelos assets desses sites? <a class="header-anchor" href="#preciso-dar-creditos-pelos-assets-desses-sites" aria-label="Permalink to &quot;Preciso dar créditos pelos assets desses sites?&quot;"></a></h3>
<p>Não para Kenney ou Poly Haven, pois todo o conteúdo é CC0. No Sketchfab, isso depende da licença de cada modelo: CC0 não exige créditos, CC-BY exige atribuição e alguns modelos não podem ser usados comercialmente. Sempre confira a licença de cada modelo do Sketchfab antes de publicar seu jogo.</p>
<h3 id="posso-misturar-assets-dos-tres-em-um-unico-jogo" tabindex="-1">Posso misturar assets dos três em um único jogo? <a class="header-anchor" href="#posso-misturar-assets-dos-tres-em-um-unico-jogo" aria-label="Permalink to &quot;Posso misturar assets dos três em um único jogo?&quot;"></a></h3>
<p>Tecnicamente, sim, e as licenças permitem, mas preste atenção à sua direção de arte. O visual estilizado da Kenney e os materiais fotorrealistas do Poly Haven podem entrar em conflito se forem combinados sem cuidado. Defina primeiro um estilo visual e depois escolha assets compatíveis, usando o Sketchfab para peças específicas que não estejam disponíveis nas fontes CC0.</p>
<BuildCta
  title="Receba objetos no estilo Kenney já posicionados em um jogo"
  desc="O Cinevva inclui milhares de objetos CC0 da Kenney e da Quaternius diretamente em seu editor."
  prompt="Crie um quarteirão urbano low-poly com parques, carros e lugares para explorar" />
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/free-3d-model-sites.html">Melhores sites de modelos 3D gratuitos para jogos</a> — uma visão mais ampla</li>
<li><a href="/pt-BR/guides/game-assets-guide.html">Onde encontrar assets gratuitos para jogos</a> — mais de 20 fontes de todos os tipos</li>
<li><a href="/pt-BR/guides/ai-asset-generators-games.html">Melhores geradores de assets com IA para jogos</a> — gere seus próprios assets</li>
<li><a href="/pt-BR/guides/game-asset-licenses.html">Entenda as licenças de assets para jogos</a> — CC0, CC-BY e outras</li>
<li><a href="/pt-BR/guides/free-sound-effects-music.html">Efeitos sonoros e músicas gratuitos para jogos</a> — a parte de áudio</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/sketchfab-polyhaven-kenney-hero.jpg?v=1" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Unity WebGL vs Godot vs PlayCanvas para 3D na Web (2026)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/unity-godot-playcanvas-web</link>
            <guid>https://app.cinevva.com/pt-BR/guides/unity-godot-playcanvas-web</guid>
            <pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Comparação entre Unity WebGL, exportação web do Godot e PlayCanvas em 2026 considerando tamanho da build, tempo de carregamento, WebGPU, fluxo de trabalho e custo para escolher a engine 3D certa para o navegador.]]></description>
            <content:encoded><![CDATA[<h1 id="unity-webgl-vs-godot-vs-playcanvas-para-3d-na-web-2026" tabindex="-1">Unity WebGL vs Godot vs PlayCanvas para 3D na Web (2026) <a class="header-anchor" href="#unity-webgl-vs-godot-vs-playcanvas-para-3d-na-web-2026" aria-label="Permalink to &quot;Unity WebGL vs Godot vs PlayCanvas para 3D na Web (2026)&quot;"></a></h1>
<p><em>Última atualização: julho de 2026.</em></p>
<p>Se você quer um jogo 3D que rode no navegador, três engines são as mais mencionadas: Unity, Godot e PlayCanvas. Elas seguem caminhos bem diferentes para chegar à web. A Unity é uma potência no desktop que exporta para WebGL, a Godot é uma solução versátil, gratuita e de código aberto, e a PlayCanvas foi criada desde o início para a web. Veja como elas se comparam em 2026, especificamente para 3D no navegador.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/MiejI68zyCk" title="PlayCanvas — A melhor engine de jogos 3D para a web? — GameFromScratch" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">GameFromScratch sobre a PlayCanvas como uma engine 3D criada prioritariamente para a web.</div>
<h2 id="veredito-rapido" tabindex="-1">Veredito rápido <a class="header-anchor" href="#veredito-rapido" aria-label="Permalink to &quot;Veredito rápido&quot;"></a></h2>
<ul>
<li><strong>3D pensado para a web, builds menores e melhor WebGPU:</strong> PlayCanvas.</li>
<li><strong>Gratuita, de código aberto, compatível com 2D e 3D e com uma única base de código para web e plataformas nativas:</strong> Godot.</li>
<li><strong>Você já tem um projeto Unity ou também precisa de consoles e plataformas nativas de alto desempenho:</strong> Unity, aceitando um download maior na web.</li>
</ul>
<h2 id="comparacao" tabindex="-1">Comparação <a class="header-anchor" href="#comparacao" aria-label="Permalink to &quot;Comparação&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th>Unity (WebGL)</th>
<th>Godot (4.7)</th>
<th>PlayCanvas</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Tecnologia web de destino</strong></td>
<td>Exportação WebGL2</td>
<td>WebGL2 + Wasm (wasm64 na versão 4.7)</td>
<td>WebGL2 + WebGPU</td>
</tr>
<tr>
<td><strong>Tamanho da build vazia</strong></td>
<td>~8 MB+</td>
<td>~9 MB com gzip</td>
<td>~1-2 MB</td>
</tr>
<tr>
<td><strong>Tempo de carregamento</strong></td>
<td>O mais lento dos três</td>
<td>Moderado</td>
<td>O mais rápido</td>
</tr>
<tr>
<td><strong>WebGPU</strong></td>
<td>Experimental</td>
<td>Não compatível na web</td>
<td>Mais madura</td>
</tr>
<tr>
<td><strong>2D / 3D</strong></td>
<td>Ambos</td>
<td>Ambos (2D e 3D robustos)</td>
<td>Prioriza 3D</td>
</tr>
<tr>
<td><strong>Editor</strong></td>
<td>Desktop</td>
<td>Desktop (leve)</td>
<td>Na nuvem e colaborativo</td>
</tr>
<tr>
<td><strong>Linguagem</strong></td>
<td>C# (compilado para WebAssembly na exportação web)</td>
<td>GDScript (C# não pode ser exportado para a web)</td>
<td>JavaScript / TypeScript</td>
</tr>
<tr>
<td><strong>Custo</strong></td>
<td>Gratuita para receita abaixo de US$ 200 mil; Pro por US$ 2.310/usuário/ano</td>
<td>Gratuita (MIT)</td>
<td>Plano gratuito; editor na nuvem pago</td>
</tr>
</tbody>
</table>
<h2 id="unity-webgl" tabindex="-1">Unity (WebGL) <a class="header-anchor" href="#unity-webgl" aria-label="Permalink to &quot;Unity (WebGL)&quot;"></a></h2>
<p>A Unity exporta builds WebGL jogáveis, e seu ecossistema (Asset Store, ferramentas e documentação) é incomparável. A desvantagem específica para a web: builds vazias começam em cerca de 8 MB, o tempo de carregamento fica atrás das engines nativas da web e a memória disponível em navegadores móveis pode ser limitada. O WebGPU está disponível, mas é experimental e vem desativado por padrão; o WebGL2 é o verdadeiro alvo. Um detalhe prático importante é que a Unity é a opção mais pesada para colocar em um navegador. Por isso, ela se destaca quando a web é um destino secundário para um jogo que também será lançado para desktop, dispositivos móveis ou consoles. A Unity também substituiu sua ferramenta de IA Muse pela Unity AI (beta aberto em 2026), caso você queira assistência de IA dentro do editor.</p>
<h2 id="godot-4-7" tabindex="-1">Godot (4.7) <a class="header-anchor" href="#godot-4-7" aria-label="Permalink to &quot;Godot (4.7)&quot;"></a></h2>
<p>A Godot é gratuita e de código aberto sob a licença MIT, sem limites de receita nem taxas por usuário, e oferece bons recursos tanto para 2D quanto para 3D. A versão 4.7 (junho de 2026) inclui WebAssembly SIMD por padrão e adicionou uma opção de exportação wasm64 que elimina o antigo limite de memória de 4 GB. A renderização na web ainda usa apenas WebGL 2.0 por meio do renderizador Compatibility, pois a Godot ainda não é compatível com WebGPU. Duas limitações para a web permanecem: projetos em C# não podem ser exportados para a web (somente GDScript), e o uso de threads com SharedArrayBuffer exige cabeçalhos COOP/COEP específicos no servidor, o que pode causar problemas em alguns serviços de hospedagem. Para um desenvolvedor indie que quer usar uma única engine na web e em plataformas nativas sem se preocupar com licenciamento, a Godot é uma excelente opção gratuita.</p>
<h2 id="playcanvas" tabindex="-1">PlayCanvas <a class="header-anchor" href="#playcanvas" aria-label="Permalink to &quot;PlayCanvas&quot;"></a></h2>
<p>A PlayCanvas foi projetada para a web desde o primeiro dia. Seu runtime é minúsculo (~1-2 MB), ela carrega mais rápido que as outras duas e possui o renderizador WebGPU pronto para produção mais avançado entre as engines web, incluindo renderização de Gaussian splats 3D baseada em computação desde a versão 2.20 (junho de 2026). O editor funciona na nuvem e é colaborativo, o que combina bem com equipes, mas não se encaixa no fluxo de trabalho de todo mundo. Ela prioriza 3D e é menos adequada para projetos 2D complexos. Se o tamanho do download e o desempenho na web são suas prioridades, a PlayCanvas foi criada exatamente para isso.</p>
<h2 id="como-escolher" tabindex="-1">Como escolher <a class="header-anchor" href="#como-escolher" aria-label="Permalink to &quot;Como escolher&quot;"></a></h2>
<p>Escolha com base na sua verdadeira limitação. Se você precisa da menor e mais rápida build 3D para a web, com bom suporte a WebGPU, escolha a PlayCanvas. Se quer uma engine gratuita e aberta que trabalhe com 2D e 3D e também exporte para desktop e dispositivos móveis usando uma única base de código, escolha a Godot. Se seu jogo já está na Unity ou realmente precisa da renderização avançada e da exportação para consoles oferecidas por ela, publique a build WebGL e aceite o download maior.</p>
<p>Se você prefere ignorar completamente as engines e descrever um jogo 3D para a web a uma IA, esse é outro caminho, abordado em <a href="/pt-BR/guides/3d-browser-game-without-coding.html">como criar um jogo 3D para navegador sem programar</a>.</p>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="qual-e-a-melhor-engine-para-jogos-3d-no-navegador" tabindex="-1">Qual é a melhor engine para jogos 3D no navegador? <a class="header-anchor" href="#qual-e-a-melhor-engine-para-jogos-3d-no-navegador" aria-label="Permalink to &quot;Qual é a melhor engine para jogos 3D no navegador?&quot;"></a></h3>
<p>A PlayCanvas é a opção mais forte voltada prioritariamente para a web em 2026: runtime minúsculo, carregamento mais rápido e o renderizador WebGPU mais maduro. A Godot é a melhor opção gratuita e de código aberto, além de exportar para plataformas nativas. A Unity é a melhor escolha apenas se seu jogo já a utiliza ou precisa de seus recursos avançados, pois suas builds para a web são as maiores. A escolha ideal depende do tamanho da build, da necessidade de exportação para plataformas nativas e do seu orçamento.</p>
<h3 id="a-unity-e-a-godot-podem-exportar-jogos-em-c-para-a-web" tabindex="-1">A Unity e a Godot podem exportar jogos em C# para a web? <a class="header-anchor" href="#a-unity-e-a-godot-podem-exportar-jogos-em-c-para-a-web" aria-label="Permalink to &quot;A Unity e a Godot podem exportar jogos em C# para a web?&quot;"></a></h3>
<p>Esta é uma limitação comum que pode passar despercebida: a Godot não consegue exportar projetos em C# para a web (somente GDScript). A exportação web da Unity usa C#, mas o código é compilado via Wasm para WebGL, e as builds resultantes são grandes (~8 MB+ vazias). A PlayCanvas usa JavaScript ou TypeScript nativamente, o que ajuda a explicar por que suas builds para a web são tão pequenas.</p>
<h3 id="qual-carrega-mais-rapido-no-navegador" tabindex="-1">Qual carrega mais rápido no navegador? <a class="header-anchor" href="#qual-carrega-mais-rapido-no-navegador" aria-label="Permalink to &quot;Qual carrega mais rápido no navegador?&quot;"></a></h3>
<p>A PlayCanvas, com ampla vantagem, graças ao seu runtime de ~1-2 MB criado especificamente para a web. As builds vazias da Godot têm cerca de 9 MB com gzip, enquanto as da Unity começam em aproximadamente 8 MB e podem ficar maiores. Em jogos para a web, o tamanho total do download influencia diretamente quantos jogadores realmente esperam o carregamento terminar. Portanto, esse é um fator real de escolha, não um mero detalhe.</p>
<h3 id="essas-engines-sao-compativeis-com-webgpu" tabindex="-1">Essas engines são compatíveis com WebGPU? <a class="header-anchor" href="#essas-engines-sao-compativeis-com-webgpu" aria-label="Permalink to &quot;Essas engines são compatíveis com WebGPU?&quot;"></a></h3>
<p>A PlayCanvas tem o renderizador WebGPU mais maduro. A exportação web da Godot ainda se limita ao WebGL2, sem suporte a WebGPU. A Unity mantém o WebGPU como recurso experimental e usa WebGL2 por padrão. Para uma análise mais aprofundada das vantagens e desvantagens, consulte nosso <a href="/pt-BR/guides/webgpu-vs-webgl-games.html">guia sobre WebGPU vs WebGL</a>.</p>
<BuildCta
  title="Compare as engines depois; jogue sua ideia agora"
  desc="Um protótipo jogável torna óbvia a escolha da engine."
  prompt="Crie um FPS para navegador com gráficos low poly" />
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/web-game-engines-comparison.html">Melhores engines de jogos para a web em 2026</a> — o panorama completo de 11 engines</li>
<li><a href="/pt-BR/guides/webgpu-vs-webgl-games.html">WebGPU vs WebGL para jogos</a> — as vantagens e desvantagens das APIs de renderização</li>
<li><a href="/pt-BR/guides/playcanvas-vs-threejs.html">PlayCanvas vs Three.js</a> — engine vs biblioteca para 3D na web</li>
<li><a href="/pt-BR/guides/godot-vs-unity-web-games.html">Godot vs Unity para jogos na web</a> — o confronto direto entre as duas grandes engines completas</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/unity-godot-playcanvas-web-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Vibe Coding de Jogos: o que é e como começar (2026)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/vibe-coding-games</link>
            <guid>https://app.cinevva.com/pt-BR/guides/vibe-coding-games</guid>
            <pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[O que significa vibe coding, de onde veio o termo e como criar um jogo com vibe coding em 2026, incluindo o fluxo de trabalho, as ferramentas, os casos reais de sucesso e as armadilhas a evitar.]]></description>
            <content:encoded><![CDATA[<h1 id="vibe-coding-de-jogos-o-que-e-e-como-comecar-2026" tabindex="-1">Vibe Coding de Jogos: o que é e como começar (2026) <a class="header-anchor" href="#vibe-coding-de-jogos-o-que-e-e-como-comecar-2026" aria-label="Permalink to &quot;Vibe Coding de Jogos: o que é e como começar (2026)&quot;"></a></h1>
<p><em>Última atualização: junho de 2026.</em></p>
<p>&quot;Vibe coding&quot; passou de um tuíte a Palavra do Ano do Dicionário Collins em menos de um ano. Para jogos, é uma das maneiras mais divertidas de criar atualmente: você descreve o que quer, a IA escreve, e você orienta o processo pela sensação, em vez de pela sintaxe. Veja o que o termo realmente significa, como criar um jogo com vibe coding, onde essa abordagem funciona e onde pode causar problemas.</p>
<h2 id="de-onde-veio-o-termo" tabindex="-1">De onde veio o termo <a class="header-anchor" href="#de-onde-veio-o-termo" aria-label="Permalink to &quot;De onde veio o termo&quot;"></a></h2>
<p>A expressão vem de Andrej Karpathy, um dos membros fundadores da OpenAI, em uma publicação de fevereiro de 2025. Ele descreveu &quot;um novo tipo de programação em que você se entrega completamente às vibes, aceita as exponenciais e esquece até mesmo que o código existe&quot;, algo possível porque os modelos de IA para programação haviam ficado bons o bastante para que você pudesse &quot;simplesmente ver coisas, dizer coisas, executar coisas e copiar e colar coisas, e na maioria das vezes funciona&quot;. Ele apresentou a ideia no contexto de projetos descartáveis de fim de semana, algo que vale a pena lembrar.</p>
<p>O desenvolvedor Simon Willison tornou a definição mais precisa: o verdadeiro vibe coding significa criar software com um LLM sem revisar o código que ele escreve. Se você lê, testa e entende cada linha, está usando a IA como assistente de digitação, o que é algo diferente. No fim de 2025, o termo já havia se espalhado o suficiente para que o Collins o elegesse Palavra do Ano.</p>
<p>Para jogos, a aplicação é direta: você descreve um jogo, a IA o cria, você joga e pede mudanças, quase sem olhar para o código. Isso é criar um jogo com vibe coding.</p>
<h2 id="por-que-jogos-combinam-tao-bem-com-essa-abordagem" tabindex="-1">Por que jogos combinam tão bem com essa abordagem <a class="header-anchor" href="#por-que-jogos-combinam-tao-bem-com-essa-abordagem" aria-label="Permalink to &quot;Por que jogos combinam tão bem com essa abordagem&quot;"></a></h2>
<p>Jogos são visuais e podem ser testados imediatamente, exatamente o tipo de ciclo que o vibe coding favorece. Em dois segundos, você consegue perceber se o pulo está bom ou se o inimigo está rápido demais, então o ciclo de &quot;dizer coisas, executar coisas&quot; é curto e satisfatório. E o exemplo mais famoso é justamente um jogo: no início de 2025, o desenvolvedor independente Pieter Levels criou com vibe coding um simulador de voo 3D para navegador em poucas horas, usando um editor de código com IA e Three.js, sem experiência anterior em desenvolvimento de jogos, e ele se tornou um sucesso viral. (Os números de receita foram divulgados pelo próprio desenvolvedor, então encare os valores com certa cautela, mas o projeto em si é real e está bem documentado.)</p>
<h2 id="duas-maneiras-de-criar-um-jogo-com-vibe-coding" tabindex="-1">Duas maneiras de criar um jogo com vibe coding <a class="header-anchor" href="#duas-maneiras-de-criar-um-jogo-com-vibe-coding" aria-label="Permalink to &quot;Duas maneiras de criar um jogo com vibe coding&quot;"></a></h2>
<p>Há duas modalidades, dependendo do quanto você quer colocar a mão no projeto.</p>
<p><strong>Ferramentas gerais de programação com IA.</strong> Cursor, Claude Code e GitHub Copilot permitem criar um jogo da maneira descrita por Karpathy: você dá instruções a um agente de programação com IA, geralmente usando uma biblioteca web como Three.js, e faz ajustes em ciclos. Você não precisa ler o código, mas o projeto é uma base de código real que pode ser levada para qualquer lugar. Essa é a opção mais flexível e poderosa, mas também a que oferece mais oportunidades para você se complicar.</p>
<p><strong>Ferramentas específicas que transformam prompts em jogos.</strong> Cinevva, Rosebud, Summer, Replit e Nilo reúnem todo o processo em um ambiente criado especialmente para isso. Você descreve um jogo, a ferramenta cria uma versão jogável e você a refina por meio de conversas, com os recursos visuais e sonoros gerados para você. Essa é a forma mais fácil de começar e a mais rápida para chegar a um resultado compartilhável. Nossa <a href="/pt-BR/guides/ai-game-generators-2026.html">comparação de geradores de jogos com IA</a> explica as diferenças entre eles.</p>
<h2 id="como-criar-um-jogo-com-vibe-coding-passo-a-passo" tabindex="-1">Como criar um jogo com vibe coding, passo a passo <a class="header-anchor" href="#como-criar-um-jogo-com-vibe-coding-passo-a-passo" aria-label="Permalink to &quot;Como criar um jogo com vibe coding, passo a passo&quot;"></a></h2>
<ol>
<li><strong>Escolha uma ideia pequena.</strong> O vibe coding funciona melhor em projetos com escopo de fim de semana. Defina um gênero, uma mecânica diferenciada e um objetivo.</li>
<li><strong>Escreva um prompt de uma frase.</strong> &quot;Crie um jogo da cobrinha em neon que fique mais rápido conforme ela cresce.&quot; Deixe a ferramenta criar a primeira versão. Você pode <a href="/pt-BR/guides/vibe-coding-game-prompts.html">experimentar um prompt que funciona com um clique</a> para não precisar começar do zero.</li>
<li><strong>Jogue e depois peça uma mudança por vez.</strong> &quot;Deixe mais rápido&quot;, &quot;adicione uma pontuação&quot;, &quot;os controles parecem travados, deixe-os mais responsivos&quot;. Mude, jogue e repita.</li>
<li><strong>Peça para gerar os recursos.</strong> &quot;Dê ao jogo um visual low-poly&quot;, &quot;adicione uma música animada&quot;, &quot;use um skybox de deserto&quot;.</li>
<li><strong>Publique o link.</strong> Ferramentas para navegador permitem compartilhar com um clique. Mostre o jogo às pessoas e deixe que as reações delas orientem a próxima rodada de melhorias.</li>
</ol>
<p>Você pode <a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_coding_games">começar agora a criar gratuitamente um jogo 3D com vibe coding no navegador</a> se quiser aprender fazendo.</p>
<h2 id="as-armadilhas-e-como-evita-las" tabindex="-1">As armadilhas (e como evitá-las) <a class="header-anchor" href="#as-armadilhas-e-como-evita-las" aria-label="Permalink to &quot;As armadilhas (e como evitá-las)&quot;"></a></h2>
<p>O vibe coding é poderoso, mas o cenário realista de 2026 inclui alertas importantes:</p>
<ul>
<li><strong>&quot;Quase certo, mas não totalmente.&quot;</strong> Dois terços dos desenvolvedores apontam isso como sua principal frustração com IA. Para jogos, a solução é fazer pedidos pequenos e específicos e estar disposto a reverter quando uma alteração piorar o resultado.</li>
<li><strong>Dívida de segurança e qualidade.</strong> Estudos de 2025 descobriram que uma grande parcela das amostras de código gerado por IA introduzia falhas de segurança e que a quantidade de código duplicado e não refatorado estava aumentando. Para um jogo descartável, isso raramente importa; para qualquer projeto que processe dados de usuários ou dinheiro, revise o código ou peça a alguém capacitado para fazer isso.</li>
<li><strong>Funciona até parar de funcionar.</strong> Em um incidente amplamente noticiado, um agente de programação com IA excluiu um banco de dados de produção durante um congelamento de código. A lição: mantenha backups, separe os experimentos de tudo que for importante e não dê a um agente de vibe coding acesso a sistemas que você não pode se dar ao luxo de perder.</li>
</ul>
<p>Mais tarde, o próprio Karpathy chamou a publicação original de &quot;um tuíte descartável&quot; e afirmou preferir uma linguagem mais cuidadosa para trabalhos sérios. A conclusão não é que o vibe coding seja ruim, mas que ele é excelente para protótipos e jogos pequenos e arriscado como único método para projetos que precisam funcionar corretamente.</p>
<h2 id="vibe-coding-e-desenvolvimento-de-jogos-de-verdade" tabindex="-1">Vibe coding é desenvolvimento de jogos &quot;de verdade&quot;? <a class="header-anchor" href="#vibe-coding-e-desenvolvimento-de-jogos-de-verdade" aria-label="Permalink to &quot;Vibe coding é desenvolvimento de jogos &quot;de verdade&quot;?&quot;"></a></h2>
<p>É uma maneira real e útil de criar, especialmente para protótipos, game jams e jogos pequenos, além de ser a porta de entrada de muitas pessoas no desenvolvimento de jogos. Porém, não substitui a compreensão do que você está construindo quando os riscos são altos. A postura mais produtiva em 2026 é usar vibe coding para explorar ideias e criar protótipos rapidamente, depois reduzir o ritmo e entender as partes que precisam ser confiáveis. Para a maioria dos jogos de navegador, essa balança pesa confortavelmente a seu favor.</p>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="o-que-significa-vibe-coding" tabindex="-1">O que significa vibe coding? <a class="header-anchor" href="#o-que-significa-vibe-coding" aria-label="Permalink to &quot;O que significa vibe coding?&quot;"></a></h3>
<p>Vibe coding é criar software descrevendo para uma IA o que você quer e deixando que ela escreva o código, sem revisar o código por conta própria. O termo foi criado por Andrej Karpathy em fevereiro de 2025 e eleito Palavra do Ano de 2025 pelo Collins. Para jogos, significa descrever um jogo em linguagem comum e refiná-lo por meio de conversas, em vez de escrever código.</p>
<h3 id="como-comeco-a-criar-um-jogo-com-vibe-coding" tabindex="-1">Como começo a criar um jogo com vibe coding? <a class="header-anchor" href="#como-comeco-a-criar-um-jogo-com-vibe-coding" aria-label="Permalink to &quot;Como começo a criar um jogo com vibe coding?&quot;"></a></h3>
<p>Escolha uma ideia pequena, descreva-a em uma frase para uma ferramenta que transforma prompts em jogos ou para um editor de código com IA, jogue a primeira versão e peça uma mudança por vez. Criadores de jogos com IA que funcionam no navegador são o ponto de partida mais fácil, pois criam um jogo jogável e permitem compartilhá-lo imediatamente, sem nenhuma configuração.</p>
<h3 id="vibe-coding-e-bom-para-criar-jogos" tabindex="-1">Vibe coding é bom para criar jogos? <a class="header-anchor" href="#vibe-coding-e-bom-para-criar-jogos" aria-label="Permalink to &quot;Vibe coding é bom para criar jogos?&quot;"></a></h3>
<p>Sim, especialmente para protótipos e jogos pequenos ou casuais, nos quais o ciclo rápido de descrever, jogar e refinar funciona muito bem. Ele é menos adequado para projetos grandes, complexos ou que exigem alta precisão, nos quais código de IA não revisado pode introduzir bugs e problemas de segurança. Use-o para avançar rapidamente, mas revise o código de tudo que precisar ser confiável.</p>
<h3 id="quais-ferramentas-as-pessoas-usam-para-criar-jogos-com-vibe-coding" tabindex="-1">Quais ferramentas as pessoas usam para criar jogos com vibe coding? <a class="header-anchor" href="#quais-ferramentas-as-pessoas-usam-para-criar-jogos-com-vibe-coding" aria-label="Permalink to &quot;Quais ferramentas as pessoas usam para criar jogos com vibe coding?&quot;"></a></h3>
<p>Há dois tipos. Ferramentas gerais de programação com IA, como Cursor, Claude Code e GitHub Copilot, muitas vezes usadas com Three.js para a web, e ferramentas específicas que transformam prompts em jogos, como Cinevva, Rosebud, Summer, Replit e Nilo. As ferramentas específicas para jogos são mais fáceis para começar; as ferramentas de programação são mais flexíveis.</p>
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/ai-game-generators-2026.html">Melhores geradores de jogos com IA em 2026</a> — uma comparação das ferramentas</li>
<li><a href="/pt-BR/guides/make-a-game-with-ai.html">Como criar um jogo com IA (sem programação)</a> — o fluxo de trabalho passo a passo</li>
<li><a href="/pt-BR/guides/3d-browser-game-without-coding.html">Como criar um jogo 3D para navegador sem programação</a> — o caminho para jogos 3D</li>
<li><a href="/pt-BR/guides/vibe-coding-game-prompts.html">Prompts de jogos com IA que você pode criar com um clique</a> — prompts para começar</li>
<li><a href="/pt-BR/guides/web-game-engines-comparison.html">Melhores engines de jogos web para 2026</a> — para criar da maneira tradicional</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/vibe-coding-games-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[WebGPU vs WebGL para jogos (2026)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/webgpu-vs-webgl-games</link>
            <guid>https://app.cinevva.com/pt-BR/guides/webgpu-vs-webgl-games</guid>
            <pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[WebGPU vs WebGL para jogos de navegador em 2026 - o que mudou, onde cada um se destaca, suporte dos navegadores após o Safari 26 e quais tecnologias cada engine usa.]]></description>
            <content:encoded><![CDATA[<h1 id="webgpu-vs-webgl-para-jogos-2026" tabindex="-1">WebGPU vs WebGL para jogos (2026) <a class="header-anchor" href="#webgpu-vs-webgl-para-jogos-2026" aria-label="Permalink to &quot;WebGPU vs WebGL para jogos (2026)&quot;"></a></h1>
<p><em>Última atualização: julho de 2026.</em></p>
<p>Por mais de uma década, o WebGL foi a única forma de colocar gráficos de verdade em um navegador. O WebGPU é seu sucessor, e 2026 é o ano em que ele realmente passou a ser utilizável em todos os lugares. Se você está criando um jogo web e quer saber qual deve usar, aqui está uma comparação sincera: o que mudou, onde cada um se destaca e o que sua engine já usa.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/grj7uYdCna0" title="Atualizações do WebGL e WebGPU no 3D on the Web 2025 — The Khronos Group" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">A Khronos Group fala sobre o estado do WebGL e do WebGPU, incluindo compute shaders e os renderizadores WebGPU do Three.js e do Babylon.js.</div>
<h2 id="resumo-rapido" tabindex="-1">Resumo rápido <a class="header-anchor" href="#resumo-rapido" aria-label="Permalink to &quot;Resumo rápido&quot;"></a></h2>
<p>O WebGL é uma API gráfica baseada no OpenGL ES, criada para renderização. O WebGPU é uma API moderna inspirada em Vulkan, Metal e Direct3D 12, criada tanto para renderização quanto para computação de propósito geral na GPU. O WebGPU é mais rápido em cenas pesadas, viabiliza compute shaders (partículas, simulação e culling na GPU) e tem uma API mais limpa. O WebGL é mais antigo, mais simples e compatível com praticamente todos os dispositivos existentes.</p>
<h2 id="o-que-mudou-em-2026" tabindex="-1">O que mudou em 2026 <a class="header-anchor" href="#o-que-mudou-em-2026" aria-label="Permalink to &quot;O que mudou em 2026&quot;"></a></h2>
<p>A grande novidade: o WebGPU finalmente funciona em todos os principais navegadores. O Safari 26 (setembro de 2025) trouxe o WebGPU para macOS, iPadOS, iOS e visionOS, eliminando a última grande lacuna de compatibilidade. Antes disso, o conselho “use apenas WebGL porque o Safari e o iOS não são compatíveis com WebGPU” estava correto. Agora não está mais. O Chrome e o Firefox já ofereciam compatibilidade, portanto, desde 2026, o WebGPU funciona em todos os principais navegadores.</p>
<p>Isso não significa que o WebGPU seja o padrão em todos os lugares. Na maioria das engines, ele ainda precisa ser ativado ou é considerado experimental (mais sobre isso abaixo), e o WebGL2 continua sendo a base mais segura. Mas a barreira de compatibilidade dos navegadores que impedia a adoção do WebGPU desapareceu.</p>
<h2 id="comparacao-direta" tabindex="-1">Comparação direta <a class="header-anchor" href="#comparacao-direta" aria-label="Permalink to &quot;Comparação direta&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th>WebGL (2.0)</th>
<th>WebGPU</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Baseado em</strong></td>
<td>OpenGL ES 3.0</td>
<td>Vulkan / Metal / D3D12</td>
</tr>
<tr>
<td><strong>Lançamento</strong></td>
<td>2017 (WebGL 1: 2011)</td>
<td>2023, amplo suporte dos navegadores em 2025–2026</td>
</tr>
<tr>
<td><strong>Compute shaders</strong></td>
<td>Não</td>
<td>Sim</td>
</tr>
<tr>
<td><strong>Sobrecarga da CPU</strong></td>
<td>Maior (custo por draw call)</td>
<td>Menor (buffers de comandos, menos comunicação com o driver)</td>
</tr>
<tr>
<td><strong>Melhor para</strong></td>
<td>Compatibilidade, cenas simples e intermediárias</td>
<td>Cenas pesadas, muitos objetos, computação na GPU</td>
</tr>
<tr>
<td><strong>Suporte dos navegadores</strong></td>
<td>Universal</td>
<td>Chrome, Firefox, Safari 26+ e todos os principais navegadores móveis</td>
</tr>
<tr>
<td><strong>Linguagem de shaders</strong></td>
<td>GLSL</td>
<td>WGSL</td>
</tr>
<tr>
<td><strong>Ergonomia da API</strong></td>
<td>Mais antiga, com mais estado global</td>
<td>Moderna, explícita e mais verbosa</td>
</tr>
</tbody>
</table>
<h2 id="quando-o-webgpu-se-destaca" tabindex="-1">Quando o WebGPU se destaca <a class="header-anchor" href="#quando-o-webgpu-se-destaca" aria-label="Permalink to &quot;Quando o WebGPU se destaca&quot;"></a></h2>
<ul>
<li><strong>Muitos objetos ou draw calls.</strong> A menor sobrecarga de CPU do WebGPU e recursos como multi-draw permitem manter a taxa de quadros em situações nas quais o WebGL começa a engasgar com a quantidade de draw calls.</li>
<li><strong>Computação na GPU.</strong> Sistemas de partículas, física, culling, geração procedural e Gaussian splatting 3D podem ser executados na GPU por meio de compute shaders. O WebGL simplesmente não consegue fazer isso.</li>
<li><strong>Preparação para o futuro.</strong> O WebGPU é o rumo da plataforma; cada vez mais, os novos recursos das engines chegam primeiro a ele.</li>
</ul>
<h2 id="quando-o-webgl-ainda-e-a-escolha-certa" tabindex="-1">Quando o WebGL ainda é a escolha certa <a class="header-anchor" href="#quando-o-webgl-ainda-e-a-escolha-certa" aria-label="Permalink to &quot;Quando o WebGL ainda é a escolha certa&quot;"></a></h2>
<ul>
<li><strong>Alcance máximo em dispositivos antigos ou de baixo desempenho.</strong> O WebGL2 funciona em hardware e versões de navegadores que talvez ainda não tenham uma implementação funcional do WebGPU.</li>
<li><strong>2D simples e 3D leve.</strong> Se o seu jogo não exige muito da GPU, o WebGL é mais do que suficiente e evita possíveis problemas com drivers mais novos.</li>
<li><strong>Você quer a base mais segura possível hoje.</strong> Publicar com WebGL2 sem lógica de fallback ainda é a opção de menor risco para alcançar um público amplo.</li>
</ul>
<p>A resposta pragmática em 2026 para a maioria dos jogos é: desenvolva com uma engine compatível com ambos, que use WebGPU quando disponível e faça fallback automático para WebGL2. Assim, você obtém mais velocidade onde ela está disponível e compatibilidade onde não está, sem precisar escrever dois renderizadores.</p>
<h2 id="o-que-sua-engine-ja-usa" tabindex="-1">O que sua engine já usa <a class="header-anchor" href="#o-que-sua-engine-ja-usa" aria-label="Permalink to &quot;O que sua engine já usa&quot;"></a></h2>
<p>Com base em nossa <a href="/pt-BR/guides/web-game-engines-comparison.html">comparação de engines para jogos web</a>, veja a situação das principais engines web em relação ao WebGPU em 2026:</p>
<ul>
<li><strong>PlayCanvas</strong> tem o renderizador WebGPU mais pronto para produção entre as engines web, incluindo renderização de Gaussian splats baseada em computação na GPU.</li>
<li><strong>Three.js</strong> inclui um renderizador WebGPU sem necessidade de configuração (<code>three/webgpu</code>), com fallback automático para WebGL2, embora a exportação padrão ainda use WebGL.</li>
<li><strong>Babylon.js</strong> é compatível com WebGPU (ative o <code>WebGPUEngine</code>); a versão 8 reduziu pela metade o tamanho do build WebGPU, e o Babylon.js 9.0 (março de 2026) avançou ainda mais, com iluminação em clusters nos dois backends e iluminação volumétrica baseada em compute shaders do WebGPU.</li>
<li><strong>Godot</strong> ainda não é compatível com WebGPU. A exportação para web na versão 4.7 continua limitada ao WebGL2, embora os builds wasm64 agora eliminem o antigo limite de memória de 4 GB.</li>
<li><strong>Cocos Creator</strong> oferece suporte experimental ao WebGPU por meio de seu novo pipeline de renderização.</li>
<li><strong>Unity</strong> mantém o WebGPU como experimental e o WebGL2 como alvo web padrão.</li>
<li><strong>Phaser 4</strong> é uma reescrita em WebGL2 e ainda não oferece WebGPU; o <strong>PixiJS</strong> é compatível com WebGPU, mas usa WebGL por padrão.</li>
</ul>
<p>Na prática, portanto, a engine geralmente toma a decisão entre WebGPU e WebGL por você, e as melhores fazem o fallback automaticamente.</p>
<h2 id="panorama-do-suporte-dos-navegadores-2026" tabindex="-1">Panorama do suporte dos navegadores (2026) <a class="header-anchor" href="#panorama-do-suporte-dos-navegadores-2026" aria-label="Permalink to &quot;Panorama do suporte dos navegadores (2026)&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Recurso</th>
<th>Chrome</th>
<th>Firefox</th>
<th>Safari</th>
<th>Dispositivos móveis</th>
</tr>
</thead>
<tbody>
<tr>
<td>WebGL 2.0</td>
<td>✅</td>
<td>✅</td>
<td>✅</td>
<td>✅</td>
</tr>
<tr>
<td>WebGPU</td>
<td>✅</td>
<td>✅</td>
<td>✅ Safari 26+</td>
<td>✅ iOS/iPadOS 26+</td>
</tr>
</tbody>
</table>
<p>Sempre teste no Safari/iOS se seu objetivo for alcançar um público amplo e mantenha um fallback para WebGL2 para a parcela de dispositivos mais antigos.</p>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="o-webgpu-e-melhor-que-o-webgl-para-jogos" tabindex="-1">O WebGPU é melhor que o WebGL para jogos? <a class="header-anchor" href="#o-webgpu-e-melhor-que-o-webgl-para-jogos" aria-label="Permalink to &quot;O WebGPU é melhor que o WebGL para jogos?&quot;"></a></h3>
<p>Para jogos exigentes, sim: o WebGPU tem menor sobrecarga de CPU, lida com mais objetos e oferece compute shaders para efeitos que o WebGL não consegue produzir. Para 2D simples ou 3D leve, o WebGL2 ainda é mais do que suficiente e oferece maior compatibilidade com dispositivos antigos. A melhor abordagem em 2026 é usar uma engine que adote o WebGPU quando disponível e faça fallback automático para WebGL2.</p>
<h3 id="o-webgpu-funciona-no-safari-e-no-ios-em-2026" tabindex="-1">O WebGPU funciona no Safari e no iOS em 2026? <a class="header-anchor" href="#o-webgpu-funciona-no-safari-e-no-ios-em-2026" aria-label="Permalink to &quot;O WebGPU funciona no Safari e no iOS em 2026?&quot;"></a></h3>
<p>Sim. O Safari 26, lançado em setembro de 2025, adicionou o WebGPU ao macOS, iPadOS, iOS e visionOS. Isso eliminou a última grande lacuna, portanto o WebGPU agora funciona no Chrome, Firefox e Safari, inclusive em dispositivos móveis. Dispositivos e versões de navegadores mais antigos ainda podem não ser compatíveis, então mantenha um fallback para WebGL2.</p>
<h3 id="devo-aprender-webgpu-ou-webgl-primeiro" tabindex="-1">Devo aprender WebGPU ou WebGL primeiro? <a class="header-anchor" href="#devo-aprender-webgpu-ou-webgl-primeiro" aria-label="Permalink to &quot;Devo aprender WebGPU ou WebGL primeiro?&quot;"></a></h3>
<p>Se você usa uma engine de jogos, normalmente não precisa programar diretamente com nenhum dos dois; a engine cuida disso. Se você escreve código gráfico manualmente, o WebGPU é a API mais preparada para o futuro, mas o WebGL ainda tem mais tutoriais e exemplos disponíveis. Muitos desenvolvedores ainda começam com WebGL ou uma biblioteca como Three.js, que agora oferece um renderizador WebGPU para quando você estiver pronto.</p>
<h3 id="o-webgpu-substituira-o-webgl" tabindex="-1">O WebGPU substituirá o WebGL? <a class="header-anchor" href="#o-webgpu-substituira-o-webgl" aria-label="Permalink to &quot;O WebGPU substituirá o WebGL?&quot;"></a></h3>
<p>Com o tempo, a maior parte dos novos projetos terá o WebGPU como alvo, mas o WebGL não desaparecerá tão cedo. Ele continua sendo a base universal para hardware antigo e está profundamente integrado às ferramentas e aos conteúdos existentes. Espere um longo período de coexistência, no qual as engines serão compatíveis com ambos e farão a escolha em tempo de execução.</p>
<BuildCta
  title="Teste sua GPU com algo que você possa jogar"
  desc="Um único prompt cria um jogo que realmente exige da renderização no seu navegador."
  prompt="Crie um jogo de tiro espacial com muitas partículas e explosões" />
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/web-game-engines-comparison.html">Melhores engines para jogos web em 2026</a> — uma comparação completa, incluindo o status do WebGPU em cada engine</li>
<li><a href="/pt-BR/guides/web-games-stack-2026.html">Stack tecnológica para jogos web em 2026</a> — WebGL, WebGPU e Wasm no nível das APIs</li>
<li><a href="/pt-BR/guides/unity-godot-playcanvas-web.html">Unity WebGL vs Godot vs PlayCanvas</a> — as três grandes engines 3D para web</li>
<li><a href="/pt-BR/guides/playcanvas-vs-threejs.html">PlayCanvas vs Three.js</a> — engine vs biblioteca para 3D na web</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/webgpu-vs-webgl-games-hero.jpg?v=3" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[100 ideias de prompts de jogos com IA (2026) que você pode criar com um clique]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/vibe-coding-game-prompts</link>
            <guid>https://app.cinevva.com/pt-BR/guides/vibe-coding-game-prompts</guid>
            <pubDate>Sat, 20 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[100 ideias de prompts de jogos com IA para 2026, organizadas por gênero. Clique em qualquer prompt e a Cinevva criará gratuitamente um jogo 3D jogável no seu navegador. Copie, ajuste ou escreva o seu.]]></description>
            <content:encoded><![CDATA[<h1 id="_100-ideias-de-prompts-de-jogos-com-ia-2026-que-voce-pode-criar-com-um-clique" tabindex="-1">100 ideias de prompts de jogos com IA (2026) que você pode criar com um clique <a class="header-anchor" href="#_100-ideias-de-prompts-de-jogos-com-ia-2026-que-voce-pode-criar-com-um-clique" aria-label="Permalink to &quot;100 ideias de prompts de jogos com IA (2026) que você pode criar com um clique&quot;"></a></h1>
<p><em>Última atualização: junho de 2026.</em></p>
<p>Vibe coding é a maneira mais rápida de criar um jogo hoje. Você descreve em linguagem simples o que quer, e a IA cria para você. Não é preciso instalar uma engine, escrever código nem vasculhar uma loja de assets. Muitas vezes, a parte mais difícil é simplesmente ter uma ideia — então aqui estão 100 delas.</p>
<p>Clique em qualquer prompt abaixo e a Cinevva abrirá com essa ideia já digitada e começará a criar um jogo 3D jogável que você pode editar e compartilhar. Todos funcionam no navegador e podem ser testados gratuitamente. Copie, troque uma palavra ou use-os como ponto de partida para criar os seus. Está começando agora? Leia <a href="/pt-BR/guides/vibe-coding-games.html">o que é vibe coding</a> ou confira o guia completo sobre <a href="/pt-BR/guides/make-a-game-with-ai.html">como criar um jogo com IA</a>.</p>
<h2 id="_12-favoritos-para-comecar" tabindex="-1">12 favoritos para começar <a class="header-anchor" href="#_12-favoritos-para-comecar" aria-label="Permalink to &quot;12 favoritos para começar&quot;"></a></h2>
<div class="prompt-grid">
<div class="prompt-card">
<strong>Jogo da cobrinha neon, só que mais rápido</strong>
<p>Um clássico brilhante com uma curva de dificuldade que dá o bote.</p>
<a class="prompt-go" href="/pt-BR/create?utm_source=blog&utm_medium=content&utm_campaign=vibe_prompt_pack#prompt=Make%20a%20neon%20snake%20game%20that%20speeds%20up%20as%20you%20grow">Crie gratuitamente →</a>
</div>
<div class="prompt-card">
<strong>Corrida de kart no deserto</strong>
<p>Pista low-poly, impulsos de derrapagem e um cronômetro de volta para superar.</p>
<a class="prompt-go" href="/pt-BR/create?utm_source=blog&utm_medium=content&utm_campaign=vibe_prompt_pack#prompt=Build%20a%20low%20poly%20kart%20racer%20on%20a%20desert%20track%20with%20drift%20boosts">Crie gratuitamente →</a>
</div>
<div class="prompt-card">
<strong>Parkour em ilhas flutuantes</strong>
<p>Em primeira pessoa, pule entre ilhas sem cair.</p>
<a class="prompt-go" href="/pt-BR/create?utm_source=blog&utm_medium=content&utm_campaign=vibe_prompt_pack#prompt=Make%20a%20first%20person%20parkour%20game%20across%20floating%20islands">Crie gratuitamente →</a>
</div>
<div class="prompt-card">
<strong>Defesa de torre contra slimes</strong>
<p>Posicione torres e mantenha a linha contra ondas de slimes.</p>
<a class="prompt-go" href="/pt-BR/create?utm_source=blog&utm_medium=content&utm_campaign=vibe_prompt_pack#prompt=Build%20a%20tower%20defense%20where%20I%20place%20turrets%20to%20stop%20waves%20of%20slimes">Crie gratuitamente →</a>
</div>
<div class="prompt-card">
<strong>Pescaria aconchegante ao pôr do sol</strong>
<p>Um lago tranquilo, uma linha na água e nenhuma pressa.</p>
<a class="prompt-go" href="/pt-BR/create?utm_source=blog&utm_medium=content&utm_campaign=vibe_prompt_pack#prompt=Make%20a%20cozy%20fishing%20game%20on%20a%20quiet%20lake%20at%20sunset">Crie gratuitamente →</a>
</div>
<div class="prompt-card">
<strong>Sobrevivência contra zumbis com uma lanterna</strong>
<p>Visão de cima, munição limitada e um facho de luz que não alcança muito longe.</p>
<a class="prompt-go" href="/pt-BR/create?utm_source=blog&utm_medium=content&utm_campaign=vibe_prompt_pack#prompt=Build%20a%20top%20down%20zombie%20survival%20with%20a%20flashlight%20and%20limited%20ammo">Crie gratuitamente →</a>
</div>
<div class="prompt-card">
<strong>Sandbox de física com blocos</strong>
<p>Empilhe-os bem alto e depois derrube tudo.</p>
<a class="prompt-go" href="/pt-BR/create?utm_source=blog&utm_medium=content&utm_campaign=vibe_prompt_pack#prompt=Make%20a%20physics%20sandbox%20where%20I%20stack%20blocks%20and%20knock%20them%20down">Crie gratuitamente →</a>
</div>
<div class="prompt-card">
<strong>Corrida rítmica</strong>
<p>Pule no ritmo da música ou perca sua sequência.</p>
<a class="prompt-go" href="/pt-BR/create?utm_source=blog&utm_medium=content&utm_campaign=vibe_prompt_pack#prompt=Build%20a%20rhythm%20runner%20where%20I%20jump%20in%20time%20with%20the%20music">Crie gratuitamente →</a>
</div>
<div class="prompt-card">
<strong>Combate espacial entre asteroides</strong>
<p>Espaço, mísseis teleguiados e rochas que não saem do caminho.</p>
<a class="prompt-go" href="/pt-BR/create?utm_source=blog&utm_medium=content&utm_campaign=vibe_prompt_pack#prompt=Make%20a%20space%20dogfight%20with%20asteroids%20and%20homing%20missiles">Crie gratuitamente →</a>
</div>
<div class="prompt-card">
<strong>Jogo de plataforma para coletar estrelas</strong>
<p>Pegue as estrelas, abra a porta e encontre a próxima sala.</p>
<a class="prompt-go" href="/pt-BR/create?utm_source=blog&utm_medium=content&utm_campaign=vibe_prompt_pack#prompt=Build%20a%203D%20platformer%20collecting%20stars%20to%20open%20the%20next%20door">Crie gratuitamente →</a>
</div>
<div class="prompt-card">
<strong>Minigolfe maluco</strong>
<p>Rampas, paredes móveis e um par que vai render discussão.</p>
<a class="prompt-go" href="/pt-BR/create?utm_source=blog&utm_medium=content&utm_campaign=vibe_prompt_pack#prompt=Make%20a%20golf%20game%20with%20wacky%20ramps%20and%20moving%20obstacles">Crie gratuitamente →</a>
</div>
<div class="prompt-card">
<strong>Roubo furtivo de uma joia</strong>
<p>Passe pelos guardas sem ser visto, pegue a joia e não seja descoberto.</p>
<a class="prompt-go" href="/pt-BR/create?utm_source=blog&utm_medium=content&utm_campaign=vibe_prompt_pack#prompt=Build%20a%20stealth%20game%20sneaking%20past%20guards%20to%20steal%20the%20gem">Crie gratuitamente →</a>
</div>
</div>
<h2 id="mais-ideias-de-prompts-por-genero" tabindex="-1">Mais ideias de prompts por gênero <a class="header-anchor" href="#mais-ideias-de-prompts-por-genero" aria-label="Permalink to &quot;Mais ideias de prompts por gênero&quot;"></a></h2>
<p>Todas as linhas abaixo são clicáveis. Escolha uma e a criação começará.</p>
<h3 id="jogos-de-plataforma-e-corrida" tabindex="-1">Jogos de plataforma e corrida <a class="header-anchor" href="#jogos-de-plataforma-e-corrida" aria-label="Permalink to &quot;Jogos de plataforma e corrida&quot;"></a></h3>
<ul>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a 3D platformer collecting coins across moving platforms">Jogo de plataforma 3D para coletar moedas em plataformas móveis</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build an endless runner dodging obstacles that speeds up over time">Corrida infinita para desviar de obstáculos que acelera com o tempo</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a wall jumping ninja platformer in a neon city">Jogo de plataforma com um ninja que salta pelas paredes de uma cidade neon</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a double jump platformer where the floor is lava">Jogo de plataforma com salto duplo em que o chão é lava</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make an ice physics platformer where everything is slippery">Jogo de plataforma com física de gelo em que tudo é escorregadio</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a speedrun platformer with a countdown timer per level">Jogo de plataforma para speedrun com contagem regressiva em cada fase</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a gravity flip platformer where you walk on the ceiling">Jogo de plataforma que inverte a gravidade e permite andar no teto</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build an auto runner where I only control jumping and sliding">Corrida automática em que controlo apenas os saltos e as deslizadas</a></li>
</ul>
<h3 id="corrida-e-direcao" tabindex="-1">Corrida e direção <a class="header-anchor" href="#corrida-e-direcao" aria-label="Permalink to &quot;Corrida e direção&quot;"></a></h3>
<ul>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a futuristic hover pod race on a glowing track">Corrida futurista de veículos flutuantes em uma pista brilhante</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build an off road rally through muddy hills and jumps">Rali off-road por colinas lamacentas e rampas</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a time trial drift game scoring points for long drifts">Jogo de drift contra o relógio que dá pontos por derrapagens longas</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a top down racer with power ups and oil slicks">Jogo de corrida com visão de cima, power-ups e poças de óleo</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a downhill bike ride dodging trees and rocks">Descida de bicicleta para desviar de árvores e pedras</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a boat race through a stormy sea with big waves">Corrida de barcos em um mar tempestuoso com ondas enormes</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a delivery driving game beating the clock through traffic">Jogo de entregas ao volante contra o relógio em meio ao trânsito</a></li>
</ul>
<h3 id="tiro-e-acao" tabindex="-1">Tiro e ação <a class="header-anchor" href="#tiro-e-acao" aria-label="Permalink to &quot;Tiro e ação&quot;"></a></h3>
<ul>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a wave shooter defending a base from robots">Jogo de tiro em ondas para defender uma base contra robôs</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a first person arena shooter with jump pads and power weapons">Jogo de tiro em arena em primeira pessoa com plataformas de salto e armas poderosas</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a twin stick shooter clearing rooms of enemies">Jogo de tiro com dois analógicos para eliminar inimigos de várias salas</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a bullet hell game dodging waves of projectiles">Jogo bullet hell para desviar de ondas de projéteis</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a tank battle in a destructible arena">Batalha de tanques em uma arena destrutível</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a sword fighting game blocking and countering attacks">Jogo de luta com espadas para bloquear e contra-atacar</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build an archery defense holding a gate against raiders">Defesa com arco e flecha para proteger um portão contra invasores</a></li>
</ul>
<h3 id="quebra-cabecas-e-logica" tabindex="-1">Quebra-cabeças e lógica <a class="header-anchor" href="#quebra-cabecas-e-logica" aria-label="Permalink to &quot;Quebra-cabeças e lógica&quot;"></a></h3>
<ul>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a block sliding puzzle to clear a path to the exit">Quebra-cabeça de deslizar blocos para abrir um caminho até a saída</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a color matching puzzle that clears connected groups">Quebra-cabeça de combinar cores que elimina grupos conectados</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a portal puzzle where I place two doors to cross gaps">Quebra-cabeça de portais em que posiciono duas portas para atravessar abismos</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a light and mirror puzzle aiming a beam at a target">Quebra-cabeça de luz e espelhos para direcionar um feixe até o alvo</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a maze game where the walls shift every few seconds">Jogo de labirinto em que as paredes mudam a cada poucos segundos</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a pipe connecting puzzle to route water to a tank">Quebra-cabeça de conectar canos para levar água até um tanque</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a memory game flipping tiles to find matching pairs">Jogo da memória para virar peças e encontrar pares iguais</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a crate pushing puzzle placing boxes onto targets">Jogo no estilo Sokoban para empurrar caixas até os alvos</a></li>
</ul>
<h3 id="sobrevivencia-e-terror" tabindex="-1">Sobrevivência e terror <a class="header-anchor" href="#sobrevivencia-e-terror" aria-label="Permalink to &quot;Sobrevivência e terror&quot;"></a></h3>
<ul>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make an island survival gathering wood and food to last the night">Sobrevivência em uma ilha para coletar madeira e comida e passar a noite</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a horror game escaping a dark maze while something follows">Jogo de terror para escapar de um labirinto escuro enquanto algo persegue você</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a bunker survival rationing supplies through waves of night">Sobrevivência em um bunker para racionar suprimentos durante sucessivas noites</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build an underwater survival managing oxygen while exploring a reef">Sobrevivência subaquática para administrar o oxigênio enquanto explora um recife</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a hide and seek horror in an abandoned house">Terror de esconde-esconde em uma casa abandonada</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a winter survival keeping a fire lit against the cold">Sobrevivência no inverno para manter uma fogueira acesa contra o frio</a></li>
</ul>
<h3 id="rpg-e-aventura" tabindex="-1">RPG e aventura <a class="header-anchor" href="#rpg-e-aventura" aria-label="Permalink to &quot;RPG e aventura&quot;"></a></h3>
<ul>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a top down dungeon crawler fighting monsters for loot">Dungeon crawler com visão de cima, enfrentando monstros em busca de itens</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build an open field adventure collecting herbs and crafting potions">Aventura em campo aberto coletando ervas e preparando poções</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a quest game talking to villagers to find a lost relic">Jogo de missões em que você conversa com aldeões para encontrar uma relíquia perdida</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a roguelike where each run scrambles the dungeon layout">Roguelike em que cada partida reorganiza a estrutura da masmorra</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a treasure hunt adventure following a map across an island">Aventura de caça ao tesouro seguindo um mapa por uma ilha</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a boss rush game fighting a series of giant creatures">Jogo de sequência de chefes, enfrentando uma série de criaturas gigantes</a></li>
</ul>
<h3 id="esportes-e-arcade" tabindex="-1">Esportes e arcade <a class="header-anchor" href="#esportes-e-arcade" aria-label="Permalink to &quot;Esportes e arcade&quot;"></a></h3>
<ul>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make an arcade basketball game shooting hoops against the clock">Jogo de basquete arcade fazendo cestas contra o relógio</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a bowling game with trick lanes and bumpers">Jogo de boliche com pistas malucas e canaletas protegidas</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a penalty shootout soccer game aiming past a keeper">Jogo de disputa de pênaltis tentando superar o goleiro</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a skateboard game chaining tricks for combos">Jogo de skate encadeando manobras para formar combos</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a home run derby baseball game timing the swing">Jogo de beisebol em uma disputa de home runs, acertando o tempo da rebatida</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a table tennis game rallying against a tricky opponent">Jogo de tênis de mesa trocando rebatidas contra um adversário habilidoso</a></li>
</ul>
<h3 id="aconchegantes-e-casuais" tabindex="-1">Aconchegantes e casuais <a class="header-anchor" href="#aconchegantes-e-casuais" aria-label="Permalink to &quot;Aconchegantes e casuais&quot;"></a></h3>
<ul>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a cozy farm game planting and harvesting crops">Jogo de fazenda aconchegante, plantando e colhendo alimentos</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a cafe game serving drinks to a line of customers">Jogo de cafeteria servindo bebidas a uma fila de clientes</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a garden game arranging plants and decorations">Jogo de jardinagem organizando plantas e decorações</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a pet care game feeding and playing with a creature">Jogo de cuidar de um bichinho, alimentando e brincando com uma criatura</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a cozy cooking game following recipes to plate a dish">Jogo de culinária aconchegante seguindo receitas para montar um prato</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a relaxing bird watching game spotting species in a forest">Jogo relaxante de observação de aves, identificando espécies em uma floresta</a></li>
</ul>
<h3 id="sandbox-e-fisica" tabindex="-1">Sandbox e física <a class="header-anchor" href="#sandbox-e-fisica" aria-label="Permalink to &quot;Sandbox e física&quot;"></a></h3>
<ul>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a marble run where I build ramps to reach the goal">Pista de bolinhas de gude em que construo rampas para chegar ao objetivo</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a demolition game knocking down towers with a wrecking ball">Jogo de demolição derrubando torres com uma bola de demolição</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a bridge builder where my bridge has to hold a truck">Construtor de pontes em que minha ponte precisa sustentar um caminhão</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a ragdoll launch game flinging a character for distance">Jogo de lançamento de ragdoll, arremessando um personagem o mais longe possível</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a cannon game blasting targets with bouncing balls">Jogo de canhão atingindo alvos com bolas que quicam</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a domino toppling sandbox setting off a chain reaction">Sandbox de peças de dominó que desencadeiam uma reação em cadeia</a></li>
</ul>
<h3 id="ficcao-cientifica-e-espaco" tabindex="-1">Ficção científica e espaço <a class="header-anchor" href="#ficcao-cientifica-e-espaco" aria-label="Permalink to &quot;Ficção científica e espaço&quot;"></a></h3>
<ul>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a spaceship landing game touching down gently on low fuel">Jogo de pouso de nave espacial, aterrissando suavemente com pouco combustível</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build an asteroid mining game collecting ore and dodging rocks">Jogo de mineração de asteroides, coletando minério e desviando de rochas</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a zero gravity station where I float between handholds">Estação de gravidade zero em que flutuo entre pontos de apoio</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build an alien planet explorer scanning strange creatures">Exploração de um planeta alienígena, escaneando criaturas estranhas</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a wormhole runner steering through a tunnel of light">Corrida por um buraco de minhoca, pilotando por um túnel de luz</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a rover game driving across a crater filled moon">Jogo de rover atravessando uma lua repleta de crateras</a></li>
</ul>
<h3 id="estrategia-e-defesa-de-torres" tabindex="-1">Estratégia e defesa de torres <a class="header-anchor" href="#estrategia-e-defesa-de-torres" aria-label="Permalink to &quot;Estratégia e defesa de torres&quot;"></a></h3>
<ul>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a tower defense where towers can be upgraded between waves">Defesa de torres em que as torres podem ser aprimoradas entre as ondas</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a base builder placing walls and turrets before a raid">Construtor de bases, posicionando muros e torres antes de um ataque</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a resource game balancing food wood and gold to grow a town">Jogo de recursos em que você equilibra comida, madeira e ouro para expandir uma cidade</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a maze tower defense where I shape the path enemies take">Defesa de torres em labirinto, em que defino o caminho percorrido pelos inimigos</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a lane defense sending units to push toward the enemy base">Defesa por rotas, enviando unidades para avançar até a base inimiga</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build an auto battler arranging a team that fights on its own">Auto battler em que você organiza uma equipe que luta sozinha</a></li>
</ul>
<h3 id="voo-e-aviacao" tabindex="-1">Voo e aviação <a class="header-anchor" href="#voo-e-aviacao" aria-label="Permalink to &quot;Voo e aviação&quot;"></a></h3>
<ul>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a flight sim gliding through canyons and arches">Simulador de voo planando por cânions e arcos</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a hot air balloon game drifting between rings in the sky">Jogo de balão de ar quente, flutuando entre aros no céu</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a wingsuit dive threading through narrow gaps">Mergulho com wingsuit atravessando passagens estreitas</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a paper airplane game catching wind currents for distance">Jogo de avião de papel aproveitando correntes de ar para chegar mais longe</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a dragon flight game swooping to grab coins midair">Jogo de voo com dragão, mergulhando para pegar moedas no ar</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a helicopter rescue lifting survivors off rooftops">Resgate de helicóptero, retirando sobreviventes dos telhados</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a jetpack game burning fuel to climb past obstacles">Jogo de jetpack, consumindo combustível para subir e superar obstáculos</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a bird flocking game leading a flock through gates">Jogo de revoada, conduzindo um bando de pássaros por portais</a></li>
</ul>
<h3 id="peculiares-e-experimentais" tabindex="-1">Peculiares e experimentais <a class="header-anchor" href="#peculiares-e-experimentais" aria-label="Permalink to &quot;Peculiares e experimentais&quot;"></a></h3>
<ul>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a game where you play as a rolling ball growing bigger by absorbing objects">Jogo em que você controla uma bola que cresce ao absorver objetos</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a game where gravity points wherever I click">Jogo em que a gravidade aponta para onde eu clicar</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a game played entirely in one rotating room">Jogo que acontece inteiramente em uma sala giratória</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a game where the screen shrinks as time runs out">Jogo em que a tela encolhe à medida que o tempo acaba</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a game where you control two characters at once">Jogo em que você controla dois personagens ao mesmo tempo</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a game where painting the floor is how you score">Jogo em que você marca pontos pintando o chão</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Make a game where the world is made of stacked cubes you can remove">Jogo em que o mundo é feito de cubos empilhados que você pode remover</a></li>
<li><a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack#prompt=Build a game where you grow a tower as tall as possible before it topples">Jogo em que você constrói uma torre o mais alta possível antes que ela desabe</a></li>
</ul>
<h2 id="como-escrever-seus-proprios-prompts" tabindex="-1">Como escrever seus próprios prompts <a class="header-anchor" href="#como-escrever-seus-proprios-prompts" aria-label="Permalink to &quot;Como escrever seus próprios prompts&quot;"></a></h2>
<p>Os prompts acima são curtos de propósito. Você não precisa especificar todas as regras. Diga o tipo de jogo, algo que o torne único e um objetivo, e a IA cuida do resto. Depois que ele estiver funcionando, diga o que deve ser alterado. Para saber mais sobre o processo, veja <a href="/pt-BR/guides/make-a-game-with-ai.html">como criar um jogo com IA</a>.</p>
<p>Prefere começar com uma tela em branco? <a href="/pt-BR/create.html?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=vibe_prompt_pack">Abra o criador</a> e digite sua própria ideia.</p>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="como-escrever-um-bom-prompt-para-criar-jogos-com-ia" tabindex="-1">Como escrever um bom prompt para criar jogos com IA? <a class="header-anchor" href="#como-escrever-um-bom-prompt-para-criar-jogos-com-ia" aria-label="Permalink to &quot;Como escrever um bom prompt para criar jogos com IA?&quot;"></a></h3>
<p>Use uma única frase e mencione três coisas: o gênero, um detalhe que torne o jogo único e um objetivo claro. “Um jogo de parkour em primeira pessoa por ilhas flutuantes, no qual você corre contra o relógio” funciona muito melhor do que “um jogo 3D divertido”, pois dá à IA uma estrutura concreta para criar. Refine o resultado pedindo uma alteração de cada vez.</p>
<h3 id="estes-prompts-para-criar-jogos-com-ia-sao-gratuitos" tabindex="-1">Estes prompts para criar jogos com IA são gratuitos? <a class="header-anchor" href="#estes-prompts-para-criar-jogos-com-ia-sao-gratuitos" aria-label="Permalink to &quot;Estes prompts para criar jogos com IA são gratuitos?&quot;"></a></h3>
<p>Sim. Você pode usar gratuitamente qualquer prompt desta página para criar no navegador, editar o resultado e compartilhar um link para seu jogo. A geração gratuita tem limites, e o uso comercial de um jogo finalizado depende do plano e dos recursos utilizados. Portanto, consulte os termos antes de vender qualquer coisa.</p>
<h3 id="a-ia-consegue-criar-um-jogo-3d-usando-um-destes-prompts" tabindex="-1">A IA consegue criar um jogo 3D usando um destes prompts? <a class="header-anchor" href="#a-ia-consegue-criar-um-jogo-3d-usando-um-destes-prompts" aria-label="Permalink to &quot;A IA consegue criar um jogo 3D usando um destes prompts?&quot;"></a></h3>
<p>Sim. Cada prompt desta página foi desenvolvido para gerar um jogo 3D jogável no navegador. A primeira versão é um ponto de partida que você refina conversando com a IA e pedindo novas mecânicas, arte, sons e ajustes de dificuldade até que o resultado fique como deseja.</p>
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/make-a-game-with-ai.html">Como Criar um Jogo com IA (Sem Programar)</a> — o processo completo</li>
<li><a href="/pt-BR/guides/vibe-coding-games.html">Vibe Coding de Jogos: O Que É e Como Começar</a> — entenda essa abordagem</li>
<li><a href="/pt-BR/guides/ai-game-generators-2026.html">Melhores Geradores de Jogos com IA em 2026</a> — comparação das ferramentas</li>
<li><a href="/pt-BR/guides/3d-browser-game-without-coding.html">Como Criar um Jogo 3D para Navegador sem Programar</a> — o processo 3D em detalhes</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/vibe-coding-game-prompts-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Melhores engines de jogos de código aberto para 2026]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/open-source-game-engines-2026</link>
            <guid>https://app.cinevva.com/pt-BR/guides/open-source-game-engines-2026</guid>
            <pubDate>Thu, 18 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Uma lista completa das melhores engines de jogos de código aberto para 2026 — Godot, Phaser, PixiJS, Defold, Bevy, Three.js, Babylon.js e mais, com licenças, linguagens, exportação para web e uma recomendação para cada caso de uso.]]></description>
            <content:encoded><![CDATA[<h1 id="melhores-engines-de-jogos-de-codigo-aberto-para-2026" tabindex="-1">Melhores engines de jogos de código aberto para 2026 <a class="header-anchor" href="#melhores-engines-de-jogos-de-codigo-aberto-para-2026" aria-label="Permalink to &quot;Melhores engines de jogos de código aberto para 2026&quot;"></a></h1>
<figure style="margin:1.5rem 0">
<img src="https://cdn.cinevva.com/guides/open-source-game-engines-hero.jpg?v=2" alt="Melhores engines de jogos de código aberto para 2026" style="width:100%;border-radius:10px">
</figure>
<p>Engines de jogos de código aberto oferecem algo que as proprietárias não podem oferecer: uma licença que não mudará depois que você lançar o jogo. Sem taxas por usuário, limites de receita ou mudanças inesperadas de preço. Você pode ler o código-fonte, criar um fork e continuar desenvolvendo mesmo que a equipe original abandone o projeto. Depois do <a href="/pt-BR/news/2024-09-12-unity-runtime-fee-cancelled.html">episódio da Unity Runtime Fee</a>, foi justamente essa estabilidade que levou muitas equipes a migrar para o código aberto.</p>
<p>Esta é a lista completa das engines de jogos de código aberto que vale a pena usar em 2026, agrupadas por finalidade. Se você precisa especificamente de uma versão para web, indicamos quais delas exportam para o navegador. Para uma análise mais aprofundada, consulte nossa <a href="/pt-BR/guides/web-game-engines-comparison.html">comparação das melhores engines de jogos para web</a>.</p>
<h2 id="comparacao-rapida" tabindex="-1">Comparação rápida <a class="header-anchor" href="#comparacao-rapida" aria-label="Permalink to &quot;Comparação rápida&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Engine</th>
<th>Licença</th>
<th>Linguagem</th>
<th>2D / 3D</th>
<th>Exportação para web</th>
<th>Melhor para</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/pt-BR/guides/godot-vs-unity-web-games.html"><strong>Godot</strong></a></td>
<td>MIT</td>
<td>GDScript, C#</td>
<td>Ambos</td>
<td>Sim (GDScript)</td>
<td>A engine gratuita mais versátil</td>
</tr>
<tr>
<td><strong>Phaser</strong></td>
<td>MIT</td>
<td>JavaScript</td>
<td>2D</td>
<td>Sim</td>
<td>Jogos 2D para web</td>
</tr>
<tr>
<td><strong>PixiJS</strong></td>
<td>MIT</td>
<td>JavaScript</td>
<td>2D</td>
<td>Sim</td>
<td>Renderização 2D personalizada</td>
</tr>
<tr>
<td><strong>Three.js</strong></td>
<td>MIT</td>
<td>JS / TS</td>
<td>3D</td>
<td>Sim</td>
<td>3D para web, controle máximo</td>
</tr>
<tr>
<td><strong>Babylon.js</strong></td>
<td>Apache 2.0</td>
<td>JS / TS</td>
<td>3D</td>
<td>Sim</td>
<td>3D completo para web</td>
</tr>
<tr>
<td><strong>Defold</strong></td>
<td>Gratuita, código-fonte disponível</td>
<td>Lua</td>
<td>2D / 3D leve</td>
<td>Sim</td>
<td>Menores builds para web</td>
</tr>
<tr>
<td><strong>Excalibur.js</strong></td>
<td>BSD</td>
<td>TypeScript</td>
<td>2D</td>
<td>Sim</td>
<td>Jogos 2D em TypeScript</td>
</tr>
<tr>
<td><strong>Bevy</strong></td>
<td>MIT / Apache 2.0</td>
<td>Rust</td>
<td>Ambos</td>
<td>Sim (Wasm)</td>
<td>Rust e design orientado a dados</td>
</tr>
<tr>
<td><strong>LÖVE</strong></td>
<td>zlib</td>
<td>Lua</td>
<td>2D</td>
<td>Limitada</td>
<td>Protótipos 2D rápidos</td>
</tr>
<tr>
<td><strong>Cocos Creator</strong></td>
<td>Runtime MIT</td>
<td>TypeScript</td>
<td>Ambos</td>
<td>Sim</td>
<td>Minijogos e mercado asiático</td>
</tr>
<tr>
<td><strong>O3DE</strong></td>
<td>Apache 2.0</td>
<td>C++, Lua</td>
<td>3D</td>
<td>Não</td>
<td>3D em grande escala, escopo AAA</td>
</tr>
</tbody>
</table>
<p>Não existe uma única engine de código aberto que seja a “melhor”. A escolha certa depende de 2D ou 3D, da linguagem usada e de você ter ou não a web como plataforma de destino.</p>
<h2 id="engines-2d-e-3d-completas" tabindex="-1">Engines 2D e 3D completas <a class="header-anchor" href="#engines-2d-e-3d-completas" aria-label="Permalink to &quot;Engines 2D e 3D completas&quot;"></a></h2>
<h3 id="godot" tabindex="-1">Godot <a class="header-anchor" href="#godot" aria-label="Permalink to &quot;Godot&quot;"></a></h3>
<p>Godot é a engine à qual a maioria das pessoas se refere quando fala em “engine de jogos de código aberto”. Ela usa a licença MIT, trabalha tanto com 2D quanto com 3D e não tem taxas nem limites de receita de qualquer tipo. Gera builds pequenas para web (cerca de 5 MB com Brotli ou 9 MB com gzip) e, desde a versão 4.3, permite exportação single-threaded para oferecer suporte adequado a iOS e Safari. A única ressalva para web é que projetos em C# ainda não podem ser exportados para o navegador, apenas os feitos em GDScript. Para a maioria das equipes que estão deixando uma engine proprietária, Godot é a alternativa completa mais próxima. Veja <a href="/pt-BR/guides/godot-vs-unity-web-games.html">Godot vs Unity para jogos web</a> para uma comparação direta.</p>
<h3 id="cocos-creator" tabindex="-1">Cocos Creator <a class="header-anchor" href="#cocos-creator" aria-label="Permalink to &quot;Cocos Creator&quot;"></a></h3>
<p>Cocos Creator combina um editor gratuito com um runtime de código aberto (MIT). Trabalha com 2D e 3D, oferece suporte a WebGL, WebGPU e Wasm e se destaca especialmente em plataformas de minijogos como WeChat e TikTok, nas quais o tamanho da build é crucial. As builds ficam em torno de 2 a 4 MB.</p>
<h2 id="bibliotecas-e-engines-3d-para-web" tabindex="-1">Bibliotecas e engines 3D para web <a class="header-anchor" href="#bibliotecas-e-engines-3d-para-web" aria-label="Permalink to &quot;Bibliotecas e engines 3D para web&quot;"></a></h2>
<h3 id="three-js" tabindex="-1">Three.js <a class="header-anchor" href="#three-js" aria-label="Permalink to &quot;Three.js&quot;"></a></h3>
<p>Three.js é a biblioteca 3D mais usada na web, utiliza a licença MIT e tem um núcleo de cerca de 150 KB. É uma biblioteca de renderização, não uma engine completa, então você precisa adicionar seus próprios sistemas de jogo ou usar um framework por cima. Essa é a troca: controle máximo e tamanho mínimo, em troca de ter que programar mais por conta própria. Ela é a base sobre a qual desenvolvemos a <a href="/pt-BR/engine.html">Cinevva Engine</a>, acrescentando novamente os sistemas de jogo para que você não precise começar com uma tela em branco.</p>
<h3 id="babylon-js" tabindex="-1">Babylon.js <a class="header-anchor" href="#babylon-js" aria-label="Permalink to &quot;Babylon.js&quot;"></a></h3>
<p>Babylon.js é uma engine 3D completa e de código aberto (Apache 2.0), com física, animação e inspetor de cenas integrados, além de amplo suporte a WebGPU e WGSL. Em comparação com Three.js, ela oferece mais recursos prontos para uso, mas ocupa mais espaço. Veja <a href="/pt-BR/guides/threejs-vs-babylonjs.html">Three.js vs Babylon.js</a> para descobrir qual delas é mais adequada ao seu projeto.</p>
<h2 id="frameworks-2d" tabindex="-1">Frameworks 2D <a class="header-anchor" href="#frameworks-2d" aria-label="Permalink to &quot;Frameworks 2D&quot;"></a></h2>
<h3 id="phaser" tabindex="-1">Phaser <a class="header-anchor" href="#phaser" aria-label="Permalink to &quot;Phaser&quot;"></a></h3>
<p>Phaser é o framework de jogos HTML5 de código aberto mais popular, utiliza a licença MIT e conta com a maior comunidade e o maior ecossistema de desenvolvimento 2D para web. As builds ficam em torno de 500 KB. Se o seu jogo é 2D e você programa em JavaScript, é difícil encontrar opção melhor.</p>
<h3 id="pixijs" tabindex="-1">PixiJS <a class="header-anchor" href="#pixijs" aria-label="Permalink to &quot;PixiJS&quot;"></a></h3>
<p>PixiJS é um renderizador 2D rápido para WebGL (MIT), com cerca de 200 KB. Assim como Three.js no 3D, é um renderizador, não uma engine completa, então você precisa fornecer sua própria lógica de jogo. Escolha-o quando quiser renderização 2D personalizada e um tamanho mínimo.</p>
<h3 id="excalibur-js" tabindex="-1">Excalibur.js <a class="header-anchor" href="#excalibur-js" aria-label="Permalink to &quot;Excalibur.js&quot;"></a></h3>
<p>Excalibur.js é uma engine 2D acessível, escrita em TypeScript e distribuída sob a licença BSD. Tem cerca de 300 KB e oferece mais recursos de jogo integrados do que um renderizador básico. É uma boa opção se você quer tipagem e uma curva de aprendizado suave.</p>
<h3 id="love-love2d" tabindex="-1">LÖVE (Love2D) <a class="header-anchor" href="#love-love2d" aria-label="Permalink to &quot;LÖVE (Love2D)&quot;"></a></h3>
<p>LÖVE é um framework 2D consolidado, distribuído sob a licença zlib e programado em Lua. É muito apreciado pela rapidez na criação de protótipos e em game jams para desktop. A exportação para web existe por meio do love.js, mas é limitada, então considere LÖVE uma ferramenta voltada principalmente para desktop.</p>
<h2 id="rust-c-e-engines-de-grande-escala" tabindex="-1">Rust, C++ e engines de grande escala <a class="header-anchor" href="#rust-c-e-engines-de-grande-escala" aria-label="Permalink to &quot;Rust, C++ e engines de grande escala&quot;"></a></h2>
<h3 id="bevy" tabindex="-1">Bevy <a class="header-anchor" href="#bevy" aria-label="Permalink to &quot;Bevy&quot;"></a></h3>
<p>Bevy é uma engine moderna, orientada a dados e escrita em Rust, com licenciamento duplo MIT e Apache 2.0. Sua arquitetura de sistema de entidade-componente é um grande atrativo, e ela pode ser compilada para WebAssembly em builds para navegador. É mais nova do que as demais e evolui rapidamente, então espere mudanças incompatíveis entre versões, mas ela apresenta um forte crescimento em 2026.</p>
<h3 id="open-3d-engine-o3de" tabindex="-1">Open 3D Engine (O3DE) <a class="header-anchor" href="#open-3d-engine-o3de" aria-label="Permalink to &quot;Open 3D Engine (O3DE)&quot;"></a></h3>
<p>O3DE é um projeto da Linux Foundation (Apache 2.0) voltado a experiências 3D em grande escala e alta fidelidade, com apoio da AWS e de outras empresas. É uma engine robusta e pesada para equipes com ambições AAA e recursos à altura. Ela não tem o navegador como plataforma de destino.</p>
<h2 id="como-escolher" tabindex="-1">Como escolher <a class="header-anchor" href="#como-escolher" aria-label="Permalink to &quot;Como escolher&quot;"></a></h2>
<ul>
<li><strong>Quer uma única engine gratuita para quase tudo?</strong> Godot.</li>
<li><strong>Está desenvolvendo um jogo 2D para web?</strong> Phaser, ou PixiJS/Excalibur.js para renderização personalizada.</li>
<li><strong>Está desenvolvendo em 3D para web?</strong> Three.js para controle e tamanho reduzido; Babylon.js para ter tudo pronto para uso.</li>
<li><strong>Quer a menor build possível para web?</strong> Defold.</li>
<li><strong>Tem plataformas de minijogos como destino?</strong> Cocos Creator.</li>
<li><strong>Gosta de Rust e ECS?</strong> Bevy.</li>
<li><strong>Precisa de 3D em grande escala e alta fidelidade?</strong> O3DE.</li>
</ul>
<p>Se a web é sua plataforma de destino, todas as engines acima, exceto O3DE e, em grande parte, LÖVE, podem gerar uma build para navegador. Para uma análise completa voltada especificamente à web, veja a <a href="/pt-BR/guides/web-game-engines-comparison.html">comparação de engines de jogos para web</a> e nosso guia de <a href="/pt-BR/guides/unity-alternatives-web-games.html">alternativas à Unity para jogos web</a>.</p>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="qual-e-a-melhor-engine-de-jogos-de-codigo-aberto-em-2026" tabindex="-1">Qual é a melhor engine de jogos de código aberto em 2026? <a class="header-anchor" href="#qual-e-a-melhor-engine-de-jogos-de-codigo-aberto-em-2026" aria-label="Permalink to &quot;Qual é a melhor engine de jogos de código aberto em 2026?&quot;"></a></h3>
<p>Para a maioria das pessoas, é Godot: tem licença MIT, é gratuita, não impõe limites de receita e oferece bons recursos tanto para 2D quanto para 3D, além de uma exportação simples para web. Especificamente para jogos 2D na web, Phaser é a opção de código aberto mais popular. Para 3D na web, as principais escolhas são Three.js (uma biblioteca) ou Babylon.js (uma engine completa). A melhor opção depende das dimensões, da linguagem e da plataforma.</p>
<h3 id="godot-e-realmente-gratuita-sem-pegadinhas" tabindex="-1">Godot é realmente gratuita, sem pegadinhas? <a class="header-anchor" href="#godot-e-realmente-gratuita-sem-pegadinhas" aria-label="Permalink to &quot;Godot é realmente gratuita, sem pegadinhas?&quot;"></a></h3>
<p>Sim. Godot é distribuída sob a licença MIT, o que significa que nunca haverá taxas, royalties, limites de receita ou cobranças por usuário. Você pode usá-la em jogos comerciais e até modificar a própria engine. O projeto é financiado por doações e patrocínios, não por cobranças feitas aos desenvolvedores.</p>
<h3 id="engines-de-jogos-de-codigo-aberto-sao-boas-o-suficiente-para-jogos-comerciais" tabindex="-1">Engines de jogos de código aberto são boas o suficiente para jogos comerciais? <a class="header-anchor" href="#engines-de-jogos-de-codigo-aberto-sao-boas-o-suficiente-para-jogos-comerciais" aria-label="Permalink to &quot;Engines de jogos de código aberto são boas o suficiente para jogos comerciais?&quot;"></a></h3>
<p>Sim. Muitos jogos comercialmente bem-sucedidos são lançados com engines de código aberto, e o código aberto significa que não há limites de receita com os quais se preocupar. As desvantagens geralmente são um marketplace integrado de assets menor e, no caso de algumas engines, menos recursos prontos para uso do que uma grande engine proprietária. Especialmente para jogos web, engines de código aberto costumam gerar builds menores e mais rápidas.</p>
<h3 id="unity-ou-unreal-sao-de-codigo-aberto" tabindex="-1">Unity ou Unreal são de código aberto? <a class="header-anchor" href="#unity-ou-unreal-sao-de-codigo-aberto" aria-label="Permalink to &quot;Unity ou Unreal são de código aberto?&quot;"></a></h3>
<p>Não. Unity tem código fechado e é baseada em assinaturas. Unreal Engine tem código-fonte disponível — você pode ler e modificar o código usando uma conta —, mas não é de código aberto e adota um modelo de royalties acima de determinado limite de receita. Se você procura especificamente uma engine de código aberto, Godot é a opção mais próxima da Unity, e nosso <a href="/pt-BR/guides/unity-alternatives-web-games.html">guia de alternativas à Unity</a> apresenta as demais.</p>
<h3 id="qual-engine-de-jogos-de-codigo-aberto-e-melhor-para-web" tabindex="-1">Qual engine de jogos de código aberto é melhor para web? <a class="header-anchor" href="#qual-engine-de-jogos-de-codigo-aberto-e-melhor-para-web" aria-label="Permalink to &quot;Qual engine de jogos de código aberto é melhor para web?&quot;"></a></h3>
<p>Godot para uma engine versátil 2D/3D, Phaser para 2D e Three.js ou Babylon.js para 3D. Defold gera as menores builds para web entre todas as engines completas. Todas elas são gratuitas e de código aberto. Nossa <a href="/pt-BR/guides/web-game-engines-comparison.html">comparação de engines de jogos para web</a> classifica cada uma por tamanho da build, tempo de carregamento e suporte dos navegadores.</p>
<BuildCta
  title="Engines gratuitas são ótimas. Gratuitas e sem configuração são ainda mais rápidas"
  desc="Teste a ideia primeiro e adote a engine quando o projeto crescer."
  prompt="Crie um dungeon crawler retrô com tochas e esqueletos" />
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/web-game-engines-comparison.html">Melhores engines de jogos para web em 2026 (comparadas)</a> — classificadas por tamanho da build, tempo de carregamento e custo</li>
<li><a href="/pt-BR/guides/unity-alternatives-web-games.html">Alternativas à Unity para jogos web</a> — opções de código aberto para equipes que estão deixando a Unity</li>
<li><a href="/pt-BR/guides/godot-vs-unity-web-games.html">Godot vs Unity para jogos web</a> — comparação direta com a alternativa de código aberto mais próxima</li>
<li><a href="/pt-BR/guides/best-2d-game-engines-2026.html">Melhores engines de jogos 2D para 2026</a> — se o seu jogo é 2D</li>
<li><a href="/pt-BR/guides/threejs-vs-babylonjs.html">Three.js vs Babylon.js</a> — as duas grandes bibliotecas 3D de código aberto para web</li>
<li><a href="/pt-BR/engine.html">Cinevva Engine</a> — nossa engine de código aberto voltada para web e desenvolvida sobre Three.js</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/open-source-game-engines-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Alternativas à Unity para jogos web (2026)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/unity-alternatives-web-games</link>
            <guid>https://app.cinevva.com/pt-BR/guides/unity-alternatives-web-games</guid>
            <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[As melhores alternativas à Unity para jogos de navegador em 2026 - Godot, PlayCanvas, Three.js, Defold, Cocos, Phaser e outras, comparadas por exportação para web, tamanho da build, linguagem e custo, com uma recomendação baseada no motivo pelo qual você está deixando a Unity.]]></description>
            <content:encoded><![CDATA[<h1 id="alternativas-a-unity-para-jogos-web-2026" tabindex="-1">Alternativas à Unity para jogos web (2026) <a class="header-anchor" href="#alternativas-a-unity-para-jogos-web-2026" aria-label="Permalink to &quot;Alternativas à Unity para jogos web (2026)&quot;"></a></h1>
<figure style="margin:1.5rem 0">
<img src="https://cdn.cinevva.com/guides/unity-alternatives-web-hero.jpg?v=2" alt="Alternativas à Unity para jogos web em 2026" style="width:100%;border-radius:10px">
</figure>
<p>A Unity pode exportar para a web, mas suas builds WebGL são pesadas, suas mudanças de preços vêm causando insegurança entre desenvolvedores desde 2023 e, para um jogo pensado primeiro para o navegador, ela raramente é o caminho mais leve. Se você procura uma alternativa à Unity especificamente para jogos web, este guia apresenta as engines que realmente geram builds pequenas e rápidas para navegador em 2026, além de indicar qual escolher com base no motivo pelo qual você está deixando a Unity.</p>
<p>Se quiser comparar todas as opções lado a lado, comece pela nossa <a href="/pt-BR/guides/web-game-engines-comparison.html">comparação das melhores engines de jogos web para 2026</a>. Esta página trata do caso específico de substituir a Unity para a web.</p>
<h2 id="por-que-os-desenvolvedores-procuram-alternativas-a-unity" tabindex="-1">Por que os desenvolvedores procuram alternativas à Unity <a class="header-anchor" href="#por-que-os-desenvolvedores-procuram-alternativas-a-unity" aria-label="Permalink to &quot;Por que os desenvolvedores procuram alternativas à Unity&quot;"></a></h2>
<p>Alguns motivos aparecem repetidamente:</p>
<ul>
<li><strong>Confiança nos preços.</strong> A <a href="/pt-BR/news/2024-09-12-unity-runtime-fee-cancelled.html">Unity Runtime Fee</a> foi cancelada em setembro de 2024 e não voltou, mas ensinou muitas equipes a se planejarem em torno da pergunta: &quot;e se os termos mudarem novamente?&quot;. Uma engine cuja licença não pode ter seu preço alterado elimina esse risco.</li>
<li><strong>Tamanho da build web.</strong> As builds WebGL vazias da Unity começam em cerca de 8 a 11 MB. Engines nativas da web geram builds na faixa de 1 a 5 MB, algo que os jogadores percebem diretamente no tempo de carregamento.</li>
<li><strong>Compatibilidade com navegadores móveis.</strong> Historicamente, o Unity WebGL em celulares tem sido instável. Engines mais leves, criadas para a web, funcionam melhor no Safari e no Chrome para dispositivos móveis.</li>
<li><strong>Código aberto.</strong> Algumas equipes querem uma base de código que possam ler, bifurcar e usar sem depender de um fornecedor.</li>
</ul>
<p>A boa notícia: para a web, as alternativas são excelentes, e várias delas serão gratuitas para sempre.</p>
<h2 id="comparacao-rapida" tabindex="-1">Comparação rápida <a class="header-anchor" href="#comparacao-rapida" aria-label="Permalink to &quot;Comparação rápida&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Alternativa</th>
<th>Tipo</th>
<th>Tecnologia web</th>
<th>Tamanho da build (vazia)</th>
<th>Linguagem</th>
<th>Custo</th>
<th>Melhor para</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/pt-BR/guides/godot-vs-unity-web-games.html"><strong>Godot</strong></a></td>
<td>Engine 2D/3D completa</td>
<td>WebGL2 + Wasm</td>
<td>~5 MB com Brotli, ~9 MB com gzip</td>
<td>GDScript (C# ainda não funciona na web)</td>
<td>Gratuita (MIT)</td>
<td>A substituta completa mais próxima da Unity</td>
</tr>
<tr>
<td><strong>PlayCanvas</strong></td>
<td>Engine 3D voltada à web</td>
<td>WebGL2 + WebGPU</td>
<td>~1-2 MB</td>
<td>JavaScript</td>
<td>Plano gratuito; planos pagos</td>
<td>3D voltado ao navegador com editor na nuvem</td>
</tr>
<tr>
<td><strong>Babylon.js</strong></td>
<td>Engine 3D voltada à web</td>
<td>WebGL2 + WebGPU</td>
<td>~1-2 MB</td>
<td>JavaScript / TypeScript</td>
<td>Gratuita (Apache 2.0)</td>
<td>Uma engine gratuita e completa para quem está deixando a Unity</td>
</tr>
<tr>
<td><strong>Three.js / Cinevva</strong></td>
<td>Biblioteca / engine 3D</td>
<td>WebGL2 + WebGPU</td>
<td>~150 KB no núcleo</td>
<td>JavaScript / TypeScript</td>
<td>Gratuita (MIT)</td>
<td>Máximo controle e menor tamanho</td>
</tr>
<tr>
<td><strong>Defold</strong></td>
<td>2D/3D voltado à web</td>
<td>WebGL + Wasm</td>
<td>~1,14 MB</td>
<td>Lua</td>
<td>Gratuita</td>
<td>Jogos web menores e com carregamento mais rápido</td>
</tr>
<tr>
<td><strong>Cocos Creator</strong></td>
<td>Engine 2D/3D completa</td>
<td>WebGL + WebGPU + Wasm</td>
<td>~2-4 MB</td>
<td>TypeScript</td>
<td>Gratuita</td>
<td>Minijogos e o mercado web asiático</td>
</tr>
<tr>
<td><strong>Phaser</strong></td>
<td>Framework 2D</td>
<td>WebGL/Canvas</td>
<td>~500 KB</td>
<td>JavaScript</td>
<td>Gratuita (MIT)</td>
<td>Jogos web 2D e a maior comunidade de HTML5</td>
</tr>
<tr>
<td><strong>Construct / GDevelop</strong></td>
<td>Ferramentas visuais 2D</td>
<td>WebGL</td>
<td>~1-3 MB</td>
<td>Sem código</td>
<td>Assinatura / plano gratuito</td>
<td>Deixar a Unity sem precisar programar</td>
</tr>
</tbody>
</table>
<p>Não existe uma única &quot;substituta da Unity&quot;. A escolha certa depende de você precisar ou não de 3D, de programar ou não e do motivo pelo qual a Unity não estava funcionando para você.</p>
<h2 id="godot-a-substituta-completa-mais-proxima" tabindex="-1">Godot: a substituta completa mais próxima <a class="header-anchor" href="#godot-a-substituta-completa-mais-proxima" aria-label="Permalink to &quot;Godot: a substituta completa mais próxima&quot;"></a></h2>
<p>A Godot é a alternativa escolhida pela maioria dos ex-desenvolvedores de Unity. É uma engine 2D e 3D completa, gratuita sob a licença MIT, sem cobrança por assento, royalties ou limites de receita, e sua exportação para web é sólida. O tamanho da build fica em cerca de 5 MB com Brotli ou 9 MB com gzip, menor que o da Unity por padrão. Desde a Godot 4.3, é possível exportar builds web de thread única que dispensam o requisito de SharedArrayBuffer, o que também resolveu os antigos problemas de execução no iOS e no Safari.</p>
<p>A única ressalva para a web: projetos C# (.NET) da Godot ainda não podem ser exportados para o navegador; apenas o GDScript pode. Se você estiver migrando uma base de código em C#, isso é importante. Abordamos as vantagens e desvantagens em detalhes em <a href="/pt-BR/guides/godot-vs-unity-web-games.html">Godot vs Unity para jogos web</a>.</p>
<p>Escolha a Godot se quiser a engine completa mais parecida com a Unity, gratuita para sempre e com um caminho simples para jogos web 2D e 3D.</p>
<h2 id="playcanvas-3d-voltado-a-web-com-editor" tabindex="-1">PlayCanvas: 3D voltado à web com editor <a class="header-anchor" href="#playcanvas-3d-voltado-a-web-com-editor" aria-label="Permalink to &quot;PlayCanvas: 3D voltado à web com editor&quot;"></a></h2>
<p>A PlayCanvas foi criada para o navegador desde o início. Seu runtime tem aproximadamente 1 a 2 MB, oferece suporte tanto a WebGL2 quanto a WebGPU e inclui um editor colaborativo na nuvem que será familiar para quem gostava do fluxo de cenas da Unity. Os jogos são programados em JavaScript. É uma ótima escolha quando você precisa de 3D em tempo real no navegador e quer um editor visual em vez de uma biblioteca baseada apenas em código.</p>
<p>Escolha a PlayCanvas se quiser edição de cenas 3D no estilo da Unity, mas com uma build web minúscula.</p>
<h2 id="babylon-js-uma-engine-gratuita-completa-e-nativa-da-web" tabindex="-1">Babylon.js: uma engine gratuita, completa e nativa da web <a class="header-anchor" href="#babylon-js-uma-engine-gratuita-completa-e-nativa-da-web" aria-label="Permalink to &quot;Babylon.js: uma engine gratuita, completa e nativa da web&quot;"></a></h2>
<p>A Babylon.js é a escolha ideal se você está deixando a Unity, mas ainda quer uma engine completa em vez de apenas uma biblioteca de renderização. Ela é gratuita e de código aberto (Apache 2.0), desenvolvida e apoiada por uma equipe da Microsoft e executada no navegador desde sua concepção. Você recebe física Havok integrada, um inspetor de cenas, ferramentas de animação e um editor web gratuito. Assim, a experiência completa que atraía as pessoas para a Unity está presente sem cobranças por assento ou limites de receita. A Babylon.js 9.0 (março de 2026) também oferece um dos suportes a WebGPU mais avançados entre as engines web, incluindo iluminação em clusters e iluminação volumétrica baseada em computação, portanto, adotar uma abordagem voltada à web não reduz a fidelidade da renderização. A programação é feita em JavaScript ou TypeScript.</p>
<p>Escolha a Babylon.js se quiser uma engine 3D completa, gratuita e nativa da web, com um conjunto de recursos semelhante ao da Unity e renderização WebGPU moderna.</p>
<h2 id="three-js-e-cinevva-maximo-controle-e-menor-tamanho" tabindex="-1">Three.js e Cinevva: máximo controle e menor tamanho <a class="header-anchor" href="#three-js-e-cinevva-maximo-controle-e-menor-tamanho" aria-label="Permalink to &quot;Three.js e Cinevva: máximo controle e menor tamanho&quot;"></a></h2>
<p>Se quiser a build web mais leve possível e controle total sobre a renderização, a <a href="/pt-BR/guides/playcanvas-vs-threejs.html">Three.js</a> é o padrão. A biblioteca principal tem cerca de 150 KB e é responsável por grande parte do conteúdo 3D na web. Ela é uma biblioteca de renderização, não uma engine completa, então você precisa adicionar seus próprios sistemas de jogo ou usar um framework sobre ela.</p>
<p>Foi exatamente por isso que criamos a <a href="/pt-BR/engine.html">Cinevva Engine</a> sobre a Three.js: código aberto, voltada à web e com sistemas de jogo integrados para que você não precise começar com uma tela em branco. Uma única base de código gera versões para navegador, dispositivos móveis, desktop, Steam e Discord. Sem cobrança por assento, taxas de instalação ou termos que possam mudar depois de você criar seu jogo — justamente o que o episódio da Runtime Fee fez as pessoas passarem a valorizar.</p>
<p>Escolha a Three.js ou a Cinevva se quiser 3D nativo da web, código aberto e o menor tamanho possível, e se sentir confortável com JavaScript ou TypeScript.</p>
<h2 id="defold-as-menores-e-mais-rapidas-builds-web-2d" tabindex="-1">Defold: as menores e mais rápidas builds web 2D <a class="header-anchor" href="#defold-as-menores-e-mais-rapidas-builds-web-2d" aria-label="Permalink to &quot;Defold: as menores e mais rápidas builds web 2D&quot;"></a></h2>
<p>A Defold gera as menores builds web entre todas as engines completas, com cerca de 1,14 MB, e carrega rapidamente. Ela trabalha com 2D e 3D mais leve, usa Lua para scripts e é gratuita, sem limites de receita. Se o seu jogo na Unity for 2D e o tempo de carregamento for prioridade, é difícil superar a Defold na web.</p>
<p>Escolha a Defold para jogos web casuais e móveis nos quais cada kilobyte conta.</p>
<h2 id="cocos-creator-minijogos-e-o-mercado-asiatico" tabindex="-1">Cocos Creator: minijogos e o mercado asiático <a class="header-anchor" href="#cocos-creator-minijogos-e-o-mercado-asiatico" aria-label="Permalink to &quot;Cocos Creator: minijogos e o mercado asiático&quot;"></a></h2>
<p>A Cocos Creator é uma engine 2D e 3D completa com suporte a WebGL, WebGPU e Wasm, builds na faixa de 2 a 4 MB e scripts em TypeScript. Ela é especialmente forte em plataformas de minijogos (WeChat, TikTok, Taobao), nas quais o tamanho da Unity é inviável. É gratuita.</p>
<p>Escolha a Cocos Creator para minijogos ou se o seu alvo for o ecossistema web asiático.</p>
<h2 id="phaser-o-padrao-para-jogos-web-2d" tabindex="-1">Phaser: o padrão para jogos web 2D <a class="header-anchor" href="#phaser-o-padrao-para-jogos-web-2d" aria-label="Permalink to &quot;Phaser: o padrão para jogos web 2D&quot;"></a></h2>
<p>Se o seu jogo for 2D e você programar em JavaScript, a Phaser é o framework de jogos HTML5 mais popular, com a maior comunidade e o maior ecossistema. As builds têm cerca de 500 KB. Ela é gratuita sob a licença MIT. Para jogos web 2D, geralmente é uma opção mais adequada do que a Unity jamais foi. Confira <a href="/pt-BR/guides/best-2d-game-engines-2026.html">as melhores engines de jogos 2D para 2026</a> para ver como ela se compara à Defold, Construct e GDevelop.</p>
<p>Escolha a Phaser para jogos web 2D quando quiser código, comunidade e uma build pequena.</p>
<h2 id="construct-e-gdevelop-deixando-a-unity-sem-programar" tabindex="-1">Construct e GDevelop: deixando a Unity sem programar <a class="header-anchor" href="#construct-e-gdevelop-deixando-a-unity-sem-programar" aria-label="Permalink to &quot;Construct e GDevelop: deixando a Unity sem programar&quot;"></a></h2>
<p>Se parte da sua frustração com a Unity vinha da quantidade de código e configuração, as engines visuais são uma alternativa real. <a href="/pt-BR/guides/construct-vs-gdevelop.html">Construct e GDevelop</a> permitem criar jogos 2D sem programação e exportar builds web limpas. A GDevelop oferece um plano gratuito e é amigável ao código aberto; a Construct funciona por assinatura e tem um editor refinado.</p>
<p>Escolha uma delas se quiser criar jogos web visualmente, com pouco ou nenhum código.</p>
<h2 id="como-escolher-de-acordo-com-o-motivo-para-deixar-a-unity" tabindex="-1">Como escolher de acordo com o motivo para deixar a Unity <a class="header-anchor" href="#como-escolher-de-acordo-com-o-motivo-para-deixar-a-unity" aria-label="Permalink to &quot;Como escolher de acordo com o motivo para deixar a Unity&quot;"></a></h2>
<ul>
<li><strong>Saiu por causa dos preços ou da falta de confiança?</strong> Escolha código aberto: Godot, Defold, Phaser, Three.js ou Cinevva. Nenhuma delas pode ter o preço alterado de forma prejudicial depois que você começar.</li>
<li><strong>Precisa de 3D no navegador?</strong> PlayCanvas ou Babylon.js (engines completas com editores), ou Three.js e Cinevva (para ter controle e o menor tamanho).</li>
<li><strong>Está criando em 2D?</strong> Defold para as menores builds, Phaser para a maior comunidade.</li>
<li><strong>Não quer programar?</strong> Construct ou GDevelop.</li>
<li><strong>Está mirando plataformas de minijogos?</strong> Cocos Creator.</li>
</ul>
<p>Independentemente da sua escolha, a web recompensa builds pequenas e carregamentos rápidos. Depois de escolher, veja como <a href="/pt-BR/tutorials/ship-web-game-fast.html">publicar um jogo web que carrega rapidamente</a>.</p>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="qual-e-a-melhor-alternativa-a-unity-para-jogos-web" tabindex="-1">Qual é a melhor alternativa à Unity para jogos web? <a class="header-anchor" href="#qual-e-a-melhor-alternativa-a-unity-para-jogos-web" aria-label="Permalink to &quot;Qual é a melhor alternativa à Unity para jogos web?&quot;"></a></h3>
<p>Para a maioria das equipes, é a Godot: uma engine 2D e 3D completa, gratuita e de código aberto, com builds web menores que as da Unity e um caminho simples de exportação com thread única para iOS e Safari. Se você precisa especificamente de 3D voltado ao navegador, a PlayCanvas ou a Three.js são ainda mais leves. A melhor escolha depende de você precisar ou não de 3D e de programar ou não.</p>
<h3 id="existe-uma-alternativa-gratuita-a-unity" tabindex="-1">Existe uma alternativa gratuita à Unity? <a class="header-anchor" href="#existe-uma-alternativa-gratuita-a-unity" aria-label="Permalink to &quot;Existe uma alternativa gratuita à Unity?&quot;"></a></h3>
<p>Sim, existem várias. Godot, Defold, Phaser, PixiJS, Excalibur.js e Three.js são gratuitas e de código aberto, sem limites de receita ou cobranças por assento. Cocos Creator e GDevelop também têm opções gratuitas. Especificamente para jogos web, essas engines gratuitas geralmente geram builds menores e mais rápidas que a Unity.</p>
<h3 id="por-que-trocar-a-unity-para-jogos-web" tabindex="-1">Por que trocar a Unity para jogos web? <a class="header-anchor" href="#por-que-trocar-a-unity-para-jogos-web" aria-label="Permalink to &quot;Por que trocar a Unity para jogos web?&quot;"></a></h3>
<p>Os motivos mais comuns são o tamanho da build (as builds WebGL vazias da Unity começam em cerca de 8 a 11 MB, contra 1 a 5 MB para engines nativas da web), a confiabilidade em navegadores móveis, a confiança nos preços após o episódio da Runtime Fee em 2023 e a preferência por código aberto. Se a web for seu principal alvo, uma engine voltada à web geralmente produz um resultado melhor.</p>
<h3 id="posso-substituir-a-unity-por-uma-engine-de-codigo-aberto" tabindex="-1">Posso substituir a Unity por uma engine de código aberto? <a class="header-anchor" href="#posso-substituir-a-unity-por-uma-engine-de-codigo-aberto" aria-label="Permalink to &quot;Posso substituir a Unity por uma engine de código aberto?&quot;"></a></h3>
<p>Sim. A Godot é o equivalente de código aberto mais próximo para 2D e 3D em geral e usa a licença MIT, sem taxas. Para 3D nativo da web, a Three.js — e engines baseadas nela, como a Cinevva — também é de código aberto. O principal custo da migração é reconstruir o projeto em uma nova linguagem, pois cada engine tem seu próprio sistema de scripts.</p>
<h3 id="qual-alternativa-a-unity-tem-a-menor-build-web" tabindex="-1">Qual alternativa à Unity tem a menor build web? <a class="header-anchor" href="#qual-alternativa-a-unity-tem-a-menor-build-web" aria-label="Permalink to &quot;Qual alternativa à Unity tem a menor build web?&quot;"></a></h3>
<p>Entre as engines completas, a Defold é a menor, com cerca de 1,14 MB. A Three.js, como biblioteca, é ainda menor, com um núcleo de cerca de 150 KB, embora você precise adicionar seu próprio código de jogo. A Godot fica em torno de 5 MB com Brotli ou 9 MB com gzip, ainda bem abaixo do ponto de partida de mais de 8 MB da Unity.</p>
<BuildCta
  title="A alternativa mais radical à Unity: não usar engine alguma"
  desc="Descreva seu jogo e jogue no navegador em cerca de um minuto."
  prompt="Crie um jogo de plataforma em terceira pessoa que carregue instantaneamente no navegador" />
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/web-game-engines-comparison.html">Melhores engines de jogos web para 2026 (comparadas)</a> — todas as opções, classificadas</li>
<li><a href="/pt-BR/guides/open-source-game-engines-2026.html">Melhores engines de jogos de código aberto para 2026</a> — as opções gratuitas que você mesmo pode bifurcar, reunidas em um só lugar</li>
<li><a href="/pt-BR/guides/godot-vs-unity-web-games.html">Godot vs Unity para jogos web</a> — a alternativa mais próxima, em uma comparação direta</li>
<li><a href="/pt-BR/news/2024-09-12-unity-runtime-fee-cancelled.html">Unity Runtime Fee cancelada: a história oficial</a> — por que a confiança nos preços se tornou um fator decisivo</li>
<li><a href="/pt-BR/guides/best-2d-game-engines-2026.html">Melhores engines de jogos 2D para 2026</a> — se o seu jogo for 2D</li>
<li><a href="/pt-BR/guides/playcanvas-vs-threejs.html">PlayCanvas vs Three.js</a> — engine versus biblioteca para 3D na web</li>
<li><a href="/pt-BR/engine.html">Cinevva Engine</a> — nossa engine de código aberto, voltada à web e construída sobre a Three.js</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/unity-alternatives-web-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Melhores engines de jogos 2D para 2026 (comparativo)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/best-2d-game-engines-2026</link>
            <guid>https://app.cinevva.com/pt-BR/guides/best-2d-game-engines-2026</guid>
            <pubDate>Sun, 07 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[As melhores engines de jogos 2D para 2026 — Godot, GameMaker, Construct, Defold, Phaser, GDevelop, Unity e LÖVE — comparadas por preço, exportação para web, tamanho da build e público-alvo.]]></description>
            <content:encoded><![CDATA[<h1 id="melhores-engines-de-jogos-2d-para-2026-comparativo" tabindex="-1">Melhores engines de jogos 2D para 2026 (comparativo) <a class="header-anchor" href="#melhores-engines-de-jogos-2d-para-2026-comparativo" aria-label="Permalink to &quot;Melhores engines de jogos 2D para 2026 (comparativo)&quot;"></a></h1>
<figure style="margin:1.5rem 0">
<img src="https://cdn.cinevva.com/guides/best-2d-game-engines-2026-hero.jpg?v=2" alt="Melhores engines de jogos 2D para 2026: Godot, GameMaker, Construct, Defold e Phaser" style="width:100%;border-radius:10px">
</figure>
<p>O 2D continua muito bem em 2026, e há mais engines de qualidade do que nunca. A escolha certa depende de você programar ou não, de pretender publicar para a web e do quão pequena a build precisa ser. Veja como as principais opções se comparam e para quem cada uma é indicada.</p>
<p>Se você também estiver considerando engines 3D ou multiplataforma completas, confira o <a href="/pt-BR/guides/web-game-engines-comparison.html">comparativo mais amplo de engines de jogos para web</a>.</p>
<h2 id="referencia-rapida" tabindex="-1">Referência rápida <a class="header-anchor" href="#referencia-rapida" aria-label="Permalink to &quot;Referência rápida&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Engine</th>
<th>Preço</th>
<th>Exportação para web</th>
<th>Melhor para</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://godotengine.org/" target="_blank" rel="noreferrer"><strong>Godot</strong></a></td>
<td>Grátis (MIT)</td>
<td>Boa (WebGL2, GDScript)</td>
<td>Melhor opção versátil e de código aberto</td>
</tr>
<tr>
<td><a href="https://gamemaker.io/" target="_blank" rel="noreferrer"><strong>GameMaker</strong></a></td>
<td>Grátis para uso não comercial; Pro por US$ 99,99, pagamento único</td>
<td>HTML5 incluído</td>
<td>Jogos 2D comerciais, publicação rápida</td>
</tr>
<tr>
<td><a href="https://www.construct.net/" target="_blank" rel="noreferrer"><strong>Construct</strong></a></td>
<td>Plano grátis; Personal por US$ 99/ano</td>
<td>Excelente (HTML5 nativo)</td>
<td>Iniciantes, criação sem código e foco na web</td>
</tr>
<tr>
<td><a href="https://defold.com/" target="_blank" rel="noreferrer"><strong>Defold</strong></a></td>
<td>Grátis</td>
<td>Excelente (&lt;2 MB gzip)</td>
<td>Builds web menores e com carregamento mais rápido</td>
</tr>
<tr>
<td><a href="https://phaser.io/" target="_blank" rel="noreferrer"><strong>Phaser</strong></a></td>
<td>Grátis (MIT)</td>
<td>Nativa (é um framework JS)</td>
<td>Jogos web com foco em código</td>
</tr>
<tr>
<td><a href="https://gdevelop.io/" target="_blank" rel="noreferrer"><strong>GDevelop</strong></a></td>
<td>Grátis; premium a partir de US$ 2,19/mês</td>
<td>Sim (HTML5)</td>
<td>Criação sem código gratuita</td>
</tr>
<tr>
<td><a href="https://unity.com/" target="_blank" rel="noreferrer"><strong>Unity</strong></a></td>
<td>Personal grátis abaixo de US$ 200 mil; Pro por US$ 2.310/ano</td>
<td>Sim (WebGL2)</td>
<td>Grande ecossistema e alcance multiplataforma</td>
</tr>
<tr>
<td><a href="https://love2d.org/" target="_blank" rel="noreferrer"><strong>LÖVE</strong></a></td>
<td>Grátis (código aberto)</td>
<td>Via love.js (terceiros)</td>
<td>Prototipagem minimalista com Lua</td>
</tr>
</tbody>
</table>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/a_TDD1QhYGg" title="Unity vs. Godot vs. Defold! Comparativo de engines de jogos" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">A Asatte Games compara diretamente três das engines abaixo.</div>
<h2 id="as-engines" tabindex="-1">As engines <a class="header-anchor" href="#as-engines" aria-label="Permalink to &quot;As engines&quot;"></a></h2>
<h3 id="godot" tabindex="-1">Godot <a class="header-anchor" href="#godot" aria-label="Permalink to &quot;Godot&quot;"></a></h3>
<p>A favorita de código aberto e uma engine 2D realmente excelente. A Godot 4.7 (junho de 2026) tem um renderizador 2D dedicado, um editor leve e a GDScript, amigável para iniciantes. É gratuita sob a licença MIT, sem royalties. A exportação para web funciona bem com WebGL2, com a ressalva de que apenas a GDScript pode ser exportada para o navegador, não C#. Se você busca uma única ferramenta gratuita que seja ótima para 2D e competente em 3D, esta é a escolha padrão.</p>
<p><strong>Melhor para:</strong> projetos 2D em geral, projetos de código aberto e pixel art.</p>
<h3 id="gamemaker" tabindex="-1">GameMaker <a class="header-anchor" href="#gamemaker" aria-label="Permalink to &quot;GameMaker&quot;"></a></h3>
<p>A engine por trás de sucessos como Undertale e de uma longa lista de jogos 2D comerciais. Ela usa GML, sua própria linguagem de script rápida, e oferece exportação para HTML5 até mesmo no plano gratuito. O modelo de preços mudou e ficou mais acessível: uso gratuito para projetos não comerciais e uma licença Pro de US$ 99,99, paga uma única vez, para trabalhos comerciais, em vez de uma assinatura.</p>
<p><strong>Melhor para:</strong> jogos 2D comerciais que precisam ser publicados rapidamente e pixel art.</p>
<h3 id="construct" tabindex="-1">Construct <a class="header-anchor" href="#construct" aria-label="Permalink to &quot;Construct&quot;"></a></h3>
<p>Uma engine sem código baseada no navegador e desenvolvida em torno de um sistema de eventos. Você cria jogos visualmente, sem programação, e, por ser nativa de HTML5, sua exportação para web é excelente. O preço é baseado em assinatura: US$ 99 por ano no plano Personal, com uma opção gratuita limitada.</p>
<p><strong>Melhor para:</strong> iniciantes, criadores sem código e jogos 2D com foco na web.</p>
<h3 id="defold" tabindex="-1">Defold <a class="header-anchor" href="#defold" aria-label="Permalink to &quot;Defold&quot;"></a></h3>
<p>Uma engine gratuita criada por ex-desenvolvedores da King que produz builds web surpreendentemente pequenas, muitas vezes com menos de 2 MB compactadas com gzip. Isso a torna ideal para jogos casuais na web e plataformas de minijogos, nas quais o tempo de carregamento é crucial. Ela usa Lua e tem seu código-fonte disponível sob a Defold License.</p>
<p><strong>Melhor para:</strong> os menores jogos web, com o carregamento mais rápido.</p>
<h3 id="phaser" tabindex="-1">Phaser <a class="header-anchor" href="#phaser" aria-label="Permalink to &quot;Phaser&quot;"></a></h3>
<p>O framework de jogos HTML5 mais popular, com foco em código. O Phaser 4 (lançado em abril de 2026) trouxe um novo renderizador WebGL reconstruído do zero. É gratuito e de código aberto, você programa em JavaScript ou TypeScript e, como é um framework web, não existe uma etapa de “exportação”: seu jogo já roda no navegador.</p>
<p><strong>Melhor para:</strong> desenvolvedores que querem um framework 2D nativo da web e com foco em código.</p>
<h3 id="gdevelop" tabindex="-1">GDevelop <a class="header-anchor" href="#gdevelop" aria-label="Permalink to &quot;GDevelop&quot;"></a></h3>
<p>De código aberto e sem código, a GDevelop é uma das engines mais amigáveis para iniciantes. É gratuita, com um plano premium opcional a partir de US$ 2,19 por mês (mesmo após o aumento de preço de janeiro de 2026), e permite exportações HTML5 ilimitadas. É um bom meio-termo para quem busca uma solução sem código que também seja de código aberto.</p>
<p><strong>Melhor para:</strong> criação 2D gratuita e sem código.</p>
<h3 id="unity" tabindex="-1">Unity <a class="header-anchor" href="#unity" aria-label="Permalink to &quot;Unity&quot;"></a></h3>
<p>O conjunto de ferramentas 2D da Unity é maduro, e seu ecossistema e loja de assets são incomparáveis. É mais do que o necessário para um pequeno jogo 2D, mas, se você busca alcance multiplataforma ou pretende avançar para o 3D, ela merece estar na lista. O plano Personal é gratuito para receitas abaixo de US$ 200 mil; o Pro custa US$ 2.310 por ano, por licença. Diferentemente da Godot, o C# da Unity pode ser exportado para a web.</p>
<p><strong>Melhor para:</strong> equipes que buscam um grande ecossistema ou alcance multiplataforma.</p>
<h3 id="love-love2d" tabindex="-1">LÖVE (Love2D) <a class="header-anchor" href="#love-love2d" aria-label="Permalink to &quot;LÖVE (Love2D)&quot;"></a></h3>
<p>Um framework Lua minimalista, não um editor completo. Você escreve o código e ele roda. A LÖVE 11.5 é a versão estável atual, com a 12.0 em desenvolvimento. A exportação para web está disponível por meio do love.js, de terceiros, mas não é um recurso de primeira classe. Escolha a LÖVE se você gosta de programar e quer o mínimo possível de abstração entre você e o loop do jogo.</p>
<p><strong>Melhor para:</strong> desenvolvedores por hobby focados em código e protótipos leves.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/ZiBsbBGT9L4" title="Unreal vs. Unity vs. Godot: qual é melhor em 2026?" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">A InspirationTuts coloca as grandes engines lado a lado em 2026.</div>
<h2 id="como-escolher" tabindex="-1">Como escolher <a class="header-anchor" href="#como-escolher" aria-label="Permalink to &quot;Como escolher&quot;"></a></h2>
<ul>
<li><strong>Você não quer programar:</strong> Construct ou GDevelop. Construct se você pretende publicar para a web; GDevelop se busca código aberto.</li>
<li><strong>Você quer a menor e mais rápida build web:</strong> Defold.</li>
<li><strong>Você programa e tem a web como plataforma-alvo:</strong> Phaser.</li>
<li><strong>Você quer uma engine gratuita para tudo:</strong> Godot.</li>
<li><strong>Você está publicando um jogo 2D comercial:</strong> GameMaker ou Unity.</li>
<li><strong>Você precisa do maior ecossistema ou pretende adicionar 3D:</strong> Unity.</li>
</ul>
<p>Independentemente da escolha, você precisará de arte e áudio. Veja <a href="/pt-BR/guides/game-assets-guide.html">onde encontrar assets gratuitos para jogos</a> para conhecer recursos que podem ser usados diretamente no seu projeto.</p>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="qual-e-a-melhor-engine-de-jogos-2d-em-2026" tabindex="-1">Qual é a melhor engine de jogos 2D em 2026? <a class="header-anchor" href="#qual-e-a-melhor-engine-de-jogos-2d-em-2026" aria-label="Permalink to &quot;Qual é a melhor engine de jogos 2D em 2026?&quot;"></a></h3>
<p>Para a maioria das pessoas, a Godot é a melhor engine 2D versátil: gratuita, de código aberto e com um renderizador 2D de primeira classe. Se você não quer programar, a Construct (focada na web) ou a GDevelop (de código aberto) são melhores. Para jogos 2D comerciais, GameMaker e Unity são opções comprovadas. A “melhor” depende de você programar ou não e de onde pretende publicar.</p>
<h3 id="qual-engine-de-jogos-2d-e-melhor-para-iniciantes" tabindex="-1">Qual engine de jogos 2D é melhor para iniciantes? <a class="header-anchor" href="#qual-engine-de-jogos-2d-e-melhor-para-iniciantes" aria-label="Permalink to &quot;Qual engine de jogos 2D é melhor para iniciantes?&quot;"></a></h3>
<p>Construct e GDevelop são as mais amigáveis para iniciantes porque dispensam código: você cria usando sistemas visuais de eventos em vez de programação. A GDevelop é gratuita e de código aberto; a Construct é baseada em assinatura, mas oferece a exportação para web mais simples. Se você quer aprender a programar durante o processo, a Godot com GDScript é a mais acessível entre as engines baseadas em código.</p>
<h3 id="qual-e-a-melhor-engine-de-jogos-2d-gratuita" tabindex="-1">Qual é a melhor engine de jogos 2D gratuita? <a class="header-anchor" href="#qual-e-a-melhor-engine-de-jogos-2d-gratuita" aria-label="Permalink to &quot;Qual é a melhor engine de jogos 2D gratuita?&quot;"></a></h3>
<p>A Godot é a opção 2D gratuita e de código aberto mais robusta, sem taxas nem royalties. A GDevelop é a melhor opção gratuita e sem código, a Defold é gratuita e produz as menores builds web, e o Phaser é um framework gratuito e de código aberto para quem programa. A GameMaker é gratuita para uso não comercial e exige uma licença única de US$ 99,99 para projetos comerciais.</p>
<h3 id="qual-engine-2d-produz-os-menores-jogos-web" tabindex="-1">Qual engine 2D produz os menores jogos web? <a class="header-anchor" href="#qual-engine-2d-produz-os-menores-jogos-web" aria-label="Permalink to &quot;Qual engine 2D produz os menores jogos web?&quot;"></a></h3>
<p>A Defold produz as menores builds web, frequentemente com menos de 2 MB compactadas com gzip, motivo pelo qual é popular em plataformas de jogos casuais e minijogos, nas quais o tempo de carregamento determina se os jogadores continuarão jogando. Phaser e Godot também são razoáveis, mas a Defold lidera em tamanho bruto.</p>
<BuildCta
  title="Não sabe qual engine 2D escolher? Pule essa decisão"
  desc="Descreva um jogo 2D e comece a jogá-lo em cerca de um minuto, sem precisar instalar uma engine."
  prompt="Crie um jogo de corrida lateral 2D com visual neon, moedas e recorde de pontuação" />
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/vibe-coding-game-prompts.html">100 ideias de prompts de jogos com IA que você pode criar com um clique</a> — pegue uma ideia e transforme-a em um jogo em cerca de um minuto</li>
<li><a href="/pt-BR/guides/web-game-engines-comparison.html">Melhores engines de jogos web para 2026 (comparativo)</a> — 2D e 3D, o panorama completo</li>
<li><a href="/pt-BR/guides/godot-vs-unity-web-games.html">Godot vs. Unity para jogos web</a> — comparação direta entre as duas grandes engines</li>
<li><a href="/pt-BR/guides/construct-vs-gdevelop.html">Construct vs. GDevelop</a> — comparativo das duas engines 2D sem código</li>
<li><a href="/pt-BR/guides/game-assets-guide.html">Onde encontrar assets gratuitos para jogos</a> — arte e áudio para seu jogo 2D</li>
<li><a href="/pt-BR/tutorials/canvas-2d-game-loop.html">Loop de jogo com Canvas 2D</a> — crie um jogo 2D sem usar nenhuma engine</li>
<li><a href="/pt-BR/engine.html">Cinevva Engine</a> — nossa engine de código aberto com foco na web</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/best-2d-game-engines-2026-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Construct vs GDevelop: melhor engine 2D sem código (2026)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/construct-vs-gdevelop</link>
            <guid>https://app.cinevva.com/pt-BR/guides/construct-vs-gdevelop</guid>
            <pubDate>Sun, 07 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Construct vs GDevelop em 2026 - duas engines de jogos 2D sem código comparadas em preço, exportação para web, suporte a 3D, scripts, multiplayer e código aberto, com uma recomendação para cada tipo de criador.]]></description>
            <content:encoded><![CDATA[<h1 id="construct-vs-gdevelop-melhor-engine-2d-sem-codigo-2026" tabindex="-1">Construct vs GDevelop: melhor engine 2D sem código (2026) <a class="header-anchor" href="#construct-vs-gdevelop-melhor-engine-2d-sem-codigo-2026" aria-label="Permalink to &quot;Construct vs GDevelop: melhor engine 2D sem código (2026)&quot;"></a></h1>
<figure style="margin:1.5rem 0">
<img src="https://cdn.cinevva.com/guides/construct-vs-gdevelop-hero.jpg?v=2" alt="Construct vs GDevelop, engines de jogos 2D sem código em 2026" style="width:100%;border-radius:10px">
</figure>
<p>Se você quer criar um jogo sem escrever código, essas duas estão entre as melhores opções. Ambas permitem criar jogos com lógica visual de eventos em vez de programação, e ambas exportam para a web. A grande diferença está na filosofia e no preço: o Construct é um produto refinado por assinatura, enquanto o GDevelop é gratuito e de código aberto. Veja como eles se comparam em 2026.</p>
<p>Para conhecer o cenário mais amplo, incluindo engines baseadas em código, consulte a <a href="/pt-BR/guides/web-game-engines-comparison.html">comparação de engines de jogos para web</a> e as <a href="/pt-BR/guides/best-2d-game-engines-2026.html">melhores engines de jogos 2D para 2026</a>.</p>
<h2 id="veredito-rapido" tabindex="-1">Veredito rápido <a class="header-anchor" href="#veredito-rapido" aria-label="Permalink to &quot;Veredito rápido&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th>Construct</th>
<th>GDevelop</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Modelo</strong></td>
<td>Proprietário, por assinatura</td>
<td>Gratuito, código aberto (MIT)</td>
</tr>
<tr>
<td><strong>Lógica</strong></td>
<td>Folhas de eventos</td>
<td>Sistema de eventos</td>
</tr>
<tr>
<td><strong>Preço</strong></td>
<td>Plano gratuito; Personal por $99/ano</td>
<td>Gratuito; planos premium a partir de $2,19/mês</td>
</tr>
<tr>
<td><strong>Exportação para web</strong></td>
<td>Excelente (nativo em HTML5)</td>
<td>Sim (HTML5)</td>
</tr>
<tr>
<td><strong>3D</strong></td>
<td>Em expansão (editor 3D na r487, foco principal em 2D)</td>
<td>Editor 3D completo em tempo real (5.6)</td>
</tr>
<tr>
<td><strong>Scripts</strong></td>
<td>JavaScript e TypeScript</td>
<td>Eventos + JavaScript</td>
</tr>
<tr>
<td><strong>Melhor para</strong></td>
<td>Fluxo de trabalho refinado, multiplayer integrado</td>
<td>Gratuidade, código aberto e 3D mais recente</td>
</tr>
</tbody>
</table>
<h2 id="sem-codigo-de-duas-maneiras" tabindex="-1">Sem código, de duas maneiras <a class="header-anchor" href="#sem-codigo-de-duas-maneiras" aria-label="Permalink to &quot;Sem código, de duas maneiras&quot;"></a></h2>
<p>As duas engines permitem criar um jogo combinando condições e ações visuais, sem exigir programação. O Construct usa “folhas de eventos”, um fluxo limpo semelhante a uma planilha, muito elogiado pela rapidez com que permite criar protótipos. O GDevelop usa um sistema de eventos parecido e é igualmente acessível para iniciantes.</p>
<p>A diferença mais importante: <strong>o Construct é um produto pago e de código fechado; o GDevelop é gratuito e de código aberto sob a licença MIT.</strong> Se código aberto ou custo zero forem prioridades, isso por si só pode decidir a escolha.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/MDlP01bwczo" title="Por que troquei o Construct 3 pelo GDevelop" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">A opinião de um criador sobre a migração do Construct para o GDevelop.</div>
<h2 id="precos" tabindex="-1">Preços <a class="header-anchor" href="#precos" aria-label="Permalink to &quot;Preços&quot;"></a></h2>
<p>O Construct 3 funciona por assinatura. Há uma edição gratuita limitada, e o plano Personal custa $99 por ano, com planos Education e Business acima dele. Você paga por um produto refinado e desenvolvido ativamente.</p>
<p>A engine do GDevelop é gratuita e de código aberto. Os planos premium opcionais ($2,19 no Silver, $4,39 no Gold e $23,99 no Pro por mês) adicionam builds na nuvem e serviços online, mas você pode criar e exportar jogos totalmente de graça. Os preços subiram 20% para novos assinantes em janeiro de 2026.</p>
<p>Para quem cria por hobby ou precisa economizar, é difícil contestar o plano gratuito do GDevelop. Para um estúdio que busca uma ferramenta comercial mais refinada, a assinatura do Construct é razoável.</p>
<h2 id="_3d-scripts-e-multiplayer" tabindex="-1">3D, scripts e multiplayer <a class="header-anchor" href="#_3d-scripts-e-multiplayer" aria-label="Permalink to &quot;3D, scripts e multiplayer&quot;"></a></h2>
<p><strong>3D:</strong> o GDevelop saiu na frente aqui. Sua versão 5.6 (dezembro de 2025) trouxe um editor 3D completo em tempo real, com física baseada em Jolt, sombras, modelos animados, partículas 3D e comportamentos prontos para personagens e veículos. Atualizações posteriores da versão 5.6 também adicionaram luzes pontuais e spots 3D. O Construct está diminuindo essa diferença: a versão estável r487 (maio de 2026) adicionou um modo de editor 3D com gizmos e um comportamento de projétil 3D, complementando sua câmera 3D e o suporte a modelos glTF. É um avanço real, mas ainda está sobre uma engine fundamentalmente 2D.</p>
<p><strong>Scripts:</strong> quando os eventos já não forem suficientes, ambas permitem usar código. O Construct oferece suporte a JavaScript e TypeScript junto às folhas de eventos. O GDevelop oferece suporte a JavaScript por meio de seus eventos e extensões. Nas duas engines, o fluxo sem código continua sendo o principal.</p>
<p><strong>Multiplayer:</strong> o Construct inclui um objeto Multiplayer integrado que usa canais de dados WebRTC para jogos peer-to-peer. O GDevelop tem multiplayer integrado baseado em lobbies por meio de seus serviços online, com o plano gratuito limitado a um lobby de 4 jogadores e os planos pagos aumentando esse limite para 8.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/Jjsfk-vzlWQ" title="O Construct 3 está oficialmente entrando no 3D" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">FoozleCC fala sobre a entrada do Construct no 3D.</div>
<h2 id="quando-escolher-cada-uma" tabindex="-1">Quando escolher cada uma <a class="header-anchor" href="#quando-escolher-cada-uma" aria-label="Permalink to &quot;Quando escolher cada uma&quot;"></a></h2>
<p>Escolha o <strong>GDevelop</strong> se você quer uma opção gratuita e de código aberto, exportação multiplataforma e o editor 3D em tempo real mais avançado. Ele é mais adequado para quem cria por hobby, estudantes e qualquer pessoa que queira ter controle sobre suas ferramentas.</p>
<p>Escolha o <strong>Construct</strong> se você quer o fluxo de trabalho com folhas de eventos mais refinado, exportação HTML5 madura e confiável e multiplayer WebRTC integrado — e não se importa em pagar uma assinatura por um produto comercial bem-acabado.</p>
<p>Independentemente da escolha, você precisará de arte e áudio. Veja <a href="/pt-BR/guides/game-assets-guide.html">onde encontrar assets gratuitos para jogos</a> para conhecer fontes que você pode usar imediatamente.</p>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="construct-ou-gdevelop-e-melhor-para-iniciantes" tabindex="-1">Construct ou GDevelop é melhor para iniciantes? <a class="header-anchor" href="#construct-ou-gdevelop-e-melhor-para-iniciantes" aria-label="Permalink to &quot;Construct ou GDevelop é melhor para iniciantes?&quot;"></a></h3>
<p>Ambos foram projetados para iniciantes e usam lógica visual de eventos, sem exigir programação. O GDevelop vence no custo — é gratuito e de código aberto — e agora conta com um editor 3D mais avançado. O Construct vence no refinamento do fluxo de trabalho e no multiplayer integrado. Se o orçamento for importante, comece pelo GDevelop. Se você quiser o fluxo de eventos 2D mais refinado, experimente primeiro a edição gratuita do Construct.</p>
<h3 id="o-gdevelop-e-realmente-gratuito" tabindex="-1">O GDevelop é realmente gratuito? <a class="header-anchor" href="#o-gdevelop-e-realmente-gratuito" aria-label="Permalink to &quot;O GDevelop é realmente gratuito?&quot;"></a></h3>
<p>Sim. A engine GDevelop é gratuita e de código aberto sob a licença MIT, e você pode criar e exportar jogos HTML5 sem nenhum custo. Os planos premium opcionais (a partir de cerca de $2,19 por mês) adicionam builds na nuvem e serviços online, mas não são necessários para criar e publicar um jogo.</p>
<h3 id="o-construct-e-o-gdevelop-podem-criar-jogos-3d" tabindex="-1">O Construct e o GDevelop podem criar jogos 3D? <a class="header-anchor" href="#o-construct-e-o-gdevelop-podem-criar-jogos-3d" aria-label="Permalink to &quot;O Construct e o GDevelop podem criar jogos 3D?&quot;"></a></h3>
<p>Ambos oferecem recursos 3D, mas o GDevelop está mais avançado. O GDevelop 5.6 (dezembro de 2025) adicionou um editor 3D completo em tempo real, com física, sombras e modelos animados. O Construct adicionou seu próprio modo de editor 3D na versão r487 (maio de 2026), junto à câmera 3D e ao suporte a modelos glTF, mas continua sendo principalmente uma engine 2D. Para projetos com maior foco em 3D, o GDevelop ainda é a opção sem código mais avançada.</p>
<h3 id="o-construct-e-o-gdevelop-exportam-para-a-web" tabindex="-1">O Construct e o GDevelop exportam para a web? <a class="header-anchor" href="#o-construct-e-o-gdevelop-exportam-para-a-web" aria-label="Permalink to &quot;O Construct e o GDevelop exportam para a web?&quot;"></a></h3>
<p>Sim, ambos exportam jogos HTML5 que rodam no navegador. O Construct é nativo em HTML5 e oferece uma exportação para web madura e confiável. O GDevelop permite exportações HTML5 ilimitadas, inclusive localmente e de graça. Ambos são ótimas opções para jogos de navegador.</p>
<BuildCta
  title="Sem código é ótimo. Sem engine é mais rápido"
  desc="Descreva o jogo em vez de configurar folhas de eventos."
  prompt="Crie um jogo de perseguição em labirinto com visão de cima, no qual um fantasma me caça e eu coleto chaves" />
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/best-2d-game-engines-2026.html">Melhores engines de jogos 2D para 2026</a> — todo o cenário 2D, com e sem código</li>
<li><a href="/pt-BR/guides/web-game-engines-comparison.html">Melhores engines de jogos para web em 2026 (comparadas)</a> — 2D e 3D</li>
<li><a href="/pt-BR/guides/game-assets-guide.html">Onde encontrar assets gratuitos para jogos</a> — arte e áudio para seu jogo</li>
<li><a href="/pt-BR/guides/itch-io-launch-guide.html">Como lançar seu jogo no itch.io</a> — como apresentar seu jogo aos jogadores</li>
<li><a href="/pt-BR/engine.html">Cinevva</a> — crie jogos com ferramentas baseadas em IA e foco na web</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/construct-vs-gdevelop-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Godot vs Unity para jogos web (2026)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/godot-vs-unity-web-games</link>
            <guid>https://app.cinevva.com/pt-BR/guides/godot-vs-unity-web-games</guid>
            <pubDate>Sun, 07 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Godot vs Unity para jogos de navegador em 2026 - tamanho da build, WebGL2 vs WebGPU, a limitação da exportação web com C#, suporte ao iOS e preços, com uma escolha clara para cada tipo de jogo web.]]></description>
            <content:encoded><![CDATA[<h1 id="godot-vs-unity-para-jogos-web-2026" tabindex="-1">Godot vs Unity para jogos web (2026) <a class="header-anchor" href="#godot-vs-unity-para-jogos-web-2026" aria-label="Permalink to &quot;Godot vs Unity para jogos web (2026)&quot;"></a></h1>
<figure style="margin:1.5rem 0">
<img src="https://cdn.cinevva.com/guides/godot-vs-unity-web-hero.jpg?v=2" alt="Godot vs Unity para jogos web em 2026" style="width:100%;border-radius:10px">
</figure>
<p>Tanto a Godot quanto a Unity conseguem publicar um jogo no navegador. Elas chegam lá de maneiras muito diferentes e, especificamente para a web, a diferença entre as duas é maior do que o debate geral sobre &quot;Godot vs Unity&quot; sugere. Este guia compara as duas nos aspectos que realmente determinam uma build web: tamanho do download, renderização, suporte a linguagens, navegadores móveis e custo.</p>
<p>Se você quiser uma visão mais ampla de todos os motores para navegador, comece pela nossa <a href="/pt-BR/guides/web-game-engines-comparison.html">comparação de motores de jogos web</a>. Esta página se concentra nas duas grandes opções de motores completos.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/84Prr0SOMvk" title="Unity ou Godot em 2025 — qual motor de jogos é o ideal para você?" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">O Gamefromscratch explica onde cada motor se encaixa. A versão resumida para a web está abaixo.</div>
<h2 id="veredito-rapido" tabindex="-1">Veredito rápido <a class="header-anchor" href="#veredito-rapido" aria-label="Permalink to &quot;Veredito rápido&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th>Godot</th>
<th>Unity</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Tamanho da build web (vazia)</strong></td>
<td>~5 MB com Brotli, ~9 MB com gzip</td>
<td>~7,7 MB em 2D, ~10,7 MB em 3D, ~2 MB após remoção de recursos (Brotli)</td>
</tr>
<tr>
<td><strong>Linguagem para web</strong></td>
<td>Apenas GDScript (C# ainda não pode ser exportado para a web)</td>
<td>C# (funciona na web)</td>
</tr>
<tr>
<td><strong>Renderização web</strong></td>
<td>WebGL2 (renderizador Compatibility)</td>
<td>WebGL2, além de WebGPU experimental</td>
</tr>
<tr>
<td><strong>iOS/Safari</strong></td>
<td>Bom com exportação single-threaded (4.3+)</td>
<td>Web móvel a partir da Unity 6</td>
</tr>
<tr>
<td><strong>Custo</strong></td>
<td>Gratuita, MIT, sem taxas para sempre</td>
<td>Personal gratuita abaixo de $200 mil; Pro por $2.310/ano/assento</td>
</tr>
<tr>
<td><strong>Melhor para</strong></td>
<td>Jogos web 2D pequenos e 3D mais leves, gratuitos</td>
<td>3D mais pesado, equipes de C#, grande ecossistema de assets</td>
</tr>
</tbody>
</table>
<p>O principal fator de decisão é: <strong>se o seu jogo foi escrito em C#, a Unity consegue publicá-lo na web, enquanto a Godot ainda não.</strong> Todo o resto decorre disso.</p>
<h2 id="tamanho-da-build-e-tempo-de-carregamento" tabindex="-1">Tamanho da build e tempo de carregamento <a class="header-anchor" href="#tamanho-da-build-e-tempo-de-carregamento" aria-label="Permalink to &quot;Tamanho da build e tempo de carregamento&quot;"></a></h2>
<p>O tamanho do download é a primeira coisa que um jogador na web percebe. A exportação web da Godot inclui o motor como um binário WebAssembly que, compactado, ocupa aproximadamente 5 MB com Brotli ou cerca de 9 MB com gzip. Esse tamanho vem do template pré-compilado que inclui o motor completo (renderizador 3D, áudio e rede), pois ele não consegue saber quais recursos o seu jogo utiliza.</p>
<p>As builds web vazias da Unity, medidas na Unity 6 com Brotli, ficam em torno de 7,7 MB para um projeto 2D com o pipeline integrado e 10,7 MB para um template 3D com URP. Uma build mínima com remoção agressiva de recursos pode chegar perto de 2 MB. Portanto, uma build 2D da Unity cuidadosamente otimizada pode se aproximar do tamanho da Godot, mas a build padrão da Godot é menor e exige menos esforço.</p>
<p>De qualquer forma, nos dois motores, seus assets geralmente são muito maiores do que o binário do motor. Comprima texturas e áudio, carregue por streaming o que puder, e a escolha do motor se tornará menos importante do que o orçamento de assets.</p>
<h2 id="a-limitacao-do-c-leia-antes-de-escolher" tabindex="-1">A limitação do C# (leia antes de escolher) <a class="header-anchor" href="#a-limitacao-do-c-leia-antes-de-escolher" aria-label="Permalink to &quot;A limitação do C# (leia antes de escolher)&quot;"></a></h2>
<p>É isso que pega muitas equipes de surpresa. Em 2026, <strong>projetos da Godot escritos em C# (.NET) não podem ser oficialmente exportados para a web.</strong> O GDScript é exportado normalmente. Um protótipo funcional de C# para web foi demonstrado na GodotCon Boston em maio de 2025 usando vinculação estática do Mono, mas ele gerava um payload grande e a equipe não se comprometeu com um cronograma de lançamento.</p>
<p>A Unity, por outro lado, compila C# para WebAssembly e publica C# no navegador há anos. Portanto, se você já tem uma base de código em C# ou sua equipe só conhece C#, a Unity é a escolha prática para a web. Se estiver começando do zero e não tiver problema em usar GDScript, o caminho da Godot para a web é simples.</p>
<h2 id="renderizacao-webgl2-vs-webgpu" tabindex="-1">Renderização: WebGL2 vs WebGPU <a class="header-anchor" href="#renderizacao-webgl2-vs-webgpu" aria-label="Permalink to &quot;Renderização: WebGL2 vs WebGPU&quot;"></a></h2>
<p>A exportação web da Godot usa WebGL2 por meio do renderizador Compatibility. O trabalho mais amplo da Godot com WebGPU ainda não está pronto para exportações web em produção. A Godot 4.7 (junho de 2026, seguida pela 4.7.1 em julho de 2026) inclui WebAssembly SIMD por padrão e adicionou uma opção de exportação wasm64, o que melhora o desempenho na web sem exigir alterações no código.</p>
<p>A Unity 6 adicionou um backend WebGPU experimental que oferece acesso a compute shaders e recursos modernos de GPU além do WebGL2, que continua sendo a alternativa mais segura. O WebGPU ainda não está disponível em todos os navegadores (consulte nosso <a href="/pt-BR/guides/web-games-stack-2026.html">guia da stack tecnológica para jogos web</a> para ver o suporte atual), portanto, trate-o como um caminho de evolução, e não como requisito básico. A Unity 6 também aumentou o heap do WebAssembly para 4 GB e adicionou Wasm SIMD e exceções nativas.</p>
<p>Se você precisa de compute shaders ou 3D mais pesado no navegador hoje, o caminho WebGPU da Unity está à frente. Para 2D e 3D mais leve com WebGL2, os dois motores funcionam bem.</p>
<h2 id="multithreading-ios-e-complicacoes-de-hospedagem" tabindex="-1">Multithreading, iOS e complicações de hospedagem <a class="header-anchor" href="#multithreading-ios-e-complicacoes-de-hospedagem" aria-label="Permalink to &quot;Multithreading, iOS e complicações de hospedagem&quot;"></a></h2>
<p>Originalmente, a Godot 4 exigia SharedArrayBuffer, que os navegadores só disponibilizam quando a página tem isolamento entre origens (os cabeçalhos COOP e COEP). Isso complica a hospedagem e, no itch.io, só funciona no Chrome. Desde a Godot 4.3, você pode exportar builds single-threaded que eliminam completamente essa exigência, e essa mudança também resolveu os antigos problemas de execução no iOS e no Safari. Para um jogo da Godot focado primeiro na web, a exportação single-threaded geralmente é a opção padrão mais segura.</p>
<p>As builds web da Unity também usam WebAssembly, com suporte à web móvel a partir da Unity 6. Se o objetivo for alcançar uma ampla variedade de navegadores móveis, teste cedo em dispositivos reais nos dois motores, pois é neles que as builds web costumam apresentar problemas primeiro.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/WB7v-ezqcJM" title="Criei o mesmo jogo na Unity e na Godot: qual motor é melhor?" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">Thomas Grové cria o mesmo jogo nos dois motores, oferecendo uma comparação prática e útil do fluxo de trabalho cotidiano.</div>
<h2 id="precos" tabindex="-1">Preços <a class="header-anchor" href="#precos" aria-label="Permalink to &quot;Preços&quot;"></a></h2>
<p>A Godot é gratuita sob a licença MIT. Sem assentos, royalties, limite de receita ou taxas — para sempre.</p>
<p>A Unity voltou às assinaturas por assento após cancelar a Runtime Fee em setembro de 2024 (ela não retornou). A Unity Personal continua gratuita para receitas ou financiamentos de até $200 mil, e a tela &quot;Made with Unity&quot; passou a ser opcional na Unity 6. A Unity Pro custa $2.310 por assento ao ano após o aumento de aproximadamente 5% nos planos pagos no início de 2026. Para uma pessoa desenvolvedora solo ou uma equipe pequena abaixo do limite, ambos os motores são, na prática, gratuitos para publicar.</p>
<h2 id="quando-escolher-cada-uma" tabindex="-1">Quando escolher cada uma <a class="header-anchor" href="#quando-escolher-cada-uma" aria-label="Permalink to &quot;Quando escolher cada uma&quot;"></a></h2>
<p>Escolha a <strong>Godot</strong> para a web quando quiser um jogo de navegador 2D ou 3D mais leve, gratuito e com tamanho reduzido, bom suporte ao iOS e Safari por meio da exportação single-threaded, e se sentir confortável programando em GDScript.</p>
<p>Escolha a <strong>Unity</strong> para a web quando precisar de 3D mais pesado ou compute shaders via WebGPU, quiser um ecossistema maior de assets ou tiver uma equipe de C#, e puder aceitar builds maiores e a ressalva de que o WebGPU é experimental.</p>
<p>Em qualquer caso, sua build ainda precisa carregar rápido e funcionar em um celular. Depois de escolher, veja como <a href="/pt-BR/tutorials/ship-web-game-fast.html">publicar um jogo web que carrega rápido</a>.</p>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="a-godot-pode-exportar-jogos-em-c-para-a-web" tabindex="-1">A Godot pode exportar jogos em C# para a web? <a class="header-anchor" href="#a-godot-pode-exportar-jogos-em-c-para-a-web" aria-label="Permalink to &quot;A Godot pode exportar jogos em C# para a web?&quot;"></a></h3>
<p>Não oficialmente, em 2026. A exportação web da Godot funciona com GDScript, mas projetos em C# (.NET) ainda não podem ser exportados para o navegador. Um protótipo foi apresentado na GodotCon Boston em maio de 2025, mas não há uma data de lançamento definida. Se você precisa de C# na web, atualmente a Unity é a única das duas que oferece essa possibilidade.</p>
<h3 id="a-godot-ou-a-unity-gera-builds-web-menores" tabindex="-1">A Godot ou a Unity gera builds web menores? <a class="header-anchor" href="#a-godot-ou-a-unity-gera-builds-web-menores" aria-label="Permalink to &quot;A Godot ou a Unity gera builds web menores?&quot;"></a></h3>
<p>A build web vazia da Godot ocupa cerca de 5 MB compactada com Brotli. As builds vazias da Unity 6 ficam em torno de 7,7 MB para 2D e 10,7 MB para 3D, embora uma build da Unity com remoção agressiva de recursos possa chegar a aproximadamente 2 MB. A Godot é menor por padrão, mas uma build 2D otimizada da Unity pode se aproximar. Seus próprios assets geralmente importam mais do que o binário do motor.</p>
<h3 id="a-unity-oferece-suporte-ao-webgpu-no-navegador" tabindex="-1">A Unity oferece suporte ao WebGPU no navegador? <a class="header-anchor" href="#a-unity-oferece-suporte-ao-webgpu-no-navegador" aria-label="Permalink to &quot;A Unity oferece suporte ao WebGPU no navegador?&quot;"></a></h3>
<p>Sim, a Unity 6 adicionou um backend WebGPU experimental com compute shaders e recursos modernos de GPU, usando o WebGL2 como alternativa. Ele é classificado como experimental e não tem suporte em todos os navegadores, portanto, publique usando WebGL2 como base e trate o WebGPU como um aprimoramento.</p>
<h3 id="qual-e-melhor-para-jogos-de-navegador-godot-ou-unity" tabindex="-1">Qual é melhor para jogos de navegador, Godot ou Unity? <a class="header-anchor" href="#qual-e-melhor-para-jogos-de-navegador-godot-ou-unity" aria-label="Permalink to &quot;Qual é melhor para jogos de navegador, Godot ou Unity?&quot;"></a></h3>
<p>Para jogos 2D ou 3D mais leves, gratuitos e com bom suporte ao iOS, a Godot oferece o caminho mais simples para a web, desde que você use GDScript. Para 3D mais pesado, compute shaders, um ecossistema maior ou uma base de código existente em C#, a Unity vence na web. A questão do C# geralmente é o fator decisivo.</p>
<BuildCta
  title="Crie um protótipo no navegador antes de escolher um lado"
  desc="Teste sua ideia primeiro como um jogo web jogável e só depois escolha um motor."
  prompt="Crie um jogo de coleta de moedas em terceira pessoa em ilhas flutuantes" />
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/vibe-coding-game-prompts.html">100 ideias de prompts de IA para jogos que você pode criar com um clique</a> — pegue uma ideia e torne-a jogável em cerca de um minuto</li>
<li><a href="/pt-BR/guides/web-game-engines-comparison.html">Melhores motores de jogos web para 2026 (comparados)</a> — todas as opções, além destas duas</li>
<li><a href="/pt-BR/guides/unity-alternatives-web-games.html">Alternativas à Unity para jogos web</a> — todas as opções compatíveis com a web, selecionadas de acordo com o motivo para deixar a Unity</li>
<li><a href="/pt-BR/guides/best-2d-game-engines-2026.html">Melhores motores de jogos 2D para 2026</a> — se o seu jogo é 2D, comece aqui</li>
<li><a href="/pt-BR/guides/web-games-stack-2026.html">Stack tecnológica para jogos web em 2026</a> — explicações sobre WebGL, WebGPU e Wasm</li>
<li><a href="/pt-BR/tutorials/ship-web-game-fast.html">Publique um jogo web que carrega rápido</a> — estratégias para reduzir o tamanho da build e o tempo de carregamento</li>
<li><a href="/pt-BR/engine.html">Cinevva Engine</a> — nosso motor de código aberto, criado primeiro para a web e baseado em Three.js</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/godot-vs-unity-web-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[PlayCanvas vs Three.js: comparação de 3D para web (2026)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/playcanvas-vs-threejs</link>
            <guid>https://app.cinevva.com/pt-BR/guides/playcanvas-vs-threejs</guid>
            <pubDate>Sun, 07 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[PlayCanvas vs Three.js para 3D na web — uma engine completa com editor visual versus uma biblioteca de renderização, além de suporte a WebGPU, sistemas integrados, preços e quando escolher cada uma.]]></description>
            <content:encoded><![CDATA[<h1 id="playcanvas-vs-three-js-comparacao-de-3d-para-web-2026" tabindex="-1">PlayCanvas vs Three.js: comparação de 3D para web (2026) <a class="header-anchor" href="#playcanvas-vs-three-js-comparacao-de-3d-para-web-2026" aria-label="Permalink to &quot;PlayCanvas vs Three.js: comparação de 3D para web (2026)&quot;"></a></h1>
<figure style="margin:1.5rem 0">
<img src="https://cdn.cinevva.com/guides/playcanvas-vs-threejs-hero.jpg?v=2" alt="PlayCanvas vs Three.js para 3D na web em 2026" style="width:100%;border-radius:10px">
</figure>
<p>As pessoas costumam tratar as duas como rivais, mas elas não são o mesmo tipo de ferramenta. PlayCanvas é uma engine de jogos completa com um editor visual. Three.js é uma biblioteca de renderização sobre a qual você desenvolve com código. Escolher entre elas é, na verdade, uma questão de quanto você quer receber pronto e quanto deseja controlar. Veja a comparação para 3D na web em 2026.</p>
<p>Para conhecer o cenário mais amplo, veja nossa <a href="/pt-BR/guides/web-game-engines-comparison.html">comparação de engines de jogos para web</a>.</p>
<h2 id="veredito-rapido" tabindex="-1">Veredito rápido <a class="header-anchor" href="#veredito-rapido" aria-label="Permalink to &quot;Veredito rápido&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th>PlayCanvas</th>
<th>Three.js</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>O que é</strong></td>
<td>Engine completa + editor na nuvem</td>
<td>Biblioteca de renderização (sem editor)</td>
</tr>
<tr>
<td><strong>Fluxo de trabalho</strong></td>
<td>Editor visual e colaboração em tempo real</td>
<td>Somente código</td>
</tr>
<tr>
<td><strong>Renderização</strong></td>
<td>WebGL2 + WebGPU</td>
<td>WebGL2 + WebGPU (WebGPURenderer)</td>
</tr>
<tr>
<td><strong>Sistemas integrados</strong></td>
<td>ECS, física, animação, áudio e entrada</td>
<td>Apenas o renderizador; você adiciona o restante</td>
</tr>
<tr>
<td><strong>Licença/custo</strong></td>
<td>Engine MIT; editor de grátis a US$ 50 por licença/mês</td>
<td>MIT, grátis</td>
</tr>
<tr>
<td><strong>Ideal para</strong></td>
<td>Equipes que querem uma engine pronta para uso + editor</td>
<td>Projetos personalizados, orientados a código e com controle máximo</td>
</tr>
</tbody>
</table>
<h2 id="engine-vs-biblioteca" tabindex="-1">Engine vs biblioteca <a class="header-anchor" href="#engine-vs-biblioteca" aria-label="Permalink to &quot;Engine vs biblioteca&quot;"></a></h2>
<p>Esta é toda a história em uma frase. <strong>PlayCanvas oferece uma engine de jogos</strong>: sistema de entidade-componente, física, animação, áudio, entrada e pipeline de assets, tudo integrado, além de um editor no navegador em que uma equipe pode criar uma cena em conjunto e em tempo real (pense em edição colaborativa, como uma ferramenta de design para 3D).</p>
<p><strong>Three.js oferece um renderizador.</strong> Grafo de cena, câmeras, luzes, materiais e um renderizador rápido com WebGL/WebGPU. Sem editor, sem física e sem impor uma estrutura de game loop. Você adiciona física com algo como Rapier ou cannon-es, estrutura sua própria lógica de jogo e cria as ferramentas de que precisar. Isso significa liberdade, mas também mais trabalho.</p>
<p>Portanto, a verdadeira pergunta não é “qual é melhor?”, mas sim “quero uma engine ou um renderizador?”.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/-0envvPmj5k" title="A engine de jogos PlayCanvas se torna open source" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">Gamefromscratch fala sobre o PlayCanvas se tornar open source.</div>
<h2 id="renderizacao-e-webgpu" tabindex="-1">Renderização e WebGPU <a class="header-anchor" href="#renderizacao-e-webgpu" aria-label="Permalink to &quot;Renderização e WebGPU&quot;"></a></h2>
<p>Ambas são modernas quando se trata de GPU. PlayCanvas conta com backends para WebGL2 e WebGPU. A versão 2.0 (agosto de 2024) abandonou completamente o WebGL1, e versões recentes da engine adicionaram uma implementação de WebGPU baseada em computação para splats gaussianos 3D. Three.js lançou um WebGPURenderer pronto para produção por volta da r171 (setembro de 2025), com configuração praticamente automática e fallback automático para WebGL2, além da TSL (Three.js Shading Language), que permite criar shaders uma única vez e usá-los nos dois backends.</p>
<p>Para a maioria dos projetos em 2026, qualquer uma das duas produzirá ótimos resultados visuais. WebGPU é o caminho de evolução em ambas, com WebGL2 como base segura. Consulte nosso <a href="/pt-BR/guides/web-games-stack-2026.html">guia da stack tecnológica para jogos web</a> para ver a compatibilidade atual dos navegadores.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/7we9mqIOKyw" title="Adotando WebGPU e WebXR com Three.js — Mr.doob, JSNation 2024" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">O criador do Three.js, Mr.doob, fala sobre os rumos da biblioteca com WebGPU e WebXR.</div>
<h2 id="fluxo-de-trabalho-licenciamento-e-custo" tabindex="-1">Fluxo de trabalho, licenciamento e custo <a class="header-anchor" href="#fluxo-de-trabalho-licenciamento-e-custo" aria-label="Permalink to &quot;Fluxo de trabalho, licenciamento e custo&quot;"></a></h2>
<p>O editor do PlayCanvas é seu principal destaque: um editor de cenas hospedado e colaborativo, com pipeline de assets. A engine é open source sob a licença MIT, e o frontend do editor também se tornou open source em 2025. O editor hospedado possui diferentes planos: um gratuito, um plano Personal por cerca de US$ 15 mensais e um plano Organization por cerca de US$ 50 mensais por licença, que diferem principalmente nos limites de armazenamento e projetos privados.</p>
<p>Three.js usa a licença MIT e é totalmente gratuito. Não há editor pelo qual pagar porque não há editor. Seu “custo” é o tempo de engenharia necessário para criar a estrutura que o PlayCanvas entrega pronta.</p>
<h2 id="quando-escolher-cada-uma" tabindex="-1">Quando escolher cada uma <a class="header-anchor" href="#quando-escolher-cada-uma" aria-label="Permalink to &quot;Quando escolher cada uma&quot;"></a></h2>
<p>Escolha <strong>PlayCanvas</strong> quando quiser uma engine completa e um editor visual prontos para uso, sua equipe precisar colaborar em cenas e você preferir configurar em vez de desenvolver tudo do zero. Ela é especialmente forte para configuradores de produtos, experiências 3D interativas e equipes que precisam lançar rapidamente.</p>
<p>Escolha <strong>Three.js</strong> quando quiser controle total sobre a renderização e a arquitetura, estiver à vontade para montar sua própria stack ou estiver criando algo sob medida em que as decisões impostas por uma engine atrapalhariam. Ela também tem o maior ecossistema e é a habilidade de 3D para web com maior demanda. Criamos a <a href="/pt-BR/engine.html">Cinevva Engine</a> sobre o Three.js exatamente por esse motivo: prioriza a web, é aberta e não limita o que podemos personalizar.</p>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="playcanvas-ou-three-js-e-melhor-para-jogos-web" tabindex="-1">PlayCanvas ou Three.js é melhor para jogos web? <a class="header-anchor" href="#playcanvas-ou-three-js-e-melhor-para-jogos-web" aria-label="Permalink to &quot;PlayCanvas ou Three.js é melhor para jogos web?&quot;"></a></h3>
<p>Nenhuma é estritamente melhor; são ferramentas diferentes. PlayCanvas é uma engine completa com editor visual, então permite lançar mais rapidamente um jogo estruturado ou aplicativo interativo, especialmente em equipe. Three.js é uma biblioteca de renderização que oferece controle total, mas espera que você desenvolva os sistemas do jogo por conta própria. Escolha PlayCanvas para uma solução pronta para uso e Three.js para algo personalizado.</p>
<h3 id="three-js-e-uma-engine-de-jogos" tabindex="-1">Three.js é uma engine de jogos? <a class="header-anchor" href="#three-js-e-uma-engine-de-jogos" aria-label="Permalink to &quot;Three.js é uma engine de jogos?&quot;"></a></h3>
<p>Não. Three.js é uma biblioteca de renderização 3D. Ela cuida do grafo de cena, câmeras, luzes, materiais e da renderização por WebGL2 ou WebGPU, mas não possui física, áudio, entrada nem game loop integrados. Você adiciona esses recursos com outras bibliotecas (como Rapier para física) ou os desenvolve por conta própria. Em contrapartida, PlayCanvas é uma engine completa.</p>
<h3 id="playcanvas-e-three-js-oferecem-suporte-a-webgpu" tabindex="-1">PlayCanvas e Three.js oferecem suporte a WebGPU? <a class="header-anchor" href="#playcanvas-e-three-js-oferecem-suporte-a-webgpu" aria-label="Permalink to &quot;PlayCanvas e Three.js oferecem suporte a WebGPU?&quot;"></a></h3>
<p>Sim, ambas oferecem suporte em 2026. PlayCanvas conta com backends para WebGL2 e WebGPU. Three.js possui um WebGPURenderer pronto para produção (estável desde aproximadamente a r171), com fallback automático para WebGL2 e TSL para shaders compatíveis com diferentes destinos. Lance usando WebGL2 como base e trate WebGPU como uma melhoria de desempenho.</p>
<h3 id="playcanvas-e-gratuito" tabindex="-1">PlayCanvas é gratuito? <a class="header-anchor" href="#playcanvas-e-gratuito" aria-label="Permalink to &quot;PlayCanvas é gratuito?&quot;"></a></h3>
<p>A engine PlayCanvas é gratuita e open source sob a licença MIT, e o frontend do editor se tornou open source em 2025. O editor hospedado na nuvem possui um plano gratuito e planos pagos (cerca de US$ 15/mês no Personal e US$ 50/licença/mês no Organization), que adicionam principalmente armazenamento e projetos privados. Three.js é totalmente gratuito e não há editor pelo qual pagar.</p>
<BuildCta
  title="Quer o resultado 3D sem precisar explorar a engine?"
  desc="Descreva a cena e receba algo jogável, não um projeto cheio de código boilerplate."
  prompt="Crie uma pista de corrida de bolinhas de gude em 3D com loops e um cronômetro" />
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/web-game-engines-comparison.html">Melhores engines de jogos para web em 2026 (comparação)</a> — todo o cenário</li>
<li><a href="/pt-BR/guides/threejs-vs-babylonjs.html">Three.js vs Babylon.js</a> — se você restringiu a escolha a bibliotecas de 3D para web</li>
<li><a href="/pt-BR/guides/godot-vs-unity-web-games.html">Godot vs Unity para jogos web</a> — engines completas em vez de bibliotecas</li>
<li><a href="/pt-BR/guides/web-games-stack-2026.html">Stack tecnológica para jogos web em 2026</a> — WebGL, WebGPU e Wasm</li>
<li><a href="/pt-BR/engine.html">Cinevva Engine</a> — nossa engine open source criada sobre o Three.js</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/playcanvas-vs-threejs-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Three.js vs Babylon.js: qual biblioteca 3D para web escolher (2026)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/threejs-vs-babylonjs</link>
            <guid>https://app.cinevva.com/pt-BR/guides/threejs-vs-babylonjs</guid>
            <pubDate>Sun, 07 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Three.js vs Babylon.js em 2026 - renderizador minimalista versus engine completa, suporte a WebGPU e WGSL, ferramentas integradas, tamanho do bundle, TypeScript e quando escolher cada opção para 3D na web.]]></description>
            <content:encoded><![CDATA[<h1 id="three-js-vs-babylon-js-qual-biblioteca-3d-para-web-escolher-2026" tabindex="-1">Three.js vs Babylon.js: qual biblioteca 3D para web escolher (2026) <a class="header-anchor" href="#three-js-vs-babylon-js-qual-biblioteca-3d-para-web-escolher-2026" aria-label="Permalink to &quot;Three.js vs Babylon.js: qual biblioteca 3D para web escolher (2026)&quot;"></a></h1>
<figure style="margin:1.5rem 0">
<img src="https://cdn.cinevva.com/guides/threejs-vs-babylonjs-hero.jpg?v=2" alt="Three.js vs Babylon.js para 3D na web em 2026" style="width:100%;border-radius:10px">
</figure>
<p>Esses são os dois pesos-pesados do 3D na web, e a escolha entre eles se resume à filosofia. O Three.js é um renderizador enxuto que você pode ampliar. O Babylon.js é uma engine completa, com as ferramentas já incluídas. Ambos são excelentes, ambos são gratuitos e ambos oferecem WebGPU em 2026. Veja como escolher.</p>
<p>Se você procura engines 2D ou engines de jogos completas, consulte a <a href="/pt-BR/guides/web-game-engines-comparison.html">comparação de engines para jogos web</a>.</p>
<h2 id="veredito-rapido" tabindex="-1">Veredito rápido <a class="header-anchor" href="#veredito-rapido" aria-label="Permalink to &quot;Veredito rápido&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th>Three.js</th>
<th>Babylon.js</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Estilo</strong></td>
<td>Renderizador/biblioteca minimalista</td>
<td>Engine/framework completo</td>
</tr>
<tr>
<td><strong>Linguagem</strong></td>
<td>JavaScript (com definições de tipos)</td>
<td>TypeScript como prioridade</td>
</tr>
<tr>
<td><strong>Ferramentas integradas</strong></td>
<td>Renderizador; complementos para o restante</td>
<td>Física, GUI, Inspector, Playground, NME</td>
</tr>
<tr>
<td><strong>WebGPU</strong></td>
<td>WebGPURenderer + TSL</td>
<td>GLSL + WGSL no núcleo (8.0)</td>
</tr>
<tr>
<td><strong>Bundle</strong></td>
<td>Núcleo menor e compatível com tree shaking</td>
<td>Maior, porém modular</td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>MIT</td>
<td>Apache 2.0</td>
</tr>
<tr>
<td><strong>Melhor para</strong></td>
<td>Projetos personalizados e leves, com o maior ecossistema</td>
<td>Solução completa, com ferramentas avançadas</td>
</tr>
</tbody>
</table>
<h2 id="biblioteca-vs-framework" tabindex="-1">Biblioteca vs framework <a class="header-anchor" href="#biblioteca-vs-framework" aria-label="Permalink to &quot;Biblioteca vs framework&quot;"></a></h2>
<p>O Three.js mantém um núcleo pequeno e deixa o restante por sua conta e pela comunidade. Você recebe um excelente renderizador, grafo de cena e materiais, e pode recorrer a complementos quando precisar de física, pós-processamento ou controles. É a biblioteca 3D para web mais popular e tem o maior ecossistema, o que significa mais exemplos, mais tutoriais e mais profissionais disponíveis.</p>
<p>O Babylon.js é uma engine mais completa, apoiada pela Microsoft. Ele inclui física, um sistema de GUI, animação, um Inspector integrado para depurar cenas, um Playground online para compartilhar código e um Node Material Editor para criar shaders visualmente. Se você prefere receber ferramentas e estrutura prontas em vez de montá-las, o Babylon oferece mais desde o primeiro dia.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/kKaomUggipQ" title="Apresentando o Babylon.js 8.0" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">A apresentação oficial do Babylon.js 8.0 dá uma ideia de quantos recursos já vêm incluídos.</div>
<h2 id="webgpu-em-2026" tabindex="-1">WebGPU em 2026 <a class="header-anchor" href="#webgpu-em-2026" aria-label="Permalink to &quot;WebGPU em 2026&quot;"></a></h2>
<p>Agora, ambos levam o WebGPU a sério. O Babylon.js 8.0 (março de 2025) passou a disponibilizar todos os shaders do núcleo da engine em GLSL e WGSL, eliminando uma camada de conversão de vários megabytes e reduzindo aproximadamente pela metade o tamanho da engine ao usar WebGPU. O Babylon.js 9.0 (março de 2026) avançou ainda mais, com iluminação em clusters, iluminação volumétrica por meio de compute shaders, um frame graph e luzes de área.</p>
<p>O Three.js conta com seu WebGPURenderer pronto para produção, com fallback automático para WebGL2, enquanto o TSL permite escrever shaders uma única vez para ambos os backends. As versões recentes continuam refinando esses recursos.</p>
<p>Em resumo: o WebGPU é sólido em ambos. O Babylon aposta em recursos baseados em compute shaders; o Three.js mantém seu renderizador enxuto e flexível.</p>
<h2 id="typescript-tamanho-do-bundle-e-ecossistema" tabindex="-1">TypeScript, tamanho do bundle e ecossistema <a class="header-anchor" href="#typescript-tamanho-do-bundle-e-ecossistema" aria-label="Permalink to &quot;TypeScript, tamanho do bundle e ecossistema&quot;"></a></h2>
<p>O Babylon.js prioriza o TypeScript e é escrito quase inteiramente em TS, algo que muitas equipes preferem para bases de código grandes. O Three.js usa JavaScript com definições de tipos separadas que funcionam bem, mas não são a fonte de referência.</p>
<p>Quanto ao tamanho, o Three.js tem um núcleo menor e mais compatível com tree shaking, portanto uma cena mínima entrega menos código. O Babylon é maior, mas modular graças aos pacotes com escopo, e seu caminho nativo em WGSL reduziu a diferença no WebGPU.</p>
<p>Em tamanho bruto e produção da comunidade, o ecossistema do Three.js vence. Em ferramentas integradas, o Babylon leva vantagem.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/6k5ZK3SV3ko" title="Migrando o Three.js do WebGL para WebGPU - Mr.doob, JSConf JP 2024" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">O criador do Three.js, Mr.doob, fala sobre a migração para WebGPU.</div>
<h2 id="quando-escolher-cada-um" tabindex="-1">Quando escolher cada um <a class="header-anchor" href="#quando-escolher-cada-um" aria-label="Permalink to &quot;Quando escolher cada um&quot;"></a></h2>
<p>Escolha o <strong>Three.js</strong> quando quiser um renderizador leve e flexível, o maior ecossistema e liberdade para definir sua própria arquitetura. É a escolha padrão para trabalhos personalizados de 3D na web e a habilidade mais versátil.</p>
<p>Escolha o <strong>Babylon.js</strong> quando quiser uma engine completa, com ferramentas integradas robustas (Inspector, Playground e Node Material Editor), desenvolvimento que prioriza TypeScript e estabilidade respaldada por uma empresa, e não se importar em trocar um bundle um pouco maior por uma solução completa.</p>
<p>Ambos são ótimas escolhas. Escolhemos o Three.js para a <a href="/pt-BR/engine.html">Cinevva Engine</a> porque queríamos uma base enxuta e centrada na web que pudéssemos moldar por conta própria.</p>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="three-js-ou-babylon-js-qual-e-melhor" tabindex="-1">Three.js ou Babylon.js: qual é melhor? <a class="header-anchor" href="#three-js-ou-babylon-js-qual-e-melhor" aria-label="Permalink to &quot;Three.js ou Babylon.js: qual é melhor?&quot;"></a></h3>
<p>Ambos são excelentes e gratuitos. O Three.js é um renderizador minimalista com o maior ecossistema, ideal quando você busca flexibilidade e quer criar sua própria estrutura. O Babylon.js é uma engine mais completa, com física integrada, GUI, Inspector e Playground, ideal quando você quer ferramentas prontas e desenvolvimento que prioriza TypeScript. É uma escolha filosófica, não uma diferença de qualidade.</p>
<h3 id="three-js-e-babylon-js-oferecem-suporte-a-webgpu" tabindex="-1">Three.js e Babylon.js oferecem suporte a WebGPU? <a class="header-anchor" href="#three-js-e-babylon-js-oferecem-suporte-a-webgpu" aria-label="Permalink to &quot;Three.js e Babylon.js oferecem suporte a WebGPU?&quot;"></a></h3>
<p>Sim, ambos oferecem suporte a WebGPU em 2026. O Three.js tem um WebGPURenderer pronto para produção, com fallback para WebGL2, e TSL para shaders compatíveis com diferentes destinos. O Babylon.js 8.0 tornou os shaders do núcleo nativos em WGSL, reduzindo o tamanho do bundle no WebGPU, e a versão 9.0 adicionou recursos baseados em compute shaders, como iluminação volumétrica. Use WebGL2 como base e WebGPU onde estiver disponível.</p>
<h3 id="o-babylon-js-e-uma-engine-de-jogos-e-o-three-js-nao" tabindex="-1">O Babylon.js é uma engine de jogos e o Three.js não? <a class="header-anchor" href="#o-babylon-js-e-uma-engine-de-jogos-e-o-three-js-nao" aria-label="Permalink to &quot;O Babylon.js é uma engine de jogos e o Three.js não?&quot;"></a></h3>
<p>De modo geral, sim. O Babylon.js é uma engine completa: inclui física, um sistema de GUI, animação, Inspector e ferramentas no estilo de editores. O Three.js é uma biblioteca de renderização focada em desenhar conteúdo 3D, então você adiciona física, controles e sistemas de jogo usando outros pacotes ou seu próprio código. Essa é a principal diferença entre eles.</p>
<h3 id="qual-e-menor-three-js-ou-babylon-js" tabindex="-1">Qual é menor, Three.js ou Babylon.js? <a class="header-anchor" href="#qual-e-menor-three-js-ou-babylon-js" aria-label="Permalink to &quot;Qual é menor, Three.js ou Babylon.js?&quot;"></a></h3>
<p>O Three.js tem um núcleo menor e mais compatível com tree shaking, portanto uma cena mínima entrega menos JavaScript. O Babylon.js é maior no geral, mas é modular graças aos pacotes com escopo, e seus shaders nativos em WGSL na versão 8.0 reduziram aproximadamente pela metade seu tamanho ao usar WebGPU. Para o bundle mais enxuto possível, o Three.js ainda vence.</p>
<BuildCta
  title="Crie o jogo 3D sem programar o renderizador"
  desc="As duas bibliotecas estão nos bastidores da Cinevva; você só precisa descrever o jogo."
  prompt="Crie um endless runner 3D no navegador" />
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/playcanvas-vs-threejs.html">PlayCanvas vs Three.js</a> — inclua um editor visual na comparação</li>
<li><a href="/pt-BR/guides/web-game-engines-comparison.html">Melhores engines para jogos web em 2026 (comparativo)</a> — o panorama completo</li>
<li><a href="/pt-BR/guides/web-games-stack-2026.html">Stack tecnológica para jogos web em 2026</a> — WebGL, WebGPU e Wasm</li>
<li><a href="/pt-BR/guides/threejs-usdc-tech-report.html">Three.js + USDC no navegador</a> — carregando assets 3D em USD no Three.js</li>
<li><a href="/pt-BR/engine.html">Cinevva Engine</a> — nossa engine de código aberto criada sobre o Three.js</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/threejs-vs-babylonjs-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Dando aos jogadores o poder de esculpir o mundo]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/player-world-sculpting</link>
            <guid>https://app.cinevva.com/pt-BR/guides/player-world-sculpting</guid>
            <pubDate>Sun, 05 Apr 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Como transformar pincéis de terreno em brinquedos. TNT que escava cavernas, sementes que fazem florestas crescer, chuva que provoca erosão em penhascos. Padrões de design de jogos para tornar a escultura do mundo divertida para jogadores casuais em um mundo multijogador compartilhado.]]></description>
            <content:encoded><![CDATA[<h1 id="dando-aos-jogadores-o-poder-de-esculpir-o-mundo" tabindex="-1">Dando aos jogadores o poder de esculpir o mundo <a class="header-anchor" href="#dando-aos-jogadores-o-poder-de-esculpir-o-mundo" aria-label="Permalink to &quot;Dando aos jogadores o poder de esculpir o mundo&quot;"></a></h1>
<img src="https://cdn.cinevva.com/guides/player-world-sculpting-hero.jpg?v=2" alt="Jogador cercado por ferramentas para esculpir terrenos: dinamite, enxada, regador, sementes, picareta, nuvem de chuva e um sinalizador de terraformação, remodelando uma paisagem 3D colorida" style="width:100%;border-radius:8px;margin:1.5rem 0" />
<p>Ninguém abre um jogo pensando: &quot;Quero aplicar uma função de atenuação suave com interpolação de Hermite a um campo de distância com sinal.&quot; As pessoas pensam: &quot;Quero escavar uma caverna&quot;, &quot;Quero construir uma montanha&quot; ou &quot;Quero criar um rio&quot;.</p>
<p>A parte técnica da escultura de terrenos (marching cubes, pincéis SDF, emendas transvoxel) é abordada em nosso <a href="/pt-BR/guides/terrain-sculpting-brushes.html">guia de pesquisa complementar</a>. Este guia trata da outra metade do problema: como colocar o poder de esculpir nas mãos de jogadores casuais e fazer com que ele pareça uma brincadeira, não uma ferramenta de modelagem 3D.</p>
<h2 id="o-problema-da-metafora" tabindex="-1">O problema da metáfora <a class="header-anchor" href="#o-problema-da-metafora" aria-label="Permalink to &quot;O problema da metáfora&quot;"></a></h2>
<p>Todo jogo lançado que permite aos jogadores remodelar o terreno resolveu o mesmo problema de design: parâmetros brutos de escultura (raio, intensidade, atenuação, tipo de operação) não significam nada para a maioria dos jogadores. A solução é sempre a mesma: envolver o pincel em uma metáfora que o jogador já compreende.</p>
<h3 id="minecraft-o-bloco-como-metafora-universal" tabindex="-1">Minecraft: o bloco como metáfora universal <a class="header-anchor" href="#minecraft-o-bloco-como-metafora-universal" aria-label="Permalink to &quot;Minecraft: o bloco como metáfora universal&quot;"></a></h3>
<div class="video-embed">
  <iframe src="https://www.youtube.com/embed/MmB9b5njVbA" title="Trailer oficial do Minecraft" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
  <p class="game-caption">Trailer oficial do Minecraft (Mojang). O mundo baseado em blocos no qual TNT, picaretas e pás também funcionam como editores de terreno.</p>
</div>
<p>A genialidade do Minecraft é que editar o terreno nada mais é do que gerenciar o inventário. Você quebra um bloco. Você pega um bloco. Você coloca um bloco. O &quot;pincel&quot; é um único voxel, a &quot;atenuação&quot; é binária (afetado ou não) e a &quot;operação&quot; é adicionar ou remover.</p>
<p>A TNT amplia isso. Você a fabrica com pólvora e areia (materiais que já coletou enquanto jogava), posiciona como qualquer outro bloco, acende com pederneira e aço, e ela escava uma esfera no terreno. O raio da explosão é de 4 a 7 blocos. A resistência à explosão varia conforme o material: terra e areia se desintegram, pedra sobrevive parcialmente e obsidiana é imune. A água impede a destruição de blocos, mas não o dano a entidades.</p>
<p>O jogador nunca pensa no raio da explosão como um parâmetro. Ele pensa: &quot;TNT é forte, obsidiana é resistente, água é um escudo.&quot; O sistema de edição de terreno é totalmente expresso por meio de materiais e itens que o jogador já conhece.</p>
<h3 id="valheim-o-kit-de-ferramentas-do-agricultor" tabindex="-1">Valheim: o kit de ferramentas do agricultor <a class="header-anchor" href="#valheim-o-kit-de-ferramentas-do-agricultor" aria-label="Permalink to &quot;Valheim: o kit de ferramentas do agricultor&quot;"></a></h3>
<div class="video-embed">
  <iframe src="https://www.youtube.com/embed/zmIS9B3w7bw" title="Como nivelar e moldar o terreno em Valheim" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
  <p class="game-caption">Uma explicação clara do vocabulário de modelagem de terreno de Valheim com a enxada, o cultivador e a picareta, incluindo o truque de nivelamento de "ficar na altura em que você quer o solo".</p>
</div>
<p>Valheim adota uma abordagem diferente. Em vez de blocos, oferece aos jogadores ferramentas da agricultura pré-industrial:</p>
<p><strong>A Enxada</strong> (5 unidades de madeira + 2 de pedra, disponível nos primeiros 10 minutos) tem quatro modos: Nivelar Terreno (nivela até a altura em que você está), Elevar Terreno (adiciona terra, custa 2 pedras por uso), Caminho (remove a grama) e Pavimentar (coloca paralelepípedos). A mecânica de nivelamento é brilhante: você fica na altura em que quer que o solo esteja, e a enxada faz com que tudo ao seu redor alcance essa mesma altura. Nenhuma entrada numérica. Seus pés são a referência.</p>
<p><strong>O Cultivador</strong> (5 unidades de bronze + 5 de madeira de lei, requer fundição) serve para plantar: arar o solo, plantar sementes, cultivar grama e restaurar a vegetação. Ele não molda o terreno, mas o ornamenta. Depois de aplainar uma encosta com a enxada, você cultiva a terra e planta uma floresta. O terreno conta uma história: alguém esteve aqui e trabalhou esta terra.</p>
<p><strong>A Picareta</strong> cuida do lado destrutivo. Ela escava o terreno, fazendo o inverso da elevação com a enxada. Juntas, as três ferramentas (a picareta escava, a enxada eleva e nivela, o cultivador planta) formam um vocabulário completo que corresponde a ações agrícolas do mundo real.</p>
<p>O modelo de custos importa. Elevar o terreno custa pedra. Você sente o peso de cada alteração. Não se transforma uma montanha de graça. O custo em recursos torna a escultura uma decisão, não uma opção a ser marcada.</p>
<h3 id="animal-crossing-terraformacao-conquistada" tabindex="-1">Animal Crossing: terraformação conquistada <a class="header-anchor" href="#animal-crossing-terraformacao-conquistada" aria-label="Permalink to &quot;Animal Crossing: terraformação conquistada&quot;"></a></h3>
<div class="video-embed">
  <iframe src="https://www.youtube.com/embed/q9wHV8XmLfs" title="Como desbloquear a terraformação em Animal Crossing: New Horizons" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
  <p class="game-caption">O GameXplain mostra como o aplicativo Island Designer é desbloqueado, além das licenças para penhascos e paisagismo aquático que condicionam cada nova ferramenta de escultura à obtenção de moeda.</p>
</div>
<p>Animal Crossing: New Horizons condiciona a terraformação a uma avaliação de 3 estrelas para a ilha. Você precisa construir um acampamento, convidar moradores, construir terrenos residenciais e desenvolver sua ilha durante dias (dias no mundo real, não horas de jogo) antes que Tom Nook lhe entregue o aplicativo Island Designer. Quando desbloqueia a terraformação, você já compreende a ilha. Sabe onde estão os rios, quais penhascos bloqueiam suas vistas favoritas e o que deseja mudar.</p>
<p>As ferramentas usam um sistema de licenças. Os caminhos são gratuitos. O paisagismo aquático (criar rios, lagos e cachoeiras) custa 6.000 Milhas Nook. A construção de penhascos custa mais 6.000. Cada tipo adicional de caminho custa 2.000. Você gasta a moeda conquistada durante o jogo para ampliar seu kit de ferramentas criativas.</p>
<p>A edição é baseada em quadrados. Um quadrado de cada vez. Sem controle deslizante de raio. Sem parâmetro de intensidade. Você eleva um quadrado de penhasco ou escava um quadrado de rio. Essa restrição torna tudo acessível: o pior erro que você pode cometer exige apenas um toque de botão para ser desfeito. O design incentiva o planejamento (a comunidade criou o Happy Island Designer, uma ferramenta de navegador para planejar layouts com antecedência) e o refinamento gradual ao longo do tempo.</p>
<p>Os penhascos podem chegar a 3 níveis. Os rios precisam se conectar ao oceano. Certos pontos de referência (aeroporto, centro de serviços aos residentes) são imóveis. Essas restrições não são limitações. São design. Elas evitam a &quot;paralisia da tela em branco&quot; que acaba com o envolvimento casual em editores livres.</p>
<h3 id="no-man-s-sky-a-multiferramenta" tabindex="-1">No Man's Sky: a multiferramenta <a class="header-anchor" href="#no-man-s-sky-a-multiferramenta" aria-label="Permalink to &quot;No Man's Sky: a multiferramenta&quot;"></a></h3>
<div class="video-embed">
  <iframe src="https://www.youtube.com/embed/mnxMzm3_Ykw?start=942" title="No Man's Sky: construindo dentro do terreno (Beeblebum)" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
  <p class="game-caption">A seção sobre o Manipulador de Terreno do guia de construção de bases de Beeblebum (começa em 15:42), mostrando os quatro modos baseados em esferas e o limite de "regeneração".</p>
</div>
<p>No Man's Sky coloca a manipulação de terreno em uma arma. O Manipulador de Terreno é uma melhoria da multiferramenta com quatro modos: Minerar (remove o terreno em uma esfera), Criar (adiciona terreno em formas esféricas ou cúbicas), Restaurar (reverte ao estado original gerado) e Aplainar (nivela grandes áreas).</p>
<p>A metáfora é a de um dispositivo de ficção científica que cabe na sua mão. Você aponta e dispara para editar o mundo. As teclas T e R alternam o tamanho da esfera entre três opções predefinidas (pequena, média e grande). Não há raio numérico. Três tamanhos. Essa é toda a interface.</p>
<p>A ferramenta é apresentada na primeira missão. Quando começa a explorar, você já sabe escavar uma caverna ou aplainar uma plataforma de pouso. O modo de criação permite escolher tipos de terreno (rocha, terra etc.), o que, nos bastidores, corresponde à mistura de texturas do splat map.</p>
<p>O consumo de energia mantém a escultura sob controle. No modo Normal, ele é generoso. No modo Sobrevivência, cada alteração custa uma quantidade significativa de recursos. A mesma ferramenta, em dois níveis de dificuldade, atende tanto aos escultores casuais quanto aos sobrevivencialistas atentos aos recursos.</p>
<h3 id="astroneer-a-arma-aspiradora" tabindex="-1">Astroneer: a arma aspiradora <a class="header-anchor" href="#astroneer-a-arma-aspiradora" aria-label="Permalink to &quot;Astroneer: a arma aspiradora&quot;"></a></h3>
<div class="video-embed">
  <iframe src="https://www.youtube.com/embed/0KXQZG7riEs" title="ASTRONEER — trailer de lançamento" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
  <p class="game-caption">Trailer oficial de lançamento de Astroneer (System Era). A Ferramenta de Terreno aspira o solo e o expele novamente, transformando a escultura e a coleta de recursos no mesmo gesto.</p>
</div>
<p>Astroneer adota a metáfora mais simples possível: um aspirador de pó para terra. Aponte para o terreno, segure o gatilho e ele aspirará o solo. Aponte para um espaço vazio e ele expelirá o solo de volta. O terreno se deforma em tempo real ao redor do cursor.</p>
<p>Os aprimoramentos modificam o comportamento: o Mod de Alinhamento torna as superfícies planas em relação à curvatura do planeta. O Mod de Impulso aumenta a velocidade. O Mod Amplo aumenta a área de efeito. O Mod Inibidor permite coletar recursos sem deformar o terreno.</p>
<p>A genialidade está no fato de que o terreno também é um recurso. O solo aspirado enche recipientes. O solo nos recipientes pode ser transformado em materiais em uma Centrífuga de Solo. Esculpir o mundo e coletar recursos são a mesma ação. Você não escava porque quer uma caverna. Escava porque precisa de solo para fabricar compostos. A caverna é um efeito colateral que se torna útil mais tarde.</p>
<h3 id="deep-rock-galactic-mineracao-como-trabalho-em-equipe" tabindex="-1">Deep Rock Galactic: mineração como trabalho em equipe <a class="header-anchor" href="#deep-rock-galactic-mineracao-como-trabalho-em-equipe" aria-label="Permalink to &quot;Deep Rock Galactic: mineração como trabalho em equipe&quot;"></a></h3>
<div class="video-embed">
  <iframe src="https://www.youtube.com/embed/t9VsWTLJkVY" title="Aula avançada de Escavador — Deep Rock Academy" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
  <p class="game-caption">A aula avançada de Escavador da Deep Rock Academy. As brocas nos antebraços escavam túneis durante o combate, confundindo a linha entre arma e ferramenta de terreno.</p>
</div>
<p>Deep Rock Galactic associa a destruição do terreno às funções de cada classe. O Escavador tem brocas elétricas montadas nos antebraços que atravessam rocha a um ritmo de 2 m de largura por 2,2 m de altura por 1 m de profundidade por segundo. As brocas superaquecem após uso contínuo (5,5 segundos até atingir o vermelho, 8 segundos de recarga) e funcionam com combustível limitado. Todo anão tem uma picareta para trabalhos de precisão.</p>
<p>O trabalho do Escavador é abrir caminho. Escavar um túnel do ponto A ao ponto B através de rocha sólida. A equipe o segue. A edição do terreno serve ao objetivo da missão (chegar à cápsula de extração), em vez de funcionar como ferramenta criativa. Mas o efeito colateral é que cada sistema de cavernas atravessado pela equipe é moldado de forma única por suas decisões. Nenhuma partida é igual à outra.</p>
<p>A estrutura cooperativa torna a escultura uma atividade social. O Escavador não escava sozinho. O Batedor ilumina a caverna com sinalizadores. O Engenheiro coloca plataformas nas paredes expostas pelo Escavador. O Artilheiro defende a entrada do túnel. A edição do terreno é um verbo em uma frase compartilhada.</p>
<h3 id="teardown-destruicao-como-quebra-cabeca" tabindex="-1">Teardown: destruição como quebra-cabeça <a class="header-anchor" href="#teardown-destruicao-como-quebra-cabeca" aria-label="Permalink to &quot;Teardown: destruição como quebra-cabeça&quot;"></a></h3>
<div class="video-embed">
  <iframe src="https://www.youtube.com/embed/mdqJEvia4mQ" title="Teardown — trailer com visão geral da jogabilidade" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
  <p class="game-caption">Visão geral oficial da jogabilidade de Teardown (Tuxedo Labs / PlayStation). Cada ferramenta corresponde a uma metáfora física, e a física dos voxels torna as consequências imediatas e óbvias.</p>
</div>
<p>Teardown envolve a destruição do terreno no planejamento de assaltos. Você tem tempo ilimitado para se preparar: derrube paredes, atravesse edifícios com veículos, posicione explosivos, construa rampas. Então o alarme dispara e você tem 60 segundos para cumprir todos os objetivos e escapar.</p>
<p>Cada ferramenta tem uma identidade física. A marreta quebra coisas de perto. O maçarico corta aço. Explosivos abrem buracos nas paredes. O extintor de incêndio apaga o fogo. Veículos atravessam estruturas. O jogador não &quot;edita o terreno&quot; de forma abstrata. Ele golpeia uma parede com um martelo e ela se quebra.</p>
<p>A física torna tudo realista. Estruturas desabam quando seus suportes são removidos. O fogo se espalha. A fumaça enche os cômodos. Os destroços caem. O ciclo de feedback é imediato e físico: acerte alguma coisa, veja-a quebrar e observe as consequências se propagarem. Jogadores casuais entendem isso porque já usaram um martelo na vida real (ou tiveram vontade de usar).</p>
<h3 id="eco-consequencias-como-design-de-jogo" tabindex="-1">Eco: consequências como design de jogo <a class="header-anchor" href="#eco-consequencias-como-design-de-jogo" aria-label="Permalink to &quot;Eco: consequências como design de jogo&quot;"></a></h3>
<p>Eco é um dos raros jogos em que a edição do terreno tem consequências permanentes e compartilhadas. Corte árvores demais e a qualidade do ar cai. Minere de forma agressiva demais e você polui o lençol freático. Cace demais e espécies são extintas. O ecossistema é totalmente simulado.</p>
<p>Os jogadores podem propor leis e votar nelas: &quot;Proibido derrubar árvores em um raio de 200 m do rio&quot; ou &quot;Imposto de mineração de 10 moedas de ouro por metro cúbico&quot;. O sistema de governança transforma a edição do terreno em um ato político. Você não pode simplesmente escavar onde quiser. A comunidade pode impedi-lo.</p>
<p>Esse é o extremo da gamificação: o próprio sistema de escultura se torna o ciclo central de jogabilidade. O terreno é o recurso compartilhado afetado pelas ações de todos os jogadores. A escultura não é uma ferramenta criativa. É a tensão central do jogo.</p>
<h2 id="padroes-de-design-para-a-cinevva" tabindex="-1">Padrões de design para a Cinevva <a class="header-anchor" href="#padroes-de-design-para-a-cinevva" aria-label="Permalink to &quot;Padrões de design para a Cinevva&quot;"></a></h2>
<p>Esses jogos sugerem um conjunto de padrões que podemos usar. Não todos de uma vez. Em camadas, começando pelo mais acessível e avançando para o mais complexo.</p>
<h3 id="padrao-1-escultura-baseada-em-objetos-o-padrao-da-tnt" tabindex="-1">Padrão 1: escultura baseada em objetos (o padrão da TNT) <a class="header-anchor" href="#padrao-1-escultura-baseada-em-objetos-o-padrao-da-tnt" aria-label="Permalink to &quot;Padrão 1: escultura baseada em objetos (o padrão da TNT)&quot;"></a></h3>
<p>Não dê um pincel aos jogadores. Dê a eles objetos que, por acaso, remodelam o terreno quando usados.
<strong>TNT / Dinamite:</strong> O jogador fabrica ou encontra um explosivo. Coloca-o no mundo. Acende o pavio (ou o arremessa). Uma esfera de terreno é subtraída. O raio depende do tipo de explosivo. Bombinha: raio de 2 m. Dinamite padrão: 5 m. Megabomba (drop raro): 15 m. O jogador está explodindo coisas, não &quot;editando o terreno&quot;.</p>
<p><strong>Picareta / Pá / Broca:</strong> Ferramentas manuais com características diferentes. A picareta lasca rochas (raio pequeno, rápida, funciona em materiais duros). A pá remove terra (raio médio, rápida em solo macio, inútil em rochas). A broca perfura túneis (estreitos e profundos, deixando buracos cilíndricos lisos). Internamente, cada ferramenta corresponde a uma operação diferente de pincel SDF, mas o jogador as vivencia como objetos físicos distintos, com respostas próprias.</p>
<p><strong>Balde / Regador:</strong> Despeje água sobre o terreno e ela flui ladeira abaixo, abrindo um canal por erosão. O pincel de erosão segue automaticamente o gradiente do terreno. O jogador não aponta um pincel. Ele despeja a água e observa o rio se formar. Internamente, é uma operação de rebaixamento suave orientada pela inclinação do terreno.</p>
<p><strong>Sementes / Mudas:</strong> Plante-as e o terreno cresce. Um pacote de sementes colocado em solo plano brota e forma uma pequena colina ao longo do tempo (durante vários segundos, com uma animação). Uma muda de árvore colocada sobre rocha nua gera um monte de terra ao redor da base. &quot;Cultivar&quot; terreno é apenas o pincel de elevação com uma aparência natural.</p>
<p><strong>Sinalizador de Terraformação:</strong> Coloque um sinalizador e ele lentamente nivela tudo dentro de seu raio até uma altura-alvo. Ótimo para áreas de construção. O jogador coloca o objeto e vai embora. O pincel de nivelamento funciona automaticamente em baixa intensidade até que o solo alcance a altura do sinalizador.</p>
<h3 id="padrao-2-progressao-de-ferramentas-o-padrao-stardew" tabindex="-1">Padrão 2: Progressão de Ferramentas (O Padrão Stardew) <a class="header-anchor" href="#padrao-2-progressao-de-ferramentas-o-padrao-stardew" aria-label="Permalink to &quot;Padrão 2: Progressão de Ferramentas (O Padrão Stardew)&quot;"></a></h3>
<p>Dê aos jogadores ferramentas fracas no início, capazes de fazer pequenas alterações. Aprimore-as por meio da jogabilidade.</p>
<p><strong>Nível 1 (Grátis, imediato):</strong> Mãos nuas. Podem achatar pequenas saliências (microssuavização, raio de 0,5 m). Podem retirar um punhado de terra (microrrebaixamento, raio de 0,3 m). Impacto insignificante. Ensina que o sistema existe.</p>
<p><strong>Nível 2 (Fabricado com materiais básicos):</strong> Pá de pedra, picareta de madeira. Úteis para pequenas alterações. Nivele um acampamento. Cave uma vala rasa. Raio de 1–2 m. É neste nível que a maioria dos jogadores casuais permanece.</p>
<p><strong>Nível 3 (Exige exploração ou comércio):</strong> Ferramentas de metal. Raio maior (3–5 m). Novas operações desbloqueadas: elevar o terreno com a enxada e esculpir curvas suaves com o cinzel.</p>
<p><strong>Nível 4 (Fim de jogo / drops raros):</strong> Ferramentas elétricas, explosivos e dispositivos de terraformação. Raio de 10–20 m. Perfuração de cavernas. Construção de montanhas. São ferramentas espetaculares que recompensam jogadores de longo prazo.</p>
<p>O caminho de aprimoramento também funciona como tutorial. Cada nível apresenta um novo conceito. Quando você chega ao Nível 4, já assimilou o vocabulário da edição de terreno por meio de uma exposição gradual, não de uma tela de tutorial.</p>
<h3 id="padrao-3-ferramentas-contextuais-o-padrao-valheim" tabindex="-1">Padrão 3: Ferramentas Contextuais (O Padrão Valheim) <a class="header-anchor" href="#padrao-3-ferramentas-contextuais-o-padrao-valheim" aria-label="Permalink to &quot;Padrão 3: Ferramentas Contextuais (O Padrão Valheim)&quot;"></a></h3>
<p>Associe a ferramenta ao que o jogador está tentando fazer, não ao que o terreno precisa.</p>
<p><strong>Modo de construção:</strong> Quando o jogador está no modo de construção (colocando paredes, pisos e telhados), o terreno é nivelado automaticamente sob as fundações. Ele não precisa de uma ferramenta de nivelamento separada. O sistema de construção cuida disso. É assim que a construção funciona em Valheim: coloque um piso e o solo se ajusta.</p>
<p><strong>Modo de agricultura:</strong> Ao plantar, o cultivador ara o solo (alterando o material da superfície) e nivela pequenas saliências. O jogador está cultivando, não terraformando. A edição do terreno é um efeito colateral da atividade agrícola.</p>
<p><strong>Modo de mineração:</strong> Ao extrair recursos do terreno (veios de minério, depósitos de argila, jazidas minerais), a extração deixa um buraco. A edição do terreno é um efeito colateral da coleta de recursos. Astroneer faz isso perfeitamente: aspire o solo, obtenha recursos e deixe uma caverna para trás.</p>
<p><strong>Modo de combate:</strong> Explosões de armas criam crateras. O fogo queima a vegetação. O ácido dissolve rochas. O dano ao terreno é um efeito colateral do combate. As brocas de Deep Rock Galactic funcionam assim: são simultaneamente uma arma e uma ferramenta de terreno.</p>
<h3 id="padrao-4-escultura-social-o-padrao-eco" tabindex="-1">Padrão 4: Escultura Social (O Padrão Eco) <a class="header-anchor" href="#padrao-4-escultura-social-o-padrao-eco" aria-label="Permalink to &quot;Padrão 4: Escultura Social (O Padrão Eco)&quot;"></a></h3>
<p>Em um mundo compartilhado, cada alteração é um ato social. Projete pensando nisso.</p>
<p><strong>Autoria visível:</strong> Quando um jogador esculpir o terreno, deixe um indicador sutil de quem fez isso. Um brilho discreto. Uma tonalidade com a cor do jogador na superfície editada. Uma pequena bandeira. Outros jogadores podem ver que alguém esteve ali e alterou a paisagem.</p>
<p><strong>Projetos colaborativos:</strong> Alterações de terreno dentro de uma área reivindicada contribuem para um objetivo compartilhado. &quot;Cave um rio da montanha até o lago.&quot; Uma barra de progresso fica visível para todos na área. Quando o projeto é concluído, o rio se enche de água. A escultura foi uma atividade em grupo com uma recompensa compartilhada.</p>
<p><strong>Zonas de aprovação:</strong> Em áreas protegidas, alterações de terreno exigem a aprovação do proprietário ou o voto dos jogadores próximos. Isso evita sabotagem sem desativar a escultura. A alteração é pré-visualizada como um objeto fantasma (transparente e contornado) até ser aprovada.</p>
<p><strong>Desfazer por consenso:</strong> Qualquer jogador pode propor a reversão de uma alteração no terreno. Se um número suficiente de jogadores próximos concordar, a alteração desaparece gradualmente ao longo de alguns segundos. É o modo de restauração de No Man's Sky, mas social.</p>
<h3 id="padrao-5-forcas-naturais-o-padrao-de-erosao" tabindex="-1">Padrão 5: Forças Naturais (O Padrão de Erosão) <a class="header-anchor" href="#padrao-5-forcas-naturais-o-padrao-de-erosao" aria-label="Permalink to &quot;Padrão 5: Forças Naturais (O Padrão de Erosão)&quot;"></a></h3>
<p>Em vez de pinceladas diretas, permita que os jogadores acionem processos naturais.</p>
<p><strong>Invocador de chuva:</strong> Coloque uma nuvem acima de uma colina e ela começa a chover. A chuva causa erosão na encosta ao longo do tempo, abrindo canais e suavizando as bordas. O jogador controla onde a chuva cai e por quanto tempo ela dura. O shader de erosão faz a escultura.</p>
<p><strong>Dispositivo sísmico:</strong> Provoca um terremoto local que racha o solo, cria fissuras e rebaixa o terreno na área afetada. O jogador escolhe onde. A simulação física determina como.</p>
<p><strong>Fluxo de lava:</strong> Libere lava a partir de um ponto e ela flui ladeira abaixo, preenchendo vales e endurecendo até virar rocha. Novo terreno criado por meio de uma metáfora natural. Internamente, é o pincel de elevação seguindo o gradiente do terreno com um material rochoso.</p>
<p><strong>Escultor de vento:</strong> Um ventilador ou dispositivo de sopro que empurra terreno macio (areia, terra) na direção do vento. Com o tempo, ele cria dunas e encostas suaves. É o pincel de suavização com orientação direcional.</p>
<p><strong>Congelar / Descongelar:</strong> Congele a água de um rio para criar uma ponte de gelo. Descongele uma encosta congelada para provocar um deslizamento de lama. A temperatura como parâmetro de edição de terreno, expressa por meio de itens climáticos.</p>
<h3 id="padrao-6-descoberta-e-surpresa-o-padrao-infinite-craft" tabindex="-1">Padrão 6: Descoberta e Surpresa (O Padrão Infinite Craft) <a class="header-anchor" href="#padrao-6-descoberta-e-surpresa-o-padrao-infinite-craft" aria-label="Permalink to &quot;Padrão 6: Descoberta e Surpresa (O Padrão Infinite Craft)&quot;"></a></h3>
<p>Recompense a experimentação.</p>
<p><strong>Efeitos de combinação:</strong> TNT perto da água cria uma fonte termal (cratera + preenchimento com água + partículas de vapor). Sementes plantadas em crateras de TNT crescem mais rápido (a cratera tem &quot;solo fértil&quot;). Um rio congelado que é explodido revela uma caverna abaixo dele.</p>
<p><strong>Materiais ocultos:</strong> Cavar fundo o bastante revela diferentes camadas do terreno: solo superficial, argila, pedra, cristal e lava. Cada camada tem propriedades e aparência diferentes. Jogadores que cavam mais fundo veem coisas que ninguém mais viu.</p>
<p><strong>Fósseis e artefatos:</strong> Alterações aleatórias no terreno ocasionalmente desenterram objetos enterrados: fósseis, artefatos antigos, baús de tesouro e sementes raras. O ato de esculpir torna-se uma mecânica de exploração. Você não cava apenas para abrir a caverna. Você cava porque pode encontrar alguma coisa.</p>
<p><strong>Memória do terreno:</strong> O terreno editado se lembra do que aconteceu com ele. Uma área explodida por TNT tem marcas de queimadura e bordas carbonizadas. Uma área cultivada com sementes tem uma cor de solo mais rica. Uma área erodida pela chuva tem texturas suaves, desgastadas pela água. O terreno conta sua própria história.</p>
<h2 id="o-mapeamento-de-pinceis-para-metaforas" tabindex="-1">O Mapeamento de Pincéis para Metáforas <a class="header-anchor" href="#o-mapeamento-de-pinceis-para-metaforas" aria-label="Permalink to &quot;O Mapeamento de Pincéis para Metáforas&quot;"></a></h2>
<p>Cada metáfora com a qual o jogador interage corresponde a uma operação técnica de pincel do nosso <a href="/pt-BR/guides/terrain-sculpting-brushes.html">pipeline de escultura</a>. Veja a tabela de correspondência:</p>
<p><strong>Picareta / Pá</strong> correspondem ao <strong>pincel de rebaixamento</strong> (subtrai do mapa de altura ou SDF), com raio pequeno, alta intensidade e queda acentuada. A animação da ferramenta aciona a mesma chamada <code>Chunk.applyBrush()</code>.</p>
<p><strong>TNT / Explosivos</strong> correspondem ao <strong>pincel de rebaixamento</strong>, com raio grande, intensidade máxima e queda esférica. Um único evento explosivo aplica uma pincelada centralizada no ponto da detonação. A resistência à explosão de cada tipo de material corresponde a um multiplicador de intensidade do pincel.</p>
<p><strong>Enxada / Nivelador</strong> corresponde ao <strong>pincel de nivelamento</strong>, com raio médio e queda suave. A altura-alvo é obtida da posição dos pés do jogador quando a ferramenta é ativada, exatamente como em Valheim.</p>
<p><strong>Sementes / Crescimento</strong> correspondem ao <strong>pincel de elevação</strong>, com raio pequeno e queda suave, aplicado durante vários quadros (crescimento animado). Cada quadro aplica um pequeno incremento. A animação dá credibilidade à metáfora enquanto o pincel cuida da geometria.</p>
<p><strong>Regador / Chuva</strong> correspondem ao <strong>pincel de suavização</strong> com orientação direcional. A orientação segue o gradiente de inclinação do terreno obtido por <code>ChunkManager.getNormal()</code>. Pontos abaixo do centro do pincel são rebaixados mais do que pontos acima dele, criando canais naturais de erosão.</p>
<p><strong>Sinalizador de Terraformação</strong> corresponde ao <strong>pincel de nivelamento</strong> aplicado com baixa intensidade a cada quadro até convergir. A posição do sinalizador no espaço do mundo define a altura-alvo. O raio é a área de efeito do sinalizador.</p>
<p><strong>Broca</strong> corresponde ao <strong>pincel de rebaixamento</strong> projetado ao longo de uma direção de raio, em vez de uma esfera. O raio lançado na direção da mira do jogador determina o centro do pincel em cada etapa de profundidade, criando um túnel cilíndrico.</p>
<h2 id="progressao-e-economia" tabindex="-1">Progressão e Economia <a class="header-anchor" href="#progressao-e-economia" aria-label="Permalink to &quot;Progressão e Economia&quot;"></a></h2>
<h3 id="o-que-os-jogadores-ganham" tabindex="-1">O Que os Jogadores Ganham <a class="header-anchor" href="#o-que-os-jogadores-ganham" aria-label="Permalink to &quot;O Que os Jogadores Ganham&quot;"></a></h3>
<p><strong>Desbloqueios de ferramentas:</strong> Comece com as mãos. Fabrique ferramentas básicas com materiais comuns. Descubra receitas de ferramentas avançadas por meio de exploração, comércio ou conclusão de missões.</p>
<p><strong>Aprimoramentos de capacidade:</strong> Explosivos maiores. Enxadas mais largas. Brocas mais rápidas. O raio e a intensidade do pincel aumentam a cada nível. Aprimorar sua pá de madeira para uma de ferro dobra o raio.</p>
<p><strong>Tipos de material:</strong> Novos materiais de terreno são desbloqueados conforme os jogadores exploram biomas. Você só pode &quot;criar&quot; tipos de terreno que já encontrou. Visite um deserto para desbloquear a criação de areia. Visite um vulcão para desbloquear basalto. É o modo de criação de No Man's Sky, limitado pela exploração.</p>
<p><strong>Receitas:</strong> Os efeitos de combinação são descobertos, não entregues. Plante uma semente em uma cratera de TNT e descubra a &quot;Explosão Fértil&quot;. Despeje água sobre terreno de lava e descubra a &quot;Formação de Obsidiana&quot;. Cada descoberta é catalogada e pode ser compartilhada.</p>
<h3 id="quanto-isso-custa" tabindex="-1">Quanto Isso Custa <a class="header-anchor" href="#quanto-isso-custa" aria-label="Permalink to &quot;Quanto Isso Custa&quot;"></a></h3>
<p><strong>Recursos:</strong> Toda alteração no terreno consome materiais. Elevar o terreno custa terra/pedra/areia (o material que está sendo colocado). Rebaixar o terreno gera materiais (que vão para o inventário). Nivelar redistribui materiais. O fluxo de recursos mantém a economia conectada ao sistema de terreno.</p>
<p><strong>Energia / Durabilidade:</strong> As ferramentas têm limites de durabilidade ou energia. A picareta quebra depois de N usos. O sinalizador de terraformação funciona com combustível. Isso impede edições infinitas e cria limites naturais para cada sessão. Os jogadores fazem pausas para repor os suprimentos.</p>
<p><strong>Tempo:</strong> Algumas operações são instantâneas (golpe de picareta). Outras são lentas (nivelamento do sinalizador, crescimento de sementes, erosão pela chuva). Operações lentas recompensam a paciência e desestimulam o uso excessivo. Elas também têm uma aparência melhor: observar uma semente brotar e formar uma colina é mais satisfatório do que clicar em um botão &quot;elevar&quot;.</p>
<h3 id="o-que-os-outros-veem" tabindex="-1">O Que os Outros Veem <a class="header-anchor" href="#o-que-os-outros-veem" aria-label="Permalink to &quot;O Que os Outros Veem&quot;"></a></h3>
<p><strong>Marca da alteração:</strong> Toda modificação do terreno tem uma assinatura visual. Crateras de TNT têm bordas escuras e rachadas. Áreas niveladas com enxada têm uma textura lisa de terra trabalhada. Terrenos cultivados têm uma coloração rica e orgânica. Canais erodidos pela chuva têm marcas d'água. Os jogadores podem ler a história da paisagem.</p>
<p><strong>Identificação do criador:</strong> Passe o cursor sobre o terreno editado para ver quem o alterou e quando. &quot;Esculpido por @PlayerName há 2 horas.&quot; Isso cria orgulho de autoria e responsabilidade social.</p>
<p><strong>Antes/Depois:</strong> Uma visualização em &quot;time-lapse&quot; que mostra o terreno em qualquer ponto do histórico de alterações. Arraste um controle deslizante na linha do tempo para ver a paisagem se transformar. Isso é possível porque a árvore de edições CSG da Fase 3 do <a href="/pt-BR/guides/terrain-sculpting-brushes.html">guia técnico</a> armazena todas as operações em ordem.</p>
<h2 id="o-que-construimos-primeiro" tabindex="-1">O Que Construímos Primeiro <a class="header-anchor" href="#o-que-construimos-primeiro" aria-label="Permalink to &quot;O Que Construímos Primeiro&quot;"></a></h2>
<p>A Fase 1 da <a href="/pt-BR/guides/terrain-sculpting-brushes.html#practical-architecture-for-sculpting">arquitetura técnica</a> funciona com escultura em mapa de altura no renderizador WebGL existente. Estas são as ferramentas casuais que podemos lançar sobre essa base:</p>
<ol>
<li><strong>Pá</strong> (pincel de rebaixamento, raio pequeno). A ferramenta mais básica. Clique no terreno e cave um buraco. Gera recursos de terra.</li>
<li><strong>Enxada</strong> (pincel de nivelamento, raio médio). Fique onde deseja que o solo fique, use a enxada e o terreno será nivelado à altura dos seus pés.</li>
<li><strong>TNT</strong> (pincel de rebaixamento, raio grande, uso único). Fabrique com materiais, coloque, acenda e assista à explosão. Gera entulho.</li>
<li><strong>Sementes</strong> (pincel de elevação, animado ao longo dos quadros). Plante em solo plano, observe o terreno se elevar e formar uma pequena colina, e veja a vegetação aparecer no topo.</li>
<li><strong>Regador</strong> (pincel de suavização orientado pela inclinação). Despeje água nas encostas para causar erosão. Cria canais com aparência natural.</li>
</ol>
<p>Cinco ferramentas. Cinco metáforas distintas. Um único sistema de pincéis subjacente. Cada ferramenta é uma configuração diferente de <code>(radius, strength, falloff, operation, animation)</code>, envolvida em um item que o jogador fabrica, equipa e usa por meio do mesmo modelo de interação do <code>PlacementTool</code> existente.</p>
<BuildCta
  title="Deixe os jogadores construírem: experimente um sandbox agora"
  desc="A maneira mais rápida de sentir por que editar mundos prende a atenção dos jogadores."
  prompt="Crie uma ilha sandbox onde eu possa colocar e empilhar blocos" />
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/player-world-sculpting-hero.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Técnicas de Pincel 3D e Escultura de Mundos Dentro do Jogo]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/terrain-sculpting-brushes</link>
            <guid>https://app.cinevva.com/pt-BR/guides/terrain-sculpting-brushes</guid>
            <pubDate>Sun, 05 Apr 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Do deslocamento por mapa de altura às árvores CSG com SDF. Como os pincéis de escultura de terreno realmente funcionam, o que Marching Cubes e Surface Nets fazem nos bastidores e como permitir que jogadores remodelem um mundo compartilhado em tempo real.]]></description>
            <content:encoded><![CDATA[<h1 id="tecnicas-de-pincel-3d-e-escultura-de-mundos-dentro-do-jogo" tabindex="-1">Técnicas de Pincel 3D e Escultura de Mundos Dentro do Jogo <a class="header-anchor" href="#tecnicas-de-pincel-3d-e-escultura-de-mundos-dentro-do-jogo" aria-label="Permalink to &quot;Técnicas de Pincel 3D e Escultura de Mundos Dentro do Jogo&quot;"></a></h1>
<p>Queremos que os jogadores esculpam o mundo. Não que posicionem prefabs em uma grade. Não que ativem e desativem blocos. Mas que realmente remodelem o terreno: abram rios, ergam montanhas, suavizem encostas e escavem cavernas. O tipo de coisa que o ZBrush e o modo de escultura do Blender oferecem aos artistas, mas executado a 60 fps dentro de um jogo multijogador no navegador.</p>
<p>Esse é um problema complexo de engenharia que abrange representação de dados, extração de malha, computação na GPU, matemática de pincéis e sincronização de rede. Este guia documenta tudo o que descobrimos.</p>
<h2 id="os-dois-mundos-da-representacao-de-terreno" tabindex="-1">Os Dois Mundos da Representação de Terreno <a class="header-anchor" href="#os-dois-mundos-da-representacao-de-terreno" aria-label="Permalink to &quot;Os Dois Mundos da Representação de Terreno&quot;"></a></h2>
<p>Todo sistema de escultura começa com uma escolha sobre como os dados do terreno são armazenados. Essa escolha determina quais tipos de edição são possíveis, a velocidade de execução e o consumo de memória.</p>
<h3 id="mapas-de-altura" tabindex="-1">Mapas de altura <a class="header-anchor" href="#mapas-de-altura" aria-label="Permalink to &quot;Mapas de altura&quot;"></a></h3>
<p>Um mapa de altura armazena um valor de altura por ponto da grade. Você pode imaginá-lo como uma imagem em tons de cinza na qual o brilho equivale à elevação. Nosso terreno atual em <code>world/client</code> funciona exatamente assim: <code>noise.ts</code> gera a altura por meio de ruído de valor FBM, e cada <code>Chunk</code> armazena um mapa de altura <code>Float32Array</code>, que é projetado sobre uma <code>PlaneGeometry</code>.</p>
<p>Mapas de altura são rápidos. A amostragem consiste em uma única consulta ao array com interpolação bilinear. O LOD é trivial, pois basta reduzir a resolução da grade. A mesclagem de texturas baseada em splats é mapeada diretamente na grade UV. As colisões de física se resumem a uma consulta de altura.</p>
<p>A limitação é a topologia. Um mapa de altura só pode representar uma altura por coordenada (x, z). Sem cavernas. Sem saliências. Sem arcos. Sem túneis. Se um jogador esculpir um penhasco que se dobra sobre si mesmo, um mapa de altura não conseguirá armazená-lo. Para terrenos compostos principalmente por colinas e montanhas, isso é suficiente. Para escultura livre, na qual os jogadores podem cavar o solo, é um beco sem saída.</p>
<h3 id="volumetricos-campos-escalares-3d" tabindex="-1">Volumétricos (campos escalares 3D) <a class="header-anchor" href="#volumetricos-campos-escalares-3d" aria-label="Permalink to &quot;Volumétricos (campos escalares 3D)&quot;"></a></h3>
<p>A alternativa é armazenar um valor em cada ponto do espaço 3D. Se o valor for negativo dentro do material sólido e positivo fora dele (ou vice-versa), você terá um Campo de Distância com Sinal (SDF). Se o valor for apenas uma densidade (acima de determinado limiar é sólido, abaixo é vazio), você terá um campo de densidade.</p>
<p>Representações volumétricas aceitam qualquer topologia. Cavernas, saliências, ilhas flutuantes e túneis através de montanhas. A contrapartida é o consumo de memória e a complexidade. Uma grade 256^3 com floats de 32 bits consome 64 MB. Uma grade 512^3 consome 512 MB. E isso para um único chunk. São necessárias estruturas de dados esparsas (octrees, mapas de bricks) para tornar isso viável.</p>
<p>A etapa de extração da malha também não é trivial. Não basta definir as posições Y dos vértices e encerrar o trabalho. É necessário um algoritmo que leia o campo escalar e produza uma malha de triângulos que aproxime a superfície na qual o campo cruza o zero.</p>
<h2 id="extracao-de-malha-marching-cubes-surface-nets-e-dual-contouring" tabindex="-1">Extração de Malha: Marching Cubes, Surface Nets e Dual Contouring <a class="header-anchor" href="#extracao-de-malha-marching-cubes-surface-nets-e-dual-contouring" aria-label="Permalink to &quot;Extração de Malha: Marching Cubes, Surface Nets e Dual Contouring&quot;"></a></h2>
<h3 id="marching-cubes" tabindex="-1">Marching Cubes <a class="header-anchor" href="#marching-cubes" aria-label="Permalink to &quot;Marching Cubes&quot;"></a></h3>
<p>Marching Cubes é o algoritmo de extração de isosuperfícies mais antigo e amplamente implementado. Publicado por Lorensen e Cline em 1987, ele funciona examinando cada cubo da grade de voxels, na qual cada canto possui um valor escalar. Se alguns cantos estiverem dentro da superfície (negativos) e outros estiverem fora (positivos), um trecho de malha triangular será posicionado dentro desse cubo.</p>
<p>Cada cubo tem 8 cantos, e cada um pode estar dentro ou fora, produzindo 256 configurações possíveis (2^8). Por simetria, elas são reduzidas a 15 casos únicos. Uma tabela de consulta mapeia cada caso para um conjunto de triângulos. Os pontos de interseção das arestas são encontrados por interpolação linear ao longo das arestas nas quais o sinal muda.</p>
<p><strong>Implementações recentes em GPU</strong> tornaram o Marching Cubes rápido o suficiente para escultura em tempo real. Uma implementação de 2025 na UE5 atribui cada thread da GPU a um cubo, processando milhares simultaneamente. O principal insight é que a triangulação de cada cubo é independente de seus vizinhos, o que torna o algoritmo extremamente paralelizável.</p>
<p><strong>MCHex</strong> (arxiv 2511.02064, 2025) estende o Marching Cubes para a geração adaptativa de malhas hexaédricas com valores jacobianos positivos garantidos, melhorando a aproximação dos limites em malhas de simulação.</p>
<p><strong>rupMC</strong> alcança desempenho dezenas de vezes superior ao de implementações seriais e quatro vezes superior ao de variantes DMC paralelas usando arquiteturas heterogêneas de CPU/GPU.</p>
<p>A principal limitação: o Marching Cubes tem dificuldade com detalhes acentuados. Uma aresta de 90 graus é arredondada e se transforma em uma curva suave. Para escultura de terreno, isso normalmente é aceitável (terrenos naturais são, em sua maioria, suaves), mas representa um problema para elementos arquitetônicos.</p>
<h3 id="surface-nets" tabindex="-1">Surface Nets <a class="header-anchor" href="#surface-nets" aria-label="Permalink to &quot;Surface Nets&quot;"></a></h3>
<p>Surface Nets é uma família mais recente de algoritmos que produz malhas mais suaves a partir de campos escalares discretos. Em vez de posicionar vértices nas arestas dos cubos (como o Marching Cubes), o Surface Nets posiciona um vértice por cubo que contém a superfície e conecta vértices adjacentes para formar quadriláteros.</p>
<p>O resultado é naturalmente mais suave. Um artigo de 2024 (arxiv 2401.14906) apresentou uma implementação paralela de alto desempenho do Surface Nets que executa de uma a duas ordens de magnitude mais rapidamente do que algoritmos sequenciais. O crate Rust <code>fast-surface-nets</code> gera aproximadamente 20 milhões de triângulos por segundo em um único núcleo de 2,5 GHz, usando pequenas tabelas de consulta e aceleração SIMD.</p>
<p><code>bevy-sculpter</code> (v0.18.0, janeiro de 2026) usa Surface Nets como sua principal estratégia de geração de malha. O crate oferece escultura volumétrica baseada em SDF com quatro tipos de pincel: CSG rígido (adição/remoção instantânea), contínuo suave (para entrada mantida), desfoque (suavização da superfície) e nivelamento (define uma altura-alvo). Ele também inclui o recálculo de distâncias do SDF por meio do Fast Sweeping Method para restaurar as propriedades adequadas do campo de distância com sinal após as edições.</p>
<p>Surface Nets representa um bom meio-termo entre Marching Cubes (simples e rápido, mas produz malhas serrilhadas em dados binários) e Dual Contouring (preserva detalhes, mas é complexo).</p>
<h3 id="dual-contouring" tabindex="-1">Dual Contouring <a class="header-anchor" href="#dual-contouring" aria-label="Permalink to &quot;Dual Contouring&quot;"></a></h3>
<p>Dual Contouring preserva detalhes acentuados que Marching Cubes e Surface Nets não conseguem preservar. Ele faz isso usando não apenas o sinal do campo em cada canto, mas também o gradiente (normal) nas interseções das arestas. Uma minimização QEF (Função de Erro Quadrático) posiciona o vértice dentro de cada célula na posição que melhor satisfaz todas as restrições de interseção das arestas.</p>
<p>O resultado: arestas e cantos acentuados são preservados na malha extraída. Um cubo com faces perpendiculares continua sendo um cubo.</p>
<p>A contrapartida é a complexidade. A resolução da QEF possui dependências entre células que dificultam a paralelização na GPU. Ela pode produzir malhas não manifold (arestas compartilhadas por mais de dois polígonos). E a implementação é mais trabalhosa do que a do Marching Cubes, embora Johannes Jendersie observe que uma implementação funcional de Dual Contouring tenha cerca de 200 linhas de código, em comparação com mais de 500 para uma implementação robusta de Marching Cubes.</p>
<p><strong>Cubical Marching Squares (CMS)</strong> foi proposto como um meio-termo: independente entre células (adequado para GPU), mas ainda capaz de preservar alguns detalhes.</p>
<h3 id="qual-usar" tabindex="-1">Qual usar <a class="header-anchor" href="#qual-usar" aria-label="Permalink to &quot;Qual usar&quot;"></a></h3>
<p>Para escultura de terreno voltada aos jogadores em um navegador:</p>
<p><strong>Surface Nets</strong> é o candidato mais forte. Ele produz malhas suaves (terrenos com aparência natural) sem os artefatos serrilhados do Marching Cubes em dados binários. É rápido o suficiente para refazer a malha em tempo real. E é mais simples de implementar do que Dual Contouring.</p>
<p><strong>Marching Cubes</strong> continua sendo uma escolha sólida quando a paralelização na GPU é a prioridade (cada cubo é independente) ou quando você precisa do suporte mais amplo possível de bibliotecas. O WebGPU SDF Editor de Reinder Nijhoff (janeiro de 2026) implementa tanto Marching Cubes quanto Surface Nets em seu pipeline de extração, executado inteiramente na GPU.</p>
<p><strong>Dual Contouring</strong> é mais indicado para casos em que a precisão arquitetônica é mais importante do que o desempenho. Não é ideal para escultura de terreno em tempo real no contexto de um navegador.</p>
<h2 id="o-algoritmo-transvoxel-resolvendo-a-juncao-de-lods" tabindex="-1">O Algoritmo Transvoxel: Resolvendo a Junção de LODs <a class="header-anchor" href="#o-algoritmo-transvoxel-resolvendo-a-juncao-de-lods" aria-label="Permalink to &quot;O Algoritmo Transvoxel: Resolvendo a Junção de LODs&quot;"></a></h2>
<p>Quando terrenos de voxels são convertidos em malha com diferentes resoluções (LOD0 próximo ao jogador, LOD2 distante), surgem rachaduras nas fronteiras. Para mapas de altura, esse é um problema simples: interpole os vértices das bordas para corresponder ao vizinho de menor resolução. Nosso <code>chunk.ts</code> atual faz exatamente isso em <code>stitchEdge()</code>.</p>
<p>Para terrenos volumétricos, o problema é muito mais difícil. A entrada de uma caverna no LOD0 pode produzir 30 triângulos na fronteira. A mesma região no LOD1 pode produzir 8 triângulos com uma topologia completamente diferente. Não existe uma forma simples de fazer uma interpolação linear entre eles.</p>
<p>O Algoritmo Transvoxel de Eric Lengyel (2009) resolve isso com &quot;células de transição&quot;. Na fronteira entre dois níveis de LOD, o algoritmo considera 9 amostras de alta resolução (em vez de 8 cantos do cubo), produzindo 512 configurações possíveis que se distribuem em 73 classes de equivalência. Cada classe é mapeada para um padrão de triângulos predefinido que preenche perfeitamente a lacuna entre as duas resoluções.</p>
<p>O algoritmo opera sobre dados locais de voxels, portanto, a retriangulação de uma região modificada é rápida. Isso é essencial para a escultura em tempo real: quando um jogador edita o terreno próximo a uma fronteira de LOD, apenas as células de transição precisam ser reconstruídas.</p>
<p>Existe uma implementação em Rust no crate <code>transvoxel</code>. As tabelas de consulta originais estão disponíveis em transvoxel.org.</p>
<h2 id="matematica-dos-pinceis" tabindex="-1">Matemática dos Pincéis <a class="header-anchor" href="#matematica-dos-pinceis" aria-label="Permalink to &quot;Matemática dos Pincéis&quot;"></a></h2>
<p>Um pincel de escultura é uma função que modifica os valores do campo escalar dentro de um raio ao redor de um ponto-alvo. A matemática é surpreendentemente semelhante em todas as implementações, do Blender e Unreal Engine aos sistemas de jogos em tempo de execução.</p>
<h3 id="funcoes-de-atenuacao" tabindex="-1">Funções de Atenuação <a class="header-anchor" href="#funcoes-de-atenuacao" aria-label="Permalink to &quot;Funções de Atenuação&quot;"></a></h3>
<p>A atenuação do pincel determina como a intensidade da edição diminui do centro para a borda. O Blender 5.1 define estes perfis padrão:</p>
<p><strong>Suave:</strong> <code>f(d) = 3d^2 - 2d^3</code> (interpolação de Hermite, o mesmo smoothstep do nosso noise.ts)</p>
<p><strong>Esfera:</strong> Forte no centro, com atenuação acentuada perto da borda. Aproximada por <code>f(d) = sqrt(1 - d^2)</code>.</p>
<p><strong>Acentuada:</strong> <code>f(d) = (1 - d)^n</code> com n &gt; 2. Cria uma ponta fina.</p>
<p><strong>Linear:</strong> <code>f(d) = 1 - d</code>, em que d é a distância normalizada a partir do centro (0 no centro, 1 na borda).</p>
<p><strong>Constante:</strong> <code>f(d) = 1</code> para <code>d &lt; 1</code>, com corte abrupto no limite do pincel.</p>
<p><strong>Quadrado inverso:</strong> Híbrido entre suave e esfera para proporcionar uma sensação natural de &quot;argila&quot;.</p>
<p>Em todos os casos, <code>d = distance_to_center / brush_radius</code>, limitado a [0, 1]. O valor de atenuação multiplica a intensidade do pincel para produzir a modificação real do campo em cada ponto.</p>
<h3 id="espaco-de-atenuacao" tabindex="-1">Espaço de Atenuação <a class="header-anchor" href="#espaco-de-atenuacao" aria-label="Permalink to &quot;Espaço de Atenuação&quot;"></a></h3>
<p>O Blender diferencia a <strong>atenuação esférica</strong> (distância calculada no espaço 3D do mundo) da <strong>atenuação projetada</strong> (distância calculada no espaço 2D da tela). A atenuação projetada faz com que dois pontos visualmente próximos na tela afetem um ao outro da mesma forma, mesmo que estejam em profundidades muito diferentes no espaço do mundo. Para escultura de terreno, a atenuação no espaço 3D do mundo geralmente é mais intuitiva.</p>
<h3 id="operacoes-principais-dos-pinceis" tabindex="-1">Operações Principais dos Pincéis <a class="header-anchor" href="#operacoes-principais-dos-pinceis" aria-label="Permalink to &quot;Operações Principais dos Pincéis&quot;"></a></h3>
<p><strong>Elevar/Rebaixar (deslocamento):</strong> Adiciona ou subtrai valores do campo escalar dentro do raio do pincel, ponderados pela atenuação. Para mapas de altura: <code>height[i] += strength * falloff(d)</code>. Para SDFs: <code>sdf[i] -= strength * falloff(d)</code> (a subtração torna o material mais sólido, elevando a superfície).</p>
<p><strong>Suavizar (laplaciano):</strong> Substitui cada valor pela média de seus vizinhos, ponderada pela atenuação. Isso apaga detalhes e reduz o ruído. O filtro laplaciano amostra um pequeno kernel (3x3 para mapas de altura, 3x3x3 para volumes) e mistura o valor em direção à média. A suavização HC (Classes de Humphrey) é uma variante que preserva o volume melhor do que o laplaciano puro.</p>
<p><strong>Nivelar:</strong> Define o valor do campo como uma altura-alvo (ou distância no espaço SDF), mesclada pela atenuação. O alvo geralmente é amostrado no centro do pincel quando o traço começa e, depois, mantido constante. Isso cria platôs planos.</p>
<p><strong>Comprimir/Inflar:</strong> Move os vértices em direção à normal da superfície ou para longe dela. No espaço SDF, isso equivale ao deslocamento ao longo da direção do gradiente.</p>
<p><strong>Agarrar:</strong> Translada uma região do campo, como se você estivesse puxando argila. O vetor de deslocamento corresponde ao delta do mouse projetado no espaço do mundo e é aplicado aos valores do campo dentro do raio.</p>
<p><strong>Ruído:</strong> Adiciona ruído procedural ao campo dentro do raio do pincel. Útil para tornar superfícies suaves mais ásperas.</p>
<p><strong>Carimbo:</strong> Aplica uma imagem 2D em tons de cinza como deslocamento, projetando-a sobre a superfície sob o cursor. A ferramenta Landscape da Unreal Engine oferece suporte a isso em pincéis de terreno.</p>
<h3 id="tesselacao-adaptativa" tabindex="-1">Tesselação Adaptativa <a class="header-anchor" href="#tesselacao-adaptativa" aria-label="Permalink to &quot;Tesselação Adaptativa&quot;"></a></h3>
<p><code>sculpt-3D</code> (escultura para navegador com React + Three.js) implementa tesselação adaptativa: à medida que o pincel se move pela malha, os triângulos próximos ao centro do pincel são subdivididos para fornecer mais vértices para a deformação. Isso evita o problema de &quot;estiramento low-poly&quot;, no qual uma malha grosseira é distorcida pela escultura. A subdivisão usa divisões simétricas para manter a qualidade uniforme dos triângulos.</p>
<p>Em sistemas volumétricos, a tesselação adaptativa não é necessária da mesma forma, pois a malha é regenerada a partir do campo. Em vez disso, você pode aumentar localmente a resolução dos voxels perto das edições (octrees adaptativas) para obter o mesmo efeito.</p>
<h2 id="escultura-com-sdf-a-abordagem-de-dreams" tabindex="-1">Escultura com SDF: A Abordagem de Dreams <a class="header-anchor" href="#escultura-com-sdf-a-abordagem-de-dreams" aria-label="Permalink to &quot;Escultura com SDF: A Abordagem de Dreams&quot;"></a></h2>
<p>Dreams (PS4, 2020), da Media Molecule, é o sistema de escultura dentro do jogo mais ambicioso já lançado. Alex Evans apresentou a abordagem técnica na SIGGRAPH 2015.</p>
<h3 id="representacao" tabindex="-1">Representação <a class="header-anchor" href="#representacao" aria-label="Permalink to &quot;Representação&quot;"></a></h3>
<p>Dreams armazena a geometria como uma função SDF composta em blocos de texturas de volume fp16 de 83^3. Cada escultura é uma lista de 1 a 100.000 &quot;edições&quot;, em que cada edição é uma operação CSG (adicionar, subtrair, colorir) com uma forma primitiva (esfera, cubo, cilindro, cone, elipsoide, toro etc.) e um modo de mesclagem.
Os modos de mesclagem usam funções de máximo suave e mínimo suave. Uma mesclagem &quot;suave&quot; produz transições arredondadas entre primitivas (como argila pressionada). Uma mesclagem &quot;dura&quot; produz cortes booleanos bem definidos. O raio de mesclagem pode ser controlado pelo usuário.</p>
<h3 id="renderizacao" tabindex="-1">Renderização <a class="header-anchor" href="#renderizacao" aria-label="Permalink to &quot;Renderização&quot;"></a></h3>
<p>Dreams não extrai uma malha de triângulos. Em vez disso, renderiza diretamente do SDF usando um renderizador personalizado de nuvem de pontos (&quot;flecks&quot;). Cada fleck é um pequeno disco orientado ao longo da normal da superfície. O SDF é amostrado para encontrar superfícies, e os flecks são distribuídos sobre elas. Isso evita completamente o gargalo da extração de malha, mas exige um renderizador personalizado.</p>
<p>Para um mundo em Three.js/WebGL, essa abordagem não se aplica diretamente. Precisaríamos extrair malhas. Porém, o conceito de lista de edições CSG é altamente relevante para desfazer/refazer e sincronização de rede.</p>
<h2 id="mecanismo-de-sdf-dinamico-de-mike-turitzin-2026" tabindex="-1">Mecanismo de SDF Dinâmico de Mike Turitzin (2026) <a class="header-anchor" href="#mecanismo-de-sdf-dinamico-de-mike-turitzin-2026" aria-label="Permalink to &quot;Mecanismo de SDF Dinâmico de Mike Turitzin (2026)&quot;"></a></h2>
<p>Um motor de jogo atualmente em desenvolvimento por Mike Turitzin usa SDFs dinâmicos como representação principal. O motor oferece suporte a:</p>
<p><strong>Modificações detalhadas durante o jogo:</strong> Adicionar e remover matéria de forma suave ou com bordas bem definidas. Alterações não destrutivas, como mover buracos ou criar túneis temporários que desaparecem atrás do jogador.</p>
<p><strong>Mapas e atlas de bricks</strong> para cache esparso. Em vez de armazenar todo o campo SDF em uma grade 3D densa, o campo é dividido em &quot;bricks&quot; (pequenos blocos 3D). Somente os bricks que contêm o limite da superfície são alocados. Isso reduz drasticamente o uso de memória em cenas compostas principalmente por espaços vazios ou sólidos.</p>
<p><strong>Clipmaps de geometria</strong> (Losasso &amp; Hoppe, SIGGRAPH 2004) para LOD. Grades regulares aninhadas, com resoluções crescentes, circundam a posição da câmera. A grade mais interna tem a resolução mais detalhada; as grades externas tornam-se progressivamente menos detalhadas. Isso proporciona uma redução drástica no uso de memória e, ao mesmo tempo, permite espaços vastos. Os clipmaps são atualizados incrementalmente conforme a câmera se move, tornando-os eficientes para o streaming de mundos abertos.</p>
<p><strong>Física e colisão</strong> operam diretamente sobre o SDF. O traçado de esferas (ray marching usando a distância do SDF como tamanho do passo) oferece raycasting eficiente. A detecção de colisão usa o gradiente do SDF como normal da superfície e o valor da distância como profundidade de penetração.</p>
<h2 id="teardown-destruicao-voxel-em-grande-escala" tabindex="-1">Teardown: destruição voxel em grande escala <a class="header-anchor" href="#teardown-destruicao-voxel-em-grande-escala" aria-label="Permalink to &quot;Teardown: destruição voxel em grande escala&quot;"></a></h2>
<p>Teardown (Voxagon) representa o outro extremo do espectro: cada objeto do mundo é um volume de voxels que pode ser destruído pedaço por pedaço.</p>
<h3 id="arquitetura" tabindex="-1">Arquitetura <a class="header-anchor" href="#arquitetura" aria-label="Permalink to &quot;Arquitetura&quot;"></a></h3>
<p>Os objetos são armazenados como grades de voxels com espaçamento regular. O motor não usa Marching Cubes nem SDFs para renderização. Em vez disso, faz o traçado de raios diretamente nos voxels usando um algoritmo DDA (Digital Differential Analyzer) modificado em shaders de fragmento, desenvolvido sobre OpenGL 3.3. Mipmaps formam uma estrutura de octree densa para acelerar a travessia de espaços vazios durante a interseção de raios.</p>
<p>Para cada objeto, o motor rasteriza sua caixa delimitadora orientada (OBB) e traça um raio através dela para encontrar interseções com voxels. Somente as faces traseiras da OBB são renderizadas, permitindo que a câmera entre no volume delimitador.</p>
<h3 id="sincronizacao-da-destruicao-multijogador" tabindex="-1">Sincronização da destruição (multijogador) <a class="header-anchor" href="#sincronizacao-da-destruicao-multijogador" aria-label="Permalink to &quot;Sincronização da destruição (multijogador)&quot;"></a></h3>
<p>A atualização multijogador de março de 2026 do Teardown usa uma abordagem semideterminística. A destruição estrutural (abrir buracos, alterar propriedades, reconectar juntas) é processada com aritmética de inteiros de ponto fixo em um fluxo de rede confiável. Todos os clientes executam os mesmos comandos determinísticos e chegam ao mesmo estado do mundo. Alterações não estruturais (detritos, partículas) usam sincronização de estado não confiável.</p>
<p>Essa é uma observação importante para nosso mundo multijogador: as edições do terreno precisam ser determinísticas. Se o Jogador A esculpir uma montanha, todos os clientes deverão produzir a mesma malha a partir dos mesmos dados de campo. Os comandos de edição (posição, raio e intensidade do pincel, além do tipo de operação) devem ser os dados autoritativos, não a malha resultante.</p>
<h2 id="alice-sdf-compactacao-e-arvores-csg" tabindex="-1">ALICE-SDF: compactação e árvores CSG <a class="header-anchor" href="#alice-sdf-compactacao-e-arvores-csg" aria-label="Permalink to &quot;ALICE-SDF: compactação e árvores CSG&quot;"></a></h2>
<p>ALICE-SDF (Adaptive Lightweight Implicit Compression Engine, v1.3.0 de março de 2026) fornece uma implementação em Rust de dados espaciais baseados em SDF, com compactação de 10 a 1.000 vezes em comparação com malhas poligonais. Ele oferece suporte a:</p>
<p><strong>126 blocos de construção:</strong> 72 primitivas, 24 operações, 7 transformações e 23 modificadores. Operações de mesclagem suave (união, subtração, interseção), além de mesclagens com chanfros e degraus para biséis de borda dura e transições CSG escalonadas.</p>
<p><strong>Diff/patch de árvore CSG</strong> para desfazer/refazer e sincronização de rede. Este é o recurso essencial para escultura multijogador: em vez de enviar todo o estado do campo, você envia o diff estrutural entre duas árvores CSG. O cliente aplica o patch para reconstruir o novo estado. Isso é muito mais eficiente em termos de largura de banda do que compactar por delta dados brutos de voxels.</p>
<p><strong>Otimização de árvore CSG</strong>, incluindo remoção de transformações identidade, combinação de transformações aninhadas e rebaixamento de modificadores. Isso mantém a árvore compacta conforme as edições se acumulam.</p>
<p><strong>Geração de malhas</strong> por Marching Cubes e Dual Contouring. A detecção de colisão da física opera diretamente sobre o SDF.</p>
<p><strong>Suporte a WebAssembly</strong> permite integração com o navegador. O motor foi escrito em Rust com bindings WASM, o que o torna uma opção realista para uma aplicação Three.js.</p>
<h2 id="computacao-com-webgpu-para-terrenos" tabindex="-1">Computação com WebGPU para terrenos <a class="header-anchor" href="#computacao-com-webgpu-para-terrenos" aria-label="Permalink to &quot;Computação com WebGPU para terrenos&quot;"></a></h2>
<p>Desde o fim de 2025, a WebGPU está disponível em todos os principais navegadores. Chrome 113+, Edge 113+, Firefox 141+ e Safari 26+ já vêm com ela ativada. Isso possibilita pipelines de shaders de computação que antes estavam restritos à GPU.</p>
<h3 id="desempenho" tabindex="-1">Desempenho <a class="header-anchor" href="#desempenho" aria-label="Permalink to &quot;Desempenho&quot;"></a></h3>
<p>Os shaders de computação da WebGPU geram terrenos aproximadamente 100 vezes mais rápido do que métodos executados na CPU, graças à paralelização massiva. A GPU executa milhares de cálculos simultaneamente, e a geração de terrenos é quase inteiramente paralela (cada vértice/voxel é independente).</p>
<p>O trabalho é organizado em três níveis: Nível de Dispatch (distribuição da carga de trabalho pela GPU), Nível de Workgroup (memória compartilhada dentro de uma unidade de processamento) e Nível de Thread (cálculos individuais). WGSL (WebGPU Shading Language) é a linguagem de shaders.</p>
<h3 id="pipeline-de-escultura-de-terreno-em-tempo-real" tabindex="-1">Pipeline de escultura de terreno em tempo real <a class="header-anchor" href="#pipeline-de-escultura-de-terreno-em-tempo-real" aria-label="Permalink to &quot;Pipeline de escultura de terreno em tempo real&quot;"></a></h3>
<p>Um pipeline de escultura com WebGPU seria assim:</p>
<ol>
<li>
<p><strong>Aplicação do pincel</strong> (shader de computação): Atualizar os valores do campo escalar dentro do raio do pincel. Cada thread processa um voxel. Lê os parâmetros do pincel (posição, raio, intensidade, tipo de decaimento e operação) de um buffer uniforme e aplica a modificação.</p>
</li>
<li>
<p><strong>Extração da malha</strong> (shader de computação): Executar Surface Nets ou Marching Cubes na região modificada. O WebGPU SDF Editor de Nijhoff implementa isso como um pipeline de vários estágios: particionamento do espaço em 16.384 células, divisão de células baseada em octree e, depois, extração da superfície.</p>
</li>
<li>
<p><strong>Atualização do buffer de vértices</strong> (no lado da GPU): Gravar os vértices extraídos diretamente em um buffer de renderização sem passar pela memória da CPU.</p>
</li>
<li>
<p><strong>Cálculo das normais</strong> (shader de computação): Calcular as normais dos vértices a partir da malha ou do gradiente do SDF.</p>
</li>
<li>
<p><strong>Renderização</strong> (pipeline padrão): Desenhar a malha com materiais PBR padrão.</p>
</li>
</ol>
<p>As etapas 1 a 4 podem ser executadas inteiramente na GPU, sem que nenhum dado retorne ao JavaScript. A CPU precisa apenas enviar os parâmetros do pincel a cada quadro.</p>
<h3 id="o-webgpu-sdf-editor" tabindex="-1">O WebGPU SDF Editor <a class="header-anchor" href="#o-webgpu-sdf-editor" aria-label="Permalink to &quot;O WebGPU SDF Editor&quot;"></a></h3>
<p>O WebGPU SDF Editor de Reinder Nijhoff (janeiro de 2026) demonstra essa abordagem em execução no Chrome. Ele oferece suporte a seis primitivas (cone, cilindro, cápsula, toro, caixa e esfera), três operações de mesclagem (união, subtração e interseção) com suavização configurável e grafos de cena hierárquicos. Cada primitiva ocupa 112 bytes em um único buffer da GPU.</p>
<p>O pipeline de renderização usa 1.024 mapas de sombra para oclusão de ambiente e antisserrilhamento temporal. Isso é executado com taxas de quadros interativas em GPUs de alto desempenho.</p>
<h2 id="escultura-com-mapa-de-altura-o-caminho-mais-simples" tabindex="-1">Escultura com mapa de altura: o caminho mais simples <a class="header-anchor" href="#escultura-com-mapa-de-altura-o-caminho-mais-simples" aria-label="Permalink to &quot;Escultura com mapa de altura: o caminho mais simples&quot;"></a></h2>
<p>Se não for necessário oferecer suporte a cavernas e saliências, a escultura com mapas de altura evita todo o pipeline volumétrico. É assim que a maioria dos jogos lançados implementa a edição de terrenos.</p>
<h3 id="padrao-de-implementacao-em-tempo-de-execucao" tabindex="-1">Padrão de implementação em tempo de execução <a class="header-anchor" href="#padrao-de-implementacao-em-tempo-de-execucao" aria-label="Permalink to &quot;Padrão de implementação em tempo de execução&quot;"></a></h3>
<p>Unity Runtime Terrain (JohannHotzel, janeiro de 2026) demonstra o padrão convencional:</p>
<ol>
<li><strong>Fazer um raycast</strong> da câmera através da posição do mouse para encontrar o ponto de impacto no terreno.</li>
<li><strong>Mapear o ponto de impacto</strong> para coordenadas do mapa de altura.</li>
<li><strong>Aplicar o pincel</strong> aos valores próximos do mapa de altura, ponderados pelo decaimento.</li>
<li><strong>Atualizar a malha</strong> definindo as posições Y dos vértices a partir do mapa de altura modificado.</li>
<li><strong>Reconstruir o colisor de física</strong> para corresponder à nova malha.</li>
</ol>
<p>Para nosso terreno em Three.js, as etapas 1 a 4 correspondem diretamente à arquitetura existente. A classe <code>Chunk</code> já armazena mapas de altura e cria malhas a partir deles. Adicionar escultura significaria:</p>
<ul>
<li>Um sistema de raycasting contra as malhas dos chunks (<code>Raycaster</code> do Three.js)</li>
<li>Funções de aplicação do pincel que modifiquem os valores de <code>chunk.heightmap</code></li>
<li>Atualizações dos vértices da malha (definir as posições Y e recalcular as normais)</li>
<li>Recálculo do mapa de splat para a região afetada (para que a mesclagem de texturas reflita a nova inclinação/altura)</li>
<li>Transmissão da edição pela rede (posição, raio e intensidade do pincel, além da operação) aos outros clientes por meio do protocolo WebSocket existente</li>
</ul>
<h3 id="a-abordagem-de-clipmap" tabindex="-1">A abordagem de clipmap <a class="header-anchor" href="#a-abordagem-de-clipmap" aria-label="Permalink to &quot;A abordagem de clipmap&quot;"></a></h3>
<p>Landow.dev descreve um &quot;clipmap móvel&quot; para terrenos com mapas de altura: uma única malha com densidade de subdivisão variável que acompanha o jogador. Em vez de dividir o mapa de altura em malhas separadas com diferentes níveis de LOD (como fazemos atualmente), o clipmap é uma malha contínua, densa perto da câmera e menos detalhada nas bordas.</p>
<p>Isso elimina completamente a costura entre níveis de LOD. A malha simplesmente tem mais triângulos onde eles são necessários e menos onde não são. A desvantagem é que a escultura exige atualizar uma única malha grande em vez de chunks individuais, o que pode ser custoso para edições extensas.</p>
<h3 id="mapas-de-altura-sdf-nao-destrutivos" tabindex="-1">Mapas de altura SDF não destrutivos <a class="header-anchor" href="#mapas-de-altura-sdf-nao-destrutivos" aria-label="Permalink to &quot;Mapas de altura SDF não destrutivos&quot;"></a></h3>
<p>Landow.dev também descreve uma técnica na qual o próprio mapa de altura é gerado a partir de uma composição de SDFs. Instâncias de formas (esferas, caixas e funções de ruído) são combinadas em um shader de computação usando operações CSG, e a saída é amostrada como um mapa de altura. Isso possibilita edição não destrutiva (você pode mover ou excluir qualquer instância de forma a qualquer momento), mantendo a simplicidade da renderização com mapas de altura.</p>
<p>Esse é um híbrido interessante: a representação dos dados é volumétrica (uma árvore CSG de SDFs), mas o caminho de renderização usa uma malha convencional de mapa de altura. Você obtém do lado do SDF operações de edição compatíveis com desfazer/refazer e adequadas para a rede, além da simplicidade de renderização e física do lado do mapa de altura. A limitação permanece: não há cavernas nem saliências.</p>
<h2 id="octrees-de-voxels-esparsos-para-mundos-grandes" tabindex="-1">Octrees de voxels esparsos para mundos grandes <a class="header-anchor" href="#octrees-de-voxels-esparsos-para-mundos-grandes" aria-label="Permalink to &quot;Octrees de voxels esparsos para mundos grandes&quot;"></a></h2>
<p>Grades 3D densas não são escaláveis. Um mundo de 1 km em cada dimensão, com resolução de 0,5 m, precisaria de 8 bilhões de voxels. Octrees de Voxels Esparsos (SVOs) resolvem isso subdividindo o espaço recursivamente e alocando armazenamento apenas para os octantes que contêm o limite da superfície.</p>
<p>Uma SVO oferece naturalmente LOD hierárquico: a profundidade da árvore em cada ponto determina a resolução efetiva. Perto do jogador, a árvore é totalmente expandida (máximo detalhamento). Longe dele, é truncada em um nível menos detalhado.</p>
<p>Para renderização, as SVOs podem receber traçado de raios diretamente (sem necessidade de extração de malha). Um ray marcher executado na GPU intersecta raios com caixas alinhadas aos eixos em cada nível da árvore, ignorando por completo subárvores vazias. Isso elimina os problemas de desenho excessivo da renderização baseada em chunks e evita artefatos de meshing guloso.</p>
<p>O construtor de SVO baseado em Vulkan de AdamYuan demonstra desempenho significativo: 19 ms de tempo de construção para o Crytek Sponza, com resolução de 2^10, em uma GTX 1660 Ti.</p>
<p>Para escultura, a modificação de SVOs é eficiente: apenas os nós folha dentro do raio do pincel precisam ser atualizados, e a estrutura da árvore lida naturalmente com resoluções variáveis. Adicionar detalhes onde o jogador esculpe (dividindo os nós para alcançar maior resolução) e remover detalhes onde ele suaviza (mesclando os nós para obter menor resolução) decorre naturalmente da estrutura de dados.</p>
<p>O desafio da implantação em navegadores é que a WebGL não oferece suporte a shaders de computação e, embora a WebGPU ofereça, os algoritmos de construção e travessia de SVOs são complexos de implementar em WGSL.</p>
<h2 id="sincronizacao-de-rede-para-escultura-multijogador" tabindex="-1">Sincronização de rede para escultura multijogador <a class="header-anchor" href="#sincronizacao-de-rede-para-escultura-multijogador" aria-label="Permalink to &quot;Sincronização de rede para escultura multijogador&quot;"></a></h2>
<p>Nosso mundo já conta com multijogador por meio de Cloudflare Durable Objects (<code>world-chunk-do.ts</code>). Adicionar escultura significa sincronizar as modificações do terreno entre todos os clientes conectados.</p>
<h3 id="compactacao-delta" tabindex="-1">Compactação delta <a class="header-anchor" href="#compactacao-delta" aria-label="Permalink to &quot;Compactação delta&quot;"></a></h3>
<p>Enviar dados brutos de voxels é caro. Um estudo de 2024 da Universidade de Oulu obteve uma melhoria de 2 a 8 vezes no tamanho da carga útil ao combinar codificação delta com compactação DEFLATE, compactando atualizações de voxels em menos de um byte por voxel. O codec SDEC demonstra uma codificação delta compactada em bits que produz pacotes médios de 259 bytes, em comparação com 1.114 bytes usando serialização genérica.</p>
<h3 id="sincronizacao-baseada-em-operacoes-recomendada" tabindex="-1">Sincronização baseada em operações (recomendada) <a class="header-anchor" href="#sincronizacao-baseada-em-operacoes-recomendada" aria-label="Permalink to &quot;Sincronização baseada em operações (recomendada)&quot;"></a></h3>
<p>Em vez de sincronizar o estado do campo, sincronize as operações. Cada ação de escultura se torna uma mensagem:</p>
<div class="language-typescript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">interface</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> TerrainEditMsg</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">  t</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> MsgType</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">TerrainEdit</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">  brush</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">    position</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> [</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">number</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">number</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">number</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">]</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">    radius</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> number</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">    strength</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> number</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">    falloff</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 'smooth'</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 'linear'</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 'sharp'</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 'constant'</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">    operation</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 'raise'</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 'lower'</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 'smooth'</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 'flatten'</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 'noise'</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">    targetHeight</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">?:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> number</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre>
</div><p>O servidor transmite essa mensagem a todos os clientes, e cada cliente aplica a mesma operação determinística de pincel aos dados locais do terreno. Essa é a mesma abordagem usada pelo Teardown para destruição estrutural: comandos determinísticos em um fluxo confiável.</p>
<p>O diff/patch de árvores CSG do ALICE-SDF vai além: em vez de pinceladas individuais, o diff representa a alteração estrutural de toda a árvore CSG. Isso possibilita desfazer/refazer com eficiência pela rede (enviando o patch inverso), e clientes que entrarem mais tarde poderão reconstruir todo o estado do mundo reproduzindo o registro de operações.</p>
<h3 id="prioridade-e-limitacao-de-frequencia" tabindex="-1">Prioridade e limitação de frequência <a class="header-anchor" href="#prioridade-e-limitacao-de-frequencia" aria-label="Permalink to &quot;Prioridade e limitação de frequência&quot;"></a></h3>
<p>As edições de terreno próximas a jogadores conectados devem ter alta prioridade (transmissão imediata). Edições distantes de todos os jogadores podem ser agrupadas e enviadas com menor frequência. A rede de voxels do Enshrouded usa esse padrão: atualizações a 60 Hz para terrenos próximos aos jogadores e a 10 Hz para regiões em segundo plano.</p>
<p>A compactação ZSTD na transmissão reduz em até 60% o tamanho dos pacotes de mensagens de atualização do terreno.</p>
<h2 id="escultura-colaborativa-edicoes-simultaneas" tabindex="-1">Escultura colaborativa: edições simultâneas <a class="header-anchor" href="#escultura-colaborativa-edicoes-simultaneas" aria-label="Permalink to &quot;Escultura colaborativa: edições simultâneas&quot;"></a></h2>
<p>Quando vários jogadores esculpem simultaneamente a mesma região, é necessário resolver conflitos. O <code>cSculpt</code> (CNR Visual Computing Lab, 2016) solucionou isso com um algoritmo de mesclagem multirresolução. Cada edição é representada em várias escalas, e edições simultâneas sobrepostas são combinadas pela mesclagem de suas representações multirresolução.
Para nossos propósitos, uma abordagem mais simples funciona: a última gravação prevalece, com ordenação pelo servidor. O Durable Object atribui um timestamp a cada edição e as transmite em ordem. Todos os clientes aplicam as edições na mesma sequência. Como as pinceladas são pequenas, localizadas e aditivas/subtrativas, o resultado visual de edições simultâneas aplicadas em uma ordem ligeiramente diferente costuma ser indistinguível da ordem &quot;correta&quot;.</p>
<h2 id="inst-sculpt-edicao-neural-de-sdfs-fronteira-da-pesquisa" tabindex="-1">INST-Sculpt: edição neural de SDFs (fronteira da pesquisa) <a class="header-anchor" href="#inst-sculpt-edicao-neural-de-sdfs-fronteira-da-pesquisa" aria-label="Permalink to &quot;INST-Sculpt: edição neural de SDFs (fronteira da pesquisa)&quot;"></a></h2>
<p>O INST-Sculpt (arxiv 2502.02891, fevereiro de 2025) permite a edição de SDFs neurais por meio de pinceladas. Os usuários desenham pinceladas sobre a superfície, e o sistema deforma o campo neural subjacente ao longo de vizinhanças tubulares ao redor do trajeto da pincelada. Perfis de pincel personalizados (seções transversais configuráveis) controlam o formato da deformação.</p>
<p>Isso é interessante para terrenos gerados por IA: se o mundo-base for representado como um SDF neural (uma pequena rede neural que mapeia coordenadas 3D para distâncias com sinal), a escultura modifica os pesos da rede em vez de dados explícitos de voxels. A representação é extremamente compacta (alguns MB para um mundo inteiro), mas sua avaliação é mais custosa do que uma tabela de consulta.</p>
<p>Essa tecnologia ainda está em fase de pesquisa. Atualmente, o custo de inferência de SDFs neurais em hardware de consumo é alto demais para uso em jogos em tempo real. Ainda assim, vale a pena acompanhá-la, especialmente à medida que os recursos de shaders do WebGPU melhoram e a inferência de modelos fica mais rápida.</p>
<h2 id="world-creator-2026-3-o-estado-da-arte-comercial-em-terrenos" tabindex="-1">World Creator 2026.3: o estado da arte comercial em terrenos <a class="header-anchor" href="#world-creator-2026-3-o-estado-da-arte-comercial-em-terrenos" aria-label="Permalink to &quot;World Creator 2026.3: o estado da arte comercial em terrenos&quot;"></a></h2>
<p>O World Creator (BiteTheBytes, março de 2026) representa o estado da arte comercial em ferramentas de criação de terrenos. A versão 2026.3 adicionou geração de terrenos baseada em GPU com adaptação automática do terreno (o terreno se ajusta aos objetos posicionados), distribuição de objetos focada na câmera para otimização de LOD e importação de dados reais de elevação (GeoTIFF, HGT, DTED).</p>
<p>Desde então, o World Creator 2026.4 (28 de abril de 2026) adicionou expressões matemáticas em campos numéricos, mesclagem das normais do terreno para integrar objetos de destaque à superfície, suporte completo a decals e escalonamento de VRAM que ajusta a quantidade máxima de objetos à memória disponível na GPU. A BiteTheBytes também lançou uma Community Edition gratuita, completa em recursos, mas sem exportação, funcionando efetivamente como uma avaliação ilimitada.</p>
<p>A abordagem deles usa computação em GPU para todas as operações de terreno: simulação de erosão, escavação de rios e pintura de texturas. As ferramentas de pincel são aceleradas por GPU e oferecem feedback em tempo real na viewport. Isso corresponde ao pipeline de computação WebGPU descrito acima, executado em GPUs de desktop.</p>
<h2 id="o-que-ja-construimos-24-spikes-e-um-mundo-em-producao" tabindex="-1">O que já construímos: 24 spikes e um mundo em produção <a class="header-anchor" href="#o-que-ja-construimos-24-spikes-e-um-mundo-em-producao" aria-label="Permalink to &quot;O que já construímos: 24 spikes e um mundo em produção&quot;"></a></h2>
<p>O diretório <code>world/spikes/</code> contém 24 protótipos autocontidos. Eles não são demonstrações triviais. Formam um pipeline progressivo de P&amp;D no qual cada spike resolveu um problema específico, foi avaliado em relação a uma meta e orientou o seguinte. O sistema de escultura se baseia em todos eles, não apenas nos spikes volumétricos mais recentes.</p>
<h3 id="o-terreno-de-heightmap-em-producao-world-client" tabindex="-1">O terreno de heightmap em produção (<code>world/client/</code>) <a class="header-anchor" href="#o-terreno-de-heightmap-em-producao-world-client" aria-label="Permalink to &quot;O terreno de heightmap em produção (`world/client/`)&quot;"></a></h3>
<p>O mundo em produção usa um sistema de heightmaps divididos em chunks no Three.js WebGL:</p>
<ul>
<li><code>noise.ts</code> gera a altura do terreno por meio de ruído de valor FBM (5 oitavas para colinas, 4 para cristas e 3 para microdetalhes), usando uma função determinística <code>terrainHeight(wx, wz)</code></li>
<li><code>chunk.ts</code> constrói malhas <code>PlaneGeometry</code> a partir de heightmaps <code>Float32Array</code> com 3 níveis de LOD (32/8/4 segmentos por chunk de 64 unidades) e posiciona árvores/billboards instanciados com distribuição aleatória baseada em semente e colisores por objeto</li>
<li><code>chunk-manager.ts</code> transmite chunks em anéis ao redor do jogador (raio 1 em LOD0, raio 3 em LOD1 e raio 6 em LOD2), com costura de bordas por interpolação linear em <code>stitchEdge()</code>, e fornece <code>getHeight()</code>, <code>getNormal()</code> e <code>resolveCollisions()</code> para a camada de física</li>
<li><code>terrain-material.ts</code> faz a mesclagem de texturas baseada em splat com 4 camadas (grama/rocha/areia/terra) por meio de <code>MeshStandardMaterial.onBeforeCompile</code>, com pesos determinados por inclinação e altura, além de mesclagem de normal maps por camada</li>
<li><code>character-controller.ts</code> consulta a altura do terreno a cada frame para aplicar gravidade, manter o personagem no solo e rejeitar inclinações excessivas (cosseno da inclinação máxima de 50 graus). A escultura precisa fornecer as alturas modificadas a esse sistema instantaneamente, ou o jogador cairá através do terreno editado</li>
<li><code>placement.ts</code> já tem um <code>Raycaster</code> que detecta as malhas dos chunks para a ferramenta de posicionamento de objetos. A ferramenta de pincel deve seguir exatamente esse padrão, em vez de implementar raycasting do zero</li>
<li><code>protocol.ts</code> define mensagens codificadas em MessagePack para sincronização multijogador por meio do Durable Object <code>world-chunk-do.ts</code>, que atualmente processa as mensagens <code>PlayerState</code>, <code>PlaceObject</code>, <code>RemoveObject</code> e <code>Snapshot</code>. As edições do terreno precisarão de um novo tipo de mensagem</li>
<li><code>world-chunk-do.ts</code> (Cloudflare Worker) persiste os objetos posicionados no armazenamento do Durable Object e os transmite aos jogadores conectados em intervalos de 50 ms. Ele ainda não tem nenhum conceito de modificações do terreno</li>
</ul>
<h3 id="spikes-01-11-a-camada-de-base" tabindex="-1">Spikes 01-11: a camada de base <a class="header-anchor" href="#spikes-01-11-a-camada-de-base" aria-label="Permalink to &quot;Spikes 01-11: a camada de base&quot;"></a></h3>
<p>Esses spikes validaram os sistemas centrais dos quais a escultura dependerá. Ignorá-los significa deixar de considerar restrições que o sistema de escultura precisa respeitar.</p>
<p><strong>Spike 01 (terreno + instanciamento):</strong> O primeiro protótipo de terreno no Three.js. Estabeleceu o padrão PlaneGeometry + heightmap e o posicionamento de objetos instanciados que <code>chunk.ts</code> ainda usa.</p>
<p><strong>Spike 02 (worker de física Rapier):</strong> Rapier 3D executado em um Web Worker com um colisor <code>ColliderDesc.heightfield()</code>. Implementou um controlador cinemático de personagem com subida automática de degraus, limites de inclinação e ajuste ao solo. Esse spike provou que a física pode ser executada fora da thread principal sobre um heightfield. Se esculpirmos o terreno, o heightfield da física precisará ser reconstruído ou substituído por um colisor trimesh para chunks de MC.</p>
<p><strong>Spike 05 (comportamentos de LLM):</strong> Não está diretamente relacionado ao terreno, mas estabeleceu o esquema de comportamentos em JSON para objetos do jogo. É relevante porque elementos esculpidos no terreno poderiam acionar comportamentos (por exemplo, um rio escavado gera efeitos de água).</p>
<p><strong>Spike 06 (streaming de chunks):</strong> Primeiro sistema de carregamento/troca de chunks com carregamento dinâmico conforme o jogador se move. Estabeleceu o padrão usado por <code>chunk-manager.ts</code>: regiões coloridas que são carregadas e descarregadas. A escultura precisa preservar o estado das edições quando os chunks são descarregados e recarregados.</p>
<p><strong>Spike 07 (vegetação em GPU a partir de mapas de densidade):</strong> Grama e árvores instanciadas posicionadas por meio de mapas de densidade que consultam a altura e a inclinação do terreno. A escultura invalida o posicionamento da vegetação: se a altura do terreno mudar, as árvores poderão ficar flutuando ou enterradas. O mapa de densidade precisa ser regenerado nos chunks editados.</p>
<p><strong>Spike 08 (custo do shader do material do terreno):</strong> Avaliou o desempenho de projeção triplanar, normal maps e mesclagem de 4 camadas. Mediu o custo exato em milissegundos de cada recurso. Constatou que projeção triplanar + normais + 4 camadas permanece dentro do orçamento a 45+ FPS. Esse orçamento é importante para terrenos esculpidos: se adicionarmos uma 5ª camada para &quot;solo editado&quot; ou alterarmos a mesclagem de superfícies escavadas, sabemos exatamente quanta margem existe.</p>
<p><strong>Spike 09 (orçamento de sombras CSM):</strong> Mapas de sombras em cascata com 3 cascatas na resolução 1024^2. Mediu o custo das sombras em aproximadamente 1,5 ms. O terreno esculpido altera os mapas de sombras, mas o custo permanece constante independentemente do formato do terreno.</p>
<p><strong>Spike 10 (clipmaps de geometria + geomorphing):</strong> Anéis de clipmap aninhados com geomorphing entre níveis de LOD para eliminar o surgimento repentino de geometria. A contagem constante de triângulos proporciona um custo previsível de GPU. O geomorphing é importante para a escultura: quando o jogador esculpe perto do limite de um LOD, a transição entre os níveis de LOD precisa refletir a edição. Se a edição só existir no anel de alta resolução, o destino do geomorph estará errado.</p>
<p><strong>Spike 11 (streaming de chunks de heightmap):</strong> Streaming de chunks mais avançado, com uma grade visual mostrando os estados carregado/carregando/descarregado por nível de LOD. Estabeleceu o orçamento de streaming: máximo de chunks carregados por frame e priorização de chunks que precisam de upgrades de LOD. A escultura adiciona um novo sinal de prioridade: chunks que o jogador está editando ativamente nunca devem ser descarregados.</p>
<h3 id="spikes-12-14-integracao-de-webgpu-three-js" tabindex="-1">Spikes 12-14: integração de WebGPU + Three.js <a class="header-anchor" href="#spikes-12-14-integracao-de-webgpu-three-js" aria-label="Permalink to &quot;Spikes 12-14: integração de WebGPU + Three.js&quot;"></a></h3>
<p><strong>Spike 12 (Marching Cubes em WebGPU):</strong> O primeiro spike volumétrico. Quatro chunks de SDF 64^3 com cavernas esféricas animadas, executados inteiramente na GPU. Usa WebGPU bruto: pipelines de computação para avaliação do SDF, extração por MC com a tabela de casos do Twinklebear (256 configurações, 16 entradas cada), contador atômico de vértices e desenho indireto. A meta de desempenho era &lt;4 ms por chunk e &lt;12 ms para os 4. Isso validou que MC em GPU é rápido o suficiente para gerar novamente as malhas em tempo real no navegador. Todos os spikes volumétricos posteriores reutilizam a tabela de casos de MC e os shaders WGSL definidos aqui.</p>
<p><strong>Spike 13 (redefinição da base do Spike 12):</strong> Adaptou o caminho de desenho em WebGPU bruto do Spike 12 para execução dentro do <code>WebGPURenderer</code> do Three.js, acessando diretamente o <code>device</code> do backend. O pipeline de renderização ainda usa WebGPU bruto (<code>drawIndirect</code> com struct Vertex vec4+vec4). Isso provou que computação personalizada e renderização de cenas do Three.js podem coexistir no mesmo dispositivo de GPU.</p>
<p><strong>Spike 14 (robustez incremental do WebGPU no Three.js):</strong> Substituiu o pipeline de renderização bruto por <code>StorageBufferAttribute</code> do Three.js para posições e normais. A computação de MC grava diretamente nesses buffers residentes na GPU. O buffer de <code>drawIndirect</code> controla quantos vértices o Three.js desenha. Esse é o padrão usado por todos os spikes posteriores: a computação permanece em WebGPU bruto, enquanto a renderização passa pelo grafo de cena do Three.js. A versão do Three.js usada nesses spikes avançou da 0.170.0 para a 0.172.0 à medida que o backend WebGPU se estabilizou.</p>
<h3 id="spikes-15-17-costura-de-lod-com-transvoxel" tabindex="-1">Spikes 15-17: costura de LOD com Transvoxel <a class="header-anchor" href="#spikes-15-17-costura-de-lod-com-transvoxel" aria-label="Permalink to &quot;Spikes 15-17: costura de LOD com Transvoxel&quot;"></a></h3>
<p><strong>Spike 15 (estrutura inicial de emenda Transvoxel):</strong> Adicionou a arquitetura de três zonas: chunk de MC (centro volumétrico), faixa de transição (emenda entre o limite de MC e o heightmap) e anel de terreno (heightmap ao redor). As três compartilham um mesmo passe de material. Nessa etapa, a faixa de transição é uma malha provisória, não células Transvoxel reais.</p>
<p><strong>Spike 16 (face +X de Transvoxel com heightmap compartilhado):</strong> Dois avanços cruciais em um único spike. Primeiro, substituiu o plano de terreno liso no SDF por um heightmap Perlin compartilhado: um Float32Array 257x257 enviado à GPU como buffer de armazenamento e consultado por interpolação bilinear no shader de computação do SDF. Agora, a superfície de MC e a malha de heightmap concordam quanto à mesma fonte de verdade. Segundo, implementou células de transição Transvoxel reais para a face +X, obtendo as tabelas de dados de referência de Eric Lengyel no GitHub (<code>transitionCellClass</code>, <code>transitionVertexData</code>, <code>transitionCellData</code>) e no pacote npm <code>transvoxel-data</code>. A CPU avalia células de transição com 9 amostras (512 configurações, 73 classes de equivalência), posiciona vértices interpolando valores de SDF nos pontos da grade e trata a inversão da ordem dos vértices nos casos espelhados.</p>
<p><strong>Spike 17 (MC duplo com LOD 1x/2x):</strong> Dois chunks de MC lado a lado em resoluções diferentes. Alta resolução: 62 células com cell_scale=1.0. Baixa resolução: 31 células com cell_scale=2.0. O shader de MC recebeu os uniforms <code>cell_scale</code> e <code>grid_points</code>. Introduziu <code>transition_shrink</code>: os vértices do limite da face 0 do chunk de baixa resolução são deslocados 15% de cell_scale para dentro, criando uma pequena lacuna que as células de transição Transvoxel preenchem sem z-fighting. Esse é o modelo de LOD necessário para o sistema em produção: chunks próximos em resolução máxima, chunks distantes com metade da resolução e Transvoxel em todos os limites.</p>
<h3 id="spikes-18-21-casos-extremos-de-transvoxel-e-aceleracao-por-gpu" tabindex="-1">Spikes 18-21: casos extremos de Transvoxel e aceleração por GPU <a class="header-anchor" href="#spikes-18-21-casos-extremos-de-transvoxel-e-aceleracao-por-gpu" aria-label="Permalink to &quot;Spikes 18-21: casos extremos de Transvoxel e aceleração por GPU&quot;"></a></h3>
<p>Cada um desses quatro spikes resolveu uma falha específica da implementação de Transvoxel. Agrupá-los ocultaria os diferentes problemas.</p>
<p><strong>Spike 18 (emenda 2:1 de heightmap):</strong> Aplicou Transvoxel a um limite composto apenas por heightmaps, no qual um lado tem o dobro da resolução do outro. Sem MC. A emenda entre um chunk de heightmap com 62 células e outro com 31 células é gerada a partir das tabelas de transição do Transvoxel, com redução de 15% na face de baixa resolução. Isso validou que Transvoxel funciona no caso composto apenas por heightmaps, não somente com MC.</p>
<p><strong>Spike 19 (grade de canto 64/32/32/16):</strong> O caso de costura mais difícil: quatro chunks de resoluções diferentes se encontrando em um ponto de canto (64, 32, 32 e 16 células). O sistema de emendas precisa gerar células de transição ao longo de quatro arestas (A-B, A-C, B-D, C-D), com a ordem correta dos vértices para cada direção. Esse spike provou que as tabelas do Transvoxel tratam o canto com múltiplas resoluções sem lógica personalizada para casos especiais.</p>
<p><strong>Spike 20 (canto Transvoxel em GPU):</strong> Transferiu para a GPU a geração das células de transição Transvoxel no layout de canto 64/32/32/16. A CPU era um gargalo ao regenerar as células de transição a cada frame para terrenos animados. A computação em GPU gera os vértices da emenda no mesmo passe que a extração por MC.</p>
<p><strong>Spike 21 (canto com MC + Transvoxel em GPU):</strong> Combinou a extração completa por MC em GPU com a geração de emendas Transvoxel em GPU em uma única sequência de dispatches de computação. Tanto os chunks de MC quanto as quatro emendas são gerados na GPU, com contagens de vértices gerenciadas por contadores atômicos e desenhadas com <code>drawIndirect</code>. Esse é o pipeline completo de GPU para terrenos volumétricos com múltiplas resoluções e transições perfeitas entre LODs.</p>
<h3 id="spikes-22-24-a-arquitetura-hibrida" tabindex="-1">Spikes 22-24: a arquitetura híbrida <a class="header-anchor" href="#spikes-22-24-a-arquitetura-hibrida" aria-label="Permalink to &quot;Spikes 22-24: a arquitetura híbrida&quot;"></a></h3>
<p><strong>Spike 22 (política híbrida de MC/heightmap):</strong> O spike arquitetural essencial. Por padrão, os chunks são heightmaps. Quando a esfera animada de deformação intersecta o AABB de um chunk, esse chunk muda para o modo MC. Os demais permanecem como malhas de heightmap estáticas. Layout: chunks de 64, 32/32 e 16 células em diferentes resoluções. Emendas Transvoxel tratam todos os limites, incluindo transições de MC para heightmap. O spike monitora a quantidade de chunks de MC em comparação com chunks de HM e o overflow de vértices por frame.</p>
<p><strong>Spike 23 (modos de chunk orientados por política):</strong> Carregado como um patch sobre o Spike 22. Adicionou histerese baseada na distância da câmera (os chunks não alternam rapidamente entre modos quando a câmera está perto de um limiar) e uma máscara de edição (chunks que foram deformados permanecem no modo MC mesmo que a fonte da deformação se afaste). Esse é o comportamento de &quot;edição persistente&quot; necessário para a escultura: depois que um jogador escava uma caverna, esse chunk permanece volumétrico para sempre.</p>
<p><strong>Spike 24 (política + anéis de clipmap):</strong> O spike mais avançado. Combina o sistema de políticas de campo próximo do Spike 23 com os anéis de clipmap de geometria de campo distante do Spike 10. Atualizado para o Three.js 0.183.1. O campo próximo usa o sistema híbrido HM/MC com emendas Transvoxel nas resoluções 64/32/16. O campo distante usa anéis de clipmap com centro estático que acompanham a câmera. Essa é a arquitetura completa de renderização do terreno: escultura volumétrica baseada em chunks onde necessário e terreno barato por clipmap em todos os outros lugares.</p>
<h3 id="por-que-marching-cubes-e-nao-surface-nets" tabindex="-1">Por que Marching Cubes, e não Surface Nets <a class="header-anchor" href="#por-que-marching-cubes-e-nao-surface-nets" aria-label="Permalink to &quot;Por que Marching Cubes, e não Surface Nets&quot;"></a></h3>
<p>A seção de pesquisa externa deste guia aponta o Surface Nets como o candidato mais forte para a escultura de terrenos no navegador. Mas todos os spikes do pipeline usam Marching Cubes. Isso não é por acaso.</p>
<p>A principal vantagem do MC é seu paralelismo extremamente simples: cada cubo é completamente independente. Os shaders de computação WGSL nos Spikes 12-24 disparam uma thread por cubo, sem nenhuma comunicação entre células. Contadores atômicos cuidam da alocação de vértices. Isso se encaixa perfeitamente nos workgroups da GPU.</p>
<p>O Surface Nets posiciona um vértice por célula que contém superfície e depois conecta as células vizinhas. Essa conectividade entre vizinhos cria uma dependência entre células. O crate <code>fast-surface-nets</code> cuida disso na CPU usando uma ordem de iteração cuidadosamente planejada. Na GPU, isso exige uma abordagem em duas passagens (encontrar os vértices e depois conectá-los) ou memória compartilhada dentro dos workgroups. Ambas são possíveis no WebGPU, mas aumentam a complexidade.</p>
<p>A recomendação prática: continue usando Marching Cubes no pipeline de escultura. Ele já foi comprovado em nossa base de código, os shaders WGSL existem e passaram por benchmarks, e o sistema de emendas Transvoxel foi construído em torno do posicionamento de vértices do MC baseado em arestas. Vale a pena reconsiderar o Surface Nets se o serrilhado do MC em dados binários se tornar um problema visível, mas, em terrenos SDF nos quais os valores formam gradientes suaves, o MC produz resultados limpos.</p>
<h2 id="arquitetura-pratica-para-escultura" tabindex="-1">Arquitetura prática para escultura <a class="header-anchor" href="#arquitetura-pratica-para-escultura" aria-label="Permalink to &quot;Arquitetura prática para escultura&quot;"></a></h2>
<p>A sequência de spikes resolveu o pipeline de renderização. O que falta é o sistema de pincéis, os efeitos em cascata pelos sistemas do jogo e a sincronização multijogador. Este é o plano, aproveitando todos os spikes.</p>
<h3 id="fase-1-escultura-de-heightmap-mudanca-minima-alcance-maximo" tabindex="-1">Fase 1: escultura de heightmap (mudança mínima, alcance máximo) <a class="header-anchor" href="#fase-1-escultura-de-heightmap-mudanca-minima-alcance-maximo" aria-label="Permalink to &quot;Fase 1: escultura de heightmap (mudança mínima, alcance máximo)&quot;"></a></h3>
<p>Adicione ferramentas de pincel que modifiquem os heightmaps dos chunks no código de produção em <code>world/client/</code>. Isso funciona com o renderizador WebGL existente e não exige WebGPU.</p>
<p><strong>Entrada do pincel:</strong> siga o padrão de <code>PlacementTool</code> em <code>placement.ts</code>. Ele já tem um <code>Raycaster</code> que detecta interseções com <code>chunkManager.getChunkMeshes()</code> e acompanha uma malha fantasma no ponto atingido. Um <code>TerrainBrushTool</code> faria o mesmo raycast, mas modificaria o heightmap do chunk em vez de posicionar um objeto. O manipulador <code>World.onMouseDown</code> já encaminha as ações de acordo com o estado da ferramenta.</p>
<p><strong>Modificação do chunk (<code>Chunk.applyBrush</code>):</strong> mapeie a posição do pincel no mundo para as coordenadas da grade do heightmap. Para cada ponto da grade dentro do raio do pincel, calcule o deslocamento ponderado pelo falloff e some-o ou subtraia-o do valor do heightmap. Depois, atualize a malha: defina as posições Y dos vértices com base no heightmap modificado, recalcule as normais por diferenças centrais (o mesmo padrão <code>terrainHeight(wx +/- eps, wz)</code> já usado nas linhas 155-158 de <code>chunk.ts</code>) e gere novamente o splat map por meio de <code>createSplatMap()</code> em <code>terrain-material.ts</code> para a região afetada, atualizando a mesclagem de texturas baseada na inclinação.</p>
<p><strong>Controlador do personagem:</strong> <code>CharacterController.update()</code> chama <code>getHeight()</code> a cada frame para manter o personagem no chão. <code>ChunkManager.getHeight()</code> delega para <code>Chunk.sampleHeight()</code>, que lê o <code>Float32Array</code> do <code>heightmap</code> do chunk. Como estamos modificando esse array diretamente, o controlador do personagem detecta a mudança no frame seguinte sem nenhuma integração adicional.</p>
<p><strong>Invalidação de objetos:</strong> as instâncias de árvores em <code>chunk.ts</code> são posicionadas por meio de amostras de <code>terrainHeight()</code> no momento da geração. Após a escultura, as árvores na área afetada podem ficar na altura errada. A Fase 1 pode adiar essa correção (as árvores flutuam um pouco após pequenas edições). A Fase 2 precisa de um <code>chunk.invalidateObjects()</code> que obtenha novas amostras de altura e reconstrua as matrizes das instâncias. O mesmo vale para os colisores usados em <code>resolveCollisions()</code>.</p>
<p><strong>Física do Rapier (se integrada):</strong> o Spike 02 demonstrou que colisores de heightfield funcionam. Se o Rapier estiver ativo, o colisor de heightfield precisará ser reconstruído ou atualizado para o chunk modificado. <code>ColliderDesc.heightfield()</code> do Rapier recebe um <code>Float32Array</code> plano, portanto basta substituí-lo diretamente.</p>
<p><strong>Sincronização de rede:</strong> adicione <code>MsgType.TerrainEdit = 10</code> a <code>protocol.ts</code>:</p>
<div class="language-typescript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">interface</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> TerrainEditMsg</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">  t</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> MsgType</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">TerrainEdit</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">  cx</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> number</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">  cz</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> number</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">  brush</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">    wx</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> number</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">    wz</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> number</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">    radius</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> number</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">    strength</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> number</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">    falloff</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> number</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">    operation</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> number</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre>
</div><p>O <code>WorldChunkDO</code> transmite essa mensagem para todos os clientes e a adiciona a um registro de edições por chunk armazenado no Durable Object. Clientes que entrarem mais tarde recebem o registro de edições na mensagem <code>Snapshot</code> e o reproduzem para reconstruir o estado do terreno. Todos os clientes aplicam a mesma função determinística de pincel e, portanto, convergem para o mesmo heightmap.</p>
<p><strong>Descarregamento e recarregamento de chunks:</strong> o Spike 06 e o Spike 11 estabeleceram o padrão de streaming. Quando um chunk é descarregado e depois recarregado, o registro de edições desse chunk precisa ser reproduzido sobre o heightmap procedural de base. O registro de edições é armazenado no servidor (Durable Object) e incluído na mensagem <code>Snapshot</code>.</p>
<h3 id="fase-2-escultura-volumetrica-com-a-arquitetura-dos-spikes-22-24" tabindex="-1">Fase 2: escultura volumétrica com a arquitetura dos Spikes 22-24 <a class="header-anchor" href="#fase-2-escultura-volumetrica-com-a-arquitetura-dos-spikes-22-24" aria-label="Permalink to &quot;Fase 2: escultura volumétrica com a arquitetura dos Spikes 22-24&quot;"></a></h3>
<p>Transfira o pipeline do Spike 24 para o mundo de produção. Quando um jogador esculpe abaixo da superfície (abrindo uma caverna ou escavando um túnel), o chunk afetado passa do modo heightmap para o modo MC.</p>
<p><strong>Migração do renderizador para WebGPU:</strong> os Spikes 13-14 demonstraram que o <code>WebGPURenderer</code> do Three.js pode executar computação personalizada junto com o grafo de cena. O mundo de produção migra de <code>WebGLRenderer</code> para <code>WebGPURenderer</code>, com <code>StorageBufferAttribute</code> para chunks MC. Quando o WebGPU não estiver disponível, use como fallback o caminho da Fase 1, limitado a heightmaps.</p>
<p><strong>Alocação de SDF por chunk:</strong> siga o padrão híbrido do Spike 22. Cada chunk começa como um heightmap. Na primeira pincelada volumétrica, aloque um <code>Float32Array</code> de 64^3, inicialize-o amostrando o heightmap (o valor SDF em cada ponto é <code>world.y - heightmap_value</code>) e mude para a renderização MC. O sistema de políticas do Spike 23 garante que o chunk permaneça permanentemente no modo MC (o comportamento de “edição persistente” da máscara de edição).</p>
<p><strong>Heightmap compartilhado no shader SDF:</strong> use a função <code>height_at()</code> do Spike 16. Envie o heightmap do chunk para um buffer de armazenamento da GPU. O shader de computação SDF avalia <code>max(height_sdf, edit_sdf)</code>, onde <code>height_sdf = world.y - height_at(world.xz)</code> e <code>edit_sdf</code> contém as modificações feitas pelo pincel. Chunks MC e chunks de heightmap usam a mesma referência de superfície em seus limites.</p>
<p><strong>Emendas Transvoxel:</strong> use a pilha completa dos Spikes 15-21. Os limites entre MC e heightmap usam células de transição com a lacuna de contração. Os limites entre chunks MC com resoluções diferentes usam o padrão de LOD duplo do Spike 17. O caso especial do Spike 19 cuida das interseções quádruplas. A computação em GPU do Spike 21 gera toda a geometria das emendas no mesmo despacho.</p>
<p><strong>Campo distante com clipmaps:</strong> use os anéis de clipmap do Spike 24 para o terreno fora do alcance de escultura. A escultura nunca modifica esses anéis; eles amostram o heightmap procedural de base.</p>
<p><strong>Geomorphing:</strong> o geomorphing do Spike 10 elimina o surgimento abrupto nas transições de LOD. Para chunks editados, o destino do geomorph precisa incluir a edição. Se um chunk estiver em MC no LOD0 e seu vizinho no LOD1 for um heightmap, o geomorph mescla as duas representações. Isso exige amostrar o registro de edições até mesmo nos LODs mais baixos.</p>
<p><strong>Orçamento de materiais:</strong> o Spike 08 testou em benchmark um material triplanar de 4 camadas com normais a mais de 45 FPS. Os chunks MC precisam do mesmo material. O splat map pode ser gerado a partir do gradiente do SDF (íngreme = rocha, plano = grama), em vez da inclinação do heightmap. Isso permanece dentro do orçamento de 4 camadas.</p>
<p><strong>Invalidação da vegetação:</strong> a vegetação baseada em mapa de densidade do Spike 07 depende da altura e da inclinação do terreno. Quando um chunk passa para o modo MC, as instâncias de árvores precisam ser geradas novamente por meio de amostras da superfície SDF. Árvores em saliências ou dentro de cavernas precisam ser removidas. As matrizes da malha instanciada de <code>chunk.ts</code> são reconstruídas com base na nova superfície.</p>
<h3 id="fase-3-arvores-de-edicao-csg-para-desfazer-refazer-e-sincronizacao-de-rede" tabindex="-1">Fase 3: árvores de edição CSG para desfazer/refazer e sincronização de rede <a class="header-anchor" href="#fase-3-arvores-de-edicao-csg-para-desfazer-refazer-e-sincronizacao-de-rede" aria-label="Permalink to &quot;Fase 3: árvores de edição CSG para desfazer/refazer e sincronização de rede&quot;"></a></h3>
<p>Substitua a mutação direta do SDF por uma árvore de operações CSG. Cada pincelada adiciona uma primitiva (esfera, cápsula ou caixa) com uma operação (adicionar, subtrair ou mesclar suavemente). O SDF é recalculado a partir da árvore.</p>
<p><strong>Benefícios:</strong></p>
<ul>
<li>Não destrutivo: qualquer edição pode ser removida da árvore para desfazê-la</li>
<li>Eficiente na rede: transmita a operação CSG, não os valores brutos do campo</li>
<li>Determinístico: todos os clientes constroem o mesmo SDF a partir da mesma sequência de operações</li>
<li>O diff/patch de árvores CSG do ALICE-SDF oferece sincronização eficiente em largura de banda e operações de desfazer/refazer pela rede</li>
</ul>
<p><strong>Armazenamento no Durable Object:</strong> a árvore de edições por chunk substitui o registro simples de edições da Fase 1. O <code>WorldChunkDO</code> armazena a estrutura da árvore CSG, não os deltas brutos do heightmap. As mensagens <code>Snapshot</code> incluem a árvore, e os clientes que entram mais tarde a avaliam para produzir o SDF local.</p>
<h3 id="fase-4-escultura-colaborativa" tabindex="-1">Fase 4: escultura colaborativa <a class="header-anchor" href="#fase-4-escultura-colaborativa" aria-label="Permalink to &quot;Fase 4: escultura colaborativa&quot;"></a></h3>
<p>Adicione suporte a edições simultâneas com reprodução de operações ordenada pelo servidor. O Durable Object registra o horário de cada edição e as transmite em ordem. Clientes que entrarem mais tarde recebem o registro de operações e reconstroem o estado do mundo. O tipo de mensagem <code>Snapshot</code> existente é estendido para incluir o histórico de edições do terreno por chunk.</p>
<p>Como as pinceladas são pequenas, localizadas e aditivas ou subtrativas, o resultado visual de edições simultâneas reproduzidas em uma ordem ligeiramente diferente geralmente é indistinguível da ordem “correta”. Uma estratégia em que a última gravação prevalece, com ordenação pelo servidor, é suficiente. A função <code>tick()</code> do Durable Object (que atualmente é executada em intervalos de 50 ms para o estado dos jogadores) adiciona as transmissões de edições do terreno ao mesmo ciclo.</p>
<h2 id="referencias-principais" tabindex="-1">Referências principais <a class="header-anchor" href="#referencias-principais" aria-label="Permalink to &quot;Referências principais&quot;"></a></h2>
<p><strong>Algoritmos:</strong></p>
<ul>
<li>Lorensen &amp; Cline, &quot;Marching Cubes&quot; (1987)</li>
<li>Eric Lengyel, &quot;Transvoxel Algorithm&quot; (2009), transvoxel.org</li>
<li>Losasso &amp; Hoppe, &quot;Geometry Clipmaps&quot; (SIGGRAPH 2004)</li>
<li>&quot;A High-Performance SurfaceNets Discrete Isocontouring Algorithm&quot; (arxiv 2401.14906, 2024)</li>
<li>MCHex (arxiv 2511.02064, 2025)</li>
</ul>
<p><strong>Implementações:</strong></p>
<ul>
<li>bevy-sculpter v0.18.0 (Rust, Surface Nets + pincéis SDF)</li>
<li>fast-surface-nets (Rust, 20 milhões de triângulos/s)</li>
<li>ALICE-SDF v1.3.0 (Rust + WASM, diff/patch de árvores CSG)</li>
<li>WebGPU SDF Editor (Nijhoff, janeiro de 2026)</li>
<li>SculptingPro (API de escultura em tempo de execução para Unity)</li>
<li>TerraBrush (GDExtension para escultura de terrenos no Godot)</li>
</ul>
<p><strong>Jogos:</strong></p>
<ul>
<li>Dreams (Media Molecule, SDF + renderização de nuvem de pontos, SIGGRAPH 2015)</li>
<li>Teardown (Voxagon, ray tracing de voxels com DDA, destruição multijogador determinística)</li>
<li>Engine SDF de Mike Turitzin (brick maps + clipmaps de geometria, janeiro de 2026)</li>
</ul>
<p><strong>Rede:</strong></p>
<ul>
<li>&quot;Optimizing payload size for voxel state synchronization&quot; (Oulu, 2024)</li>
<li>Multijogador de Teardown (sincronização semideterminística de destruição, março de 2026)</li>
<li>cSculpt (escultura colaborativa de malhas com mesclagem multirresolução)</li>
</ul>
<BuildCta
  title="Esculpa menos, jogue mais cedo"
  desc="Crie um jogo baseado em terreno sem encostar em um pincel."
  prompt="Crie um jogo ambientado em um cânion esculpido à mão com um rio" />
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/terrain-sculpting-brushes.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Melhores modelos de vídeo com IA e suporte a imagens de referência (2026)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/long-reference-video-models</link>
            <guid>https://app.cinevva.com/pt-BR/guides/long-reference-video-models</guid>
            <pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Os modelos de geração de vídeo com IA que produzem vídeos longos e consistentes a partir de imagens de referência em 2026 - geradores nativos de longa duração, fluxos de referência e extensão e opções de código aberto que você pode hospedar por conta própria.]]></description>
            <content:encoded><![CDATA[<h1 id="melhores-modelos-de-video-com-ia-e-suporte-a-imagens-de-referencia-2026" tabindex="-1">Melhores modelos de vídeo com IA e suporte a imagens de referência (2026) <a class="header-anchor" href="#melhores-modelos-de-video-com-ia-e-suporte-a-imagens-de-referencia-2026" aria-label="Permalink to &quot;Melhores modelos de vídeo com IA e suporte a imagens de referência (2026)&quot;"></a></h1>
<p><em>Última atualização: julho de 2026.</em></p>
<p>Gerar um clipe de 10 segundos agora é fácil. Todos os principais modelos fazem isso. A verdadeira questão é: você consegue gerar 5 ou 10 minutos de vídeo coerente, em que um personagem tenha a mesma aparência no primeiro e no oitavo minuto? Em que a cena permaneça consistente ao longo de centenas de quadros?</p>
<p>Esse é o problema difícil. E é justamente onde as coisas estão mudando rapidamente. Este guia aborda todos os modelos que encontramos que geram vídeos longos de forma nativa ou oferecem os recursos necessários para criar conteúdo de longa duração com personagens consistentes por meio de imagens de referência. Nós os dividimos em três categorias: modelos que geram diretamente vídeos com vários minutos, modelos com forte suporte a imagens de referência que podem ser estendidos por continuação e opções de código aberto que você pode executar por conta própria.</p>
<h2 id="categoria-1-geracao-nativa-de-longa-duracao-varios-minutos-ou-mais" tabindex="-1">Categoria 1: geração nativa de longa duração (vários minutos ou mais) <a class="header-anchor" href="#categoria-1-geracao-nativa-de-longa-duracao-varios-minutos-ou-mais" aria-label="Permalink to &quot;Categoria 1: geração nativa de longa duração (vários minutos ou mais)&quot;"></a></h2>
<p>Esses modelos geram vídeos cuja duração é medida em minutos, não em segundos. Eles foram desenvolvidos desde o início para manter a consistência temporal em sequências longas.</p>
<h3 id="longcat-video" tabindex="-1">LongCat Video <a class="header-anchor" href="#longcat-video" aria-label="Permalink to &quot;LongCat Video&quot;"></a></h3>
<p>A Meituan lançou o LongCat Video no fim de 2025. Trata-se de um transformer de difusão com 13,6 bilhões de parâmetros e é o primeiro modelo capaz de gerar com confiabilidade vídeos coerentes de até 15 minutos.</p>
<p>O modelo aceita texto para vídeo, imagem para vídeo e continuação de vídeo em um pipeline unificado. No modo I2V, a imagem de entrada se torna literalmente o primeiro quadro do vídeo. Ela não funciona como uma referência flexível de personagem que pode ser colocada em qualquer cena. O modelo cria a animação a partir desse quadro inicial e usa o recurso &quot;Cross-Chunk Latent Stitching&quot; para continuar consultando a imagem original durante toda a geração, evitando desvios de cor e mantendo a consistência visual em sequências longas. Uma variante atualizada de 2026 adiciona a geração de avatares orientada por áudio, com sincronização labial, para vídeos de mais de 5 minutos com pessoas falando para a câmera.</p>
<p>Nos bastidores, o LongCat usa uma abordagem de geração do geral para o detalhado, com Block Sparse Attention, para processar sequências extremamente longas. O ajuste por RLHF melhora a qualidade dos movimentos. No benchmark VBench 2.0, ele ocupa o terceiro lugar geral, atrás do Google Veo 3 e do Vidu Q1, da Shengshu.</p>
<p><strong>Disponibilidade:</strong> Código aberto sob a licença MIT. Disponível pela API da fal.ai por US$ 0,04 por segundo gerado (US$ 36 por um vídeo de 15 minutos em 720p). Também está disponível na própria plataforma do LongCat, com preços baseados em créditos.</p>
<table tabindex="0">
<thead>
<tr>
<th>Especificação</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr>
<td>Duração máxima</td>
<td>~15 minutos</td>
</tr>
<tr>
<td>Resolução</td>
<td>720p a 30fps</td>
</tr>
<tr>
<td>Parâmetros</td>
<td>13,6B</td>
</tr>
<tr>
<td>Imagens de referência</td>
<td>Somente o primeiro quadro (modo I2V, não é referência de personagem)</td>
</tr>
<tr>
<td>Licença</td>
<td>MIT</td>
</tr>
<tr>
<td>Custo da API</td>
<td>~US$ 0,04/segundo (fal.ai)</td>
</tr>
</tbody>
</table>
<h3 id="seaweed-apt2" tabindex="-1">Seaweed APT2 <a class="header-anchor" href="#seaweed-apt2" aria-label="Permalink to &quot;Seaweed APT2&quot;"></a></h3>
<p>O Seaweed APT2, da ByteDance, adota uma abordagem diferente. Em vez de gerar antecipadamente um vídeo completo, ele produz quadros de maneira autorregressiva a 24fps, com apenas 0,16 segundo de latência por quadro em uma única H100. O resultado é um vídeo estável de até 5 minutos, com consistência temporal preservada.</p>
<p>O truque técnico é o Autoregressive Adversarial Post-Training (AAPT), que converte um modelo bidirecional de difusão de vídeo pré-treinado em um gerador autorregressivo unidirecional. Cada quadro exige apenas uma passagem de inferência pela rede. É isso que possibilita a geração em tempo real.</p>
<p>Além da duração, o que torna esse modelo interessante é a interatividade. Você pode controlar a câmera, animar personagens por meio de detecção de poses e manipular cenas durante a renderização do vídeo. Pense nele menos como uma ferramenta para &quot;gerar um vídeo&quot; e mais como uma forma de &quot;dirigir um vídeo em tempo real&quot;.</p>
<p><strong>Disponibilidade:</strong> Apenas em fase de pesquisa. Ainda não está disponível ao público. O modelo-base de 7B (Seaweed-7B) tem um artigo publicado, mas os pesos do APT2 ainda não foram disponibilizados.</p>
<table tabindex="0">
<thead>
<tr>
<th>Especificação</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr>
<td>Duração máxima</td>
<td>~5 minutos</td>
</tr>
<tr>
<td>Resolução</td>
<td>736x416 (uma GPU), até 720p (8 GPUs)</td>
</tr>
<tr>
<td>Parâmetros</td>
<td>8B</td>
</tr>
<tr>
<td>Imagens de referência</td>
<td>Por I2V e controle interativo de poses</td>
</tr>
<tr>
<td>Licença</td>
<td>Não lançado</td>
</tr>
<tr>
<td>Status</td>
<td>Prévia de pesquisa</td>
</tr>
</tbody>
</table>
<h3 id="helios" tabindex="-1">Helios <a class="header-anchor" href="#helios" aria-label="Permalink to &quot;Helios&quot;"></a></h3>
<p>O Helios vem da Universidade de Pequim e foi desenvolvido com base no Wan 2.1. É um modelo de 14B parâmetros que gera vídeos com duração de minutos a 19,5 FPS em uma única H100. A principal inovação está na forma como ele lida com os desvios em vídeos longos. Em vez de usar técnicas convencionais contra desvios, como self-forcing ou amostragem de quadros-chave, o Helios simula esses desvios durante o treinamento para que o modelo aprenda a corrigi-los.</p>
<p>Ele oferece suporte nativo a tarefas de texto para vídeo, imagem para vídeo e vídeo para vídeo. O modo I2V aceita imagens de referência para iniciar a geração.</p>
<p><strong>Disponibilidade:</strong> Totalmente de código aberto sob a licença Apache 2.0. Lançado em março de 2026. Código e pesos no GitHub (PKU-YuanGroup/Helios). Integrado ao Diffusers, SGLang e vLLM-Omni. Demonstração em Gradio no HuggingFace Spaces.</p>
<table tabindex="0">
<thead>
<tr>
<th>Especificação</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr>
<td>Duração máxima</td>
<td>Vários minutos (sem limite fixo)</td>
</tr>
<tr>
<td>Resolução</td>
<td>720p</td>
</tr>
<tr>
<td>Parâmetros</td>
<td>14B</td>
</tr>
<tr>
<td>Imagens de referência</td>
<td>Sim (modo I2V)</td>
</tr>
<tr>
<td>Licença</td>
<td>Apache 2.0</td>
</tr>
<tr>
<td>Hardware</td>
<td>Uma H100 para geração em tempo real</td>
</tr>
</tbody>
</table>
<h3 id="skyreels-v2-v3" tabindex="-1">SkyReels V2 / V3 <a class="header-anchor" href="#skyreels-v2-v3" aria-label="Permalink to &quot;SkyReels V2 / V3&quot;"></a></h3>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/NJcRyQu30yM" title="SkyReels AI: geração de vídeos de duração infinita" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">O SkyReels V3 aceita de 1 a 4 imagens de referência e gera vídeos de duração ilimitada, com alternância entre várias tomadas e síntese de avatares orientada por áudio.</div>
<p>A linha SkyReels, da Skywork, busca gerar vídeos de duração infinita. O V2 usa uma arquitetura AutoRegressive Diffusion-Forcing que gera vídeos sem um limite fixo de duração. O V3, lançado em janeiro de 2026, unifica imagem de referência para vídeo, extensão de vídeo para vídeo e geração de avatares orientada por áudio em um único modelo.</p>
<p>O V3 aceita de 1 a 4 imagens de referência e preserva a identidade do sujeito ao longo do vídeo gerado. O modo de vídeo para vídeo permite continuações perfeitas de uma única tomada e a alternância entre várias tomadas com transições cinematográficas.</p>
<p>A Skywork lançou o SkyReels V4 em 25 de fevereiro de 2026, o primeiro modelo de código aberto a gerar vídeo e áudio juntos em uma única passagem de fluxo duplo, com até 1080p/32fps. Ele aceita texto, imagens, clipes de vídeo, máscaras e áudio como entradas de condicionamento e unifica geração, preenchimento e edição em uma só estrutura, ampliando a linha de referência e extensão do V2/V3 com som nativo. Atualmente, ele está entre os primeiros colocados na arena de texto para vídeo da Artificial Analysis.</p>
<p><strong>Disponibilidade:</strong> Totalmente de código aberto. Modelos de 1,3B a 14B parâmetros. Disponíveis em 540p e 720p. Código e pesos no GitHub e no HuggingFace.</p>
<table tabindex="0">
<thead>
<tr>
<th>Especificação</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr>
<td>Duração máxima</td>
<td>Ilimitada (autorregressiva)</td>
</tr>
<tr>
<td>Resolução</td>
<td>540p, 720p</td>
</tr>
<tr>
<td>Parâmetros</td>
<td>1,3B, 5B, 14B</td>
</tr>
<tr>
<td>Imagens de referência</td>
<td>1 a 4 imagens (V3)</td>
</tr>
<tr>
<td>Licença</td>
<td>Código aberto</td>
</tr>
<tr>
<td>Hardware</td>
<td>Mínimo de uma RTX 4090; recomendadas 4 a 8 A100</td>
</tr>
</tbody>
</table>
<h2 id="categoria-2-clipes-curtos-com-referencias-robustas-e-extensao" tabindex="-1">Categoria 2: clipes curtos com referências robustas e extensão <a class="header-anchor" href="#categoria-2-clipes-curtos-com-referencias-robustas-e-extensao" aria-label="Permalink to &quot;Categoria 2: clipes curtos com referências robustas e extensão&quot;"></a></h2>
<p>Esses modelos geram clipes de 8 a 60 segundos, mas oferecem forte suporte a imagens de referência e recursos de extensão de vídeo. Para conteúdo de longa duração, você encadeia os clipes usando os endpoints de continuação ou extensão do modelo. A consistência dos personagens vem das imagens de referência que persistem entre as gerações.</p>
<p>Esse é o fluxo de trabalho prático usado atualmente pela maioria dos criadores para conteúdos com mais de um minuto. A qualidade de cada clipe costuma ser superior à dos modelos nativos de longa duração.</p>
<h3 id="kling-3-0-omni-kuaishou" tabindex="-1">Kling 3.0 Omni (Kuaishou) <a class="header-anchor" href="#kling-3-0-omni-kuaishou" aria-label="Permalink to &quot;Kling 3.0 Omni (Kuaishou)&quot;"></a></h3>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/gn3YTrStUn8" title="Apresentando o Kling 3.0: geração de vídeo com IA" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">O Kling 3.0 Omni combina elementos de personagens, referências de estilo e storyboard com várias tomadas em uma única chamada, com saída nativa em 4K a 60fps.</div>
<p>O Kling tem o sistema de imagens de referência mais completo entre todos os modelos de vídeo. Ele separa as entradas de referência em três categorias distintas, cada uma com uma finalidade diferente:</p>
<p><strong>Imagens de referência</strong> (<code>image_urls</code>): Até 4 imagens para orientar o estilo e a aparência. Você as identifica no prompt como <code>@Image1</code>, <code>@Image2</code> e assim por diante. Elas influenciam a aparência geral, o estilo da cena e o ambiente, sem se tornarem o primeiro quadro.</p>
<p><strong>Elementos</strong> (<code>elements</code>): Entradas dedicadas a personagens ou objetos. Cada elemento recebe uma <code>frontal_image_url</code> (foto frontal nítida), além de <code>reference_image_urls</code> opcionais (ângulos adicionais). Você os referencia no prompt como <code>@Element1</code>, <code>@Element2</code>. O modelo extrai a identidade do personagem e o coloca em qualquer cena descrita. Esse é o principal recurso para conteúdo no estilo de filmes de aventura: envie a foto de um personagem e depois descreva esse personagem caminhando por uma floresta, lutando contra um dragão ou fazendo o que você quiser.</p>
<p><strong>Quadros inicial/final</strong> (<code>start_image_url</code>, <code>end_image_url</code>): Fixam imagens específicas como o primeiro ou o último quadro. São quadros literais, não guias de estilo.</p>
<p>O total das três categorias é de até 7 entradas de referência (reduzido para 4 quando também é usado um vídeo de referência). Um único prompt como <code>&quot;@Element1 e @Element2 estão jantando nesta mesa em @Image1&quot;</code> pode combinar personagens com referências de cena.</p>
<p>Para conteúdo de longa duração, o Kling oferece dois caminhos. O modo de várias tomadas gera até 6 cenas em uma única chamada, cada uma com seu próprio prompt e duração (de 3 a 15 segundos). Os elementos dos personagens persistem automaticamente em todas as tomadas. A API de extensão continua do ponto em que um vídeo concluído terminou, chegando a aproximadamente 3 minutos por meio de extensões encadeadas. O modo de edição V2V recebe um vídeo existente (de 3 a 10 segundos) e o transforma usando referências de elementos e um prompt de texto, preservando o movimento da câmera e o posicionamento dos personagens do material original, enquanto reformula os personagens e os ambientes com base nas suas referências. Isso torna o Kling especialmente útil para aprimorar filmagens preexistentes, incluindo renderizações 3D de baixa fidelidade.</p>
<p>O Kling 3.0 Omni unifica texto para vídeo, imagem para vídeo, referência para vídeo e edição de vídeo em um único modelo, com geração nativa de áudio e sincronização labial. Em 17 de junho de 2026, a Kuaishou adicionou o Kling 3.0 Turbo, uma variante mais rápida e econômica com áudio incluído em 720p e 1080p (preço de tabela de aproximadamente US$ 0,11 a US$ 0,14/s), e atualizou o pipeline de edição do Omni para aceitar e exportar vídeos em 4K.</p>
<p><strong>Disponibilidade:</strong> API comercial pela Kuaishou, fal.ai (US$ 0,084 a US$ 0,112/s) e Replicate. Interface web em klingai.com.</p>
<table tabindex="0">
<thead>
<tr>
<th>Especificação</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr>
<td>Duração nativa do clipe</td>
<td>3 a 15 segundos</td>
</tr>
<tr>
<td>Duração com extensões</td>
<td>~3 minutos (por extensões encadeadas)</td>
</tr>
<tr>
<td>Resolução</td>
<td>720p, 1080p (4K na edição do Omni)</td>
</tr>
<tr>
<td>Imagens de referência</td>
<td>Até 4 (referências de estilo <code>@Image</code>)</td>
</tr>
<tr>
<td>Elementos</td>
<td>Até 4 (referências de personagem <code>@Element</code>, com vista frontal e outros ângulos)</td>
</tr>
<tr>
<td>Total de referências</td>
<td>Até 7 combinadas (4 com referência de vídeo)</td>
</tr>
<tr>
<td>Várias tomadas</td>
<td>Sim (até 6 tomadas no storyboard)</td>
</tr>
<tr>
<td>Áudio</td>
<td>Áudio sincronizado nativo + sincronização labial</td>
</tr>
<tr>
<td>Edição de vídeo</td>
<td>Sim (edição de vídeos existentes orientada por texto)</td>
</tr>
<tr>
<td>API</td>
<td>Kuaishou, fal.ai, Replicate</td>
</tr>
</tbody>
</table>
<h3 id="grok-imagine-xai" tabindex="-1">Grok Imagine (xAI) <a class="header-anchor" href="#grok-imagine-xai" aria-label="Permalink to &quot;Grok Imagine (xAI)&quot;"></a></h3>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/DMXA0qGf-1s" title="Grok Imagine: demonstração de extensão de vídeo e referências" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">O Grok Imagine separa o modo de referência do modo de primeiro quadro, permitindo identificar até 7 imagens no prompt como referências de personagens ou objetos.</div>
<p>A xAI lançou o modo Reference-to-Video do Grok Imagine no início de 2026, com suporte a 1 a 7 imagens de referência. A documentação diferencia esse recurso explicitamente do modo de imagem para vídeo: &quot;Ao contrário do modo de imagem para vídeo, no qual a imagem de origem se torna o quadro inicial, as imagens de referência influenciam o que aparece no vídeo sem fixar o primeiro quadro.&quot;</p>
<p>Você identifica as imagens no prompt como <code>&lt;IMAGE_1&gt;</code>, <code>&lt;IMAGE_2&gt;</code> e assim por diante. Um prompt como <code>&quot;a modelo de &lt;IMAGE_1&gt; entra na passarela usando a camisa de &lt;IMAGE_2&gt;&quot;</code> combina a referência de uma pessoa com a referência de uma peça de roupa. O modelo permite provadores virtuais, posicionamento de produtos e narrativas com personagens consistentes entre as cenas.</p>
<p>Uma limitação: não é possível combinar imagens de referência com imagem para vídeo na mesma solicitação. Você precisa escolher o modo de primeiro quadro ou o modo de referência, não ambos.</p>
<p>O Grok Imagine também oferece um endpoint de extensão de vídeo que adiciona novas cenas ao fim de um vídeo existente. O parâmetro <code>duration</code> controla apenas o novo trecho. Você pode encadear extensões para criar conteúdos mais longos.</p>
<p>A xAI lançou o Grok Imagine 1.5 como prévia da API em 3 de junho de 2026 e depois o disponibilizou para uso geral como <code>grok-imagine-video-1.5</code> em 16 de junho, com uma variante Fast sendo disponibilizada gradualmente nos aplicativos para consumidores. É um modelo de imagem para vídeo que transforma uma única imagem estática em movimento cinematográfico, com movimentos de câmera, atmosfera, física e áudio sincronizado gerado nativamente na mesma passagem de inferência. Ele oferece sequenciamento de várias tomadas para encadear cenas consistentes, gera um clipe de 6 segundos em 720p em aproximadamente 25 segundos e atualmente ocupa o terceiro lugar na arena de imagem para vídeo da Artificial Analysis. O preço é de US$ 0,08/s em 480p e US$ 0,14/s em 720p, mais US$ 0,01 por imagem de entrada.</p>
<p><strong>Disponibilidade:</strong> API da xAI (lançada em janeiro de 2026), fal.ai e Replicate. SDK para Python, JavaScript/AI SDK e API REST. US$ 0,05/s em 720p com áudio. Também disponível para assinantes do X Premium.</p>
<table tabindex="0">
<thead>
<tr>
<th>Especificação</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr>
<td>Duração nativa do clipe</td>
<td>1-15 segundos</td>
</tr>
<tr>
<td>Duração estendida</td>
<td>Encadeável via API de extensão</td>
</tr>
<tr>
<td>Resolução</td>
<td>480p, 720p</td>
</tr>
<tr>
<td>Imagens de referência</td>
<td>1-7 (referências reais, não o primeiro quadro)</td>
</tr>
<tr>
<td>Tags de prompt</td>
<td><code>&lt;IMAGE_1&gt;</code>, <code>&lt;IMAGE_2&gt;</code>, etc.</td>
</tr>
<tr>
<td>Áudio</td>
<td>Sim (720p)</td>
</tr>
<tr>
<td>Edição de vídeo</td>
<td>Sim (orientada por texto)</td>
</tr>
<tr>
<td>API</td>
<td>API da xAI, fal.ai, Replicate</td>
</tr>
<tr>
<td>Custo da API</td>
<td>US$ 0,05/segundo (720p com áudio)</td>
</tr>
</tbody>
</table>
<h3 id="seedance-2-0-bytedance" tabindex="-1">Seedance 2.0 (ByteDance) <a class="header-anchor" href="#seedance-2-0-bytedance" aria-label="Permalink to &quot;Seedance 2.0 (ByteDance)&quot;"></a></h3>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/W_lxyDFDZt4" title="Seedance 2.0: o novo melhor gerador de vídeos por IA" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="video-caption">O Seedance 2.0 aceita até 12 entradas multimodais simultaneamente e gera vídeos com sincronização nativa de áudio e sincronização labial no nível dos fonemas em mais de 8 idiomas.</div>
<p>O Seedance 2.0 da ByteDance aceita mais entradas de referência do que qualquer outro modelo: até 12 arquivos simultaneamente, incluindo até 9 imagens, 3 vídeos e 3 arquivos de áudio. O modelo oferece geração nativa de áudio e vídeo com sincronização labial no nível dos fonemas em mais de 8 idiomas.</p>
<p>Cada imagem pode ter até 30 MB. Os vídeos de referência devem ter entre 2 e 15 segundos. O modelo usa as referências para definir a aparência dos personagens, o estilo das cenas e orientar os movimentos.</p>
<p>O próximo salto já está programado. A ByteDance anunciou o Seedance 2.5 em sua conferência Volcano Engine FORCE, em 23 de junho de 2026: um único clipe nativo de 30 segundos gerado em uma única etapa e até 50 arquivos de referência multimodais, contra os 12 atuais. O lançamento começará pelo Dreamina e pelo Jimeng, com a API sendo disponibilizada no BytePlus em 16 de julho de 2026. Se for lançado conforme demonstrado, eliminará boa parte da necessidade de unir clipes descrita neste guia.</p>
<p><strong>Disponibilidade:</strong> API oficial da ByteDance (via Volcengine, lançada em fevereiro de 2026) e provedores de API de terceiros. Saída em 480p-720p via API e resolução cinematográfica de até 2K pela plataforma.</p>
<table tabindex="0">
<thead>
<tr>
<th>Especificação</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr>
<td>Duração nativa do clipe</td>
<td>4-15 segundos</td>
</tr>
<tr>
<td>Resolução</td>
<td>Até 2K (cinematográfica)</td>
</tr>
<tr>
<td>Imagens de referência</td>
<td>Até 9 imagens + 3 vídeos + 3 áudios (12 no total)</td>
</tr>
<tr>
<td>Áudio</td>
<td>Nativo com sincronização labial (mais de 8 idiomas)</td>
</tr>
<tr>
<td>API</td>
<td>ByteDance/Volcengine, provedores de terceiros</td>
</tr>
</tbody>
</table>
<h3 id="runway-gen-4-5" tabindex="-1">Runway Gen-4.5 <a class="header-anchor" href="#runway-gen-4-5" aria-label="Permalink to &quot;Runway Gen-4.5&quot;"></a></h3>
<p>O Runway Gen-4.5 estreou no topo do ranking de texto para vídeo da Artificial Analysis, com 1.247 de ELO, à frente do Veo 3 e do Sora 2 Pro na época. Em meados de 2026, a classificação já havia mudado (o Gemini Omni Flash agora lidera), mas o Gen-4.5 continua sendo um modelo de ponta em qualidade cinematográfica e ações controláveis. O modelo gera clipes de 2-10 segundos a partir de texto e permite criar vídeos longos de até um minuto, mantendo a consistência dos personagens por meio de sequenciamento de múltiplas tomadas.</p>
<p>O recurso de imagem para vídeo foi adicionado em janeiro de 2026 e aceita imagens de referência em todas as proporções de tela. O modelo integra campos de radiância neural e Gaussian splatting à arquitetura de difusão, proporcionando uma compreensão geométrica 3D em vez de apenas prever pixels. Isso resulta em maior permanência dos objetos e movimentos fisicamente plausíveis.</p>
<p><strong>Disponibilidade:</strong> API comercial e interface web. SDKs para Node e Python. Também disponível no Replicate.</p>
<table tabindex="0">
<thead>
<tr>
<th>Especificação</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr>
<td>Duração nativa do clipe</td>
<td>2-10 segundos</td>
</tr>
<tr>
<td>Modo de longa duração</td>
<td>Até aproximadamente 1 minuto</td>
</tr>
<tr>
<td>Resolução</td>
<td>Até 1080p</td>
</tr>
<tr>
<td>Imagens de referência</td>
<td>0-1 por geração</td>
</tr>
<tr>
<td>Áudio</td>
<td>Geração nativa de áudio</td>
</tr>
<tr>
<td>Múltiplas tomadas</td>
<td>Sim</td>
</tr>
<tr>
<td>API</td>
<td>Sim (Runway, Replicate)</td>
</tr>
</tbody>
</table>
<h3 id="google-veo-3-1" tabindex="-1">Google Veo 3.1 <a class="header-anchor" href="#google-veo-3-1" aria-label="Permalink to &quot;Google Veo 3.1&quot;"></a></h3>
<p>O Veo 3.1 do Google gera nativamente clipes de 4, 6 ou 8 segundos. O recurso &quot;Estender vídeo&quot; (atualmente em versão preliminar) encadeia clipes para alcançar aproximadamente 1-2,5 minutos, embora a coerência possa se deteriorar em sequências mais longas.</p>
<p>O recurso &quot;Ingredientes para vídeo&quot; aceita até 3 imagens de referência como entrada. Você pode fornecer personagens para animar, cenários e texturas de materiais. Ao usar imagens de referência, o modelo permanece mais fiel às referências visuais e faz menos alterações aleatórias. Uma limitação: o modo de imagens de referência funciona apenas com a opção de duração de 8 segundos.</p>
<p>Em janeiro de 2026, o Veo 3.1 passou a oferecer vídeo vertical (9:16) para gerações baseadas em referências e aumento de resolução para 4K no Vertex AI.</p>
<p><strong>Disponibilidade:</strong> API do Google Vertex AI, API do Gemini e Google Flow. Requer uma conta do Google Cloud.</p>
<table tabindex="0">
<thead>
<tr>
<th>Especificação</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr>
<td>Duração nativa do clipe</td>
<td>4, 6 ou 8 segundos</td>
</tr>
<tr>
<td>Duração estendida</td>
<td>Aproximadamente 1-2,5 minutos</td>
</tr>
<tr>
<td>Resolução</td>
<td>Até 4K (com aumento de resolução)</td>
</tr>
<tr>
<td>Imagens de referência</td>
<td>Até 3 (&quot;Ingredientes para vídeo&quot;)</td>
</tr>
<tr>
<td>Áudio</td>
<td>Diálogos e música sincronizados</td>
</tr>
<tr>
<td>API</td>
<td>Vertex AI, API do Gemini</td>
</tr>
</tbody>
</table>
<h3 id="google-gemini-omni-flash" tabindex="-1">Google Gemini Omni Flash <a class="header-anchor" href="#google-gemini-omni-flash" aria-label="Permalink to &quot;Google Gemini Omni Flash&quot;"></a></h3>
<p>O Google anunciou a família Gemini Omni no I/O de maio de 2026 e lançou o Gemini Omni Flash como seu primeiro modelo. Ele rapidamente conquistou o primeiro lugar na arena da Artificial Analysis, à frente do Veo 3.1. A proposta é a criação conversacional de vídeos: você gera um clipe de 10 segundos a partir de texto, imagens ou vídeo e depois o edita por meio de instruções subsequentes que se complementam. Altere a iluminação, troque uma roupa ou ajuste a câmera, tudo sem precisar gerar o vídeo novamente do zero.</p>
<p>Para referências, o Omni Flash aceita imagens e clipes curtos de vídeo como referências de estilo, movimento e efeitos, com suporte planejado para referências de áudio. A consistência dos personagens é mantida ao longo das edições conversacionais, embora a própria documentação do Google observe que ela pode falhar durante mudanças de cena e movimentos panorâmicos da câmera. Portanto, revise resultados com muitos personagens antes de publicá-los.</p>
<p><strong>Disponibilidade:</strong> A API (<code>gemini-omni-flash-preview</code>) entrou em prévia pública em 30 de junho de 2026 por meio do Google AI Studio e da API do Gemini, por cerca de US$ 0,10 por segundo de vídeo gerado. Todos os clipes incluem uma marca d'água SynthID. O acesso para consumidores ocorre pelo aplicativo Gemini, pelo Google Flow e pelo YouTube Shorts.</p>
<table tabindex="0">
<thead>
<tr>
<th>Especificação</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr>
<td>Duração nativa do clipe</td>
<td>10 segundos (durações maiores estão planejadas)</td>
</tr>
<tr>
<td>Resolução</td>
<td>720p</td>
</tr>
<tr>
<td>Entradas de referência</td>
<td>Imagens + clipes curtos de vídeo (áudio planejado)</td>
</tr>
<tr>
<td>Edição</td>
<td>Conversacional e iterativa</td>
</tr>
<tr>
<td>Áudio</td>
<td>Nativo</td>
</tr>
<tr>
<td>API</td>
<td>API do Gemini (prévia pública), aproximadamente US$ 0,10/s</td>
</tr>
</tbody>
</table>
<h3 id="openai-sora-2-sora-2-pro" tabindex="-1">OpenAI Sora 2 / Sora 2 Pro <a class="header-anchor" href="#openai-sora-2-sora-2-pro" aria-label="Permalink to &quot;OpenAI Sora 2 / Sora 2 Pro&quot;"></a></h3>
<blockquote>
<p><strong>Em processo de descontinuação (2026):</strong> A OpenAI está encerrando o Sora. O aplicativo Sora para consumidores foi fechado em 26 de abril de 2026, e a API do Sora 2 será desativada em 24 de setembro de 2026, sem um sucessor anunciado. Os recursos abaixo ainda são relevantes, mas não crie um novo pipeline com o Sora. Use Kling, Grok Imagine ou um modelo aberto.</p>
</blockquote>
<p>O Sora 2 Pro gera clipes de até 20 segundos. A API de personagens usa uma abordagem diferente da Kling ou da Grok: em vez de enviar imagens estáticas, você cria um <code>character_id</code> apontando a API para um clipe de vídeo (com um intervalo de 1-3 segundos). O Sora analisa os quadros do vídeo para extrair a estrutura facial, as proporções corporais, o estilo das roupas e outras características de identificação. Esse <code>character_id</code> persiste indefinidamente e pode ser reutilizado em um número ilimitado de gerações futuras.</p>
<p>Você pode referenciar até 2 personagens enviados por geração. Desde março de 2026, as referências de personagens também funcionam para objetos e animais, não apenas para pessoas. A extensão de vídeo usa o clipe inicial completo como contexto para a continuação.</p>
<p>O sistema de personagens exige uma entrada de vídeo (não imagens estáticas) para criar os personagens. Se você tiver apenas fotos, precisará primeiro gerar um vídeo curto e depois extrair o personagem dele.</p>
<p><strong>Disponibilidade:</strong> API da OpenAI com suporte à Batch API para fluxos de produção.</p>
<table tabindex="0">
<thead>
<tr>
<th>Especificação</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr>
<td>Duração nativa do clipe</td>
<td>Até 20 segundos</td>
</tr>
<tr>
<td>Resolução</td>
<td>Até 1920x1080</td>
</tr>
<tr>
<td>Referências de personagens</td>
<td>Até 2 por geração (<code>character_id</code> persistente)</td>
</tr>
<tr>
<td>Entrada de personagem</td>
<td>Clipe de vídeo (intervalo de 1-3 s), não imagens estáticas</td>
</tr>
<tr>
<td>Áudio</td>
<td>Sincronizado</td>
</tr>
<tr>
<td>Extensão</td>
<td>Sim (clipe completo como contexto)</td>
</tr>
<tr>
<td>API</td>
<td>API da OpenAI + Batch API</td>
</tr>
</tbody>
</table>
<h3 id="minimax-hailuo-02" tabindex="-1">MiniMax Hailuo 02 <a class="header-anchor" href="#minimax-hailuo-02" aria-label="Permalink to &quot;MiniMax Hailuo 02&quot;"></a></h3>
<p>O Hailuo 02 alcançou a segunda posição global no benchmark da Artificial Analysis durante seu lançamento, superando o Veo 3. Ele gera clipes de 10 segundos em 1080p nativo, com uma das melhores simulações físicas do setor. O modelo lida com movimentos extremos, como ginástica e acrobacias, sem deformar os elementos.</p>
<p>Ele oferece geração de imagem para vídeo com grande consistência dos personagens por meio de reconhecimento facial e rastreamento corporal. A arquitetura Noise-aware Compute Redistribution aloca dinamicamente o poder computacional conforme a complexidade da cena.</p>
<p>Desde então, a MiniMax avançou além do Hailuo 02 com a família Hailuo 2.3 (Standard, Pro, Fast e Fast Pro), que aprimora ações físicas, estilização e microexpressões dos personagens. Ela produz vídeos em 1080p com 6 segundos ou 768p com 10 segundos e está disponível pela plataforma MiniMax e pela fal.ai.</p>
<p><strong>Disponibilidade:</strong> API comercial. Disponível pela plataforma MiniMax, fal.ai e Replicate. US$ 0,28 por vídeo.</p>
<table tabindex="0">
<thead>
<tr>
<th>Especificação</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr>
<td>Duração nativa do clipe</td>
<td>Até 10 segundos</td>
</tr>
<tr>
<td>Resolução</td>
<td>1080p nativo</td>
</tr>
<tr>
<td>Imagens de referência</td>
<td>Sim (modo I2V)</td>
</tr>
<tr>
<td>Áudio</td>
<td>Não nativo</td>
</tr>
<tr>
<td>Física</td>
<td>Simulação líder da categoria</td>
</tr>
<tr>
<td>API</td>
<td>MiniMax, fal.ai, Replicate</td>
</tr>
</tbody>
</table>
<h3 id="luma-ray3-2" tabindex="-1">Luma Ray3.2 <a class="header-anchor" href="#luma-ray3-2" aria-label="Permalink to &quot;Luma Ray3.2&quot;"></a></h3>
<p>O Ray2 da Luma foi substituído pela família Ray3. O Ray3 (setembro de 2025) adicionou o recurso Character Reference para fixar a identidade e um modo Modify de vídeo para vídeo. Já o Ray3.2 (9 de junho de 2026) adicionou controle quadro a quadro com até 16 quadros-chave por clipe, o recurso Reframe, clipes de até 20 segundos e a primeira API pública da linha Ray3. A saída é em 1080p nativo, com 4K disponível por meio do aumento de resolução Hi-Fi. O modo de imagem para vídeo aceita imagens de referência como quadros-chave iniciais ou finais.</p>
<p><strong>Disponibilidade:</strong> API da Luma e interface web.</p>
<table tabindex="0">
<thead>
<tr>
<th>Especificação</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr>
<td>Duração nativa do clipe</td>
<td>Até 20 segundos (Ray3.2)</td>
</tr>
<tr>
<td>Tipo de referência</td>
<td>Quadros-chave iniciais/finais + Character Reference (identidade)</td>
</tr>
<tr>
<td>Resolução</td>
<td>1080p nativo, 4K por aumento de resolução</td>
</tr>
<tr>
<td>Imagens de referência</td>
<td>Sim (quadros-chave + referência de personagem)</td>
</tr>
<tr>
<td>API</td>
<td>API da Luma</td>
</tr>
</tbody>
</table>
<h3 id="pika-2-5" tabindex="-1">Pika 2.5 <a class="header-anchor" href="#pika-2-5" aria-label="Permalink to &quot;Pika 2.5&quot;"></a></h3>
<p>O Pika adota uma abordagem baseada em quadros-chave com o Pikaframes. Envie de 2 a 5 quadros-chave (imagens de referência em momentos importantes), e o modelo gera transições suaves entre eles. A duração total chega a 20-25 segundos.</p>
<p>O Pikascenes aceita até 10 imagens de referência e as combina em um único vídeo. O modelo usa reconhecimento de imagens para identificar automaticamente a função de cada referência (personagem, cenário ou objeto de cena).</p>
<p><strong>Disponibilidade:</strong> Plataforma web e API do Pika. Planos de assinatura do gratuito ao Pro.</p>
<table tabindex="0">
<thead>
<tr>
<th>Especificação</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr>
<td>Duração nativa do clipe</td>
<td>5-10 segundos</td>
</tr>
<tr>
<td>Duração do Pikaframes</td>
<td>20-25 segundos</td>
</tr>
<tr>
<td>Resolução</td>
<td>Até 1080p</td>
</tr>
<tr>
<td>Imagens de referência</td>
<td>Até 10 (Pikascenes), 2-5 quadros-chave (Pikaframes)</td>
</tr>
<tr>
<td>API</td>
<td>Sim</td>
</tr>
</tbody>
</table>
<h2 id="nivel-3-modelos-de-codigo-aberto-para-fluxos-auto-hospedados" tabindex="-1">Nível 3: modelos de código aberto para fluxos auto-hospedados <a class="header-anchor" href="#nivel-3-modelos-de-codigo-aberto-para-fluxos-auto-hospedados" aria-label="Permalink to &quot;Nível 3: modelos de código aberto para fluxos auto-hospedados&quot;"></a></h2>
<p>Esses modelos geram clipes mais curtos, mas são totalmente abertos. Você pode executá-los em seu próprio hardware, fazer ajustes finos e criar pipelines personalizados de extensão sem depender de APIs.</p>
<h3 id="wan-2-1-alibaba" tabindex="-1">Wan 2.1 (Alibaba) <a class="header-anchor" href="#wan-2-1-alibaba" aria-label="Permalink to &quot;Wan 2.1 (Alibaba)&quot;"></a></h3>
<p>O Wan 2.1 é a base sobre a qual vários outros modelos foram desenvolvidos (incluindo o Helios). A arquitetura Wan-VAE codifica e decodifica vídeos em 1080p de qualquer duração, preservando as informações temporais. O modelo possui variantes I2V em 480p e 720p, além de um modelo First-Last-Frame-to-Video, que gera um vídeo entre duas imagens de referência.</p>
<p>O Wan-Edit permite transferir estilo e conteúdo usando imagens de referência, enquanto preserva estruturas específicas ou poses de personagens. O Wan 2.2 (julho de 2025) é a versão aberta mais recente, um modelo Mixture-of-Experts com uma variante de 5B que roda em uma única RTX 4090, ainda sob a licença Apache 2.0. Uma ressalva importante para quem usa hospedagem própria: o Wan tornou-se fechado a partir da versão 2.5. As versões mais recentes Wan 2.5, 2.6 e agora 2.7 (que ocupa a terceira posição na arena com áudio da Artificial Analysis em meados de 2026) adicionaram áudio sincronizado e resolução mais alta, mas estão disponíveis apenas via API, sem pesos públicos. Portanto, a versão 2.2 continua sendo o limite para uso aberto. Ignore as páginas de SEO que afirmam que os pesos do Wan 2.7 podem ser baixados. A organização oficial no GitHub e a conta no Hugging Face chegam apenas à versão 2.2.</p>
<table tabindex="0">
<thead>
<tr>
<th>Especificação</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr>
<td>Parâmetros</td>
<td>1.3B, 5B, 14B (2.1); 5B + 14B MoE (2.2)</td>
</tr>
<tr>
<td>Modos I2V</td>
<td>I2V-480P, I2V-720P, FLF2V-720P</td>
</tr>
<tr>
<td>Limite aberto</td>
<td>Wan 2.2 (as versões 2.5 a 2.7 estão disponíveis apenas via API)</td>
</tr>
<tr>
<td>Licença</td>
<td>Apache 2.0</td>
</tr>
<tr>
<td>Hardware</td>
<td>8 GB ou mais de VRAM (variantes menores)</td>
</tr>
<tr>
<td>Plataformas</td>
<td>Diffusers, ComfyUI</td>
</tr>
</tbody>
</table>
<h3 id="hunyuanvideo-tencent" tabindex="-1">HunyuanVideo (Tencent) <a class="header-anchor" href="#hunyuanvideo-tencent" aria-label="Permalink to &quot;HunyuanVideo (Tencent)&quot;"></a></h3>
<p>O modelo de 13B parâmetros da Tencent liderou a geração de vídeo de código aberto durante a maior parte de 2025. O HunyuanVideo-I2V usa uma técnica de substituição de tokens com um MLLM pré-treinado para incorporar informações de imagens de referência. O HunyuanVideo-1.5, lançado em novembro de 2025, melhorou a eficiência. O HunyuanCustom permite a geração personalizada de vídeos orientada por múltiplas modalidades.</p>
<table tabindex="0">
<thead>
<tr>
<th>Especificação</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr>
<td>Parâmetros</td>
<td>13B</td>
</tr>
<tr>
<td>I2V</td>
<td>Sim (técnica de substituição de tokens)</td>
</tr>
<tr>
<td>Licença</td>
<td>Código aberto</td>
</tr>
<tr>
<td>Hardware</td>
<td>60 GB ou mais de VRAM (720p)</td>
</tr>
<tr>
<td>Variantes</td>
<td>Base, I2V, 1.5, Avatar, Custom</td>
</tr>
</tbody>
</table>
<h3 id="ltx-2-lightricks" tabindex="-1">LTX-2 (Lightricks) <a class="header-anchor" href="#ltx-2-lightricks" aria-label="Permalink to &quot;LTX-2 (Lightricks)&quot;"></a></h3>
<p>A Lightricks disponibilizou o LTX-2 como código aberto em janeiro de 2026, com pesos completos, código de inferência e código de treinamento. Trata-se de um modelo baseado em DiT que gera vídeo e áudio sincronizado juntos em uma única etapa, em 4K nativo e até 50 fps, com clipes de até 20 segundos. Os condicionamentos de imagem para vídeo e por múltiplos quadros-chave são integrados, permitindo fixar imagens de referência em pontos específicos do clipe, como no Pikaframes.</p>
<p>A licença é o ponto delicado — ou não, dependendo do seu porte. O LTX-2 é gratuito para pesquisa e uso comercial por empresas com receita anual inferior a US$ 10 milhões. Acima desse valor, é necessária uma licença comercial. Portanto, estritamente falando, ele possui pesos abertos, mas não é de código aberto. O LTX-2.3, o checkpoint atual, é uma atualização de 22B parâmetros com áudio aprimorado e maior fidelidade aos prompts. Os pesos estão no Hugging Face, com variantes destiladas de 8 etapas, adaptadores LoRA e integrações com ComfyUI e Diffusers. APIs hospedadas estão disponíveis na plataforma LTX, na fal.ai e no Replicate.</p>
<table tabindex="0">
<thead>
<tr>
<th>Especificação</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr>
<td>Parâmetros</td>
<td>22B (LTX-2.3)</td>
</tr>
<tr>
<td>Duração máxima do clipe</td>
<td>Aproximadamente 20 segundos</td>
</tr>
<tr>
<td>Resolução</td>
<td>4K nativo a até 50 fps</td>
</tr>
<tr>
<td>Áudio</td>
<td>Nativo e sincronizado</td>
</tr>
<tr>
<td>I2V</td>
<td>Sim (condicionamento por imagem + múltiplos quadros-chave)</td>
</tr>
<tr>
<td>Licença</td>
<td>LTX-2 Community License (gratuita para receita anual inferior a US$ 10 milhões)</td>
</tr>
<tr>
<td>Hardware</td>
<td>Variantes destiladas e FP8 para GPUs de uso doméstico</td>
</tr>
</tbody>
</table>
<h3 id="cogvideox-tsinghua-zhipu-ai" tabindex="-1">CogVideoX (Tsinghua/Zhipu AI) <a class="header-anchor" href="#cogvideox-tsinghua-zhipu-ai" aria-label="Permalink to &quot;CogVideoX (Tsinghua/Zhipu AI)&quot;"></a></h3>
<p>O CogVideoX usa um VAE causal 3D que reduz o comprimento da sequência e evita cintilações. O transformer com LayerNorm adaptativa melhora o alinhamento entre texto e vídeo. Está disponível nas variantes 2B (Apache 2.0) e 5B (licença de pesquisa), com integração nativa ao Diffusers.</p>
<p>Os clipes têm de 6 a 10 segundos, em 720x480. São curtos, mas a relação entre qualidade e custo computacional é boa, e o modelo roda em uma GPU com 12 GB.</p>
<table tabindex="0">
<thead>
<tr>
<th>Especificação</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr>
<td>Parâmetros</td>
<td>2B, 5B</td>
</tr>
<tr>
<td>I2V</td>
<td>Sim (CogVideoXImageToVideoPipeline)</td>
</tr>
<tr>
<td>Resolução</td>
<td>720x480 a 8 fps</td>
</tr>
<tr>
<td>Licença</td>
<td>Apache 2.0 (2B), Pesquisa (5B)</td>
</tr>
<tr>
<td>Hardware</td>
<td>12 GB de VRAM</td>
</tr>
</tbody>
</table>
<h2 id="primeiro-quadro-vs-referencia-real-a-principal-diferenca" tabindex="-1">Primeiro quadro vs. referência real: a principal diferença <a class="header-anchor" href="#primeiro-quadro-vs-referencia-real-a-principal-diferenca" aria-label="Permalink to &quot;Primeiro quadro vs. referência real: a principal diferença&quot;"></a></h2>
<p>Nem todo suporte a &quot;imagem de referência&quot; funciona da mesma forma. Entender a diferença é essencial para escolher o modelo certo.</p>
<p><strong>Modelos de primeiro quadro</strong> (LongCat, Helios, Hailuo, Luma Ray2, HunyuanVideo) tratam sua imagem como o quadro inicial literal. O modelo cria a animação a partir exatamente desse visual. Você não pode enviar o retrato de um personagem e descrevê-lo em outra cena. A imagem é a cena.</p>
<p><strong>Modelos de referência real</strong> (Kling, Grok Imagine, Seedance, SkyReels V3) extraem a identidade da sua imagem e colocam esse personagem ou objeto em qualquer cena que você descrever. Envie a foto de uma pessoa e use o prompt &quot;essa pessoa caminha por uma floresta ao pôr do sol&quot;. O personagem aparece em um ambiente completamente novo, mas mantém sua identidade. É disso que você precisa para conteúdo narrativo com várias cenas, como um filme de aventura.</p>
<p><strong>Modelos de ID de personagem</strong> (Sora 2 Pro) extraem a identidade de clipes de vídeo, em vez de imagens estáticas. Você cria uma vez um ID de personagem persistente e o reutiliza em um número ilimitado de gerações futuras.</p>
<p><strong>Modelos de estilo/ingredientes</strong> (Veo 3.1) usam imagens de referência para influenciar o estilo visual, as texturas e a aparência geral, em vez de extrair identidades específicas de personagens. São bons para manter a consistência visual ao longo de um projeto, mas menos precisos para controlar personagens individuais.</p>
<h2 id="o-fluxo-de-trabalho-real-para-videos-de-10-minutos" tabindex="-1">O fluxo de trabalho real para vídeos de 10 minutos <a class="header-anchor" href="#o-fluxo-de-trabalho-real-para-videos-de-10-minutos" aria-label="Permalink to &quot;O fluxo de trabalho real para vídeos de 10 minutos&quot;"></a></h2>
<p>Esta é uma avaliação franca da situação em meados de 2026. Nenhum modelo gera de forma confiável 10 minutos de vídeo consistente e de alta qualidade em uma única tentativa. O LongCat Video é o que mais se aproxima, com alegações de até 15 minutos, mas a qualidade e a coerência variam bastante em durações tão longas. O Helios e o SkyReels V2 geram vídeos &quot;na escala de minutos&quot; e de &quot;duração infinita&quot;, respectivamente, mas os resultados exigem prompts cuidadosos e, muitas vezes, várias tentativas.</p>
<p>O fluxo de trabalho que realmente funciona para a maioria dos criadores que produzem vídeos de 5 a 15 minutos combina várias abordagens:</p>
<p><strong>Para conteúdo com apresentador ou avatar:</strong> o modo de 2026 do LongCat Video, orientado por áudio, ou a geração de avatares do SkyReels V3 podem produzir mais de 5 minutos com um personagem falante consistente. É o mais próximo que existe de &quot;apertar um botão e receber um vídeo longo&quot;.</p>
<p><strong>Para conteúdo narrativo com várias cenas (no estilo de filme de aventura):</strong> use Kling 3.0, Grok Imagine ou Seedance 2.0 com imagens de referência reais dos personagens. Gere planos individuais de 10 a 15 segundos. Use as mesmas referências @Element ou <code>&lt;IMAGE&gt;</code> em todas as gerações para manter a identidade dos personagens. Encadeie os planos usando o modo de múltiplos planos (o Kling aceita 6 planos por chamada) ou a API de extensão. O Kling é a opção mais testada em produção para esse fluxo de trabalho. A separação explícita do Grok Imagine entre &quot;modo de referência&quot; e &quot;modo de primeiro quadro&quot; faz dele uma alternativa sólida. O Seedance 2.0 aceita a maior quantidade de entradas de referência (12 arquivos), mas é mais novo e menos comprovado.</p>
<p><strong>Para manter a consistência de personagens em muitos clipes:</strong> o sistema persistente de <code>character_id</code> do Sora 2 Pro é a abordagem mais simples para projetos muito longos. Extraia o personagem uma vez de um vídeo curto e gere dezenas de clipes referenciando esse ID. A identidade do personagem não se degrada com o tempo porque fica armazenada como um embedding persistente, em vez de ser reinterpretada a partir de uma imagem a cada geração.</p>
<p><strong>Para conteúdo com transferência de estilo:</strong> o Lucy Restyle no fal.ai processa vídeos existentes de até 30 minutos, aplicando transformações de estilo por IA enquanto preserva o movimento. Se você já tem a filmagem original, isso elimina completamente o problema de duração da geração. US$ 0,01 por segundo de vídeo original.</p>
<p><strong>Para pipelines de código aberto:</strong> use o Wan 2.1 ou o Helios como base, com um loop de continuação de vídeo. Gere um clipe, use o último quadro como quadro inicial do clipe seguinte e repita. Fluxos de trabalho do ComfyUI automatizam esse processo. A consistência se degrada após muitas iterações, mas a solução é gratuita e controlável.</p>
<p>O principal desafio continua sendo este: mesmo com suporte real a imagens de referência, o desvio do personagem se acumula ao longo de dezenas de clipes. Traços faciais, cabelo, roupas e tom de pele mudam gradualmente. As soluções alternativas — fotos de referência de alta qualidade, prompts consistentes e geração de planos em lotes — são necessárias. Porém, modelos como Kling e Grok Imagine, que separam a identidade do personagem da composição da cena, tornam esse processo muito mais fácil do que os modelos limitados ao primeiro quadro.</p>
<h2 id="a-abordagem-do-esqueleto-3d-renderize-com-baixa-fidelidade-transforme-com-alta-qualidade" tabindex="-1">A abordagem do esqueleto 3D: renderize com baixa fidelidade, transforme com alta qualidade <a class="header-anchor" href="#a-abordagem-do-esqueleto-3d-renderize-com-baixa-fidelidade-transforme-com-alta-qualidade" aria-label="Permalink to &quot;A abordagem do esqueleto 3D: renderize com baixa fidelidade, transforme com alta qualidade&quot;"></a></h2>
<p>Um fluxo de trabalho que vem ganhando espaço contorna quase todos os problemas da geração de vídeos longos. Em vez de pedir a um modelo de IA que gere 10 minutos de vídeo do zero, você renderiza uma cinemática 3D de baixa fidelidade com câmera, marcação de personagens e temporização corretas; depois, processa o resultado em um modelo de vídeo para vídeo usando imagens de referência e um prompt de aprimoramento. O motor 3D cuida da estrutura. A IA cuida da estética.</p>
<p>Isso funciona porque a transformação V2V é um problema mais restrito do que a geração completa. O modelo não precisa inventar o movimento da câmera, o posicionamento dos personagens ou a composição da cena. Ele só precisa fazer a filmagem existente parecer fotorrealista enquanto segue suas referências visuais. Isso é muito mais viável e pode ser dimensionado para qualquer duração que seu motor 3D consiga renderizar.</p>
<h3 id="por-que-isso-funciona" tabindex="-1">Por que isso funciona <a class="header-anchor" href="#por-que-isso-funciona" aria-label="Permalink to &quot;Por que isso funciona&quot;"></a></h3>
<p>Seu motor 3D fornece tudo aquilo com que os modelos de vídeo por IA ainda têm dificuldade: controle preciso da câmera, posicionamento exato dos personagens no quadro, interações físicas corretas e temporização consistente ao longo de minutos de filmagem. Efeitos de dolly zoom, planos de acompanhamento e personagens entrando e saindo do quadro no momento certo são triviais em um motor 3D, mas pouco confiáveis na geração orientada por prompts de texto. A única função do modelo V2V é transformar materiais, iluminação e texturas em um resultado fotorrealista, preservando a geometria e o movimento que você já definiu.</p>
<p>A consistência dos personagens também fica mais fácil. Em vez de combater o desvio de identidade ao longo de 50 gerações separadas por IA, você mostra ao modelo o mesmo personagem 3D em todos os quadros. As imagens de referência indicam ao modelo como esse personagem deve aparecer no resultado final. É um problema mais simples do que gerar do zero um personagem consistente a cada vez.</p>
<p>E a duração deixa de ser uma limitação. O Lucy Restyle processa 30 minutos em uma única chamada. O Wan 2.1 no ComfyUI pode processar qualquer duração em partes. Você deixa de enfrentar o problema de &quot;como gerar 10 minutos&quot;, pois a filmagem já existe.</p>
<h3 id="realmaster-meta-universidade-de-tel-aviv" tabindex="-1">RealMaster (Meta / Universidade de Tel Aviv) <a class="header-anchor" href="#realmaster-meta-universidade-de-tel-aviv" aria-label="Permalink to &quot;RealMaster (Meta / Universidade de Tel Aviv)&quot;"></a></h3>
<p>O RealMaster é um sistema de pesquisa criado especificamente para esse fluxo de trabalho. Publicado em março de 2026 pela Meta Reality Labs e pela Universidade de Tel Aviv, ele transforma vídeos 3D renderizados em vídeos fotorrealistas, mantendo o alinhamento geométrico completo com a fonte.</p>
<p>O método extrai mapas de bordas da renderização 3D para preservar a estrutura e o movimento e, em seguida, aplica um modelo de difusão de vídeo — baseado na arquitetura VACE/Wan — para transformar todo o restante em um resultado fotorrealista. Um adaptador IC-LoRA leve destila o pipeline em uma única passagem de inferência, que não precisa de quadros de ancoragem e consegue lidar com objetos que aparecem no meio da sequência.</p>
<p>Testado em sequências dos simuladores GTA-V e CARLA, o RealMaster supera significativamente as soluções de referência de edição de vídeo de uso geral. Ele também pode adicionar efeitos climáticos por meio do prompt de texto (&quot;Faça chover&quot;, &quot;Faça nevar&quot;) sobre a transformação de realismo. O modelo se generaliza entre simuladores sem novo treinamento. Os pesos treinados com dados do GTA-V funcionam em resultados do CARLA sem nenhum ajuste adicional.</p>
<p><strong>Disponibilidade:</strong> somente para pesquisa. Ainda não há pesos públicos nem API.</p>
<table tabindex="0">
<thead>
<tr>
<th>Especificação</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr>
<td>Entrada</td>
<td>Vídeo 3D renderizado (qualquer motor)</td>
</tr>
<tr>
<td>Saída</td>
<td>Vídeo fotorrealista que preserva geometria e movimento</td>
</tr>
<tr>
<td>Arquitetura</td>
<td>IC-LoRA sobre o backbone de difusão de vídeo VACE/Wan</td>
</tr>
<tr>
<td>Condicionamento</td>
<td>Mapas de bordas da renderização de origem</td>
</tr>
<tr>
<td>Testado em</td>
<td>Simuladores GTA-V e CARLA</td>
</tr>
<tr>
<td>Licença</td>
<td>Não lançado (somente artigo de pesquisa)</td>
</tr>
</tbody>
</table>
<h3 id="ferramentas-v2v-de-producao-disponiveis-atualmente" tabindex="-1">Ferramentas V2V de produção disponíveis atualmente <a class="header-anchor" href="#ferramentas-v2v-de-producao-disponiveis-atualmente" aria-label="Permalink to &quot;Ferramentas V2V de produção disponíveis atualmente&quot;"></a></h3>
<p><strong>Kling 3.0 V2V com referências de elementos</strong> é a opção de produção mais completa. Os endpoints Edit Video e Reference V2V no fal.ai aceitam clipes de vídeo originais de 3 a 10 segundos, além de referências de elementos (<code>@Element1</code>, <code>@Element2</code> com fotos frontais e de vários ângulos) e um prompt de aprimoramento. O modelo analisa as trajetórias de movimento e os padrões de câmera da fonte e, em seguida, regenera a filmagem com as aparências de personagens e o estilo visual especificados, preservando a encenação e o trabalho de câmera originais. Aceita até 7 entradas de referência. A saída é em 1080p. Processe sua cinemática em partes de 10 a 15 segundos, usando as mesmas referências de elementos em todas elas para manter a consistência dos personagens.</p>
<p><strong>Lucy Restyle 2</strong> processa até 30 minutos de vídeo original em uma única chamada de API por US$ 0,01 por segundo de entrada. Ele aceita um prompt de texto e uma imagem de referência opcional para orientar o estilo. Não oferece referências de elementos por personagem como o Kling, mas é o caminho mais simples e barato para transferir o estilo cinematográfico geral de uma renderização 3D completa. Envie sua renderização inteira e um prompt descrevendo o visual desejado. A saída é em 720p, com consistência temporal ao longo de milhares de quadros.</p>
<p><strong>Wan 2.1 VACE no ComfyUI</strong> é a opção de código aberto. O modelo VACE 14B realiza V2V orientado por referência: recebe um vídeo original e uma imagem de referência de estilo e produz uma versão reestilizada que preserva a estrutura e o movimento. O condicionamento por mapas de bordas melhora a fidelidade estrutural. Você pode criar um loop de processamento que lide com qualquer duração em partes, usando referências de estilo consistentes. É gratuito e roda localmente no seu próprio hardware.</p>
<p><strong>Grok Imagine V2V</strong> aceita um vídeo original e de 1 a 7 imagens de referência no modo de referência. Custa US$ 0,05 por segundo em 720p. A separação explícita entre o modo de referência e o modo de primeiro quadro permite que suas referências orientem a aparência dos personagens sem substituir a estrutura do vídeo original.</p>
<h3 id="o-que-sua-renderizacao-3d-precisa-ter" tabindex="-1">O que sua renderização 3D precisa ter <a class="header-anchor" href="#o-que-sua-renderizacao-3d-precisa-ter" aria-label="Permalink to &quot;O que sua renderização 3D precisa ter&quot;"></a></h3>
<p>Existe um nível mínimo de qualidade para a renderização. Uma simples estrutura de arame não fornecerá informações suficientes ao modelo V2V. Por outro lado, você também não precisa de materiais ou iluminação com qualidade de produção.</p>
<p><strong>Proporções e geometria corretas.</strong> Os modelos de personagens precisam ter proporções corporais e estrutura facial aproximadamente corretas para que as imagens de referência sejam mapeadas adequadamente. Uma geometria humanoide básica com proporções corretas é suficiente. Um boneco de palito não produzirá um personagem reconhecível.</p>
<p><strong>Direção básica da iluminação.</strong> Uma única luz direcional que defina a iluminação geral da cena ajuda o modelo a entender a atmosfera pretendida. A IA aprimorará e adicionará detalhes, mas precisa saber se a cena acontece sob a luz intensa do dia ou em um interior escuro.</p>
<p><strong>Movimento suave da câmera.</strong> Movimentos de câmera estáveis e intencionais são bem transferidos. Movimentos irregulares ou extremamente rápidos podem confundir os modelos V2V. Faça sua câmera virtual se comportar como uma câmera real.</p>
<p><strong>Sombreamento plano em vez de estrutura de arame.</strong> Geometria simples com sombreamento plano ou poucos polígonos produz resultados melhores do que estruturas de arame ou modelos sem textura. Até mesmo cores sólidas básicas nas superfícies ajudam o modelo a entender os limites dos materiais.</p>
<h3 id="custo-e-escala" tabindex="-1">Custo e escala <a class="header-anchor" href="#custo-e-escala" aria-label="Permalink to &quot;Custo e escala&quot;"></a></h3>
<p>Processamento de uma cinemática de 10 minutos com diferentes ferramentas:</p>
<table tabindex="0">
<thead>
<tr>
<th>Ferramenta</th>
<th>Duração máxima da entrada</th>
<th>Custo para 10 min</th>
<th>Resolução</th>
<th>Imagens de referência</th>
</tr>
</thead>
<tbody>
<tr>
<td>Kling O3 V2V</td>
<td>Clipes de 10 s</td>
<td>~US$ 50–67</td>
<td>1080p</td>
<td>Até 7 (elementos + estilo)</td>
</tr>
<tr>
<td>Lucy Restyle 2</td>
<td>30 minutos</td>
<td>US$ 6</td>
<td>720p</td>
<td>1 (somente estilo)</td>
</tr>
<tr>
<td>Grok Imagine V2V</td>
<td>Clipes de 10 s</td>
<td>~US$ 30</td>
<td>720p</td>
<td>1–7</td>
</tr>
<tr>
<td>Wan 2.1 VACE</td>
<td>Qualquer duração (em partes)</td>
<td>Gratuito (GPU local)</td>
<td>720p</td>
<td>1 por parte</td>
</tr>
</tbody>
</table>
<p>O Lucy Restyle é a opção mais barata para processamento de vídeos completos. O Kling é o mais preciso para aprimoramentos específicos de personagens usando referências de elementos. O Wan 2.1 é gratuito se você tiver o hardware necessário — cerca de 60 GB de VRAM para o modelo 14B em 720p ou 8 GB para a variante 1.3B com qualidade inferior.</p>
<h2 id="tabela-comparativa" tabindex="-1">Tabela comparativa <a class="header-anchor" href="#tabela-comparativa" aria-label="Permalink to &quot;Tabela comparativa&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Modelo</th>
<th>Duração nativa máxima</th>
<th>Duração estendida</th>
<th>Tipo de referência</th>
<th>Máx. de refs.</th>
<th>Resolução</th>
<th>API disponível</th>
<th>Código aberto</th>
</tr>
</thead>
<tbody>
<tr>
<td>LongCat Video</td>
<td>~15 min</td>
<td>N/D</td>
<td>Somente primeiro quadro</td>
<td>1</td>
<td>720p/30fps</td>
<td>Sim (fal.ai)</td>
<td>Sim (MIT)</td>
</tr>
<tr>
<td>Seaweed APT2</td>
<td>~5 min</td>
<td>N/D</td>
<td>I2V + pose</td>
<td>1</td>
<td>720p</td>
<td>Não</td>
<td>Não</td>
</tr>
<tr>
<td>Helios</td>
<td>Escala de minutos</td>
<td>N/D</td>
<td>Primeiro quadro (I2V)</td>
<td>1</td>
<td>720p</td>
<td>HF Spaces</td>
<td>Sim (Apache 2.0)</td>
</tr>
<tr>
<td>SkyReels V3</td>
<td>Ilimitada</td>
<td>N/D</td>
<td>Referência real</td>
<td>1–4</td>
<td>720p</td>
<td>Não</td>
<td>Sim</td>
</tr>
<tr>
<td><strong>Kling 3.0</strong></td>
<td>15 s</td>
<td>~3 min</td>
<td><strong>Elementos + refs. de estilo</strong></td>
<td><strong>7</strong></td>
<td>1080p</td>
<td>Sim</td>
<td>Não</td>
</tr>
<tr>
<td><strong>Grok Imagine</strong></td>
<td>15 s</td>
<td>Encadeável</td>
<td><strong>Referência real</strong></td>
<td><strong>7</strong></td>
<td>720p</td>
<td>Sim</td>
<td>Não</td>
</tr>
<tr>
<td><strong>Seedance 2.0</strong></td>
<td>15 s</td>
<td>N/D</td>
<td><strong>Refs. multimodais</strong></td>
<td><strong>12</strong></td>
<td>2K</td>
<td>Sim</td>
<td>Não</td>
</tr>
<tr>
<td>Runway Gen-4.5</td>
<td>10 s</td>
<td>~1 min</td>
<td>I2V (0–1)</td>
<td>1</td>
<td>1080p</td>
<td>Sim</td>
<td>Não</td>
</tr>
<tr>
<td>Veo 3.1</td>
<td>8 s</td>
<td>~2,5 min</td>
<td>Ingredientes (estilo)</td>
<td>3</td>
<td>4K</td>
<td>Sim</td>
<td>Não</td>
</tr>
<tr>
<td>Gemini Omni Flash</td>
<td>10 s</td>
<td>Edições conversacionais</td>
<td>Refs. multimodais</td>
<td>Imagens + vídeo</td>
<td>720p</td>
<td>Sim (prévia)</td>
<td>Não</td>
</tr>
<tr>
<td>Sora 2 Pro ⚠️ será descontinuado</td>
<td>20 s</td>
<td>Encadeável</td>
<td>ID de personagem (vídeo)</td>
<td>2</td>
<td>1080p</td>
<td>API será encerrada em set. de 2026</td>
<td>Não</td>
</tr>
<tr>
<td>Hailuo 02</td>
<td>10 s</td>
<td>N/D</td>
<td>I2V (primeiro quadro)</td>
<td>1</td>
<td>1080p</td>
<td>Sim</td>
<td>Não</td>
</tr>
<tr>
<td>Luma Ray3.2</td>
<td>20 s</td>
<td>N/D</td>
<td>Quadros-chave + ref. de personagem</td>
<td>16 quadros-chave</td>
<td>1080p (upscale para 4K)</td>
<td>Sim</td>
<td>Não</td>
</tr>
<tr>
<td>Pika 2.5</td>
<td>10 s</td>
<td>25 s</td>
<td>Pikascenes</td>
<td>10</td>
<td>1080p</td>
<td>Sim</td>
<td>Não</td>
</tr>
<tr>
<td>Wan 2.1</td>
<td>Clipes curtos</td>
<td>Por continuação</td>
<td>I2V / FLF2V</td>
<td>1–2</td>
<td>720p</td>
<td>Via fal.ai</td>
<td>Sim (Apache 2.0)</td>
</tr>
<tr>
<td>HunyuanVideo</td>
<td>Clipes curtos</td>
<td>Por continuação</td>
<td>I2V (primeiro quadro)</td>
<td>1</td>
<td>720p</td>
<td>Via fal.ai</td>
<td>Sim</td>
</tr>
<tr>
<td>LTX-2.3</td>
<td>20 s</td>
<td>Por continuação</td>
<td>I2V + quadros-chave</td>
<td>Vários quadros-chave</td>
<td>4K</td>
<td>Sim (LTX, fal.ai)</td>
<td>Pesos (limitados pela ARR)</td>
</tr>
<tr>
<td>CogVideoX</td>
<td>6–10 s</td>
<td>Por continuação</td>
<td>I2V (primeiro quadro)</td>
<td>1</td>
<td>720x480</td>
<td>Via fal.ai</td>
<td>Sim</td>
</tr>
</tbody>
</table>
<h2 id="o-que-vem-por-ai" tabindex="-1">O que vem por aí <a class="header-anchor" href="#o-que-vem-por-ai" aria-label="Permalink to &quot;O que vem por aí&quot;"></a></h2>
<p>A trajetória ao longo de 2026 é clara. O LongCat Video provou que a geração em escala de minutos e com consistência é possível em um modelo aberto. O Helios mostrou que isso pode acontecer em tempo real. O Seaweed APT2 demonstrou a geração interativa de vídeos longos. E os modelos com referência real (Kling, Grok, Seedance) provaram que a identidade dos personagens pode persistir em cenas completamente diferentes.</p>
<p>O próximo passo é combinar esses recursos: geração nativa de vídeos longos com suporte a referências reais de personagens. Hoje, é preciso escolher entre um ou outro. Quando um modelo puder gerar 5 minutos de vídeo mantendo os personagens das imagens de referência ao longo de dezenas de mudanças de cena, o fluxo de trabalho de encadear clipes se tornará obsoleto. As especificações anunciadas do Seedance 2.5 (clipes nativos de 30 segundos, até 50 arquivos de referência e abertura da API em 16 de julho de 2026) são o primeiro passo concreto nessa direção.</p>
<p>Em meados de julho de 2026, o ranking de texto para vídeo (com áudio) da Artificial Analysis é liderado pelo Gemini Omni Flash, do Google (~1.240 Elo), seguido pelo Seedance 2.0, pelo Wan 2.7 da Alibaba, disponível somente por API, e pelos modelos HappyHorse, com as variantes do Kling 3.0, o SkyReels V4 e o Veo 3.1 logo atrás. O ranking muda com frequência, então considere qualquer classificação isolada como um retrato do momento, e não como uma ordem definitiva.</p>
<p>A abordagem de estrutura 3D oferece uma trajetória paralela. Conforme os modelos V2V melhoram a preservação estrutural e o fotorrealismo, aprimorar renderizações 3D de baixa fidelidade torna-se cada vez mais viável para produções completas. O RealMaster, da Meta, já alcança uma transformação de simulação para realidade com qualidade de pesquisa em imagens geradas por motores de jogos. Quando esse recurso chegar às APIs de produção com suporte a imagens de referência, qualquer pessoa com conhecimentos básicos de 3D poderá produzir vídeos longos fotorrealistas com controle total sobre câmera, composição de cena e posicionamento de personagens, em qualquer duração.</p>
<p>Por enquanto, a resposta prática depende do seu caso de uso:</p>
<p><strong>Melhor para referências de vários personagens:</strong> Kling 3.0 (até 7 referências, com sistemas separados de elementos e estilo) ou Seedance 2.0 (até 12 entradas multimodais, aumentando para 50 quando a API do Seedance 2.5 for disponibilizada em 16 de julho de 2026).</p>
<p><strong>Melhor API para geração de vídeo a partir de referência:</strong> Grok Imagine (API simples, modo de referência explícito, US$ 0,05/s) ou Kling via fal.ai (US$ 0,084–0,112/s).</p>
<p><strong>Melhor para personagens persistentes em muitos clipes:</strong> referências de elementos do Kling 3.0 ou o recurso de referência e extensão do SkyReels V3. (O sistema de ID de personagem do Sora 2 Pro era a abordagem mais simples, mas será descontinuado em 2026; portanto, não inicie novos projetos com ele.)</p>
<p><strong>Melhor opção de código aberto:</strong> SkyReels V3 (de 1 a 4 imagens de referência reais, duração ilimitada) ou Helios (tempo real, Apache 2.0).</p>
<p><strong>Melhor para duração bruta:</strong> LongCat Video (~15 min, mas apenas com o primeiro quadro).</p>
<p><strong>Melhor para aprimorar renderizações 3D:</strong> Kling 3.0 V2V (referências de elementos por personagem, 1080p) ou Lucy Restyle 2 (entrada de 30 min, US$ 0,01/s).</p>
<hr>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="qual-e-o-melhor-modelo-de-video-com-ia-para-videos-longos" tabindex="-1">Qual é o melhor modelo de vídeo com IA para vídeos longos? <a class="header-anchor" href="#qual-e-o-melhor-modelo-de-video-com-ia-para-videos-longos" aria-label="Permalink to &quot;Qual é o melhor modelo de vídeo com IA para vídeos longos?&quot;"></a></h3>
<p>Em termos de duração bruta, o LongCat Video gera cerca de 15 minutos nativamente, embora use apenas o primeiro quadro como referência. Para vídeos longos com personagens consistentes, a resposta prática em 2026 é um fluxo de trabalho de referência e extensão: gere clipes com um modelo que tenha bom suporte a referências (Kling 3.0, Runway Gen-4.5 ou o SkyReels V3 de código aberto) e depois os encadeie. Nenhum modelo consegue, sozinho, gerar vídeos longos e preservar perfeitamente a identidade dos personagens; por isso, a maioria dos trabalhos de produção combina essas abordagens.</p>
<h3 id="quais-modelos-de-video-com-ia-oferecem-suporte-a-imagens-de-referencia" tabindex="-1">Quais modelos de vídeo com IA oferecem suporte a imagens de referência? <a class="header-anchor" href="#quais-modelos-de-video-com-ia-oferecem-suporte-a-imagens-de-referencia" aria-label="Permalink to &quot;Quais modelos de vídeo com IA oferecem suporte a imagens de referência?&quot;"></a></h3>
<p>Entre as opções comerciais, Kling 3.0 Omni, Runway Gen-4.5, Seedance 2.0, Google Veo 3.1 e Gemini Omni Flash oferecem suporte a imagens de referência. No segmento de código aberto, SkyReels V2/V3, Wan 2.1 e LTX-2 aceitam entradas de referência e podem ser executados por conta própria. A qualidade do suporte varia muito, por isso o guia acima os divide em categorias.</p>
<h3 id="a-ia-consegue-gerar-um-personagem-consistente-ao-longo-de-um-video" tabindex="-1">A IA consegue gerar um personagem consistente ao longo de um vídeo? <a class="header-anchor" href="#a-ia-consegue-gerar-um-personagem-consistente-ao-longo-de-um-video" aria-label="Permalink to &quot;A IA consegue gerar um personagem consistente ao longo de um vídeo?&quot;"></a></h3>
<p>Sim, mas não de uma só vez. A abordagem confiável é fixar um personagem com uma ou mais imagens de referência, gerar clipes curtos e estendê-los ou uni-los, reutilizando as mesmas referências. O suporte a referências reais (em que o modelo preserva a identidade em novas gerações) é muito mais importante nesse caso do que o condicionamento pelo primeiro quadro, que apenas define o quadro inicial.</p>
<h3 id="qual-e-a-diferenca-entre-o-suporte-ao-primeiro-quadro-e-o-suporte-a-imagens-de-referencia-reais" tabindex="-1">Qual é a diferença entre o suporte ao primeiro quadro e o suporte a imagens de referência reais? <a class="header-anchor" href="#qual-e-a-diferenca-entre-o-suporte-ao-primeiro-quadro-e-o-suporte-a-imagens-de-referencia-reais" aria-label="Permalink to &quot;Qual é a diferença entre o suporte ao primeiro quadro e o suporte a imagens de referência reais?&quot;"></a></h3>
<p>O condicionamento pelo primeiro quadro usa sua imagem como o quadro inicial literal do clipe, mas a geração vai se desviando dela conforme o vídeo avança. O suporte a referências reais trata a imagem como uma âncora de identidade que o modelo respeita durante toda a geração, mantendo um personagem ou estilo consistente ao longo do clipe e entre clipes separados. A seção acima detalha quais modelos usam cada abordagem.</p>
<hr>
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/frontier-gen-ai-models.html">Modelos generativos de IA de código aberto de ponta</a> — guia prático sobre IA generativa de código aberto para vídeo, imagem, 3D, áudio e muito mais</li>
<li><a href="/pt-BR/guides/ai-asset-generators-games.html">Geradores de assets com IA para jogos</a> — arte, modelos e áudio a partir de um prompt</li>
<li><a href="/pt-BR/guides/ai-music-generators-games.html">Melhores geradores de música com IA para jogos</a> — crie a trilha sonora do seu jogo com música gerada por IA</li>
<li><a href="/pt-BR/tools/video.html">Gerador de vídeos</a> — nossa ferramenta de geração de vídeos com tecnologia Kling 3.0 Pro</li>
<li><a href="/pt-BR/blog/2026-03-04-sketch-to-animated-3d-character.html">Como transformar um esboço em um personagem 3D animado</a> — como usar a geração de imagens e vídeos para animar personagens</li>
</ul>
<BuildCta
  title="Transforme a cena em algo jogável, em vez de renderizado"
  desc="Evite a fila de renderização e percorra a cena ao vivo."
  prompt="Crie uma cidade neon pela qual eu possa dirigir à noite" />
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/long-reference-video-models.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Geração de paisagens com LOD dinâmico e streaming para mundos abertos no navegador]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/landscape-generation-browser</link>
            <guid>https://app.cinevva.com/pt-BR/guides/landscape-generation-browser</guid>
            <pubDate>Sun, 22 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Além de mapas de altura e funções de ruído. Geração de terreno fisicamente correta, representações volumétricas, síntese baseada em difusão e pipelines de renderização orientados por GPU para mundos abertos no navegador.]]></description>
            <content:encoded><![CDATA[<h1 id="geracao-de-paisagens-com-lod-dinamico-e-streaming-para-mundos-abertos-no-navegador" tabindex="-1">Geração de paisagens com LOD dinâmico e streaming para mundos abertos no navegador <a class="header-anchor" href="#geracao-de-paisagens-com-lod-dinamico-e-streaming-para-mundos-abertos-no-navegador" aria-label="Permalink to &quot;Geração de paisagens com LOD dinâmico e streaming para mundos abertos no navegador&quot;"></a></h1>
<p>Mapas de altura com ruído Perlin são o ponto de partida padrão para terrenos procedurais. Sobreponha algumas oitavas de fBm, aplique um gradiente de cores e você terá algo que se parece com um terreno. Todo tutorial termina aqui. Mas paisagens reais não se parecem com camadas de ruído. Elas têm vales fluviais escavados pela água, paredões moldados por fraturas de tensão, cavernas e arcos formados pela erosão ao longo de milhões de anos. Elas têm texturas correlacionadas (grama em terreno plano, rocha em encostas íngremes, neve acima da linha das árvores) que surgem dos mesmos processos físicos que moldaram a geometria.</p>
<p>Este guia aborda o que vem depois do ruído. Métodos de geração fundamentados na física, representações volumétricas compatíveis com cavernas e saliências, síntese neural de terreno baseada em difusão e os pipelines de LOD e streaming orientados por GPU necessários para renderizar tudo isso em uma aba do navegador a 60 fps.</p>
<p>Tudo aqui é voltado para nossa restrição específica: um mundo aberto multijogador executado em WebGL 2 / WebGPU, transmitido pela rede e editável por criadores.</p>
<h2 id="por-que-mapas-de-altura-nao-sao-suficientes" tabindex="-1">Por que mapas de altura não são suficientes <a class="header-anchor" href="#por-que-mapas-de-altura-nao-sao-suficientes" aria-label="Permalink to &quot;Por que mapas de altura não são suficientes&quot;"></a></h2>
<p>Um mapa de altura armazena um valor de altura por ponto da grade. É uma função 2D: dados (x, z), retorna y. Essa representação é compacta, adequada para GPU e rápida de renderizar. Mas ela tem limitações fundamentais que importam em um mundo voltado para criadores.</p>
<p><strong>Sem cavernas nem saliências.</strong> Um mapa de altura não consegue representar um terreno em que um ponto tenha duas alturas diferentes. Cavernas, arcos, saliências rochosas, túneis e ilhas flutuantes são todos impossíveis. Minecraft, No Man's Sky e Deep Rock Galactic precisam de terreno volumétrico por esse motivo.</p>
<p><strong>Sem elementos verticais.</strong> Um paredão vertical em um mapa de altura é uma inclinação quase infinita, o que causa estiramento extremo de texturas e artefatos de colisão. Paredões reais têm elementos horizontais (saliências, fendas) que um mapa de altura não consegue representar.</p>
<p><strong>Ruído parece ruído.</strong> Mesmo com 8 oitavas de fBm e deformação de domínio, o terreno mantém uma aparência sintética. Falta a estrutura direcional da geologia real: linhas de crista, redes de drenagem, depósitos de sedimentos e dobras tectônicas. Esses padrões surgem de processos físicos, não de funções de ruído.</p>
<p><strong>As edições dos criadores são limitadas.</strong> Se os criadores só puderem modificar alturas, não poderão escavar túneis, criar cavernas nem construir espaços subterrâneos. Para um mundo que os criadores possam realmente moldar, a representação do terreno precisa permitir tanto subtração quanto adição.</p>
<p>A solução não é abandonar completamente os mapas de altura. Eles continuam sendo a melhor representação para os 90% do terreno que consistem em uma superfície simples. A solução é uma abordagem híbrida: terreno-base com mapa de altura e sobreposições volumétricas onde geometrias complexas forem necessárias, geração fisicamente correta para formas de relevo realistas e síntese neural para alcançar a diversidade que o ruído não consegue oferecer.</p>
<h2 id="a-resposta-rapida-o-que-realmente-construiriamos" tabindex="-1">A resposta rápida: o que realmente construiríamos <a class="header-anchor" href="#a-resposta-rapida-o-que-realmente-construiriamos" aria-label="Permalink to &quot;A resposta rápida: o que realmente construiríamos&quot;"></a></h2>
<p>Antes do aprofundamento, este é o modelo de decisão. O restante do artigo explica cada parte.</p>
<h3 id="representacao-do-terreno" tabindex="-1">Representação do terreno <a class="header-anchor" href="#representacao-do-terreno" aria-label="Permalink to &quot;Representação do terreno&quot;"></a></h3>
<p>Use um sistema híbrido de <strong>mapa de altura + SDF</strong>. O mapa de altura cobre o mundo inteiro (é barato, compacto e comprovado). Volumes SDF existem apenas onde cavernas, saliências ou elementos escavados por criadores os exigem (talvez 5–10% dos chunks). Isso mantém 90% do mundo com o custo de um mapa de altura, permitindo geometria arbitrária onde necessário.</p>
<h3 id="pipeline-de-geracao" tabindex="-1">Pipeline de geração <a class="header-anchor" href="#pipeline-de-geracao" aria-label="Permalink to &quot;Pipeline de geração&quot;"></a></h3>
<p>Execute no servidor como um processo encadeado:</p>
<ol>
<li><strong>Terrain Diffusion</strong> (ou MESA para prompts de texto) gera o mapa de altura-base a partir de uma seed. Isso substitui o ruído por formas de relevo geologicamente realistas, treinadas com dados reais de elevação.</li>
<li><strong>Erosão analítica</strong> (lei da potência do escoamento) refina o mapa de altura com redes fluviais e linhas de crista em milissegundos.</li>
<li><strong>TerraFusion ou Geodiffussr</strong> gera texturas correlacionadas a partir do mapa de altura (ou use regras procedurais de inclinação/altitude como alternativa para WebGL 2).</li>
<li><strong>Simulação de ecossistema</strong> produz mapas de densidade da vegetação.</li>
<li><strong>Erosão no estilo Arenite</strong> gera volumes SDF para paredões, arcos e cavernas onde o terreno os exigir.</li>
<li><strong>Divida em chunks, compacte e envie para a CDN.</strong> Chunk médio: 2–8 KB. Chunk complexo com dados volumétricos: 20–100 KB.</li>
</ol>
<p>Os criadores interagem com esse pipeline ajustando parâmetros (&quot;mais úmido&quot;, &quot;mais montanhoso&quot;, &quot;adicionar cavernas&quot;), esboçando suas intenções ou esculpindo diretamente com pincéis e ferramentas SDF.</p>
<h3 id="estrategia-de-lod" tabindex="-1">Estratégia de LOD <a class="header-anchor" href="#estrategia-de-lod" aria-label="Permalink to &quot;Estratégia de LOD&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Recursos do navegador</th>
<th>LOD do mapa de altura</th>
<th>LOD volumétrico</th>
<th>LOD da vegetação</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>WebGPU</strong></td>
<td>Quadtree orientada por GPU (CDLOD) com descarte via compute + desenho indireto</td>
<td>SDF multirresolução com marching cubes via compute + Transvoxel</td>
<td>ComputeInstanceCulling com desenho indireto</td>
</tr>
<tr>
<td><strong>WebGL 2</strong></td>
<td>Geometry clipmaps com atualizações dos anéis pela CPU</td>
<td>Malhas pré-geradas em 2–3 níveis de LOD, armazenadas em cache</td>
<td>Descarte de frustum pela CPU, InstancedMesh</td>
</tr>
</tbody>
</table>
<p>Ambos os caminhos usam geomorphing no shader de vértice para transições sem pop-in. Ambos usam impostores em billboard para vegetação distante. O caminho WebGPU é mais rápido (orçamento de 3,5 ms para o terreno), mas o caminho WebGL 2 é viável (6,5 ms).</p>
<h3 id="streaming" tabindex="-1">Streaming <a class="header-anchor" href="#streaming" aria-label="Permalink to &quot;Streaming&quot;"></a></h3>
<p>Carregamento progressivo: primeiro a geometria do terreno (&lt;100 ms), depois as texturas (&lt;300 ms), em seguida a vegetação (&lt;1 s) e, por fim, os dados volumétricos (❤️ s). Pré-busca com base na velocidade do jogador. Orçamento de memória: 256 MB no total para o terreno.</p>
<h3 id="edicao" tabindex="-1">Edição <a class="header-anchor" href="#edicao" aria-label="Permalink to &quot;Edição&quot;"></a></h3>
<p>Pincéis de mapa de altura para esculpir a superfície (elevar, rebaixar, suavizar, erodir). Primitivas SDF para edição volumétrica (escavar cavernas, adicionar arcos). Ambas são instantâneas localmente, sincronizam com o servidor em 100–300 ms e são transmitidas aos demais jogadores por atualizações delta.</p>
<h3 id="o-que-construir-e-em-qual-ordem" tabindex="-1">O que construir e em qual ordem <a class="header-anchor" href="#o-que-construir-e-em-qual-ordem" aria-label="Permalink to &quot;O que construir e em qual ordem&quot;"></a></h3>
<p><strong>Meses 1–2: terreno com mapa de altura e geometry clipmaps.</strong> Apenas WebGL 2. Streaming a partir da CDN. Materiais procedurais baseados em inclinação/altitude. Isso coloca o terreno na tela em qualquer navegador. Use ruído + erosão analítica para a geração (Terrain Diffusion pode esperar).</p>
<p><strong>Meses 3–4: vegetação e atmosfera.</strong> Grama e árvores instanciadas pela GPU a partir de mapas de densidade. Céu procedural com ciclo de dia e noite. Névoa atmosférica. Mapas de sombras em cascata. O mundo começa a parecer um lugar de verdade.</p>
<p><strong>Meses 5–6: edição por criadores.</strong> Ferramentas de pincel para mapas de altura. Sincronização baseada em deltas para edições multijogador do terreno. Bloqueio espacial para edição simultânea. É quando os criadores começam a moldar o mundo.</p>
<p><strong>Meses 7–9: terreno volumétrico e caminho WebGPU.</strong> Sobreposições SDF para cavernas e saliências. Marching cubes em compute no WebGPU. Transvoxel para limites entre LODs. Ferramentas de escultura SDF. Isso libera o conjunto completo de ferramentas de criação.</p>
<p><strong>Meses 10–12: geração neural e refinamento.</strong> Terrain Diffusion ou MESA para o mapa de altura-base. TerraFusion/Geodiffussr para texturas. Ruído phasor para microdetalhes. Ladrilhamento hexagonal para evitar repetições. Texturização virtual. Mesclagem laplaciana. O terreno atinge qualidade de produção.</p>
<p>Essa ordem significa que haverá algo jogável após 2 meses, algo bonito após 4, algo editável após 6 e algo de última geração após 12.</p>
<p>O restante deste artigo apresenta a pesquisa por trás de cada decisão.</p>
<h2 id="representacoes-de-terreno-alem-de-mapas-de-altura" tabindex="-1">Representações de terreno além de mapas de altura <a class="header-anchor" href="#representacoes-de-terreno-alem-de-mapas-de-altura" aria-label="Permalink to &quot;Representações de terreno além de mapas de altura&quot;"></a></h2>
<h3 id="campos-de-distancia-com-sinal-sdfs" tabindex="-1">Campos de distância com sinal (SDFs) <a class="header-anchor" href="#campos-de-distancia-com-sinal-sdfs" aria-label="Permalink to &quot;Campos de distância com sinal (SDFs)&quot;"></a></h3>
<p>Um campo de distância com sinal armazena, em cada ponto do espaço 3D, a distância até a superfície mais próxima. Valores positivos ficam do lado de fora, valores negativos ficam do lado de dentro e o cruzamento por zero representa a própria superfície. SDFs representam formas 3D arbitrárias, incluindo cavernas, arcos e geometrias flutuantes.</p>
<p>Para renderizar um SDF como malha, você executa marching cubes (ou uma variante) para extrair o cruzamento por zero como triângulos. A resolução da malha depende da resolução da grade: uma grade SDF de 256x256x256 produz um terreno que cobre aproximadamente um chunk com resolução de 1 metro.</p>
<p><strong>Implementação no navegador:</strong> marching cubes em WebGPU é executado inteiramente na GPU por meio de shaders compute. A implementação <a href="https://www.willusher.io/webgpu-marching-cubes/" target="_blank" rel="noreferrer">webgpu-marching-cubes</a> de Will Usher processa uma grade 256^3 em tempo real no navegador, alcançando desempenho de nível nativo. O algoritmo é altamente paralelizável (cada célula é processada de forma independente), o que o torna ideal para compute na GPU.</p>
<div class="language-wgsl vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">wgsl</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">@</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">compute</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> @</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">workgroup_size</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">4</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">4</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">4</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">fn</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> marchingCubes</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">@</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">builtin</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(global_invocation_id) id: </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">vec3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">u32</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>) {</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> sdfValues </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> sampleSDF</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(id);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> caseIndex </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> classifyCell</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(sdfValues);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (caseIndex </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">==</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 0u</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> ||</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> caseIndex </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">==</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 255u</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">) { </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">; }</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> triangles </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> lookupTriangulation</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(caseIndex);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> vertices </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> interpolateEdges</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(sdfValues, triangles);</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">    appendToMeshBuffer</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(vertices);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre>
</div><p><strong>Custo de armazenamento:</strong> um SDF 256^3 com precisão quantizada de 8 bits ocupa 16 MB sem compactação. Mas a maior parte do volume está vazia (longe da superfície). A codificação run-length ou o armazenamento em octree esparsa normalmente reduz isso para 100–500 KB por chunk, um valor comparável ao terreno com mapa de altura.</p>
<p><strong>Edição:</strong> terrenos SDF são naturalmente editáveis. Adicionar material é uma operação <code>min()</code> no campo de distância. Remover material (escavar) é uma operação <code>max()</code> com uma forma negada. A mesclagem suave entre formas usa <code>smoothMin()</code>. Essas operações são executadas em um shader compute em taxas interativas.</p>
<h3 id="contorno-dual" tabindex="-1">Contorno dual <a class="header-anchor" href="#contorno-dual" aria-label="Permalink to &quot;Contorno dual&quot;"></a></h3>
<p>Marching cubes posiciona vértices nas arestas da grade, o que produz superfícies suaves, mas perde elementos pontiagudos (bordas de paredões, cantos de rochas). O contorno dual posiciona um vértice por célula na posição que melhor representa a superfície dentro dela, preservando arestas e cantos bem definidos.</p>
<p>O algoritmo precisa tanto dos valores do campo de distância quanto das normais da superfície (o gradiente do SDF) em cada ponto da grade. Ele resolve um pequeno problema de mínimos quadrados por célula para encontrar a posição ideal do vértice. O resultado é uma malha que representa tanto terrenos suaves quanto elementos rochosos bem definidos.</p>
<p><strong>Neural Dual Contouring</strong> (Chen et al., 2022, <a href="https://arxiv.org/abs/2202.01999" target="_blank" rel="noreferrer">arXiv:2202.01999</a>) substitui o solucionador de mínimos quadrados por uma rede neural que prevê posições ideais dos vértices e cruzamentos de arestas. Ele alcança maior precisão na reconstrução de superfícies e na preservação de elementos, especialmente em formações rochosas naturais complexas.</p>
<h3 id="o-algoritmo-transvoxel" tabindex="-1">O algoritmo Transvoxel <a class="header-anchor" href="#o-algoritmo-transvoxel" aria-label="Permalink to &quot;O algoritmo Transvoxel&quot;"></a></h3>
<p>O problema mais difícil do terreno volumétrico não é gerar a malha. São as transições de LOD. Quando um chunk de alta resolução fica ao lado de um chunk de baixa resolução, as malhas não se alinham no limite, criando fissuras visíveis.</p>
<p>O algoritmo Transvoxel, criado por Eric Lengyel (<a href="https://transvoxel.org/" target="_blank" rel="noreferrer">transvoxel.org</a>), resolve isso inserindo células especiais de transição ao longo dos limites entre resoluções. Essas células fazem a ponte entre as diferentes resoluções com triângulos adicionais que correspondem exatamente aos dois lados. O algoritmo reduz o complexo problema dos limites a 73 classes de equivalência (em comparação com cerca de 1,2 milhão de casos em uma abordagem de força bruta).</p>
<p>O Transvoxel foi projetado especificamente para aplicações em tempo real nas quais os dados de voxel mudam dinamicamente (edições de criadores, erosão, mineração). Ele não é patenteado e já foi usado em jogos lançados (Space Engineers, Astroneer). Para um mundo no navegador com terreno volumétrico editável, o Transvoxel é a solução de LOD.</p>
<h3 id="hibrido-mapa-de-altura-base-sobreposicoes-volumetricas" tabindex="-1">Híbrido: mapa de altura-base + sobreposições volumétricas <a class="header-anchor" href="#hibrido-mapa-de-altura-base-sobreposicoes-volumetricas" aria-label="Permalink to &quot;Híbrido: mapa de altura-base + sobreposições volumétricas&quot;"></a></h3>
<p>A abordagem prática para um mundo aberto no navegador é um sistema em camadas:</p>
<p><strong>Camada 1: terreno com mapa de altura</strong> cobre o mundo inteiro. Essa é a representação barata e compacta para colinas onduladas, vales e montanhas. Ela é transmitida como pequenos fragmentos de mapa de altura por chunk (2–4 KB cada). A renderização usa geometry clipmaps com custo constante para a GPU.</p>
<p><strong>Camada 2: sobreposições volumétricas</strong> existem apenas nos chunks em que geometrias complexas são necessárias. Cavernas, paredões, arcos, túneis escavados por criadores e espaços subterrâneos são armazenados como volumes SDF esparsos. Apenas chunks com dados volumétricos incorrem no custo de armazenamento de SDF e de marching cubes.</p>
<p><strong>Camada 3: modificações dos criadores</strong> são armazenadas como edições SDF sobre as camadas-base. Quando um criador escava um túnel, a forma SDF desse túnel é armazenada. O sistema de renderização combina a superfície do mapa de altura com subtrações e adições volumétricas para produzir a malha final.</p>
<p>Esse sistema híbrido custa quase nada em terrenos planos (apenas o mapa de altura) e escala somente onde há complexidade. Em um mundo típico, talvez apenas 5–10% dos chunks precisem de dados volumétricos.</p>
<h2 id="geracao-de-terreno-fisicamente-correta" tabindex="-1">Geração de terreno fisicamente correta <a class="header-anchor" href="#geracao-de-terreno-fisicamente-correta" aria-label="Permalink to &quot;Geração de terreno fisicamente correta&quot;"></a></h2>
<p>O ruído produz terrenos aleatórios. A física produz terrenos realistas. A diferença é visível: terrenos baseados em ruído não têm estrutura (são irregularmente acidentados em toda parte), enquanto terrenos físicos têm redes fluviais, linhas de crista, leques aluviais e faixas de paredões que surgem da erosão e da tectônica.</p>
<h3 id="erosao-hidraulica-a-base" tabindex="-1">Erosão hidráulica: a base <a class="header-anchor" href="#erosao-hidraulica-a-base" aria-label="Permalink to &quot;Erosão hidráulica: a base&quot;"></a></h3>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/eaXk97ujbPQ" title="Aventura de programação: erosão hidráulica" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="game-caption">A implementação de erosão hidráulica de Sebastian Lague em ação. Gotas de chuva simuladas descem o terreno, erodem material conforme a velocidade e a inclinação e depositam sedimentos quando a velocidade diminui — transformando ruído plano em vales fluviais, linhas de crista e leques aluviais.</div>
<p>A água flui para baixo, recolhe sedimentos e os deposita quando perde velocidade. Esse único processo, simulado ao longo de milhões de anos virtuais, transforma ruído sem características marcantes em terrenos com formações geológicas reconhecíveis.
A abordagem baseada em partículas lança gotas de chuva simuladas sobre o mapa de alturas. Cada gota flui encosta abaixo (seguindo o gradiente), erode material de acordo com a velocidade e a inclinação, transporta sedimentos como carga dissolvida e deposita esses sedimentos quando a velocidade diminui ou a capacidade é excedida. Após 200.000 a 500.000 partículas, o terreno desenvolve:</p>
<ul>
<li><strong>Vales fluviais</strong> que seguem o caminho de maior fluxo de água</li>
<li><strong>Linhas de crista</strong> que separam bacias hidrográficas</li>
<li><strong>Leques aluviais</strong> onde vales íngremes se abrem em planícies</li>
<li><strong>Vales em V</strong> em terrenos montanhosos e em U em terrenos glaciais</li>
</ul>
<p><strong>Implementação na GPU:</strong> A simulação de partículas pode ser paralelizada. Cada partícula é independente (a aproximação ignora a interação entre partículas, o que é aceitável para erosão). Um shader de computação WebGPU processa 10.000 partículas por quadro a 60 fps, concluindo 200.000 partículas em cerca de 3 segundos em tempo real.</p>
<p>A implementação de código aberto de Sebastian Lague (<a href="https://github.com/SebLague/Hydraulic-Erosion" target="_blank" rel="noreferrer">GitHub</a>) é o ponto de partida padrão. Ela é executada em uma única thread em C# e processa um mapa de alturas de 1024x1024 em poucos segundos. A versão para GPU é de 50 a 100 vezes mais rápida.</p>
<h3 id="erosao-termica" tabindex="-1">Erosão Térmica <a class="header-anchor" href="#erosao-termica" aria-label="Permalink to &quot;Erosão Térmica&quot;"></a></h3>
<p>A água não é a única força de erosão. Mudanças de temperatura fazem a rocha rachar e se fragmentar (intemperismo térmico). Quando a inclinação entre dois pontos do terreno excede o ângulo de repouso de um material, o material cai do ponto mais alto para o mais baixo. Isso produz:</p>
<ul>
<li><strong>Encostas de tálus</strong> na base de penhascos (acúmulos de rochas que caíram)</li>
<li><strong>Linhas de crista suavizadas</strong> ao longo do tempo</li>
<li><strong>Perfis dependentes do material</strong> (rochas duras mantêm encostas íngremes, enquanto solos macios desmoronam em ângulos suaves)</li>
</ul>
<p>A erosão térmica é mais simples que a erosão hidráulica. É uma operação local: para cada célula, compare a diferença de altura com as células vizinhas. Se a inclinação exceder o limite, mova o material encosta abaixo. Ela é executada como uma única passagem de shader de computação por iteração e converge em 50 a 100 iterações.</p>
<p>Combinar erosão hidráulica e térmica produz terrenos com aparência muito mais natural do que qualquer uma delas isoladamente. A água esculpe vales; a erosão térmica suaviza as cristas entre eles e preenche o fundo dos vales com detritos.</p>
<h3 id="a-lei-da-potencia-do-fluxo-erosao-analitica" tabindex="-1">A Lei da Potência do Fluxo: Erosão Analítica <a class="header-anchor" href="#a-lei-da-potencia-do-fluxo-erosao-analitica" aria-label="Permalink to &quot;A Lei da Potência do Fluxo: Erosão Analítica&quot;"></a></h3>
<p>Pesquisas recentes oferecem uma alternativa à simulação baseada em partículas. A lei da potência do fluxo (uma equação geomorfológica que relaciona a taxa de erosão à área de drenagem e à inclinação) pode ser resolvida analiticamente, em vez de simulada de forma iterativa.</p>
<p>Cordonnier et al. (2024, <a href="https://hal.science/hal-04525371" target="_blank" rel="noreferrer">HAL</a>) combinam a lei analítica da potência do fluxo com processos de deslizamento de terra e difusão de encostas. O resultado é uma geração de terreno fundamentada na física, mas executada como uma função matemática, em vez de uma simulação temporal. Você fornece um mapa de alturas baseado em ruído e parâmetros (taxa de precipitação, dureza da rocha, taxa de soerguimento tectônico) e obtém um terreno erodido em milissegundos.</p>
<p>Essa abordagem analítica é ideal para um mundo no navegador porque é executada uma única vez no servidor durante a geração do terreno, e não de forma iterativa. Os parâmetros podem ser ajustados pelos criadores (&quot;deixe esta região mais montanhosa&quot; ajusta a taxa de soerguimento; &quot;deixe-a mais úmida&quot; aumenta a precipitação e aprofunda os vales).</p>
<h3 id="arenite-erosao-multifisica-siggraph-2025" tabindex="-1">Arenite: Erosão Multifísica (SIGGRAPH 2025) <a class="header-anchor" href="#arenite-erosao-multifisica-siggraph-2025" aria-label="Permalink to &quot;Arenite: Erosão Multifísica (SIGGRAPH 2025)&quot;"></a></h3>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/pl_GdrBSAmA" title="Arenite: um simulador de arenito baseado em física (SIGGRAPH 2025)" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="game-caption">O Arenite simula tensão, erosão eólica, erosão fluvial e deposição de partículas para gerar arcos, chaminés de fada e morros-testemunho a partir de rochas estratificadas. A geração no servidor produz volumes SDF que alimentam diretamente um pipeline de marching cubes.</div>
<p>O Arenite (<a href="https://jango6324.github.io/arenite/" target="_blank" rel="noreferrer">Página do projeto</a>) é um simulador de arenito baseado em física que gera arcos, alcovas, chaminés de fada e morros-testemunho a partir de condições iniciais simples. Os usuários pintam mapas de erodibilidade (camadas de rocha macia e rocha dura) e vegetação; depois, o sistema simula:</p>
<ul>
<li><strong>Distribuição de tensão</strong> pela coluna rochosa</li>
<li><strong>Erosão eólica</strong> que remove preferencialmente o material macio exposto</li>
<li><strong>Erosão fluvial</strong> causada pelo fluxo de água</li>
<li><strong>Deposição de partículas</strong> que cria novas formações</li>
</ul>
<p>A implementação na GPU é executada em menos de 5 minutos para formações complexas em uma GPU de desktop. Embora isso seja lento demais para uso em tempo real no navegador, é rápido o suficiente para geração no servidor. Um criador poderia definir uma face de penhasco com camadas de rocha macia e dura e obter uma formação de arco realista em poucos minutos.</p>
<p>A saída é um campo de voxels 3D, que se encaixa diretamente em nosso pipeline de SDF/marching cubes.</p>
<h3 id="erosao-flexivel-em-diferentes-representacoes" tabindex="-1">Erosão Flexível em Diferentes Representações <a class="header-anchor" href="#erosao-flexivel-em-diferentes-representacoes" aria-label="Permalink to &quot;Erosão Flexível em Diferentes Representações&quot;"></a></h3>
<p>Um artigo de 2024 do IRIT-STORM (&quot;Erosão Flexível de Terrenos&quot;, <a href="https://link.springer.com/article/10.1007/s00371-024-03444-w" target="_blank" rel="noreferrer">Springer</a>) resolve um problema prático: a maioria dos métodos de erosão funciona apenas em campos de altura. Se o seu terreno usa voxels, SDFs ou materiais em camadas, você precisa de código de erosão separado para cada um.</p>
<p>O método de erosão flexível decompõe a erosão em dois processos independentes: alteração do terreno (remoção de material da superfície) e transporte de material (movimentação de sedimentos com partículas regidas por princípios básicos da física). Cada partícula tem tamanho, densidade, restituição e capacidade de sedimentos configuráveis. Um campo vetorial opcional controla o movimento das partículas para obter uma dinâmica de fluidos realista.</p>
<p>Como as partículas interagem com o terreno por meio de uma interface unificada de alteração de material, a mesma simulação funciona em campos de altura, grades de voxels, superfícies implícitas e pilhas de materiais em camadas. Para nosso terreno híbrido (base de mapa de alturas + sobreposições SDF), isso significa que um único sistema de erosão lida com ambas as representações. A simulação de partículas é executada em paralelo na GPU.</p>
<h3 id="redes-fluviais-e-bacias-hidrograficas" tabindex="-1">Redes Fluviais e Bacias Hidrográficas <a class="header-anchor" href="#redes-fluviais-e-bacias-hidrograficas" aria-label="Permalink to &quot;Redes Fluviais e Bacias Hidrográficas&quot;"></a></h3>
<p>A erosão esculpe rios, mas gerar redes fluviais convincentes exige mais do que simplesmente fazer a água correr encosta abaixo. Duas abordagens produzem resultados melhores:</p>
<p>A <strong>geração orientada pela drenagem</strong> (Amit Patel, Red Blob Games, <a href="https://www.redblobgames.com/x/1723-procedural-river-growing/" target="_blank" rel="noreferrer">Projeto</a>) constrói a rede fluvial antes de atribuir a elevação. Comece com um grafo (Voronoi ou malha de triângulos). Classifique as arestas como cristas (sem fluxo), entradas (a água entra) ou saídas (a água sai). Isso cria hierarquias de drenagem realistas, nas quais rios convergem de pequenos afluentes para grandes cursos d'água, seguindo o sistema de classificação de Rosgen para diferentes tipos de rios (canais entrelaçados em terrenos planos, desfiladeiros estreitos em montanhas).</p>
<p>O <strong>acúmulo de fluxo</strong> monitora a quantidade de água que passa por cada célula do terreno. Distribua chuva simulada uniformemente, faça-a fluir encosta abaixo e conte as passagens por célula. Células com alto acúmulo são canais fluviais. Células com acúmulo moderado são córregos sazonais. O mapa de acúmulo também determina a intensidade da erosão (mais água = mais erosão) e a distribuição da vegetação (as margens dos rios são mais úmidas e sustentam diferentes espécies vegetais).</p>
<p>Para um mundo criado pelo usuário, a rede fluvial é gerada no servidor durante a criação do terreno e armazenada como um mapa 2D de direção do fluxo, além de um mapa de acúmulo de água por chunk. O cliente no navegador usa esses mapas para renderizar superfícies de água (planos horizontais na altura correta dentro dos canais fluviais) e determinar a distribuição da vegetação (mais exuberante perto da água).</p>
<h3 id="geracao-de-costas-e-linhas-litoraneas" tabindex="-1">Geração de Costas e Linhas Litorâneas <a class="header-anchor" href="#geracao-de-costas-e-linhas-litoraneas" aria-label="Permalink to &quot;Geração de Costas e Linhas Litorâneas&quot;"></a></h3>
<p>As linhas costeiras são onde o terreno encontra a água e possuem características distintas que a erosão convencional não produz: falésias marinhas, depósitos de praia, planícies de maré, farilhões e plataformas de abrasão marinha.</p>
<p>O NEWTS1.0 (2024, <a href="https://dspace.mit.edu/handle/1721.1/157677" target="_blank" rel="noreferrer">MIT</a>) modela a evolução de costas rochosas usando dois mecanismos de erosão: recuo uniforme (taxa de erosão constante) e erosão causada por ondas (taxa de erosão como função da distância de pista e do ângulo de incidência das ondas). O modelo percorre milhares de anos simulados e produz promontórios, baías, farilhões e arcos que correspondem à geomorfologia costeira real.</p>
<p>Para um mundo no navegador, os elementos costeiros seriam pré-gerados durante a criação do mundo. Os parâmetros (direção predominante das ondas, variação da dureza das rochas ao longo da costa) permitem que os criadores controlem as características do litoral. Uma configuração de &quot;fiorde norueguês&quot; produz enseadas com laterais íngremes. Uma configuração de &quot;atol tropical&quot; produz costas arenosas baixas com lagoas.</p>
<h3 id="geracao-de-cavernas-e-ambientes-subterraneos" tabindex="-1">Geração de Cavernas e Ambientes Subterrâneos <a class="header-anchor" href="#geracao-de-cavernas-e-ambientes-subterraneos" aria-label="Permalink to &quot;Geração de Cavernas e Ambientes Subterrâneos&quot;"></a></h3>
<p>Cavernas exigem terreno totalmente volumétrico (SDFs ou voxels), pois mapas de alturas não conseguem representar espaços fechados. As abordagens de geração incluem:</p>
<p>O <strong>limiar de ruído 3D</strong> é o método mais simples. Amostre ruído Perlin ou simplex 3D em cada voxel. Valores abaixo de um limite são sólidos; valores acima são vazios. Ajuste o limite e os parâmetros de ruído para controlar o diâmetro dos túneis, a conectividade e o tamanho das câmaras. Isso produz sistemas de cavernas orgânicos e sinuosos, semelhantes aos do Minecraft.</p>
<p>O <strong>PLUME (Procedural Layer Underground Modeling Engine)</strong> (2024, <a href="https://arxiv.org/html/2508.20926v1" target="_blank" rel="noreferrer">arXiv:2508.20926</a>) gera ambientes realistas de cavernas e tubos de lava usando regras procedurais em camadas. Criado originalmente para pesquisas de exploração espacial (simulando tubos de lava marcianos), ele produz estruturas subterrâneas geologicamente plausíveis com estalactites, colunas e sistemas de câmaras.</p>
<p>Os <strong>túneis de sistema-L com escavação por metaballs</strong> usam uma gramática de sistema-L para criar caminhos de túneis ramificados pelo terreno e, em seguida, escavam a geometria real dos túneis usando superfícies implícitas de metaballs. As metaballs produzem paredes de cavernas suaves e arredondadas. Múltiplas passagens com parâmetros diferentes criam passagens principais, câmaras laterais e túneis de conexão estreitos.</p>
<p>Para um mundo criado pelo usuário, a geração de cavernas se integra ao sistema de sobreposição SDF. O terreno-base é um mapa de alturas (sem cavernas). Quando um chunk precisa de cavernas (seja por geração procedural ou pelo projeto do criador), é gerado um volume SDF que subtrai a geometria das cavernas do terreno-base. O pipeline de marching cubes renderiza a superfície combinada.</p>
<h3 id="vegetacao-como-processo-fisico" tabindex="-1">Vegetação como Processo Físico <a class="header-anchor" href="#vegetacao-como-processo-fisico" aria-label="Permalink to &quot;Vegetação como Processo Físico&quot;"></a></h3>
<p>A vegetação em jogos geralmente é posicionada proceduralmente com regras como &quot;grama abaixo de 2.000 m, árvores abaixo de 1.500 m, neve acima de 3.000 m&quot;. Isso é rápido, mas produz uma distribuição uniforme e pouco realista.</p>
<p>A simulação de vegetação fundamentada na física modela cada planta competindo por recursos (luz, água e nutrientes do solo). A simulação:</p>
<ol>
<li>Espalha sementes pelo terreno</li>
<li>Faz cada planta crescer de acordo com os recursos disponíveis (a água vem da simulação de erosão hidráulica, a luz solar depende da inclinação e da orientação da encosta, e a profundidade do solo depende do histórico de erosão)</li>
<li>Faz as plantas competirem: árvores bloqueiam a luz da grama, e copas densas impedem o surgimento de novas mudas</li>
<li>Ao longo do tempo simulado, os biomas surgem naturalmente: florestas em vales com água, vegetação esparsa em cristas expostas ao vento e áreas úmidas onde a água se acumula</li>
</ol>
<p>A simulação de ecossistemas de Deussen et al. (<a href="https://export.arxiv.org/pdf/2208.01471v1.pdf" target="_blank" rel="noreferrer">Artigo</a>) gera distribuições florestais que correspondem a padrões ecológicos do mundo real. A simulação é executada em uma grade 2D (uma célula por chunk de terreno) e produz mapas de densidade e atribuições de espécies que o sistema de renderização usa para posicionar vegetação instanciada na GPU.</p>
<p>Para um mundo no navegador, a simulação de vegetação é executada uma única vez durante a geração do mundo (no servidor). A saída é um conjunto de mapas de densidade por chunk: densidade de árvores, densidade de grama, densidade de flores e densidade de detritos rochosos. O cliente no navegador usa esses mapas com instanciamento na GPU para espalhar vegetação durante a execução.</p>
<h2 id="sintese-de-terreno-baseada-em-difusao" tabindex="-1">Síntese de Terreno Baseada em Difusão <a class="header-anchor" href="#sintese-de-terreno-baseada-em-difusao" aria-label="Permalink to &quot;Síntese de Terreno Baseada em Difusão&quot;"></a></h2>
<p>É nessa direção que a área avança mais rapidamente. Modelos de difusão (a mesma tecnologia por trás do Stable Diffusion para imagens) estão sendo aplicados à geração de terrenos, e os resultados são substancialmente mais realistas do que os métodos baseados em ruído.</p>
<h3 id="terrain-diffusion-um-sucessor-do-ruido-perlin" tabindex="-1">Terrain Diffusion: Um Sucessor do Ruído Perlin <a class="header-anchor" href="#terrain-diffusion-um-sucessor-do-ruido-perlin" aria-label="Permalink to &quot;Terrain Diffusion: Um Sucessor do Ruído Perlin&quot;"></a></h3>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/hJoaCZ7wZ5s" title="Integração do Terrain Diffusion com o Minecraft" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="game-caption">Terrain Diffusion sendo executado dentro do Minecraft, transmitindo terrenos infinitos e consistentes com a semente em tempo real. Treinado com dados de elevação do mundo real, ele produz paisagens com estruturas geológicas que funções de ruído não conseguem igualar.</div>
<p>Terrain Diffusion (Goslin, 2025, <a href="https://arxiv.org/abs/2512.08309" target="_blank" rel="noreferrer">arXiv:2512.08309</a>, <a href="https://xandergos.github.io/terrain-diffusion/" target="_blank" rel="noreferrer">Página do projeto</a>) é o avanço mais significativo na geração procedural de terrenos desde o ruído Perlin, em 1985. Desde então, o trabalho foi aceito na SIGGRAPH 2026, e o título canônico no arXiv agora é &quot;InfiniteDiffusion: Conectando Fidelidade Aprendida e Utilidade Procedural para Geração de Terrenos de Mundo Aberto&quot;. O algoritmo InfiniteDiffusion e o framework Terrain Diffusion são as duas metades do mesmo artigo.</p>
<p>A principal inovação é o <strong>InfiniteDiffusion</strong>, um algoritmo que reformula a amostragem por difusão para domínios ilimitados. Modelos de difusão tradicionais geram saídas de tamanho fixo (por exemplo, um mapa de alturas de 512x512). O InfiniteDiffusion gera terrenos de extensão infinita com:</p>
<ul>
<li><strong>Consistência da semente:</strong> A mesma semente sempre produz o mesmo terreno, como no ruído Perlin</li>
<li><strong>Acesso aleatório em tempo constante:</strong> Você pode consultar a altura em qualquer ponto sem precisar gerar primeiro as regiões vizinhas</li>
<li><strong>Ausência de artefatos nas bordas:</strong> Geração infinita sem emendas visíveis nem repetição</li>
</ul>
<p>O sistema usa uma pilha hierárquica de modelos de difusão. O nível superior captura características em escala planetária (continentes, cadeias de montanhas). Cada nível subsequente acrescenta detalhes mais finos (picos individuais, vales e rugosidade em pequena escala). Uma codificação laplaciana compacta estabiliza as saídas em toda a enorme faixa dinâmica, do nível do mar aos picos do Himalaia.</p>
<p><strong>Desempenho:</strong> A geração acompanha o ritmo da exploração em tempo real. O artigo relata que, mesmo no extremo teórico da velocidade orbital (cerca de 7.700 m/s), a síntese de terreno é executada 9 vezes mais rápido que o deslocamento em uma GPU de uso doméstico. O projeto inclui uma integração com o Minecraft que demonstra a síntese de terreno em tempo real.
<strong>Por que isso é importante para nós:</strong> o Terrain Diffusion produz paisagens treinadas com dados de elevação do mundo real (a topografia real da Terra). A saída apresenta redes fluviais, cadeias de montanhas, formações costeiras e estruturas de planaltos que emergem dos dados de treinamento, e não de parâmetros de ruído ajustados manualmente. Um criador poderia dizer &quot;gere um terreno semelhante às Terras Altas da Escócia&quot;, e o modelo de difusão produziria algo com as características geológicas corretas.</p>
<p>O modelo é executado no servidor durante a geração do mundo. A saída é um mapa de altura padrão, transmitido ao navegador como qualquer outro dado de terreno. O método de geração é invisível para o cliente.</p>
<h3 id="terrafusion-geometria-e-textura-em-conjunto" tabindex="-1">TerraFusion: geometria e textura em conjunto <a class="header-anchor" href="#terrafusion-geometria-e-textura-em-conjunto" aria-label="Permalink to &quot;TerraFusion: geometria e textura em conjunto&quot;"></a></h3>
<div class="img-embed">
<img src="https://cdn.cinevva.com/blog/terrafusion-teaser.png" alt="O TerraFusion gera em conjunto mapas de altura de terreno e texturas de superfície correspondentes a partir de esboços usando difusão latente" />
</div>
<div class="game-caption">O TerraFusion gera o mapa de altura e a textura em conjunto a partir de um esboço desenhado à mão. A correlação entre geometria e material já vem incorporada — leitos de rios saem arenosos, faces de penhascos rochosas e terrenos planos gramados — sem qualquer pintura manual de splats.</div>
<p>O TerraFusion (2025, <a href="https://arxiv.org/abs/2505.04050" target="_blank" rel="noreferrer">arXiv:2505.04050</a>) vai além ao gerar conjuntamente mapas de altura e texturas de terreno. O principal insight: a geometria do terreno e a aparência da superfície estão correlacionadas (leitos de rios são arenosos, faces de penhascos são rochosas, áreas planas são gramadas). Gerá-las separadamente produz incompatibilidades.</p>
<p>O TerraFusion usa um modelo de difusão latente com VAEs separados para mapas de altura e texturas, treinado para modelar sua distribuição conjunta. O sistema oferece:</p>
<ul>
<li><strong>Geração incondicional:</strong> terreno plausível aleatório com texturas correspondentes</li>
<li><strong>Geração condicionada por esboço:</strong> um criador desenha um mapa aproximado (vales aqui, cristas ali, penhascos ao longo desta borda), e o modelo gera geometria e texturas detalhadas que correspondem ao esboço</li>
</ul>
<p>Para o mundo de um criador, isso é poderoso. O criador esboça o layout geral de seu lote, e o sistema preenche o espaço com um terreno geologicamente plausível e materiais de superfície apropriados. Sem pintura de mapas de altura, sem aplicação de splats de textura, sem atribuição manual de materiais.</p>
<h3 id="mesa-de-texto-para-terreno" tabindex="-1">MESA: de texto para terreno <a class="header-anchor" href="#mesa-de-texto-para-terreno" aria-label="Permalink to &quot;MESA: de texto para terreno&quot;"></a></h3>
<div class="img-embed">
<img src="https://cdn.cinevva.com/blog/mesa-header.png" alt="O MESA gera imagens de terreno no estilo de imagens de satélite e mapas de elevação a partir de prompts de texto, treinado com dados globais do Copernicus" />
</div>
<div class="game-caption">O MESA produz pares de imagens de satélite e DEMs a partir de prompts de texto. Treinado com o conjunto de dados global do Copernicus, ele compreende terrenos reais em todas as escalas e zonas climáticas — fiordes, estepes, terras agrícolas e cristas alpinas.</div>
<p>O MESA (2025, <a href="https://arxiv.org/abs/2504.07210" target="_blank" rel="noreferrer">arXiv:2504.07210</a>, Workshop da CVPR 2025) gera terrenos a partir de descrições textuais. Ele é treinado com dados globais de sensoriamento remoto do programa Copernicus, portanto foi exposto a todos os tipos de paisagem terrestre.</p>
<p>Um prompt como &quot;um fiorde com paredes íngremes de granito que se abre para um litoral rochoso&quot; produz um mapa de altura com a estrutura geológica apropriada. &quot;Terras agrícolas onduladas, com colinas suaves e um amplo vale fluvial&quot; produz algo completamente diferente.</p>
<p>O MESA apresenta o conjunto de dados de extensão Major TOM Core-DEM, que combina imagens de satélite com modelos digitais de elevação de todo o mundo. Esses dados de treinamento fornecem ao modelo uma compreensão de como são os terrenos reais em todas as escalas e zonas climáticas.</p>
<h3 id="geodiffussr-texturizacao-de-terreno-orientada-por-texto" tabindex="-1">Geodiffussr: texturização de terreno orientada por texto <a class="header-anchor" href="#geodiffussr-texturizacao-de-terreno-orientada-por-texto" aria-label="Permalink to &quot;Geodiffussr: texturização de terreno orientada por texto&quot;"></a></h3>
<div class="img-embed">
<img src="https://cdn.cinevva.com/blog/geodiffussr-teaser.png" alt="O Geodiffussr gera texturas de terreno a partir de descrições textuais respeitando os dados de elevação — neve nos picos, areia no litoral e floresta nas encostas" />
</div>
<div class="game-caption">O Geodiffussr recebe um mapa de altura e um prompt de texto e gera texturas de superfície que respeitam a elevação. A neve aparece apenas acima de altitudes plausíveis; a vegetação rareia com a altitude; a água ocupa depressões. A geometria permanece inalterada.</div>
<p>O Geodiffussr (2025, <a href="https://arxiv.org/abs/2511.23029" target="_blank" rel="noreferrer">arXiv:2511.23029</a>) recebe um mapa de altura existente e gera texturas orientadas por descrições textuais, respeitando os dados de elevação. &quot;Floresta de outono&quot; produz folhagem laranja e dourada em inclinações moderadas, com rocha exposta em faces íngremes. &quot;Litoral tropical&quot; produz palmeiras em terrenos baixos e areia de coral ao nível do mar.</p>
<p>O sistema usa agregação de conteúdo multiescala para garantir que as atribuições de textura respeitem a elevação: a neve aparece apenas acima de uma altitude fisicamente plausível, corpos d'água ocupam depressões e a vegetação rareia com a altitude.</p>
<p>Para o mundo de um criador, isso significa que as texturas do terreno podem ser regeneradas a partir de um prompt de texto sem alterar a geometria. O criador esculpe o terreno desejado, depois descreve a atmosfera (&quot;ermo vulcânico sombrio&quot; ou &quot;floresta temperada exuberante&quot;), e o sistema gera materiais de superfície apropriados.</p>
<h2 id="lod-dinamico-para-terrenos-no-navegador" tabindex="-1">LOD dinâmico para terrenos no navegador <a class="header-anchor" href="#lod-dinamico-para-terrenos-no-navegador" aria-label="Permalink to &quot;LOD dinâmico para terrenos no navegador&quot;"></a></h2>
<p>Renderizar um terreno grande em resolução máxima por toda parte é impossível em um navegador. Um mundo de 4 km x 4 km com resolução de 1 metro tem 16 milhões de vértices apenas no terreno. O LOD dinâmico reduz isso a uma contagem de vértices constante e administrável, independentemente do tamanho do mundo.</p>
<h3 id="clipmaps-de-geometria" tabindex="-1">Clipmaps de geometria <a class="header-anchor" href="#clipmaps-de-geometria" aria-label="Permalink to &quot;Clipmaps de geometria&quot;"></a></h3>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/yoUQRT-Hmcc" title="Clipmaps de geometria: renderização de terreno usando grades regulares aninhadas (SIGGRAPH 2004)" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="game-caption">A apresentação original dos clipmaps de geometria na SIGGRAPH 2004. Anéis concêntricos de terreno com resoluções reduzidas pela metade mantêm a contagem de vértices constante, independentemente do tamanho do mundo — e ainda são a base da maioria dos sistemas de LOD de terreno para navegador atuais.</div>
<p>Os clipmaps de geometria (Losasso e Hoppe, SIGGRAPH 2004, <a href="https://hhoppe.com/geomclipmap.pdf" target="_blank" rel="noreferrer">Artigo</a>) continuam sendo o padrão de referência para LOD de terrenos baseados em mapas de altura. A ideia: renderizar o terreno como um conjunto de anéis quadrados concêntricos centrados na câmera. Cada anel cobre o dobro da área do anterior, mas com metade da resolução.</p>
<p>Perto da câmera (anel mais interno): resolução máxima, com espaçamento de 1 metro na grade.
Um anel além: espaçamento de 2 metros, cobrindo 4 vezes a área.
Anel seguinte: espaçamento de 4 metros, cobrindo 16 vezes a área.
E assim por diante, ao longo de 6 a 8 níveis, até que o anel mais externo cubra toda a distância visível.</p>
<p>A contagem total de vértices é constante: aproximadamente N^2 * níveis, em que N é a largura do anel em vértices. Com N=256 e 8 níveis, isso representa cerca de 500 mil vértices no total. A renderização é a mesma, seja o mundo de 1 km ou de 100 km de largura.</p>
<p><strong>Implementação no navegador:</strong> clipmaps de geometria funcionam no WebGL 2 porque exigem apenas atualizações padrão de buffers de vértices (sem shaders de computação). À medida que a câmera se move, a CPU atualiza os dados do mapa de altura de cada anel, amostrando o terreno na resolução apropriada. O shader de vértices lê os valores de altura de uma textura e desloca a grade plana.</p>
<p><strong>Morphing:</strong> a transição entre níveis de LOD produz &quot;saltos&quot; visíveis se for tratada de maneira ingênua. O geomorphing (detalhado em uma seção própria abaixo) interpola as posições dos vértices entre os níveis ao longo de uma zona de transição no shader de vértices, produzindo transições suaves e sem saltos, sem o custo de chamadas de desenho adicionais.</p>
<h3 id="cdlod-clipmaps-adaptativos-com-quadtree" tabindex="-1">CDLOD: clipmaps adaptativos com quadtree <a class="header-anchor" href="#cdlod-clipmaps-adaptativos-com-quadtree" aria-label="Permalink to &quot;CDLOD: clipmaps adaptativos com quadtree&quot;"></a></h3>
<p>O CDLOD (Strugar, 2014, <a href="https://www.vertexasylum.com/CDLOD/cdlod_latest.pdf" target="_blank" rel="noreferrer">Artigo</a>) aprimora os clipmaps de geometria usando uma quadtree em vez de anéis concêntricos fixos. A quadtree se adapta ao terreno: áreas planas usam nós de baixa resolução, enquanto áreas com muitos detalhes (penhascos, cristas) recebem subdivisões mais finas.</p>
<p>Isso é importante para o mundo de um criador porque diferentes chunks têm diferentes níveis de complexidade. Um prado plano precisa de resolução mínima. Uma região montanhosa com penhascos e cavernas precisa do máximo de detalhes. O CDLOD aloca resolução onde ela é importante.</p>
<p>A travessia da quadtree pela CPU é leve (algumas centenas de nós) e determina quais patches de terreno devem ser desenhados e em qual resolução. A GPU renderiza cada patch como uma grade instanciada, com uniforms de LOD específicos para cada patch.</p>
<h3 id="arvores-binarias-concorrentes-tesselacao-em-escala-planetaria" tabindex="-1">Árvores binárias concorrentes: tesselação em escala planetária <a class="header-anchor" href="#arvores-binarias-concorrentes-tesselacao-em-escala-planetaria" aria-label="Permalink to &quot;Árvores binárias concorrentes: tesselação em escala planetária&quot;"></a></h3>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/0TzgFwDmbGg" title="Experimentos com árvores binárias concorrentes para renderização de terrenos em grande escala" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="game-caption">Tesselação adaptativa com CBT para terrenos em escala planetária: os triângulos são subdivididos perto da câmera e mesclados à distância, inteiramente na GPU. Menos de 0,2 ms em hardware de console.</div>
<p>Árvores Binárias Concorrentes (CBT) são uma estrutura de dados adequada à GPU para tesselação adaptativa de terrenos, apresentada por Benyoub e Dupuy (Intel, HPG 2024, <a href="https://arxiv.org/html/2407.02215v1" target="_blank" rel="noreferrer">Artigo</a>, <a href="https://github.com/AnisB/large_cbt" target="_blank" rel="noreferrer">GitHub</a>).</p>
<p>A ideia central: representar o terreno como uma árvore binária em que cada nó é um triângulo. A subdivisão adaptativa divide os triângulos próximos à câmera e mescla os triângulos distantes. A árvore binária fica inteiramente na memória da GPU como um array unidimensional (um heap binário), e as operações de subdivisão e mesclagem são executadas como shaders de computação.</p>
<p>O artigo de 2024 estende as CBTs de domínios quadrados de mapas de altura para malhas poligonais arbitrárias. Isso significa que é possível criar a tesselação de uma esfera (para renderização planetária) ou de uma malha-base arbitrária (para um mundo de jogo com limites não retangulares). A principal melhoria: usar a CBT como gerenciador de pool de memória, em vez de codificação implícita, permite níveis de subdivisão muito mais altos.</p>
<p>Desempenho: tesselação de terreno em escala planetária em menos de 0,2 ms em hardware equivalente ao de consoles. O algoritmo escala linearmente com a quantidade de processadores. Para WebGPU, isso oferece um caminho para renderizar terrenos em escala planetária no navegador, embora a implementação seja complexa.</p>
<h3 id="lod-controlado-pela-gpu-com-webgpu" tabindex="-1">LOD controlado pela GPU com WebGPU <a class="header-anchor" href="#lod-controlado-pela-gpu-com-webgpu" aria-label="Permalink to &quot;LOD controlado pela GPU com WebGPU&quot;"></a></h3>
<p>O WebGPU permite um pipeline de terreno totalmente controlado pela GPU, eliminando a participação da CPU nas decisões de LOD:</p>
<ol>
<li>
<p><strong>Passe de computação 1: descarte por frustum e oclusão.</strong> Um shader de computação testa a caixa delimitadora de cada patch de terreno em relação ao frustum de visualização e a um buffer de oclusão (o buffer de profundidade do quadro anterior, reduzido). Patches invisíveis são totalmente descartados.</p>
</li>
<li>
<p><strong>Passe de computação 2: seleção de LOD.</strong> Para os patches visíveis, calcula o tamanho no espaço da tela e seleciona o nível de LOD apropriado. Grava o nível de LOD e o ID do patch em um buffer de desenho indireto.</p>
</li>
<li>
<p><strong>Passe de computação 3: geração de malha (para terrenos volumétricos).</strong> Para chunks com dados SDF, executa marching cubes para gerar a malha na resolução de LOD selecionada.</p>
</li>
<li>
<p><strong>Desenho indireto.</strong> Uma única chamada <code>drawIndexedIndirect()</code> renderiza todos os patches de terreno. A GPU decide tudo: o que desenhar, em qual resolução e em qual ordem.</p>
</li>
</ol>
<p>Esse pipeline tem custo constante de CPU (despachar shaders de computação e a chamada de desenho indireto), independentemente do tamanho ou da complexidade do mundo. A GPU cuida de todas as decisões por patch.</p>
<div class="language-wgsl vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">wgsl</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">@</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">compute</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> @</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">workgroup_size</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">64</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">fn</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> lodSelection</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">@</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">builtin</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(global_invocation_id) id: </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">vec3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">u32</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>) {</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> patchIdx </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> id</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">x;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> bounds </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> patchBounds[patchIdx];</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">!</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">frustumTest</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(bounds, viewProjection)) { </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">; }</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">occlusionTest</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(bounds, depthPyramid) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">==</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> OCCLUDED</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">) { </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">; }</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> screenSize </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> projectedSize</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(bounds, viewProjection, screenDimensions);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> lod </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> clamp</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">u32</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">log2</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(maxScreenSize </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">/</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> screenSize)), </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0u</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, MAX_LOD);</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> drawIdx </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> atomicAdd</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">&#x26;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">drawCount, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">1u</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    drawArgs[drawIdx] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> DrawArgs</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(patchIdx, lod, indexCount[lod], indexOffset[lod]);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre>
</div><h3 id="geomorphing-transicoes-de-lod-sem-saltos" tabindex="-1">Geomorphing: transições de LOD sem saltos <a class="header-anchor" href="#geomorphing-transicoes-de-lod-sem-saltos" aria-label="Permalink to &quot;Geomorphing: transições de LOD sem saltos&quot;"></a></h3>
<p>O maior artefato visual no LOD de terreno são os saltos: os vértices mudam repentinamente de posição quando um patch troca de nível de LOD. O geomorphing elimina isso interpolando suavemente as posições dos vértices entre os níveis de LOD ao longo de uma zona de transição.</p>
<p>A implementação fica inteiramente no shader de vértices. Cada vértice armazena tanto sua posição no LOD atual quanto sua posição no próximo LOD de menor resolução. Quando a distância da câmera cruza o limite de transição, um fator de morphing interpola as duas:</p>
<div class="language-glsl vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">glsl</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> morphFactor </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> smoothstep</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(lodNear, lodFar, distanceToCamera);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> morphedHeight </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> mix</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(fineLodHeight, coarseLodHeight, morphFactor);</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">gl_Position</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> viewProjection </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> vec4</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(worldPos.x, morphedHeight, worldPos.z, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">1.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span></code></pre>
</div><p>O artigo de Hoppe sobre clipmaps de geometria (GPU Gems 2, <a href="https://developer.nvidia.com/gpugems/gpugems2/part-i-geometric-complexity/chapter-2-terrain-rendering-using-gpu-based-geometry" target="_blank" rel="noreferrer">Capítulo 2</a>) descreve a implementação completa para anéis de clipmap. A zona de morphing corresponde aos 20% externos de cada anel. Nessa zona, os vértices convergem suavemente para a resolução do anel seguinte. O efeito visual: a geometria do terreno &quot;derrete&quot; entre os níveis de detalhe em vez de mudar abruptamente. Em velocidades típicas de câmera, a transição é invisível.</p>
<p>A mesclagem no espaço da imagem (Scherzer et al., <a href="https://onlinelibrary.wiley.com/doi/10.1111/j.1467-8659.2007.00943.x" target="_blank" rel="noreferrer">Artigo</a>) é uma alternativa que mescla imagens renderizadas de dois níveis de LOD no espaço da tela. Isso lida com diferenças de LOD mais extremas (por exemplo, transições de malha para billboard), mas custa um passe de renderização adicional na zona de transição.</p>
<h3 id="descarte-de-vegetacao-controlado-pela-gpu" tabindex="-1">Descarte de vegetação controlado pela GPU <a class="header-anchor" href="#descarte-de-vegetacao-controlado-pela-gpu" aria-label="Permalink to &quot;Descarte de vegetação controlado pela GPU&quot;"></a></h3>
<p>A vegetação (árvores, grama, rochas) costuma ser a maior fonte de chamadas de desenho em um mundo aberto. Uma abordagem ingênua desenha todas as instâncias de vegetação em todos os quadros. O descarte controlado pela GPU, agora disponível no Three.js por meio do WebGPU, elimina instâncias invisíveis antes que elas cheguem ao rasterizador.</p>
<p>O <code>ComputeInstanceCulling</code> do Three.js (<a href="https://www.threejs-blocks.com/docs/ComputeInstanceCulling" target="_blank" rel="noreferrer">Documentação</a>) oferece descarte por frustum e LOD para malhas instanciadas, com ganhos de desempenho de 10 a 100 vezes para grandes quantidades de instâncias. O pipeline:</p>
<ol>
<li>Um shader de computação lê todas as esferas delimitadoras das instâncias</li>
<li>Testa cada uma em relação ao frustum da câmera (teste de 6 planos)</li>
<li>Aplica LOD baseado em distância: instâncias além de um limite mudam para um nível de detalhe menor ou são totalmente descartadas</li>
<li>As instâncias restantes são compactadas em um buffer e desenhadas via <code>drawIndirect</code>
A CPU não realiza nenhum trabalho por instância. Após a configuração inicial, o custo é de um despacho de computação mais uma chamada de desenho indireta por tipo de vegetação, independentemente da quantidade de instâncias.</li>
</ol>
<p>Para vegetação mais densa, o <code>IndirectBatchedMesh</code> do Three.js (<a href="https://www.threejs-blocks.com/docs/IndirectBatchedMesh" target="_blank" rel="noreferrer">Documentação</a>) agrupa vários tipos de geometria (árvores, arbustos, rochas) em um único buffer e os desenha com múltiplas chamadas indiretas. Uma única chamada de desenho para toda a vegetação de um chunk.</p>
<p>Combinado à dispersão baseada em mapas de densidade do nosso sistema de vegetação, isso significa: o mapa de densidade gera 50.000 posições de folhas de grama em um shader de computação, a etapa de culling elimina os 70% que estão fora da tela ou distantes demais, e uma única chamada de desenho indireta renderiza as 15.000 folhas restantes. Custo total de CPU: insignificante.</p>
<h3 id="lod-para-terreno-volumetrico" tabindex="-1">LOD para terreno volumétrico <a class="header-anchor" href="#lod-para-terreno-volumetrico" aria-label="Permalink to &quot;LOD para terreno volumétrico&quot;"></a></h3>
<p>Terrenos volumétricos (SDF + marching cubes) precisam de um sistema de LOD próprio porque a malha é gerada, não criada previamente. A abordagem:</p>
<p><strong>Armazenamento de SDF em múltiplas resoluções.</strong> Armazene o SDF em várias resoluções em uma hierarquia semelhante a mipmaps. O nível 0 usa resolução máxima (voxels de 1 metro). O nível 1 usa voxels de 2 metros (8 vezes menos dados). O nível 2 usa voxels de 4 metros. Em cada nível, o SDF tem sua resolução reduzida usando a menor distância absoluta.</p>
<p><strong>Marching cubes selecionado por LOD.</strong> Execute marching cubes no nível de SDF correspondente ao LOD desejado. Chunks vistos de perto usam o nível 0. Chunks distantes usam o nível 2 ou 3. O algoritmo Transvoxel trata a fronteira entre níveis diferentes.</p>
<p><strong>Cache.</strong> As malhas geradas permanecem em cache até que o SDF seja alterado (edição do criador) ou o nível de LOD mude (movimento significativo da câmera). Para terrenos estáticos, a malha é gerada uma vez e reutilizada.</p>
<h2 id="arquitetura-de-streaming-para-terrenos" tabindex="-1">Arquitetura de streaming para terrenos <a class="header-anchor" href="#arquitetura-de-streaming-para-terrenos" aria-label="Permalink to &quot;Arquitetura de streaming para terrenos&quot;"></a></h2>
<h3 id="formato-dos-dados-de-chunks" tabindex="-1">Formato dos dados de chunks <a class="header-anchor" href="#formato-dos-dados-de-chunks" aria-label="Permalink to &quot;Formato dos dados de chunks&quot;"></a></h3>
<p>Cada chunk de terreno (64x64 metros) é transmitido como um pacote binário compacto:</p>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>ChunkPacket {</span></span>
<span class="line"><span>  header: {</span></span>
<span class="line"><span>    chunkX: i16, chunkZ: i16,</span></span>
<span class="line"><span>    version: u32,</span></span>
<span class="line"><span>    flags: u8  // hasHeightmap | hasVolumetric | hasVegetation</span></span>
<span class="line"><span>  }</span></span>
<span class="line"><span>  heightmap: {</span></span>
<span class="line"><span>    resolution: u8,      // 65x65 for full, 33x33 for half, 17x17 for quarter</span></span>
<span class="line"><span>    quantizedHeights: u16[resolution * resolution],  // delta-encoded, zlib compressed</span></span>
<span class="line"><span>    splatMap: u8[4 * resolution * resolution]         // RGBA blend weights, LZ4 compressed</span></span>
<span class="line"><span>  }</span></span>
<span class="line"><span>  volumetric?: {         // only present if flags.hasVolumetric</span></span>
<span class="line"><span>    sdfResolution: u8,   // typically 32 or 64</span></span>
<span class="line"><span>    sparseOctree: bytes  // run-length encoded sparse SDF</span></span>
<span class="line"><span>  }</span></span>
<span class="line"><span>  vegetation?: {         // only present if flags.hasVegetation</span></span>
<span class="line"><span>    treeDensityMap: u8[16 * 16],    // 4m resolution density grid</span></span>
<span class="line"><span>    grassDensityMap: u8[32 * 32],   // 2m resolution density grid</span></span>
<span class="line"><span>    rockDensityMap: u8[16 * 16]</span></span>
<span class="line"><span>  }</span></span>
<span class="line"><span>  creatorObjects: {</span></span>
<span class="line"><span>    count: u16,</span></span>
<span class="line"><span>    objects: PlacedObject[]   // assetId + transform + properties, ~40 bytes each</span></span>
<span class="line"><span>  }</span></span>
<span class="line"><span>}</span></span></code></pre>
</div><p><strong>Tamanhos típicos:</strong></p>
<ul>
<li>Chunk somente com mapa de altura (terreno plano): 2–4 KB compactado</li>
<li>Mapa de altura + vegetação: 4–8 KB</li>
<li>Mapa de altura + dados volumétricos + vegetação (chunk complexo): 20–100 KB</li>
<li>Vizinhança 5x5 com nível máximo de detalhes: 50–500 KB no total</li>
</ul>
<h3 id="carregamento-progressivo-de-chunks" tabindex="-1">Carregamento progressivo de chunks <a class="header-anchor" href="#carregamento-progressivo-de-chunks" aria-label="Permalink to &quot;Carregamento progressivo de chunks&quot;"></a></h3>
<p>Os chunks são carregados em ordem de prioridade com base na distância, na direção do movimento e no tipo de dados:</p>
<p><strong>Prioridade 1 (imediata, &lt;100ms):</strong> Geometria do mapa de altura para os chunks nos quais o jogador está prestes a entrar. A superfície do terreno aparece primeiro. Mesmo na resolução mais baixa (17x17 por chunk), o chão já está presente.</p>
<p><strong>Prioridade 2 (rápida, &lt;300ms):</strong> Splat maps e texturas do terreno. O chão ganha cor.</p>
<p><strong>Prioridade 3 (streaming, &lt;1s):</strong> Atualização para o mapa de altura em resolução máxima. Mapas de densidade de vegetação. O instanciamento por GPU gera árvores e grama.</p>
<p><strong>Prioridade 4 (segundo plano, &lt;3s):</strong> Dados SDF volumétricos para chunks com cavernas ou saliências. Marching cubes gera a malha em um Web Worker e transfere o buffer para a thread principal.</p>
<p><strong>Prioridade 5 (sob demanda, &lt;10s):</strong> Objetos posicionados por criadores. Texturas de alta resolução para estruturas. Objetos de detalhe, como flores, pedras pequenas e detritos.</p>
<h3 id="pre-carregamento-preditivo" tabindex="-1">Pré-carregamento preditivo <a class="header-anchor" href="#pre-carregamento-preditivo" aria-label="Permalink to &quot;Pré-carregamento preditivo&quot;"></a></h3>
<p>Não espere o jogador entrar em um chunk para começar a carregá-lo. Preveja para onde ele está indo com base na velocidade e carregue antecipadamente:</p>
<ul>
<li><strong>Caminhada (5 km/h):</strong> Pré-carregue 2 chunks à frente (128 m). Com a latência típica de banda larga, isso proporciona uma antecipação de 200–400 ms.</li>
<li><strong>Corrida/montaria (15 km/h):</strong> Pré-carregue 4 chunks à frente. O anel de carregamento se desloca de acordo com a direção da velocidade.</li>
<li><strong>Voo/viagem rápida:</strong> Pause a renderização durante a transição. Transmita os chunks de destino com prioridade máxima. Retome a renderização quando houver dados suficientes para o primeiro quadro.</li>
</ul>
<p>O sistema de pré-carregamento monitora quais chunks estão no cache, quais estão em trânsito (solicitados, mas ainda não recebidos) e quais são necessários. Uma fila de prioridade ordena as solicitações pendentes por urgência. Cancele as solicitações de chunks dos quais o jogador se afastou.</p>
<h3 id="orcamento-de-memoria-e-descarte" tabindex="-1">Orçamento de memória e descarte <a class="header-anchor" href="#orcamento-de-memoria-e-descarte" aria-label="Permalink to &quot;Orçamento de memória e descarte&quot;"></a></h3>
<p>Uma aba do navegador recebe de 2 a 4 GB em computadores. O sistema de terreno precisa operar usando apenas uma fração disso (o restante fica para renderização, física, rede e heap do JavaScript).</p>
<p><strong>Orçamento-alvo: 256 MB para todos os dados de terreno.</strong></p>
<p>Com nossos tamanhos típicos de chunks:</p>
<ul>
<li>Chunks em cache com nível máximo de detalhes: cerca de 100 (vizinhança 10x10), com 5–100 KB cada = 5–10 MB de dados brutos</li>
<li>Geometria do terreno na GPU: cerca de 50 MB (buffers de vértices e índices para o terreno visível)</li>
<li>Texturas do terreno: cerca de 100 MB (compactadas em KTX2 e agrupadas em atlas)</li>
<li>Buffers de instâncias de vegetação: cerca de 50 MB (posições, rotações e escalas para instanciamento por GPU)</li>
<li>Volumes SDF e malhas de marching cubes em cache: cerca de 50 MB</li>
</ul>
<p>Os chunks fora do alcance visível são removidos primeiro da memória da GPU (texturas e buffers de vértices) e depois do cache da CPU. Os dados brutos do mapa de altura são os últimos a serem removidos porque são os mais baratos de manter e os mais importantes quando o jogador se vira.</p>
<h2 id="transicoes-entre-biomas-e-tecnicas-antirrepeticao" tabindex="-1">Transições entre biomas e técnicas antirrepetição <a class="header-anchor" href="#transicoes-entre-biomas-e-tecnicas-antirrepeticao" aria-label="Permalink to &quot;Transições entre biomas e técnicas antirrepetição&quot;"></a></h2>
<h3 id="limites-suaves-entre-biomas" tabindex="-1">Limites suaves entre biomas <a class="header-anchor" href="#limites-suaves-entre-biomas" aria-label="Permalink to &quot;Limites suaves entre biomas&quot;"></a></h3>
<p>Paisagens reais não têm limites rígidos entre biomas. Uma floresta não termina em uma linha para imediatamente virar deserto. Há um gradiente: a floresta densa passa a ter árvores dispersas, depois vira vegetação arbustiva e, por fim, vegetação desértica esparsa. Acertar esse efeito faz o mundo parecer contínuo, em vez de dividido em blocos.</p>
<p>O <strong>AutoBiomes</strong> (Kötter et al., <a href="https://cgvr.cs.uni-bremen.de/papers/cgi20/AutoBiomes.pdf" target="_blank" rel="noreferrer">Artigo</a>) combina geração procedural de terrenos com uma simulação climática simplificada. Temperatura, umidade e elevação determinam o tipo de bioma em cada ponto. Entre os biomas, os pesos dos materiais e a densidade da vegetação são interpolados ao longo de uma zona de transição (normalmente com 50–100 metros de largura). A largura da transição varia de acordo com o par de biomas: entre floresta e campo, ela é ampla e gradual; entre penhasco e água, é estreita e abrupta.</p>
<p>Em um mundo de criadores, a atribuição de biomas é executada em uma grade de baixa resolução (uma amostra de bioma para cada área de 16x16 metros). O shader do terreno lê os valores do bioma para o fragmento atual e seus vizinhos, interpola os pesos dos materiais na zona de transição e mistura as texturas de acordo. A dispersão da vegetação usa os mesmos valores de densidade interpolados, de modo que a densidade das árvores diminui gradualmente na borda da floresta.</p>
<p>Controle do criador: permita que os criadores pintem substituições de bioma em seus lotes. O sistema gera biomas padrão a partir das propriedades do terreno, mas os criadores podem substituí-los. Ao pintar um “pântano” em uma área baixa, o material muda para água turva, musgo e árvores mortas. O mapa de pintura de biomas é uma grade de 16x16 IDs de bioma por chunk (256 bytes) que substitui a atribuição procedural.</p>
<h3 id="ladrilhamento-hexagonal-eliminando-a-repeticao-de-texturas" tabindex="-1">Ladrilhamento hexagonal: eliminando a repetição de texturas <a class="header-anchor" href="#ladrilhamento-hexagonal-eliminando-a-repeticao-de-texturas" aria-label="Permalink to &quot;Ladrilhamento hexagonal: eliminando a repetição de texturas&quot;"></a></h3>
<p>O artefato visual mais comum na renderização de terrenos é a repetição de texturas. Uma textura de grama de 1 metro repetida por um campo de 100 metros produz padrões de grade visíveis. Duas técnicas corrigem isso:</p>
<p>O <strong>ladrilhamento hexagonal</strong> (Mikkelsen, <a href="https://github.com/mmikk/hextile-demo" target="_blank" rel="noreferrer">Demonstração</a>) substitui a grade quadrada de ladrilhos por uma hexagonal. Cada ladrilho hexagonal amostra a textura com deslocamento e rotação aleatórios. Os limites hexagonais são mesclados para ocultar as emendas. O resultado é uma superfície que parece uniformemente aleatória, em vez de ladrilhada. Custo: cerca de 3 amostras de textura adicionais por fragmento. A técnica é amplamente usada em jogos comerciais e funciona em qualquer fragment shader.</p>
<p>A <strong>filtragem estocástica de texturas</strong> (Pharr et al., NVIDIA, 2024, <a href="https://research.nvidia.com/labs/rtr/publication/pharr2024stochtex/" target="_blank" rel="noreferrer">Artigo</a>) aplica a filtragem depois do sombreamento, e não antes, usando amostragem estocástica. O erro da amostragem estocástica é mínimo e bem tratado pela redução de ruído espaço-temporal. Isso produz resultados filtrados mais precisos e funciona com texturas compactadas ou esparsas. Para terrenos, elimina tanto os artefatos de repetição quanto os artefatos de filtragem que o ladrilhamento hexagonal às vezes pode introduzir nas transições.</p>
<p>Para um mundo no navegador, o ladrilhamento hexagonal é a opção prática (funciona em qualquer shader). A filtragem estocástica exige mais infraestrutura, mas produz resultados melhores quando há redução temporal de ruído disponível (como haveria em um caminho WebGPU com TAA).</p>
<h2 id="sistema-de-materiais-do-terreno" tabindex="-1">Sistema de materiais do terreno <a class="header-anchor" href="#sistema-de-materiais-do-terreno" aria-label="Permalink to &quot;Sistema de materiais do terreno&quot;"></a></h2>
<h3 id="mapeamento-triplanar" tabindex="-1">Mapeamento triplanar <a class="header-anchor" href="#mapeamento-triplanar" aria-label="Permalink to &quot;Mapeamento triplanar&quot;"></a></h3>
<p>Texturas com mapeamento UV padrão ficam terrivelmente esticadas em inclinações acentuadas porque as coordenadas UV são comprimidas. O mapeamento triplanar projeta texturas ao longo dos três eixos (X, Y, Z) e faz a mistura com base na normal da superfície:</p>
<div class="language-glsl vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">glsl</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">vec3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> blending </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> abs</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(normal);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">blending </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> normalize</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">max</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(blending, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.00001</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">));</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">blending </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">/=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (blending.x </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">+</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> blending.y </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">+</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> blending.z);</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">vec4</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> xaxis </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> texture</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(material, worldPos.yz </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> scale</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">vec4</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> yaxis </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> texture</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(material, worldPos.xz </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> scale</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">vec4</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> zaxis </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> texture</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(material, worldPos.xy </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70"> scale</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">vec4</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> color </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> xaxis </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> blending.x </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">+</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> yaxis </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> blending.y </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">+</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> zaxis </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> blending.z;</span></span></code></pre>
</div><p>As faces de penhascos recebem a projeção X ou Z (sem esticamento). O terreno plano recebe a projeção Y. A mistura é suave e automática. Não é necessário abrir UVs.</p>
<p>O Babylon.js tem um <a href="https://doc.babylonjs.com/toolsAndResources/assetLibraries/materialsLibrary/triPlanarMat" target="_blank" rel="noreferrer">material triplanar</a> integrado. O Three.js exige um shader personalizado, mas a implementação tem cerca de 30 linhas de GLSL.</p>
<p>Para terrenos PBR, aplique o mapeamento triplanar a todos os canais: albedo, normal, rugosidade e oclusão de ambiente. Os mesmos pesos de mistura são aplicados a cada canal.</p>
<h3 id="atribuicao-de-materiais-baseada-em-inclinacao-e-altitude" tabindex="-1">Atribuição de materiais baseada em inclinação e altitude <a class="header-anchor" href="#atribuicao-de-materiais-baseada-em-inclinacao-e-altitude" aria-label="Permalink to &quot;Atribuição de materiais baseada em inclinação e altitude&quot;"></a></h3>
<p>Em vez de pintar splat maps manualmente, atribua materiais de forma procedural com base nas propriedades do terreno:</p>
<div class="language-glsl vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">glsl</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> slope </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> acos</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">dot</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(normal, </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">vec3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)));</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> altitude </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> worldPos.y;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> grassWeight </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> smoothstep</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, slope) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> smoothstep</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">2000.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">1500.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, altitude);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> rockWeight </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> smoothstep</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.2</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.5</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, slope);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> snowWeight </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> smoothstep</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">2500.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">3000.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, altitude) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> smoothstep</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.4</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, slope);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> sandWeight </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> smoothstep</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">5.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, altitude) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> smoothstep</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.15</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, slope);</span></span></code></pre>
</div><p>Terrenos planos em baixa altitude recebem grama. Inclinações acentuadas recebem rocha. Grandes altitudes recebem neve (mas somente em superfícies planas o bastante para que ela se acumule). Áreas próximas ao nível do mar recebem areia. As transições são suaves e têm motivação física.</p>
<p>Em um mundo de criadores, disponibilize os limites de altitude e as zonas de mistura como parâmetros que podem ser pintados em cada chunk. Os criadores podem subir ou baixar a linha das árvores, ampliar a cobertura de neve ou transformar uma colina gramada em um deserto arenoso ajustando as regras de materiais de seu lote.</p>
<h3 id="mistura-laplaciana-de-texturas-otimizada-para-gpu" tabindex="-1">Mistura laplaciana de texturas otimizada para GPU <a class="header-anchor" href="#mistura-laplaciana-de-texturas-otimizada-para-gpu" aria-label="Permalink to &quot;Mistura laplaciana de texturas otimizada para GPU&quot;"></a></h3>
<p>A mistura padrão de texturas (interpolação linear entre camadas) produz emendas visíveis ou resultados desbotados e com pouco contraste. A mistura por pirâmide laplaciana resolve isso, mas tradicionalmente exige pré-processamento caro.</p>
<p>Wronski (NVIDIA, 2025, <a href="https://jcgt.org/published/0014/01/02/" target="_blank" rel="noreferrer">JCGT</a>) apresenta uma variante otimizada para GPU que funciona em shaders em tempo real, sem pré-processamento nem memória adicional. A técnica usa a cadeia padrão de mipmaps como aproximação da pirâmide laplaciana: amostra a textura tanto no nível de mip atual quanto em um nível menos detalhado, calcula a diferença (o laplaciano) e mistura as contribuições laplacianas de cada camada.</p>
<p>O resultado preserva características locais nítidas (folhas individuais de grama e rachaduras nas rochas), enquanto mantém uma mistura suave em escalas maiores. O custo é de algumas leituras adicionais de textura por fragmento. Em terrenos nos quais você mistura 4 ou mais camadas de material por pixel, isso produz resultados visivelmente melhores que a mistura linear, especialmente nas transições entre grama, rocha e areia.</p>
<h3 id="ruido-fasorial-para-detalhes-de-erosao" tabindex="-1">Ruído fasorial para detalhes de erosão <a class="header-anchor" href="#ruido-fasorial-para-detalhes-de-erosao" aria-label="Permalink to &quot;Ruído fasorial para detalhes de erosão&quot;"></a></h3>
<p>Terrenos convencionais costumam parecer planos quando vistos de perto porque a simulação de erosão opera na resolução do mapa de altura (grade de 1 metro). Terrenos reais têm padrões de erosão em pequena escala (sulcos, ravinas e rachaduras causadas pelo intemperismo) na escala de centímetros.</p>
<p>Grenier et al. (2024, <a href="https://diglib.eg.org/bitstream/handle/10.1111/cgf14992/v43i1_05_cgf14992.pdf" target="_blank" rel="noreferrer">CGF</a>) usam ruído fasorial para adicionar microdetalhes de terreno em tempo real. O ruído fasorial sintetiza padrões estruturados definindo um campo de fase estocástico que alimenta funções periódicas. Aplicado ao terreno, ele cria padrões de erosão com variação espacial que:</p>
<ul>
<li>Transformam sulcos estreitos em ravinas maiores ao longo de várias escalas</li>
<li>Alinham-se automaticamente à inclinação do terreno (os padrões de erosão seguem a linha de maior declive)</li>
<li>Alcançam uma amplificação de até 32 vezes (adicionando detalhes com 32 vezes a resolução do mapa de altura)</li>
<li>São executados inteiramente em um fragment shader, com taxas de quadros interativas</li>
</ul>
<p>Em um mundo no navegador, o ruído fasorial é executado no shader do terreno como uma camada de detalhes. O mapa de altura fornece a forma em grande escala. O ruído fasorial adiciona microerosão convincente no fragment shader sem aumentar a complexidade geométrica. Os parâmetros (frequência, amplitude e orientação do padrão) podem variar por bioma: sulcos profundos em rocha exposta, ondulações suaves em dunas de areia e textura áspera semelhante a casca de árvore em lama seca.</p>
<h3 id="texturizacao-virtual-para-terrenos" tabindex="-1">Texturização virtual para terrenos <a class="header-anchor" href="#texturizacao-virtual-para-terrenos" aria-label="Permalink to &quot;Texturização virtual para terrenos&quot;"></a></h3>
<p>Em grandes escalas, o atlas de texturas do terreno se torna difícil de gerenciar. Um mundo de 4 km x 4 km, com 1 texel por centímetro, precisaria de uma textura de 400.000 x 400.000 pixels. Obviamente impossível.</p>
<p>A texturização virtual (também chamada de megatextura, nome originado no Rage, da id Software) resolve isso tratando a textura do terreno como uma estrutura paginada. A textura completa existe conceitualmente, mas somente os ladrilhos visíveis na tela são carregados na memória da GPU.
O pipeline:</p>
<ol>
<li><strong>Passo de feedback:</strong> Renderize o terreno com um shader que indique qual bloco de textura cada pixel precisa (ID do bloco e nível de mip). Leia esses dados de volta na CPU (ou processe-os com um compute shader).</li>
<li><strong>Carregamento de blocos:</strong> Carregue os blocos solicitados da CDN ou gere-os proceduralmente a partir dos dados do splat map.</li>
<li><strong>Textura de indireção:</strong> Uma pequena textura mapeia as coordenadas dos blocos virtuais para coordenadas de blocos físicos em um atlas de texturas.</li>
<li><strong>Passo de renderização:</strong> O shader do terreno consulta a textura de indireção para encontrar o bloco físico correto e, em seguida, amostra a textura do material no atlas.</li>
</ol>
<p>Os compute shaders do WebGPU podem realizar a análise de feedback e o gerenciamento da tabela de páginas inteiramente na GPU. A CPU gerencia apenas a entrada e saída dos blocos.</p>
<p>O resultado: um terreno com texturização única em qualquer resolução, sem uma explosão no consumo de memória de texturas. Blocos distantes da câmera são carregados em baixa resolução. Blocos próximos são carregados em alta resolução. O uso total de memória permanece dentro de um orçamento fixo (normalmente, um atlas de texturas de 128 a 256 MB).</p>
<h2 id="efeitos-dinamicos-no-terreno" tabindex="-1">Efeitos Dinâmicos no Terreno <a class="header-anchor" href="#efeitos-dinamicos-no-terreno" aria-label="Permalink to &quot;Efeitos Dinâmicos no Terreno&quot;"></a></h2>
<h3 id="pocas-e-umidade" tabindex="-1">Poças e Umidade <a class="header-anchor" href="#pocas-e-umidade" aria-label="Permalink to &quot;Poças e Umidade&quot;"></a></h3>
<p>A chuva não apenas cai. Ela se acumula. Em depressões, forma poças. Nas superfícies, cria um brilho molhado. Em encostas íngremes, escoa. Simular isso faz com que o clima pareça conectado ao terreno, em vez de ser apenas uma sobreposição visual.</p>
<p>A abordagem baseada em shaders não simula a dinâmica dos fluidos. Ela usa o mapa de altura do terreno para determinar onde a água se acumula:</p>
<div class="language-glsl vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">glsl</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> concavity </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> heightCenter </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 4.0</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> -</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> heightLeft </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> heightRight </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> heightUp </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> heightDown;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> puddleDepth </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> max</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, concavity </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> rainIntensity </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> evaporationRate </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> timeSinceRain);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> wetness </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> smoothstep</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.02</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, puddleDepth);</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">vec3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> wetColor </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> baseColor </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 0.7</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> wetRoughness </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> baseRoughness </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 0.3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">vec3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> finalColor </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> mix</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(baseColor, wetColor, wetness);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> finalRoughness </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> mix</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(baseRoughness, wetRoughness, wetness);</span></span></code></pre>
</div><p>Áreas côncavas (laplaciano negativo do mapa de altura) acumulam água. Quanto maior a concavidade, maior a poça. Superfícies molhadas escurecem e ficam mais reflexivas (menor rugosidade). O efeito desaparece gradualmente depois que a chuva para.</p>
<p>Para reflexos completos nas poças, adicione um passo de reflexão planar na superfície da poça. Outra opção é usar reflexos em espaço de tela (SSR), que custam menos e já estão disponíveis nas pilhas de pós-processamento do Three.js e do Babylon.js.</p>
<p>As gotas de chuva nas superfícies das poças usam uma equação de onda 2D simples em uma textura de feedback (Saurel, 2026, <a href="https://www.4rknova.com/blog/2026/02/08/raindrops-on-puddle" target="_blank" rel="noreferrer">Blog</a>). Cada gota cria uma ondulação que se propaga para fora e se dissipa. A textura de onda modula o mapa de normais da poça, criando padrões de ondulação convincentes a 60 fps.</p>
<h3 id="pegadas-e-deformacao-do-terreno" tabindex="-1">Pegadas e Deformação do Terreno <a class="header-anchor" href="#pegadas-e-deformacao-do-terreno" aria-label="Permalink to &quot;Pegadas e Deformação do Terreno&quot;"></a></h3>
<p>Quando um jogador caminha sobre terreno macio (areia, neve, lama), as pegadas aumentam a sensação de presença física. A técnica: manter uma pequena textura de deformação por chunk (64x64 pixels = 4 KB) que armazena deslocamentos de altura. Quando um personagem pisa em terreno macio, carimbe o formato de uma pegada na textura de deformação.</p>
<p>O vertex shader do terreno lê a textura de deformação e subtrai o deslocamento da altura. O fragment shader do terreno escurece a área da pegada (solo compactado é mais escuro) e aumenta a rugosidade (superfície remexida).</p>
<p>As pegadas desaparecem com o tempo (a neve volta a preenchê-las, a chuva apaga as marcas na lama) por meio da zeragem gradual da textura de deformação. A velocidade de desaparecimento depende do clima: rápida na chuva e lenta em condições secas.</p>
<p>Em um mundo multijogador, os dados das pegadas são efêmeros e locais. Cada cliente gera pegadas para os jogadores visíveis. A textura de deformação não precisa ser sincronizada entre os clientes (cada um vê sua própria versão das pegadas temporárias). Isso evita o custo de rede de transmitir cada passo.</p>
<h3 id="ceu-procedural-e-ciclo-de-dia-e-noite" tabindex="-1">Céu Procedural e Ciclo de Dia e Noite <a class="header-anchor" href="#ceu-procedural-e-ciclo-de-dia-e-noite" aria-label="Permalink to &quot;Céu Procedural e Ciclo de Dia e Noite&quot;"></a></h3>
<p>O céu é a maior superfície visível em qualquer mundo aberto. Ele define a atmosfera de todo o terreno.</p>
<p>O Three.js tem um <a href="https://discourse.threejs.org/t/complete-sky-system-for-three-js-skybox-sun-moon-day-night-cycle-clouds-stars-lensflares/88311" target="_blank" rel="noreferrer">sistema de céu completo</a> que inclui sol e lua procedurais, ciclo de dia e noite, nuvens, estrelas e reflexos de lente. O exemplo <code>Sky</code> integrado ao Three.js (também disponível em <a href="https://threejs.org/examples/webgpu_sky.html" target="_blank" rel="noreferrer">WebGPU</a>) implementa o modelo analítico de céu de Preetham.</p>
<p>Para resultados fisicamente mais precisos, o <a href="https://jolifantobambla.github.io/webgpu-sky-atmosphere/" target="_blank" rel="noreferrer">webgpu-sky-atmosphere</a> implementa o modelo atmosférico de Hillaire como um pós-processamento em WebGPU. Ele é compatível com múltiplas funções de fase de espalhamento e produz, a partir de princípios físicos, perspectiva aérea correta (terrenos distantes parecem mais nebulosos), cores do sol e do pôr do sol e gradientes do céu.</p>
<p>O <a href="https://dev.to/the_lone_engineer/terrainview7-full-scale-planet-rendering-in-webgpu-emscripten-now-with-precomputed-atmospheric-18ik" target="_blank" rel="noreferrer">TerrainView7</a> demonstra a renderização de planetas em escala completa no WebGPU com espalhamento atmosférico pré-calculado, provando que a renderização atmosférica fisicamente precisa funciona em um navegador.</p>
<p>Em um mundo de criação, os parâmetros do céu (posição do sol, cobertura de nuvens e densidade da névoa) são sincronizados entre todos os clientes a partir do relógio mundial do servidor. O shader do céu é executado localmente em cada cliente, produzindo iluminação consistente para todos os jogadores.</p>
<h3 id="iluminacao-do-terreno-iluminacao-indireta" tabindex="-1">Iluminação do Terreno: Iluminação Indireta <a class="header-anchor" href="#iluminacao-do-terreno-iluminacao-indireta" aria-label="Permalink to &quot;Iluminação do Terreno: Iluminação Indireta&quot;"></a></h3>
<p>A luz solar direta é tratada por mapas de sombras. Porém, a cor e o brilho do terreno na sombra (luz ambiente/indireta) são igualmente importantes para a qualidade visual. Sombras completamente pretas parecem erradas. Elas devem ser tingidas pela cor do céu (azul em um dia de céu limpo, cinza em um dia nublado).</p>
<p>Para um mundo executado no navegador, a abordagem prática é:</p>
<p>A <strong>iluminação indireta em espaço de tela</strong> com máscara de bits de visibilidade (Jimenez et al., 2023, <a href="https://export.arxiv.org/pdf/2301.11376v2.pdf" target="_blank" rel="noreferrer">Artigo</a>) aprimora o SSAO padrão ao rastrear 32 setores direcionais de visibilidade por pixel. Isso captura não apenas o quanto um ponto está ocluído, mas também a direção da oclusão. Superfícies finas permitem corretamente a passagem da luz vinda do outro lado. O resultado é uma iluminação indireta que reage à geometria próxima sem exigir uma infraestrutura de iluminação global.</p>
<p>O custo é comparável ao do SSAO (1 a 2 ms). A melhoria visual é significativa: o terreno em cânions recebe luz refletida pelas paredes do cânion. As partes inferiores de saliências são iluminadas pelo reflexo do solo. O efeito se combina ao espalhamento atmosférico do shader do céu para produzir uma iluminação ambiente com base física.</p>
<h2 id="integracao-da-fisica-do-terreno" tabindex="-1">Integração da Física do Terreno <a class="header-anchor" href="#integracao-da-fisica-do-terreno" aria-label="Permalink to &quot;Integração da Física do Terreno&quot;"></a></h2>
<h3 id="colliders-de-campo-de-altura-do-rapier" tabindex="-1">Colliders de Campo de Altura do Rapier <a class="header-anchor" href="#colliders-de-campo-de-altura-do-rapier" aria-label="Permalink to &quot;Colliders de Campo de Altura do Rapier&quot;"></a></h3>
<p>O motor de física WASM do Rapier oferece colliders nativos de campo de altura otimizados para terrenos. Criar um collider de terreno é simples:</p>
<div class="language-typescript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> heights</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> new</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> Float32Array</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">65</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> *</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 65</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// Fill with heightmap data...</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> groundCollider</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> RAPIER</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">.ColliderDesc.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">heightfield</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  64</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">64</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, heights, </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">new</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> RAPIER</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">Vector3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">64.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">100.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">64.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">world.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">createCollider</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(groundCollider);</span></span></code></pre>
</div><p>O collider de campo de altura usa a grade estruturada para consultas eficientes na fase ampla. O raycast contra um campo de altura tem complexidade O(log n), em vez de O(n) para uma malha de triângulos. Em um chunk de 65x65, as consultas de colisão são resolvidas em microssegundos.</p>
<p>Para chunks com terreno volumétrico (sobreposições de SDF), gere uma malha de triângulos a partir da saída do marching cubes e use um collider de malha triangular. Isso é mais custoso do que um collider de campo de altura, mas lida com geometria arbitrária. Gere colliders de malha triangular apenas para os 3 a 5 chunks mais próximos do jogador. Chunks distantes não precisam de física.</p>
<p><strong>Desempenho:</strong> O collider de campo de altura do Rapier para um chunk de 65x65 adiciona aproximadamente 0,1 ms por passo de física às consultas do controlador de personagem. Cinco chunks ativos com colliders de campo de altura: 0,5 ms. Um collider de malha triangular para um chunk volumétrico: 0,2 a 0,5 ms. Orçamento total para a física do terreno: menos de 1 ms, bem dentro do orçamento de 2 a 3 ms para a física do mundo inteiro.</p>
<h3 id="controlador-de-personagem-sensivel-ao-terreno" tabindex="-1">Controlador de Personagem Sensível ao Terreno <a class="header-anchor" href="#controlador-de-personagem-sensivel-ao-terreno" aria-label="Permalink to &quot;Controlador de Personagem Sensível ao Terreno&quot;"></a></h3>
<p>O controlador de personagem precisa reagir às propriedades do terreno:</p>
<ul>
<li><strong>Limitação de inclinação:</strong> O personagem pode caminhar em inclinações de até 45 graus. Inclinações mais acentuadas fazem com que ele deslize. Isso usa a normal do terreno na posição do personagem (calculada de forma econômica a partir do gradiente do mapa de altura).</li>
<li><strong>Resposta ao material da superfície:</strong> Caminhar sobre rocha produz sons de passos e uma velocidade de movimento diferentes de caminhar sobre areia ou lama. O splat map do terreno fornece o material da superfície em qualquer ponto.</li>
<li><strong>Subida de degraus:</strong> O personagem pode subir saliências de até 0,5 metro. O <code>KinematicCharacterController</code> do Rapier cuida disso automaticamente com uma altura de degrau configurável.</li>
</ul>
<h2 id="edicao-interativa-de-terreno-no-navegador" tabindex="-1">Edição Interativa de Terreno no Navegador <a class="header-anchor" href="#edicao-interativa-de-terreno-no-navegador" aria-label="Permalink to &quot;Edição Interativa de Terreno no Navegador&quot;"></a></h2>
<p>Em um mundo de criação, o terreno não é apenas gerado. Ele é esculpido, modificado e remodelado pelos jogadores. As ferramentas de edição precisam ser responsivas (feedback visual instantâneo) e conectadas em rede (outros jogadores veem as alterações em poucos segundos).</p>
<h3 id="editor-de-sdf-em-webgpu" tabindex="-1">Editor de SDF em WebGPU <a class="header-anchor" href="#editor-de-sdf-em-webgpu" aria-label="Permalink to &quot;Editor de SDF em WebGPU&quot;"></a></h3>
<p>O <a href="https://reindernijhoff.net/2026/01/webgpu-sdf-editor-real-time-signed-distance-field-modeling/" target="_blank" rel="noreferrer">Editor de SDF em WebGPU</a> de Reinder Nijhoff demonstra que a modelagem SDF completa já funciona no navegador. O editor oferece:</p>
<ul>
<li><strong>Seis formas primitivas</strong> (esfera, caixa, cone, cilindro, cápsula e toro) com posição, rotação e escala</li>
<li><strong>Operações booleanas</strong> (união, subtração e interseção) com mesclagem suave e raios de mesclagem configuráveis</li>
<li><strong>Grafos de cena hierárquicos</strong> com grupos e operações aninhadas</li>
<li><strong>Renderização em tempo real</strong> usando vários estágios de compute shaders na GPU, particionamento espacial baseado em octree em 16.384 células de grade e extração de superfície por marching cubes ou surface nets</li>
<li><strong>Antisserrilhamento temporal e oclusão de ambiente</strong> por meio de mapas de sombras</li>
</ul>
<p>Cada primitiva é armazenada como 28 floats (112 bytes) em um único buffer da GPU. Essa representação compacta significa que uma edição de terreno complexa (dezenas de primitivas SDF definindo a entrada de uma caverna, um arco ou a face esculpida de um penhasco) ocupa menos de 5 KB e é sincronizada instantaneamente com outros jogadores.</p>
<p>Em um mundo de criação, o fluxo de edição com SDF é assim:</p>
<ol>
<li>O criador seleciona uma ferramenta de escultura (adicionar esfera, subtrair caixa, mesclagem suave)</li>
<li>Clica e arrasta no mundo para posicionar e dimensionar a primitiva SDF</li>
<li>O cliente executa imediatamente o marching cubes no SDF modificado para atualizar a malha local (feedback em &lt;16 ms)</li>
<li>A edição SDF (tipo da primitiva + transformação + modo de mesclagem, ~100 bytes) é enviada ao servidor</li>
<li>O servidor valida a edição (está dentro do lote do criador e não cruza áreas protegidas) e a transmite aos jogadores próximos</li>
<li>Os clientes dos outros jogadores aplicam a edição SDF e regeneram sua malha local</li>
</ol>
<p>O tempo total de ida e volta para que uma edição fique visível aos demais é de 100 a 300 ms, dependendo da latência da rede. O criador vê sua edição instantaneamente porque ela é aplicada localmente antes da confirmação do servidor.</p>
<h3 id="edicao-de-mapa-de-altura-com-pinceis" tabindex="-1">Edição de Mapa de Altura com Pincéis <a class="header-anchor" href="#edicao-de-mapa-de-altura-com-pinceis" aria-label="Permalink to &quot;Edição de Mapa de Altura com Pincéis&quot;"></a></h3>
<p>Para a camada de mapa de altura (os 90% do terreno que não precisam de recursos volumétricos), funciona um modelo de edição mais simples. O criador pinta modificações de altura com um pincel:</p>
<ul>
<li><strong>Elevar/rebaixar:</strong> Adiciona ou subtrai altura dentro de um raio com atenuação</li>
<li><strong>Suavizar:</strong> Calcula a média das alturas dentro de um raio, removendo características abruptas</li>
<li><strong>Achatar:</strong> Define todas as alturas dentro de um raio para um valor-alvo</li>
<li><strong>Pincel de erosão:</strong> Aplica localmente algumas etapas de erosão hidráulica dentro do raio do pincel</li>
</ul>
<p>A edição do mapa de altura é um delta: um pequeno trecho de alterações de altura sobreposto ao terreno-base. O trecho de delta é minúsculo (uma grade de 32x32 com deslocamentos de altura de 16 bits = 2 KB) e é sincronizado com outros jogadores em uma única mensagem. Vários trechos de delta se acumulam por chunk e são mesclados periodicamente no servidor ao mapa de altura persistente do chunk.</p>
<h3 id="restricoes-de-edicao-colaborativa" tabindex="-1">Restrições de Edição Colaborativa <a class="header-anchor" href="#restricoes-de-edicao-colaborativa" aria-label="Permalink to &quot;Restrições de Edição Colaborativa&quot;"></a></h3>
<p>Quando vários criadores editam o mesmo chunk simultaneamente, o sistema precisa de regras:</p>
<ul>
<li><strong>Bloqueio espacial:</strong> Apenas um criador pode editar uma determinada sub-região de 8x8 metros por vez. O bloqueio é adquirido quando o criador inicia uma pincelada de edição e liberado quando ele solta o pincel. Os bloqueios expiram após 10 segundos de inatividade.</li>
<li><strong>Edições sem sobreposição:</strong> Se dois criadores editarem partes diferentes do mesmo chunk, ambas as edições serão aplicadas sem conflito (elas modificam células diferentes do mapa de altura ou regiões SDF diferentes).</li>
<li><strong>Edições sobrepostas:</strong> Se dois criadores editarem o mesmo local, o servidor serializa as edições na ordem de chegada. Ambos os clientes veem o mesmo resultado final após a reconciliação.</li>
</ul>
<p>Isso é mais simples do que a abordagem CRDT completa usada para objetos posicionados, pois as edições de terreno são operações aditivas em um campo contínuo (alturas, distâncias SDF), e não estados de objetos discretos.</p>
<h2 id="geometria-virtual-no-estilo-nanite-em-webgpu" tabindex="-1">Geometria Virtual no Estilo Nanite em WebGPU <a class="header-anchor" href="#geometria-virtual-no-estilo-nanite-em-webgpu" aria-label="Permalink to &quot;Geometria Virtual no Estilo Nanite em WebGPU&quot;"></a></h2>
<p>O Nanite do Unreal Engine 5 renderiza bilhões de triângulos criando um DAG de clusters (grafo acíclico direcionado) no momento da compilação e selecionando o LOD correto por cluster durante a execução, com base no erro em espaço de tela. Todo o pipeline é executado na GPU. Essa abordagem foi portada para o WebGPU.</p>
<h3 id="nanite-webgpu" tabindex="-1">Nanite WebGPU <a class="header-anchor" href="#nanite-webgpu" aria-label="Permalink to &quot;Nanite WebGPU&quot;"></a></h3>
<div class="img-embed">
<img src="https://cdn.cinevva.com/blog/nanite-webgpu-scene.png" alt="Nanite WebGPU renderizando uma cena complexa com vários objetos em um navegador usando hierarquia de LOD de meshlets e rasterizador por software" />
</div>
<div class="game-caption">Nanite WebGPU renderizando uma cena completa no Chrome com LOD de meshlets, rasterização por software em compute shaders WGSL e descarte por frustum e oclusão para cada meshlet. Nenhum plugin nativo — WebGPU puro.</div>
<p>O <a href="https://scthe.github.io/nanite-webgpu/" target="_blank" rel="noreferrer">Nanite WebGPU</a> de Scthe (mais de 1,1 mil estrelas no GitHub) é uma implementação completa para navegador da arquitetura principal do Nanite:</p>
<ul>
<li><strong>Hierarquia de LOD de meshlets</strong> criada offline usando a geração de clusters do meshoptimizer</li>
<li><strong>Rasterizador por software</strong> implementado em compute shaders WGSL (operando dentro das limitações do WebGPU, em que a rasterização por hardware não consegue executar desenhos por cluster com eficiência)</li>
<li><strong>Descarte por instância e por meshlet</strong> usando testes de frustum e oclusão</li>
<li><strong>Impostores em billboard</strong> para objetos extremamente distantes</li>
<li><strong>Suporte a texturas e normais por vértice</strong>
O pipeline: as malhas são divididas em clusters de aproximadamente 128 triângulos. Clusters vizinhos são agrupados, e cada grupo é simplificado (usando meshoptimizer), preservando os limites compartilhados. Esse processo se repete recursivamente até que toda a malha seja reduzida a um único cluster. Em tempo de execução, um compute shader percorre o DAG e seleciona, para cada grupo, o cluster mais simplificado que produza menos de 1 pixel de erro na resolução atual da tela.</li>
</ul>
<p>O <strong>THREE-Nanite</strong> é uma implementação emergente para Three.js que alcança de 20 a 40 fps em hardware gráfico integrado ao lidar com centenas de milhares de triângulos. Ela demonstra que a renderização no estilo Nanite é viável até mesmo em hardware de baixo desempenho para navegadores.</p>
<h3 id="meshoptimizer-a-base-do-pipeline-de-lod" tabindex="-1">meshoptimizer: a base do pipeline de LOD <a class="header-anchor" href="#meshoptimizer-a-base-do-pipeline-de-lod" aria-label="Permalink to &quot;meshoptimizer: a base do pipeline de LOD&quot;"></a></h3>
<p>O <a href="https://meshoptimizer.org/" target="_blank" rel="noreferrer">meshoptimizer</a> (de Arseny Kapoulkine) é a biblioteca por trás da maioria dos pipelines de LOD compatíveis com navegadores. A versão 1.0 (2025) oferece:</p>
<ul>
<li><strong>Simplificação de malhas</strong> com métricas de erro (quanto a forma mudou, usado para a seleção de LOD)</li>
<li><strong>Geração de clusters</strong> para hierarquias de meshlets no estilo Nanite</li>
<li><strong>Otimização do cache de vértices</strong> para uma ordenação de triângulos eficiente para a GPU</li>
<li><strong>Otimização de overdraw</strong> para reduzir o custo do pixel shader</li>
<li><strong>Quantização e compressão de vértices</strong> para downloads menores</li>
</ul>
<p>O meshoptimizer 1.0 (lançado em dezembro de 2025) inclui um novo arquivo de cabeçalho único, <code>clusterlod.h</code>, que implementa diretamente o LOD contínuo no estilo Nanite. Ele constrói uma hierarquia de clusters que são progressivamente agrupados e simplificados, podendo ser usada como está ou como referência para um pipeline personalizado. Esse é exatamente o primitivo de DAG de clusters de que o pipeline de terreno precisa para o LOD de malhas de SDF/marching cubes.</p>
<p>Para nosso pipeline de terreno, o meshoptimizer processa a saída de marching cubes do terreno SDF, transformando-a em malhas otimizadas e agrupadas em clusters com hierarquias de LOD. O processamento offline é executado no servidor. O navegador recebe malhas previamente agrupadas e realiza a seleção de LOD orientada pela GPU em tempo de execução.</p>
<p>A combinação do meshoptimizer para geração de LOD com computação WebGPU para seleção em tempo de execução oferece ao terreno no navegador o mesmo padrão arquitetural do Nanite, adaptado às restrições da web.</p>
<h2 id="design-de-niveis-orientado-pelo-terreno" tabindex="-1">Design de níveis orientado pelo terreno <a class="header-anchor" href="#design-de-niveis-orientado-pelo-terreno" aria-label="Permalink to &quot;Design de níveis orientado pelo terreno&quot;"></a></h2>
<p>O terreno não é apenas uma superfície sobre a qual caminhar. Sua forma orienta o movimento dos jogadores, direciona a atenção e cria o ritmo emocional da exploração. Os melhores mundos abertos usam o terreno como ferramenta de design.</p>
<h3 id="linhas-de-visao-e-pontos-de-referencia" tabindex="-1">Linhas de visão e pontos de referência <a class="header-anchor" href="#linhas-de-visao-e-pontos-de-referencia" aria-label="Permalink to &quot;Linhas de visão e pontos de referência&quot;"></a></h3>
<p>O <a href="https://book.leveldesignbook.com/process/blockout/wayfinding" target="_blank" rel="noreferrer">capítulo sobre orientação</a> do Level Design Book documenta como a elevação do terreno controla o que os jogadores veem e para onde vão. Uma crista esconde o que existe além dela, despertando curiosidade. Um vale canaliza o movimento em direção ao seu ponto mais baixo. Um ponto de referência alto (torre, pico de montanha, árvore incomum), visível à distância, oferece aos jogadores um objetivo para o qual caminhar.</p>
<p>Para um mundo de criadores, isso significa que a geração de terreno deve produzir elementos naturais de orientação. As linhas de crista devem interromper as linhas de visão, criando &quot;momentos de revelação&quot; quando um jogador chega ao topo de uma colina e avista uma nova área. Os vales devem convergir para locais interessantes. Devem existir pontos elevados onde os criadores possam posicionar marcos visíveis de longe.</p>
<h3 id="exploracao-movida-pela-curiosidade" tabindex="-1">Exploração movida pela curiosidade <a class="header-anchor" href="#exploracao-movida-pela-curiosidade" aria-label="Permalink to &quot;Exploração movida pela curiosidade&quot;"></a></h3>
<p>Uma pesquisa da Universidade Purdue (<a href="https://web.ics.purdue.edu/~cmousas/papers/conf22-FDG-SpatialExploration.pdf" target="_blank" rel="noreferrer">Artigo</a>) identifica quatro gatilhos para a exploração espacial:</p>
<ol>
<li><strong>Alcançar pontos extremos</strong> (o pico mais alto, a borda mais distante, a caverna mais profunda). O terreno deve ter extremos claros que recompensem quem os alcança.</li>
<li><strong>Desvendar obstruções visuais</strong> (o que há atrás daquele penhasco? Dentro daquela caverna?). Um terreno que bloqueia a visão motiva o movimento para descobrir o que está escondido.</li>
<li><strong>Objetos fora de contexto</strong> (uma estrutura na natureza selvagem, uma luz na escuridão). Objetos posicionados pelos criadores em contraste com o terreno natural atraem a atenção.</li>
<li><strong>Compreender conexões espaciais</strong> (como este vale se conecta àquela costa?). Um terreno que cria uma geografia legível incentiva a leitura do mapa e o planejamento de rotas.</li>
</ol>
<h3 id="plotmap-posicionamento-de-pois-assistido-por-ia" tabindex="-1">PlotMap: posicionamento de POIs assistido por IA <a class="header-anchor" href="#plotmap-posicionamento-de-pois-assistido-por-ia" aria-label="Permalink to &quot;PlotMap: posicionamento de POIs assistido por IA&quot;"></a></h3>
<p>O PlotMap (<a href="https://arxiv.org/html/2309.15242v4" target="_blank" rel="noreferrer">arXiv:2309.15242</a>) automatiza a disposição de pontos de interesse usando requisitos narrativos (esta missão precisa de uma vila perto de um rio, aquela missão precisa de uma ruína no topo de uma colina) e encontrando locais no terreno que atendam às restrições espaciais. Para um mundo de criadores, um sistema semelhante poderia sugerir onde posicionar estruturas com base nas propriedades do terreno: &quot;este topo de colina tem boas linhas de visão para uma torre de vigia&quot;, &quot;este vale protegido seria adequado para uma vila&quot;.</p>
<h2 id="agua-corrente-e-cachoeiras" tabindex="-1">Água corrente e cachoeiras <a class="header-anchor" href="#agua-corrente-e-cachoeiras" aria-label="Permalink to &quot;Água corrente e cachoeiras&quot;"></a></h2>
<p>Rios e cachoeiras são elementos do terreno que combinam apelo visual com som ambiente e possibilidades de jogabilidade (água como barreira, recurso ou caminho).</p>
<h3 id="renderizacao-de-rios" tabindex="-1">Renderização de rios <a class="header-anchor" href="#renderizacao-de-rios" aria-label="Permalink to &quot;Renderização de rios&quot;"></a></h3>
<p>Em mundos abertos, os rios costumam ser renderizados como faixas texturizadas que acompanham a superfície do terreno. A malha da faixa é gerada a partir da spline do rio (armazenada como pontos de controle) e projetada sobre o mapa de altura do terreno. O shader do rio aplica:</p>
<ul>
<li><strong>UVs alinhadas ao fluxo</strong> que se deslocam na direção do rio, criando a aparência de água corrente</li>
<li><strong>Espuma nas margens</strong>, onde o rio encontra a borda (baseada em profundidade, semelhante à espuma do litoral)</li>
<li><strong>Variação de velocidade</strong> baseada na largura do canal (trechos estreitos fluem mais rápido, enquanto trechos largos ficam mais lentos)</li>
<li><strong>Transparência com cor baseada em profundidade</strong> (águas rasas são claras; águas profundas são escuras)</li>
</ul>
<p>Para um mundo no navegador, os dados do rio são compactos: uma spline (20 a 50 pontos de controle por segmento de rio, aproximadamente 400 bytes), além dos parâmetros de largura e velocidade do fluxo. O cliente gera localmente a malha do rio projetando a spline sobre a superfície do terreno.</p>
<h3 id="renderizacao-de-cachoeiras" tabindex="-1">Renderização de cachoeiras <a class="header-anchor" href="#renderizacao-de-cachoeiras" aria-label="Permalink to &quot;Renderização de cachoeiras&quot;"></a></h3>
<p>Onde um rio despenca por um penhasco, um sistema de partículas de cachoeira substitui a superfície plana do rio. A abordagem híbrida da pesquisa sobre simulação de água em tempo real (<a href="https://diglib.eg.org/items/d0320015-4b07-416b-8f41-047485c9f7f3" target="_blank" rel="noreferrer">EG</a>) funciona assim: regiões que não podem ser representadas por um campo de altura (cachoeiras, respingos) são convertidas em partículas de névoa, respingos e espuma que trocam massa e momento com a simulação de fluido.</p>
<p>Para um mundo no navegador, as cachoeiras são mais simples: detecte onde a spline do rio cruza uma descontinuidade de altura do terreno, gere um sistema de partículas nesse ponto com velocidade descendente e adicione um respingo de espuma na base. As partículas são quads instanciados pela GPU com texturas alfa em movimento. São 500 partículas por cachoeira, em uma única chamada de desenho. O som da água caindo usa a Web Audio API com atenuação por distância.</p>
<h2 id="impostores-para-elementos-distantes-do-terreno" tabindex="-1">Impostores para elementos distantes do terreno <a class="header-anchor" href="#impostores-para-elementos-distantes-do-terreno" aria-label="Permalink to &quot;Impostores para elementos distantes do terreno&quot;"></a></h2>
<p>Árvores, rochas, construções e outros elementos do terreno ficam minúsculos à distância. Renderizá-los como malhas 3D completas desperdiça ciclos da GPU. Impostores substituem objetos distantes por imagens planas pré-renderizadas voltadas para a câmera.</p>
<h3 id="atlas-de-impostores-octaedricos" tabindex="-1">Atlas de impostores octaédricos <a class="header-anchor" href="#atlas-de-impostores-octaedricos" aria-label="Permalink to &quot;Atlas de impostores octaédricos&quot;"></a></h3>
<p>Um impostor octaédrico captura a aparência de um objeto 3D de vários ângulos de visualização e armazena essas imagens em um atlas de texturas. Em tempo de execução, o shader amostra o atlas com base na direção atual da visualização, interpolando entre os dois ângulos capturados mais próximos.</p>
<p>Um atlas hemioctaédrico (apenas com vistas do hemisfério superior, já que raramente se olha para árvores de baixo para cima) oferece o dobro da resolução angular de um atlas octaédrico completo com o mesmo tamanho de textura. O sistema de impostores da Unity relata uma redução do tempo de quadro de 111 ms para 5,78 ms ao trocar 1.600 instâncias de árvores de malhas reais (140 mil triângulos cada) por impostores.</p>
<p>Para um mundo no navegador, o pipeline de impostores é:</p>
<ol>
<li>No servidor: renderizar cada asset de 16 a 32 ângulos de visualização, capturando cor, normal e profundidade</li>
<li>Empacotar tudo em uma textura de atlas (um atlas por asset, aproximadamente 256x256 pixels, &lt;100 KB como KTX2)</li>
<li>Em tempo de execução: instâncias além da distância de impostor (normalmente entre 100 e 200 m) são renderizadas como billboards que amostram o atlas</li>
<li>Fazer uma transição gradual entre a malha e o impostor ao longo de uma zona de transição de 20 m para ocultar a troca</li>
</ol>
<h3 id="billboard-splatting-bbsplat" tabindex="-1">Billboard Splatting (BBSplat) <a class="header-anchor" href="#billboard-splatting-bbsplat" aria-label="Permalink to &quot;Billboard Splatting (BBSplat)&quot;"></a></h3>
<p>O Billboard Splatting (2024, <a href="https://arxiv.org/abs/2411.08508" target="_blank" rel="noreferrer">arXiv:2411.08508</a>) leva essa abordagem mais longe usando primitivas planas texturizadas treináveis. Em vez de vistas pré-renderizadas, o BBSplat otimiza as posições e texturas dos billboards para representar da melhor forma possível o objeto 3D de qualquer ângulo. Isso alcança uma compressão até 17 vezes maior em comparação com o 3D Gaussian Splatting, mantendo a aparência dependente do ponto de vista. Para elementos distantes do terreno em um mundo no navegador, o BBSplat poderia reduzir o armazenamento de impostores por asset e, ao mesmo tempo, melhorar a cobertura angular.</p>
<h2 id="ferramentas-profissionais-de-terreno-e-o-que-elas-ensinam" tabindex="-1">Ferramentas profissionais de terreno e o que elas ensinam <a class="header-anchor" href="#ferramentas-profissionais-de-terreno-e-o-que-elas-ensinam" aria-label="Permalink to &quot;Ferramentas profissionais de terreno e o que elas ensinam&quot;"></a></h2>
<p>Antes de criar um pipeline de terreno do zero, vale a pena entender o que as ferramentas profissionais offline fazem. Essas ferramentas representam décadas de pesquisa em geração de terrenos transformadas em fluxos de trabalho de produção.</p>
<p>O <strong>Gaea</strong> (QuadSpinner) é acelerado por GPU e oferece feedback quase instantâneo sobre as alterações. Ele permite compilações em blocos de até 2 milhões de pixels por lado, exportação automática de malhas com LOD e um grafo baseado em nós no qual cada nó representa um processo físico (erosão, sedimentação, soerguimento, intemperismo térmico). Os nós de erosão do Gaea produzem terrenos que parecem esculpidos à mão porque modelam processos físicos específicos, em vez de ruído genérico. O principal insight: o Gaea não usa um único algoritmo de erosão. Ele oferece nós separados para erosão fluvial (escavação por rios), erosão térmica (desmoronamento de penhascos), erosão costeira (ação das ondas) e erosão eólica (formação de dunas de areia). Combiná-los em um grafo produz terrenos com as características geológicas de um clima específico.</p>
<p>O <strong>World Machine</strong> adota uma abordagem semelhante baseada em grafos, com foco na macroestrutura do terreno. Seu &quot;gerador de layout&quot; permite que artistas esbocem a forma aproximada dos elementos do terreno (montanha aqui, vale ali, litoral ao longo desta borda), e o sistema preenche o restante com detalhes fisicamente plausíveis. Esse é exatamente o fluxo de trabalho que queremos para os criadores: esboçar a intenção e obter a geologia.</p>
<p>O <strong>World Creator</strong> se diferencia pela visualização em tempo real durante a edição e pela geração integrada de rios, que analisa o terreno e calcula automaticamente as trajetórias de fluxo com base em análise de drenagem.</p>
<p><strong>O que aproveitamos dessas ferramentas:</strong> A abordagem de grafo de nós para combinar processos físicos é mais poderosa do que qualquer algoritmo isolado. Nosso pipeline de geração no servidor deve permitir o encadeamento: base de ruído &gt; soerguimento tectônico &gt; erosão hidráulica &gt; intemperismo térmico &gt; erosão costeira &gt; vegetação. Os criadores controlam os parâmetros em cada etapa. O pipeline é executado no servidor em segundos e produz mapas de altura, splat maps e mapas de densidade de vegetação.</p>
<h3 id="soilmachine-geomorfologia-de-codigo-aberto" tabindex="-1">SoilMachine: geomorfologia de código aberto <a class="header-anchor" href="#soilmachine-geomorfologia-de-codigo-aberto" aria-label="Permalink to &quot;SoilMachine: geomorfologia de código aberto&quot;"></a></h3>
<div class="img-embed">
<img src="https://cdn.cinevva.com/blog/soilmachine-banner.png" alt="SoilMachine: simulador modular de geomorfologia de código aberto mostrando terreno com erosão hidráulica, térmica e eólica acopladas" />
</div>
<div class="game-caption">O SoilMachine acopla erosão hidráulica, térmica e eólica em um único modelo de terreno em camadas. A estrutura de dados multicamada permite recursos que mapas de altura não conseguem representar: cavernas, saliências, morros-testemunho e distribuições de água subterrânea.</div>
<p>O <a href="https://github.com/weigert/soilmachine" target="_blank" rel="noreferrer">SoilMachine</a> é um simulador modular de geomorfologia de código aberto que acopla vários sistemas de erosão (hidráulica, térmica e eólica) ao transporte e à deposição de sedimentos. Desenvolvido em C++ com computação na GPU, ele oferece uma implementação de referência da abordagem de erosão com múltiplos processos usada por ferramentas profissionais.</p>
<p>A biblioteca relacionada <a href="https://github.com/erosiv/soillib" target="_blank" rel="noreferrer">soillib</a> (C++20, licença MIT) fornece os primitivos subjacentes de simulação geomorfológica como uma biblioteca reutilizável. E o <a href="https://github.com/ger0/hydro-gen" target="_blank" rel="noreferrer">hydro-gen</a> implementa erosão hidráulica baseada tanto em grade (águas rasas) quanto em partículas (gotas de chuva), usando compute shaders OpenGL com ajuste de parâmetros em tempo real.</p>
<p>Essas ferramentas de código aberto poderiam ser adaptadas para nosso pipeline de geração no servidor. As implementações em compute shaders podem ser traduzidas diretamente para WebGPU caso algum dia queiramos executar a erosão no navegador para oferecer feedback em tempo real aos criadores.</p>
<h2 id="materiais-de-terreno-multicamada" tabindex="-1">Materiais de terreno multicamada <a class="header-anchor" href="#materiais-de-terreno-multicamada" aria-label="Permalink to &quot;Materiais de terreno multicamada&quot;"></a></h2>
<p>O terreno real não é uma única superfície. Ele é composto por camadas: rocha matriz na base, solo por cima e neve ou areia acumulando-se sobre as superfícies. As camadas dinâmicas alteram a aparência do terreno conforme as estações, o clima e as ações dos criadores.</p>
<h3 id="representacao-por-campo-de-altura-em-camadas" tabindex="-1">Representação por campo de altura em camadas <a class="header-anchor" href="#representacao-por-campo-de-altura-em-camadas" aria-label="Permalink to &quot;Representação por campo de altura em camadas&quot;"></a></h3>
<p>Em vez de um único mapa de altura, use várias camadas de altura por célula da grade:</p>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>Cell {</span></span>
<span class="line"><span>  bedrock_height: f16,    // permanent rock surface</span></span>
<span class="line"><span>  soil_height: f16,       // accumulated soil/sediment above bedrock</span></span>
<span class="line"><span>  snow_height: f16,       // dynamic snow accumulation</span></span>
<span class="line"><span>  water_height: f16       // standing water depth</span></span>
<span class="line"><span>}</span></span></code></pre>
</div><p>Total: 8 bytes por célula (em comparação com 2 bytes para um único mapa de altura). Para um chunk de 65x65, isso representa 34 KB antes da compressão. Ainda é compacto.</p>
<p>A superfície visual é <code>bedrock + soil + snow</code>. O shader do terreno lê todas as camadas e mistura os materiais de acordo: onde o solo é fino, a rocha fica exposta. Onde a neve se acumulou, a superfície fica branca. Onde a água se acumula, surgem poças ou lagos.</p>
<h3 id="acumulo-dinamico" tabindex="-1">Acúmulo dinâmico <a class="header-anchor" href="#acumulo-dinamico" aria-label="Permalink to &quot;Acúmulo dinâmico&quot;"></a></h3>
<p>A neve se acumula em superfícies planas voltadas para cima durante uma nevasca. A taxa de acúmulo depende da normal da superfície (encostas íngremes não retêm neve), da temperatura (dependente da altitude) e da proteção (áreas sob saliências permanecem limpas). Uma passagem de compute shader atualiza a camada de neve uma vez por ciclo meteorológico (a cada poucos segundos).</p>
<p>O acúmulo de areia funciona de forma semelhante, com deposição impulsionada pelo vento. O vento transporta partículas de superfícies expostas e as deposita atrás de obstáculos e em áreas protegidas.</p>
<p>Para um mundo de criadores, o acúmulo dinâmico faz com que o terreno pareça diferente conforme o clima. A neve cobre o mundo durante uma nevasca e derrete durante um período de tempo aberto. A chuva enche depressões com água. Isso faz com que o mundo pareça responsivo sem que os criadores precisem fazer nada.</p>
<h3 id="erosao-multicamada" tabindex="-1">Erosão multicamada <a class="header-anchor" href="#erosao-multicamada" aria-label="Permalink to &quot;Erosão multicamada&quot;"></a></h3>
<p>O artigo de 2024 &quot;3D Real-Time Hydraulic Erosion Simulation using Multi-Layered Heightmaps&quot; (<a href="https://diglib.eg.org/items/deefa865-6a25-4463-adcd-d8de2b37507e" target="_blank" rel="noreferrer">EG</a>) amplia a erosão para funcionar entre camadas. A água erode o solo mais rapidamente do que a rocha matriz. O sedimento é depositado como uma nova camada de solo. A simulação mantém a integridade das camadas (a rocha matriz permanece abaixo do solo), ao mesmo tempo que permite elementos complexos, como saliências (onde a rocha matriz se projeta sobre o solo erodido abaixo).
Desempenho: aproximadamente 6 ms por etapa de simulação em uma RTX 3070 com resolução de 2048x2048. Isso é rápido o suficiente para geração no servidor, mas lento demais para simulação no navegador a cada quadro. A representação em camadas funciona para a geração de terrenos estáticos, enquanto o acúmulo dinâmico de neve/água é executado como um shader mais leve a cada quadro.</p>
<h2 id="renderizacao-de-grama-rochas-e-detalhes" tabindex="-1">Renderização de Grama, Rochas e Detalhes <a class="header-anchor" href="#renderizacao-de-grama-rochas-e-detalhes" aria-label="Permalink to &quot;Renderização de Grama, Rochas e Detalhes&quot;"></a></h2>
<p>A paisagem precisa de mais do que geometria e texturas de terreno. Ela precisa de folhas de grama que balancem com o vento, rochas espalhadas pelas encostas e pequenos detalhes, como flores, seixos e galhos caídos, que façam as vistas de perto parecerem naturais.</p>
<h3 id="grama-instanciada-por-gpu" tabindex="-1">Grama Instanciada por GPU <a class="header-anchor" href="#grama-instanciada-por-gpu" aria-label="Permalink to &quot;Grama Instanciada por GPU&quot;"></a></h3>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/pzkcM1rfKZw" title="Renderizando 1 Milhão de Folhas de Grama no Unity" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="game-caption">Um milhão de folhas de grama renderizadas com instanciamento por GPU em uma única chamada de desenho. A mesma técnica funciona em Three.js e WebGPU: transformações por instância, animação de vento no shader de vértices e um mapa de densidade para distribuir as folhas a partir dos dados do terreno.</div>
<p>A renderização de grama no navegador é uma técnica bem consolidada no Three.js e funciona por meio de instanciamento por GPU. A abordagem da <a href="https://al-ro.github.io/projects/grass/" target="_blank" rel="noreferrer">demonstração de grama de al-ro</a> renderiza 100.000 folhas de grama com uma única chamada de desenho usando <code>InstancedBufferGeometry</code>.</p>
<p>Cada folha de grama é um quad simples (4-8 triângulos). Os atributos por instância definem posição, altura, direção da curvatura, variação de cor e fase do vento. O shader de vértices:</p>
<ol>
<li>Lê a transformação por instância</li>
<li>Aplica a animação de vento usando ondas senoidais vinculadas à posição no mundo e ao tempo</li>
<li>Curva a folha com base na intensidade do vento (mais curvatura na ponta, nenhuma na base)</li>
<li>Aplica um gradiente de cor (mais escuro na base e mais claro na ponta para simular dispersão subsuperficial)</li>
</ol>
<p><strong>O tutorial de grama volumosa da Codrops</strong> (2025, <a href="https://tympanus.net/codrops/2025/02/04/how-to-make-the-fluffiest-grass-with-three-js/" target="_blank" rel="noreferrer">Tutorial</a>) demonstra uma abordagem de texturização em camadas: renderizar o plano do solo várias vezes com deslocamentos crescentes, com cada camada amostrando uma textura de ruído para criar a aparência de um volume denso de grama. Isso é mais barato do que instanciar folhas individuais para uma cobertura muito densa, mas menos realista de perto.</p>
<p>Em um mundo de criador, a densidade da grama vem do mapa de densidade da vegetação de cada chunk. A GPU distribui as posições das folhas a partir do mapa de densidade durante a renderização. Nenhum dado individual por folha é armazenado ou transmitido. O mapa de densidade é uma grade de 32x32 por chunk (1 KB), e a GPU gera milhares de instâncias de folhas a partir dela.</p>
<h3 id="detalhes-procedurais-de-rochas-e-penhascos" tabindex="-1">Detalhes Procedurais de Rochas e Penhascos <a class="header-anchor" href="#detalhes-procedurais-de-rochas-e-penhascos" aria-label="Permalink to &quot;Detalhes Procedurais de Rochas e Penhascos&quot;"></a></h3>
<p>Paredões e terrenos rochosos precisam de detalhes geométricos que o mapa de altura ou SDF básico não consegue fornecer com uma resolução razoável. Duas abordagens se complementam:</p>
<p><strong>Reconstrução de superfície com mesh shader na GPU</strong> (Raad et al., Eurographics 2025, <a href="https://hal.science/hal-05176868v1/file/Paper_Resurfacing_2024.pdf" target="_blank" rel="noreferrer">Artigo</a>) gera geometria procedural durante a renderização a partir de uma malha de controle de baixa resolução. O mesh shader lê uma superfície de terreno básica e adiciona deslocamentos, fissuras e saliências sem armazenar a geometria detalhada na memória. Isso reduz o uso de VRAM e permite LOD dinâmico.</p>
<p><strong>Distribuição de rochas instanciadas</strong> posiciona malhas de rochas pré-fabricadas em encostas íngremes e bordas de penhascos usando instanciamento por GPU. Um compute shader lê a normal e a inclinação do terreno e distribui instâncias de rochas onde a inclinação ultrapassa um limite. Cada instância é uma pequena malha (200-500 triângulos) com rotação e escala aleatórias. Com instanciamento, 10.000 rochas distribuídas acrescentam um custo de renderização insignificante.</p>
<h3 id="estradas-e-caminhos" tabindex="-1">Estradas e Caminhos <a class="header-anchor" href="#estradas-e-caminhos" aria-label="Permalink to &quot;Estradas e Caminhos&quot;"></a></h3>
<p>Estradas, trilhas e caminhos posicionados pelos criadores precisam se ajustar ao terreno e modificar o material da superfície, substituindo a grama por terra ou pedra.</p>
<p>A abordagem usada por todos os principais motores de jogos é definir o caminho como uma spline (uma série de pontos de controle). Projete a spline sobre a superfície do terreno. Gere uma malha em faixa que acompanhe a spline e fique ligeiramente acima do terreno. Aplique uma textura de estrada à faixa. No shader do terreno, mescle o material do terreno com o material da estrada dentro da largura da spline usando uma textura projetada ou decalque.</p>
<p>Em um mundo de navegador, o criador desenha um caminho sobre o terreno. O cliente gera pontos de controle e os envia ao servidor (algumas dezenas de valores vec3). O servidor armazena a spline. Todos os clientes renderizam localmente a faixa da estrada projetando a spline sobre sua malha de terreno. Os dados da estrada são mínimos (pontos da spline do caminho, talvez 200 bytes), mas o impacto visual é grande: caminhos conectando as construções dos criadores fazem o mundo parecer habitado.</p>
<h2 id="sombras-do-terreno" tabindex="-1">Sombras do Terreno <a class="header-anchor" href="#sombras-do-terreno" aria-label="Permalink to &quot;Sombras do Terreno&quot;"></a></h2>
<p>As sombras do terreno são essenciais para a legibilidade (compreender o relevo) e a atmosfera (o clima de cada horário do dia). Em um mundo aberto, o sol projeta sombras sobre todo o terreno visível.</p>
<h3 id="mapas-de-sombras-em-cascata-csm" tabindex="-1">Mapas de Sombras em Cascata (CSM) <a class="header-anchor" href="#mapas-de-sombras-em-cascata-csm" aria-label="Permalink to &quot;Mapas de Sombras em Cascata (CSM)&quot;"></a></h3>
<p>O CSM divide o frustum de visualização em 3-4 faixas de distância (cascatas). Cada cascata renderiza um mapa de sombras da perspectiva do sol com uma resolução apropriada para sua distância. Cascata próxima: alta resolução (sombras detalhadas sob árvores e construções). Cascata distante: baixa resolução (sombras amplas de montanhas).</p>
<p>Tanto o Three.js quanto o Babylon.js oferecem suporte a CSM. A principal otimização para o terreno é renderizar apenas o terreno no mapa de sombras, e não folhas individuais de grama ou pequenos detalhes. A grama recebe sombras usando o mapa de sombras do terreno, não o seu próprio.</p>
<p><strong>Orçamento de desempenho:</strong> 3-4 cascatas de sombras com 1024x1024 cada. Renderizar o terreno nos mapas de sombras custa 0,5-1 ms (a geometria do terreno já está na memória da GPU). Amostrar 4 cascatas no shader do terreno acrescenta 0,2-0,3 ms.</p>
<h3 id="autossombreamento-do-terreno-a-partir-do-mapa-de-altura" tabindex="-1">Autossombreamento do Terreno a Partir do Mapa de Altura <a class="header-anchor" href="#autossombreamento-do-terreno-a-partir-do-mapa-de-altura" aria-label="Permalink to &quot;Autossombreamento do Terreno a Partir do Mapa de Altura&quot;"></a></h3>
<p>Para terrenos muito extensos, nos quais o CSM se torna caro, pré-calcule um mapa de horizonte: para cada célula do terreno, armazene o ângulo máximo de elevação em 8 direções da bússola. Durante a renderização, compare o ângulo do sol com o mapa de horizonte para determinar se um ponto está na sombra. É assim que Skyrim trata o autossombreamento de terrenos distantes (além do alcance do CSM).</p>
<p>O mapa de horizonte é calculado no servidor a partir do mapa de altura (alguns segundos de processamento) e transmitido como uma textura de 128x128 por chunk (16 KB compactados). O impacto visual é significativo: os vales entre montanhas escurecem de forma realista mesmo a distâncias de visualização extremas.</p>
<h2 id="compactacao-de-dados-de-terreno-para-transmissao" tabindex="-1">Compactação de Dados de Terreno para Transmissão <a class="header-anchor" href="#compactacao-de-dados-de-terreno-para-transmissao" aria-label="Permalink to &quot;Compactação de Dados de Terreno para Transmissão&quot;"></a></h2>
<p>A rede é o gargalo de um mundo no navegador. Cada byte economizado nos dados do terreno reduz o tempo de carregamento.</p>
<h3 id="compactacao-do-mapa-de-altura" tabindex="-1">Compactação do Mapa de Altura <a class="header-anchor" href="#compactacao-do-mapa-de-altura" aria-label="Permalink to &quot;Compactação do Mapa de Altura&quot;"></a></h3>
<p>Mapas de altura brutos de 16 bits são bem compactados porque células adjacentes têm valores semelhantes. O pipeline:</p>
<ol>
<li><strong>Codificação delta:</strong> Armazene a diferença entre cada célula e seu valor previsto (a média das vizinhas). Os valores delta são pequenos e se concentram perto de zero.</li>
<li><strong>Quantização:</strong> Para chunks distantes, reduza a precisão de 16 bits para 12 ou 8 bits. A 500 metros de distância, a precisão de altura de 8 bits (resolução de 0,4 m em uma faixa de altura de 100 m) é indistinguível da de 16 bits.</li>
<li><strong>Codificação por entropia:</strong> Aplique compactação zlib ou brotli ao fluxo codificado por delta. Taxa de compactação típica: 4-8x.</li>
</ol>
<p>Resultado: um chunk de 65x65 com 16 bits passa de 8,4 KB brutos para 1-2 KB compactados. Com precisão reduzida de 8 bits: 0,5-1 KB.</p>
<h3 id="transmissao-progressiva-do-mapa-de-altura" tabindex="-1">Transmissão Progressiva do Mapa de Altura <a class="header-anchor" href="#transmissao-progressiva-do-mapa-de-altura" aria-label="Permalink to &quot;Transmissão Progressiva do Mapa de Altura&quot;"></a></h3>
<p>Envie primeiro o terreno em baixa resolução e depois o refine. Um mapa de altura de 17x17 (o mínimo para um chunk de 64 m com espaçamento de 4 m entre células) tem 578 bytes brutos e menos de 200 bytes compactados. O terreno fica visível instantaneamente. Em seguida, transmita o refinamento de 33x33 (que adiciona amostras de linhas/colunas ímpares). Depois, a resolução completa de 65x65. Cada nível acrescenta detalhes sem substituir os dados anteriores.</p>
<p>Isso corresponde aos anéis de LOD do clipmap de geometria: terrenos distantes usam a versão de baixa resolução (17x17), os de distância intermediária usam a média (33x33) e os próximos usam a completa (65x65). A prioridade de transmissão corresponde ao LOD de renderização.</p>
<h3 id="compactacao-de-volumes-sdf" tabindex="-1">Compactação de Volumes SDF <a class="header-anchor" href="#compactacao-de-volumes-sdf" aria-label="Permalink to &quot;Compactação de Volumes SDF&quot;"></a></h3>
<p>Volumes SDF esparsos são compactados drasticamente porque a maioria dos voxels está distante da superfície (espaço vazio). Opções:</p>
<p><strong>Codificação por comprimento de sequência:</strong> Codifique sequências de valores idênticos (voxels vazios). Volumes SDF típicos têm mais de 95% de espaço vazio, portanto a RLE alcança compactação de 10-50x.</p>
<p><strong>Octree esparsa:</strong> Armazene apenas os nós da octree que contêm voxels atravessados pela superfície. O espaço vazio não possui nós. Um volume SDF de 64^3 com um único túnel de caverna pode ter apenas 2.000-5.000 nós ocupados (em comparação com 262.144 voxels no total), cada um armazenado em 1-2 bytes.</p>
<p><strong>Compactação progressiva orientada por entropia</strong> (2024, <a href="https://inria.hal.science/hal-04630545v1/file/sgp2024.pdf" target="_blank" rel="noreferrer">HAL</a>) aplica-se a dados espaciais 3D dividindo recursivamente o espaço com planos otimizados por entropia e quantização adaptativa. Isso produz um fluxo de refinamentos otimizado para os compromissos entre taxa e distorção, sendo especialmente vantajoso nas baixas taxas de bits da transmissão em rede.</p>
<h2 id="juntando-tudo-o-pipeline-de-terreno-no-navegador" tabindex="-1">Juntando Tudo: O Pipeline de Terreno no Navegador <a class="header-anchor" href="#juntando-tudo-o-pipeline-de-terreno-no-navegador" aria-label="Permalink to &quot;Juntando Tudo: O Pipeline de Terreno no Navegador&quot;"></a></h2>
<p>A visão geral estratégica no início deste artigo apresenta um rápido modelo de decisão e um plano de implementação em fases. Esta seção fornece todos os detalhes técnicos dos pipelines de geração no servidor e renderização no navegador.</p>
<h3 id="pipeline-de-geracao-servidor" tabindex="-1">Pipeline de Geração (Servidor) <a class="header-anchor" href="#pipeline-de-geracao-servidor" aria-label="Permalink to &quot;Pipeline de Geração (Servidor)&quot;"></a></h3>
<p>O pipeline de geração é executado como um grafo direcionado de processos físicos, inspirado na abordagem de grafo de nós do Gaea e do World Machine. Cada etapa recebe a saída da etapa anterior e a refina. Os criadores controlam os parâmetros em cada etapa.</p>
<table tabindex="0">
<thead>
<tr>
<th>Etapa</th>
<th>Entrada</th>
<th>Processo</th>
<th>Saída</th>
<th>Tempo</th>
</tr>
</thead>
<tbody>
<tr>
<td>1. Terreno básico</td>
<td>Semente ou prompt de texto</td>
<td>Terrain Diffusion / MESA / ruído + fBm</td>
<td>Mapa de altura de 16 bits</td>
<td>1-5 s</td>
</tr>
<tr>
<td>2. Erosão</td>
<td>Mapa de altura</td>
<td>Potência analítica de fluxo + erosão térmica</td>
<td>Mapa de altura erodido, mapa de acúmulo de fluxo, mapa de sedimentos</td>
<td>0,5-2 s</td>
</tr>
<tr>
<td>3. Rios</td>
<td>Mapa de altura erodido, mapa de fluxo</td>
<td>Extração da rede de drenagem, escavação de canais</td>
<td>Splines de rios, mapa de nível da água</td>
<td>0,5 s</td>
</tr>
<tr>
<td>4. Costa</td>
<td>Mapa de altura próximo ao nível do mar</td>
<td>Erosão por ondas no estilo NEWTS</td>
<td>Formações costeiras (penhascos, praias, farilhões)</td>
<td>1-3 s</td>
</tr>
<tr>
<td>5. Volumetria</td>
<td>Mapa de altura + intenção do criador</td>
<td>Erosão Arenite / geração de cavernas / esculturas SDF</td>
<td>Volumes SDF esparsos para os chunks afetados</td>
<td>1-60 s</td>
</tr>
<tr>
<td>6. Materiais</td>
<td>Mapa de altura + mapas de erosão</td>
<td>TerraFusion / Geodiffussr / regras procedurais</td>
<td>Mapas de splat, texturas do terreno</td>
<td>1-5 s</td>
</tr>
<tr>
<td>7. Vegetação</td>
<td>Mapa de altura + mapa de fluxo + materiais</td>
<td>Simulação de competição do ecossistema</td>
<td>Mapas de densidade por bioma e por chunk</td>
<td>1-3 s</td>
</tr>
<tr>
<td>8. Mapas de horizonte</td>
<td>Mapa de altura final</td>
<td>Ângulo máximo de elevação em 8 direções</td>
<td>Textura de autossombra por chunk</td>
<td>2-5 s</td>
</tr>
<tr>
<td>9. Divisão em chunks</td>
<td>Todas as saídas</td>
<td>Recortar, codificar por delta, compactar, gerar hash</td>
<td>Pacotes de chunks na CDN</td>
<td>5-10 s</td>
</tr>
<tr>
<td><strong>Total</strong></td>
<td></td>
<td></td>
<td></td>
<td><strong>15-90 s</strong></td>
</tr>
</tbody>
</table>
<p>Um novo mundo de 4x4 km é gerado em 15-90 segundos. Edições do criador (escultura, alterações de parâmetros) reexecutam somente as etapas afetadas nos chunks afetados, geralmente terminando em menos de 5 segundos.</p>
<h3 id="pipeline-de-renderizacao-navegador" tabindex="-1">Pipeline de Renderização (Navegador) <a class="header-anchor" href="#pipeline-de-renderizacao-navegador" aria-label="Permalink to &quot;Pipeline de Renderização (Navegador)&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Etapa</th>
<th>Caminho WebGPU</th>
<th>Alternativa WebGL 2</th>
<th>Orçamento por quadro</th>
</tr>
</thead>
<tbody>
<tr>
<td>1. Transmissão</td>
<td>Fila de prioridades, pré-carregamento preditivo</td>
<td>Igual</td>
<td>N/D (assíncrono)</td>
</tr>
<tr>
<td>2. Terreno por mapa de altura</td>
<td>Quadtree CDLOD controlada pela GPU, descarte por compute, desenho indireto</td>
<td>Clipmaps de geometria, atualizações de anéis pela CPU</td>
<td>0,5-1 ms</td>
</tr>
<tr>
<td>3. Malha volumétrica</td>
<td>Marching cubes por compute + Transvoxel</td>
<td>Malhas pré-geradas em Web Worker, 2-3 LODs em cache</td>
<td>0,5-2 ms</td>
</tr>
<tr>
<td>4. Transições de LOD</td>
<td>Geomorfismo no shader de vértices</td>
<td>Igual</td>
<td>Incluído acima</td>
</tr>
<tr>
<td>5. Materiais</td>
<td>PBR triplanar + mesclagem laplaciana + detalhes por ruído fasorial + texturização virtual</td>
<td>PBR triplanar + mesclagem linear + mapas de splat pré-calculados</td>
<td>1-1,5 ms</td>
</tr>
<tr>
<td>6. Vegetação</td>
<td>ComputeInstanceCulling + IndirectBatchedMesh, cobertura do solo em ladrilhos hexagonais</td>
<td>Descarte de frustum pela CPU + InstancedMesh</td>
<td>1-1,5 ms</td>
</tr>
<tr>
<td>7. Água</td>
<td>Faixas de rios alinhadas ao fluxo, espuma da margem baseada em profundidade</td>
<td>Igual (reflexos mais simples)</td>
<td>0,5 ms</td>
</tr>
<tr>
<td>8. Sombras</td>
<td>CSM de 3-4 cascatas + autossombras por mapa de horizonte</td>
<td>CSM de 2 cascatas</td>
<td>0,5-1 ms</td>
</tr>
<tr>
<td>9. Atmosfera</td>
<td>Modelo de céu Hillaire + neblina volumétrica + partículas climáticas</td>
<td>Céu Preetham + neblina por distância</td>
<td>0,5 ms</td>
</tr>
<tr>
<td>10. Efeitos dinâmicos</td>
<td>Acúmulo de poças, deformação por pegadas, neve/chuva</td>
<td>Acúmulo de poças, partículas de chuva</td>
<td>0,3 ms</td>
</tr>
<tr>
<td><strong>Total do terreno</strong></td>
<td></td>
<td></td>
<td><strong>3,5-6,5 ms</strong></td>
</tr>
</tbody>
</table>
<p>A 60 fps (16,6 ms por quadro), o sistema de terreno usa 21% do orçamento do quadro no WebGPU e 39% no WebGL 2. O restante fica disponível para avatares dos jogadores, objetos dos criadores, interface, rede e pós-processamento.</p>
<h3 id="por-que-isso-funciona-em-um-navegador" tabindex="-1">Por Que Isso Funciona em um Navegador <a class="header-anchor" href="#por-que-isso-funciona-em-um-navegador" aria-label="Permalink to &quot;Por Que Isso Funciona em um Navegador&quot;"></a></h3>
<p>Todo o pipeline foi projetado considerando três limitações dos navegadores:</p>
<p><strong>Memória (máximo de 2-4 GB):</strong> O orçamento de 256 MB para o terreno é suficiente porque os chunks do mapa de altura têm 2-8 KB cada (codificados por delta), os volumes SDF são esparsos (100-500 KB por chunk volumétrico), a vegetação é gerada em tempo de execução a partir de mapas de densidade de 1 KB e as texturas usam compactação KTX2 (150 KB por 1024x1024). A qualquer momento, o mundo visível no navegador ocupa entre 50 e 200 MB no total.</p>
<p><strong>Sem acesso ao disco:</strong> Tudo é transmitido pela rede. O carregamento progressivo permite que o jogador veja o terreno em &lt;100 ms (mapa de altura em baixa resolução), o terreno texturizado em &lt;300 ms e todos os detalhes em ❤️ s. O pré-carregamento baseado na velocidade oculta os tempos de carregamento durante a exploração normal.</p>
<p><strong>A GPU varia drasticamente:</strong> O caminho WebGPU atende a desktops de alto desempenho. A alternativa WebGL 2 atende a todo o restante, incluindo dispositivos móveis. Os mesmos dados de chunks alimentam os dois caminhos. A diferença está na técnica de renderização, não no formato dos dados. Um Chromebook executando WebGL 2 vê o mesmo mundo que uma RTX 4090 executando WebGPU, apenas com menos detalhes e menor distância de visualização.</p>
<h2 id="artigos-de-pesquisa" tabindex="-1">Artigos de Pesquisa <a class="header-anchor" href="#artigos-de-pesquisa" aria-label="Permalink to &quot;Artigos de Pesquisa&quot;"></a></h2>
<h3 id="representacao-de-terreno-e-geracao-de-malhas" tabindex="-1">Representação de Terreno e Geração de Malhas <a class="header-anchor" href="#representacao-de-terreno-e-geracao-de-malhas" aria-label="Permalink to &quot;Representação de Terreno e Geração de Malhas&quot;"></a></h3>
<p><strong>&quot;Marching Cubes: Um Algoritmo de Construção de Superfícies 3D em Alta Resolução&quot;</strong> -- Lorensen e Cline (SIGGRAPH 1987). <a href="https://doi.org/10.1145/37402.37422" target="_blank" rel="noreferrer">DOI</a>. O algoritmo fundamental para extrair malhas triangulares de dados volumétricos. Ainda é o método de extração de isosuperfícies mais utilizado 38 anos depois. Implementações paralelas em GPU são executadas em tempo real em compute shaders do WebGPU.
<strong>&quot;Contorno Dual de Dados de Hermite&quot;</strong> -- Ju, Losasso, Schaefer, Warren (SIGGRAPH 2002). <a href="https://doi.org/10.1145/566570.566586" target="_blank" rel="noreferrer">DOI</a>. Produz malhas que preservam detalhes acentuados (bordas de penhascos, cantos de rochas) que o marching cubes arredonda. Requer normais de superfície além dos valores de distância.</p>
<p><strong>&quot;Contorno Dual Neural&quot;</strong> -- Chen et al. (2022). <a href="https://arxiv.org/abs/2202.01999" target="_blank" rel="noreferrer">arXiv:2202.01999</a>. Substitui o posicionamento de vértices por mínimos quadrados no contorno dual por um preditor treinado. Oferece melhor qualidade de superfície para elementos naturais complexos.</p>
<p><strong>&quot;O Algoritmo Transvoxel&quot;</strong> -- Lengyel (2009, atualizado em 2024). <a href="https://transvoxel.org/" target="_blank" rel="noreferrer">transvoxel.org</a>. Transições de LOD contínuas para terrenos de voxels. Elimina fissuras nos limites entre resoluções usando 73 tipos de células de transição. Livre de patentes e projetado para aplicações em tempo real.</p>
<h3 id="lod-e-renderizacao-de-terrenos" tabindex="-1">LOD e renderização de terrenos <a class="header-anchor" href="#lod-e-renderizacao-de-terrenos" aria-label="Permalink to &quot;LOD e renderização de terrenos&quot;"></a></h3>
<p><strong>&quot;Geometry Clipmaps: Renderização de Terrenos Usando Grades Regulares Aninhadas&quot;</strong> -- Losasso e Hoppe (SIGGRAPH 2004). <a href="https://hhoppe.com/geomclipmap.pdf" target="_blank" rel="noreferrer">Artigo</a>. Renderização de terrenos com custo constante usando anéis concêntricos de LOD. Processa terrenos de 40 GB em taxas interativas. É a base da maioria dos renderizadores de terreno para navegadores.</p>
<p><strong>&quot;CDLOD: LOD Híbrido para Renderização de Terrenos&quot;</strong> -- Strugar (2014). <a href="https://www.vertexasylum.com/CDLOD/cdlod_latest.pdf" target="_blank" rel="noreferrer">Artigo</a>. Aprimoramento dos geometry clipmaps com adaptação por quadtree. Aloca a resolução com base na complexidade do terreno, em vez de considerar apenas a distância.</p>
<p><strong>&quot;Pipelines de Renderização Orientados por GPU&quot;</strong> -- Ubisoft (SIGGRAPH 2015), Wihlidal e Hoppe. Formalizou a abordagem orientada por GPU, na qual compute shaders realizam o culling, a seleção de LOD e a geração de chamadas de desenho. É o padrão arquitetural do nosso pipeline de terrenos com WebGPU.</p>
<h3 id="geracao-fisica-de-terrenos" tabindex="-1">Geração física de terrenos <a class="header-anchor" href="#geracao-fisica-de-terrenos" aria-label="Permalink to &quot;Geração física de terrenos&quot;"></a></h3>
<p><strong>&quot;Erosão Analítica Baseada em Física para Geração Rápida de Terrenos&quot;</strong> -- Cordonnier et al. (2024). <a href="https://hal.science/hal-04525371" target="_blank" rel="noreferrer">HAL</a>. Erosão analítica baseada na lei da potência de cursos d'água que evita simulação iterativa. Gera terrenos fisicamente plausíveis em milissegundos.</p>
<p><strong>&quot;Simulação e Visualização Rápidas de Erosão Hidráulica na GPU&quot;</strong> -- Mei, Decaudin, Hu (2007). <a href="https://hal.science/hal-02281637/file/main.pdf" target="_blank" rel="noreferrer">HAL</a>. Erosão hidráulica paralelizada na GPU usando simulação de águas rasas. É a base da maioria das implementações de erosão em motores de jogos.</p>
<p><strong>&quot;Arenite: Um Simulador de Arenito Baseado em Física&quot;</strong> -- SIGGRAPH 2025. <a href="https://jango6324.github.io/arenite/" target="_blank" rel="noreferrer">Projeto</a>. Erosão multifísica que gera arcos, chaminés de fada e alcovas a partir da simulação de tensões e erosão. É executada em menos de 5 minutos em GPUs para desktop.</p>
<p><strong>&quot;Simulação Eficiente de Fluxos de Detritos para Erosão de Terrenos Íngremes&quot;</strong> -- Purdue CGVLAB (2024). <a href="https://www.cs.purdue.edu/cgvlab/www/resources/papers/Arymaan-ToG-2024-efficient.pdf" target="_blank" rel="noreferrer">Artigo</a>. Fluxos de detritos e erosão de encostas íngremes acelerados por GPU, produzindo formações realistas de terrenos montanhosos.</p>
<p><strong>&quot;Erosão Flexível de Terrenos&quot;</strong> -- IRIT-STORM (2024). <a href="https://link.springer.com/article/10.1007/s00371-024-03444-w" target="_blank" rel="noreferrer">Springer</a>. Erosão baseada em partículas que funciona com campos de altura, grades de voxels, superfícies implícitas e materiais em camadas por meio de uma interface unificada. Permite usar um único sistema de erosão para representações híbridas de terreno.</p>
<h3 id="detalhes-e-texturizacao-de-terrenos" tabindex="-1">Detalhes e texturização de terrenos <a class="header-anchor" href="#detalhes-e-texturizacao-de-terrenos" aria-label="Permalink to &quot;Detalhes e texturização de terrenos&quot;"></a></h3>
<p><strong>&quot;Mesclagem Laplaciana de Texturas Otimizada para GPU&quot;</strong> -- Wronski (NVIDIA, 2025). <a href="https://jcgt.org/published/0014/01/02/" target="_blank" rel="noreferrer">JCGT</a>. Mesclagem de pirâmides laplacianas em tempo real para materiais de terreno sem pré-processamento. Preserva detalhes acentuados enquanto elimina artefatos nas emendas. Exige apenas algumas amostragens de textura adicionais por fragmento.</p>
<p><strong>&quot;Aprimoramento de Terrenos em Tempo Real com Padrões Procedurais Controlados&quot;</strong> -- Grenier et al. (2024). <a href="https://diglib.eg.org/bitstream/handle/10.1111/cgf14992/v43i1_05_cgf14992.pdf" target="_blank" rel="noreferrer">CGF</a>. Detalhes de microerosão baseados em ruído fasorial com resolução até 32 vezes maior que a do mapa de altura. Os padrões alinhados à inclinação são executados inteiramente em um fragment shader.</p>
<h3 id="tesselacao-adaptativa" tabindex="-1">Tesselação adaptativa <a class="header-anchor" href="#tesselacao-adaptativa" aria-label="Permalink to &quot;Tesselação adaptativa&quot;"></a></h3>
<p><strong>&quot;Árvores Binárias Concorrentes para Componentes de Jogos em Grande Escala&quot;</strong> -- Benyoub e Dupuy (Intel, HPG 2024). <a href="https://arxiv.org/html/2407.02215v1" target="_blank" rel="noreferrer">Artigo</a>. Estrutura de dados de árvore binária otimizada para GPU, destinada à tesselação adaptativa de terrenos. Renderiza geometria em escala planetária em menos de 0,2 ms. Foi ampliada de domínios quadrados para malhas poligonais arbitrárias.</p>
<h3 id="geracao-de-cavernas-e-ambientes-subterraneos-1" tabindex="-1">Geração de cavernas e ambientes subterrâneos <a class="header-anchor" href="#geracao-de-cavernas-e-ambientes-subterraneos-1" aria-label="Permalink to &quot;Geração de cavernas e ambientes subterrâneos&quot;"></a></h3>
<p><strong>&quot;PLUME: Motor de Modelagem Procedural de Camadas Subterrâneas&quot;</strong> -- 2024. <a href="https://arxiv.org/html/2508.20926v1" target="_blank" rel="noreferrer">arXiv:2508.20926</a>. Framework de código aberto para gerar ambientes realistas de cavernas e tubos de lava usando regras procedurais em camadas. Originalmente criado para robótica de exploração espacial.</p>
<h3 id="sintese-neural-de-terrenos" tabindex="-1">Síntese neural de terrenos <a class="header-anchor" href="#sintese-neural-de-terrenos" aria-label="Permalink to &quot;Síntese neural de terrenos&quot;"></a></h3>
<p><strong>&quot;InfiniteDiffusion: Unindo Fidelidade Aprendida e Utilidade Procedural para a Geração de Terrenos de Mundo Aberto&quot;</strong> -- Goslin (2025, SIGGRAPH 2026). <a href="https://arxiv.org/abs/2512.08309" target="_blank" rel="noreferrer">arXiv:2512.08309</a>. Geração de terrenos infinitos e consistentes por seed usando modelos hierárquicos de difusão com codificação laplaciana. É 9 vezes mais rápida que a referência em GPUs de consumo.</p>
<p><strong>&quot;TerraFusion: Geração Conjunta de Geometria e Textura de Terrenos&quot;</strong> -- 2025. <a href="https://arxiv.org/abs/2505.04050" target="_blank" rel="noreferrer">arXiv:2505.04050</a>. Difusão latente para a síntese simultânea de mapas de altura e texturas, condicionada por esboços.</p>
<p><strong>&quot;MESA: Geração de Terrenos Orientada por Texto&quot;</strong> -- Workshop da CVPR 2025. <a href="https://arxiv.org/abs/2504.07210" target="_blank" rel="noreferrer">arXiv:2504.07210</a>. Geração de terrenos a partir de texto usando dados de sensoriamento remoto do Copernicus para treinamento.</p>
<p><strong>&quot;Geodiffussr: Texturização Generativa de Terrenos com Fidelidade de Elevação&quot;</strong> -- 2025. <a href="https://arxiv.org/abs/2511.23029" target="_blank" rel="noreferrer">arXiv:2511.23029</a>. Geração de texturas de terreno orientada por texto que respeita os dados de elevação usando flow matching.</p>
<p><strong>&quot;Sketch2Terrain: Mapeamento de Esboços de Terreno em Tempo Real Orientado por IA&quot;</strong> -- 2025. <a href="https://tianyixiao.top/publication/2025-sketch2terrain" target="_blank" rel="noreferrer">Projeto</a>. Conversão de esboços em terrenos em realidade aumentada. Melhoria de eficiência de 38% em relação ao mapeamento manual.</p>
<h3 id="simulacao-de-vegetacao-e-ecossistemas" tabindex="-1">Simulação de vegetação e ecossistemas <a class="header-anchor" href="#simulacao-de-vegetacao-e-ecossistemas" aria-label="Permalink to &quot;Simulação de vegetação e ecossistemas&quot;"></a></h3>
<p><strong>&quot;Distribuição Procedural de Vegetação em Tempo Real Baseada em GPU para Terrenos Virtuais de Grande Escala&quot;</strong> -- SBGames 2018. <a href="https://sbgames.org/sbgames2018/files/papers/ComputacaoFull/188348.pdf" target="_blank" rel="noreferrer">Artigo</a>. Distribuição de vegetação baseada em quadtree usando fatores bióticos e abióticos na GPU.</p>
<p><strong>&quot;Geração Procedural e Renderização de Florestas&quot;</strong> -- 2022. <a href="https://export.arxiv.org/pdf/2208.01471v1.pdf" target="_blank" rel="noreferrer">Artigo</a>. Geração de árvores com sistemas-L combinada com simulação de competição em ecossistemas para obter uma distribuição florestal realista.</p>
<p><strong>&quot;Geração Procedural em Tempo Real com Work Graphs de GPU&quot;</strong> -- AMD GPUOpen 2024. <a href="https://gpuopen.com/download/Real-Time_Procedural_Generation_with_GPU_Work_Graphs-GPUOpen_preprint.pdf" target="_blank" rel="noreferrer">Artigo</a>. Work graphs de GPU que geram mais de 79 mil instâncias de vegetação em menos de 4 ms.</p>
<h3 id="tecnologia-de-gpu-para-navegadores" tabindex="-1">Tecnologia de GPU para navegadores <a class="header-anchor" href="#tecnologia-de-gpu-para-navegadores" aria-label="Permalink to &quot;Tecnologia de GPU para navegadores&quot;"></a></h3>
<p><strong>&quot;Renderizador GSWT&quot;</strong> -- SIGGRAPH Asia 2025. <a href="https://github.com/zengyf131/gswt_renderer" target="_blank" rel="noreferrer">GitHub</a>. Renderizador WebGPU + Rust/Wasm que usa Wang Tiles com Gaussian Splatting para criar terrenos 3D infinitos com LOD dinâmico e streaming.</p>
<p><strong>&quot;Computação em GPU no Navegador com Velocidade Nativa: Marching Cubes com WebGPU&quot;</strong> -- Usher (2024). <a href="https://www.willusher.io/graphics/2024/04/22/webgpu-marching-cubes/" target="_blank" rel="noreferrer">Blog</a>. Demonstra que a computação com WebGPU alcança desempenho de velocidade nativa em algoritmos paralelos de geração de malhas.</p>
<h3 id="renderizacao-de-voxels-e-cenas-de-grande-escala" tabindex="-1">Renderização de voxels e cenas de grande escala <a class="header-anchor" href="#renderizacao-de-voxels-e-cenas-de-grande-escala" aria-label="Permalink to &quot;Renderização de voxels e cenas de grande escala&quot;"></a></h3>
<p><strong>&quot;Aokana: Um Framework de Renderização de Voxels Orientado por GPU para Jogos de Mundo Aberto&quot;</strong> -- 2025. <a href="https://arxiv.org/abs/2505.02017" target="_blank" rel="noreferrer">arXiv:2505.02017</a>. DAG esparso de voxels com LOD e streaming para cenas com dezenas de bilhões de voxels. Reduz o uso de memória em 9 vezes e renderiza 4,8 vezes mais rápido que as melhores técnicas anteriores. Projetado para integração com motores de jogos.</p>
<h3 id="geometria-procedural-e-reconstrucao-de-superficies" tabindex="-1">Geometria procedural e reconstrução de superfícies <a class="header-anchor" href="#geometria-procedural-e-reconstrucao-de-superficies" aria-label="Permalink to &quot;Geometria procedural e reconstrução de superfícies&quot;"></a></h3>
<p><strong>&quot;Reconstrução Procedural de Superfícies em Tempo Real Usando Mesh Shaders de GPU&quot;</strong> -- Raad et al. (Eurographics 2025). <a href="https://hal.science/hal-05176868v1/file/Paper_Resurfacing_2024.pdf" target="_blank" rel="noreferrer">Artigo</a>. Gera superfícies geométricas detalhadas a partir de malhas de controle simplificadas durante a renderização usando mesh shaders. Permite LOD dinâmico sem armazenar geometria de alta resolução na memória.</p>
<h3 id="sombras-de-terrenos" tabindex="-1">Sombras de terrenos <a class="header-anchor" href="#sombras-de-terrenos" aria-label="Permalink to &quot;Sombras de terrenos&quot;"></a></h3>
<p><strong>&quot;Otimização de Sombras de Terrenos&quot;</strong> -- AMD GPUOpen. <a href="https://gpuopen.com/learn/optimizing-terrain-shadows/" target="_blank" rel="noreferrer">Blog</a>. Otimização prática de CSM para terrenos de grande escala. Aborda a divisão de cascatas, a renderização de mapas de sombras eficiente para GPU e otimizações específicas para terrenos.</p>
<h3 id="geometria-virtual-e-otimizacao-de-malhas" tabindex="-1">Geometria virtual e otimização de malhas <a class="header-anchor" href="#geometria-virtual-e-otimizacao-de-malhas" aria-label="Permalink to &quot;Geometria virtual e otimização de malhas&quot;"></a></h3>
<p><strong>&quot;Nanite WebGPU&quot;</strong> -- Scthe (2024). <a href="https://github.com/Scthe/nanite-webgpu" target="_blank" rel="noreferrer">GitHub</a>, <a href="https://scthe.github.io/nanite-webgpu/" target="_blank" rel="noreferrer">Demo</a>. Implementação completa no navegador da arquitetura Nanite da UE5: hierarquia de LOD de meshlets, rasterizador por software em WGSL, culling por meshlet e impostores em billboard.</p>
<p><strong>&quot;Bilhões de Triângulos em Minutos&quot;</strong> -- Kapoulkine (2025). <a href="https://zeux.io/2025/09/30/billions-of-triangles-in-minutes/" target="_blank" rel="noreferrer">Blog</a>. Meshoptimizer v1.0 para geração hierárquica de LOD em clusters. Processa com eficiência malhas enormes em DAGs de clusters no estilo Nanite.</p>
<p><strong>&quot;Billboard Splatting (BBSplat)&quot;</strong> -- 2024. <a href="https://arxiv.org/abs/2411.08508" target="_blank" rel="noreferrer">arXiv:2411.08508</a>. Primitivas planares texturizadas e treináveis para síntese de novas perspectivas, alcançando compressão 17 vezes maior que o Gaussian Splatting 3D.</p>
<h3 id="iluminacao-de-terrenos-e-iluminacao-global" tabindex="-1">Iluminação de terrenos e iluminação global <a class="header-anchor" href="#iluminacao-de-terrenos-e-iluminacao-global" aria-label="Permalink to &quot;Iluminação de terrenos e iluminação global&quot;"></a></h3>
<p><strong>&quot;Iluminação Global em Once Human&quot;</strong> -- GDC 2025. <a href="https://schedule.gdconf.com/session/global-illumination-in-once-human-a-hybrid-approach-for-16km-open-world/907269" target="_blank" rel="noreferrer">Sessão</a>. GI híbrida para um mundo aberto de 16 km: probes compactados por rede neural (proporção de 69:1), resolução de vazamentos entre interiores e exteriores baseada em ML e reações dinâmicas dos probes.</p>
<p><strong>&quot;GI com AMD FidelityFX Brixelizer&quot;</strong> -- GDC 2024. <a href="https://gpuopen.com/download/GDC2024_GI_with_AMD_FidelityFX_Brixelizer.pdf" target="_blank" rel="noreferrer">Artigo</a>. Cascatas esparsas de campos de distância baseadas em computação, com probes no espaço da tela. Não requer ray tracing por hardware.</p>
<p><strong>&quot;Cascatas de Radiância&quot;</strong> -- 2024. <a href="https://jason.today/rc" target="_blank" rel="noreferrer">Blog</a>. Iluminação global sem ruído em tempo real usando estruturas de radiância em cascata, sem acumulação temporal.</p>
<h3 id="design-de-niveis-e-exploracao" tabindex="-1">Design de níveis e exploração <a class="header-anchor" href="#design-de-niveis-e-exploracao" aria-label="Permalink to &quot;Design de níveis e exploração&quot;"></a></h3>
<p><strong>&quot;PlotMap: Design Automatizado de Layouts para Criar Mundos de Jogo&quot;</strong> -- 2023. <a href="https://arxiv.org/html/2309.15242v4" target="_blank" rel="noreferrer">arXiv:2309.15242</a>. Posicionamento de pontos de interesse assistido por IA, atendendo a restrições espaciais narrativas no terreno.</p>
<p><strong>&quot;Gatilhos de Exploração Espacial&quot;</strong> -- Purdue University (FDG 2022). <a href="https://web.ics.purdue.edu/~cmousas/papers/conf22-FDG-SpatialExploration.pdf" target="_blank" rel="noreferrer">Artigo</a>. Quatro padrões de design que incentivam a exploração pelos jogadores: pontos extremos, obstruções visuais, objetos fora de contexto e conexões espaciais.</p>
<h3 id="compactacao-e-streaming-de-dados" tabindex="-1">Compactação e streaming de dados <a class="header-anchor" href="#compactacao-e-streaming-de-dados" aria-label="Permalink to &quot;Compactação e streaming de dados&quot;"></a></h3>
<p><strong>&quot;Compactação Progressiva de Nuvens de Pontos 3D Orientada por Entropia&quot;</strong> -- SGP 2024. <a href="https://inria.hal.science/hal-04630545v1/file/sgp2024.pdf" target="_blank" rel="noreferrer">Artigo</a>. Compactação progressiva otimizada por taxa-distorção, usando particionamento recursivo do espaço com quantização adaptativa. Produz fluxos de refinamento adequados ao streaming em redes com largura de banda variável.</p>
<h3 id="edicao-interativa" tabindex="-1">Edição interativa <a class="header-anchor" href="#edicao-interativa" aria-label="Permalink to &quot;Edição interativa&quot;"></a></h3>
<p><strong>&quot;Editor de SDF com WebGPU&quot;</strong> -- Nijhoff (2026). <a href="https://reindernijhoff.net/2026/01/webgpu-sdf-editor-real-time-signed-distance-field-modeling/" target="_blank" rel="noreferrer">Projeto</a>. Modelagem SDF completa no navegador, com marching cubes em tempo real, operações booleanas, mesclagem suave e particionamento espacial por octree. 112 bytes por primitiva.</p>
<h3 id="geracao-de-rios-e-zonas-costeiras" tabindex="-1">Geração de rios e zonas costeiras <a class="header-anchor" href="#geracao-de-rios-e-zonas-costeiras" aria-label="Permalink to &quot;Geração de rios e zonas costeiras&quot;"></a></h3>
<p><strong>&quot;Bacias de Drenagem Fluvial Procedurais&quot;</strong> -- Patel (Red Blob Games). <a href="https://www.redblobgames.com/x/1723-procedural-river-growing/" target="_blank" rel="noreferrer">Projeto</a>. Geração de rios que prioriza a drenagem usando a classificação de arestas de malhas de Voronoi/triângulos. Cria hierarquias fluviais antes de atribuir a elevação do terreno.</p>
<p><strong>&quot;NEWTS1.0: Modelo Numérico de Erosão Costeira por Ondas e Escarpas Transgressivas&quot;</strong> -- MIT (2024). <a href="https://dspace.mit.edu/handle/1721.1/157677" target="_blank" rel="noreferrer">Artigo</a>. Modelo simplificado de erosão costeira que usa recuo uniforme e erosão provocada por ondas. Gera promontórios, baías, pilares marinhos e arcos compatíveis com a geomorfologia real.</p>
<h2 id="leitura-complementar" tabindex="-1">Leitura complementar <a class="header-anchor" href="#leitura-complementar" aria-label="Permalink to &quot;Leitura complementar&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/browser-3d-open-world-tech.html">Tecnologia para mundos abertos 3D no navegador</a> aborda toda a arquitetura de um mundo multiplayer para criadores no navegador</li>
<li><a href="/pt-BR/guides/web-games-stack-2026.html">Stack de tecnologia para jogos web em 2026</a> aborda os fundamentos de WebGL, WebGPU e WebAssembly</li>
<li><a href="/pt-BR/guides/threejs-usdc-tech-report.html">Relatório técnico sobre Three.js + USDC</a> sobre o carregamento de assets 3D no navegador</li>
<li><a href="/pt-BR/guides/frontier-gen-ai-models.html">Modelos de IA generativa de código aberto de fronteira</a> para o pipeline de geração por IA</li>
<li><a href="/pt-BR/tutorials/webgpu-getting-started.html">Primeiros passos com WebGPU</a> — compute shaders para terrenos orientados por GPU</li>
<li><a href="/pt-BR/tutorials/web-workers-game-logic.html">Web Workers para a lógica do jogo</a> — transferência da geração de terrenos para Workers</li>
<li><a href="/pt-BR/tutorials/game-physics-libraries.html">Bibliotecas de física para jogos</a> — física para interação com terrenos e colisores de campos de altura</li>
<li><a href="/pt-BR/guides/game-assets-guide.html">Onde encontrar assets gratuitos para jogos</a> — fontes de texturas e materiais para renderização de terrenos</li>
</ul>
<BuildCta
  title="Coloque uma paisagem gerada dentro de um jogo"
  desc="O terreno fica melhor quando você pode caminhar por ele."
  prompt="Crie um jogo ambientado em um vale montanhoso gerado proceduralmente" />
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/landscape-generation-browser.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Tecnologia de mundo aberto 3D no navegador para mundos multiplayer de criadores]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/browser-3d-open-world-tech</link>
            <guid>https://app.cinevva.com/pt-BR/guides/browser-3d-open-world-tech</guid>
            <pubDate>Fri, 20 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Pesquisa aprofundada sobre as tecnologias de renderização, rede, streaming e construção de mundos necessárias para reunir criadores em um mundo aberto 3D compartilhado no navegador, que eles possam moldar juntos.]]></description>
            <content:encoded><![CDATA[<h1 id="tecnologia-de-mundo-aberto-3d-no-navegador-para-mundos-multiplayer-de-criadores" tabindex="-1">Tecnologia de mundo aberto 3D no navegador para mundos multiplayer de criadores <a class="header-anchor" href="#tecnologia-de-mundo-aberto-3d-no-navegador-para-mundos-multiplayer-de-criadores" aria-label="Permalink to &quot;Tecnologia de mundo aberto 3D no navegador para mundos multiplayer de criadores&quot;"></a></h1>
<p>Queremos colocar nossos criadores em um mundo aberto compartilhado. Não em um lobby. Não em uma galeria. Em um espaço 3D vivo, onde as pessoas possam explorar, construir e encontrar por acaso o trabalho umas das outras. Algo que carregue em uma aba do navegador e pareça um lugar onde vale a pena estar.</p>
<p>Esse é um problema difícil. Skyrim e The Witcher 3 gastaram centenas de milhões de dólares na construção de seus mundos e, ainda assim, rodam em hardware dedicado, com dezenas de gigabytes armazenados em disco. Nosso objetivo é uma aba do navegador, com estado compartilhado entre centenas de jogadores e um mundo que os criadores possam realmente remodelar.</p>
<p>Este guia documenta o que descobrimos ao pesquisar a tecnologia. O que é possível hoje, o que está por vir e qual arquitetura nos permitiria chegar lá.</p>
<h2 id="o-que-podemos-aprender-com-skyrim-e-the-witcher" tabindex="-1">O que podemos aprender com Skyrim e The Witcher <a class="header-anchor" href="#o-que-podemos-aprender-com-skyrim-e-the-witcher" aria-label="Permalink to &quot;O que podemos aprender com Skyrim e The Witcher&quot;"></a></h2>
<p>Antes de escolher a tecnologia, é útil entender como os dois mundos abertos de maior sucesso realmente funcionam. Suas técnicas se adaptam surpreendentemente bem às limitações do navegador.</p>
<h3 id="o-sistema-de-celulas-de-skyrim" tabindex="-1">O sistema de células de Skyrim <a class="header-anchor" href="#o-sistema-de-celulas-de-skyrim" aria-label="Permalink to &quot;O sistema de células de Skyrim&quot;"></a></h3>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/JSRtYpNRoN0" title="Trailer de Skyrim Special Edition" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="game-caption">O mundo aberto de Skyrim faz streaming de uma grade de 5x5 células ao redor do jogador. As montanhas distantes são impostores de baixa resolução. Você nem percebe.</div>
<p>Skyrim divide seu mundo em uma grade de 57x37 células externas, cada uma com 4096x4096 unidades de jogo (aproximadamente 59 metros). O motor carrega, a qualquer momento, uma grade de 5x5 células ao redor do jogador. Conforme você caminha, as células na borda de trás são descarregadas, enquanto as da borda à frente entram por streaming. Os espaços internos (masmorras e edifícios) são mundos separados, carregados por gatilhos nas portas.</p>
<p>Isso se aplica diretamente a um mundo no navegador. Você não carrega o mapa inteiro. Carrega uma região ao redor do jogador e troca os blocos conforme ele se move. A percepção essencial é esta: Skyrim nunca permite que você veja todos os detalhes do terreno distante. Ele usa uma abordagem de múltiplas resoluções.</p>
<p><strong>Níveis de LOD (nível de detalhe) em Skyrim:</strong></p>
<ul>
<li>Detalhamento completo dentro de 1 a 2 células (a área imediata do jogador)</li>
<li>Malhas simplificadas a média distância (os objetos perdem pequenos detalhes geométricos)</li>
<li>Impostores em billboard para árvores e rochas além da média distância</li>
<li>O LOD do terreno usa malhas pré-calculadas de baixa resolução para paisagens distantes</li>
<li>Distâncias de desaparecimento ajustadas individualmente para cada objeto (a grama desaparece primeiro; os edifícios, por último)</li>
</ul>
<p>A paisagem de Skyrim usa um terreno baseado em mapa de altura, com trechos de 32x32 vértices por célula. Cada trecho pode ter texturas diferentes combinadas com mapas alfa. Isso é barato de armazenar e renderizar. Os dados de terreno de uma única célula são medidos em quilobytes, não em megabytes.</p>
<p><strong>O que podemos aplicar:</strong> streaming baseado em blocos, terreno com mapa de altura, LOD agressivo, separação entre interiores e exteriores e a ideia de que o terreno distante não precisa ser geometricamente preciso, apenas visualmente convincente.</p>
<h3 id="a-arquitetura-de-streaming-de-the-witcher-3" tabindex="-1">A arquitetura de streaming de The Witcher 3 <a class="header-anchor" href="#a-arquitetura-de-streaming-de-the-witcher-3" aria-label="Permalink to &quot;A arquitetura de streaming de The Witcher 3&quot;"></a></h3>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/53MyR_Z3i1w" title="The Witcher 3: Wild Hunt — Belo mundo aberto" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="game-caption">O mundo de 136 km2 de The Witcher 3 usa streaming sensível ao conteúdo. Árvores a mais de 200 m são impostores planos. Os edifícios são transmitidos independentemente do terreno.</div>
<p>O mundo de The Witcher 3 é maior que o de Skyrim (aproximadamente 136 km2 considerando todas as regiões) e usa um sistema de streaming mais sofisticado. A CD Projekt RED criou um motor personalizado (REDengine 3) no qual o mundo é dividido em setores de streaming, em vez de uma grade rígida.</p>
<p>Cada setor contém uma hierarquia de camadas de conteúdo:</p>
<ul>
<li><strong>Terreno</strong> transmitido em trechos com 4 níveis de LOD</li>
<li><strong>Vegetação</strong> usa instanciamento na GPU com descarte baseado na distância</li>
<li><strong>Geometria estática</strong> (edifícios e rochas) é transmitida independentemente do terreno</li>
<li><strong>Objetos de gameplay</strong> (NPCs, itens e gatilhos) são carregados com base no estado das missões e na proximidade</li>
</ul>
<p>O renderizador usa sombreamento diferido com materiais baseados em física. Um truque particularmente relevante: The Witcher 3 usa impostores de forma agressiva. Uma árvore a 200 metros de distância não é um modelo 3D com galhos e folhas. É um quadrilátero plano texturizado que está sempre voltado para a câmera. O motor pré-renderiza esses impostores de vários ângulos e os troca conforme a câmera se move. Você nem percebe, porque eles estão longe o suficiente.</p>
<p><strong>Composição do mundo:</strong> o mundo aberto de The Witcher 3 foi construído em camadas por equipes distintas trabalhando simultaneamente. A equipe de terreno esculpiu a paisagem. A equipe de arte de ambientes posicionou as estruturas. A equipe de missões configurou os gatilhos e as rotas dos NPCs. Esse sistema de composição em camadas permitiu que uma equipe grande trabalhasse sem que seus integrantes interferissem no trabalho uns dos outros.</p>
<p><strong>O que podemos aplicar:</strong> composição do mundo em camadas (essencial para uma plataforma de criadores), renderização por impostores para objetos distantes, renderização diferida para muitas fontes de luz e a percepção de que o streaming deve ser sensível ao conteúdo (não carregue interiores que não podem ser vistos nem gere NPCs dos quais o jogador não está próximo).</p>
<h3 id="o-motor-de-quimica-de-breath-of-the-wild" tabindex="-1">O motor de química de Breath of the Wild <a class="header-anchor" href="#o-motor-de-quimica-de-breath-of-the-wild" aria-label="Permalink to &quot;O motor de química de Breath of the Wild&quot;"></a></h3>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/zw47_q9wbBE" title="Zelda: Breath of the Wild — Trailer da apresentação do Nintendo Switch" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="game-caption">BotW roda em hardware de nível tablet e tem um visual impressionante. Estilo cel-shading, névoa de distância em aquarela e interações sistêmicas em vez de conteúdo roteirizado. A referência máxima para mundos abertos estilizados.</div>
<p>A abordagem da Nintendo ao design de mundo aberto inverteu a fórmula típica. Em vez de preencher o mundo com conteúdo roteirizado, a empresa criou regras sistêmicas e deixou que os jogadores descobrissem comportamentos emergentes. O fogo se espalha pela grama. O metal conduz eletricidade durante tempestades. O vento carrega objetos. Tudo interage com todo o resto por meio de uma camada consistente de física e química.</p>
<p>Isso é importante para um mundo de criadores porque sugere que o próprio mundo pode ser mais interessante do que qualquer objeto colocado individualmente. Se os criadores puderem definir propriedades dos materiais e regras de interação (em vez de apenas posicionar malhas estáticas), o mundo ganhará comportamentos emergentes que farão a exploração valer a pena até mesmo em áreas que ninguém projetou explicitamente.</p>
<p><strong>Conclusões técnicas de BotW:</strong></p>
<ul>
<li>Contagem de polígonos e resolução relativamente baixas (900p no Switch conectado à base). O visual estilizado com cel-shading disfarça a baixa fidelidade. Um mundo no navegador poderia alcançar hoje uma qualidade visual semelhante.</li>
<li>A renderização à distância usa uma névoa com sombreamento toon que se dissolve em skyboxes no estilo aquarela. Barata de renderizar e bonita na prática. Esse tipo de perspectiva atmosférica é praticamente gratuito em um fragment shader.</li>
<li>O mundo tem aproximadamente 84 km2, mas é esparso. A maior parte do mapa consiste em terreno percorrível, com pontos de interesse distribuídos por ele. O conteúdo denso fica reservado para cidades e santuários. Essa abordagem “esparsa, mas interessante” reduz drasticamente os requisitos de assets em comparação com a Novigrad densamente povoada de The Witcher 3.</li>
<li>Objetos físicos têm etiquetas de material (madeira, metal, comida e explosivo) que determinam as interações. O número real de regras é pequeno (talvez de 20 a 30 tipos de interação), mas elas se combinam de maneiras que parecem infinitas.</li>
</ul>
<h3 id="as-camadas-de-mundo-de-gta-v" tabindex="-1">As camadas de mundo de GTA V <a class="header-anchor" href="#as-camadas-de-mundo-de-gta-v" aria-label="Permalink to &quot;As camadas de mundo de GTA V&quot;"></a></h3>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/QkkoHAzjnUs" title="Trailer oficial de Grand Theft Auto V" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="game-caption">Los Santos, de GTA V, parece viva graças a sistemas ambientais em camadas: trânsito, pedestres, horário do dia e clima. Os edifícios distantes são fotografias compostas, não modelos 3D.</div>
<p>A abordagem da Rockstar para Los Santos ensina uma lição diferente. O mundo de GTA V parece vivo por causa de sistemas ambientais em camadas, não porque cada NPC tenha uma missão.</p>
<p>A cidade tem sistemas de trânsito que simulam centenas de veículos em uma malha viária. Pedestres percorrem rotas, reagem ao jogador e interagem entre si. O horário do dia altera a densidade populacional, os tipos de NPCs presentes e a atividade ambiente. O clima afeta a física da direção e o comportamento dos NPCs.</p>
<p>Para um mundo de criadores, a percepção é que a vida ambiente faz a diferença entre um mundo que parece um museu e outro que parece um lugar real. Até mesmo comportamentos simples (pássaros voando no céu, ondas batendo na costa e NPCs caminhando entre edifícios) criam a ilusão de um mundo vivo.</p>
<p><strong>Conclusões técnicas de GTA V:</strong></p>
<ul>
<li>O mapa tem 75 km2 e usa LOD agressivo combinado com um sistema de streaming que carrega conteúdo com base na velocidade (dirigir rapidamente carrega áreas mais distantes à frente do que caminhar).</li>
<li>GTA Online coloca 30 jogadores simultaneamente nesse mundo. Mesmo com 30, a Rockstar descobriu que precisava de gerenciamento espacial de relevância: você recebe atualizações detalhadas sobre jogadores próximos e atualizações menos frequentes sobre os distantes. O mesmo princípio se aplica à nossa meta de 200 jogadores.</li>
<li>O pipeline de assets de GTA V é um dos mais eficientes já criados. O jogo inteiro ocupa aproximadamente 80 GB graças à compressão extrema de texturas, ao compartilhamento de malhas e aos detalhes procedurais. Os interiores dos edifícios reutilizam extensivamente peças modulares.</li>
<li>O jogo usa um sistema sofisticado de impostores no qual os edifícios distantes são, na verdade, fotografias planas combinadas. O jogador nunca percebe porque as distâncias de transição são ajustadas para ângulos de visão específicos.</li>
</ul>
<h3 id="o-mundo-aberto-continuo-de-elden-ring" tabindex="-1">O mundo aberto contínuo de Elden Ring <a class="header-anchor" href="#o-mundo-aberto-continuo-de-elden-ring" aria-label="Permalink to &quot;O mundo aberto contínuo de Elden Ring&quot;"></a></h3>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/E3Huy2cdih0" title="Trailer oficial de gameplay de Elden Ring" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="game-caption">O mapa de 79 km2 de Elden Ring combina terreno aberto esparso com masmorras densas e criadas à mão. Os mesmos assets de ambiente aparecem por toda parte em arranjos diferentes. A repetição desaparece quando a composição e a iluminação variam.</div>
<p>A FromSoftware construiu Elden Ring sobre o mesmo motor de Dark Souls, mas o ampliou para um mundo aberto. O resultado é interessante porque mostra como uma equipe relativamente pequena (em comparação com a Rockstar ou a CD Projekt) pode construir um grande mundo aberto.</p>
<p>O truque é a variação de densidade. O mapa de Elden Ring é enorme (aproximadamente 79 km2), mas grandes áreas são terrenos abertos com inimigos e pontos de interesse espalhados. O conteúdo denso e criado à mão (as Legacy Dungeons, como o Castelo Tempesvéu) está integrado ao mundo aberto e usa a mesma separação entre interiores e exteriores de Skyrim.</p>
<p><strong>Conclusões técnicas de Elden Ring:</strong></p>
<ul>
<li>O mundo é transmitido em grandes blocos. A cavalo, é possível enxergar muito longe, mas o terreno distante é extremamente simplificado. De perto, o nível de detalhe é comparável ao de Dark Souls 3.</li>
<li>As telas de carregamento só aparecem durante viagens rápidas ou ao entrar em determinadas masmorras. O próprio mundo aberto é transmitido sem interrupções.</li>
<li>O jogo reutiliza extensivamente assets de ambiente. Os mesmos modelos de árvores, formações rochosas e peças de ruínas aparecem pelo mapa em arranjos diferentes. Com variedade suficiente na disposição e na iluminação, a repetição não é perceptível. Isso se aplica diretamente a um mundo de criadores, no qual uma biblioteca de peças modulares pode gerar variedade infinita.</li>
<li>O multiplayer é baseado em sessões (outros jogadores são invocados para o seu mundo), e não persistente. Porém, os recursos assíncronos (mensagens, manchas de sangue e fantasmas de outros jogadores) criam uma sensação de existência compartilhada sem o custo de rede de um servidor persistente. Esses recursos multiplayer ambientais seriam baratos de adicionar a um mundo no navegador.</li>
</ul>
<h3 id="no-man-s-sky-tudo-procedural" tabindex="-1">No Man's Sky: tudo procedural <a class="header-anchor" href="#no-man-s-sky-tudo-procedural" aria-label="Permalink to &quot;No Man's Sky: tudo procedural&quot;"></a></h3>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/nLtmEjqzg7M" title="Trailer de No Man's Sky NEXT" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="game-caption">18 quintilhões de planetas gerados a partir de sementes compartilhadas. Todos os jogadores veem o mesmo universo sem que ele seja armazenado em um servidor. Os dados de construção de bases são compactos: IDs de peças mais transformações.</div>
<p>No Man's Sky é o caso extremo de geração procedural. São 18 quintilhões de planetas gerados a partir de uma semente compartilhada, de modo que todos os jogadores veem o mesmo universo sem que nada disso seja armazenado em um servidor.</p>
<p>O pipeline de geração funciona em etapas: sementes no nível da galáxia determinam as posições das estrelas; sementes de estrelas determinam a quantidade e os tipos de planetas; sementes de planetas orientam a geração do terreno (ruído em múltiplas oitavas), a atribuição de biomas, as espécies de flora e fauna, as paletas de cores e a distribuição de recursos. Tudo é calculado deterministicamente a partir da semente, de modo que dois jogadores que visitem as mesmas coordenadas vejam o mesmo planeta sem trocar nenhum dado sobre ele.
<strong>Principais conclusões técnicas de No Man's Sky:</strong></p>
<ul>
<li>A geração de terreno usa marching cubes baseados em voxels com uma pilha de funções de ruído. Isso permite cavernas, saliências e ilhas flutuantes que terrenos baseados em mapas de altura não conseguem representar. A desvantagem é o maior custo computacional por chunk, mas o resultado é um terreno visualmente mais interessante.</li>
<li>O sistema de construção de bases é o que mais se aproxima do que estamos imaginando. Os jogadores posicionam estruturas que persistem no servidor e ficam visíveis para outros jogadores. Os dados da base são compactos (uma lista de peças com posições e rotações) e são transmitidos sob demanda quando alguém visita o planeta.</li>
<li>O jogo foi inicialmente criticado pelo conteúdo repetitivo, apesar da variedade infinita. A geração baseada em seeds pode produzir terrenos infinitos, mas com surpresas limitadas. A lição: a geração procedural funciona para criar a tela em branco, mas é o conteúdo posicionado por criadores que faz um lugar parecer planejado e intencional.</li>
<li>A Hello Games adicionou o modo multijogador anos após o lançamento. Até 32 jogadores compartilham uma sessão com construção e exploração completas. O modelo de rede é simples: um jogador hospeda e os demais se conectam. Para um mundo no navegador com estado persistente, um modelo autoritativo no servidor funciona melhor, mas No Man's Sky comprova que mundos procedurais compartilhados são viáveis.</li>
</ul>
<h3 id="minecraft-o-modelo-para-mundos-de-criadores" tabindex="-1">Minecraft: o modelo para mundos de criadores <a class="header-anchor" href="#minecraft-o-modelo-para-mundos-de-criadores" aria-label="Permalink to &quot;Minecraft: o modelo para mundos de criadores&quot;"></a></h3>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/MmB9b5njVbA" title="Trailer oficial do Minecraft" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="game-caption">300 milhões de cópias vendidas. Texturas de 16x16 pixels. Terreno totalmente editável. Geração infinita. Multijogador. A referência mais importante para um mundo de criadores. Clones para navegador comprovam que o conceito funciona em WebGL.</div>
<p>Minecraft é a referência mais importante para o que estamos construindo, mais do que qualquer título AAA com gráficos avançados. Foram 300 milhões de cópias vendidas. O mundo tem geração infinita, é totalmente destrutível e conta com modo multijogador. No Minecraft, os criadores não apenas posicionam objetos. Eles remodelam o próprio terreno.</p>
<p><strong>Principais conclusões técnicas do Minecraft:</strong></p>
<ul>
<li>O mundo é dividido em chunks de 16x16x384 blocos. Apenas os chunks próximos ao jogador são carregados (a distância de renderização é configurável). Esse é o mesmo padrão de streaming de chunks do Skyrim, mas com terreno totalmente editável.</li>
<li>Cada chunk é armazenado como um array de IDs de blocos compactado por paleta. Um chunk com apenas 5 tipos diferentes de bloco armazena um índice de paleta de 4 bits por bloco, em vez de um ID completo do bloco. Isso torna os dados do chunk muito compactos (normalmente, de 10 a 50 KB por chunk após a compactação).</li>
<li>O protocolo multijogador do Minecraft é bem documentado e relativamente simples. O servidor envia os dados dos chunks à medida que o jogador se move. Alterações em blocos são transmitidas como pequenas atualizações incrementais (posição + novo tipo de bloco). Esse é exatamente o modelo que usaríamos para as edições dos criadores.</li>
<li>O jogo roda em Java e agora tem uma Bedrock Edition em C++. Existem clones do Minecraft para navegador (ClassiCube, eaglercraft) que comprovam que o conceito central funciona em WebGL. Normalmente, eles conseguem manter uma distância de renderização de 8 a 12 chunks a 60 fps, o que proporciona uma vista de cerca de 200 a 400 metros.</li>
<li>O ecossistema de mods do Minecraft é sua verdadeira vantagem competitiva. Os mods adicionam novos blocos, entidades, biomas e sistemas de gameplay. Para um mundo de criadores, isso sugere que a extensibilidade é tão importante quanto a experiência básica. Se os criadores puderem definir novos tipos de interação (e não apenas posicionar objetos), o mundo se tornará mais rico com o tempo.</li>
<li>A redstone (o sistema de circuitos dentro do Minecraft) demonstra que criadores construirão sistemas complexos se tiverem acesso a elementos básicos simples e combináveis. Portas lógicas, fazendas automáticas, calculadoras. O conjunto simples de regras gera uma complexidade extraordinária. É a mesma lição do mecanismo químico de BotW.</li>
</ul>
<h3 id="padroes-comuns-em-mundos-abertos-aaa" tabindex="-1">Padrões comuns em mundos abertos AAA <a class="header-anchor" href="#padroes-comuns-em-mundos-abertos-aaa" aria-label="Permalink to &quot;Padrões comuns em mundos abertos AAA&quot;"></a></h3>
<p>Ao analisar todos esses títulos, os mesmos padrões continuam aparecendo:</p>
<p><strong>O particionamento espacial</strong> é universal. Sejam células (Bethesda), setores (CD Projekt), chunks (Mojang/Rockstar) ou blocos (FromSoftware), todo mundo aberto divide o espaço em unidades carregáveis. Nenhuma engine tenta manter o mundo inteiro na memória.</p>
<p><strong>Tudo em múltiplas resoluções.</strong> Terrenos, malhas, texturas e até o áudio têm vários níveis de qualidade. A resolução obtida depende da proximidade e da importância do objeto.</p>
<p><strong>O descarte por oclusão</strong> importa mais do que a capacidade bruta de processar triângulos. Não renderizar o que não pode ser visto economiza mais desempenho do que otimizar aquilo que pode. Skyrim usa um sistema simples baseado em distância. The Witcher 3 usa oclusão por software com grandes elementos oclusores (edifícios, penhascos). Engines modernas, como a Nanite da UE5, levam isso adiante com consultas de oclusão por hardware.</p>
<p><strong>O carregamento assíncrono</strong> oculta as transições. Esses jogos não exibem telas de carregamento no mundo aberto (apenas durante viagens rápidas ou transições para interiores). Eles carregam conteúdo em threads de segundo plano, descompactam em paralelo e inserem o novo conteúdo gradualmente.</p>
<p><strong>Direção de arte acima da contagem de polígonos.</strong> Skyrim foi lançado em 2011 com gráficos que já eram modestos para a época. BotW roda em um chip da categoria de tablets e é visualmente belíssimo. Minecraft usa texturas de 16x16 pixels e é um dos jogos visualmente mais reconhecíveis já feitos. Para um mundo no navegador, isso é extremamente importante. Um estilo artístico bem dirigido e com menor fidelidade sempre superará um mundo tecnicamente avançado, mas artisticamente sem graça.</p>
<p><strong>O design sistêmico supera o conteúdo roteirizado.</strong> O mecanismo químico de BotW, as interações entre blocos do Minecraft e os sistemas de trânsito de GTA V criam comportamentos emergentes a partir de regras simples. Isso é mais barato de desenvolver, mais barato de executar e gera mais histórias para os jogadores do que sequências roteirizadas e feitas à mão. Para um mundo de criadores, o design sistêmico significa que o mundo continua interessante mesmo em áreas que ninguém projetou explicitamente.</p>
<p><strong>O conteúdo posicionado por criadores precisa de persistência e visibilidade.</strong> As bases do Minecraft e de No Man's Sky, assim como as propriedades do GTA Online, persistem entre sessões e ficam visíveis para outros jogadores. O modelo de dados do conteúdo criado sempre é compacto (IDs de peças + transformações), enquanto a representação visual é rica (o cliente expande os dados em cenas 3D completas).</p>
<h2 id="renderizacao-o-que-um-navegador-realmente-consegue-fazer" tabindex="-1">Renderização: o que um navegador realmente consegue fazer? <a class="header-anchor" href="#renderizacao-o-que-um-navegador-realmente-consegue-fazer" aria-label="Permalink to &quot;Renderização: o que um navegador realmente consegue fazer?&quot;"></a></h2>
<h3 id="three-js" tabindex="-1">Three.js <a class="header-anchor" href="#three-js" aria-label="Permalink to &quot;Three.js&quot;"></a></h3>
<p>Three.js é a base. Tem a maior comunidade (mais de 100 mil estrelas no GitHub), o maior número de exemplos e a compatibilidade mais ampla. Ele abstrai o WebGL 2 e oferece suporte experimental ao WebGPU por meio do <code>WebGPURenderer</code>.</p>
<p>Para um mundo aberto, Three.js oferece:</p>
<ul>
<li><strong>Renderização instanciada</strong> para vegetação, rochas e geometria repetida (<code>InstancedMesh</code>)</li>
<li><strong>Sistema de LOD</strong> integrado (<code>THREE.LOD</code> alterna as malhas de acordo com a distância)</li>
<li><strong>Descarte de frustum</strong> automático por objeto</li>
<li><strong>Terreno</strong> por meio de <code>BufferGeometry</code> personalizada ou <code>PlaneGeometry</code> baseada em mapa de altura</li>
<li><strong>Materiais PBR</strong> por meio de <code>MeshStandardMaterial</code> e <code>MeshPhysicalMaterial</code></li>
<li><strong>Pós-processamento</strong> por meio do <code>EffectComposer</code> (bloom, SSAO, mapeamento de tons)</li>
<li><strong>Mapas de sombras</strong>, com a possibilidade de usar mapeamento de sombras em cascata por meio de código personalizado</li>
<li><strong>glTF/GLB</strong> como principal formato de assets (compacto e pronto para a GPU)</li>
</ul>
<p>Three.js também tem um ecossistema ativo de ferramentas importantes para mundos abertos. <code>three-mesh-bvh</code> acelera o raycasting e as consultas espaciais em malhas complexas. <code>postprocessing</code> (de vanruesc) oferece uma pilha de pós-processamento com melhor desempenho do que a integrada ao Three. <code>three-gpu-pathtracing</code> permite renderização com qualidade de referência.</p>
<p><strong>Limitações para mundos abertos:</strong> Three.js não tem um grafo de cena integrado que gerencie streaming, LOD ou particionamento espacial em grande escala. Você precisa desenvolver tudo isso. Não há um sistema entidade-componente (ECS) integrado, nem física ou sistema de terreno. É um renderizador, não uma engine. Na verdade, isso é uma vantagem para um mundo aberto personalizado, pois permite controlar o layout da memória e a estratégia de carregamento, mas exige mais trabalho inicial.</p>
<div class="language-typescript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> lod</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> new</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> THREE</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">LOD</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">();</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">lod.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">addLevel</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(highDetailMesh, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">lod.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">addLevel</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(mediumDetailMesh, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">50</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">lod.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">addLevel</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(lowDetailMesh, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">200</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">lod.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">addLevel</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(impostorSprite, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">500</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">scene.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">add</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(lod);</span></span></code></pre>
</div><h3 id="babylon-js" tabindex="-1">Babylon.js <a class="header-anchor" href="#babylon-js" aria-label="Permalink to &quot;Babylon.js&quot;"></a></h3>
<p>Babylon.js é a outra grande opção. Com apoio da Microsoft, oferece recursos integrados mais completos do que o Three.js para o problema específico dos mundos abertos.</p>
<p>Recursos integrados relevantes:</p>
<ul>
<li><strong>Particionamento de cena baseado em octree</strong> para descartar com eficiência partes de cenas grandes</li>
<li><strong>Solid Particle System</strong> para renderização instanciada em massa</li>
<li><strong>Terreno baseado em mapas de altura</strong> com LOD integrado e combinação de múltiplas texturas</li>
<li><strong>Node Material Editor</strong> para criação visual de shaders</li>
<li><strong>Suporte a WebGPU</strong> (mais maduro do que no Three.js, pois o Babylon investiu nisso antes)</li>
<li><strong>Integração com a física Havok</strong> (compilada em Wasm e com qualidade de produção)</li>
<li><strong>Streaming de glTF</strong> com carregamento progressivo</li>
</ul>
<p>A extensão <code>DynamicTerrain</code> do Babylon gera chunks de terreno dinamicamente a partir de dados de mapas de altura, gerencia o LOD automaticamente e oferece suporte à combinação de texturas. Isso se aproxima muito mais do que Skyrim faz do que qualquer recurso oferecido pelo Three.js sem extensões.</p>
<div class="language-typescript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> terrain</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> new</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> BABYLON</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">DynamicTerrain</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"terrain"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  terrainSub: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">100</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  mapData: heightmapData,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  mapSubX: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">1000</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  mapSubZ: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">1000</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}, scene);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">terrain.LODLimits </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> [</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">4</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">2</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">];</span></span></code></pre>
</div><p><strong>A desvantagem:</strong> Babylon.js é uma biblioteca maior (a compilação completa tem cerca de 1 a 2 MB minificados, contra aproximadamente 600 KB do Three.js). Porém, para um mundo aberto, provavelmente seria necessário adicionar tanto código personalizado ao Three.js que a diferença de tamanho se tornaria insignificante. O Babylon também conta com seu próprio sistema Node Material, inspetor e ferramentas de desenvolvimento, que aceleram as iterações.</p>
<p>O Babylon.js 8.0 (lançado em março de 2025) reforçou sua posição como engine central para este projeto. Todos os shaders principais da engine agora são distribuídos em GLSL e WGSL, portanto o WebGPU funciona sem uma camada de conversão, e o pacote WebGPU tem aproximadamente metade do tamanho anterior. A mesma versão trouxe para a engine o controlador de personagem completo da Havok, luzes de área, uma engine de áudio reconstruída e melhorias no Gaussian splatting (formatos SPZ e PLY compactado, harmônicos esféricos e menor consumo de memória e CPU).</p>
<h3 id="playcanvas" tabindex="-1">PlayCanvas <a class="header-anchor" href="#playcanvas" aria-label="Permalink to &quot;PlayCanvas&quot;"></a></h3>
<p>Vale a pena mencionar o PlayCanvas porque é a engine 3D voltada para a web com maior comprovação em produção. Snap, Facebook e inúmeros clientes do setor publicitário lançaram experiências 3D complexas com ela. A engine tem cerca de 1 MB, carrega rapidamente e o editor na nuvem permite a criação colaborativa de mundos.</p>
<p>Especificamente para mundos abertos, o PlayCanvas oferece grupos de lotes para otimizar chamadas de desenho, um gerador de mapas de iluminação integrado e suporte a Gaussian splatting (relevante para ambientes do mundo real capturados por fotogrametria). O runtime é enxuto e bem otimizado para navegadores móveis.</p>
<h3 id="webgpu-o-salto-de-desempenho" tabindex="-1">WebGPU: o salto de desempenho <a class="header-anchor" href="#webgpu-o-salto-de-desempenho" aria-label="Permalink to &quot;WebGPU: o salto de desempenho&quot;"></a></h3>
<p>O WebGPU muda o cenário dos mundos abertos no navegador. Os dois recursos mais importantes são:</p>
<p><strong>Shaders de computação</strong> permitem a geração de terreno, o posicionamento de vegetação, a simulação de partículas e até física simples na própria GPU. Em um mundo WebGL, tudo isso é executado pela CPU em JavaScript. Com o WebGPU, é possível gerar trechos de terreno inteiramente na GPU, calcular transições de LOD na GPU e executar etapas de descarte na GPU. Isso libera a CPU para a comunicação em rede, a lógica do jogo e o streaming de conteúdo.</p>
<p><strong>A renderização indireta</strong> permite que a GPU decida o que desenhar com base na saída do shader de computação. Você envia uma única chamada de desenho, e a GPU decide quantas instâncias renderizar para cada nível de LOD com base na distância. É assim que engines modernas processam milhões de folhas de grama ou árvores. Sem renderização indireta (para a qual o WebGL não oferece suporte), a CPU precisa ordenar e agrupar tudo, tornando-se o gargalo em cenas densas.</p>
<p>O WebGPU agora está disponível em todos os principais navegadores. Chrome e Edge oferecem suporte desde a versão 113, o Firefox o adicionou no Windows (141) e no macOS em Apple Silicon (145), e o Safari 26 o levou ao macOS, iOS, iPadOS e visionOS no fim de 2025. Isso coloca o suporte global em cerca de 82%, incluindo dispositivos móveis (Chrome para Android e Samsung Internet também oferecem suporte). Ainda seria necessário manter um fallback para WebGL 2 em navegadores e dispositivos mais antigos nos quais o WebGPU não esteja ativado, mas essa lacuna diminuiu rapidamente.</p>
<div class="language-wgsl vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">wgsl</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">@</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">compute</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> @</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">workgroup_size</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">64</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">fn</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> generateTerrain</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">@</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">builtin</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(global_invocation_id) id: </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">vec3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">u32</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>) {</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> worldPos </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> vec2</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">f32</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>(</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">f32</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(id</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">x), </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">f32</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(id</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">y)) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> cellSize </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">+</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> worldOffset;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> height </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> fbmNoise</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(worldPos, octaves, persistence);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    heightmap[id</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">x </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">+</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> id</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">y </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> width] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> height;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre>
</div><h3 id="stack-de-renderizacao-recomendada" tabindex="-1">Stack de renderização recomendada <a class="header-anchor" href="#stack-de-renderizacao-recomendada" aria-label="Permalink to &quot;Stack de renderização recomendada&quot;"></a></h3>
<p>Para um mundo aberto no navegador voltado a criadores em computadores:</p>
<p><strong>Principal:</strong> Three.js ou Babylon.js com o renderizador WebGPU quando disponível e fallback para WebGL 2. O Babylon tem recursos integrados mais robustos para mundos abertos. O Three.js tem uma comunidade maior e mais flexibilidade.</p>
<p><strong>Nossa escolha:</strong> Babylon.js como núcleo da engine devido ao LOD de terreno integrado, ao descarte por octree, à física Havok (Wasm) e ao suporte maduro ao WebGPU. Usar ferramentas do ecossistema Three.js quando não houver equivalentes no Babylon (por exemplo, BVH de malhas para consultas espaciais). Envolver tudo em uma camada personalizada de streaming do mundo.</p>
<h2 id="arquitetura-de-streaming-do-mundo" tabindex="-1">Arquitetura de streaming do mundo <a class="header-anchor" href="#arquitetura-de-streaming-do-mundo" aria-label="Permalink to &quot;Arquitetura de streaming do mundo&quot;"></a></h2>
<p>Esta é a parte difícil. Uma aba do navegador tem aproximadamente de 2 a 4 GB de memória em computadores (devido aos limites impostos pelo navegador), cerca de 1 GB em dispositivos móveis e nenhum acesso direto ao disco. Tudo vem pela rede. É necessária uma arquitetura que mantenha o mundo visível na memória enquanto transmite conteúdo um pouco à frente da direção em que o jogador está se movendo.</p>
<h3 id="grade-do-mundo-baseada-em-chunks" tabindex="-1">Grade do mundo baseada em chunks <a class="header-anchor" href="#grade-do-mundo-baseada-em-chunks" aria-label="Permalink to &quot;Grade do mundo baseada em chunks&quot;"></a></h3>
<p>Assim como o sistema de células do Skyrim, divida o mundo em uma grade regular de chunks. Cada chunk é uma unidade independente que pode ser carregada, renderizada e descarregada separadamente.</p>
<p><strong>O tamanho dos chunks é importante.</strong> Se forem pequenos demais, haverá carregamentos e descarregamentos constantes com alto custo adicional. Se forem grandes demais, cada chunk demorará muito para baixar. Para um mundo no navegador com conexões de banda larga típicas:</p>
<ul>
<li>Chunks de 64x64 metros no nível do solo</li>
<li>Cada chunk contém: trecho do mapa de altura (2 a 4 KB), mapa de combinação de texturas (16 a 32 KB compactados), malhas estáticas como referências instanciadas (1 a 50 KB de dados de instâncias), objetos posicionados por criadores como um manifesto (1 a 10 KB)</li>
<li>Raio de carregamento: 5x5 chunks em detalhes máximos (vista de 320 m), 9x9 em LOD médio, 17x17 apenas com o terreno</li>
<li>Meta: dados completos de cada chunk abaixo de 200 KB, para que uma vizinhança de 5x5 fique abaixo de 5 MB</li>
</ul>
<h3 id="pipeline-de-carregamento-progressivo" tabindex="-1">Pipeline de carregamento progressivo <a class="header-anchor" href="#pipeline-de-carregamento-progressivo" aria-label="Permalink to &quot;Pipeline de carregamento progressivo&quot;"></a></h3>
<p>Não carregue tudo de um chunk de uma só vez. Use uma fila de prioridades:</p>
<ol>
<li><strong>Primeiro, a geometria do terreno</strong> (apenas o mapa de altura, 2–4 KB por chunk). O jogador vê o solo em até 100 ms.</li>
<li><strong>Texturas do terreno</strong> (mapas de splat, primeiro em baixa resolução e depois aprimorados). O solo ganha cor em até 200 ms.</li>
<li><strong>Estruturas principais</strong> (edifícios, rochas grandes). As silhuetas aparecem em até 500 ms.</li>
<li><strong>Objetos de detalhe</strong> (vegetação, pequenos elementos de cena, itens de criadores). O mundo é preenchido ao longo de 1–2 segundos.</li>
<li><strong>Texturas em alta resolução</strong> são aprimoradas por último. Ninguém percebe se a textura de um edifício distante leva um segundo a mais para carregar.</li>
</ol>
<p>Isso corresponde à forma como o olho humano funciona. Percebemos quando o solo ou as estruturas grandes estão ausentes. Não percebemos a ausência de grama.</p>
<h3 id="gerenciamento-de-memoria" tabindex="-1">Gerenciamento de memória <a class="header-anchor" href="#gerenciamento-de-memoria" aria-label="Permalink to &quot;Gerenciamento de memória&quot;"></a></h3>
<p>A memória do navegador é limitada, e o coletor de lixo é seu inimigo. Uma única pausa de GC pode derrubar a taxa de 60 fps para 10 fps durante um quadro.</p>
<p>O <strong>pool de objetos</strong> é obrigatório. Pré-aloque pools para objetos comuns (árvores, rochas, trechos de grama) e recicle-os conforme os chunks são carregados e descarregados. Nunca crie novas instâncias de <code>THREE.Mesh</code> ou <code>BABYLON.Mesh</code> no caminho crítico. Em vez disso, troque as referências de geometria e material nos objetos do pool.</p>
<p><strong>Atlas de texturas</strong> reduzem tanto as chamadas de desenho quanto a fragmentação da memória. Agrupe todas as texturas do terreno em alguns atlas grandes. Agrupe no servidor as texturas enviadas pelos criadores em atlas por chunk e transmita-as como imagens únicas.</p>
<p>A <strong>compressão de geometria</strong> com Draco ou Meshopt reduz o tamanho do download em 5–10 vezes, e a descompressão é executada em um Web Worker para não bloquear a thread principal. Especificamente para terrenos, mapas de altura quantizados (valores de 16 bits comprimidos com codificação delta simples) são menores do que qualquer formato de malha de uso geral.</p>
<p>A <strong>transferência de propriedade de ArrayBuffer</strong> entre workers e a thread principal evita cópias. Quando um worker descomprimir uma malha, transfira o buffer para a thread principal sem cópia usando <code>postMessage</code> com objetos transferíveis.</p>
<h3 id="entrega-de-assets" tabindex="-1">Entrega de assets <a class="header-anchor" href="#entrega-de-assets" aria-label="Permalink to &quot;Entrega de assets&quot;"></a></h3>
<p>Use uma <strong>CDN com cache na borda</strong> para dados estáticos do mundo. Chunks de terreno, malhas básicas e atlas de texturas que não mudam com frequência devem ser armazenados em cache de forma agressiva (Cache-Control: max-age=31536000, immutable).</p>
<p>O <strong>armazenamento endereçado por conteúdo</strong> significa que cada versão de um asset recebe um hash exclusivo em sua URL. Quando um criador modifica um chunk, a nova versão recebe um novo hash, e a antiga permanece no cache para quem ainda estiver visualizando-a. Não é necessário invalidar o cache.</p>
<p>Use <strong>texturas KTX2</strong> com compressão Basis Universal. Elas são descomprimidas para qualquer formato de GPU compatível com o dispositivo (BC7, ASTC, ETC2 ou RGBA como alternativa). Uma textura de terreno de 1024x1024 passa de 4 MB sem compressão para aproximadamente 150 KB em KTX2. Em um mundo com milhares de texturas exclusivas, essa compressão faz a diferença entre um projeto viável e um inviável.</p>
<p>Use <strong>glTF Binary (GLB)</strong> para todos os assets 3D. É o JPEG do 3D. Todos os mecanismos para navegador conseguem carregá-lo, ele é compacto e pode incorporar texturas, materiais e animações em um único arquivo. Use extensões Draco ou Meshopt para comprimir as malhas. Os assets enviados pelos criadores são processados no servidor e convertidos em GLBs otimizados antes de entrar no mundo.</p>
<h2 id="rede-multijogador" tabindex="-1">Rede multijogador <a class="header-anchor" href="#rede-multijogador" aria-label="Permalink to &quot;Rede multijogador&quot;"></a></h2>
<p>Colocar centenas de criadores no mesmo mundo exige uma arquitetura de rede capaz de lidar com movimentação em tempo real, estado persistente do mundo e edições dos criadores sem entrar em colapso.</p>
<h3 id="arquitetura-do-servidor" tabindex="-1">Arquitetura do servidor <a class="header-anchor" href="#arquitetura-do-servidor" aria-label="Permalink to &quot;Arquitetura do servidor&quot;"></a></h3>
<p>Use um <strong>servidor autoritativo</strong> para o estado do mundo. O navegador não é confiável. Todas as ações relevantes (posicionar objetos, modificar o terreno, mover-se entre chunks) são validadas no servidor. O cliente faz previsões localmente e depois as reconcilia com o estado do servidor.</p>
<p>O <strong>particionamento espacial</strong> divide o mundo entre instâncias de servidor. Cada partição controla uma região retangular da grade do mundo. À medida que a densidade de jogadores muda, as partições podem ser divididas ou mescladas. É assim que o EVE Online lida com milhares de jogadores em um único universo, e o mesmo princípio se aplica em menor escala.</p>
<p>Para um mundo de criadores no qual a maioria das interações é local (você constrói em sua área e seus vizinhos conseguem ver), o particionamento espacial funciona de maneira natural. Um jogador parado no limite de uma partição vê o conteúdo das duas partições, o que exige consultas de visibilidade entre elas, mas esse é um problema já resolvido.</p>
<p><strong>Opções de tecnologia para o servidor:</strong></p>
<table tabindex="0">
<thead>
<tr>
<th>Tecnologia</th>
<th>Pontos fortes</th>
<th>Caso de uso</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Cloudflare Durable Objects</strong></td>
<td>Implantação na borda, escalonamento automático, persistência integrada, suporte a WebSocket</td>
<td>Estado das partições do mundo, autoridade por chunk</td>
</tr>
<tr>
<td><strong>Hathora / Rivet</strong></td>
<td>Hospedagem gerenciada de servidores de jogos, proteção contra DDoS, implantação global</td>
<td>Instâncias dedicadas de servidores de jogos</td>
</tr>
<tr>
<td><strong>Colyseus</strong></td>
<td>Framework de servidor de jogos de código aberto para Node.js, sincronização de estado baseada em esquemas</td>
<td>Multijogador baseado em salas com diferenciação de estado</td>
</tr>
<tr>
<td><strong>PartyKit</strong></td>
<td>Implantação na borda, WebSocket + WebRTC, baseado em Cloudflare Workers</td>
<td>Colaboração em tempo real, multijogador leve</td>
</tr>
<tr>
<td><strong>Rust/Go personalizado</strong></td>
<td>Controle máximo, melhor desempenho por instância</td>
<td>Partições de alta densidade que exigem física de baixa latência</td>
</tr>
</tbody>
</table>
<p><strong>Nosso contexto (infraestrutura da Cloudflare):</strong> Durable Objects são uma escolha natural. Cada chunk do mundo se torna um Durable Object que mantém o estado autoritativo do conteúdo daquele chunk. Os jogadores se conectam via WebSocket ao Durable Object responsável pelo chunk atual. Quando se movem para um chunk adjacente, eles se conectam ao DO correspondente. Durable Objects persistem automaticamente o estado em disco, portanto os dados do mundo sobrevivem a reinicializações.</p>
<h3 id="comunicacao-entre-cliente-e-servidor" tabindex="-1">Comunicação entre cliente e servidor <a class="header-anchor" href="#comunicacao-entre-cliente-e-servidor" aria-label="Permalink to &quot;Comunicação entre cliente e servidor&quot;"></a></h3>
<p>Use <strong>WebSocket</strong> para mensagens confiáveis e ordenadas (chat, edições do mundo, inventário, estado do jogo). Uma conexão para cada partição ativa que o jogador consegue ver (normalmente de 1 a 4 conexões).</p>
<p>Use <strong>WebRTC DataChannel</strong> para mensagens não confiáveis e não ordenadas (posições dos jogadores, animações, efeitos efêmeros). O WebRTC permite conexões ponto a ponto, mas, em um mundo com muitos jogadores, você o executaria por meio de uma SFU (Selective Forwarding Unit) para evitar N2 conexões. Cloudflare Calls ou LiveKit podem atuar como SFU.</p>
<p>A <strong>sincronização de estado</strong> usa compressão delta. O servidor acompanha o que cada cliente já viu e envia apenas as alterações. Isso é particularmente importante em um mundo de criadores porque o estado do mundo (quais objetos existem, onde estão e quais propriedades possuem) muda com muito menos frequência do que as posições dos jogadores. É possível enviar atualizações do estado do mundo a 2–5 Hz, enquanto as posições dos jogadores são atualizadas a 20–30 Hz.</p>
<div class="language-typescript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">interface</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> WorldChunkState</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">  version</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> number</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">  terrain</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> TerrainPatch</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">  objects</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> PlacedObject</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">[];</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">  creators</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> CreatorPresence</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">[];</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">interface</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> DeltaUpdate</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">  chunkId</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> string</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">  fromVersion</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> number</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">  toVersion</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> number</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">  addedObjects</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> PlacedObject</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">[];</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">  removedObjectIds</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> string</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">[];</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">  modifiedObjects</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> Partial</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">PlacedObject</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>[];</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">  creatorMoves</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> CreatorPosition</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">[];</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre>
</div><h3 id="resolucao-de-conflitos-em-edicoes-de-criadores" tabindex="-1">Resolução de conflitos em edições de criadores <a class="header-anchor" href="#resolucao-de-conflitos-em-edicoes-de-criadores" aria-label="Permalink to &quot;Resolução de conflitos em edições de criadores&quot;"></a></h3>
<p>Quando dois criadores modificam a mesma área simultaneamente, é necessária uma estratégia de resolução de conflitos. É nesse ponto que a escolha do modelo de colaboração em tempo real se torna importante.</p>
<p><strong>A última gravação vence</strong> é a opção mais simples. Cada objeto tem apenas um proprietário por vez. Se você estiver editando um edifício, ninguém mais poderá editá-lo até que você o libere. É simples e não gera conflitos, mas limita a colaboração.</p>
<p>A <strong>Transformação Operacional (OT)</strong> é o que o Google Docs usa. As operações são transformadas em relação a operações concorrentes para produzir um resultado consistente. Isso funciona para texto, mas se torna complexo em operações espaciais 3D. O Figma usa uma variação desse modelo em sua tela 2D.</p>
<p><strong>CRDTs (Tipos de Dados Replicados sem Conflitos)</strong> permitem edições simultâneas que sempre convergem para o mesmo estado sem coordenação. Para um mundo com objetos distintos (cada um com um ID e propriedades), um registrador Last-Writer-Wins por propriedade combinado com um conjunto Add-Wins para a coleção de objetos proporciona convergência automática. Yjs e Automerge são bibliotecas CRDT para JavaScript com qualidade de produção.</p>
<p><strong>Nossa recomendação:</strong> use CRDTs para o estado dos objetos do mundo (o que existe, onde está e quais propriedades possui) e um servidor autoritativo para a validação espacial (impedir dois objetos no mesmo lugar e manter os objetos dentro dos limites do mundo). O CRDT cuida da colaboração. O servidor cuida da física.</p>
<h3 id="como-lidar-com-a-escala-quantos-jogadores" tabindex="-1">Como lidar com a escala: quantos jogadores? <a class="header-anchor" href="#como-lidar-com-a-escala-quantos-jogadores" aria-label="Permalink to &quot;Como lidar com a escala: quantos jogadores?&quot;"></a></h3>
<p>MMOs para navegador já existem. Hordes.io executa cenas com mais de 200 jogadores no navegador. BrowserQuest (o experimento da Mozilla) comportava centenas de jogadores com um mundo simples baseado em blocos. A questão não é se os navegadores conseguem lidar com multijogador, mas qual fidelidade visual pode ser mantida à medida que o número de jogadores aumenta.</p>
<p><strong>Orçamento de renderização dos jogadores:</strong> cada jogador visível precisa de uma malha, animações e, possivelmente, uma aparência personalizada pelo criador. A 60 fps, você tem 16 ms por quadro. Um orçamento razoável:</p>
<ul>
<li>50 jogadores totalmente animados a curta distância: cerca de 2 ms para animação + skinning</li>
<li>200 jogadores a média distância (animação simplificada, com instanciação): cerca de 1 ms</li>
<li>Mais de 500 jogadores como pontos/ícones no minimapa: impacto insignificante</li>
</ul>
<p>Isso proporciona uma população visível de aproximadamente 250 jogadores em uma única visão, o que é mais do que suficiente para um mundo de criadores. As capitais de World of Warcraft raramente renderizam mais de 200 personagens na tela ao mesmo tempo.</p>
<p><strong>Orçamento de rede:</strong> cada jogador enviando sua posição a 20 Hz consome aproximadamente 40 bytes * 20 = 800 bytes/segundo. Com 200 jogadores visíveis, são 160 KB/s de dados de posição. Somando o estado do mundo, o chat e as ações dos criadores, o total fica entre 200–500 KB/s por cliente. Isso está bem dentro da capacidade da banda larga, mas ainda vale a pena comprimir.</p>
<h2 id="sistema-de-terreno" tabindex="-1">Sistema de terreno <a class="header-anchor" href="#sistema-de-terreno" aria-label="Permalink to &quot;Sistema de terreno&quot;"></a></h2>
<p>O terreno é a base de qualquer mundo aberto. Também é onde as limitações do navegador pesam mais, pois ele precisa estar em toda parte e sempre visível.</p>
<h3 id="terreno-baseado-em-mapa-de-altura" tabindex="-1">Terreno baseado em mapa de altura <a class="header-anchor" href="#terreno-baseado-em-mapa-de-altura" aria-label="Permalink to &quot;Terreno baseado em mapa de altura&quot;"></a></h3>
<p>Assim como em Skyrim, use um mapa de altura. Uma grade 2D de valores de altura gera o terreno 3D por meio de um shader de vértices. Isso é muito mais compacto do que um terreno formado por malhas arbitrárias.</p>
<p>Um mapa de altura de 4096x4096 com precisão de 16 bits ocupa 32 MB sem compressão. Mas ele nunca é carregado por inteiro de uma só vez. Cada chunk de 64 m usa uma seção de 65x65 do mapa de altura (cerca de 8,4 KB em 16 bits). Comprima-a com codificação delta e zlib, e o tamanho fica abaixo de 2 KB por chunk.</p>
<p>O <strong>texture splatting</strong> aplica vários materiais de terreno (grama, rocha, terra, areia) usando um mapa de mesclagem. Cada chunk possui um mapa de splat RGBA de quatro canais, em que cada canal controla o peso de mesclagem de um material. Com quatro texturas por mapa de splat e a possibilidade de variar esses mapas por chunk, você obtém diversidade visual em todo o mundo.</p>
<p>Renderizadores modernos de terreno usam <strong>texturização virtual</strong> (também chamada de megatexture, originada da tecnologia da id Software em Rage). Em vez de fazer o splatting em tempo de execução, você pré-renderiza a textura mesclada do terreno em alta resolução e transmite blocos dela conforme a câmera se move. Isso troca espaço de armazenamento por desempenho em tempo de execução. Os shaders de computação do WebGPU conseguem lidar com o feedback e o gerenciamento de tabelas de páginas exigidos pela texturização virtual.</p>
<h3 id="clipmap-ou-geoclipmapping" tabindex="-1">Clipmap ou geoclipmapping <a class="header-anchor" href="#clipmap-ou-geoclipmapping" aria-label="Permalink to &quot;Clipmap ou geoclipmapping&quot;"></a></h3>
<p>Para renderizar grandes terrenos em um navegador, as abordagens CDLOD (LOD de C. Dick) ou geoclipmapping funcionam bem. O terreno é renderizado como um conjunto de anéis concêntricos ao redor da câmera, cada um com metade da resolução do anterior. Perto da câmera, você vê o terreno em resolução total. À distância, vê uma versão menos detalhada. As transições são suaves porque a geometria se transforma entre os níveis.</p>
<p>Essa técnica é eficiente para a GPU (uma chamada de desenho por anel), permite terrenos infinitos com uso constante de memória e funciona no WebGL 2. É o que Flight Simulator e a maioria dos jogos modernos de mundo aberto usam em algum nível.</p>
<h3 id="terreno-modificado-por-criadores" tabindex="-1">Terreno modificado por criadores <a class="header-anchor" href="#terreno-modificado-por-criadores" aria-label="Permalink to &quot;Terreno modificado por criadores&quot;"></a></h3>
<p>Se os criadores puderem esculpir o terreno, será necessário armazenar e transmitir as modificações sobre o mapa de altura base. Há duas abordagens:</p>
<p><strong>Mapas de altura delta</strong> armazenam a diferença entre o terreno base e o terreno modificado. A maior parte do mundo não é modificada (os deltas são zero), portanto isso gera uma compressão extremamente eficiente. Ao carregar um chunk, aplique o delta sobre a base.</p>
<p><strong>Sobreposições de voxels</strong> permitem modificações mais radicais (cavernas, saliências, arcos). Um mapa de altura não consegue representar um terreno no qual um único ponto tem duas alturas. Uma grade esparsa de voxels armazenada apenas nos chunks modificados resolve isso. Marching cubes ou contorno dual geram a malha. Essa abordagem é mais cara, mas permite editar o terreno no estilo Minecraft.</p>
<h2 id="geracao-de-mundos-com-ia" tabindex="-1">Geração de mundos com IA <a class="header-anchor" href="#geracao-de-mundos-com-ia" aria-label="Permalink to &quot;Geração de mundos com IA&quot;"></a></h2>
<p>É aqui que os recursos existentes de IA generativa da Cinevva se tornam um multiplicador de força. Em vez de construir manualmente cada rocha e árvore, os criadores podem orientar a IA para povoar o mundo.</p>
<h3 id="geracao-de-terreno-com-campos-neurais" tabindex="-1">Geração de terreno com campos neurais <a class="header-anchor" href="#geracao-de-terreno-com-campos-neurais" aria-label="Permalink to &quot;Geração de terreno com campos neurais&quot;"></a></h3>
<p>Pesquisas recentes sobre geração neural de terrenos (GET3D da NVIDIA, o modo de rede neural do Terragen e artigos como &quot;Terrain Generation Using Procedural Models&quot;) mostram que modelos treinados podem gerar terrenos plausíveis a partir de prompts de texto ou esboços. Um criador poderia desenhar um litoral aproximado e dizer &quot;colinas arborizadas encontrando uma costa rochosa&quot; para obter um mapa de altura com erosão, máscaras de vegetação e atribuições de materiais adequadas.</p>
<p>Para disponibilização no navegador, a geração seria executada no servidor e o resultado seria transmitido. O modelo de geração não precisa ser executado no navegador. Ele produz mapas de altura e mapas de splat que o navegador pode renderizar com o pipeline de terreno padrão.</p>
<h3 id="geracao-de-assets-3d" tabindex="-1">Geração de assets 3D <a class="header-anchor" href="#geracao-de-assets-3d" aria-label="Permalink to &quot;Geração de assets 3D&quot;"></a></h3>
<p>Modelos como <a href="https://github.com/Tencent-Hunyuan/HunyuanVideo" target="_blank" rel="noreferrer">Hunyuan3D</a>, Meshy, Tripo e Rodin podem gerar malhas 3D a partir de texto ou imagens. O fluxo de trabalho para um mundo de criadores seria:</p>
<ol>
<li>O criador descreve ou esboça o que deseja (&quot;um arco de pedra coberto de musgo&quot; ou &quot;um poste de iluminação futurista&quot;)</li>
<li>O servidor executa o modelo de geração e produz uma malha com muitos polígonos</li>
<li>O servidor faz o processamento automático: reduz para uma contagem de polígonos adequada à web, gera LODs, incorpora as texturas em um atlas e exporta como GLB com compressão Draco</li>
<li>O asset aparece no inventário do criador, pronto para ser colocado no mundo</li>
</ol>
<p>Esse pipeline já existe parcialmente na Cinevva. O que falta é a etapa de LOD/otimização e o sistema de posicionamento no mundo.</p>
<h3 id="povoamento-procedural" tabindex="-1">Povoamento procedural <a class="header-anchor" href="#povoamento-procedural" aria-label="Permalink to &quot;Povoamento procedural&quot;"></a></h3>
<p>Mesmo com assets gerados por IA, posicionar manualmente cada árvore de uma floresta é tedioso. Regras de distribuição procedural permitem que os criadores definam zonas (&quot;esta área é uma floresta densa&quot;, &quot;esta encosta é um pedregal rochoso&quot;) e o sistema as povoe automaticamente.</p>
<p>Shaders de computação da GPU podem executar a distribuição no navegador. Com base em um mapa de densidade e um conjunto de regras (espaçamento mínimo, restrições de inclinação, faixa de altura), uma passagem de computação gera posições de instâncias para um chunk inteiro em menos de 1 ms. Modifique o mapa de densidade, e a vegetação será gerada novamente de forma instantânea.</p>
<h2 id="sistema-de-entidades-e-componentes-ecs" tabindex="-1">Sistema de Entidades e Componentes (ECS) <a class="header-anchor" href="#sistema-de-entidades-e-componentes-ecs" aria-label="Permalink to &quot;Sistema de Entidades e Componentes (ECS)&quot;"></a></h2>
<p>Um mundo aberto com milhares de objetos precisa de um sistema eficiente de gerenciamento de entidades. O padrão ECS (popular em motores de jogos desde o DOTS da Unity e o Bevy) se adapta bem ao JavaScript.</p>
<p><strong>bitECS</strong> é um ECS de alto desempenho para JavaScript que usa arrays tipados e operações bit a bit. As entidades são inteiros simples. Os componentes são arrays tipados contíguos (um para cada tipo de componente). Os sistemas percorrem os arrays sequencialmente, o que favorece o uso do cache mesmo em JavaScript.</p>
<div class="language-typescript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> { createWorld, defineComponent, Types, defineQuery, addEntity, addComponent } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 'bitecs'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> Position</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> defineComponent</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">({ x: Types.f32, y: Types.f32, z: Types.f32 });</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> Velocity</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> defineComponent</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">({ x: Types.f32, y: Types.f32, z: Types.f32 });</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> ChunkRef</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> defineComponent</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">({ chunkX: Types.i16, chunkZ: Types.i16 });</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> world</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> createWorld</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">();</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> movingQuery</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> defineQuery</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">([Position, Velocity]);</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">function</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> movementSystem</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">world</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">) {</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> entities</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> movingQuery</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(world);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  for</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> i </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">; i </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">&#x3C;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> entities.</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">length</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">; i</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">++</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">) {</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> eid</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> entities[i];</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    Position.x[eid] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">+=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> Velocity.x[eid] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> dt;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    Position.y[eid] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">+=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> Velocity.y[eid] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> dt;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    Position.z[eid] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">+=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> Velocity.z[eid] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> dt;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  }</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> world;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre>
</div><p>Em um mundo aberto, o ECS cuida de tudo: personagens dos jogadores, objetos posicionados, NPCs, partículas, gatilhos e elementos de cenário. Quando um chunk é descarregado, suas entidades são removidas do ECS. Quando um chunk é carregado, as entidades são adicionadas. O ECS não se importa com a organização espacial. Ele apenas processa os componentes.</p>
<h2 id="fisica" tabindex="-1">Física <a class="header-anchor" href="#fisica" aria-label="Permalink to &quot;Física&quot;"></a></h2>
<p>A física nos navegadores ficou surpreendentemente boa graças ao WebAssembly.</p>
<h3 id="rapier-rust-wasm" tabindex="-1">Rapier (Rust -&gt; Wasm) <a class="header-anchor" href="#rapier-rust-wasm" aria-label="Permalink to &quot;Rapier (Rust -&gt; Wasm)&quot;"></a></h3>
<p>Rapier é um motor de física escrito em Rust que é compilado para WebAssembly. Ele processa corpos rígidos, colisores, juntas, controladores de personagem e raycasting. Seu desempenho fica entre 2 e 3 vezes abaixo do Bullet/PhysX nativo em cargas de trabalho típicas de jogos.</p>
<p>Em um mundo aberto, o Rapier cuida de:</p>
<ul>
<li>Controlador do personagem do jogador (caminhar sobre o terreno, subir degraus, deslizar em declives)</li>
<li>Colisão entre objetos (objetos posicionados, projéteis)</li>
<li>Raycasting para interações do jogador (clicar em um objeto para selecioná-lo)</li>
<li>Volumes de gatilho (entrar em uma área, acionar um evento)</li>
</ul>
<p>O Rapier é executado em um Web Worker, portanto a simulação de física não bloqueia a renderização. A cada quadro, você envia posições ao renderizador e recebe de volta os eventos de entrada.</p>
<h3 id="havok-para-web-via-babylon-js" tabindex="-1">Havok para Web (via Babylon.js) <a class="header-anchor" href="#havok-para-web-via-babylon-js" aria-label="Permalink to &quot;Havok para Web (via Babylon.js)&quot;"></a></h3>
<p>Se você optar pelo Babylon.js, a física Havok já vem integrada como um módulo Wasm. Havok é o motor de física por trás da maioria dos jogos AAA (Half-Life 2, Skyrim, Breath of the Wild). A versão Wasm tem qualidade de produção e é otimizada para o grafo de cena do Babylon.</p>
<h3 id="colisao-com-o-terreno" tabindex="-1">Colisão com o terreno <a class="header-anchor" href="#colisao-com-o-terreno" aria-label="Permalink to &quot;Colisão com o terreno&quot;"></a></h3>
<p>Motores de física precisam de geometria de colisão para o terreno. Gerar uma malha triangular em resolução máxima para todo o terreno visível seria caro. Em vez disso, gere campos de altura de colisão apenas para os chunks próximos ao jogador (os 3x3 ou 5x5 chunks mais próximos) e use colisões simplificadas para todo o resto. O colisor de campo de altura do Rapier foi projetado exatamente para esse caso de uso.</p>
<h2 id="audio" tabindex="-1">Áudio <a class="header-anchor" href="#audio" aria-label="Permalink to &quot;Áudio&quot;"></a></h2>
<p>O som transforma um espaço 3D, fazendo-o deixar de ser uma demonstração visual e se tornar um lugar. A Web Audio API oferece tudo o que é necessário para áudio espacial em um navegador.</p>
<p>O <strong>áudio espacial com HRTF</strong> (função de transferência relacionada à cabeça) posiciona os sons no espaço 3D. Uma cachoeira à sua esquerda parece estar à sua esquerda. Aproxime-se e ela fica mais alta. Passe para trás de um edifício e o som fica abafado (com processamento adicional).</p>
<p>As <strong>zonas de ambiente</strong> funcionam como o texture splatting para áudio. Defina regiões (floresta, caverna, litoral, cidade) e faça transições graduais entre paisagens sonoras ambientes à medida que o jogador se move entre elas. É assim que Skyrim faz suas florestas parecerem vivas. Sobreponha vento, pássaros, folhas farfalhando e animais distantes. Nada disso é complexo. Tudo é espacial.</p>
<p>O <strong>desempenho da Web Audio</strong> é bom o bastante para dezenas de fontes espaciais simultâneas. O gargalo costuma ser o tamanho dos recursos, não o processamento. Use Opus ou AAC para áudio comprimido, transmita faixas ambientes longas e pré-carregue efeitos sonoros curtos (passos, interações).</p>
<h2 id="agua-clima-e-atmosfera" tabindex="-1">Água, clima e atmosfera <a class="header-anchor" href="#agua-clima-e-atmosfera" aria-label="Permalink to &quot;Água, clima e atmosfera&quot;"></a></h2>
<p>Todo mundo aberto memorável tem água e clima. Esses sistemas definem o clima visual e fazem o mundo parecer vivo. Também são surpreendentemente viáveis em um navegador.</p>
<h3 id="renderizacao-de-agua" tabindex="-1">Renderização de água <a class="header-anchor" href="#renderizacao-de-agua" aria-label="Permalink to &quot;Renderização de água&quot;"></a></h3>
<p>A água em 3D no navegador tem três níveis de complexidade, e você pode lançar primeiro o mais simples e aprimorá-lo depois.</p>
<p><strong>Nível 1: plano reflexivo.</strong> Uma malha plana na altura da água com um material reflexivo/refrativo. Renderize a cena de cabeça para baixo em uma textura (reflexão planar), misture-a com uma tonalidade azul e adicione mapas de normais em movimento para simular as ondas. É isso que o shader de água básico de Skyrim faz. No Three.js, o exemplo <code>Water</code> do repositório oficial implementa isso. No Babylon.js, o <code>WaterMaterial</code> oferece isso pronto para uso. Custo: uma passagem extra de renderização para os reflexos (metade da resolução é suficiente), além da renderização da superfície da água. Em uma GPU intermediária, isso acrescenta de 2 a 3 ms por quadro.</p>
<p><strong>Nível 2: reflexos no espaço da tela + efeitos baseados em profundidade.</strong> Em vez de uma passagem de renderização separada para os reflexos, obtenha amostras do framebuffer existente (SSR). Adicione absorção de cor baseada em profundidade (a água fica mais escura onde é mais profunda), espuma nas margens usando comparação de profundidade e cáusticas projetadas sobre o terreno submerso. É isso que The Witcher 3 usa. O SSR está disponível tanto na pilha de pós-processamento do Three.js quanto no pipeline de renderização do Babylon.js. Custo: de 1 a 2 ms para SSR e um custo insignificante para os efeitos de profundidade.</p>
<p><strong>Nível 3: simulação de oceano com FFT.</strong> Para o oceano aberto, use uma Transformada Rápida de Fourier para simular espectros de ondas na GPU. O artigo &quot;Simulating Ocean Water&quot; (2001), de Jerry Tessendorf, é a base usada por todos os principais motores de jogos. A FFT é executada como um compute shader no WebGPU, gerando um mapa de deslocamento e um mapa de normais a cada quadro. O oceano resultante parece extremamente convincente. É isso que Sea of Thieves, Assassin's Creed Black Flag e Uncharted 4 usam. No WebGPU, um oceano FFT de 256x256 é executado em menos de 1 ms em GPUs para desktop.</p>
<div class="language-wgsl vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">wgsl</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">@</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">compute</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> @</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">workgroup_size</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">16</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">16</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">fn</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> fftOceanDisplacement</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">@</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">builtin</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(global_invocation_id) id: </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">vec3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">u32</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>) {</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> k </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> vec2</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">f32</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>(</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">f32</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(id</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">x) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">-</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> N</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">/</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">2.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">f32</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(id</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">y) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">-</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> N</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">/</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">2.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> omega </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> sqrt</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">length</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(k) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> gravity);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> phase </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> omega </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> time;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> h </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> spectrum[id</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">xy] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> vec2</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">f32</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>(</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">cos</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(phase), </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">sin</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(phase));</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    displacement[id</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">xy] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> h;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre>
</div><p>Para um mundo de criação, comece com o Nível 1 (plano reflexivo) e avance para o Nível 2 quando o renderizador estiver mais maduro. O Nível 3 só é necessário se o mundo tiver oceano aberto.</p>
<h3 id="sistemas-climaticos" tabindex="-1">Sistemas climáticos <a class="header-anchor" href="#sistemas-climaticos" aria-label="Permalink to &quot;Sistemas climáticos&quot;"></a></h3>
<p>O clima em Skyrim e BotW é controlado por uma máquina de estados com transições. Ensolarado &gt; Nublado &gt; Chuva &gt; Tempestade &gt; Ensolarado. Cada estado altera vários sistemas simultaneamente: skybox, densidade da névoa, cor da luz ambiente, efeitos de partículas (chuva/neve), áudio (vento, chuva) e propriedades de jogabilidade (superfícies molhadas são escorregadias em BotW).</p>
<p>Para um mundo no navegador, o sistema climático tem três camadas:</p>
<p><strong>Renderização do céu.</strong> Um shader de céu procedural é mais econômico e flexível do que texturas de skybox. Os modelos de céu Preetham ou Hosek-Wilkie calculam cores fisicamente plausíveis para o céu usando apenas a posição do sol. Adicione uma camada de nuvens usando ruído 3D que se move por um plano. O Babylon.js tem um material de céu procedural integrado. O Three.js tem o exemplo <code>Sky</code>. Ambos produzem resultados convincentes com um custo insignificante para a GPU (é um único quadrilátero em tela cheia).</p>
<p><strong>Efeitos de partículas.</strong> A chuva é um sistema de partículas com milhares de quadriláteros finos caindo do alto. A neve é semelhante, mas tem trajetórias mais lentas e flutuantes. A névoa é uma passagem de pós-processamento que mistura a cena com uma cor de névoa com base na profundidade. Todos esses são efeitos WebGL comuns. O custo depende da quantidade de partículas: 10.000 partículas de chuva acrescentam aproximadamente 0,5 ms por quadro.</p>
<p><strong>Resposta ambiental.</strong> Superfícies molhadas aumentam a reflexão especular. O acúmulo de neve adiciona branco às superfícies voltadas para cima. Poças aparecem em terrenos côncavos. Esses são truques de shader, não alterações de geometria. Um uniform de &quot;umidade&quot; altera a rugosidade do material. Um uniform de &quot;cobertura de neve&quot; mistura branco nas superfícies cujas normais apontam para cima. GTA V e The Witcher 3 usam exatamente essa abordagem.</p>
<p><strong>Clima sincronizado.</strong> Em um mundo multijogador, o clima precisa ser consistente entre os clientes. A abordagem mais simples: o servidor transmite um estado climático (incluindo o progresso da transição) a 1 Hz. Os clientes interpolam localmente. Como o clima muda lentamente (uma transição de tempo aberto para chuva leva de 30 a 60 segundos), até mesmo uma atualização atrasada parece suave.</p>
<h3 id="perspectiva-atmosferica" tabindex="-1">Perspectiva atmosférica <a class="header-anchor" href="#perspectiva-atmosferica" aria-label="Permalink to &quot;Perspectiva atmosférica&quot;"></a></h3>
<p>Esta é a técnica visual mais eficaz para fazer um mundo parecer grande, e seu custo é quase nulo. Objetos distantes parecem mais enevoados, azulados e com menos contraste devido à dispersão da luz na atmosfera. Todo mundo aberto usa isso.</p>
<p>Em um fragment shader, misture os pixels distantes com a cor da atmosfera com base na profundidade:</p>
<div class="language-glsl vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">glsl</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> fogFactor </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 1.0</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> -</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> exp</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">distance </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> fogDensity);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">vec3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> finalColor </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> mix</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(objectColor, atmosphereColor, fogFactor);</span></span></code></pre>
</div><p>BotW leva isso além com uma névoa de aspecto pictórico que faz a transição para uma distância em estilo aquarela. A cor da névoa muda de acordo com a hora do dia e o clima. Esse único efeito de shader contribui mais para a sensação de escala do que qualquer quantidade de detalhes no terreno.</p>
<p>Para um mundo no navegador com direção de arte estilizada, a perspectiva atmosférica é o primeiro efeito visual a implementar. Ela oculta transições de LOD (objetos distantes com menos detalhes parecem adequados através da névoa), reduz o surgimento repentino visível de conteúdo transmitido e faz as capturas de tela parecerem boas mesmo antes de o mundo estar totalmente povoado.</p>
<h2 id="sistemas-de-avatares" tabindex="-1">Sistemas de avatares <a class="header-anchor" href="#sistemas-de-avatares" aria-label="Permalink to &quot;Sistemas de avatares&quot;"></a></h2>
<p>Os jogadores precisam de corpos. Em um mundo de criação, o avatar é a principal forma de expressão pessoal, além daquilo que você constrói. O sistema precisa ser flexível o bastante para permitir personalização e, ao mesmo tempo, manter os custos de renderização baixos o suficiente para mais de 200 jogadores visíveis.</p>
<h3 id="arquitetura-de-avatares" tabindex="-1">Arquitetura de avatares <a class="header-anchor" href="#arquitetura-de-avatares" aria-label="Permalink to &quot;Arquitetura de avatares&quot;"></a></h3>
<p><strong>Malha base + camadas de personalização.</strong> Comece com uma malha humanoide base compartilhada (de 1.500 a 3.000 triângulos para o corpo). A personalização ocorre por meio de:</p>
<ul>
<li>Variações de cor/textura (tom de pele, cor do cabelo) por meio de alterações de uniforms. Sem geometria extra.</li>
<li>Partes de malha intercambiáveis (estilos de cabelo, roupas, acessórios) que substituem seções da malha base. Cada parte é uma pequena malha separada (de 200 a 500 triângulos).</li>
<li>Variações nas propriedades dos materiais (armadura metálica versus túnica de tecido) por meio de alterações nos parâmetros dos materiais.</li>
</ul>
<p>É assim que Roblox, Fortnite e VRChat processam avatares. O custo base permanece constante independentemente da personalização.</p>
<p><strong>Ready Player Me</strong> e <strong>Avaturn</strong> oferecem criação de avatares no navegador com saída em modelos glTF compatíveis com qualquer motor 3D. Eles processam escaneamento facial a partir de fotos, proporções corporais e roupas. Os modelos de saída são otimizados para renderização em tempo real (normalmente de 10 mil a 20 mil triângulos, com possibilidade de redução para 3 mil a 5 mil na renderização à distância).</p>
<h3 id="animacao-esqueletica-no-navegador" tabindex="-1">Animação esquelética no navegador <a class="header-anchor" href="#animacao-esqueletica-no-navegador" aria-label="Permalink to &quot;Animação esquelética no navegador&quot;"></a></h3>
<p>Todo jogador visível precisa de animações: parado, andando, correndo, pulando e emotes. A animação esquelética movimenta uma malha por meio de um conjunto de transformações de ossos a cada quadro.</p>
<p>O <strong>skinning na GPU</strong> é obrigatório para obter bom desempenho. Tanto o Three.js quanto o Babylon.js realizam o skinning na GPU por padrão. As matrizes dos ossos são enviadas como um buffer uniforme ou textura, e o vertex shader aplica as transformações dos ossos. O custo para a CPU vem do cálculo das transformações dos ossos a partir do clipe de animação. Para um esqueleto de 60 ossos a 30 fps, isso representa aproximadamente 0,01 ms por personagem. Para 200 personagens: 2 ms no total. Aceitável.</p>
<p>A <strong>mesclagem de animações</strong> combina várias animações (andar + acenar, parado + olhar ao redor) usando pesos de mesclagem. Tanto o Three.js (<code>AnimationMixer</code>) quanto o Babylon.js (<code>AnimationGroup</code>) oferecem suporte a isso. A mesclagem acontece na CPU (interpolando as transformações dos ossos) antes de o resultado combinado ser enviado à GPU.</p>
<p>A <strong>animação instanciada</strong> é essencial para renderizar muitos personagens com eficiência. Em vez de renderizar cada personagem como uma malha separada, grave os quadros da animação em uma textura (textura de animação de vértices, ou VAT). Cada linha da textura armazena as transformações dos ossos de um quadro. Um compute shader ou vertex shader lê a linha correta com base no tempo de animação do personagem. Isso permite renderizar centenas de personagens com uma única chamada de desenho instanciada. The Witcher 3 e Assassin's Creed usam essa técnica para renderizar multidões.</p>
<p>No WebGPU, personagens animados instanciados têm esta aparência:</p>
<div class="language-wgsl vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">wgsl</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">@</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">vertex</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">fn</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> vs_main</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">@</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">builtin</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(instance_index) instanceIdx: </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">u32</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">@</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">location</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">) position: </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">vec3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">f32</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">-></span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> @</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">builtin</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(position) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">vec4</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">f32</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">> {</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> animFrame </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> instances[instanceIdx]</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">animationFrame;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> boneIdx </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> vertexBoneIndices[vertexIdx];</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> boneTransform </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> textureLoad</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(animTexture, </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">vec2</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">i32</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>(</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">i32</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(boneIdx), </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">i32</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(animFrame)), </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> worldPos </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> instances[instanceIdx]</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">transform </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> boneTransform </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> vec4</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">f32</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>(position, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">1.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> viewProjection </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> worldPos;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre>
</div><p>Para jogadores distantes (a mais de 50 metros), mude para impostores em billboard: um quadrilátero plano exibindo um sprite pré-renderizado do personagem a partir do ângulo de visão atual. É o mesmo truque que Skyrim usa para árvores distantes, aplicado a personagens. A transição é imperceptível à distância.</p>
<h3 id="cinematica-inversa-para-interacao" tabindex="-1">Cinemática inversa para interação <a class="header-anchor" href="#cinematica-inversa-para-interacao" aria-label="Permalink to &quot;Cinemática inversa para interação&quot;"></a></h3>
<p>Quando um personagem pega um objeto, alcança a maçaneta de uma porta ou aponta para algo, a IK procedural faz a ação parecer natural. FABRIK (Cinemática Inversa por Alcance para Frente e para Trás) é um solucionador de IK simples e rápido que funciona bem em tempo real. Tanto o Three.js (por meio de <code>CCDIKSolver</code>) quanto o Babylon.js (por meio de <code>BoneIKController</code>) têm suporte integrado a IK.</p>
<p>Para um mundo de criação, a IK permite que os personagens interajam naturalmente com objetos posicionados: sentar em cadeiras colocadas pelos criadores, apoiar-se em corrimãos e pegar itens. As interações não precisam de animações específicas para cada objeto. O sistema de IK adapta a pose do personagem à posição do objeto.</p>
<h2 id="redes-avancadas" tabindex="-1">Redes avançadas <a class="header-anchor" href="#redes-avancadas" aria-label="Permalink to &quot;Redes avançadas&quot;"></a></h2>
<p>A arquitetura básica (WebSocket + WebRTC) foi abordada anteriormente. Veja agora mais detalhes sobre protocolos, compressão e opções de transporte mais recentes.</p>
<h3 id="protocolos-de-mensagens-binarias" tabindex="-1">Protocolos de mensagens binárias <a class="header-anchor" href="#protocolos-de-mensagens-binarias" aria-label="Permalink to &quot;Protocolos de mensagens binárias&quot;"></a></h3>
<p>JSON sobre WebSocket desperdiça 10 vezes mais largura de banda em comparação com a codificação binária. Em um mundo multijogador em tempo real, todas as mensagens devem ser binárias.
<strong>FlatBuffers</strong> (do Google) é a melhor opção para redes de jogos. Ao contrário do Protocol Buffers, o FlatBuffers oferece acesso sem cópia aos dados serializados. Você não decodifica a mensagem em objetos JavaScript. Em vez disso, lê os campos diretamente do buffer. Isso elimina as alocações e a pressão sobre o GC que o Protocol Buffers criaria em um caminho crítico. O FlatBuffers tem um gerador de código JavaScript/TypeScript.</p>
<p>Uma atualização de posição de jogador em FlatBuffers:</p>
<div class="language-typescript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// Esquema: PlayerUpdate { id: uint16, x: float32, y: float32, z: float32, yaw: float16, pitch: float16, animState: uint8 }</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// Total: 17 bytes por atualização de jogador</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// vs. JSON: {"id":42,"x":103.5,"y":12.3,"z":-47.8,"yaw":1.57,"pitch":0.2,"animState":3} = mais de 80 bytes</span></span></code></pre>
</div><p>Para 200 jogadores a 20 Hz, a diferença é 200 * 17 * 20 = 68 KB/s (binário) contra 200 * 80 * 20 = 320 KB/s (JSON). O binário é 4,7 vezes menor e evita as alocações de JSON.parse no loop crítico.</p>
<p><strong>MessagePack</strong> é mais simples que FlatBuffers (sem esquema nem geração de código), mas ainda é 30–50% menor que JSON. É um bom meio-termo se você quer usar dados binários sem precisar gerenciar esquemas.</p>
<h3 id="quantizacao-de-posicao-e-compressao-delta" tabindex="-1">Quantização de posição e compressão delta <a class="header-anchor" href="#quantizacao-de-posicao-e-compressao-delta" aria-label="Permalink to &quot;Quantização de posição e compressão delta&quot;"></a></h3>
<p>As posições dos jogadores não precisam da precisão de um float de 32 bits. Se o seu mundo tiver 4 km x 4 km, um inteiro sem sinal de 16 bits oferece precisão de 6 cm (4000 m / 65536). Para a maioria dos jogos, isso é indistinguível da precisão total. Isso reduz pela metade o tamanho dos dados de posição.</p>
<p>A <strong>compressão delta</strong> envia apenas a diferença em relação ao último estado confirmado. Se um jogador se moveu 0,5 metro desde a última atualização, o delta é um número pequeno que pode ser bem compactado. Em conjunto com a codificação de comprimento variável (deltas menores usam menos bytes), atualizações de posição típicas com compressão delta ocupam de 3 a 6 bytes, em vez de 12.</p>
<p>A <strong>navegação estimada</strong> reduz a frequência das atualizações. Em vez de enviar a posição a 20 Hz, envie posição + velocidade. O cliente extrapola a posição entre as atualizações. Só envie uma correção quando a posição real divergir da posição prevista além de um limite. Isso pode reduzir em 60–80% a largura de banda das atualizações de posição para jogadores que se movem em linha reta (a maior parte dos movimentos).</p>
<p>RuneScape usa uma versão extrema disso: o movimento dos jogadores é baseado em blocos, portanto, um comando de movimento é apenas um bloco de destino. O cliente anima localmente o caminho percorrido. Para um mundo 3D contínuo, você usaria navegação estimada suave, mas o princípio é o mesmo.</p>
<h3 id="webtransport" tabindex="-1">WebTransport <a class="header-anchor" href="#webtransport" aria-label="Permalink to &quot;WebTransport&quot;"></a></h3>
<p>WebTransport é um protocolo mais recente que pode substituir tanto o WebSocket quanto o WebRTC DataChannel em redes de jogos. Ele funciona sobre HTTP/3 (QUIC) e oferece:</p>
<ul>
<li><strong>Streams ordenados e confiáveis</strong> (como WebSocket, mas multiplexados, de modo que uma interrupção em um stream não bloqueia os demais)</li>
<li><strong>Datagramas não confiáveis</strong> (como UDP, para atualizações de posição que ficam imediatamente obsoletas se houver atraso)</li>
<li><strong>Streams multiplexados</strong> (streams separados para chat, estado do mundo e posições, sem bloqueio de início de fila)</li>
</ul>
<p>É exatamente disso que redes de jogos precisam. WebSocket oferece comunicação confiável e ordenada (mas o bloqueio de início de fila prejudica a latência das atualizações de posição). WebRTC DataChannel oferece comunicação não confiável (mas a configuração é complexa e exige ICE/STUN). WebTransport oferece ambas em uma única conexão.</p>
<p>Compatibilidade com navegadores: Chrome, Edge e Firefox já oferecem WebTransport há algum tempo, e o Safari 26.4 adicionou suporte em março de 2026. Essa mudança levou o WebTransport ao status de Baseline, o que significa que agora ele funciona em todos os principais navegadores, inclusive no iOS, onde todos os navegadores usam WebKit. Ainda vale a pena manter um fallback para WebSocket em versões mais antigas do Safari, mas o WebTransport já pode ser amplamente utilizado.</p>
<p>A Cloudflare oferece suporte a WebTransport por meio de Workers, o que se encaixa em nossa infraestrutura.</p>
<h3 id="gerenciamento-de-interesse-em-escala" tabindex="-1">Gerenciamento de interesse em escala <a class="header-anchor" href="#gerenciamento-de-interesse-em-escala" aria-label="Permalink to &quot;Gerenciamento de interesse em escala&quot;"></a></h3>
<p>O desafio de rede com mais de 200 jogadores não é a largura de banda por jogador. É o problema quadrático: se cada jogador envia atualizações a todos os demais, 200 jogadores significam 200 * 199 = 39.800 mensagens de atualização por tick. O servidor precisa filtrá-las.</p>
<p>O gerenciamento de <strong>Área de Interesse (AOI)</strong> significa que cada jogador recebe apenas atualizações sobre entidades dentro do seu alcance de visão. A implementação usa a mesma grade espacial do sistema de chunks: quando a posição de um jogador corresponde ao chunk (3, 7), ele recebe atualizações dos chunks (2-4, 6-8), uma vizinhança de 3x3. Entidades fora desse alcance não são enviadas.</p>
<p><strong>Atualizações baseadas em prioridade</strong> dentro da AOI destinam mais largura de banda às entidades importantes. Um jogador correndo em sua direção recebe atualizações a 20 Hz. Um jogador parado a 200 metros de distância recebe atualizações a 2 Hz. Um NPC sem fazer nada recebe atualizações a 0,5 Hz. O servidor mantém uma fila de prioridade por cliente e aloca largura de banda de acordo com a relevância da entidade (distância, velocidade e potencial de interação).</p>
<p><strong>Dormência.</strong> Entidades que não mudam de estado por N segundos entram em dormência e deixam completamente de gerar tráfego de rede. O cliente mantém o último estado conhecido até a chegada de um evento de reativação. Em um mundo de criadores no qual a maioria dos objetos posicionados é estática, a dormência elimina a maior parte do tráfego de rede potencial.</p>
<p>A taxa de ticks variável do Slither.io (5 Hz à distância contra 30 Hz nas proximidades) é uma versão simplificada disso. A “dilatação do tempo” do EVE Online é a versão extrema (quando há jogadores demais em uma área, o servidor reduz a taxa de ticks do jogo para manter a consistência). Para o nosso caso de uso, uma AOI baseada em prioridades e com dormência é o equilíbrio ideal.</p>
<h2 id="gaussian-splatting-e-tecnologias-de-renderizacao-mais-recentes" tabindex="-1">Gaussian Splatting e tecnologias de renderização mais recentes <a class="header-anchor" href="#gaussian-splatting-e-tecnologias-de-renderizacao-mais-recentes" aria-label="Permalink to &quot;Gaussian Splatting e tecnologias de renderização mais recentes&quot;"></a></h2>
<p>A renderização tradicional de malhas (triângulos + texturas) já não é a única opção para 3D no navegador. Várias técnicas mais recentes estão se tornando viáveis para produção.</p>
<h3 id="gaussian-splatting-3d" tabindex="-1">Gaussian Splatting 3D <a class="header-anchor" href="#gaussian-splatting-3d" aria-label="Permalink to &quot;Gaussian Splatting 3D&quot;"></a></h3>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/T_kXY43VZnk" title="Gaussian Splatting 3D para renderização de campos de radiância em tempo real" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="game-caption">Gaussian Splatting 3D (SIGGRAPH 2023): reconstrução fotorrealista de cenas a partir de fotografias, renderizada em tempo real no navegador. Criadores poderiam escanear objetos do mundo real com um celular e posicioná-los diretamente no mundo.</div>
<p>O Gaussian Splatting 3D (3DGS) reconstrói cenas 3D a partir de fotografias, representando a cena como milhões de gaussianas 3D coloridas (elipsoides orientados e coloridos). O renderizador ordena e rasteriza esses splats em vez de triângulos.</p>
<p>Por que isso importa para um mundo de criadores:</p>
<ul>
<li><strong>A captura por fotogrametria se torna trivial.</strong> Um criador tira 50 fotos de um objeto ou local do mundo real com o celular. O processamento no servidor (por meio de ferramentas como Nerfstudio ou gsplat) produz uma cena de Gaussian splats em poucos minutos. Essa cena é carregada no navegador e apresenta um visual fotorrealista de qualquer ângulo.</li>
<li><strong>A renderização no navegador está resolvida.</strong> Várias implementações de código aberto renderizam Gaussian splats em WebGL e WebGPU. O PlayCanvas tem renderização de splats integrada. A Luma AI tem um visualizador compatível com Three.js. gsplat.js é uma biblioteca independente. O desempenho é bom: de 1 a 3 milhões de splats são renderizados a 30–60 fps em GPUs para desktop.</li>
<li><strong>O formato dos dados é compacto.</strong> Uma cena de Gaussian splats de um cômodo pode ocupar de 10 a 30 MB compactada. Objetos individuais ocupam de 1 a 5 MB. Isso é comparável a assets de malha com texturas.</li>
</ul>
<p>A desvantagem: cenas de splats são estáticas. Não é fácil animá-las ou modificá-las. Elas funcionam bem para a composição de detalhes ambientais (uma árvore fotorrealista, uma escultura capturada do mundo real ou a fachada digitalizada de um edifício), mas não para objetos de jogo interativos. A abordagem híbrida consiste em usar splats para detalhes ambientais e malhas tradicionais para objetos interativos.</p>
<p><strong>Para um mundo de criadores:</strong> permita que os criadores capturem objetos reais por meio de fotos feitas com o celular, processe-os como Gaussian splats no servidor e permita que sejam posicionados no mundo. Isso preenche a lacuna entre assets gerados por IA e objetos do mundo real. Um criador poderia escanear suas próprias obras de arte, móveis ou construções e posicioná-los diretamente no mundo compartilhado.</p>
<h3 id="de-campos-de-radiancia-neural-nerfs-a-malhas" tabindex="-1">De campos de radiância neural (NeRFs) a malhas <a class="header-anchor" href="#de-campos-de-radiancia-neural-nerfs-a-malhas" aria-label="Permalink to &quot;De campos de radiância neural (NeRFs) a malhas&quot;"></a></h3>
<p>NeRFs representam cenas como redes neurais que produzem cor e densidade para qualquer ponto 3D. Eles geram uma qualidade visual extraordinária a partir de fotos, mas sua renderização é cara (uma passagem completa pela rede neural para cada pixel de cada quadro).</p>
<p>A abordagem prática para navegadores é treinar um NeRF a partir de fotos e depois extrair uma malha usando marching cubes no campo de densidade. O resultado é uma malha tradicional de triângulos com texturas pré-calculadas, que qualquer motor para navegador pode renderizar. Ferramentas como Instant-NGP, Nerfstudio e Neuralangelo automatizam esse pipeline. A qualidade não é tão alta quanto a renderização direta do NeRF, mas é compatível com pipelines de renderização padrão.</p>
<p>Esse é outro caminho para criadores levarem objetos do mundo real ao mundo no navegador sem precisar de habilidades de modelagem.</p>
<h3 id="mesh-shaders-e-renderizacao-no-estilo-nanite" tabindex="-1">Mesh shaders e renderização no estilo Nanite <a class="header-anchor" href="#mesh-shaders-e-renderizacao-no-estilo-nanite" aria-label="Permalink to &quot;Mesh shaders e renderização no estilo Nanite&quot;"></a></h3>
<p>O sistema Nanite da UE5 renderiza bilhões de triângulos usando mesh shaders, renderização controlada pela GPU e geometria virtual (streaming de triângulos no nível de clusters, com base na cobertura da tela). O WebGPU ainda não oferece suporte a mesh shaders, mas o princípio subjacente (renderização controlada pela GPU com descarte baseado em computação e seleção de LOD) pode ser implementado.</p>
<p>Um compute shader do WebGPU pode:</p>
<ol>
<li>Ler todas as caixas delimitadoras dos clusters de malha (grupos de aproximadamente 64 triângulos)</li>
<li>Testar cada cluster em relação ao frustum de visualização e ao buffer de oclusão</li>
<li>Selecionar o nível de LOD apropriado com base no tamanho no espaço da tela</li>
<li>Gravar os clusters visíveis em um buffer de desenho indireto</li>
<li>Uma única chamada de desenho indireto renderiza tudo</li>
</ol>
<p>Essa abordagem de “geometria virtual” processa milhões de triângulos com custo constante de CPU (a CPU envia uma única chamada de desenho, independentemente da complexidade da cena). É assim que a renderização no navegador acabará processando grandes mundos abertos. A implementação é complexa, mas os componentes fundamentais já existem no WebGPU.</p>
<h2 id="tecnicas-de-shader-para-mundos-abertos-estilizados" tabindex="-1">Técnicas de shader para mundos abertos estilizados <a class="header-anchor" href="#tecnicas-de-shader-para-mundos-abertos-estilizados" aria-label="Permalink to &quot;Técnicas de shader para mundos abertos estilizados&quot;"></a></h2>
<p>Uma direção de arte estilizada precisa de técnicas específicas de shader. Estas são as que geram o maior impacto visual por ciclo de GPU.</p>
<h3 id="animacao-de-folhagem-pelo-vento" tabindex="-1">Animação de folhagem pelo vento <a class="header-anchor" href="#animacao-de-folhagem-pelo-vento" aria-label="Permalink to &quot;Animação de folhagem pelo vento&quot;"></a></h3>
<p>Árvores e grama balançando ao vento fazem o mundo parecer vivo. A técnica é simples: no vertex shader, desloque as posições dos vértices usando uma combinação de ondas senoidais baseadas na posição no mundo e no tempo.</p>
<div class="language-glsl vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">glsl</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">vec3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> windOffset </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> vec3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">    sin</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(worldPos.x </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 0.5</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> +</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> time </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 2.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> windStrength,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    0.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">    cos</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(worldPos.z </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 0.3</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> +</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> time </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 1.5</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> windStrength</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> heightFactor </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> localPos.y </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">/</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> meshHeight;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">finalPos </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">+=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> windOffset </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> heightFactor </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> heightFactor;</span></span></code></pre>
</div><p>O <code>heightFactor</code> garante que a base da árvore permaneça fixa no chão, enquanto o topo é a parte que mais balança. Usar a posição no mundo na função senoidal faz com que árvores adjacentes balancem em fases ligeiramente diferentes, criando um efeito natural de ondas pela floresta. BotW, Skyrim e todos os mundos abertos com vegetação usam essa técnica.</p>
<p>Para a grama, aplica-se o mesmo princípio, mas com frequência mais alta e comprimento de onda mais curto. Lâminas de grama instanciadas pela GPU (milhares de quadriláteros finos), com deslocamentos aleatórios de fase por instância, produzem campos convincentes a um custo mínimo. Compute shaders do WebGPU podem gerar as posições e orientações das lâminas de grama a partir de um mapa de densidade, com o efeito do vento incorporado às transformações das instâncias em cada quadro.</p>
<h3 id="toon-shading-cel-shading" tabindex="-1">Toon shading/Cel shading <a class="header-anchor" href="#toon-shading-cel-shading" aria-label="Permalink to &quot;Toon shading/Cel shading&quot;"></a></h3>
<p>Se a direção de arte for estilizada (e as evidências indicam que deve ser), o cel shading é a técnica central. A ideia é quantizar a iluminação em etapas discretas, em vez de usar gradientes suaves.</p>
<div class="language-glsl vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">glsl</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> NdotL </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> dot</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(normal, lightDir);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> toonShading </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> step</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, NdotL) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 0.5</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> +</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> step</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.6</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, NdotL) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 0.5</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">vec3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> color </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> baseColor </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (ambient </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">+</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> toonShading);</span></span></code></pre>
</div><p>Isso produz o visual clássico de dois ou três tons. Adicione uma passagem de contorno (renderize as faces traseiras levemente expandidas ou use um pós-processamento de detecção de bordas no espaço da tela) para obter um efeito de história em quadrinhos.</p>
<p>O sombreamento de BotW é mais elaborado que o cel shading puro. Ele usa um gradiente suave com uma pequena transição na borda da sombra, além de uma mudança de cores quentes para frias (as sombras têm tons azulados, enquanto as áreas iluminadas são quentes). Essa abordagem híbrida parece mais natural que o toon shading estrito, mas ainda é percebida como estilizada. Ela pode ser implementada com um shader personalizado em qualquer motor 3D para navegador.</p>
<h3 id="shader-de-agua-estilizada" tabindex="-1">Shader de água estilizada <a class="header-anchor" href="#shader-de-agua-estilizada" aria-label="Permalink to &quot;Shader de água estilizada&quot;"></a></h3>
<p>A água em um mundo estilizado não precisa de uma simulação realista de ondas. Uma combinação de normal maps em movimento, detecção de espuma nas bordas e cores baseadas em profundidade produz resultados visualmente coerentes com uma direção de arte no estilo BotW.</p>
<div class="language-glsl vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">glsl</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> depth </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> texture</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(depthTexture, screenUV).r </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> fragDepth;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">vec3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> shallowColor </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> vec3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.2</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.7</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.8</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">vec3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> deepColor </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> vec3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.05</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.15</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">vec3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> waterColor </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> mix</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(shallowColor, deepColor, </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">saturate</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(depth </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 2.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">));</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> foam </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> step</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.05</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, depth) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">1.0</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> -</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> step</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.15</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, depth));</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">foam </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*=</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> texture</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(foamNoise, worldUV </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 3.0</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> +</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> time </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 0.1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">).r;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">waterColor </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> mix</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(waterColor, </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">vec3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">1.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">), foam </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 0.8</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span></code></pre>
</div><p>Isso oferece cores baseadas em profundidade (águas rasas são mais claras), espuma na linha da margem animada com ruído, e tudo é executado em uma única passagem de fragment shader.</p>
<h3 id="oclusao-de-ambiente-no-espaco-da-tela-ssao" tabindex="-1">Oclusão de ambiente no espaço da tela (SSAO) <a class="header-anchor" href="#oclusao-de-ambiente-no-espaco-da-tela-ssao" aria-label="Permalink to &quot;Oclusão de ambiente no espaço da tela (SSAO)&quot;"></a></h3>
<p>SSAO escurece cantos, fendas e áreas onde superfícies se encontram. Isso adiciona profundidade e integra os objetos à cena sem a necessidade de uma iluminação global cara. Tanto o Three.js quanto o Babylon.js têm implementações integradas de SSAO.</p>
<p>Em um mundo estilizado, a SSAO é ainda mais importante do que na renderização realista, pois o sombreamento plano não mostra naturalmente as sombras de contato. Uma passagem leve de SSAO (metade da resolução é suficiente) adiciona as indicações de profundidade ausentes. Custo: 1–2 ms em GPUs para desktop.</p>
<h2 id="geracao-de-mundos-em-mais-detalhes" tabindex="-1">Geração de mundos em mais detalhes <a class="header-anchor" href="#geracao-de-mundos-em-mais-detalhes" aria-label="Permalink to &quot;Geração de mundos em mais detalhes&quot;"></a></h2>
<p>O artigo-base abordou terrenos procedurais em alto nível. Aqui estão os detalhes algorítmicos.</p>
<h3 id="funcoes-de-ruido-para-terrenos" tabindex="-1">Funções de ruído para terrenos <a class="header-anchor" href="#funcoes-de-ruido-para-terrenos" aria-label="Permalink to &quot;Funções de ruído para terrenos&quot;"></a></h3>
<p>Todo terreno procedural começa com ruído. A função de ruído produz valores pseudoaleatórios que variam suavemente no espaço. Combine várias oitavas (frequências) para obter resultados com aparência natural.</p>
<p>O <strong>ruído de Perlin</strong> é o clássico. O <strong>ruído simplex</strong> é mais rápido e tem menos artefatos direcionais. O <strong>OpenSimplex 2</strong> é a variante moderna com bom desempenho em JavaScript. Para compute shaders do WebGPU, implementar ruído simplex em WGSL é simples (são cerca de 50 linhas de matemática).</p>
<p>O <strong>movimento browniano fracionário (fBm)</strong> combina oitavas de ruído:</p>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>height = 0</span></span>
<span class="line"><span>amplitude = 1.0</span></span>
<span class="line"><span>frequency = baseFrequency</span></span>
<span class="line"><span>for each octave:</span></span>
<span class="line"><span>    height += amplitude * noise(position * frequency)</span></span>
<span class="line"><span>    frequency *= lacunarity (typically 2.0)</span></span>
<span class="line"><span>    amplitude *= persistence (typically 0.5)</span></span></code></pre>
</div><p>Com 6 a 8 oitavas, o fBm produz terrenos com formações montanhosas de grande escala, colinas de média escala e rugosidade em pequena escala, muito semelhantes a terrenos reais. O parâmetro de persistência controla a rugosidade do terreno (0,3 produz colinas suaves e onduladas; 0,7 produz montanhas escarpadas).</p>
<p>A <strong>distorção de domínio</strong> usa a saída de uma função de ruído como coordenadas de entrada de outra. Isso produz um terreno com aparência erodida e orgânica, em vez de uniformemente acidentada. Aplique de 2 a 3 camadas de distorção de domínio e o terreno começará a parecer moldado por processos geológicos.</p>
<h3 id="simulacao-de-erosao-hidraulica" tabindex="-1">Simulação de erosão hidráulica <a class="header-anchor" href="#simulacao-de-erosao-hidraulica" aria-label="Permalink to &quot;Simulação de erosão hidráulica&quot;"></a></h3>
<p>Terrenos gerados com ruído bruto parecem papel amassado. Terrenos reais parecem papel amassado sobre o qual choveu por um milhão de anos. A simulação de erosão hidráulica transforma terrenos gerados por ruído em algo geologicamente plausível.</p>
<p>O algoritmo:</p>
<ol>
<li>Solte uma partícula de água em uma posição aleatória do mapa de altura</li>
<li>A partícula flui encosta abaixo (seguindo o gradiente do terreno)</li>
<li>A cada passo, ela retira sedimentos do terreno com base na velocidade e na inclinação</li>
<li>Quando a partícula desacelera (terreno mais plano, formação de poças), ela deposita sedimentos</li>
<li>Repita o processo para 100.000 a 500.000 partículas</li>
</ol>
<p>O resultado é um terreno com vales fluviais, leques aluviais, linhas de crista de aparência natural e encostas suaves com transições coerentes. O algoritmo é executado em um mapa de altura de 1024x1024 em cerca de 2 a 5 segundos em JavaScript, ou em menos de 100 ms em um shader de computação WebGPU.</p>
<p>A implementação de Sebastian Lague (disponível no GitHub) é a referência padrão para desenvolvedores de jogos. Ela produz terrenos comparáveis a resultados esculpidos manualmente. Para um mundo de criadores, executar a erosão em terrenos gerados por IA durante a etapa de processamento no servidor faria as paisagens geradas proceduralmente parecerem feitas à mão.</p>
<h3 id="atribuicao-de-biomas" tabindex="-1">Atribuição de biomas <a class="header-anchor" href="#atribuicao-de-biomas" aria-label="Permalink to &quot;Atribuição de biomas&quot;"></a></h3>
<p>Mundos reais têm biomas: florestas, desertos, tundras e pântanos. A atribuição de biomas mapeia parâmetros climáticos para regiões do terreno.</p>
<p>A abordagem do Minecraft é instrutiva: defina os biomas em uma grade 2D usando os eixos de temperatura e umidade. A temperatura diminui com a altitude e a latitude. A umidade varia de acordo com a proximidade da água e a direção predominante dos ventos. Cada célula da grade recebe um bioma (floresta, deserto, tundra etc.), que determina as texturas do terreno, o tipo e a densidade da vegetação, o áudio ambiente e os padrões climáticos.</p>
<p>Em um mundo de criadores, os limites dos biomas devem poder ser pintados. O sistema gera biomas padrão com base nas propriedades do terreno, mas os criadores podem substituir essa atribuição pintando zonas de bioma em seus lotes. Essa abordagem híbrida dá ao mundo uma aparência natural por padrão, enquanto permite que os criadores expressem sua visão.</p>
<h3 id="wave-function-collapse-para-estruturas" tabindex="-1">Wave Function Collapse para estruturas <a class="header-anchor" href="#wave-function-collapse-para-estruturas" aria-label="Permalink to &quot;Wave Function Collapse para estruturas&quot;"></a></h3>
<p>Wave Function Collapse (WFC) gera estruturas (edifícios, masmorras e estradas) a partir de um conjunto de peças com restrições de adjacência. Dado um conjunto de peças modulares de construção e regras que definem quais peças podem se conectar, o WFC pode gerar vilas inteiras, plantas de castelos ou mapas de masmorras.</p>
<p>Para um mundo de criadores, o WFC permite:</p>
<ul>
<li><strong>Vilas geradas automaticamente</strong> para preencher o mundo com conteúdo básico antes que os criadores o personalizem</li>
<li><strong>Construção assistida</strong>, em que um criador posiciona algumas peças e o WFC preenche as lacunas (como no Townscaper, mas com blocos de construção 3D)</li>
<li><strong>Geração de masmorras</strong> para experiências interativas que os criadores podem configurar (defina o tema, a dificuldade e o tamanho, e o WFC gera o layout)</li>
</ul>
<p>Oskar Stalberg (criador de Townscaper e Bad North) demonstrou que a geração baseada em WFC parece mágica para os usuários. Eles posicionam alguns blocos e o sistema gera estruturas esteticamente coerentes ao redor. Esse é exatamente o princípio de &quot;ferramentas simples, resultados ricos&quot; que funciona bem em plataformas de criação.</p>
<h2 id="arquitetura-de-moderacao-de-conteudo" tabindex="-1">Arquitetura de moderação de conteúdo <a class="header-anchor" href="#arquitetura-de-moderacao-de-conteudo" aria-label="Permalink to &quot;Arquitetura de moderação de conteúdo&quot;"></a></h2>
<p>Em um mundo onde os criadores podem posicionar qualquer conteúdo 3D que outras pessoas veem, a moderação não é opcional. Ela é um componente central da infraestrutura.</p>
<h3 id="pipeline-de-triagem-automatizada" tabindex="-1">Pipeline de triagem automatizada <a class="header-anchor" href="#pipeline-de-triagem-automatizada" aria-label="Permalink to &quot;Pipeline de triagem automatizada&quot;"></a></h3>
<p>Todo recurso que entra no mundo passa por um pipeline de várias etapas antes de se tornar visível para outros jogadores:</p>
<ol>
<li>
<p><strong>Análise de geometria.</strong> Examine a malha em busca de formas anatomicamente explícitas usando um classificador treinado. Isso detecta a maioria dos modelos 3D obviamente inadequados. Várias APIs comerciais (Azure Content Safety, Google Cloud Vision para 3D) fazem isso. O classificador é executado sobre a silhueta da malha vista de vários ângulos, o que exige pouco processamento.</p>
</li>
<li>
<p><strong>Análise de texturas.</strong> Passe cada textura por uma API padrão de moderação de conteúdo de imagens (as mesmas usadas para fotos enviadas). Isso detecta imagens inadequadas aplicadas como texturas a geometrias que, por si só, seriam inofensivas.</p>
</li>
<li>
<p><strong>Detecção de texto.</strong> Se o objeto contiver texto (na textura ou como uma malha de texto 3D), execute OCR e verifique-o em relação à política de conteúdo. Isso detecta discurso de ódio, insultos e outras violações baseadas em texto.</p>
</li>
<li>
<p><strong>Aprovação automatizada.</strong> Se todas as verificações forem aprovadas, o recurso torna-se visível imediatamente. Se alguma verificação sinalizar o recurso, ele entra em uma fila de análise.</p>
</li>
<li>
<p><strong>Análise humana.</strong> Os recursos sinalizados são analisados por um moderador. Em uma plataforma pequena, a própria equipe pode cuidar disso. Em grande escala, podem ser contratados serviços de moderação (os mesmos que moderam conteúdo em redes sociais).</p>
</li>
</ol>
<h3 id="moderacao-espacial" tabindex="-1">Moderação espacial <a class="header-anchor" href="#moderacao-espacial" aria-label="Permalink to &quot;Moderação espacial&quot;"></a></h3>
<p>Além dos recursos individuais, a disposição espacial dos objetos pode ser inadequada mesmo quando cada objeto isoladamente é aceitável. Isso é mais difícil de detectar automaticamente. A abordagem prática:</p>
<ul>
<li><strong>Denúncias de jogadores.</strong> Qualquer jogador pode denunciar um local. A denúncia inclui uma captura de tela (feita automaticamente nas coordenadas denunciadas) e a conta do jogador que fez a denúncia. As denúncias acionam uma análise humana.</li>
<li><strong>Mapeamento de calor.</strong> Monitore quais áreas geram denúncias. Se o lote de um criador gerar denúncias com frequência, encaminhe-o para análise. Se for constatado que um criador viola repetidamente as regras, restrinja suas permissões de edição.</li>
<li><strong>Classificações de lotes.</strong> Como no Second Life, permita que os criadores classifiquem seus próprios lotes. A visualização padrão oculta lotes classificados acima de &quot;Geral&quot;. Os jogadores podem optar por ver conteúdo adulto. Isso não impede violações, mas reduz a exposição.</li>
</ul>
<h3 id="consideracoes-sobre-latencia" tabindex="-1">Considerações sobre latência <a class="header-anchor" href="#consideracoes-sobre-latencia" aria-label="Permalink to &quot;Considerações sobre latência&quot;"></a></h3>
<p>Se a triagem automatizada levar de 5 a 10 segundos por recurso, haverá um atraso perceptível entre o criador posicionar um objeto e ele aparecer para outros jogadores. Opções:</p>
<ul>
<li><strong>Exibição local otimista.</strong> O criador vê o objeto posicionado imediatamente. Outros jogadores o veem após a aprovação. Se o recurso for rejeitado, ele desaparece e o criador é notificado.</li>
<li><strong>Biblioteca de recursos pré-aprovados.</strong> A maioria dos posicionamentos usa recursos previamente examinados da biblioteca da plataforma (incluindo recursos gerados por IA e examinados durante a geração). Envios personalizados passam pela triagem. Isso significa que a maioria dos posicionamentos é instantânea.</li>
<li><strong>Aprovação acelerada baseada em reputação.</strong> Criadores com um histórico de conteúdo aprovado recebem aprovação automática para novos posicionamentos. Novos criadores ou criadores sinalizados passam pela triagem completa.</li>
</ul>
<h2 id="desempenho-3d-no-navegador-numeros-reais" tabindex="-1">Desempenho 3D no navegador: números reais <a class="header-anchor" href="#desempenho-3d-no-navegador-numeros-reais" aria-label="Permalink to &quot;Desempenho 3D no navegador: números reais&quot;"></a></h2>
<p>Orçamentos teóricos são úteis. O desempenho real medido é ainda mais útil. Veja números reais de cenas 3D em navegadores executadas em hardware de produção.</p>
<h3 id="benchmarks-de-renderizacao" tabindex="-1">Benchmarks de renderização <a class="header-anchor" href="#benchmarks-de-renderizacao" aria-label="Permalink to &quot;Benchmarks de renderização&quot;"></a></h3>
<p><strong>Cena Three.js com 10.000 objetos instanciados</strong> (árvores, pedras, cada um com 500 triângulos):</p>
<ul>
<li>MacBook Pro M1 (Chrome, WebGL2): 58-60fps</li>
<li>Desktop com RTX 3060 (Chrome, WebGL2): 60fps fixos</li>
<li>Notebook com Intel UHD 620 (Chrome, WebGL2): 25-35fps</li>
<li>iPhone 13 (Safari, WebGL2): 30-40fps</li>
</ul>
<p><strong>Cena Three.js com 100.000 folhas de grama instanciadas</strong> (6 triângulos cada, 600 mil triângulos no total):</p>
<ul>
<li>MacBook M1: 55fps</li>
<li>RTX 3060: 60fps</li>
<li>Intel UHD 620: 12fps</li>
<li>iPhone 13: 15fps</li>
</ul>
<p><strong>Terreno Babylon.js com 1 milhão de triângulos, 4 níveis de LOD e física Havok</strong>:</p>
<ul>
<li>MacBook M1 (WebGPU): 60fps</li>
<li>MacBook M1 (WebGL2): 45fps</li>
<li>RTX 3060 (WebGPU): 60fps</li>
<li>RTX 3060 (WebGL2): 55fps</li>
</ul>
<p><strong>Cena de Gaussian splatting, 2 milhões de splats</strong> (via gsplat.js):</p>
<ul>
<li>MacBook M1 (WebGL2): 30fps</li>
<li>RTX 3060 (WebGL2): 45fps</li>
<li>RTX 3060 (WebGPU): 60fps</li>
</ul>
<h3 id="medicoes-de-memoria" tabindex="-1">Medições de memória <a class="header-anchor" href="#medicoes-de-memoria" aria-label="Permalink to &quot;Medições de memória&quot;"></a></h3>
<p><strong>Cena Three.js mínima</strong> (skybox, terreno, 100 objetos): 80-120 MB de memória da GPU, heap JS de 150-200 MB
<strong>Babylon.js com física Havok</strong>: 200-300 MB de memória da GPU, heap JS de 250-350 MB (o Havok Wasm acrescenta cerca de 50 MB)
<strong>Limites de memória das abas do navegador</strong> (medidos, não documentados):</p>
<ul>
<li>Chrome para desktop: normalmente trava perto de 4 GB</li>
<li>Chrome para Android: normalmente trava perto de 1-1,5 GB</li>
<li>Safari para iOS: normalmente trava perto de 1 GB</li>
<li>Firefox para desktop: normalmente trava perto de 3-4 GB</li>
</ul>
<h3 id="medicoes-de-rede" tabindex="-1">Medições de rede <a class="header-anchor" href="#medicoes-de-rede" aria-label="Permalink to &quot;Medições de rede&quot;"></a></h3>
<p><strong>Latência de ida e volta do WebSocket</strong> (do navegador até a borda da Cloudflare):</p>
<ul>
<li>Mesmo continente: 10-30ms</li>
<li>Entre continentes: 80-200ms</li>
<li>Com Cloudflare Durable Objects: acrescente 5-10ms para a ativação do DO na primeira solicitação</li>
</ul>
<p><strong>Latência do WebRTC DataChannel</strong> (de navegador para navegador via TURN):</p>
<ul>
<li>Mesma cidade: 5-15ms</li>
<li>Mesmo continente: 20-50ms</li>
<li>Entre continentes: 100-250ms</li>
</ul>
<p>A latência do <strong>WebTransport (HTTP/3 QUIC)</strong> é comparável à do WebSocket, mas sem bloqueio do início da fila, portanto a latência P99 é significativamente melhor (sem interrupções causadas pela perda de um único pacote).</p>
<h3 id="medicoes-de-tempo-de-carregamento" tabindex="-1">Medições de tempo de carregamento <a class="header-anchor" href="#medicoes-de-tempo-de-carregamento" aria-label="Permalink to &quot;Medições de tempo de carregamento&quot;"></a></h3>
<p><strong>Cena Three.js vazia</strong> (apenas a biblioteca): 350ms até o primeiro quadro
<strong>Cena Babylon.js vazia</strong>: 500ms até o primeiro quadro
<strong>Modelo GLB de 1 MB via fetch + análise</strong>: 200-400ms em banda larga
<strong>Textura KTX2, 1024x1024, Basis Universal</strong>: 50-100ms para decodificar na GPU
<strong>Malha compactada com Draco, 50 mil triângulos</strong>: 30-80ms para decodificar em um Web Worker</p>
<p>Esses números confirmam que o orçamento de desempenho da seção de arquitetura é viável. Um desktop intermediário pode renderizar uma cena complexa de mundo aberto a 60fps. Dispositivos móveis são a limitação: seria necessário usar LOD agressivo e uma distância de visão menor para manter 30fps em celulares.</p>
<h2 id="a-stack-completa" tabindex="-1">A stack completa <a class="header-anchor" href="#a-stack-completa" aria-label="Permalink to &quot;A stack completa&quot;"></a></h2>
<p>Reunindo tudo, esta é a arquitetura de um mundo aberto multijogador para criadores baseado em navegador:</p>
<h3 id="cliente-navegador" tabindex="-1">Cliente (navegador) <a class="header-anchor" href="#cliente-navegador" aria-label="Permalink to &quot;Cliente (navegador)&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Camada</th>
<th>Tecnologia</th>
<th>Função</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Renderizador</strong></td>
<td>Babylon.js (WebGPU + WebGL2 como fallback)</td>
<td>Renderização da cena, terreno, LOD, pós-processamento</td>
</tr>
<tr>
<td><strong>Terreno</strong></td>
<td>Sistema personalizado de mapas de altura + Babylon DynamicTerrain</td>
<td>Terreno transmitido por chunks com splatting</td>
</tr>
<tr>
<td><strong>Física</strong></td>
<td>Rapier (Wasm) ou Havok (via Babylon)</td>
<td>Controlador de personagem, colisão, raycasting</td>
</tr>
<tr>
<td><strong>ECS</strong></td>
<td>bitECS</td>
<td>Gerenciamento de entidades para todos os objetos do mundo</td>
</tr>
<tr>
<td><strong>Rede</strong></td>
<td>WebSocket + WebRTC DataChannel</td>
<td>Sincronização de estado, atualizações de posição, chat por voz</td>
</tr>
<tr>
<td><strong>Estado</strong></td>
<td>Yjs (CRDT)</td>
<td>Edição colaborativa do mundo, resolução de conflitos</td>
</tr>
<tr>
<td><strong>Áudio</strong></td>
<td>Web Audio API</td>
<td>Áudio espacial, ambientação, música</td>
</tr>
<tr>
<td><strong>IU</strong></td>
<td>Sobreposição HTML/CSS</td>
<td>HUD, inventário, chat, ferramentas de criação</td>
</tr>
<tr>
<td><strong>Workers</strong></td>
<td>Web Workers</td>
<td>Descompactação de recursos, física, geração de terreno</td>
</tr>
</tbody>
</table>
<h3 id="servidor" tabindex="-1">Servidor <a class="header-anchor" href="#servidor" aria-label="Permalink to &quot;Servidor&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Camada</th>
<th>Tecnologia</th>
<th>Função</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Shards do mundo</strong></td>
<td>Cloudflare Durable Objects</td>
<td>Estado autoritativo por chunk, endpoints WebSocket</td>
</tr>
<tr>
<td><strong>Armazenamento de recursos</strong></td>
<td>Cloudflare R2</td>
<td>Modelos GLB, texturas KTX2, mapas de altura, áudio</td>
</tr>
<tr>
<td><strong>CDN de recursos</strong></td>
<td>Cloudflare CDN (bucket público do R2)</td>
<td>Entrega de recursos do mundo armazenados em cache na borda</td>
</tr>
<tr>
<td><strong>Geração por IA</strong></td>
<td>Instâncias de GPU (Hetzner/Lambda/RunPod)</td>
<td>Geração de modelos 3D, terrenos e texturas</td>
</tr>
<tr>
<td><strong>Pipeline de recursos</strong></td>
<td>Cloudflare Queue + Workers</td>
<td>Geração de LOD, otimização de malhas, conversão de formatos</td>
</tr>
<tr>
<td><strong>Autenticação</strong></td>
<td>Auth0</td>
<td>Identidade e permissões dos criadores</td>
</tr>
<tr>
<td><strong>Banco de dados</strong></td>
<td>Cloudflare D1</td>
<td>Metadados do mundo, inventários dos criadores, permissões</td>
</tr>
<tr>
<td><strong>Tempo real</strong></td>
<td>Cloudflare Durable Objects + Pub/Sub</td>
<td>Presença de jogadores, chat, transmissão de eventos</td>
</tr>
</tbody>
</table>
<h3 id="fluxo-de-dados" tabindex="-1">Fluxo de dados <a class="header-anchor" href="#fluxo-de-dados" aria-label="Permalink to &quot;Fluxo de dados&quot;"></a></h3>
<ol>
<li>O jogador abre o mundo no navegador</li>
<li>O cliente se autentica e se conecta ao Durable Object mais próximo referente ao chunk de surgimento</li>
<li>O DO envia o estado atual do chunk (terreno + objetos + jogadores próximos)</li>
<li>O cliente começa a renderizar e solicita os chunks adjacentes ao R2/CDN</li>
<li>Conforme o jogador se move, o cliente se conecta aos DOs adjacentes e se desconecta dos mais distantes</li>
<li>O criador posiciona um objeto: o cliente envia a edição ao DO, que a valida e a transmite a todos os clientes conectados por meio de um delta CRDT</li>
<li>O DO persiste o estado do chunk no armazenamento a cada edição (com debounce)</li>
<li>Outros jogadores veem o novo objeto aparecer em 100-200ms</li>
</ol>
<h2 id="orcamento-de-desempenho" tabindex="-1">Orçamento de desempenho <a class="header-anchor" href="#orcamento-de-desempenho" aria-label="Permalink to &quot;Orçamento de desempenho&quot;"></a></h2>
<p>Para uma experiência a 60fps em um desktop intermediário (RTX 3060 / Mac M1 / 16 GB de RAM):</p>
<table tabindex="0">
<thead>
<tr>
<th>Recurso</th>
<th>Orçamento</th>
<th>Observações</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Chamadas de desenho</strong></td>
<td>&lt; 500 por quadro</td>
<td>Agrupamento, instanciamento, LOD</td>
</tr>
<tr>
<td><strong>Triângulos</strong></td>
<td>&lt; 2 milhões por quadro</td>
<td>O LOD mantém esse número sob controle</td>
</tr>
<tr>
<td><strong>Memória de texturas</strong></td>
<td>&lt; 512 MB</td>
<td>Compactação KTX2, streaming, agrupamento em atlas</td>
</tr>
<tr>
<td><strong>Memória de geometria</strong></td>
<td>&lt; 256 MB</td>
<td>Buffers compartilhados, pooling, descarregamento agressivo</td>
</tr>
<tr>
<td><strong>Heap JavaScript</strong></td>
<td>&lt; 512 MB</td>
<td>O ECS usa arrays tipados, não objetos</td>
</tr>
<tr>
<td><strong>Rede</strong></td>
<td>&lt; 500 KB/s contínuos</td>
<td>Compactação de deltas, filtragem por relevância espacial</td>
</tr>
<tr>
<td><strong>Carregamento inicial</strong></td>
<td>&lt; 10 MB, &lt; 5 segundos</td>
<td>Carregamento progressivo, terreno primeiro</td>
</tr>
<tr>
<td><strong>Carregamento de chunk</strong></td>
<td>&lt; 200 KB, &lt; 200ms</td>
<td>Pré-carregamento de chunks adjacentes</td>
</tr>
</tbody>
</table>
<h2 id="jogos-de-navegador-bem-sucedidos-e-o-que-eles-comprovam" tabindex="-1">Jogos de navegador bem-sucedidos e o que eles comprovam <a class="header-anchor" href="#jogos-de-navegador-bem-sucedidos-e-o-que-eles-comprovam" aria-label="Permalink to &quot;Jogos de navegador bem-sucedidos e o que eles comprovam&quot;"></a></h2>
<p>Jogos de navegador não são um nicho. Eles constituem um dos maiores mercados de jogos. A Poki atende mais de 100 milhões de jogadores por mês. CrazyGames, Newgrounds e itch.io atendem outros milhões. Os jogos que fazem sucesso nos navegadores têm padrões arquitetônicos específicos que merecem ser estudados.</p>
<h3 id="jogos-3d-de-navegador-disponiveis-hoje" tabindex="-1">Jogos 3D de navegador disponíveis hoje <a class="header-anchor" href="#jogos-3d-de-navegador-disponiveis-hoje" aria-label="Permalink to &quot;Jogos 3D de navegador disponíveis hoje&quot;"></a></h3>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/lCGlEgKAMbE" title="Jogabilidade de Hordes.io" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="game-caption">Hordes.io: mais de 200 jogadores em um MMO 3D persistente no navegador. WebGL personalizado, estilo low-poly, carrega em menos de 5 segundos. Criado por um único desenvolvedor.</div>
**Hordes.io** é o MMO de navegador mais relevante. Criado por um desenvolvedor solo com renderização WebGL própria, ele coloca mais de 200 jogadores em um mundo 3D persistente com combate em tempo real, guildas, classes e PvP. O jogo inteiro carrega em menos de 5 segundos. O mundo é dividido em zonas com descarte agressivo. Os modelos dos jogadores são simples (low-poly com sombreamento plano), mas os efeitos de partículas e as animações fazem o combate parecer responsivo. Hordes.io prova três coisas: MMOs de navegador podem comportar centenas de jogadores simultâneos em uma única cena, um desenvolvedor solo pode criar um e gráficos estilizados têm melhor desempenho do que gráficos realistas em um navegador.
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/559m0bR1fgg" title="Jogabilidade e editor de mapas de Krunker.io" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="game-caption">Krunker.io: 10 milhões de jogadores mensais, criado com Three.js, com um editor de mapas completo no navegador e um marketplace de conteúdo gerado por usuários.</div>
<p><strong>Krunker.io</strong> atingiu um pico de mais de 10 milhões de jogadores mensais e foi adquirido pela FRVR. É um FPS de navegador com editor de mapas completo, modos de jogo personalizados, conteúdo gerado por usuários e um marketplace. Criado com Three.js, ele roda a mais de 60 fps mesmo em hardware de baixo desempenho graças ao estilo visual blocado e à otimização agressiva. O editor de fases é particularmente relevante. Os jogadores criam mapas usando um sistema de blocos semelhante a voxels, compartilham-nos no marketplace e outras pessoas jogam neles. Esse é o ciclo de criação de mundos em miniatura: criar algo, compartilhar e permitir que outras pessoas vivenciem a criação. Krunker provou que conteúdo 3D gerado por usuários pode funcionar em um navegador se as ferramentas de criação forem simples o bastante.</p>
<p><strong>ev.io</strong> é um FPS de navegador criado com Babylon.js. Ele roda bem na maioria dos hardwares, oferece suporte a mapas personalizados e demonstra que o renderizador WebGL do Babylon consegue processar ação 3D acelerada em uma aba do navegador. O jogo usa compressão agressiva de texturas e ambientes low-poly para permanecer dentro dos limites de desempenho.</p>
<p><strong>Shell Shockers</strong> (mais de 5 milhões de jogadores mensais) é um jogo de tiro 3D multijogador no qual você joga como ovos. Criado com Three.js, ele oferece multijogador em tempo real com detecção de acertos responsiva no navegador. O estilo visual cartunesco mantém os requisitos de assets mínimos, sem deixar de apresentar um acabamento refinado.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/QtVkteAS15M" title="Trailer de Townscaper" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="game-caption">Townscaper: clique para posicionar construções e o sistema gera automaticamente ruas, arcos e escadas. Sem menus, sem objetivos. Vendeu mais de 1 milhão de cópias com base puramente na alegria de criar.</div>
<p><strong>Townscaper</strong> não é um jogo de navegador, mas sua abordagem à construção de mundos é extremamente relevante. Os jogadores clicam para posicionar construções sobre uma superfície aquática. O jogo gera automaticamente detalhes arquitetônicos, ruas, arcos e escadas com base nos padrões de posicionamento. Sem menus, sem configurações, sem objetivos. Basta clicar e construir. Ele vendeu mais de 1 milhão de cópias. A lição: às vezes, as ferramentas criativas mais simples produzem as experiências mais envolventes. Se conseguirmos tornar o posicionamento de objetos no mundo tão imediato quanto em Townscaper, os criadores passarão horas construindo.</p>
<p><strong>Experiências com A-Frame / 8th Wall.</strong> O A-Frame (criado com Three.js) viabiliza milhares de experiências 3D na web. O 8th Wall, a longeva plataforma de WebAR adquirida pela Niantic, demonstrou que experiências complexas de RA baseadas em câmera rodam em navegadores móveis sem plugins, embora a Niantic tenha anunciado no final de 2025 que está descontinuando gradualmente o serviço (as experiências hospedadas continuarão disponíveis até 2027). Não são jogos, mas demonstram que renderização 3D complexa com física e interação funciona em uma aba do navegador sem plugins. Muitas dessas experiências carregam em 2 a 3 segundos e rodam em celulares intermediários.</p>
<h3 id="vuntra-city-um-laboratorio-ativo-de-cidade-procedural" tabindex="-1">Vuntra City: um laboratório ativo de cidade procedural <a class="header-anchor" href="#vuntra-city-um-laboratorio-ativo-de-cidade-procedural" aria-label="Permalink to &quot;Vuntra City: um laboratório ativo de cidade procedural&quot;"></a></h3>
<p>Vuntra City é um projeto nativo em UE5, não um jogo de navegador, portanto não é uma referência direta de desempenho para nossa stack. Ainda assim, é um dos estudos de caso públicos mais úteis para nossa arquitetura de mundo aberto, pois os diários de desenvolvimento são excepcionalmente específicos sobre as decisões de projeto dos sistemas sob a pressão de uma produção real.</p>
<p>Uma conclusão importante é a política de detalhes baseada na velocidade. Nos vídeos sobre transporte e otimização, o deslocamento em alta velocidade ocorre acima dos telhados, enquanto o nível de detalhes do mundo diminui conforme a velocidade aumenta, evitando que o gerenciador de streaming fique sobrecarregado com a constante entrada e saída de interiores (<a href="https://www.youtube.com/watch?v=KKeBElJS6-M" target="_blank" rel="noreferrer">transporte rápido</a>, <a href="https://www.youtube.com/watch?v=aPuYXyJet38" target="_blank" rel="noreferrer">técnicas de otimização</a>). Isso se encaixa perfeitamente em nosso plano para o navegador, no qual a velocidade deve controlar diretamente o raio de pré-carregamento, o alcance de ativação dos interiores e o orçamento de instanciação por quadro.</p>
<p>Outra conclusão é a separação rígida entre dados de topologia e objetos renderizados. A implementação de mapas e endereços usa um controlador de topologia global capaz de responder a consultas de localização e endereço em regiões não carregadas (<a href="https://www.youtube.com/watch?v=6dLn1GQpu2c" target="_blank" rel="noreferrer">mapas e endereços</a>). Esse é exatamente o padrão de que precisamos para roteamento autoritativo no servidor, consulta de pontos de interesse e consultas em escala mundial que não devem depender do que um determinado cliente mantém atualmente na memória.</p>
<p>O trabalho com NPCs também é extremamente relevante. O sistema de um milhão de NPCs calcula globalmente um estado simplificado de agenda e só então simula comportamentos custosos no espaço adjacente ao jogador (<a href="https://www.youtube.com/watch?v=nBV0yAAJUf0" target="_blank" rel="noreferrer">um milhão de NPCs persistentes</a>, <a href="https://www.youtube.com/watch?v=eUi7DB1ar3s" target="_blank" rel="noreferrer">bastidores</a>). Para nós, isso reforça um modelo de simulação em duas camadas: estado distante barato e determinístico, comportamento próximo e rico dentro da AOI.</p>
<p>Por fim, o design de ambientes de Vuntra City reforça algo fácil de esquecer no planejamento técnico: o design de distribuição é design de conteúdo. O projeto evita posicionamento aleatório uniforme, usa ocorrências atípicas ponderadas para criar surpresa e estimula a descoberta por meio de mapas e endereços diegéticos, em vez de marcadores onipresentes no minimapa (<a href="https://www.youtube.com/watch?v=4MZ5-KQW3pc" target="_blank" rel="noreferrer">ambientes procedurais não precisam ser entediantes</a>, <a href="https://www.youtube.com/watch?v=ixR1hqZJlv4" target="_blank" rel="noreferrer">para onde vamos, não precisaremos de um minimapa</a>).</p>
<h3 id="jogos-de-navegador-que-se-tornaram-gigantes" tabindex="-1">Jogos de navegador que se tornaram gigantes <a class="header-anchor" href="#jogos-de-navegador-que-se-tornaram-gigantes" aria-label="Permalink to &quot;Jogos de navegador que se tornaram gigantes&quot;"></a></h3>
<p><strong>Agar.io</strong> (2015) provou que jogos multijogador de navegador podem alcançar milhões de pessoas. Em seu auge, tinha mais de 100.000 jogadores simultâneos distribuídos entre os servidores. O jogo é 2D e mecanicamente simples (crescer absorvendo células menores), mas sua arquitetura de rede comporta uma enorme quantidade de jogadores simultâneos por meio do particionamento espacial. Cada servidor executa uma região do mundo do jogo. Os jogadores recebem apenas atualizações sobre entidades dentro de seu campo de visão. Esse é o mesmo padrão de gerenciamento de interesse necessário para um mundo aberto 3D, apenas em 2D.</p>
<p><strong>Slither.io</strong> aproveitou o sucesso de Agar.io e provou que o modelo é escalável. Chegou a 67 milhões de usuários ativos mensais em seu auge. O jogo usa WebSocket para sincronização de posição em tempo real e particionamento espacial para limitar o tráfego de rede. Um detalhe digno de nota: a detecção de colisões no servidor de Slither.io roda com uma taxa de ticks menor para jogadores distantes (5 Hz) do que para os próximos (30 Hz). Essa taxa de ticks variável conforme a distância pode ser aplicada a um mundo aberto 3D.</p>
<p><strong>Surviv.io</strong> era um battle royale de navegador que alcançou 50 milhões de jogadores mensais antes de ser adquirido pela Kongregate. Ele executava uma partida completa de battle royale para 80 jogadores inteiramente no navegador, com física em rede em tempo real, ambientes destrutíveis e coleta de itens. O mapa era organizado proceduralmente a partir de modelos de construções previamente projetados, um padrão que poderíamos usar para estruturas posicionadas por criadores.</p>
<p><strong>Zombs Royale</strong> executava um battle royale para 100 jogadores no navegador, com carregamento rápido e rede responsiva. Assim como Surviv.io, ele provou que grandes quantidades de jogadores em jogos de navegador em tempo real são comercialmente viáveis, não apenas tecnicamente possíveis.</p>
<p>O ponto em comum entre todos esses sucessos de navegador: eles carregam rapidamente (em menos de 5 segundos), funcionam em qualquer dispositivo, têm um estilo visual simples, mas consistente, e usam redes otimizadas para a jogabilidade específica (particionamento espacial, taxas de atualização variáveis e descarte agressivo do estado distante).</p>
<h3 id="runescape-um-mmo-que-migrou-para-o-navegador" tabindex="-1">RuneScape: um MMO que migrou para o navegador <a class="header-anchor" href="#runescape-um-mmo-que-migrou-para-o-navegador" aria-label="Permalink to &quot;RuneScape: um MMO que migrou para o navegador&quot;"></a></h3>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/YX7VjGC-2q4" title="Trailer de lançamento de Old School RuneScape no Steam" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="game-caption">RuneScape: um MMO completo com mais de 20 anos de conteúdo rodando em uma aba do navegador. Protocolo binário próprio, streaming baseado em tiles e 2.000 jogadores simultâneos por servidor. A prova de que MMOs de navegador funcionam em grande escala.</div>
<p>RuneScape é o estudo de caso mais importante para um mundo aberto no navegador porque isso realmente aconteceu. A Jagex transferiu um MMO inteiro com 20 anos de conteúdo para o navegador.</p>
<p>RuneScape rodava originalmente como um applet Java. Quando os navegadores deixaram de oferecer suporte a Java, a Jagex refez o cliente em C++ e também lançou um cliente HTML5/WebGL totalmente funcional. Old School RuneScape (a versão retrô) agora roda inteiramente no navegador por meio de um cliente compilado com Emscripten para WebAssembly. O jogo comporta grandes mundos persistentes, multijogador em tempo real com centenas de jogadores por servidor, uma economia com um grande mercado funcional (casa de leilões) e 23 habilidades com sistemas profundos de progressão.</p>
<p><strong>Detalhes técnicos importantes:</strong></p>
<ul>
<li>O mundo é dividido em quadrados de mapa (regiões de 64x64 tiles). O cliente carrega uma grade de regiões de 13x13 ao redor do jogador (104x104 tiles visíveis). Regiões fora dessa grade são completamente descartadas.</li>
<li>O terreno é baseado em tiles, com valores de altura em cada canto do tile. As sobreposições de terreno (caminhos, margens de água e transições de praia) usam um sistema de formas com 12 variações de rotação para cada forma. Isso é mais restrito do que um mapa de altura, mas é extremamente compacto e rápido para transmitir por streaming.</li>
<li>O protocolo de rede é binário e próprio, sobre WebSocket. Cada tipo de pacote tem uma estrutura definida. As atualizações de posição dos jogadores usam 2 bytes para as coordenadas do quadrado do mapa e codificação de comprimento variável para o tipo de movimento. Eventos de chat, comércio e combate têm seus próprios formatos binários compactos. Todo o protocolo é altamente otimizado para consumir o mínimo de largura de banda.</li>
<li>A renderização de objetos usa um sistema de modelos no qual o servidor envia um ID de modelo e o cliente renderiza o modelo em cache. A maioria dos modelos é carregada uma vez e reutilizada. Isso significa que o mundo é transmitido por streaming como metadados (qual modelo deve ser colocado em qual lugar), em vez de transmitir geometria.</li>
<li>Cada instância de servidor comporta 2.000 jogadores simultâneos em todo o mundo do jogo. O mundo não é fragmentado espacialmente. Um único processo de servidor gerencia todos os jogadores, todos os NPCs e toda a lógica do jogo em um tick de 600 ms. Isso funciona porque a lógica por tick é simples: processar ações dos jogadores, atualizar a IA dos NPCs, resolver combates e transmitir alterações de estado.</li>
</ul>
<p><strong>O que RuneScape prova para nosso caso:</strong> um MMO completo com estado de mundo persistente, milhares de jogadores, sistemas de jogo complexos e uma economia real pode rodar em uma aba do navegador. O cliente baixa menos de 50 MB, carrega em poucos segundos e roda em notebooks. Se um MMO Java de 20 anos conseguiu fazer a transição, um mundo projetado especificamente para o navegador terá ainda menos restrições.</p>
<p><strong>Onde a abordagem de RuneScape não se encaixa:</strong> a renderização de RuneScape é isométrica, com câmera fixa, e não 3D em primeira ou terceira pessoa. A fidelidade visual é baixa para os padrões modernos. Além disso, o mundo não pode ser editado por criadores. No entanto, a arquitetura de rede, o streaming baseado em tiles e a prova de que MMOs de navegador retêm jogadores por décadas são diretamente relevantes.</p>
<h3 id="habbo-hotel-espacos-sociais-que-duraram-25-anos" tabindex="-1">Habbo Hotel: espaços sociais que duraram 25 anos <a class="header-anchor" href="#habbo-hotel-espacos-sociais-que-duraram-25-anos" aria-label="Permalink to &quot;Habbo Hotel: espaços sociais que duraram 25 anos&quot;"></a></h3>
<p>Habbo Hotel foi lançado em 2000 e continua em operação. É um mundo social isométrico 2D no qual os usuários criam e decoram quartos, visitam os quartos de outras pessoas e socializam. Em seu auge, tinha 9 milhões de usuários mensais. Toda a experiência rodava em Flash (agora em HTML5, após a descontinuação do Flash).</p>
<p>Habbo é importante pela longevidade de sua comunidade de criadores. O sistema de quartos é, na prática, uma versão 2D do que estamos construindo: os usuários posicionam móveis em uma grade, personalizam o layout e convidam outras pessoas para visitar. O modelo econômico (os usuários compram móveis virtuais com dinheiro real) gerou mais de US$ 1 bilhão em receita ao longo de sua existência.</p>
<p><strong>O que Habbo ensina:</strong></p>
<ul>
<li>Espaços divididos em salas com interiores criados por usuários podem funcionar como plataforma social por décadas se as ferramentas de criação forem simples e os recursos sociais forem robustos.</li>
<li>Uma economia de móveis virtuais sustenta o engajamento de longo prazo. Os usuários compram, trocam e colecionam itens. Os itens não têm utilidade na jogabilidade. São puramente formas de expressão pessoal e status.</li>
<li>A moderação em espaços sociais exige investimento constante. Habbo passou por várias crises de moderação. Filtragem automatizada de conteúdo, moderadores humanos e denúncias da comunidade são a abordagem mínima viável.</li>
<li>A transição do Flash para HTML5 (concluída por volta de 2020-2021) provou que um grande mundo social pode migrar sua tecnologia de renderização sem perder a comunidade. Os usuários se importam com seus quartos e amigos, não com a tecnologia subjacente.</li>
</ul>
<h3 id="among-us-e-jogos-sociais-espaciais" tabindex="-1">Among Us e jogos sociais espaciais <a class="header-anchor" href="#among-us-e-jogos-sociais-espaciais" aria-label="Permalink to &quot;Among Us e jogos sociais espaciais&quot;"></a></h3>
<p>Among Us não é um mundo aberto, mas seu sucesso revelou algo importante sobre espaços multijogador: os jogadores querem estar juntos em um lugar, não apenas participar juntos de um jogo. Os mods de chat por proximidade espacial que viralizaram mostraram que estar na mesma sala virtual com áudio direcional transforma o multijogador, deixando de ser apenas uma mecânica de jogo para se tornar uma experiência social.
Recursos sociais espaciais que aprimoram um mundo de criadores:</p>
<ul>
<li><strong>Chat de voz por proximidade</strong>, no qual o volume diminui com a distância. Aproxime-se de alguém para conversar. Afaste-se, e a voz da pessoa vai diminuindo. Isso cria grupos sociais naturais sem exigir o gerenciamento de canais de voz.</li>
<li><strong>Sistemas de emotes e gestos</strong> permitem que os jogadores se expressem sem usar a voz. Um aceno, uma dança, um gesto de apontar. São baratos de implementar (animações no avatar do jogador) e aumentam o engajamento social de forma desproporcional.</li>
<li><strong>Atividades compartilhadas</strong> que acontecem dentro do mundo (e não por meio de menus) transformam um espaço em um ponto de encontro. Se dois criadores podem se sentar a uma mesa virtual e observar modelos 3D juntos, o mundo passa a ter uma razão para existir além de exibir conteúdo estático.</li>
</ul>
<h3 id="jogos-de-navegador-que-cresceram-na-poki-e-na-crazygames" tabindex="-1">Jogos de navegador que cresceram na Poki e na CrazyGames <a class="header-anchor" href="#jogos-de-navegador-que-cresceram-na-poki-e-na-crazygames" aria-label="Permalink to &quot;Jogos de navegador que cresceram na Poki e na CrazyGames&quot;"></a></h3>
<p>Juntas, a Poki e a CrazyGames atendem a mais de 150 milhões de jogadores por mês. Os jogos com melhor desempenho nessas plataformas oferecem pistas sobre o que funciona especificamente no navegador.</p>
<p><strong>Padrões de melhor desempenho em portais de jogos para navegador:</strong></p>
<ul>
<li>Início instantâneo (menos de 3 segundos até ser possível interagir). Sem exigir login. Sem exigir tutorial. O jogo deve ser compreensível em até 5 segundos após o acesso.</li>
<li>Flexibilidade de sessão. Os jogadores entram por 2 minutos ou por 2 horas. O jogo comporta ambos os casos. Para um mundo de criadores, isso significa que deve ser possível explorá-lo sem se comprometer com uma sessão. Andar, ver coisas interessantes e sair. Ou ficar e construir por horas.</li>
<li>Compatibilidade com dispositivos móveis. Mais de 60% do tráfego da Poki vem de dispositivos móveis. Um mundo no navegador que só funciona em computadores perde a maioria dos visitantes em potencial.</li>
<li>Recursos sociais que não exigem amigos. Placares, reações ao conteúdo de outros jogadores e recursos assíncronos (ver o que outros jogadores construíram sem precisar estar online ao mesmo tempo).</li>
</ul>
<p>Os jogos 3D de maior sucesso nesses portais (como Shell Shockers, 1v1.LOL e Smash Karts) mantêm a contagem de polígonos baixa, as texturas simples e a taxa de quadros alta. Eles provam que os jogadores aceitam gráficos simples quando a experiência é fluida e responsiva.</p>
<h3 id="plataformas-de-criacao-baseadas-no-navegador" tabindex="-1">Plataformas de criação baseadas no navegador <a class="header-anchor" href="#plataformas-de-criacao-baseadas-no-navegador" aria-label="Permalink to &quot;Plataformas de criação baseadas no navegador&quot;"></a></h3>
<p><strong>Hubs da Mozilla (agora mantido pela comunidade).</strong> Espaços 3D multiusuário no navegador, desenvolvidos com Three.js e A-Frame. Oferece chat de voz, avatares e objetos compartilhados. Não é um mundo aberto (baseia-se em salas), mas suas arquiteturas de rede e renderização são relevantes. A Mozilla tornou o projeto open source antes de encerrar o serviço hospedado, portanto todo o código-fonte está disponível para estudo. <a href="https://github.com/mozilla/hubs" target="_blank" rel="noreferrer">GitHub</a>.</p>
<p><strong>Hyperfy.</strong> Uma plataforma de metaverso baseada na web que roda inteiramente no navegador. Renderização com Three.js, modo multijogador, personalização de avatares e construção de mundos. Está mais próxima do nosso objetivo do que o Hubs porque enfatiza as ferramentas para criadores. Os mundos são carregados em uma aba do navegador sem exigir downloads. <a href="https://hyperfy.io" target="_blank" rel="noreferrer">hyperfy.io</a>.</p>
<p><strong>Ethereal Engine (anteriormente XREngine).</strong> Engine open source para mundos multiusuário, desenvolvida com Three.js e bitECS. Oferece suporte a WebXR, áudio espacial e edição de mundos. Inclui arquitetura ECS, camada de rede e ferramentas de edição. É o projeto open source existente mais próximo do que estamos descrevendo. Vale estudá-lo para entender como integra bitECS ao Three.js no gerenciamento de entidades e como sua rede lida com o estado espacial. <a href="https://github.com/EtherealEngine/etherealengine" target="_blank" rel="noreferrer">GitHub</a>.</p>
<p><strong>Dusk (anteriormente Rune).</strong> SDK multijogador para jogos web. Cuida da camada de rede para que os desenvolvedores possam se concentrar na jogabilidade. Sua abordagem de sincronização usa estado previsto com reconciliação do servidor, que é o modelo padrão para experiências multijogador responsivas. O SDK abstrai a complexidade do código de rede com rollback. Vale estudá-lo por sua experiência de desenvolvimento.</p>
<p><strong>Niantic Studio.</strong> Um editor visual baseado no navegador e uma engine de jogos web (sucessor das ferramentas da 8th Wall) para criar experiências 3D e XR que outras pessoas podem visitar em um navegador. Ele demonstra que criadores sem conhecimento técnico podem desenvolver cenas 3D no navegador quando as ferramentas são acessíveis. (A Niantic separou seu trabalho geoespacial na Niantic Spatial e vendeu sua divisão de jogos, incluindo o Pokemon GO, para a Scopely em 2025.)</p>
<p><strong>PlayCanvas Editor.</strong> Não é um jogo, mas o editor 3D baseado em nuvem da PlayCanvas mostra que ferramentas colaborativas de construção de mundos podem rodar no navegador. Vários membros da equipe editam a mesma cena simultaneamente. O editor comunica as alterações por meio de uma camada de sincronização em tempo real. Esse é o modelo de criação colaborativa de que precisaríamos, mas com nosso mundo como tela em vez de um editor de jogos.</p>
<h3 id="plataformas-nativas-de-criacao-licoes-para-o-navegador" tabindex="-1">Plataformas nativas de criação (lições para o navegador) <a class="header-anchor" href="#plataformas-nativas-de-criacao-licoes-para-o-navegador" aria-label="Permalink to &quot;Plataformas nativas de criação (lições para o navegador)&quot;"></a></h3>
<p>Essas plataformas rodam como aplicativos nativos, mas suas decisões de design relacionadas a ferramentas para criadores, persistência do mundo e dinâmicas sociais são diretamente aplicáveis.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/mUgtVhbSiNM" title="Plataforma de criação Roblox" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="game-caption">Roblox: mais de 80 milhões de usuários diários, US$ 740 milhões pagos a criadores em 2023. A criação acontece dentro da engine. A descoberta é social. O modelo de negócios que prova que plataformas de criação podem se sustentar.</div>
<p><strong>Roblox</strong> é a referência mais importante para um mundo de criadores. Mais de 80 milhões de usuários ativos diários. Os criadores desenvolvem experiências 3D completas (jogos, espaços sociais e lojas) que outros jogadores visitam. A plataforma cuida da hospedagem, rede, descoberta e monetização.</p>
<p>O que o Roblox faz bem:</p>
<ul>
<li><strong>A criação acontece dentro da engine.</strong> O Roblox Studio é o mesmo ambiente que os jogadores vivenciam. Os criadores testam seu trabalho instantaneamente. Não há um ciclo de exportar, enviar e esperar. Em um mundo de navegador, o editor deve ser o próprio mundo.</li>
<li><strong>A programação é acessível.</strong> Lua (a linguagem de programação do Roblox) é simples o bastante para crianças aprenderem. Comportamentos complexos são possíveis, mas opcionais. A barreira de entrada é baixa e o potencial é alto.</li>
<li><strong>A descoberta é social.</strong> Você encontra experiências porque seus amigos estão jogando. A página inicial mostra experiências em alta. Em um mundo de navegador, o próprio mundo é a superfície de descoberta. Você explora e encontra coisas ao caminhar.</li>
<li><strong>A monetização funciona.</strong> Os criadores ganham dinheiro de verdade (o Roblox pagou US$ 740 milhões a criadores em 2023). Isso atrai um trabalho criativo sério. Sem incentivo econômico, as plataformas de criação viram projetos amadores que acabam desaparecendo.</li>
<li><strong>A engine de renderização do Roblox é proprietária</strong> e roda em um aplicativo nativo, não em um navegador. Mas os orçamentos de recursos por experiência são modestos para os padrões atuais (recomenda-se no máximo 100 MB). A maioria das experiências de sucesso no Roblox usa arte estilizada low-poly, o que está alinhado às limitações de renderização do navegador.</li>
</ul>
<p><strong>Fortnite Creative / UEFN (Unreal Editor for Fortnite).</strong> A Epic levou o editor completo da Unreal Engine aos criadores do Fortnite. O resultado é uma plataforma em que as pessoas constroem ilhas (mundos independentes) usando ferramentas profissionais. O Fortnite cuida da hospedagem, do modo multijogador e da distribuição.</p>
<p>Conclusões relevantes:</p>
<ul>
<li><strong>Ferramentas profissionais atraem conteúdo profissional.</strong> O UEFN produz experiências visualmente impressionantes porque os criadores têm acesso a todos os recursos da UE5. A contrapartida é a complexidade. O UEFN tem uma curva de aprendizado acentuada.</li>
<li><strong>Instanciamento baseado em ilhas</strong> (cada criação é um mundo separado) evita os problemas de moderação e conflito de um único mundo compartilhado. Mas também significa que os criadores não descobrem naturalmente o trabalho uns dos outros pela exploração. Você visita ilhas por meio de menus, não caminhando.</li>
<li><strong>O modelo de negócios funciona.</strong> O programa de criadores do Fortnite paga com base no engajamento. Os principais criadores ganham milhões por ano. Novamente, o incentivo econômico impulsiona a qualidade.</li>
</ul>
<p><strong>Dreams (Media Molecule / PlayStation).</strong> Dreams ofereceu aos jogadores de console um conjunto completo de ferramentas de criação 3D (modelagem, animação, música, lógica e design de níveis) e uma plataforma para compartilhar criações. Em termos de profundidade das ferramentas, é a plataforma de criação mais ambiciosa já desenvolvida.</p>
<p>Conclusões relevantes:</p>
<ul>
<li><strong>Modelagem baseada em escultura</strong> em vez de edição de polígonos. Os criadores moldam volumes suaves com ferramentas de mover, agarrar e suavizar, de forma semelhante ao ZBrush, porém mais intuitiva. A curva de aprendizado é suave. Essa abordagem se adapta bem à criação no navegador porque não exige compreender vértices e mapas UV.</li>
<li><strong>Tudo é um recurso compartilhado.</strong> Se alguém cria um modelo de árvore, qualquer pessoa pode usá-lo em sua própria criação (com atribuição). Isso cria um ecossistema criativo cumulativo no qual cada criação torna a plataforma mais valiosa.</li>
<li><strong>Dreams enfrentou dificuldades comerciais</strong> apesar dos elogios da crítica. O problema foi a distribuição: ele ficou restrito ao PlayStation, e as ferramentas de criação eram tão profundas que a maioria dos jogadores nunca deixou de apenas consumir conteúdo. A lição: as ferramentas de criação precisam ser simples o bastante para que a maioria dos usuários experimente usá-las, mesmo que apenas uma minoria se torne construtora séria.</li>
</ul>
<p><strong>Core (Manticore Games).</strong> Uma plataforma gratuita para criar e jogar jogos multijogador, desenvolvida com a Unreal Engine e um editor simplificado. O editor do Core roda como aplicativo nativo, mas sua filosofia é relevante. Modelos e scripts compartilhados pela comunidade permitem que iniciantes montem jogos com componentes prontos. Criadores avançados podem escrever scripts em Lua para criar comportamentos personalizados. O Core teve dificuldade para conquistar um grande público, em parte porque os jogos precisavam ser executados pelo inicializador do Core. Uma versão baseada no navegador não teria esse atrito.</p>
<p><strong>VRChat</strong> e <strong>Rec Room</strong> são plataformas sociais nas quais criadores constroem espaços que outras pessoas visitam. O VRChat usa Unity e roda em PC/VR. O Rec Room roda em praticamente tudo, incluindo dispositivos móveis. Ambos provam que mundos 3D gerados por usuários podem sustentar grandes comunidades. O VRChat é tecnicamente mais impressionante (shaders personalizados e avatares complexos). O Rec Room é mais acessível (ferramentas de criação no próprio aplicativo, gráficos mais simples e suporte a mais plataformas). Para um mundo de navegador, a abordagem do Rec Room, com ferramentas simples de criação dentro do aplicativo, é mais aplicável do que o fluxo de trabalho do VRChat, baseado em ferramentas externas.</p>
<div class="video-embed">
<iframe src="https://www.youtube.com/embed/E5HCeVCjCXo" title="Second Life: seu mundo, sua imaginação" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="game-caption">Second Life: lançado em 2003, ainda funciona com mais de 200 mil usuários diários. Inteiramente criado pelos usuários. Propriedade baseada em terrenos, economia virtual de cerca de US$ 500 milhões por ano. 20 anos de lições sobre persistência e moderação.</div>
<p><strong>Second Life</strong> é o precursor de todos os mundos de criadores. Lançado em 2003, ainda conta com mais de 200 mil usuários ativos diários. O mundo inteiro é criado pelos usuários. Terrenos são comprados, vendidos e possuem proprietários. Os criadores vendem objetos, roupas e edifícios. A linguagem de programação do mundo (LSL) permite criar conteúdo interativo.</p>
<p>O que o Second Life ensina após mais de 20 anos:</p>
<ul>
<li><strong>A persistência importa mais do que os gráficos.</strong> O visual do Second Life está ultrapassado, mas o mundo persiste. As criações permanecem onde foram colocadas. Relacionamentos e histórias se acumulam. É essa persistência que faz as pessoas voltarem.</li>
<li><strong>A economia impulsiona a criação.</strong> Estima-se que o PIB do Second Life seja de US$ 500 milhões por ano. Os criadores constroem porque podem vender. Sem incentivo econômico, o volume e a qualidade do conteúdo criado pelos usuários diminuem.</li>
<li><strong>Conteúdo gerado por usuários exige infraestrutura de moderação.</strong> O Second Life enfrenta desafios de moderação há 20 anos. Qualquer plataforma em que usuários possam colocar conteúdo arbitrário em um espaço compartilhado precisa de verificação automatizada, ferramentas de denúncia e análise humana.</li>
<li><strong>A organização espacial baseada em terrenos funciona.</strong> O Second Life divide seu mundo em lotes que pertencem aos usuários. Cada lote tem um limite de prims (objetos). Isso impede naturalmente que um único criador consuma todos os recursos. Para um mundo de navegador, a propriedade baseada em chunks, com orçamentos de objetos por chunk, é o padrão equivalente.</li>
</ul>
<h2 id="analise-comparativa-o-que-cada-jogo-nos-ensina" tabindex="-1">Análise comparativa: o que cada jogo nos ensina <a class="header-anchor" href="#analise-comparativa-o-que-cada-jogo-nos-ensina" aria-label="Permalink to &quot;Análise comparativa: o que cada jogo nos ensina&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Jogo</th>
<th>Principal lição</th>
<th>Tecnologia aplicável</th>
<th>Risco se ignorada</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Skyrim</strong></td>
<td>Streaming baseado em chunks com uma grade de células</td>
<td>Terreno com mapa de altura, níveis de LOD, separação entre interiores e exteriores</td>
<td>O mundo não cabe na memória do navegador</td>
</tr>
<tr>
<td><strong>The Witcher 3</strong></td>
<td>Composição do mundo em camadas por equipes separadas</td>
<td>Streaming sensível ao conteúdo, renderização com impostores</td>
<td>Os criadores não conseguem trabalhar de forma independente</td>
</tr>
<tr>
<td><strong>Breath of the Wild</strong></td>
<td>Regras sistêmicas superam conteúdo roteirizado</td>
<td>Sistema de interação entre materiais, jogabilidade orientada por física</td>
<td>O mundo parece estático e sem vida</td>
</tr>
<tr>
<td><strong>GTA V</strong></td>
<td>A vida cotidiana faz os mundos parecerem reais</td>
<td>Sistemas de comportamento de NPCs, tráfego, horário do dia</td>
<td>O mundo do criador parece um museu vazio</td>
</tr>
<tr>
<td><strong>Elden Ring</strong></td>
<td>Variação de densidade e reutilização de assets</td>
<td>Biblioteca de assets modulares, zonas esparsas e densas</td>
<td>Fica vazio demais ou caro demais para preencher</td>
</tr>
<tr>
<td><strong>No Man's Sky</strong></td>
<td>Geração procedural para a tela, conteúdo dos criadores para a alma</td>
<td>Terreno baseado em sementes, modelo de dados compacto para bases</td>
<td>Terreno infinito, mas entediante</td>
</tr>
<tr>
<td><strong>Minecraft</strong></td>
<td>Mundo totalmente editável, ferramentas simples, profundidade infinita</td>
<td>Streaming de chunks, compactação por paleta, protocolo de edição de blocos</td>
<td>Os criadores não conseguem remodelar o próprio mundo</td>
</tr>
<tr>
<td><strong>Roblox</strong></td>
<td>A criação ocorre dentro do motor, e a economia impulsiona a qualidade</td>
<td>Editor dentro do mundo, monetização para criadores</td>
<td>Ninguém cria porque não há incentivo</td>
</tr>
<tr>
<td><strong>Krunker.io</strong></td>
<td>UGC no navegador funciona em escala com ferramentas simples</td>
<td>Renderização com Three.js, editor baseado em voxels, marketplace</td>
<td>Ferramentas de criação complexas demais para criadores casuais</td>
</tr>
<tr>
<td><strong>Hordes.io</strong></td>
<td>Mais de 200 jogadores em 3D no navegador, viável para um único desenvolvedor</td>
<td>WebGL personalizado, descarte espacial, arte estilizada</td>
<td>Complexidade excessiva na camada multijogador</td>
</tr>
<tr>
<td><strong>Vuntra City (referência nativa)</strong></td>
<td>Streaming sensível à velocidade e simulação do mundo em dois níveis mantêm uma enorme cidade procedural coerente</td>
<td>Política de LOD vinculada à velocidade, camada de consulta topológica, simulação agendada à distância + comportamento em proximidade</td>
<td>O deslocamento em alta velocidade causa surgimento repentino de elementos e picos de simulação</td>
</tr>
<tr>
<td><strong>Agar.io / Slither.io</strong></td>
<td>O particionamento espacial permite concorrência em massa</td>
<td>Taxa de ticks variável conforme a distância, gerenciamento de relevância</td>
<td>A rede entra em colapso em grande escala</td>
</tr>
<tr>
<td><strong>Second Life</strong></td>
<td>Persistência e economia sustentam comunidades por 20 anos</td>
<td>Propriedade baseada em lotes, limites de objetos, marketplace</td>
<td>Não há retenção de longo prazo</td>
</tr>
<tr>
<td><strong>Dreams</strong></td>
<td>A criação baseada em escultura é mais intuitiva do que a edição de polígonos</td>
<td>Modelagem baseada em volumes, biblioteca compartilhada de assets</td>
<td>As ferramentas de criação parecem um programa de CAD</td>
</tr>
<tr>
<td><strong>Fortnite Creative</strong></td>
<td>Ferramentas profissionais atraem conteúdo profissional</td>
<td>Recursos completos de edição dentro da plataforma</td>
<td>O teto de qualidade do conteúdo é baixo demais</td>
</tr>
<tr>
<td><strong>RuneScape</strong></td>
<td>Um MMO completo funciona no navegador com Wasm e protocolos binários</td>
<td>Emscripten, protocolo WebSocket binário personalizado, streaming de tiles</td>
<td>Subestimar o que os navegadores conseguem processar</td>
</tr>
<tr>
<td><strong>Habbo Hotel</strong></td>
<td>A criação simples de salas sustenta uma comunidade há 25 anos</td>
<td>Posicionamento em grade, economia de mobília virtual</td>
<td>Complexidade excessiva nas ferramentas de criação</td>
</tr>
</tbody>
</table>
<p>Os jogos mais relevantes para o nosso caso específico — baseado em navegador, voltado a criadores e multijogador — são Minecraft (mundo editável, dados compactos), Roblox (criação dentro do motor, economia), Krunker (UGC no navegador em escala) e Hordes.io (arquitetura de MMO no navegador). Os títulos AAA (Skyrim, BotW, The Witcher 3) ensinam renderização e streaming. Os sucessos de navegador (Agar.io, Slither.io, Surviv.io) ensinam redes em escala. As plataformas para criadores (Roblox, Dreams, Second Life) ensinam dinâmicas de comunidade. Vuntra City acrescenta uma referência atual, no nível da implementação, para streaming sensível à velocidade, navegação diegética e padrões de simulação de milhões de agentes em uma cidade procedural moderna.</p>
<h2 id="como-skyrim-e-the-witcher-seriam-em-um-navegador" tabindex="-1">Como Skyrim e The Witcher seriam em um navegador <a class="header-anchor" href="#como-skyrim-e-the-witcher-seriam-em-um-navegador" aria-label="Permalink to &quot;Como Skyrim e The Witcher seriam em um navegador&quot;"></a></h2>
<p>Vamos ser concretos. Se você pegasse Whiterun, de Skyrim, e a reconstruísse para entrega via navegador:</p>
<p><strong>Terreno:</strong> A área ao redor de Whiterun tem aproximadamente 2 km x 2 km. Com nosso tamanho de chunk (64 m), isso representa cerca de 32x32 = 1024 chunks. Com 2–4 KB para o mapa de altura de cada chunk, seriam 2–4 MB de dados de terreno. As texturas do terreno (grama, terra, rocha, neve), como tiles de um atlas KTX2, talvez acrescentassem outros 5 MB. Terreno total: menos de 10 MB para toda a região.</p>
<p><strong>Estruturas:</strong> A própria Whiterun tem talvez 40–50 construções. Cada construção, como um GLB otimizado (3 níveis de LOD), poderia ter 200–500 KB no nível máximo de detalhes. Mas você só precisa do nível máximo para as 5–10 construções mais próximas. As demais usam LOD médio ou baixo (50–100 KB cada). Total de estruturas visíveis a qualquer momento: 2–5 MB.</p>
<p><strong>Vegetação:</strong> As árvores e a grama ao redor de Whiterun em Skyrim usam instanciamento. Você precisaria de talvez 10 modelos únicos de árvores (200 KB cada no LOD máximo, 20 KB como impostores em billboard) e de um sistema de grama que gere lâminas na GPU a partir de um mapa de densidade. Total de assets de vegetação: 2–3 MB. Dados de instanciamento (posições, rotações, escalas) para uma área de 5x5 chunks: menos de 500 KB.</p>
<p><strong>NPCs:</strong> Whiterun tem aproximadamente 70 NPCs com nome, além dos guardas. Cada avatar em qualidade média: 100–200 KB. Mas apenas 10–20 ficam visíveis a qualquer momento. Total de dados de renderização de NPCs: 2–4 MB.</p>
<p><strong>Total geral para uma área do tamanho de Whiterun visível a qualquer momento: 15–25 MB.</strong> Isso é perfeitamente viável em um navegador. O carregamento inicial mostraria o terreno e as principais estruturas em 3–5 segundos com banda larga, e os detalhes seriam preenchidos ao longo dos segundos seguintes.</p>
<p>Novigrad, de The Witcher 3, é maior e mais densa, mas os mesmos princípios se aplicam. Seriam necessários LOD e streaming mais agressivos, mas o total de dados visíveis a cada momento ainda permaneceria dentro dos limites de memória do navegador.</p>
<h2 id="o-que-construiriamos-primeiro" tabindex="-1">O que construiríamos primeiro <a class="header-anchor" href="#o-que-construiriamos-primeiro" aria-label="Permalink to &quot;O que construiríamos primeiro&quot;"></a></h2>
<p>Um mundo aberto completo é um projeto de vários anos. Este é o caminho para colocar rapidamente algo real nas mãos dos criadores:</p>
<p><strong>Fase 1: Ilha compartilhada (3 meses).</strong> Um único chunk de terreno (ilha de 512x512 m) com terreno por mapa de altura, água, vegetação básica e ciclo de dia e noite. Multijogador via Durable Objects (até 50 usuários simultâneos). Os criadores podem posicionar assets 3D gerados por IA da biblioteca Cinevva que já possuem. Pense nisso como um diorama compartilhado.</p>
<p><strong>Fase 2: Mundo expansível (3 meses).</strong> Streaming de chunks para um mundo de 4x4 km. Lotes pertencentes aos criadores, nos quais eles têm permissões de edição. Sistema de LOD para terrenos e objetos. Estado persistente do mundo. Até 200 usuários simultâneos distribuídos pelo mundo.</p>
<p><strong>Fase 3: Mundo vivo (6 meses).</strong> Escultura de terreno assistida por IA. Vegetação e atmosfera procedurais. Sistema de missões e eventos para que os criadores possam desenvolver experiências interativas, não apenas cenas estáticas. Chat por voz. Personalização de avatares. O mundo se torna um destino, não uma demonstração.</p>
<h2 id="questoes-em-aberto" tabindex="-1">Questões em aberto <a class="header-anchor" href="#questoes-em-aberto" aria-label="Permalink to &quot;Questões em aberto&quot;"></a></h2>
<p><strong>Estilo artístico.</strong> Um estilo visual estilizado (low-poly, cel shading) é mais barato de renderizar e tolera melhor assets gerados por IA. O realismo exige assets de maior qualidade e mais orçamento de renderização. Skyrim funcionou apesar dos gráficos datados porque a direção de arte era consistente. BotW é belíssimo em hardware da classe de tablets porque o estilo cel shading disfarça a baixa contagem de polígonos. Minecraft usa texturas de 16x16 e é um dos jogos mais reconhecíveis de todos os tempos. Krunker.io e Hordes.io alcançaram sucesso no navegador com gráficos estilizados simples. As evidências favorecem de forma esmagadora uma direção estilizada para um mundo no navegador. Precisamos escolher cedo uma identidade visual específica e garantir a consistência entre os assets gerados por IA.</p>
<p><strong>Persistência do mundo versus instâncias.</strong> Todos compartilham um único mundo (como em um MMO ou Second Life) ou cada criador recebe sua própria instância, que outros podem visitar (como servidores de Minecraft ou Ilhas do Fortnite)? A tecnologia oferece suporte a ambas as opções, mas as dinâmicas sociais são completamente diferentes. O mundo compartilhado e persistente do Second Life promove descobertas por acaso (você encontra o trabalho de outras pessoas enquanto caminha). As ilhas instanciadas do Fortnite exigem um menu ou sistema de portais para descoberta. Roblox usa uma abordagem baseada em hub: os jogos são separados, mas você navega e os descobre por meio de uma interface compartilhada. Uma solução híbrida poderia funcionar: um mundo principal compartilhado e persistente, no qual os criadores possuem lotes (como os lotes do Second Life), com a opção de entrar em experiências independentes por meio de portais.</p>
<p><strong>Profundidade das ferramentas de criação.</strong> Dreams provou que ferramentas de criação profundas impressionam os críticos, mas intimidam os usuários. Townscaper provou que ferramentas mínimas podem vender um milhão de cópias. Roblox Studio fica no meio-termo: simples o bastante para crianças, profundo o bastante para profissionais. O editor de voxels do Krunker é ainda mais simples. Para um mundo no navegador, deveríamos começar com a simplicidade do Townscaper (posicione objetos, e eles se encaixam e se conectam) e adicionar profundidade ao longo do tempo. A experiência inicial de posicionar seu primeiro objeto no mundo deve levar menos de 30 segundos.</p>
<p><strong>Economia.</strong> Roblox, Second Life e Fortnite Creative comprovam que o incentivo econômico é o que transforma um brinquedo em uma plataforma. Sem uma forma de os criadores ganharem dinheiro com seu trabalho, os mais talentosos criarão em outro lugar. Isso não precisa ser lançado no primeiro dia, mas a arquitetura deve oferecer suporte (propriedade de objetos, acompanhamento de visitas, atribuição aos criadores).</p>
<p><strong>Dispositivos móveis.</strong> Ainda faltam anos para que o WebGPU em dispositivos móveis seja confiável. Uma experiência móvel precisaria ser uma versão reduzida: terreno mais simples, menos objetos e menor distância de visão. Vale a pena estudar a abordagem do Rec Room, que roda em todos os tipos de dispositivo com qualidade adaptativa. Outra opção é lançar um aplicativo nativo para dispositivos móveis e manter a experiência completa no navegador.</p>
<p><strong>Moderação.</strong> Um mundo aberto no qual qualquer pessoa pode posicionar qualquer coisa é um pesadelo de moderação. O Second Life lida com isso há 20 anos. Cada asset posicionado precisa passar por uma análise automatizada de conteúdo antes de ficar visível para outras pessoas. Isso adiciona latência ao processo criativo, mas não é negociável. Também devemos considerar classificações de conteúdo por lote (como o sistema Geral/Moderado/Adulto do Second Life), para que os criadores possam escolher os limites do próprio conteúdo.</p>
<p><strong>Interações sistêmicas.</strong> BotW e Minecraft demonstram que sistemas de interação baseados em materiais criam mundos exponencialmente mais interessantes do que o posicionamento de objetos estáticos. Se um criador posicionar uma ponte de madeira e outro criador iniciar um incêndio nas proximidades, a ponte deve queimar? Se alguém construir uma represa, a água deve se acumular atrás dela? Essas interações fazem o mundo parecer vivo, mas exigem regras consistentes de física e materiais em todo o conteúdo dos criadores. Decidir até onde ir com o design sistêmico é uma decisão arquitetural que precisa ser tomada cedo.</p>
<h2 id="principais-conclusoes" tabindex="-1">Principais conclusões <a class="header-anchor" href="#principais-conclusoes" aria-label="Permalink to &quot;Principais conclusões&quot;"></a></h2>
<p>Mundos abertos 3D no navegador são viáveis hoje. Hordes.io executa mais de 200 jogadores em 3D em um navegador. Krunker.io teve 10 milhões de jogadores mensais com um editor completo de mapas 3D. Os jogos .io provaram que o multijogador no navegador alcança milhões de usuários. A tecnologia não é especulativa.</p>
<p>A renderização está pronta. Three.js e Babylon.js processam cenas 3D comparáveis às de jogos AAA do início da década de 2010. WebGPU viabiliza shaders de computação para terreno e vegetação. Motores de física em Wasm rodam com desempenho entre 2 e 3 vezes inferior ao nativo. Uma área do tamanho de Whiterun cabe em 15–25 MB de dados visíveis.</p>
<p>A infraestrutura de rede está pronta. Cloudflare Durable Objects oferece servidores autoritativos por chunk na borda da rede. CRDTs processam edição colaborativa sem conflitos. O particionamento espacial — comprovado por todos os jogos, de Agar.io a Skyrim — mantém o tráfego de rede gerenciável com centenas de jogadores simultâneos.</p>
<p>Os mundos abertos AAA (Skyrim, The Witcher 3, BotW, Elden Ring, Minecraft, No Man's Sky) não são apenas referências gráficas. São livros didáticos sobre streaming de chunks, gerenciamento de LOD, geração procedural, design sistêmico e composição de mundos. Cada técnica utilizada por eles tem um equivalente compatível com navegadores.</p>
<p>As plataformas para criadores (Roblox, Second Life, Fortnite Creative, Dreams) ensinam as lições sociais e econômicas. A criação deve acontecer dentro do mundo, não em uma ferramenta externa. O incentivo econômico impulsiona a qualidade. A persistência cria apego. Ferramentas simples alcançam mais criadores do que ferramentas poderosas.</p>
<p>O pipeline criativo é onde a Cinevva tem uma vantagem. Já geramos assets 3D, texturas e áudio. Conectar esse pipeline a um sistema de posicionamento no mundo é a peça que falta. O conteúdo gerado por IA preenche o mundo. A curadoria e a organização feitas pelos criadores lhe dão alma.</p>
<p>O resultado não seria Skyrim em um navegador. Seria algo mais próximo da interseção entre Minecraft (mundo editável), Roblox (economia de criadores) e BotW (interações sistêmicas), executado em uma aba do navegador com ferramentas de criação impulsionadas por IA. A tecnologia necessária para construí-lo existe. A questão é a execução.</p>
<h2 id="artigos-cientificos-e-referencias-academicas" tabindex="-1">Artigos científicos e referências acadêmicas <a class="header-anchor" href="#artigos-cientificos-e-referencias-academicas" aria-label="Permalink to &quot;Artigos científicos e referências acadêmicas&quot;"></a></h2>
<p>As técnicas deste guia não foram inventadas do zero. Elas se baseiam em décadas de pesquisa. Estes são os artigos mais importantes para cada subsistema, com observações sobre como se aplicam a um mundo aberto no navegador.</p>
<h3 id="geracao-e-renderizacao-de-terrenos" tabindex="-1">Geração e renderização de terrenos <a class="header-anchor" href="#geracao-e-renderizacao-de-terrenos" aria-label="Permalink to &quot;Geração e renderização de terrenos&quot;"></a></h3>
<p><strong>&quot;An Image Synthesizer&quot;</strong> — Ken Perlin (SIGGRAPH 1985). <a href="https://doi.org/10.1145/325165.325247" target="_blank" rel="noreferrer">DOI</a>. O artigo que apresentou o ruído de Perlin. Todos os geradores procedurais de terreno de todos os jogos desde 1985 remontam a esse trabalho. A função de ruído produz a aleatoriedade suave que, quando combinada em oitavas (movimento browniano fracionário), gera mapas de altura com aparência natural. O ruído simplex (Perlin, 2001) é o sucessor mais rápido. Para nosso pipeline de terreno, esta é a base: a geração de mapas de altura com base em ruído é executada em um shader de computação WebGPU a velocidades interativas.</p>
<p><strong>&quot;Texturing and Modeling: A Procedural Approach&quot;</strong> — Ebert, Musgrave, Peachey, Perlin, Worley (1994, 3ª edição em 2003). O livro de referência sobre geração procedural. Os capítulos de Musgrave sobre modelagem de terrenos, incluindo terrenos multifractais com características semelhantes à erosão, são a base direta dos geradores de terreno dos jogos modernos. Os parâmetros de fBm (lacunaridade, persistência, contagem de oitavas) descritos aqui são os mesmos que disponibilizaríamos aos criadores para a personalização do terreno.</p>
<p><strong>&quot;Geometry Clipmaps: Terrain Rendering Using Nested Regular Grids&quot;</strong> — Losasso e Hoppe (SIGGRAPH 2004). <a href="https://doi.org/10.1145/1015706.1015799" target="_blank" rel="noreferrer">DOI</a>. Este artigo resolveu como renderizar terrenos enormes em taxas interativas usando anéis concêntricos de LOD (clipmaps). A malha do terreno é um conjunto fixo de grades aninhadas centralizadas na câmera. Conforme a câmera se move, as grades se deslocam e são atualizadas. Essa é a técnica recomendada em nossa seção sobre terrenos para WebGL 2, e ela funciona porque a carga de trabalho da GPU é constante, independentemente do tamanho do mundo. A implementação original é anterior ao WebGL, mas pode ser mapeada diretamente para ele.
<strong>&quot;Simulação e Visualização Rápidas de Erosão Hidráulica na GPU&quot;</strong> -- Mei, Decaudin, Hu (2007). <a href="https://hal.inria.fr/inria-00402079/document" target="_blank" rel="noreferrer">PDF</a>. Transferiu a erosão hidráulica de um processo offline limitado pela CPU para uma computação em tempo real na GPU. O modelo de simulação de águas rasas do artigo (tratando a água como um campo de altura e calculando o fluxo entre células da grade) é executado em um compute shader. Para nosso pipeline, a erosão por GPU no servidor pode transformar terrenos gerados por ruído em paisagens geologicamente plausíveis em menos de um segundo, fazendo com que terrenos gerados por IA pareçam esculpidos à mão.</p>
<p><strong>&quot;Renderização em Tempo Real de Planetas Gerados Proceduralmente&quot;</strong> -- Abordagens híbridas apresentadas nas palestras da GDC sobre No Man's Sky e nas descrições de Sean Murray. Embora não seja um único artigo, a palestra da GDC 2017 &quot;Building Worlds Using Maths&quot;, de Innes McKendrick (Hello Games), detalha como No Man's Sky gera terrenos em escala planetária usando funções de ruído empilhadas, representação por voxels com marching cubes e geração na GPU. É diretamente relevante para nossa abordagem de terreno procedural, especialmente para gerar elementos de terreno que mapas de altura não conseguem representar, como cavernas e arcos.</p>
<p><strong>&quot;C-DBLOD: LOD Híbrido para Renderização de Terreno&quot;</strong> -- Filip Strugar (2014). <a href="https://www.vertexasylum.com/CDLOD/cdlod_latest.pdf" target="_blank" rel="noreferrer">Artigo</a>. Um aprimoramento dos geometry clipmaps que adiciona seleção baseada em quadtree para melhorar a adaptabilidade ao redor da posição da câmera. A principal ideia: em vez de anéis concêntricos fixos, usar uma quadtree para selecionar blocos de terreno em diferentes resoluções. Isso lida melhor com terrenos irregulares, nos quais algumas áreas precisam de mais detalhes do que outras, do que clipmaps puros. Pode ser implementado em WebGL 2 com uma pequena travessia da quadtree na CPU.</p>
<h3 id="gaussian-splatting-3d-e-renderizacao-neural" tabindex="-1">Gaussian Splatting 3D e renderização neural <a class="header-anchor" href="#gaussian-splatting-3d-e-renderizacao-neural" aria-label="Permalink to &quot;Gaussian Splatting 3D e renderização neural&quot;"></a></h3>
<p><strong>&quot;3D Gaussian Splatting para Renderização em Tempo Real de Campos de Radiância&quot;</strong> -- Kerbl, Kopanas, Leimkühler, Drettakis (SIGGRAPH 2023). <a href="https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/" target="_blank" rel="noreferrer">Página do projeto</a>. O artigo que deu início à revolução do Gaussian splatting. Uma cena é representada por milhões de Gaussianas 3D, cada uma com posição, covariância (forma), opacidade e coeficientes de cor de harmônicos esféricos. A renderização ordena os splats por profundidade e os rasteriza como Gaussianas 2D. A abordagem é de 100 a 1.000 vezes mais rápida de treinar do que NeRFs e renderiza em tempo real. Existem várias implementações em WebGL/WebGPU. Para nossa plataforma, isso permite que criadores capturem objetos do mundo real com fotos de celular e os coloquem no mundo do navegador.</p>
<p><strong>&quot;NeRF: Representação de Cenas como Campos de Radiância Neurais para Síntese de Vistas&quot;</strong> -- Mildenhall et al. (ECCV 2020). <a href="https://www.matthewtancik.com/nerf" target="_blank" rel="noreferrer">Página do projeto</a>. O artigo fundamental sobre representação neural de cenas. Uma rede neural mapeia coordenadas 3D para cor e densidade, permitindo a síntese fotorrealista de novos pontos de vista a partir de um conjunto de fotografias de entrada. Embora NeRFs sejam computacionalmente caros demais para renderização direta em um navegador — eles exigem a avaliação da rede por pixel —, o pipeline de extração de NeRF para malha, que treina um NeRF e depois executa marching cubes no campo de densidade, produz malhas texturizadas de alta qualidade a partir de fotos.</p>
<p><strong>&quot;Primitivas Gráficas Neurais Instantâneas com Codificação Hash Multirresolução&quot;</strong> -- Müller, Evans, Schied, Keller (SIGGRAPH 2022). <a href="https://nvlabs.github.io/instant-ngp/" target="_blank" rel="noreferrer">Página do projeto</a>. Reduziu o treinamento de NeRFs de horas para segundos usando uma tabela hash multirresolução para codificação espacial. Isso tornou os NeRFs viáveis para uso em produção. A técnica de codificação hash também pode ser aplicada a outros dados espaciais em um mundo de navegador, permitindo consultas rápidas em grandes conjuntos de dados 3D.</p>
<p><strong>&quot;Neuralangelo: Reconstrução Neural de Superfícies em Alta Fidelidade&quot;</strong> -- Li et al. (CVPR 2023). <a href="https://research.nvidia.com/labs/dir/neuralangelo/" target="_blank" rel="noreferrer">Página do projeto</a>. Extrai malhas triangulares de alta qualidade de representações neurais usando codificação hash multirresolução e gradientes numéricos para estimar SDFs (funções de distância com sinal). As malhas resultantes podem ser usadas diretamente em engines 3D para navegador. Para nosso pipeline de assets, o Neuralangelo — ou ferramentas semelhantes, como NeuS2 — pode converter capturas NeRF em arquivos GLB prontos para a web, com geometria limpa e texturas pré-calculadas.</p>
<h3 id="rede-multijogador-e-sincronizacao-de-estado" tabindex="-1">Rede multijogador e sincronização de estado <a class="header-anchor" href="#rede-multijogador-e-sincronizacao-de-estado" aria-label="Permalink to &quot;Rede multijogador e sincronização de estado&quot;"></a></h3>
<p><strong>&quot;Gerenciamento de Interesse em Jogos On-line Massivos para Múltiplos Jogadores&quot;</strong> -- Boulanger, Kienzle, Verbrugge (2006). <a href="https://doi.org/10.1007/11558651_18" target="_blank" rel="noreferrer">DOI</a>. Uma análise abrangente de técnicas de gerenciamento de área de interesse (AOI) para MMOs. Abrange abordagens baseadas em grade, em aura e híbridas para filtrar atualizações de rede com base na relevância espacial. A abordagem baseada em grade, que corresponde ao nosso sistema de chunks, é a mais eficiente para mundos com densidade uniforme. A abordagem baseada em aura, com um raio de influência por entidade, funciona melhor para densidade variável. Nossa recomendação de uma AOI baseada em chunks, com taxas de atualização priorizadas dentro da AOI, deriva dessa pesquisa.</p>
<p><strong>&quot;Dead Reckoning: Ocultação de Latência para Jogos em Rede&quot;</strong> -- Pantel and Wolf (2002). <a href="https://doi.org/10.1145/566500.566510" target="_blank" rel="noreferrer">DOI</a>. Formaliza o dead reckoning — a previsão das posições das entidades com base na última velocidade conhecida — para jogos em rede. O artigo quantifica a relação de compromisso: limiares de previsão mais altos reduzem a largura de banda, mas aumentam o erro de posição visível durante as correções. Para jogos de navegador com latência de 50 a 200 ms, um limiar de previsão de 0,5 a 1,0 metro mantém as correções imperceptíveis e reduz em 60% a 80% a largura de banda usada pelas atualizações de posição.</p>
<p><strong>&quot;Tipos de Dados Replicados Livres de Conflitos&quot;</strong> -- Shapiro, Preguiça, Baquero, Zawirski (2011). <a href="https://doi.org/10.1007/978-3-642-24550-3_29" target="_blank" rel="noreferrer">DOI</a>. O artigo fundamental sobre CRDTs. Define CRDTs baseados em estado e em operações que convergem sem coordenação. Para nosso sistema de edição de mundos, os CRDTs relevantes são: LWW-Register (registrador em que a última gravação vence) para propriedades de objetos que têm um único valor, como posição, rotação e cor; e OR-Set (conjunto de remoção observada) para a coleção de objetos em um chunk, que lida com adições e remoções simultâneas sem conflitos. O Yjs implementa esses recursos com eficiência em JavaScript.</p>
<p><strong>&quot;Time Warp: Um Mecanismo para Simulação Distribuída&quot;</strong> -- Jefferson (1985). <a href="https://doi.org/10.1145/3916.3988" target="_blank" rel="noreferrer">DOI</a>. O artigo original sobre simulação distribuída otimista. Embora o próprio Time Warp seja complexo demais para um jogo de navegador, sua ideia central — processar eventos de forma otimista e reverter caso chegue um conflito de outro nó — é a base da previsão moderna no cliente com reconciliação do servidor. É assim que todo jogo multijogador responsivo funciona: o cliente faz previsões localmente, envia ações ao servidor e corrige o estado se o servidor discordar.</p>
<p><strong>&quot;O Modelo de Rede da Engine TRIBES&quot;</strong> -- Frohnmayer and Gift (GDC 1999). Uma das primeiras descrições práticas de redes cliente-servidor para jogos com gerenciamento de interesse, atualizações de estado priorizadas e controle do orçamento de largura de banda. O conceito de &quot;gerenciador de fantasmas&quot; — no qual o servidor mantém, para cada cliente, uma visão do que esse cliente conhece e envia apenas as diferenças em relação a essa visão — é exatamente o que nossa arquitetura de Durable Objects baseada em chunks implementa. Essa palestra da GDC é a precursora intelectual da maioria das redes modernas para jogos.</p>
<p><strong>&quot;Rede Multijogador da Source&quot;</strong> -- Valve (2009). <a href="https://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking" target="_blank" rel="noreferrer">Documentação para desenvolvedores</a>. A documentação da Valve sobre o modelo de rede da engine Source, usado em Half-Life 2, CS:GO e Team Fortress 2. Abrange previsão no cliente, interpolação de entidades, compensação de lag e o sistema de &quot;snapshots&quot;, no qual o servidor envia o estado completo do mundo em intervalos regulares enquanto o cliente interpola entre os snapshots. Esse é o padrão de referência para redes com servidor autoritativo e se aplica diretamente à nossa arquitetura.</p>
<h3 id="geracao-procedural" tabindex="-1">Geração procedural <a class="header-anchor" href="#geracao-procedural" aria-label="Permalink to &quot;Geração procedural&quot;"></a></h3>
<p><strong>&quot;Síntese de Modelos: Um Algoritmo Geral de Modelagem Procedural&quot;</strong> -- Merrell (2007). <a href="https://doi.org/10.1145/1289603.1289612" target="_blank" rel="noreferrer">DOI</a>. Um dos precursores do Wave Function Collapse. Gera estruturas 3D a partir de modelos de exemplo propagando restrições locais. O algoritmo garante consistência global ao colapsar iterativamente as células com menos possibilidades, usando uma heurística de entropia mínima. É assim que Townscaper e geradores semelhantes produzem estruturas coerentes a partir de entradas simples do usuário.</p>
<p><strong>&quot;WaveFunctionCollapse&quot;</strong> -- Maxim Gumin (2016). <a href="https://github.com/mxgmn/WaveFunctionCollapse" target="_blank" rel="noreferrer">GitHub</a>. Não é um artigo tradicional, mas sim um projeto de código aberto influente, com ampla documentação. O algoritmo recebe uma pequena imagem de exemplo ou um conjunto de tiles e gera resultados maiores que são localmente semelhantes à entrada. Em um mundo criado por usuários, o WFC pode gerar plantas de edifícios, redes viárias, mapas de masmorras e detalhes de terreno a partir de um pequeno conjunto de regras definidas pelo criador. Existem várias implementações em JavaScript.</p>
<p><strong>&quot;Wave Function Collapse é Resolução de Restrições na Prática&quot;</strong> -- Karth and Smith (FDG 2017). <a href="https://doi.org/10.1145/3102071.3110566" target="_blank" rel="noreferrer">DOI</a>. Uma análise acadêmica do WFC que esclarece sua relação com a satisfação de restrições e mostra como analisá-lo e ampliá-lo. É relevante para entender as limitações do WFC — ele pode ficar sem saída e exigir retrocesso — e como criar conjuntos de tiles que evitem esses problemas.</p>
<p><strong>&quot;Teorema da Superposição e Suas Implicações para a Geração Procedural de Conteúdo de Jogos&quot;</strong> -- Sandhu et al. (2022). Explora o uso de conceitos de superposição inspirados na física quântica para a geração procedural de conteúdo. Embora seja especulativa, a estrutura matemática para manter vários estados possíveis antes de &quot;colapsar&quot; em uma configuração final é exatamente o modo como o WFC funciona e pode contribuir para sistemas de geração mais sofisticados.</p>
<h3 id="tecnicas-de-renderizacao-em-tempo-real" tabindex="-1">Técnicas de renderização em tempo real <a class="header-anchor" href="#tecnicas-de-renderizacao-em-tempo-real" aria-label="Permalink to &quot;Técnicas de renderização em tempo real&quot;"></a></h3>
<p><strong>&quot;Renderização em Tempo Real&quot;</strong> -- Akenine-Möller, Haines, Hoffman (4ª edição, 2018). O livro-texto de referência. O Capítulo 19 (Estruturas de Aceleração), o Capítulo 20 (Sombreamento Eficiente) e o Capítulo 21 (Realidade Virtual e Aumentada) são particularmente relevantes. Os algoritmos de descarte por frustum, descarte por oclusão e LOD descritos nele são os mesmos implementados por Three.js, Babylon.js e todas as engines de jogos. Não é um artigo, mas é a referência definitiva.</p>
<p><strong>&quot;Uma Análise sobre a Pré-Computação de Campos de Radiância Neurais para Síntese de Vistas em Tempo Real&quot;</strong> -- Reiser et al. (2023). <a href="https://doi.org/10.1111/cgf.14835" target="_blank" rel="noreferrer">DOI</a>. Analisa métodos para converter NeRFs em formatos que podem ser renderizados em tempo real, como malhas, texturas e grades esparsas de voxels. É diretamente relevante para nosso pipeline de assets, no qual a captura neural processada no servidor precisa produzir um resultado renderizável no navegador.</p>
<p><strong>&quot;Correspondência On-line de Características Escalável e Precisa Usando 3D Gaussian Splatting&quot;</strong> -- Vários grupos (2024-2025). Diversos artigos recentes exploram edição, composição e cenas dinâmicas com Gaussian splats. Isso é relevante porque mundos criados por usuários precisam combinar várias cenas de splats — os objetos capturados por cada criador — em uma única cena coerente. Métodos para editar splats, incluindo alteração de cor, deformação e composição, são áreas de pesquisa ativas.</p>
<p><strong>&quot;Ray Tracing Eficiente em Espaço de Tela na GPU&quot;</strong> -- McGuire and Mara (JCGT 2014). <a href="https://doi.org/10.2312/hpg.20141090" target="_blank" rel="noreferrer">DOI</a>. O artigo por trás das reflexões em espaço de tela usadas em nossa seção sobre renderização de água. Traça raios pelo buffer de profundidade para produzir reflexos aproximados sem o custo do ray tracing completo. A variante de &quot;traçado hierárquico&quot;, que usa um mipmap de profundidade mín-máx, é executada com eficiência no WebGL 2.</p>
<p><strong>&quot;Simulação da Água do Oceano&quot;</strong> -- Jerry Tessendorf (2001). <a href="https://people.computing.clemson.edu/~jtessen/reports/papers_files/coursenotes2004.pdf" target="_blank" rel="noreferrer">PDF</a>. O artigo fundamental sobre simulação oceânica baseada em FFT. Descreve o espectro de Phillips — um modelo estatístico de ondas oceânicas — e como transformá-lo em um mapa de deslocamento espacial por meio da FFT inversa. É usado por todos os grandes jogos com oceanos realistas, como Sea of Thieves, Assassin's Creed e Uncharted. O cálculo da FFT se adapta perfeitamente aos compute shaders do WebGPU.</p>
<p><strong>&quot;Espalhamento Atmosférico Pré-Computado&quot;</strong> -- Bruneton and Neyret (EGSR 2008). <a href="https://doi.org/10.1111/j.1467-8659.2008.01245.x" target="_blank" rel="noreferrer">DOI</a>. O artigo por trás da renderização fisicamente precisa do céu. Pré-calcula o espalhamento atmosférico em tabelas de consulta que um fragment shader consulta em tempo real. Produz, com base em princípios físicos, cores corretas do céu, perspectiva aérea — objetos distantes parecem azulados ou enevoados — e cores do nascer e do pôr do sol. As tabelas pré-calculadas são pequenas, com algumas centenas de KB, e o shader em tempo de execução tem baixo custo. Tanto o shader <code>Sky</code> do Three.js quanto o céu procedural do Babylon.js são versões simplificadas dessa abordagem.</p>
<p><strong>&quot;Volumes de Oclusão de Ambiente&quot;</strong> -- McGuire (HPG 2010) e <strong>&quot;Obscurecimento de Ambiente Escalável&quot;</strong> -- McGuire, Mara, Luebke (HPG 2012). <a href="https://research.nvidia.com/sites/default/files/pubs/2012-06_Scalable-Ambient-Obscurance/McGuire12SAO.pdf" target="_blank" rel="noreferrer">PDF</a>. Os artigos por trás das implementações modernas de SSAO. O SAO é a variante mais comumente implementada em engines 3D para navegador porque é eficiente — uma amostra do buffer de profundidade por pixel — e produz sombras de contato plausíveis. O algoritmo coleta amostras do buffer de profundidade ao redor de cada pixel para estimar o quanto ele está &quot;ocluído&quot; pela geometria próxima. Tanto o Three.js quanto o Babylon.js implementam SSAO derivado de SAO.</p>
<h3 id="renderizacao-e-animacao-de-multidoes" tabindex="-1">Renderização e animação de multidões <a class="header-anchor" href="#renderizacao-e-animacao-de-multidoes" aria-label="Permalink to &quot;Renderização e animação de multidões&quot;"></a></h3>
<p><strong>&quot;Renderização de Multidões na GPU&quot;</strong> -- Dudash (2007) e apresentações posteriores na GDC/SIGGRAPH sobre renderização instanciada de multidões. A técnica central: pré-calcular os quadros de animação esquelética em texturas (Vertex Animation Textures) e então renderizar multidões como malhas instanciadas, nas quais cada instância lê as transformações de seus ossos da textura de animação com base no quadro atual. Isso desvincula a avaliação da animação das chamadas de desenho, permitindo que uma única chamada de desenho instanciada renderize centenas de personagens com animações distintas.</p>
<p><strong>&quot;Dinâmica Baseada em Posição&quot;</strong> -- Müller et al. (2007). <a href="https://doi.org/10.1016/j.jvcir.2007.01.005" target="_blank" rel="noreferrer">DOI</a>. O artigo fundamental sobre PBD, que é a técnica usada pelas engines modernas de jogos para simular tecidos, cabelos e corpos moles. O Rapier, nossa engine de física Wasm recomendada, usa solucionadores derivados de PBD. Para a personalização de avatares, como capas, cabelos esvoaçantes e roupas soltas, o PBD oferece simulação responsiva nas taxas de quadros dos jogos. A implementação em Wasm mantém esse processamento fora da thread principal do JavaScript.
<strong>&quot;FABRIK: um solucionador rápido e iterativo para o problema de cinemática inversa&quot;</strong> — Aristidou e Lasenby (2011). <a href="https://doi.org/10.1016/j.gmod.2011.05.003" target="_blank" rel="noreferrer">DOI</a>. O artigo por trás do solucionador de IK recomendado em nossa seção sobre avatares. O FABRIK funciona alternando o alcance do efetuador final até a raiz e da raiz até o efetuador final, convergindo em 3 a 5 iterações. Ele é mais rápido do que a IK baseada em jacobianos, lida naturalmente com restrições de articulações e é simples de implementar (cerca de 50 linhas de código para o solucionador básico). As implementações de IK do Three.js e do Babylon.js são derivadas do FABRIK.</p>
<h3 id="mundos-virtuais-e-ambientes-colaborativos" tabindex="-1">Mundos virtuais e ambientes colaborativos <a class="header-anchor" href="#mundos-virtuais-e-ambientes-colaborativos" aria-label="Permalink to &quot;Mundos virtuais e ambientes colaborativos&quot;"></a></h3>
<p><strong>&quot;Jogos multijogador on-line massivos: uma visão geral do estado da arte&quot;</strong> — Yahyavi e Kemme (2013). <a href="https://doi.org/10.1145/2522968.2522972" target="_blank" rel="noreferrer">DOI</a>. Uma análise abrangente da arquitetura de MMOs, cobrindo modelos cliente-servidor, abordagens ponto a ponto, gerenciamento de interesse, modelos de consistência, técnicas de escalabilidade e prevenção de trapaças. A taxonomia dos modelos de consistência (forte, eventual, causal) corresponde à nossa abordagem baseada em CRDTs (consistência eventual com ordenação causal por meio de relógios vetoriais).</p>
<p><strong>&quot;Uma arquitetura distribuída para aplicações interativas multijogador na Internet&quot;</strong> — Diot e Gautier (1999). <a href="https://doi.org/10.1109/65.790947" target="_blank" rel="noreferrer">DOI</a>. Uma pesquisa inicial sobre ambientes virtuais distribuídos que identificou a tensão central: a consistência forte exige coordenação (aumentando a latência), enquanto a consistência fraca permite maior responsividade, mas traz o risco de inconsistências visíveis. O artigo defende o &quot;atraso local&quot; (adiar a exibição local por um curto período para dar tempo de as atualizações remotas chegarem) como um meio-termo. Para edições no mundo (posicionamento de objetos), um atraso local de 100 a 200 ms é imperceptível e dá ao servidor tempo para fazer a validação.</p>
<p><strong>&quot;A grade do Second Life: a arquitetura de um mundo virtual de código aberto quase contemporâneo&quot;</strong> — documentação técnica da Linden Lab e engenharia reversa feita pela comunidade. Embora não se trate de um único artigo, a análise técnica da arquitetura do Second Life está amplamente documentada. Os principais aprendizados: cada região de 256x256 m é executada em uma instância dedicada de servidor. Os objetos são armazenados como uma árvore de &quot;primitivas&quot; (formas básicas com transformações, texturas e scripts). O visualizador transmite sob demanda as descrições e texturas dos objetos. Esse modelo baseado em lotes e com persistência por objeto é a arquitetura existente mais próxima do que estamos construindo, e os mais de 20 anos de operação do Second Life comprovam que ela é escalável.</p>
<h3 id="graficos-para-web-e-desempenho-no-navegador" tabindex="-1">Gráficos para Web e desempenho no navegador <a class="header-anchor" href="#graficos-para-web-e-desempenho-no-navegador" aria-label="Permalink to &quot;Gráficos para Web e desempenho no navegador&quot;"></a></h3>
<p><strong>&quot;WebGPU: uma API gráfica de alto desempenho para a Web&quot;</strong> — W3C GPU for the Web Working Group (2023–em andamento). <a href="https://www.w3.org/TR/webgpu/" target="_blank" rel="noreferrer">Especificação</a>. A especificação formal do WebGPU. Não é um artigo de pesquisa, mas é o documento técnico definitivo para programação de GPU no navegador. A especificação de shaders de computação (Seção 23) é particularmente relevante para a geração de terrenos, a distribuição de vegetação e os sistemas de partículas descritos ao longo deste guia.</p>
<p><strong>&quot;WebAssembly: uma estrutura para executar código compilado no navegador&quot;</strong> — Haas et al. (PLDI 2017). <a href="https://doi.org/10.1145/3062341.3062363" target="_blank" rel="noreferrer">DOI</a>. O artigo original sobre WebAssembly, escrito pelos fornecedores de navegadores. Demonstra que o Wasm alcança um desempenho até 2 vezes inferior ao nativo em cargas de trabalho computacionalmente intensivas. Isso valida nossa recomendação de mecanismos de física compilados para Wasm (Rapier, Havok) em mundos abertos no navegador. A análise de desempenho do artigo mostra que a sobrecarga vem principalmente da verificação de limites e das chamadas indiretas de funções, e não do próprio modelo de compilação.</p>
<p><strong>&quot;Não tão rápido: uma análise do desempenho do WebAssembly em comparação com código nativo&quot;</strong> — Jangda et al. (USENIX ATC 2019). <a href="https://www.usenix.org/system/files/atc19-jangda.pdf" target="_blank" rel="noreferrer">PDF</a>. Uma avaliação rigorosa do desempenho do Wasm em comparação com o nativo. O estudo conclui que o Wasm é, em média, de 1,45 a 1,55 vez mais lento do que C nativo no conjunto de benchmarks SPEC CPU. Especificamente para a física de jogos (uso intenso de ponto flutuante e poucas chamadas ao sistema), a sobrecarga fica no limite inferior (~1,3 vez). Isso confirma que a física em Wasm no navegador é viável para cargas de trabalho de jogos em tempo real.</p>
<p><strong>&quot;Acelerando a Web com WebAssembly&quot;</strong> — Rossberg et al. (2018). <a href="https://doi.org/10.1145/3192366.3192379" target="_blank" rel="noreferrer">DOI</a>. Descreve a justificativa do projeto e a semântica formal do WebAssembly. Um ponto particularmente relevante é a discussão das garantias de segurança de memória (Seção 3), que explica por que módulos Wasm podem compartilhar com segurança uma aba do navegador com JavaScript sem os riscos de segurança dos plug-ins nativos. É isso que torna segura a execução, no navegador, de mecanismos de física que tradicionalmente eram bibliotecas em C++.</p>
<h3 id="geracao-de-conteudo-com-ia" tabindex="-1">Geração de conteúdo com IA <a class="header-anchor" href="#geracao-de-conteudo-com-ia" aria-label="Permalink to &quot;Geração de conteúdo com IA&quot;"></a></h3>
<p><strong>&quot;Geração de texto para 3D com difusão bidirecional usando conhecimentos prévios 2D e 3D&quot;</strong> — Vários grupos (2023–2025). Diversos artigos recentes (DreamFusion, Magic3D, ProlificDreamer, MVDream, Zero-1-to-3++) exploram a geração de recursos 3D a partir de prompts de texto usando modelos de difusão 2D como conhecimentos prévios para otimização 3D. A qualidade melhorou drasticamente do início de 2023 até 2025, passando de formas amorfas para malhas detalhadas e texturizadas. Em nossa plataforma, esses modelos (executados no lado do servidor em GPUs) são a etapa de &quot;geração por IA&quot; do pipeline de recursos dos criadores.</p>
<p><strong>&quot;DreamFusion: texto para 3D usando difusão 2D&quot;</strong> — Poole et al. (ICLR 2023). <a href="https://dreamfusion3d.github.io/" target="_blank" rel="noreferrer">Página do projeto</a>. O artigo fundamental sobre Score Distillation Sampling (SDS), que usa um modelo de difusão 2D pré-treinado para orientar a otimização 3D. O principal insight: não são necessários dados de treinamento 3D se for possível avaliar, usando um modelo 2D existente, se as visualizações renderizadas de um objeto 3D correspondem a um prompt de texto. Isso abriu caminho para a geração de texto para 3D e serve de base para trabalhos posteriores (Magic3D, ProlificDreamer) que melhoraram a qualidade e a velocidade.</p>
<p><strong>&quot;LRM: grande modelo de reconstrução de imagem única para 3D&quot;</strong> — Hong et al. (ICLR 2024). <a href="https://yiconghong.me/LRM/" target="_blank" rel="noreferrer">Página do projeto</a>. Reconstrói um modelo 3D a partir de uma única imagem em 5 segundos usando uma única GPU. O modelo produz uma representação semelhante a NeRF que pode ser convertida em malha. Para um mundo criado por usuários, isso significa que um criador poderia tirar uma foto de qualquer objeto do mundo real e obter um modelo 3D em segundos. A velocidade torna seu uso viável como ferramenta interativa, em vez de um processo em lote.</p>
<p><strong>&quot;Geração procedural de conteúdo por meio de aprendizado de máquina (PCGML)&quot;</strong> — Summerville et al. (2018). <a href="https://doi.org/10.1109/TG.2018.2846639" target="_blank" rel="noreferrer">DOI</a>. Uma análise do uso de aprendizado de máquina para a geração procedural de conteúdo em jogos. Abrange geração de níveis, itens, narrativas e mundos. Um ponto particularmente relevante é a discussão sobre &quot;geração controlável&quot;, na qual designers definem parâmetros de alto nível e o modelo de ML preenche os detalhes. Esse é o paradigma da criação de mundos assistida por IA: os criadores definem a intenção (&quot;transforme esta área em uma floresta assustadora&quot;) e a IA preenche a geometria, as texturas e a população.</p>
<h3 id="como-esses-artigos-se-conectam-a-nossa-arquitetura" tabindex="-1">Como esses artigos se conectam à nossa arquitetura <a class="header-anchor" href="#como-esses-artigos-se-conectam-a-nossa-arquitetura" aria-label="Permalink to &quot;Como esses artigos se conectam à nossa arquitetura&quot;"></a></h3>
<p>A pesquisa se relaciona com nossa arquitetura em camadas:</p>
<p><strong>Pipeline de terreno:</strong> o ruído Perlin/simplex (Perlin 1985, 2001) gera o mapa de altura básico. A erosão hidráulica (Mei et al. 2007) adiciona realismo geológico. Geometry clipmaps (Losasso e Hoppe 2004) ou CDLOD (Strugar 2014) renderizam o terreno com eficiência no navegador. A dispersão atmosférica (Bruneton e Neyret 2008) faz com que o terreno distante tenha a aparência correta.</p>
<p><strong>Pipeline de recursos:</strong> texto para 3D (DreamFusion et al.) e imagem para 3D (LRM) geram recursos no lado do servidor. Gaussian splatting (Kerbl et al. 2023) possibilita a captura por fotogrametria. Neuralangelo (Li et al. 2023) extrai malhas limpas de capturas neurais. Todas as saídas são processadas em GLB/KTX2 prontos para o navegador.</p>
<p><strong>Renderização:</strong> SSAO (McGuire 2012) adiciona profundidade. Reflexos em espaço de tela (McGuire e Mara 2014) viabilizam a água. Oceano por FFT (Tessendorf 2001) simula a água. Texturas de animação de vértices (Dudash 2007) renderizam multidões. FABRIK (Aristidou e Lasenby 2011) controla a IK dos personagens.</p>
<p><strong>Rede:</strong> o gerenciamento de interesse (Boulanger et al. 2006) filtra atualizações por relevância espacial. Dead reckoning (Pantel e Wolf 2002) reduz o uso de largura de banda. CRDTs (Shapiro et al. 2011) lidam com a edição colaborativa. A predição do cliente com reconciliação do servidor (Jefferson 1985, Valve Source Networking) proporciona responsividade.</p>
<p><strong>Geração de mundos:</strong> WFC (Gumin 2016, Karth e Smith 2017) gera estruturas e layouts. PCGML (Summerville et al. 2018) fornece a estrutura para geração assistida por IA, na qual os criadores definem a intenção e os modelos preenchem os detalhes.</p>
<p>A pesquisa está madura. A maioria dessas técnicas tem sido usada há anos em jogos lançados. A inovação de trazê-las para um navegador não está nos algoritmos. Está no trabalho de engenharia necessário para fazê-las funcionar dentro das limitações de memória, GPU e rede dos navegadores, que é o que o restante deste guia aborda.</p>
<h2 id="leitura-complementar" tabindex="-1">Leitura complementar <a class="header-anchor" href="#leitura-complementar" aria-label="Permalink to &quot;Leitura complementar&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/web-games-stack-2026.html">Stack tecnológico para jogos Web em 2026</a> aborda os fundamentos de WebGL, WebGPU e WebAssembly</li>
<li><a href="/pt-BR/guides/web-game-engines-comparison.html">Comparação de mecanismos de jogos Web</a> compara mecanismos para distribuição no navegador</li>
<li><a href="/pt-BR/guides/threejs-usdc-tech-report.html">Relatório técnico sobre Three.js + USDC</a> sobre o carregamento de recursos 3D no navegador</li>
<li><a href="/pt-BR/guides/frontier-gen-ai-models.html">Modelos de IA generativa de código aberto de fronteira</a> para o pipeline de geração por IA</li>
<li><a href="/pt-BR/guides/co-op-game-design.html">Design de jogos cooperativos</a> sobre padrões de design multijogador que mantêm os jogadores engajados</li>
<li><a href="/pt-BR/guides/landscape-generation-browser.html">Geração de paisagens para mundos abertos no navegador</a> — renderização de terreno, erosão e vegetação</li>
<li><a href="/pt-BR/tutorials/websocket-multiplayer-basics.html">Noções básicas de multijogador com WebSocket</a> — primeiros passos com redes multijogador no navegador</li>
<li><a href="/pt-BR/tutorials/webgpu-getting-started.html">Primeiros passos com WebGPU</a> — a API de renderização para a próxima geração de 3D no navegador</li>
<li><a href="/pt-BR/tutorials/streaming-asset-loading.html">Carregamento de recursos por streaming</a> — padrões de carregamento progressivo para grandes mundos 3D</li>
</ul>
<BuildCta
  title="Experimente agora mesmo um mundo aberto no seu navegador"
  desc="Uma frase entra, um mundo 3D explorável sai."
  prompt="Crie uma pequena ilha de mundo aberto que eu possa explorar em terceira pessoa" />
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/browser-3d-open-world-tech.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Design de Jogos Cooperativos em 2026]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/co-op-game-design</link>
            <guid>https://app.cinevva.com/pt-BR/guides/co-op-game-design</guid>
            <pubDate>Mon, 26 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[O que faz os jogos de "friend slop" funcionarem. Peak vendeu 11 milhões de cópias. Entenda por quê.]]></description>
            <content:encoded><![CDATA[<h1 id="design-de-jogos-cooperativos-em-2026" tabindex="-1">Design de Jogos Cooperativos em 2026 <a class="header-anchor" href="#design-de-jogos-cooperativos-em-2026" aria-label="Permalink to &quot;Design de Jogos Cooperativos em 2026&quot;"></a></h1>
<p>Há um termo circulando por aí que os desenvolvedores amam ou odeiam: &quot;friend slop&quot;.</p>
<p>Ele começou como um insulto. Uma forma de desprezar jogos cooperativos de baixo orçamento como produtos superficiais feitos em série para gerar clipes virais. Mas então Peak vendeu 11 milhões de cópias em dois meses. R.E.P.O. dominou a Steam. E, de repente, os desenvolvedores desses jogos começaram a adotar o rótulo.</p>
<p>&quot;Na verdade, achamos que friend slop é um termo incrível&quot;, disse Paige Wilson, da Aggro Crab, publicadora de Peak. &quot;Ele é usado para descrever um jogo barato que você e seus amigos podem abrir a qualquer momento para se divertir, passar um tempo juntos e esperar um pouco de tosqueira. Acho que algumas pessoas talvez não vejam dessa forma, mas nós vemos!&quot;</p>
<p>Veja o que aprendi sobre por que esses jogos funcionam e como você pode criar um.</p>
<h2 id="os-jogos-que-definiram-2025" tabindex="-1">Os Jogos que Definiram 2025 <a class="header-anchor" href="#os-jogos-que-definiram-2025" aria-label="Permalink to &quot;Os Jogos que Definiram 2025&quot;"></a></h2>
<div class="video-embed">
<iframe width="560" height="315" src="https://www.youtube.com/embed/Am4gM4b2UHw" title="Trailer de Lethal Company" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<p><strong>Lethal Company</strong> (2023) deu início à onda. O desenvolvedor solo Zeekerss criou um jogo de terror cooperativo no qual você coleta sucata em instalações abandonadas enquanto evita monstros. Ele vendeu milhões de cópias e deu origem a todo um gênero.</p>
<p><a href="https://store.steampowered.com/app/1966720/Lethal_Company/" target="_blank" class="campaign-link">Ver Lethal Company na Steam →</a></p>
<div class="video-embed">
<iframe width="560" height="315" src="https://www.youtube.com/embed/oSfoK8eSeD8" title="Trailer de lançamento de R.E.P.O." frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<p><strong>R.E.P.O.</strong> (2025) pegou a fórmula e a deixou mais absurda. Avatares robóticos. Física exagerada. Os jogadores juravam que era &quot;tão engraçado que ficava difícil sentir medo&quot;. Ele se tornou um dos maiores jogos cooperativos de 2025. Quando a Steam publicou sua lista anual dos mais vendidos em dezembro de 2025, R.E.P.O. apareceu como o jogo novo mais vendido do ano em número de unidades, com Peak logo atrás. Os jogos cooperativos de friend slop ocuparam as primeiras posições, superando lançamentos de alto orçamento que custaram cinco vezes mais.</p>
<p><a href="https://store.steampowered.com/app/3241660/REPO/" target="_blank" class="campaign-link">Ver R.E.P.O. na Steam →</a></p>
<div class="video-embed">
<iframe width="560" height="315" src="https://www.youtube.com/embed/6BCdx7I1gz8" title="Peak explicado" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<p><strong>Peak</strong> (2025) provou que a fórmula funciona fora do terror. Escale uma montanha com amigos. Caia. Dê risada. Tente de novo. Foram 11 milhões de cópias vendidas. O jogo foi criado em <a href="https://www.pcgamer.com/games/sim/peak-devs-say-the-hit-comedy-climber-was-pitched-in-a-swedish-hot-tub-and-developed-in-a-frantic-4-week-korean-game-jam-we-brought-our-computers-to-an-airbnb-in-hongdae-and-locked-tf-in-for-a-month/" target="_blank" rel="noreferrer">4 semanas durante uma game jam na Coreia do Sul</a>, durante a qual as equipes da Landfall e da Aggro Crab dividiram um Airbnb no bairro de Hongdae, em Seul.</p>
<p>Peak continuou adicionando conteúdo gratuito após o lançamento, introduzindo em rotação um novo bioma, Mesa, em agosto de 2025 e realizando um show por tempo limitado dentro do jogo com o rapper bbno$ em dezembro de 2025. O jogo de baixo orçamento criado em uma game jam virou um serviço contínuo em tudo, menos no nome.</p>
<p><a href="https://store.steampowered.com/app/3527290/PEAK/" target="_blank" class="campaign-link">Ver Peak na Steam →</a></p>
<h2 id="os-principios-fundamentais-de-design" tabindex="-1">Os Princípios Fundamentais de Design <a class="header-anchor" href="#os-principios-fundamentais-de-design" aria-label="Permalink to &quot;Os Princípios Fundamentais de Design&quot;"></a></h2>
<p>Depois de estudar esses jogos e ler entrevistas com seus desenvolvedores, eis o que todos eles têm em comum:</p>
<h3 id="_1-baixa-barreira-de-entrada" tabindex="-1">1. Baixa Barreira de Entrada <a class="header-anchor" href="#_1-baixa-barreira-de-entrada" aria-label="Permalink to &quot;1. Baixa Barreira de Entrada&quot;"></a></h3>
<div class="stat-box">
<strong>US$ 8 ou menos</strong><br>
A teoria de preços de Peak: "Oito dólares ainda são cinco dólares. Não viram dez dólares."
</div>
<p>Esses jogos custam menos de US$20. A maioria custa menos de US$10. Peak foi lançado por US$5 e depois passou para US$8. Os desenvolvedores tinham toda uma teoria sobre a psicologia dos preços: &quot;Oito dólares ainda são cinco dólares. Três dólares são dois dólares. Dois dólares são praticamente de graça.&quot;</p>
<p>Mas não é apenas o preço. Os jogos são fáceis de aprender. Você não precisa ter experiência prévia com jogos. Não precisa entender sistemas complexos. Seus amigos que não jogam também podem participar.</p>
<h3 id="_2-fracassar-e-engracado" tabindex="-1">2. Fracassar É Engraçado <a class="header-anchor" href="#_2-fracassar-e-engracado" aria-label="Permalink to &quot;2. Fracassar É Engraçado&quot;"></a></h3>
<p>Em Peak, nunca sobrevivi até o fim de uma partida. Mesmo assim, continuo jogando.</p>
<p>Os momentos mais divertidos não são as vitórias. São aqueles em que você vê seu amigo errar um salto e cair da montanha. Comer algo venenoso. Ser perseguido pelo chefe dos escoteiros.</p>
<p>Crie estados de fracasso cômicos. Faça com que seja possível assistir à morte dos outros jogadores. Deixe que eles riam uns dos outros.</p>
<h3 id="_3-chat-por-proximidade" tabindex="-1">3. Chat por Proximidade <a class="header-anchor" href="#_3-chat-por-proximidade" aria-label="Permalink to &quot;3. Chat por Proximidade&quot;"></a></h3>
<p>Quase todo jogo de friend slop bem-sucedido tem chat de voz por proximidade. Sua voz fica mais baixa conforme você se afasta dos colegas de equipe. A boca dos personagens se sincroniza com o que você está dizendo.</p>
<p>Isso cria uma comédia natural. Alguém gritando por socorro à distância. Conversas sussurradas. O pânico quando você percebe que se afastou demais e ficou sozinho.</p>
<h3 id="_4-fisica-tosca-de-proposito" tabindex="-1">4. Física Tosca (de Propósito) <a class="header-anchor" href="#_4-fisica-tosca-de-proposito" aria-label="Permalink to &quot;4. Física Tosca (de Propósito)&quot;"></a></h3>
<p>A física instável e imprevisível não é um conjunto de bugs. É parte do jogo.</p>
<p>Quando seu personagem desaba como um boneco de pano inesperadamente, é engraçado. Quando os objetos quicam de formas estranhas, isso cria histórias. A tosqueira é o conteúdo.</p>
<h3 id="_5-momentos-compartilhaveis" tabindex="-1">5. Momentos Compartilháveis <a class="header-anchor" href="#_5-momentos-compartilhaveis" aria-label="Permalink to &quot;5. Momentos Compartilháveis&quot;"></a></h3>
<p>Esses jogos são projetados para gerar clipes. Twitch. TikTok. YouTube Shorts.</p>
<p>Toda sessão produz momentos que vale a pena compartilhar. O algoritmo adora. Os jogadores viram profissionais de marketing sem perceber.</p>
<h2 id="o-que-os-torna-diferentes-dos-jogos-cooperativos-tradicionais" tabindex="-1">O que os Torna Diferentes dos Jogos Cooperativos Tradicionais <a class="header-anchor" href="#o-que-os-torna-diferentes-dos-jogos-cooperativos-tradicionais" aria-label="Permalink to &quot;O que os Torna Diferentes dos Jogos Cooperativos Tradicionais&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Cooperativo Tradicional</th>
<th>Friend Slop</th>
</tr>
</thead>
<tbody>
<tr>
<td>Vencer é o objetivo</td>
<td>Passar um tempo juntos é o objetivo</td>
</tr>
<tr>
<td>Exige habilidade</td>
<td>Qualquer pessoa pode jogar</td>
</tr>
<tr>
<td>O modo solo funciona</td>
<td>O modo solo é triste</td>
</tr>
<tr>
<td>Movido pela história</td>
<td>Movido pelos momentos</td>
</tr>
<tr>
<td>US$ 40–60</td>
<td>US$ 5–20</td>
</tr>
<tr>
<td>Refinado</td>
<td>Intencionalmente tosco</td>
</tr>
</tbody>
</table>
<p>A análise do The Verge foi certeira: &quot;No friend slop, o objetivo principal é o humor. Vencer é secundário.&quot;</p>
<h2 id="a-questao-da-solidao" tabindex="-1">A Questão da Solidão <a class="header-anchor" href="#a-questao-da-solidao" aria-label="Permalink to &quot;A Questão da Solidão&quot;"></a></h2>
<p>Há algo que os críticos não percebem quando descartam esses jogos como &quot;lixo&quot;.</p>
<p>Estamos vivendo uma epidemia de solidão. As pessoas estão isoladas. O trabalho remoto dispersou grupos de amigos. Esses jogos dão às pessoas um motivo para passar um tempo juntas virtualmente. São espaços sociais que exigem pouco compromisso.</p>
<p>Como escreveu um autor: &quot;um caminho real para a salvação em tempos de divisão e isolamento&quot;.</p>
<p>Isso não é pouca coisa.</p>
<h2 id="a-economia" tabindex="-1">A Economia <a class="header-anchor" href="#a-economia" aria-label="Permalink to &quot;A Economia&quot;"></a></h2>
<div class="stat-box">
<strong>4 semanas → 11 milhões de cópias</strong><br>
Peak foi desenvolvido durante uma game jam de um mês na Coreia do Sul.
</div>
<p>Esses jogos são baratos de produzir. Equipes pequenas. Ciclos curtos de desenvolvimento. Gráficos de baixa fidelidade que os jogadores realmente preferem por serem charmosos.</p>
<p>Content Warning exigiu uma equipe pequena e pouco tempo. Peak foi um projeto de game jam. R.E.P.O. veio de um estúdio que cria jogos experimentais.</p>
<p>Os estúdios por trás desses sucessos não estão desacelerando. A Aggro Crab, codesenvolvedora de Peak, lançou seu jogo cooperativo seguinte, Crashout Crew, em 28 de maio de 2026: um simulador caótico de armazém com empilhadeiras para um a quatro jogadores, lançado na Steam e no Xbox Game Pass. A mesma receita: equipe pequena, caos movido por física e design pensado para jogar com amigos.</p>
<p>A conta fecha: baixo investimento, grande potencial de retorno e um gênero que recompensa a autenticidade em vez do refinamento.</p>
<h2 id="exemplos-notaveis" tabindex="-1">Exemplos Notáveis <a class="header-anchor" href="#exemplos-notaveis" aria-label="Permalink to &quot;Exemplos Notáveis&quot;"></a></h2>
<p><strong>Os Essenciais:</strong></p>
<ul>
<li>Among Us (2018) — o protótipo</li>
<li>Phasmophobia (2020) — caça a fantasmas com chat por proximidade</li>
<li>Lethal Company (2023) — o jogo que definiu o gênero</li>
<li>Content Warning (2024) — filmar monstros para conseguir visualizações</li>
<li>Peak (2025) — caos na escalada</li>
<li>R.E.P.O. (2025) — extração de terror absurda</li>
<li>Crashout Crew (2026) — caos cooperativo com empilhadeiras da Aggro Crab, codesenvolvedora de Peak</li>
<li>Gamble With Your Friends (2026) — jogo de festa que vendeu um milhão de cópias na primeira semana, provando que o gênero continuou avançando em 2026</li>
</ul>
<p><strong>Os Experimentos:</strong></p>
<ul>
<li>Guilty as Sock! — drama de tribunal com fantoches de meia</li>
<li>Mage Arena — US$ 2,99, lance feitiços gritando</li>
<li>Lockdown Protocol — Among Us encontra um simulador de tarefas</li>
<li>YAPYAP — magos vandalizando uma torre</li>
</ul>
<h2 id="por-que-os-jogos-web-sao-perfeitos-para-isso" tabindex="-1">Por que os Jogos Web São Perfeitos para Isso <a class="header-anchor" href="#por-que-os-jogos-web-sao-perfeitos-para-isso" aria-label="Permalink to &quot;Por que os Jogos Web São Perfeitos para Isso&quot;"></a></h2>
<p>É aqui que a coisa fica interessante para desenvolvedores de jogos para navegador.</p>
<p>Jogos de friend slop têm dois requisitos: baixa barreira de entrada e multiplayer instantâneo. Jogos web atendem perfeitamente aos dois.</p>
<p>Sem downloads. Sem instalações. Compartilhe um link e todos estarão jogando em 30 segundos. Esse é o sonho para jogos cooperativos.</p>
<p>Os desafios técnicos — multiplayer com WebSocket, sincronização de física e chat de voz — podem ser resolvidos. Temos <a href="/pt-BR/tutorials/websocket-multiplayer-basics.html">tutoriais de WebSocket</a> por um motivo.</p>
<p>A questão maior é o design. Você consegue criar momentos que vale a pena compartilhar? Consegue tornar o fracasso engraçado? Consegue dar aos amigos um motivo para passarem tempo juntos no seu jogo?</p>
<h2 id="se-voce-estiver-criando-um" tabindex="-1">Se Você Estiver Criando um <a class="header-anchor" href="#se-voce-estiver-criando-um" aria-label="Permalink to &quot;Se Você Estiver Criando um&quot;"></a></h2>
<p><strong>Comece pelo loop social.</strong> Sobre o que os jogadores conversarão depois? Que histórias contarão? Projete pensando nesses momentos.</p>
<p><strong>Aceite a tosqueira.</strong> Você não precisa do refinamento de um jogo AAA. Os jogadores preferem charme. Ragdolls são seus amigos.</p>
<p><strong>Cobre pouco.</strong> US$ 5–10 é a faixa ideal. Você quer que grupos inteiros de amigos comprem o jogo. Quatro cópias a US$ 8 são melhores do que uma cópia a US$ 30.</p>
<p><strong>Adicione chat por proximidade.</strong> É praticamente obrigatório. Os jogadores já esperam isso.</p>
<p><strong>Faça com que renda clipes.</strong> Se ninguém estiver compartilhando clipes do seu jogo, você estará perdendo marketing gratuito.</p>
<p><strong>Teste com grupos de amigos de verdade.</strong> Testes solo não mostrarão se as dinâmicas sociais funcionam.</p>
<p>Os jogos que vencem não são os mais refinados. São aqueles que dão aos amigos um motivo para rirem juntos.</p>
<hr>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas Frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas Frequentes&quot;"></a></h2>
<h3 id="o-que-torna-um-jogo-cooperativo-bom" tabindex="-1">O que torna um jogo cooperativo bom? <a class="header-anchor" href="#o-que-torna-um-jogo-cooperativo-bom" aria-label="Permalink to &quot;O que torna um jogo cooperativo bom?&quot;"></a></h3>
<p>Os melhores jogos cooperativos criam situações em que os jogadores precisam uns dos outros, mas também atrapalham uns aos outros. Você quer momentos de caos que se transformem em histórias que as pessoas recontarão depois. Uma baixa exigência de habilidade ajuda, porque ninguém quer ser o amigo que não consegue entender os controles. Estados de fracasso engraçados importam mais do que você imagina. Quando perder é divertido, as pessoas continuam jogando. O chat de voz por proximidade adiciona uma camada que o chat de texto não consegue reproduzir. E mantenha as sessões curtas, entre 15 e 30 minutos, para que as pessoas possam jogar algumas rodadas à noite sem que isso pareça um compromisso.</p>
<h3 id="por-que-os-jogos-cooperativos-estao-tao-populares-agora" tabindex="-1">Por que os jogos cooperativos estão tão populares agora? <a class="header-anchor" href="#por-que-os-jogos-cooperativos-estao-tao-populares-agora" aria-label="Permalink to &quot;Por que os jogos cooperativos estão tão populares agora?&quot;"></a></h3>
<p>Alguns fatores se juntaram. Lethal Company provou em 2023 que um desenvolvedor solo poderia criar um jogo cooperativo e vender milhões de cópias. Depois, Peak alcançou 11 milhões de cópias em 2025 como um jogo que começou em uma game jam. Ficou difícil ignorar a viabilidade econômica. Esses jogos são baratos de produzir, espalham-se pelos grupos de amigos como fogo e geram clipes que viralizam nas redes sociais. O gênero &quot;friend slop&quot;, como é chamado, recompensa a autenticidade em vez do refinamento. Você não precisa de um estúdio grande nem de um orçamento enorme. Precisa de momentos engraçados e amigos que queiram compartilhá-los.</p>
<h3 id="e-possivel-criar-um-jogo-cooperativo-para-navegador" tabindex="-1">É possível criar um jogo cooperativo para navegador? <a class="header-anchor" href="#e-possivel-criar-um-jogo-cooperativo-para-navegador" aria-label="Permalink to &quot;É possível criar um jogo cooperativo para navegador?&quot;"></a></h3>
<p>Com certeza. Na verdade, jogos para navegador combinam muito bem com o modo cooperativo, porque a maior barreira para jogar com amigos é fazer com que todos preparem tudo. Com um jogo web, você compartilha um link e todos entram. Sem downloads, sem versões incompatíveis, sem &quot;espera aí, preciso atualizar&quot;. Os componentes técnicos — multiplayer com WebSocket, sincronização de física e até chat de voz básico por WebRTC — podem ser implementados no navegador. Temos um <a href="/pt-BR/tutorials/websocket-multiplayer-basics.html">tutorial de multiplayer com WebSocket</a> que aborda a parte de rede.</p>
<hr>
<p><strong>Relacionado:</strong></p>
<ul>
<li><a href="/pt-BR/tutorials/websocket-multiplayer-basics.html">Fundamentos do Multiplayer com WebSocket</a></li>
<li><a href="/pt-BR/guides/steam-next-fest-strategy.html">Estratégia para o Steam Next Fest</a></li>
<li><a href="/pt-BR/guides/kickstarter-for-indie-games.html">Kickstarter para Jogos Independentes</a></li>
<li><a href="/pt-BR/tutorials/gamepad-api.html">API de Gamepad</a> — modo cooperativo local com vários controles</li>
<li><a href="/pt-BR/guides/game-jams-hackathons.html">Game Jams e Hackathons</a> — jogos cooperativos de game jam recebem mais avaliações e compartilhamentos</li>
<li><a href="/pt-BR/guides/itch-io-launch-guide.html">Como Lançar seu Jogo no itch.io</a> — jogos cooperativos para navegador prosperam no itch.io</li>
</ul>
<BuildCta
  title="Crie sozinho o protótipo da sua ideia cooperativa"
  desc="Comece com a mecânica central de dois personagens e teste o loop do quebra-cabeça."
  prompt="Crie um jogo de quebra-cabeça no qual eu controlo dois personagens e alterno entre eles para acionar interruptores" />
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/co-op-game-design.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Kickstarter para jogos indie em 2026]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/kickstarter-for-indie-games</link>
            <guid>https://app.cinevva.com/pt-BR/guides/kickstarter-for-indie-games</guid>
            <pubDate>Mon, 26 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[O que os dados realmente mostram, quem está tendo sucesso, quem está fracassando e se o financiamento coletivo faz sentido para o seu jogo.]]></description>
            <content:encoded><![CDATA[<h1 id="kickstarter-para-jogos-indie-em-2026" tabindex="-1">Kickstarter para jogos indie em 2026 <a class="header-anchor" href="#kickstarter-para-jogos-indie-em-2026" aria-label="Permalink to &quot;Kickstarter para jogos indie em 2026&quot;"></a></h1>
<p>Vamos falar sobre o que realmente está acontecendo com o financiamento coletivo de jogos agora, porque a percepção não bate com os dados.</p>
<p>A era de ouro acabou. Em 2013, os videogames arrecadaram US$ 51 milhões no Kickstarter. Em 2024, esse valor caiu para US$ 25,2 milhões, com praticamente o mesmo número de campanhas. O bolo encolheu pela metade, mas a quantidade de pessoas disputando uma fatia quase não mudou. É essa a conta que você vai enfrentar.</p>
<p>Mesmo assim, os desenvolvedores continuam recorrendo ao Kickstarter. As publishers estão dizendo não. Os investidores se assustaram com a onda de demissões. Cerca de 15 mil empregos na indústria de jogos desapareceram somente em 2024, e os levantamentos indicam que o número real provavelmente é maior, já que nem todo corte é divulgado. Para muitas equipes, o financiamento coletivo já não é mais o plano A. É a alternativa quando todo o resto dá errado.</p>
<h2 id="duas-historias-de-2025" tabindex="-1">Duas histórias de 2025 <a class="header-anchor" href="#duas-historias-de-2025" aria-label="Permalink to &quot;Duas histórias de 2025&quot;"></a></h2>
<h3 id="a-que-deu-certo" tabindex="-1">A que deu certo <a class="header-anchor" href="#a-que-deu-certo" aria-label="Permalink to &quot;A que deu certo&quot;"></a></h3>
<div class="video-embed">
<iframe width="560" height="315" src="https://www.youtube.com/embed/mrvpsBjg4nI" title="Trailer de Elestrals Awakened" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<p><strong>Elestrals Awakened</strong> arrecadou mais de US$ 1,3 milhão com mais de 9 mil apoiadores, tornando-se o videogame com maior financiamento no Kickstarter em 2025. A equipe por trás dele? Um ex-narrador do Campeonato Pokémon com quase um milhão de inscritos no YouTube e dois Kickstarters bem-sucedidos no currículo (um jogo de cartas colecionáveis e sua versão digital). Eles tinham público. Tinham um histórico comprovado. Tinham anos de construção de comunidade antes mesmo de pedir dinheiro.</p>
<p><a href="https://www.kickstarter.com/projects/elestrals/elestrals-awakened" target="_blank" class="campaign-link">Ver o Kickstarter de Elestrals Awakened →</a></p>
<h3 id="a-que-nao-deu-certo" tabindex="-1">A que não deu certo <a class="header-anchor" href="#a-que-nao-deu-certo" aria-label="Permalink to &quot;A que não deu certo&quot;"></a></h3>
<div class="video-embed">
<iframe width="560" height="315" src="https://www.youtube.com/embed/dAzaaBUqki4" title="Trailer de Alzara Radiant Echoes" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<p><strong>Alzara: Radiant Echoes</strong> arrecadou € 300 mil com mais de 5 mil apoiadores em 2024. Foi uma das campanhas de videogame com mais apoiadores naquele ano. O estúdio Camelia encerrou as atividades em abril de 2025. Sem jogo. Sem reembolsos. A equipe tinha uma demo jogável, profissionais seniores, metade do financiamento garantido e o sucesso no Kickstarter como prova do interesse do mercado. Apresentaram o projeto na Tokyo Game Show, na DICE e em todos os eventos da indústria que encontraram. Ninguém se interessou.</p>
<blockquote>
<p>&quot;Isso faz parte da dura realidade da indústria. Às vezes, nem mesmo ter um conceito de jogo promissor, com interesse de mercado comprovado e uma equipe forte, é suficiente.&quot;</p>
<p>— Studio Camelia, atualização final aos apoiadores</p>
</blockquote>
<p><a href="https://www.kickstarter.com/projects/studiocamelia/seed-a-vibrant-tribute-to-jrpg-classics" target="_blank" class="campaign-link">Ver o Kickstarter de Alzara (arquivado) →</a></p>
<p>Duas campanhas. Ambas &quot;bem-sucedidas&quot; pela definição do Kickstarter. Uma delas não entregou nada. A diferença não foi o dinheiro arrecadado. Foi tudo o que veio antes.</p>
<h2 id="os-numeros-que-importam" tabindex="-1">Os números que importam <a class="header-anchor" href="#os-numeros-que-importam" aria-label="Permalink to &quot;Os números que importam&quot;"></a></h2>
<p>Os dados de 17 mil campanhas no Kickstarter desde 2009 contam uma história clara:</p>
<p><strong>O tamanho da meta prevê o sucesso.</strong> Nenhuma das 15 campanhas que buscavam US$ 2,5 milhões ou mais foi bem-sucedida. Mas jogos com metas abaixo de US$ 500 mil frequentemente superaram as expectativas. Shenmue 3 pediu US$ 2 milhões e conseguiu US$ 6,3 milhões. Bloodstained pediu US$ 500 mil e conseguiu US$ 5,5 milhões. Defina uma meta que mobilize as pessoas e depois a ultrapasse com folga.</p>
<p><strong>O momento importa.</strong> Dezembro é o pior mês para lançar uma campanha (taxa de sucesso de 28%). Fevereiro é o melhor (35%). A média geral é de 32%. Sim, dois terços das campanhas fracassam.</p>
<p><strong>A maior parte do dinheiro vem de campanhas modestas.</strong> 81,8% de todos os valores arrecadados vieram de campanhas com metas de US$ 500 mil ou menos. 68,1% vieram de campanhas abaixo de US$ 250 mil. As megacampanhas viram manchete, mas são as de médio porte que realmente conseguem financiamento.</p>
<p>Os números de 2025 já foram divulgados e contam uma história mais complexa do que o longo declínio. Os videogames tiveram 443 campanhas bem-sucedidas em 2025, arrecadando pouco menos dos cerca de US$ 26 milhões de 2024. A mudança interessante aconteceu no topo: 11 campanhas ultrapassaram US$ 500 mil, o maior número nessa faixa desde 2015 e mais que o dobro da quantidade de 2024. O volume total não está crescendo, mas as campanhas grandes e bem preparadas estão voltando.</p>
<h2 id="o-que-us-50-mil-realmente-compram" tabindex="-1">O que US$ 50 mil realmente compram <a class="header-anchor" href="#o-que-us-50-mil-realmente-compram" aria-label="Permalink to &quot;O que US$ 50 mil realmente compram&quot;"></a></h2>
<div class="video-embed">
<iframe width="560" height="315" src="https://www.youtube.com/embed/BoqbkWJqlVY" title="Trailer do Kickstarter de Space Chef" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<p>Veja este post-mortem da equipe de <strong>Space Chef</strong>, que arrecadou US$ 50 mil com 1.119 apoiadores:</p>
<blockquote>
<p>&quot;Para conseguir US$ 50 mil, tivemos que gastar mais de US$ 20 mil em marketing, anúncios e criadores de conteúdo. O trailer levou 3 meses para ficar pronto. O Kickstarter não é dinheiro grátis. É um compromisso de vários anos com centenas de pessoas.&quot;</p>
</blockquote>
<p>As contas da equipe:</p>
<table tabindex="0">
<thead>
<tr>
<th>Item</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr>
<td>Arrecadado</td>
<td>US$ 50.000</td>
</tr>
<tr>
<td>Marketing</td>
<td>-US$ 20.000</td>
</tr>
<tr>
<td>Taxas e impostos</td>
<td>-US$ 4.000</td>
</tr>
<tr>
<td><strong>Restante para o desenvolvimento</strong></td>
<td><strong>US$ 26.000</strong></td>
</tr>
</tbody>
</table>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 380" role="img" aria-label="Destino de uma arrecadação de 50 mil dólares no Kickstarter: 50 mil dólares arrecadados, menos 20 mil para marketing, menos 4 mil para taxas e impostos, restando 26 mil dólares para o desenvolvimento" style="width:100%;height:auto;max-width:720px;margin:1.5rem auto;display:block;border-radius:14px">
  <rect width="720" height="380" rx="14" fill="#0b1020"/>
  <text x="32" y="44" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="20" font-weight="800" fill="#e8edf5">Para onde realmente vão os US$ 50 mil</text>
  <text x="32" y="68" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="13" fill="#9aa7b4">Space Chef, US$ 50 mil de 1.119 apoiadores. Fonte: post-mortem do desenvolvedor.</text>
  <g font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="11" fill="#5b6472">
    <g stroke="#ffffff" stroke-opacity="0.07">
      <line x1="70" y1="100" x2="690" y2="100"/>
      <line x1="70" y1="140" x2="690" y2="140"/>
      <line x1="70" y1="180" x2="690" y2="180"/>
      <line x1="70" y1="220" x2="690" y2="220"/>
      <line x1="70" y1="260" x2="690" y2="260"/>
    </g>
    <line x1="70" y1="300" x2="690" y2="300" stroke="#ffffff" stroke-opacity="0.16"/>
    <text x="60" y="104" text-anchor="end">US$ 50 mil</text>
    <text x="60" y="144" text-anchor="end">US$ 40 mil</text>
    <text x="60" y="184" text-anchor="end">US$ 30 mil</text>
    <text x="60" y="224" text-anchor="end">US$ 20 mil</text>
    <text x="60" y="264" text-anchor="end">US$ 10 mil</text>
    <text x="60" y="304" text-anchor="end">US$ 0</text>
  </g>
  <g font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif">
    <g stroke="#9aa7b4" stroke-opacity="0.45" stroke-dasharray="4 4">
      <line x1="200" y1="100" x2="250" y2="100"/>
      <line x1="360" y1="180" x2="410" y2="180"/>
      <line x1="520" y1="196" x2="570" y2="196"/>
    </g>
    <rect x="90" y="100" width="110" height="200" rx="6" fill="#7dd3fc"/>
    <rect x="250" y="100" width="110" height="80" rx="6" fill="#fb7185"/>
    <rect x="410" y="180" width="110" height="16" rx="4" fill="#fb7185"/>
    <rect x="570" y="196" width="110" height="104" rx="6" fill="#6ee7b7"/>
    <g text-anchor="middle" font-weight="800" font-size="14">
      <text x="145" y="92" fill="#7dd3fc">US$ 50.000</text>
      <text x="305" y="92" fill="#fb7185">&#8722;US$ 20.000</text>
      <text x="465" y="172" fill="#fb7185">&#8722;US$ 4.000</text>
      <text x="625" y="188" fill="#6ee7b7">US$ 26.000</text>
    </g>
    <g text-anchor="middle" font-size="12.5" font-weight="700" fill="#e8edf5">
      <text x="145" y="322">Arrecadado</text>
      <text x="305" y="322">Marketing</text>
      <text x="465" y="322">Taxas e impostos</text>
      <text x="625" y="322">Para desenvolvimento</text>
    </g>
  </g>
</svg>
<p>A US$ 20 por hora, isso equivale a 1.300 horas. Cerca de 32 semanas. Nem perto do suficiente para concluir o jogo.</p>
<p>No fim, eles conseguiram investimento de uma publisher para terminá-lo. O Kickstarter não financiou o jogo. Ele provou que valia a pena financiá-lo.</p>
<p><a href="https://www.kickstarter.com/projects/bluegoogames/space-chef" target="_blank" class="campaign-link">Ver o Kickstarter de Space Chef →</a></p>
<h2 id="quando-faz-sentido" tabindex="-1">Quando faz sentido <a class="header-anchor" href="#quando-faz-sentido" aria-label="Permalink to &quot;Quando faz sentido&quot;"></a></h2>
<p>O Kickstarter funciona quando você o usa para validação, não como salvação.</p>
<p><strong>Bons motivos para fazer uma campanha:</strong></p>
<ul>
<li>Você tem um público que já está pedindo pelo seu jogo</li>
<li>Precisa comprovar a demanda do mercado para atrair uma publisher</li>
<li>Quer construir uma comunidade que está literalmente investindo no seu sucesso</li>
<li>Tem um histórico comprovado (jogos anteriores, projetos bem-sucedidos ou conhecimento especializado visível)</li>
</ul>
<p><strong>Motivos ruins:</strong></p>
<ul>
<li>Você precisa do dinheiro para começar o desenvolvimento</li>
<li>Não tem um público existente</li>
<li>Espera que a própria campanha gere visibilidade</li>
<li>Não pode se dar ao luxo de fracassar</li>
</ul>
<h2 id="as-verdades-brutais" tabindex="-1">As verdades brutais <a class="header-anchor" href="#as-verdades-brutais" aria-label="Permalink to &quot;As verdades brutais&quot;"></a></h2>
<p><strong>Você provavelmente não conseguirá terminar seu jogo apenas com o dinheiro do Kickstarter.</strong> A maioria das campanhas bem-sucedidas cobre de 25% a 50% dos custos reais de desenvolvimento. O restante vem de publishers, editais, economias ou empregos paralelos.</p>
<p><strong>Se você fracassar, seus apoiadores não poderão receber reembolso.</strong> Eles sabem disso. Por isso, estão cada vez mais desconfiados de criadores de primeira viagem. Estúdios que já lançaram jogos ou têm um histórico comprovado conquistam mais confiança.</p>
<p><strong>Gerenciar uma campanha é um trabalho em tempo integral.</strong> Atualizações a cada poucos dias. Mensagens dos apoiadores. Contato com a imprensa. Planejamento de metas estendidas. Redes sociais. Por mais de 30 dias, você não estará fazendo seu jogo. Estará fazendo o marketing dele.</p>
<p><strong>A taxa de sucesso é de 32%.</strong> Isso significa que 68% das campanhas fracassam. Se você lançar sem preparação, é quase certo que fará parte desses 68%.</p>
<h2 id="se-voce-ainda-quer-tentar" tabindex="-1">Se você ainda quer tentar <a class="header-anchor" href="#se-voce-ainda-quer-tentar" aria-label="Permalink to &quot;Se você ainda quer tentar&quot;"></a></h2>
<p>Faça isto antes de lançar:</p>
<ol>
<li>
<p><strong>Construa seu público primeiro.</strong> De 1.000 a 2.000 pessoas que realmente querem seu jogo. Discord, lista de e-mails, seguidores nas redes sociais. O que funcionar.</p>
</li>
<li>
<p><strong>Tenha algo jogável.</strong> Uma demo, uma fatia vertical, qualquer coisa. Os jogadores já se decepcionaram vezes demais. Mostrar é melhor do que prometer.</p>
</li>
<li>
<p><strong>Defina uma meta que realmente possa alcançar.</strong> Peça o que precisa para terminar, não o que gostaria de ter. Alcance a meta rapidamente e depois busque as metas estendidas.</p>
</li>
<li>
<p><strong>Planeje o trabalho posterior.</strong> Atualizações. Entrega das recompensas. Anos de desenvolvimento com pessoas acompanhando. Isso não é uma transação. É um relacionamento.</p>
</li>
</ol>
<p>As equipes que conseguem sucesso tratam o Kickstarter como o começo de uma conversa, não como o fim de um problema de captação de recursos. Todas as outras o tratam como um bilhete de loteria.</p>
<p>Não seja um bilhete de loteria.</p>
<hr>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="o-kickstarter-ainda-vale-a-pena-para-jogos-indie" tabindex="-1">O Kickstarter ainda vale a pena para jogos indie? <a class="header-anchor" href="#o-kickstarter-ainda-vale-a-pena-para-jogos-indie" aria-label="Permalink to &quot;O Kickstarter ainda vale a pena para jogos indie?&quot;"></a></h3>
<p>Depende do que você tem a oferecer. Se já tem um público, uma demo jogável e expectativas realistas, pode funcionar. A taxa de sucesso das campanhas de videogames fica em torno de 32%, o que não é uma probabilidade muito animadora. Mas equipes com comunidades existentes e históricos comprovados têm resultados muito melhores do que essa média. A verdadeira questão é se você fez o trabalho de base. Se lançar do zero, sem seguidores, suas chances serão baixas.</p>
<h3 id="quanto-dinheiro-jogos-indie-arrecadam-no-kickstarter" tabindex="-1">Quanto dinheiro jogos indie arrecadam no Kickstarter? <a class="header-anchor" href="#quanto-dinheiro-jogos-indie-arrecadam-no-kickstarter" aria-label="Permalink to &quot;Quanto dinheiro jogos indie arrecadam no Kickstarter?&quot;"></a></h3>
<p>O volume total destinado a videogames no Kickstarter vem diminuindo. Ele atingiu o pico de cerca de US$ 51 milhões em 2013 e caiu para aproximadamente US$ 25,2 milhões em 2024. A maioria das campanhas bem-sucedidas arrecada entre US$ 10 mil e US$ 50 mil. O que as pessoas esquecem é quanto desse valor desaparece. O Kickstarter cobra cerca de 5%, o processamento de pagamentos leva outros 3% a 5% e ainda há produção e envio de recompensas, frete e impostos. Uma campanha que arrecada US$ 50 mil pode deixar apenas US$ 26 mil como verba realmente disponível.</p>
<h3 id="qual-porcentagem-das-campanhas-de-jogos-no-kickstarter-fracassa" tabindex="-1">Qual porcentagem das campanhas de jogos no Kickstarter fracassa? <a class="header-anchor" href="#qual-porcentagem-das-campanhas-de-jogos-no-kickstarter-fracassa" aria-label="Permalink to &quot;Qual porcentagem das campanhas de jogos no Kickstarter fracassa?&quot;"></a></h3>
<p>Cerca de 68% das campanhas de videogames no Kickstarter não atingem a meta de financiamento. Esse número permaneceu bastante consistente ao longo dos anos. As campanhas que fracassam geralmente têm alguns pontos em comum: nenhum público existente, nenhuma demo jogável, metas de financiamento pouco realistas ou lançamento em um período concorrido sem nenhuma forma de se destacar.</p>
<hr>
<p><strong>Conteúdo relacionado:</strong></p>
<ul>
<li><a href="/pt-BR/guides/itch-io-launch-guide.html">Como lançar seu jogo no itch.io</a></li>
<li><a href="/pt-BR/guides/game-jams-hackathons.html">Guia de game jams e hackathons</a></li>
<li><a href="/pt-BR/guides/steam-next-fest-strategy.html">Estratégia para o Steam Next Fest</a> — como gerar listas de desejos antes e durante o financiamento coletivo</li>
<li><a href="/pt-BR/guides/co-op-game-design.html">Design de jogos cooperativos</a> — jogos cooperativos geram compartilhamento social orgânico que ajuda as campanhas</li>
</ul>
<BuildCta
  title="Apoiadores financiam o que é jogável, não o que foi prometido"
  desc="Um link para uma demo ao vivo na sua apresentação é mais convincente do que arte conceitual."
  prompt="Crie uma fase de demonstração jogável para um jogo aconchegante de exploração" />
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/kickstarter-for-indie-games.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Estratégia para o Steam Next Fest em 2026]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/steam-next-fest-strategy</link>
            <guid>https://app.cinevva.com/pt-BR/guides/steam-next-fest-strategy</guid>
            <pubDate>Mon, 26 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[O que os dados revelam sobre listas de desejos, demos e timing no Steam Next Fest, com números reais de mais de 200 jogos e o que realmente impulsiona a visibilidade.]]></description>
            <content:encoded><![CDATA[<h1 id="estrategia-para-o-steam-next-fest-em-2026" tabindex="-1">Estratégia para o Steam Next Fest em 2026 <a class="header-anchor" href="#estrategia-para-o-steam-next-fest-em-2026" aria-label="Permalink to &quot;Estratégia para o Steam Next Fest em 2026&quot;"></a></h1>
<p><em>Última atualização: julho de 2026.</em></p>
<div class="stat-box">
<strong>Calendário de 2026</strong><br>
O Next Fest de junho de 2026 aconteceu de 15 a 22 de junho e bateu um recorde com quase 5.000 demos jogáveis (<a href="https://partner.steamgames.com/doc/marketing/upcoming_events/nextfest/2026june" target="_blank">Steamworks</a>), o que apenas reforçou o ponto abaixo: com tanta concorrência, as demos que se destacaram foram aquelas que já chegaram com um público. A próxima edição, em <a href="https://partner.steamgames.com/doc/marketing/upcoming_events/nextfest/2026october" target="_blank">outubro de 2026</a>, acontece de 19 a 26 de outubro. Lembre-se de que um jogo só pode participar de um único Next Fest, então escolha a edição mais adequada à sua janela de lançamento.
</div>
<p>A questão do Next Fest é a seguinte: todo mundo o trata como uma loteria. Você publica sua demo, cruza os dedos e torce para o algoritmo sorrir para você. Não é assim que funciona.</p>
<p>Tenho lido análises pós-mortem de forma obsessiva. Centenas delas só de 2025. O padrão é tão consistente que chega a ser entediante: os jogos que “vencem” o Next Fest não descobrem o sucesso durante o festival. Eles amplificam um impulso que já haviam construído.</p>
<p>Deixe-me mostrar o que quero dizer.</p>
<h2 id="a-formula-que-ninguem-quer-ouvir" tabindex="-1">A fórmula que ninguém quer ouvir <a class="header-anchor" href="#a-formula-que-ninguem-quer-ouvir" aria-label="Permalink to &quot;A fórmula que ninguém quer ouvir&quot;"></a></h2>
<div class="stat-box">
<strong>Listas de desejos antes × 2 = listas de desejos conquistadas</strong><br>
Essa proporção aparece em uma análise pós-mortem após a outra.
</div>
<p>Eilean Mor entrou em outubro de 2025 com 2.117 listas de desejos. Conquistou 2.082 durante o festival. Quase exatamente 2×.</p>
<div class="video-embed">
<iframe width="560" height="315" src="https://www.youtube.com/embed/jFv7SjsQEws" title="Trailer de Eilean Mor: The Lost Keepers" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<p>Dice of Kalma entrou com 335 listas de desejos. Conquistou 659. Pouco menos de 2×. O desenvolvedor escreveu: “Nossas listas de desejos quase triplicaram, o que é incrível, mas ainda temos muito trabalho pela frente.”</p>
<p>Essa é a verdade incômoda. O Next Fest dobra o que você já tem. Se você não tem nada, o dobro continua sendo nada.</p>
<p><a href="https://store.steampowered.com/app/3871570/Eilean_Mor_The_Lost_Keepers/" target="_blank" class="campaign-link">Ver Eilean Mor no Steam →</a></p>
<h2 id="o-abismo-das-2-000-listas-de-desejos" tabindex="-1">O abismo das 2.000 listas de desejos <a class="header-anchor" href="#o-abismo-das-2-000-listas-de-desejos" aria-label="Permalink to &quot;O abismo das 2.000 listas de desejos&quot;"></a></h2>
<p>Dados de 208 jogos em fevereiro de 2025 mostram um ponto de virada acentuado nas 2.000 listas de desejos.</p>
<table tabindex="0">
<thead>
<tr>
<th>Listas de desejos iniciais</th>
<th>O que acontece</th>
</tr>
</thead>
<tbody>
<tr>
<td>Menos de 1.000</td>
<td>Você fica invisível depois do segundo dia. Nenhum jogo subiu de categoria.</td>
</tr>
<tr>
<td>1.000–2.000</td>
<td>Ganhos modestos. Você continua no mesmo patamar.</td>
</tr>
<tr>
<td>Mais de 2.000</td>
<td>O algoritmo começa a ajudar. Um impulso real se torna possível.</td>
</tr>
<tr>
<td>Mais de 10.000</td>
<td>Categoria ouro. Grandes ganhos são prováveis.</td>
</tr>
<tr>
<td>Mais de 100.000</td>
<td>Categoria diamante. Você disputa as primeiras posições dos rankings.</td>
</tr>
</tbody>
</table>
<p>Veja o que disse um desenvolvedor que participou dessa pesquisa: “Você realmente começa a perceber como as listas de desejos conquistadas por um jogo disparam quando ele já tem mais de 2.000 antes do Steam Next Fest.”</p>
<p>Não se trata exatamente do algoritmo. Trata-se de validação. Ter 2.000 listas de desejos significa que você descobriu alguma coisa sobre marketing. Você sabe como alcançar as pessoas. Essa habilidade se multiplica durante o festival.</p>
<h2 id="o-que-fevereiro-de-2026-confirmou" tabindex="-1">O que fevereiro de 2026 confirmou <a class="header-anchor" href="#o-que-fevereiro-de-2026-confirmou" aria-label="Permalink to &quot;O que fevereiro de 2026 confirmou&quot;"></a></h2>
<p>O Next Fest de fevereiro de 2026 (de 23 de fevereiro a 2 de março) foi, até então, o mais concorrido, com mais de 3.500 demos. E, quanto maior fica a concorrência, mais os dados repetem a mesma mensagem.</p>
<p>Depois do evento, o How To Market A Game entrevistou 182 desenvolvedores. A relação mais forte encontrada nos dados foi entre o número de listas de desejos de um jogo antes do festival e as listas conquistadas durante o evento: uma análise independente dos dados da pesquisa calculou uma correlação de Spearman de 0,825. Para comparar, a maioria das correlações de marketing em dados de jogos independentes fica entre 0,2 e 0,4. Nenhum outro fator chegou perto.</p>
<p>A disparidade foi brutal. A demo mediana conquistou 806 listas de desejos. O percentil 70 chegou a 1.839. Foram necessárias 13.461 para entrar no percentil 95, e o jogo com o melhor resultado conquistou 57.074. Uma demo lançada do zero, sem uma base de seguidores, tinha aproximadamente 1 chance em 20 de chegar aos 5% melhores. O festival recompensa o impulso que você leva até ele. Não cria esse impulso para você.</p>
<p>Os dados de timing também confirmaram a regra de lançar a demo cedo. Entre os jogos que conquistaram mais de 15.000 listas de desejos, cinco haviam publicado suas demos meses antes, quatro as lançaram cerca de um mês antes e apenas um fez um lançamento surpresa poucos dias antes do festival.</p>
<h2 id="as-primeiras-48-horas-sao-tudo" tabindex="-1">As primeiras 48 horas são tudo <a class="header-anchor" href="#as-primeiras-48-horas-sao-tudo" aria-label="Permalink to &quot;As primeiras 48 horas são tudo&quot;"></a></h2>
<p>A Valve dá uma oportunidade a todos nos dias 1 e 2. Depois disso, o algoritmo decide quem merece mais visibilidade com base no desempenho.</p>
<p>Jogos da categoria bronze? Suas impressões despencam no terceiro dia. Jogos da categoria diamante? Suas impressões triplicam.</p>
<div class="stat-box">
<strong>Dias 1 e 2:</strong> Dê tudo de si. Faça transmissões. Publique nas redes. Coordene ações com criadores de conteúdo.<br>
<strong>A partir do terceiro dia:</strong> O algoritmo já decidiu. Você só está seguindo o fluxo.
</div>
<h2 id="o-que-realmente-venceu-em-2025" tabindex="-1">O que realmente venceu em 2025 <a class="header-anchor" href="#o-que-realmente-venceu-em-2025" aria-label="Permalink to &quot;O que realmente venceu em 2025&quot;"></a></h2>
<h3 id="do-no-harm-fevereiro-de-2025" tabindex="-1">Do No Harm (fevereiro de 2025) <a class="header-anchor" href="#do-no-harm-fevereiro-de-2025" aria-label="Permalink to &quot;Do No Harm (fevereiro de 2025)&quot;"></a></h3>
<div class="video-embed">
<iframe width="560" height="315" src="https://www.youtube.com/embed/GBlOHAL1LkY" title="Trailer de Do No Harm" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<p><strong>Os números:</strong> 45.655 listas de desejos conquistadas durante o Next Fest. Começou com 52.102.</p>
<p><strong>O que fizeram:</strong></p>
<ul>
<li>O trailer foi publicado no GameTrailers em 29 de janeiro (semanas antes do Next Fest)</li>
<li>Contato com a imprensa coordenado com o trailer</li>
<li>A demo foi lançada em 4 de fevereiro</li>
<li>Anúncios pagos para amplificar o impulso orgânico</li>
</ul>
<p>Esse é o roteiro. Eles não dependeram do Next Fest para serem descobertos. Usaram o Next Fest para multiplicar a atenção que já haviam conquistado.</p>
<p><a href="https://store.steampowered.com/app/3138780/Do_No_Harm/" target="_blank" class="campaign-link">Ver Do No Harm no Steam →</a></p>
<h3 id="cairn-outubro-de-2025" tabindex="-1">Cairn (outubro de 2025) <a class="header-anchor" href="#cairn-outubro-de-2025" aria-label="Permalink to &quot;Cairn (outubro de 2025)&quot;"></a></h3>
<div class="video-embed">
<iframe width="560" height="315" src="https://www.youtube.com/embed/x6KWhvvk3bM" title="Trailer da data de lançamento de Cairn" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<p>Chegou à 5ª posição entre as demos no primeiro dia. Apareceu em Próximos lançamentos em alta e Melhores demos no segundo dia.</p>
<p><strong>O que fizeram:</strong></p>
<ul>
<li>A demo foi lançada em dezembro de 2024 (10 meses antes do Next Fest)</li>
<li>32.000 seguidores antes do festival</li>
<li>Participação aceita em 18 festivais antes do Next Fest</li>
<li>The Game Bakers (Furi, Haven) — estúdio consolidado com histórico comprovado</li>
</ul>
<p>Eles não precisavam do Next Fest. Mesmo assim, aproveitaram-no porque ele oferece amplificação gratuita quando você já fez o trabalho.</p>
<p><a href="https://store.steampowered.com/app/1588550/Cairn/" target="_blank" class="campaign-link">Ver Cairn no Steam →</a></p>
<h3 id="yapyap-outubro-de-2025" tabindex="-1">YAPYAP (outubro de 2025) <a class="header-anchor" href="#yapyap-outubro-de-2025" aria-label="Permalink to &quot;YAPYAP (outubro de 2025)&quot;"></a></h3>
<div class="video-embed">
<iframe width="560" height="315" src="https://www.youtube.com/embed/7d8Fd9XXAtQ" title="Gameplay da demo de YAPYAP" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<p>O fenômeno dos “jogos caóticos com amigos”. Um jogo de terror cooperativo em que você controla magos vandalizando uma torre. Viralizou nas redes sociais e depois dominou o Next Fest.</p>
<p>O trailer foi publicado em 25 de agosto de 2025 — um mês antes do Next Fest. Alcançou 434 mil visualizações. Esse foi o ponto de virada. Tudo o que veio depois foi apenas aproveitar a onda.</p>
<p><a href="https://store.steampowered.com/app/3834090/YAPYAP/" target="_blank" class="campaign-link">Ver YAPYAP no Steam →</a></p>
<h2 id="os-generos-que-continuam-vencendo" tabindex="-1">Os gêneros que continuam vencendo <a class="header-anchor" href="#os-generos-que-continuam-vencendo" aria-label="Permalink to &quot;Os gêneros que continuam vencendo&quot;"></a></h2>
<p>Entre os jogos da categoria diamante de fevereiro de 2025:</p>
<ul>
<li><strong>Terror</strong> (×2) — o Steam adora terror. Sempre adorou.</li>
<li><strong>Estratégia/gerenciamento</strong> (×4) — a onda é “criar-construir-simular”</li>
<li><strong>Jogos cooperativos caóticos com amigos</strong> — Lethal Company abriu as comportas</li>
<li><strong>Apontar e clicar</strong> (×2) — mas ambos eram continuações com públicos existentes</li>
</ul>
<p>O caso dos jogos de apontar e clicar é interessante. Beholder: Conductor era o quarto jogo da série. Duck Detective era uma continuação. Eles já tinham públicos consolidados. Desenvolvedores estreantes no gênero não obtêm esses resultados.</p>
<h2 id="o-que-dizem-os-jogos-menores" tabindex="-1">O que dizem os jogos menores <a class="header-anchor" href="#o-que-dizem-os-jogos-menores" aria-label="Permalink to &quot;O que dizem os jogos menores&quot;"></a></h2>
<p>Nem todo mundo está tentando alcançar a categoria diamante. Veja o que desenvolvedores da parte inferior da escala relataram em outubro de 2025:</p>
<blockquote>
<p>“Taxa de conversão de 62% entre visitas e listas de desejos. A página da loja em si parece funcionar. Mas as impressões foram altas e as pessoas não clicaram. A arte da cápsula precisa ser atualizada.”</p>
</blockquote>
<blockquote>
<p>“57% dos visitantes da loja jogaram nossa demo. Isso parece alto, não? Mas apenas 15% dos que jogaram também adicionaram o jogo à lista de desejos. Alguma coisa não correspondeu às expectativas.”</p>
</blockquote>
<blockquote>
<p>“Fui banido permanentemente do r/cozygames por perguntar se eles achavam nosso jogo aconchegante. Sempre tento seguir as regras, mas isso foi bem surpreendente.”</p>
</blockquote>
<p>A batalha é real. Esses desenvolvedores estão testando artes de cápsula, ajustando tags e sendo banidos de subreddits. Não há glamour nisso.</p>
<h2 id="o-roteiro-sincero" tabindex="-1">O roteiro sincero <a class="header-anchor" href="#o-roteiro-sincero" aria-label="Permalink to &quot;O roteiro sincero&quot;"></a></h2>
<p><strong>Meses antes do Next Fest:</strong></p>
<ol>
<li>Lance sua demo cedo. Bem cedo mesmo. Os vencedores tinham demos disponíveis havia 6 a 12 meses.</li>
<li>Participe primeiro de festivais menores do seu gênero. Use-os como oportunidades para lapidar o jogo.</li>
<li>Chegue a mais de 2.000 listas de desejos. Esse é o seu verdadeiro limiar.</li>
</ol>
<p><strong>Durante o Next Fest:</strong></p>
<ol>
<li>Os dias 1 e 2 são decisivos. Dê tudo de si.</li>
<li>Faça transmissões se puder. Isso faz seu jogo aparecer como “ao vivo” na página.</li>
<li>Coordene ações com streamers. Pague a eles se for preciso.</li>
<li>Coloque sua demo em uma página separada no Steam para que ela possa receber avaliações.</li>
</ol>
<p><strong>Depois do Next Fest:</strong></p>
<ol>
<li>Não lance imediatamente. Algumas semanas depois costuma gerar resultados melhores.</li>
<li>Aproveite o impulso no marketing do lançamento de verdade.</li>
</ol>
<h2 id="quando-nao-participar" tabindex="-1">Quando não participar <a class="header-anchor" href="#quando-nao-participar" aria-label="Permalink to &quot;Quando não participar&quot;"></a></h2>
<p>Falando francamente: o Next Fest não é para todos.</p>
<p>Não participe se:</p>
<ul>
<li>Você tem menos de 1.000 listas de desejos (ficará invisível até o terceiro dia)</li>
<li>Sua demo não está bem lapidada (você só tem uma chance de causar uma boa primeira impressão)</li>
<li>Esse é o seu primeiro festival (participe de eventos menores antes)</li>
<li>Você pretende lançar imediatamente depois (espere algumas semanas)</li>
</ul>
<p>Há dezenas de festivais menores todos os meses. Públicos mais segmentados. Menos concorrência. Consulte a lista em <a href="https://howtomarketagame.com/festivals" target="_blank" rel="noreferrer">howtomarketagame.com/festivals</a>.</p>
<p>O Next Fest é a opção padrão porque a Valve convida todo mundo a participar. Mas as melhores ações de marketing não são aquelas que todo mundo é incentivado a fazer.</p>
<hr>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="de-quantas-listas-de-desejos-voce-precisa-para-o-steam-next-fest" tabindex="-1">De quantas listas de desejos você precisa para o Steam Next Fest? <a class="header-anchor" href="#de-quantas-listas-de-desejos-voce-precisa-para-o-steam-next-fest" aria-label="Permalink to &quot;De quantas listas de desejos você precisa para o Steam Next Fest?&quot;"></a></h3>
<p>Os dados apontam para cerca de 2.000 listas de desejos como o limiar a partir do qual o Next Fest começa a funcionar a seu favor. Abaixo disso, você fica praticamente invisível até o terceiro dia. O algoritmo favorece jogos que já estão ganhando tração, então você precisa chegar com algum impulso. O padrão aproximado observado no festival de fevereiro de 2025 foi o seguinte: qualquer que fosse seu número de listas de desejos antes do Next Fest, você poderia praticamente dobrá-lo durante o evento. Então, se entrar com 500, talvez saia com 1.000. Se entrar com 5.000, poderá chegar a 10.000. O número inicial importa muito mais do que a maioria das pessoas imagina.</p>
<h3 id="quando-voce-deve-lancar-uma-demo-para-o-steam-next-fest" tabindex="-1">Quando você deve lançar uma demo para o Steam Next Fest? <a class="header-anchor" href="#quando-voce-deve-lancar-uma-demo-para-o-steam-next-fest" aria-label="Permalink to &quot;Quando você deve lançar uma demo para o Steam Next Fest?&quot;"></a></h3>
<p>Mais cedo do que você imagina. Os jogos que tiveram o melhor desempenho nos festivais recentes haviam lançado suas demos de 6 a 12 meses antes mesmo do início do Next Fest. Isso dá tempo para coletar feedback, corrigir os problemas evidentes e conquistar listas de desejos organicamente antes que o festival multiplique o que você já tem. Lançar a demo na semana do Next Fest é um erro comum. Você estará competindo com centenas de outras demos novas e não terá avaliações, ciclos de feedback nem nada com que trabalhar.</p>
<h3 id="o-steam-next-fest-vale-a-pena-para-jogos-independentes-pequenos" tabindex="-1">O Steam Next Fest vale a pena para jogos independentes pequenos? <a class="header-anchor" href="#o-steam-next-fest-vale-a-pena-para-jogos-independentes-pequenos" aria-label="Permalink to &quot;O Steam Next Fest vale a pena para jogos independentes pequenos?&quot;"></a></h3>
<p>Pode valer, mas apenas se você estiver preparado. Jogos pequenos que chegam com menos de 1.000 listas de desejos e uma demo pouco lapidada geralmente são soterrados rapidamente. O festival dura uma semana, e centenas de jogos disputam atenção. Se você ainda está no início do desenvolvimento, festivais menores e específicos do seu gênero são um primeiro passo melhor. Eles têm públicos mais segmentados e menos concorrência. Guarde o Next Fest para quando sua demo estiver bem refinada e você já tiver algum impulso.</p>
<hr>
<p><strong>Conteúdo relacionado:</strong></p>
<ul>
<li><a href="/pt-BR/guides/kickstarter-for-indie-games.html">Kickstarter para jogos independentes</a></li>
<li><a href="/pt-BR/guides/itch-io-launch-guide.html">Como lançar seu jogo no itch.io</a></li>
<li><a href="/pt-BR/guides/co-op-game-design.html">Design de jogos cooperativos</a> — jogos cooperativos apresentam desempenho acima da média de forma consistente no Next Fest</li>
<li><a href="/pt-BR/tutorials/analytics-web-games.html">Analytics para jogos web</a> — acompanhamento do desempenho da demo e das métricas de conversão</li>
<li><a href="/pt-BR/guides/game-jams-hackathons.html">Game jams e hackathons</a> — como construir um público antes do seu primeiro festival</li>
</ul>
<BuildCta
  title="Pratique o gancho dos primeiros 30 segundos"
  desc="O Next Fest recompensa demos que prendem a atenção imediatamente. Crie um protótipo desse gancho agora."
  prompt="Crie uma fase de demonstração jogável com um gancho nos primeiros 30 segundos" />
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/steam-next-fest-strategy.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Melhores modelos generativos de IA de código aberto para jogos (2026)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/frontier-gen-ai-models</link>
            <guid>https://app.cinevva.com/pt-BR/guides/frontier-gen-ai-models</guid>
            <pubDate>Sat, 24 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Os melhores modelos generativos de IA de código aberto em 2026 para vídeo, imagem, 3D, áudio, fala e simulação de mundos, incluindo os pontos fortes de cada um e quanto custa executá-los.]]></description>
            <content:encoded><![CDATA[<h1 id="melhores-modelos-generativos-de-ia-de-codigo-aberto-para-jogos-2026" tabindex="-1">Melhores modelos generativos de IA de código aberto para jogos (2026) <a class="header-anchor" href="#melhores-modelos-generativos-de-ia-de-codigo-aberto-para-jogos-2026" aria-label="Permalink to &quot;Melhores modelos generativos de IA de código aberto para jogos (2026)&quot;"></a></h1>
<p><em>Última atualização: julho de 2026.</em></p>
<p>A questão da IA generativa é a seguinte. Durante anos, os melhores modelos ficaram atrás de chaves de API e preços imprevisíveis. Você criava seu fluxo de trabalho em torno de uma ferramenta, se acostumava com ela e então acordava com um e-mail dizendo que os preços haviam mudado. Ou, pior ainda, que a empresa havia mudado completamente de rumo.</p>
<p>Isso mudou no fim de 2024. Tencent, Alibaba e DeepSeek começaram a lançar modelos que você realmente pode baixar. Modelos que rivalizam com as alternativas fechadas. E, de repente, criadores passaram a ter opções que não dependem do modelo de negócios de terceiros.</p>
<p>E se você pudesse gerar vídeos, assets 3D, músicas e vozes usando apenas modelos sob seu controle? É nesse ponto que estamos agora. Este guia mostra o que é real, o que funciona e o que você pode começar a usar hoje.</p>
<h2 id="geracao-de-video" tabindex="-1">Geração de vídeo <a class="header-anchor" href="#geracao-de-video" aria-label="Permalink to &quot;Geração de vídeo&quot;"></a></h2>
<p>Durante anos, geração de vídeo significava Runway ou Pika: plataformas fechadas, assinaturas e limites sobre o que você podia fazer com o resultado. Agora? Você pode executar modelos comparáveis em seu próprio hardware.</p>
<video controls autoplay loop muted playsinline style="width: 100%; border-radius: 8px;">
  <source src="https://cdn.cinevva.com/video/hunyuanvideo-demo.mp4" type="video/mp4">
</video>
<p><em>Geração de texto para vídeo com o HunyuanVideo, com saída em 720p pelo principal modelo de vídeo de código aberto</em></p>
<table tabindex="0">
<thead>
<tr>
<th>Modelo</th>
<th>Organização</th>
<th>Parâmetros</th>
<th>Especificações</th>
<th>Hardware</th>
<th>Custo</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://github.com/Tencent-Hunyuan/HunyuanVideo" target="_blank" rel="noreferrer"><strong>HunyuanVideo</strong></a></td>
<td>Tencent</td>
<td>13B</td>
<td>720p, texto+imagem</td>
<td>80GB</td>
<td>~$0.20</td>
</tr>
<tr>
<td><a href="https://github.com/Tencent-Hunyuan/HunyuanVideo-1.5" target="_blank" rel="noreferrer"><strong>HunyuanVideo-1.5</strong></a></td>
<td>Tencent</td>
<td>8.3B</td>
<td>480p-1080p, texto+imagem</td>
<td>14GB</td>
<td>~$0.05</td>
</tr>
<tr>
<td><a href="https://github.com/genmoai/mochi" target="_blank" rel="noreferrer"><strong>Mochi 1</strong></a></td>
<td>Genmo</td>
<td>10B</td>
<td>480p@30fps</td>
<td>12GB+</td>
<td>~$0.10</td>
</tr>
<tr>
<td><a href="https://github.com/Lightricks/LTX-Video" target="_blank" rel="noreferrer"><strong>LTX-Video</strong></a></td>
<td>Lightricks</td>
<td>—</td>
<td>768x512, tempo real</td>
<td>12GB</td>
<td>~$0.02</td>
</tr>
<tr>
<td><a href="https://huggingface.co/Lightricks/LTX-2" target="_blank" rel="noreferrer"><strong>LTX-2</strong></a></td>
<td>Lightricks</td>
<td>19B</td>
<td>4K, <strong>áudio sincronizado</strong></td>
<td>Alto desempenho</td>
<td>~$0.30</td>
</tr>
<tr>
<td><a href="https://github.com/Wan-Video/Wan2.1" target="_blank" rel="noreferrer"><strong>Wan 2.1</strong></a></td>
<td>Alibaba</td>
<td>1.3-14B</td>
<td>480p-720p</td>
<td>8GB+</td>
<td>~$0.03</td>
</tr>
<tr>
<td><a href="https://github.com/Wan-Video/Wan2.2" target="_blank" rel="noreferrer"><strong>Wan 2.2</strong></a></td>
<td>Alibaba</td>
<td>27B MoE (14B ativos)</td>
<td>720p, MoE</td>
<td>8GB+</td>
<td>~$0.03</td>
</tr>
<tr>
<td><a href="https://huggingface.co/zai-org/CogVideoX1.5-5B" target="_blank" rel="noreferrer"><strong>CogVideoX1.5-5B</strong></a></td>
<td>Tsinghua</td>
<td>5B</td>
<td>1360x768@16fps, até 10s</td>
<td>12GB</td>
<td>~$0.04</td>
</tr>
<tr>
<td><a href="https://github.com/SkyworkAI/SkyReels-V3" target="_blank" rel="noreferrer"><strong>SkyReels-V3</strong></a></td>
<td>Skywork</td>
<td>14-19B</td>
<td>Guiado por áudio, referência para vídeo, V2V</td>
<td>Alto desempenho</td>
<td>~$0.10</td>
</tr>
<tr>
<td><a href="https://github.com/stepfun-ai/Step-Video-T2V" target="_blank" rel="noreferrer"><strong>Step-Video-T2V</strong></a></td>
<td>StepFun</td>
<td>30B</td>
<td>Maior T2V aberto, 204 quadros</td>
<td>Alto desempenho</td>
<td>~$0.15</td>
</tr>
<tr>
<td><a href="https://github.com/hpcaitech/Open-Sora" target="_blank" rel="noreferrer"><strong>Open-Sora 2.0</strong></a></td>
<td>HPC-AI</td>
<td>11B</td>
<td>Integração com Flux</td>
<td>Alto desempenho</td>
<td>~$0.20</td>
</tr>
</tbody>
</table>
<p>Pesos: <a href="https://huggingface.co/tencent/HunyuanVideo" target="_blank" rel="noreferrer">HunyuanVideo ↗</a> · <a href="https://huggingface.co/genmo/mochi-1-preview" target="_blank" rel="noreferrer">Mochi 1 ↗</a> · <a href="https://huggingface.co/Wan-AI/Wan2.1-T2V-14B" target="_blank" rel="noreferrer">Wan 2.1 ↗</a> · <a href="https://huggingface.co/hpcai-tech/Open-Sora-v2" target="_blank" rel="noreferrer">Open-Sora ↗</a></p>
<p><strong>Veja amostras:</strong> <a href="https://aivideo.hunyuan.tencent.com/" target="_blank" rel="noreferrer">Galeria do HunyuanVideo ↗</a> · <a href="https://www.genmo.ai/" target="_blank" rel="noreferrer">Exemplos do Mochi ↗</a> · <a href="https://github.com/THUDM/CogVideo#gallery" target="_blank" rel="noreferrer">Amostras do CogVideoX ↗</a></p>
<h3 id="o-que-isso-significa-para-criadores" tabindex="-1">O que isso significa para criadores <a class="header-anchor" href="#o-que-isso-significa-para-criadores" aria-label="Permalink to &quot;O que isso significa para criadores&quot;"></a></h3>
<p>O <strong>HunyuanVideo</strong> supera o Runway Gen-3 em avaliações profissionais e é totalmente aberto. O porém? Você precisa de um hardware potente. Uma A100 ou H100 com 80GB de VRAM. Para a maioria de nós, isso significa alugar GPUs na nuvem quando necessário.</p>
<p>O <strong>HunyuanVideo-1.5</strong> mudou a equação de hardware. A Tencent o lançou em novembro de 2025 como um modelo aberto de 8,3 bilhões de parâmetros que roda em uma GPU doméstica com 14GB, oferecendo geração de texto para vídeo e imagem para vídeo em 480p/720p, além de upscaling opcional para 1080p. Um novo mecanismo de atenção seletiva e em blocos deslizantes, o Selective and Sliding Tile Attention (SSTA), proporciona uma velocidade de inferência aproximadamente duas vezes maior que a do HunyuanVideo original. Se você queria a qualidade do HunyuanVideo, mas não conseguia justificar uma placa de 80GB, esta é a versão que realmente pode rodar em casa.</p>
<p>O <strong>Mochi 1</strong> é o que você realmente consegue executar. Uma GPU de 12GB — território da RTX 3060 — dá conta dele tranquilamente. O resultado é genuinamente criativo, com uma qualidade artística marcante. Não chega à fidelidade do HunyuanVideo, mas o processo é todo seu.</p>
<p>É com o <strong>LTX-2</strong> que as coisas ficam interessantes para jogos. Ele é o primeiro modelo aberto a gerar áudio sincronizado com o vídeo. Imagine cutscenes em que o som simplesmente... combina. Sem sincronização na pós-produção. A Lightricks disponibilizou os pesos completos, a inferência e o código de treinamento como código aberto em janeiro de 2026, com saída nativa em 4K a até 50fps e áudio sincronizado em vídeos de até 20 segundos. Uma ressalva sobre a licença: os pesos abertos do LTX-2 são gratuitos para uso acadêmico e, no uso comercial, apenas para empresas com receita anual inferior a US$ 10 milhões. Portanto, verifique esse limite antes de construir um negócio com base nele.</p>
<p>O <strong>SkyReels-V3</strong> (Skywork, janeiro de 2026) é a nova linha aberta de destaque. Trata-se de um modelo multimodal unificado que oferece vídeo guiado por áudio, referência para vídeo e vídeo para vídeo em variantes de 14B e 19B. Por isso, é uma opção robusta quando você precisa que um personagem ou uma imagem de referência conduza a cena. O <strong>Step-Video-T2V</strong> (StepFun) é o maior modelo aberto de texto para vídeo, com 30B, e é distribuído sob uma licença MIT simples. Vale a pena conhecê-lo se uma licença permissiva for mais importante para você do que rodar em uma GPU pequena.</p>
<p>O <strong>Wan 2.1</strong> roda em um notebook gamer. Uma GPU de 8GB funciona com as variantes menores. Se você sempre quis criar protótipos com geração de vídeo, mas não conseguia justificar o hardware, este é o seu ponto de entrada.</p>
<p>O <strong>Wan 2.2</strong> (Alibaba, julho de 2025) é o primeiro modelo de vídeo de código aberto criado com uma arquitetura de mistura de especialistas: 27B de parâmetros totais, dos quais apenas 14B ficam ativos em cada etapa. Ele é disponibilizado nas versões texto para vídeo (T2V-A14B), imagem para vídeo (I2V-A14B) e em uma variante híbrida de 5B que roda em GPUs domésticas, todas sob a licença Apache 2.0 para uso comercial.</p>
<p>Uma ressalva importante: o Wan 2.2 ainda é a última versão aberta do Wan. Os modelos mais recentes, Wan 2.5 (setembro de 2025), 2.6 (dezembro de 2025) e 2.7 (abril de 2026), acrescentaram áudio sincronizado, 1080p e controle mais preciso dos quadros, mas estão disponíveis apenas por API, sem pesos públicos. Se a hospedagem própria é importante para você, a versão 2.2 é o limite. O LTX-2 é o modelo aberto indicado quando você precisa de 4K e áudio sincronizado.</p>
<p>O fluxo de trabalho que faz sentido é: Mochi 1 ou Wan 2.1 para criar protótipos localmente; HunyuanVideo-1.5 ou LTX-2 em GPUs na nuvem quando você precisar da qualidade final.</p>
<h2 id="geracao-de-imagens" tabindex="-1">Geração de imagens <a class="header-anchor" href="#geracao-de-imagens" aria-label="Permalink to &quot;Geração de imagens&quot;"></a></h2>
<p>É aqui que o código aberto já venceu. Os modelos que você pode baixar hoje realmente competem com o Midjourney. Não são &quot;quase tão bons&quot;: são verdadeiramente competitivos.</p>
<p><img src="/img/ai-samples/flux-sample.png" alt="Amostras de geração do FLUX.1">
<em>Amostras do FLUX.1, com qualidade fotorrealista gerada por um modelo licenciado sob Apache 2.0</em></p>
<table tabindex="0">
<thead>
<tr>
<th>Modelo</th>
<th>Organização</th>
<th>Lançamento</th>
<th>Parâmetros</th>
<th>Principal recurso</th>
<th>Licença</th>
<th>Custo/imagem</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://huggingface.co/black-forest-labs/FLUX.1-schnell" target="_blank" rel="noreferrer"><strong>FLUX.1 [schnell]</strong></a></td>
<td>Black Forest Labs</td>
<td>ago. de 2024</td>
<td>12B</td>
<td>Geração em 4 etapas, rápida</td>
<td>Apache 2.0</td>
<td>~$0.001</td>
</tr>
<tr>
<td><a href="https://huggingface.co/black-forest-labs/FLUX.1-dev" target="_blank" rel="noreferrer"><strong>FLUX.1 [dev]</strong></a></td>
<td>Black Forest Labs</td>
<td>ago. de 2024</td>
<td>12B</td>
<td>Qualidade próxima da versão Pro</td>
<td>Não comercial</td>
<td>~$0.002</td>
</tr>
<tr>
<td><a href="https://huggingface.co/stabilityai/stable-diffusion-3.5-large" target="_blank" rel="noreferrer"><strong>SD 3.5 Large</strong></a></td>
<td>Stability AI</td>
<td>out. de 2024</td>
<td>8B</td>
<td>Renderização de texto, estilos variados</td>
<td>Licença da Stability</td>
<td>~$0.002</td>
</tr>
<tr>
<td><a href="https://huggingface.co/stabilityai/stable-diffusion-3.5-large-turbo" target="_blank" rel="noreferrer"><strong>SD 3.5 Large Turbo</strong></a></td>
<td>Stability AI</td>
<td>out. de 2024</td>
<td>8B</td>
<td>4 etapas, rápido</td>
<td>Licença da Stability</td>
<td>~$0.001</td>
</tr>
<tr>
<td><a href="https://huggingface.co/HiDream-ai/HiDream-I1-Full" target="_blank" rel="noreferrer"><strong>HiDream-I1</strong></a></td>
<td>HiDream.ai</td>
<td>abr. de 2025</td>
<td>17B</td>
<td>Alta qualidade, variantes Full/Dev/Fast</td>
<td>MIT</td>
<td>~$0.002</td>
</tr>
<tr>
<td><a href="https://github.com/zai-org/CogView4" target="_blank" rel="noreferrer"><strong>CogView4</strong></a></td>
<td>Tsinghua / Zhipu</td>
<td>mar. de 2025</td>
<td>6B</td>
<td>Texto nativo em chinês, até 2048px</td>
<td>Apache 2.0</td>
<td>~$0.002</td>
</tr>
<tr>
<td><a href="https://github.com/QwenLM/Qwen-Image" target="_blank" rel="noreferrer"><strong>Qwen-Image</strong></a></td>
<td>Alibaba</td>
<td>ago. de 2025</td>
<td>20B</td>
<td>Renderização e edição de texto líderes da categoria</td>
<td>Apache 2.0</td>
<td>~$0.002</td>
</tr>
<tr>
<td><a href="https://bfl.ai/blog/flux-2" target="_blank" rel="noreferrer"><strong>FLUX.2</strong></a></td>
<td>Black Forest Labs</td>
<td>nov. de 2025</td>
<td>32B</td>
<td>Texto+edição, 4MP, múltiplas referências</td>
<td>dev: Não comercial / klein 4B: Apache 2.0</td>
<td>~$0.003</td>
</tr>
<tr>
<td><a href="https://github.com/ideogram-oss/ideogram4" target="_blank" rel="noreferrer"><strong>Ideogram 4.0</strong></a></td>
<td>Ideogram</td>
<td>jun. de 2026</td>
<td>9.3B</td>
<td>Design, renderização de texto, controle de layout por JSON</td>
<td>Não comercial</td>
<td>~$0.002</td>
</tr>
</tbody>
</table>
<p>Experimente-os diretamente: <a href="https://huggingface.co/spaces/black-forest-labs/FLUX.1-schnell" target="_blank" rel="noreferrer">Demonstração do FLUX.1 schnell ↗</a> · <a href="https://huggingface.co/spaces/stabilityai/stable-diffusion-3.5-large" target="_blank" rel="noreferrer">Demonstração do SD 3.5 Large ↗</a> · <a href="https://github.com/black-forest-labs/flux" target="_blank" rel="noreferrer">GitHub (FLUX) ↗</a></p>
<p><strong>Veja amostras:</strong> <a href="https://flux1.ai/examples" target="_blank" rel="noreferrer">Galeria do FLUX ↗</a> · <a href="https://flux1.ai/gallery" target="_blank" rel="noreferrer">Galeria de LoRAs do FLUX ↗</a> · <a href="https://replicate.com/black-forest-labs/flux-schnell/examples" target="_blank" rel="noreferrer">Exemplos no Replicate ↗</a></p>
<h3 id="para-criar-assets-de-jogos" tabindex="-1">Para criar assets de jogos <a class="header-anchor" href="#para-criar-assets-de-jogos" aria-label="Permalink to &quot;Para criar assets de jogos&quot;"></a></h3>
<p>O <strong>FLUX.1 [schnell]</strong> é o modelo que você precisa conhecer. Sua licença Apache 2.0 significa que você pode lançar jogos comerciais sem se preocupar com complicações de licenciamento. Ele gera imagens em apenas 4 etapas, permitindo iterar rapidamente. Descreva o que deseja, veja o resultado, ajuste e repita.</p>
<p>O <strong>SD 3.5 Large</strong> finalmente renderiza texto de forma adequada. As versões anteriores distorciam qualquer texto que você tentasse incluir. Isso é importante para mockups de interface, placas dentro do jogo, telas de título e qualquer outro lugar em que você precise de palavras legíveis nas imagens.</p>
<p>O <strong>FLUX.2</strong> (Black Forest Labs, novembro de 2025) é o sucessor maior: um modelo de 32B que realiza geração de texto para imagem e edição de imagens em um único checkpoint, com alta consistência de personagens e estilos entre múltiplas referências, além de renderização confiável de texto em resoluções de até 4 megapixels. O FLUX.2 [dev] de pesos abertos usa uma licença não comercial, mas o FLUX.2 [klein] com tamanho reduzido por destilação (janeiro de 2026) disponibiliza sua versão de 4B sob Apache 2.0, gera imagens em menos de um segundo e roda com cerca de 8GB de VRAM. Portanto, ainda existe uma opção segura para uso comercial ao lançar arte de jogos. Baixe especificamente o klein 4B: o klein 9B maior continua sob a licença não comercial do FLUX. Pipelines quantizados permitem rodar a versão [dev] em GPUs com 18-24GB.</p>
<p>Há mais duas opções abertas que vale a pena conhecer. O <strong>Chroma1-HD</strong> (8.9B, Apache 2.0) é um derivado totalmente aberto do FLUX.1-schnell, sendo uma maneira segura para uso comercial de obter a qualidade da família FLUX sem a licença da versão [dev]. O <strong>OmniGen2</strong> (Apache 2.0) é um modelo unificado que reúne texto para imagem e edição baseada em instruções. Isso o torna o caminho mais rápido quando você está iterando sobre um asset existente (&quot;faça a espada brilhar em azul&quot;), em vez de gerar algo do zero.</p>
<p>O <strong>Qwen-Image</strong> (Alibaba, agosto de 2025) é o modelo aberto indicado quando sua arte precisa de texto legível, como placas, interfaces, pôsteres ou rótulos de itens. É um modelo de 20B sob Apache 2.0, com renderização de texto líder da categoria e uma poderosa variante de edição baseada em instruções. Portanto, é seguro para uso comercial e excepcionalmente bom justamente naquilo em que a maioria dos modelos de imagem ainda falha. A atualização de dezembro de 2025, <a href="https://huggingface.co/Qwen/Qwen-Image-2512" target="_blank" rel="noreferrer">Qwen-Image-2512</a>, aprimorou o realismo humano e o layout de texto, mantendo a licença Apache 2.0. Portanto, use esse checkpoint caso pretenda hospedar o modelo por conta própria. O Qwen-Image-2.0 mais recente (fevereiro de 2026) está disponível apenas por API.</p>
<p>O <strong>Ideogram 4.0</strong> (junho de 2026) é o primeiro lançamento com pesos abertos da Ideogram: um transformer de difusão de 9.3B criado para trabalhos de design, com excelente renderização de texto multilíngue e controle explícito de layout e cores por meio de prompts estruturados em JSON. Há um porém antes de você começar a usá-lo: o código de inferência está sob Apache 2.0, mas os pesos usam uma licença não comercial. Portanto, ele é uma ferramenta de pesquisa e prototipagem, a menos que você compre a licença comercial.</p>
<p>O ecossistema em torno do Stable Diffusion continua imbatível. ControlNet para composição precisa. Inpainting para correções. Ajuste fino com LoRA para estilos personalizados. O FLUX está diminuindo a distância, mas, se você precisa de personalização profunda hoje, a maturidade das ferramentas do SD oferece mais recursos.</p>
<p>Eu pensaria da seguinte forma: para texturas e sprites, qualquer um dos dois funciona. Para concept art com requisitos específicos de estilo, SD 3.5 com LoRAs. Para obter a melhor qualidade em um lançamento comercial, FLUX schnell.</p>
<h2 id="geracao-3d" tabindex="-1">Geração 3D <a class="header-anchor" href="#geracao-3d" aria-label="Permalink to &quot;Geração 3D&quot;"></a></h2>
<p>Se você já passou oito horas modelando um objeto que aparece no seu jogo por três segundos, esta seção é para você. A geração 3D deixou de ser uma &quot;pesquisa interessante&quot; para se tornar uma verdadeira ferramenta de produção há algum tempo e, em 2026, os modelos abertos estão realmente bons. Você pode transformar um esboço em uma malha texturizada em menos de um minuto.</p>
<p><img src="/img/ai-samples/trellis-sample.png" alt="Amostras de geração 3D do TRELLIS">
<em>O TRELLIS gera malhas 3D texturizadas com materiais PBR a partir de imagens individuais</em></p>
<table tabindex="0">
<thead>
<tr>
<th>Modelo</th>
<th>Organização</th>
<th>Lançamento</th>
<th>Principal recurso</th>
<th>Saída</th>
<th>Custo/malha</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://github.com/microsoft/TRELLIS.2" target="_blank" rel="noreferrer"><strong>TRELLIS.2-4B</strong></a></td>
<td>Microsoft</td>
<td>dez. de 2025</td>
<td>4B de parâmetros, PBR nativo, até 1536³</td>
<td>Malha texturizada com mapas de normais</td>
<td>~$0.03</td>
</tr>
<tr>
<td><a href="https://github.com/Tencent-Hunyuan/Hunyuan3D-2.1" target="_blank" rel="noreferrer"><strong>Hunyuan3D 2.1</strong></a></td>
<td>Tencent</td>
<td>jun. de 2025</td>
<td>PBR para produção, pesos completos + código de treinamento</td>
<td>Malha texturizada de alta fidelidade</td>
<td>~$0.05</td>
</tr>
<tr>
<td><a href="https://github.com/facebookresearch/sam-3d-objects" target="_blank" rel="noreferrer"><strong>SAM 3D</strong></a></td>
<td>Meta</td>
<td>nov. de 2025</td>
<td>Imagem única para 3D (objetos + corpo humano)</td>
<td>Malha a partir de uma foto</td>
<td>~$0.02</td>
</tr>
<tr>
<td><a href="https://huggingface.co/stabilityai/stable-fast-3d" target="_blank" rel="noreferrer"><strong>Stable Fast 3D</strong></a></td>
<td>Stability AI</td>
<td>ago. de 2024</td>
<td>Imagem única → malha em ~0.5s</td>
<td>Malha texturizada rápida</td>
<td>~$0.001</td>
</tr>
<tr>
<td><a href="https://github.com/VAST-AI-Research/TripoSG" target="_blank" rel="noreferrer"><strong>TripoSG</strong></a></td>
<td>VAST-AI</td>
<td>mar. de 2025</td>
<td>Geração de formas por fluxo retificado de 1.5B</td>
<td>Malha de alta qualidade</td>
<td>~$0.01</td>
</tr>
<tr>
<td><a href="https://github.com/VAST-AI-Research/TripoSR" target="_blank" rel="noreferrer"><strong>TripoSR</strong></a></td>
<td>Stability / Tripo</td>
<td>2024</td>
<td>Reconstrução rápida a partir de uma única imagem</td>
<td>Malha (sem textura)</td>
<td>~$0.001</td>
</tr>
<tr>
<td><a href="https://huggingface.co/VAST-AI/UniRig" target="_blank" rel="noreferrer"><strong>UniRig</strong></a></td>
<td>Tsinghua / Tripo</td>
<td>2025</td>
<td>Rig automático: esqueleto + pesos de skinning</td>
<td>Malha com rig pronta para animação</td>
<td>~$0.01</td>
</tr>
<tr>
<td>Experimente diretamente: <a href="https://huggingface.co/spaces/microsoft/TRELLIS.2" target="_blank" rel="noreferrer">demo do TRELLIS.2 ↗</a> · <a href="https://huggingface.co/spaces/tencent/Hunyuan3D-2" target="_blank" rel="noreferrer">demo do Hunyuan3D ↗</a> · <a href="https://huggingface.co/spaces/TencentARC/InstantMesh" target="_blank" rel="noreferrer">demo do InstantMesh ↗</a></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<p><strong>Veja exemplos:</strong> <a href="https://microsoft.github.io/TRELLIS.2/" target="_blank" rel="noreferrer">página do projeto TRELLIS.2 ↗</a> · <a href="https://www.3daistudio.com/Models/Trellis-2" target="_blank" rel="noreferrer">galeria do 3D AI Studio ↗</a></p>
<h3 id="um-fluxo-de-trabalho-que-realmente-funciona" tabindex="-1">Um fluxo de trabalho que realmente funciona <a class="header-anchor" href="#um-fluxo-de-trabalho-que-realmente-funciona" aria-label="Permalink to &quot;Um fluxo de trabalho que realmente funciona&quot;"></a></h3>
<p>A abordagem que está dando certo para criadores no momento encadeia vários modelos. Comece com uma imagem, gerada ou fotografada, tanto faz. Passe-a pelo Stable Zero123 ou Wonder3D para obter várias vistas. Envie essas vistas ao InstantMesh ou TripoSR para gerar a malha. Depois, use o TRELLIS.2 ou Hunyuan3D para criar materiais adequados.</p>
<p>O <strong>TRELLIS.2</strong>, da Microsoft, é o novo líder para assets prontos para produção. Ele lida com a geometria que derruba outros modelos: superfícies finas, buracos e topologia complexa. A versão com 4 bilhões de parâmetros produz malhas com texturas PBR de verdade, não apenas cores de vértices fingindo ser materiais.</p>
<p>O <strong>Stable Fast 3D</strong> prioriza a velocidade. Leva cerca de meio segundo para transformar uma imagem em malha. A malha precisa de limpeza e texturização, mas para prototipagem? Para descobrir se uma ideia funciona antes de investir horas? Imbatível. O TripoSG é o próximo passo quando você quer uma geometria mais limpa a partir de uma única imagem.</p>
<p>O <strong>Hunyuan3D 2.1</strong> é o modelo aberto da Tencent a ser usado: ele disponibiliza os pesos completos e o código de treinamento, com texturização PBR em nível de produção. Preste atenção aos nomes, porque eles confundem muita gente. Hunyuan3D 2.5, 3.0 e 3.1 existem, mas são disponibilizados apenas por API, sem pesos públicos; portanto, para hospedagem própria, o gerador básico ainda está limitado à versão 2.1. A Tencent abriu duas extensões úteis baseadas na 2.1: o Hunyuan3D-Omni adiciona controle por múltiplas condições (nuvem de pontos, voxel, esqueleto e caixa delimitadora), enquanto o Hunyuan3D-Part decompõe uma malha em partes editáveis. A licença também exclui a UE, o Reino Unido e a Coreia do Sul, então confira os termos antes de lançar seu projeto nessas regiões.</p>
<p>O <strong>SAM 3D</strong> (Meta, novembro de 2025) é a opção mais recente: uma única foto se transforma em uma malha 3D, com modelos separados para objetos e corpos humanos. Combinado ao trabalho da Meta em segmentação, ele permite isolar um objeto em uma imagem e reconstruir apenas esse objeto.</p>
<p>O <strong>UniRig</strong> (Tsinghua e Tripo, MIT) resolve o problema que todo mundo encontra logo depois de obter uma malha: o rigging. Ele gera automaticamente um esqueleto válido e pesos de skinning para uma malha de entrada, permitindo que um personagem gerado seja realmente animado em vez de permanecer como um elemento estático. Combine-o ao trabalho de animação automática do SOMA-X, da NVIDIA, e um personagem totalmente gerado e com rig completo deixa de ser apenas uma demonstração de pesquisa.</p>
<p>Esta é a expectativa realista para criadores independentes: gere arte conceitual com o FLUX, passe-a pelo InstantMesh para obter a geometria e depois crie as texturas no Blender ou use o TRELLIS para automatizar o PBR. Isso leva de 30 a 60 minutos por asset, em vez de 4 a 8 horas. Não é instantâneo, mas faz uma diferença real.</p>
<h2 id="audio-e-musica" tabindex="-1">Áudio e música <a class="header-anchor" href="#audio-e-musica" aria-label="Permalink to &quot;Áudio e música&quot;"></a></h2>
<p>A geração de áudio ainda não alcançou o mesmo nível das imagens e dos vídeos. Mesmo assim, já há recursos suficientes para mudar sua forma de trabalhar, principalmente na prototipagem e na criação de efeitos sonoros.</p>
<audio controls style="width: 100%;">
  <source src="/img/ai-samples/music-sample.mp3" type="audio/mpeg">
</audio>
<p><em>Exemplo de música gerada por IA. Descreva o clima que você quer e receba uma música correspondente</em></p>
<table tabindex="0">
<thead>
<tr>
<th>Modelo</th>
<th>Organização</th>
<th>Lançamento</th>
<th>O que faz</th>
<th>Licença</th>
<th>Custo/30s</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://github.com/ace-step/ACE-Step-1.5" target="_blank" rel="noreferrer"><strong>ACE-Step 1.5</strong></a></td>
<td>StepFun/ACE Studio</td>
<td>jan. de 2026</td>
<td>Gera rapidamente cerca de 4 min de música, 19 idiomas, clonagem de voz</td>
<td>MIT</td>
<td>~$0.02</td>
</tr>
<tr>
<td><a href="https://stability.ai/stable-audio" target="_blank" rel="noreferrer"><strong>Stable Audio 3.0</strong></a></td>
<td>Stability AI</td>
<td>mai. de 2026</td>
<td>Músicas de até cerca de 6 min; modelos abertos Small, Small-SFX e Medium</td>
<td>Stability Community</td>
<td>~$0.02</td>
</tr>
<tr>
<td><a href="https://github.com/multimodal-art-projection/YuE" target="_blank" rel="noreferrer"><strong>YuE</strong></a></td>
<td>MAP</td>
<td>jan. de 2025</td>
<td>Músicas completas a partir de letras, vocais + acompanhamento</td>
<td>Apache 2.0</td>
<td>~$0.05</td>
</tr>
<tr>
<td><a href="https://huggingface.co/facebook/musicgen-large" target="_blank" rel="noreferrer"><strong>MusicGen</strong></a></td>
<td>Meta</td>
<td>2023</td>
<td>Texto para música, controlável</td>
<td>código MIT / pesos CC-BY-NC</td>
<td>~$0.01</td>
</tr>
<tr>
<td><a href="https://github.com/ASLP-lab/DiffRhythm2" target="_blank" rel="noreferrer"><strong>DiffRhythm 2</strong></a></td>
<td>ASLP-lab</td>
<td>fev. de 2026</td>
<td>Geração rápida de músicas completas</td>
<td>Apache 2.0</td>
<td>~$0.02</td>
</tr>
<tr>
<td><a href="https://huggingface.co/google/magenta-realtime" target="_blank" rel="noreferrer"><strong>Magenta RealTime</strong></a></td>
<td>Google</td>
<td>jun. de 2025</td>
<td>Música em tempo real controlável por prompts</td>
<td>código Apache / pesos CC-BY</td>
<td>~$0.02</td>
</tr>
</tbody>
</table>
<p>Experimente diretamente: <a href="https://huggingface.co/spaces/facebook/MusicGen" target="_blank" rel="noreferrer">demo do MusicGen ↗</a> · <a href="https://audiocraft.metademolab.com/musicgen.html" target="_blank" rel="noreferrer">playground do AudioCraft ↗</a></p>
<p><strong>Veja exemplos:</strong> <a href="https://replicate.com/meta/musicgen/examples" target="_blank" rel="noreferrer">exemplos do MusicGen ↗</a> · <a href="https://felixkreuk.github.io/audiogen/" target="_blank" rel="noreferrer">exemplos do AudioGen ↗</a></p>
<h3 id="o-que-voce-realmente-pode-usar-em-um-lancamento" tabindex="-1">O que você realmente pode usar em um lançamento <a class="header-anchor" href="#o-que-voce-realmente-pode-usar-em-um-lancamento" aria-label="Permalink to &quot;O que você realmente pode usar em um lançamento&quot;"></a></h3>
<p>O <strong>MusicGen</strong>, da Meta, ainda é uma opção prática para prototipar o áudio de jogos. Descreva o clima desejado, receba uma música correspondente e execute tudo sem problemas em uma GPU de 12 GB. Há um detalhe importante na licença: o código do MusicGen é MIT, mas os pesos do modelo são CC-BY-NC (uso não comercial). Portanto, use-o para prototipar e migre para um modelo com licença comercial, como ACE-Step ou Stable Audio, em qualquer projeto que você for lançar.</p>
<p>O <strong>modelo aberto de efeitos sonoros do Stable Audio (Small-SFX)</strong> lida com passos, rangidos de portas, vento ambiente e sons mecânicos, é executado localmente e está disponível sob a licença comunitária da Stability. Por isso, é a opção aberta de SFX para quando você precisa de sons que realmente possam ser usados comercialmente. Ele é a melhor escolha porque os outros modelos abertos de SFX vêm com restrições: o AudioGen, da Meta, usa CC-BY-NC, e o TangoFlux está sob a licença comunitária não comercial da Stability. Assim, ambos servem apenas para protótipos de um jogo que será lançado.</p>
<p>O <strong>Magenta RealTime</strong> (Google) é a exceção, no melhor sentido possível: é o único modelo com pesos abertos criado para gerar música em tempo real e permitir controle contínuo por prompts. Em vez de renderizar uma faixa pronta, ele gera música ao vivo, que você pode direcionar enquanto toca. Esse é exatamente o formato de uma trilha sonora adaptativa que muda de acordo com as ações do jogador. O código é Apache 2.0 e os pesos são CC-BY; ambos permitem uso comercial.</p>
<p>O <strong>YuE</strong> é realmente empolgante. É o primeiro modelo aberto capaz de gerar músicas completas com vocais. Músicas-tema. Música de fundo com canto de verdade. A qualidade varia, mas ele está muito à frente de qualquer outra opção que você possa baixar e executar por conta própria.</p>
<p>O <strong>ACE-Step</strong> é o modelo aberto de música que vale a pena conhecer agora, e ele evoluiu rapidamente: a linha 1.5 (janeiro de 2026, com uma variante XL maior de 5 bilhões de parâmetros) substitui o lançamento original de maio de 2025 e agora usa a licença MIT. Ele gera vários minutos de música rapidamente, oferece suporte a 19 idiomas e lida com clonagem de voz, remixes e edição de letras. Para prototipagem de jogos, ele preenche grande parte das lacunas deixadas pelo YuE e pelo MusicGen.</p>
<p>O <strong>Stable Audio 3.0</strong> (maio de 2026) é a maior atualização para áudio. Ele pode gerar músicas com até cerca de seis minutos, e a Stability disponibilizou pesos abertos para três das quatro variantes: Small e o modelo dedicado a efeitos sonoros Small-SFX são executados no dispositivo, enquanto Medium oferece melhor estrutura musical e faixas com duração completa. Apenas o modelo Large continuou restrito à API. O Small-SFX agora é a opção aberta mais forte especificamente para efeitos sonoros de jogos. Toda a família foi treinada com dados licenciados, então sua base jurídica é mais segura do que a dos geradores de música envolvidos em processos judiciais ainda não resolvidos.</p>
<p>Esta é a avaliação honesta: a diferença entre os modelos abertos e os fechados (Suno, Udio) está diminuindo, mas ainda é perceptível para músicas completas com vocais. Além disso, essas ferramentas fechadas também enfrentam processos judiciais ainda não resolvidos relacionados aos dados de treinamento. Para efeitos sonoros, os modelos abertos — especialmente o modelo SFX do Stable Audio — são realmente competitivos. Para músicas que você pretende lançar, prepare-se para muitas iterações ou contrate um músico para a produção final e use essas ferramentas em todo o restante.</p>
<h2 id="fala-e-voz" tabindex="-1">Fala e voz <a class="header-anchor" href="#fala-e-voz" aria-label="Permalink to &quot;Fala e voz&quot;"></a></h2>
<p>A geração de voz já ultrapassou há muito tempo o nível de “boa o suficiente para jogos”, e isso muda o que pequenas equipes podem fazer.</p>
<audio controls style="width: 100%;">
  <source src="/img/ai-samples/speech-sample.mp3" type="audio/mpeg">
</audio>
<p><em>Narração de jogo gerada por IA, com fala natural, ritmo adequado e emoção</em></p>
<table tabindex="0">
<thead>
<tr>
<th>Modelo</th>
<th>Organização</th>
<th>Lançamento</th>
<th>Recurso principal</th>
<th>Licença</th>
<th>Custo/min</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://github.com/QwenLM/Qwen3-TTS" target="_blank" rel="noreferrer"><strong>Qwen3-TTS</strong></a></td>
<td>Alibaba</td>
<td>jan. de 2026</td>
<td>Clonagem de voz em 3s, design de voz, 10 idiomas</td>
<td>Apache 2.0</td>
<td>~$0.002</td>
</tr>
<tr>
<td><a href="https://huggingface.co/ResembleAI/chatterbox" target="_blank" rel="noreferrer"><strong>Chatterbox</strong></a></td>
<td>Resemble AI</td>
<td>2025</td>
<td>Controle de emoção, clonagem a partir de cerca de 5s, 23 idiomas</td>
<td>MIT</td>
<td>~$0.003</td>
</tr>
<tr>
<td><a href="https://github.com/SesameAILabs/csm" target="_blank" rel="noreferrer"><strong>CSM</strong></a></td>
<td>Sesame AI</td>
<td>mar. de 2025</td>
<td>Fluxo de conversa, pausas naturais</td>
<td>Apache 2.0</td>
<td>~$0.005</td>
</tr>
<tr>
<td><a href="https://github.com/fishaudio/fish-speech" target="_blank" rel="noreferrer"><strong>Fish Speech 1.5</strong></a></td>
<td>Fish Audio</td>
<td>2024</td>
<td>Clonagem zero-shot a partir de 10 a 30s</td>
<td>código Apache / pesos CC-BY-NC-SA</td>
<td>~$0.002</td>
</tr>
<tr>
<td><a href="https://github.com/myshell-ai/OpenVoice" target="_blank" rel="noreferrer"><strong>OpenVoice V2</strong></a></td>
<td>MyShell/MIT</td>
<td>abr. de 2024</td>
<td>Controle de emoção/sotaque</td>
<td>MIT</td>
<td>~$0.003</td>
</tr>
<tr>
<td><a href="https://huggingface.co/coqui/XTTS-v2" target="_blank" rel="noreferrer"><strong>XTTS-v2</strong></a></td>
<td>Coqui (comunidade)</td>
<td>2024</td>
<td>17 idiomas, clonagem de voz</td>
<td>CPML (uso não comercial)</td>
<td>~$0.005</td>
</tr>
</tbody>
</table>
<p><strong>Ouça exemplos:</strong> <a href="https://fish.audio/" target="_blank" rel="noreferrer">vozes do Fish Audio ↗</a> · <a href="https://huggingface.co/spaces/myshell-ai/OpenVoice" target="_blank" rel="noreferrer">demo do OpenVoice ↗</a></p>
<h3 id="fazendo-npcs-soarem-como-pessoas" tabindex="-1">Fazendo NPCs soarem como pessoas <a class="header-anchor" href="#fazendo-npcs-soarem-como-pessoas" aria-label="Permalink to &quot;Fazendo NPCs soarem como pessoas&quot;"></a></h3>
<p>O <strong>CSM (Conversational Speech Model)</strong>, da Sesame, foi criado especificamente para diálogos. Ele produz pausas naturais. Mudanças de entonação. O ritmo de uma conversa de verdade. A maioria dos sistemas TTS soa como alguém lendo um roteiro, e isso fica evidente na hora. O CSM soa como alguém conversando. Essa diferença importa mais do que você imagina.</p>
<p>O <strong>Qwen3-TTS</strong> (Alibaba, janeiro de 2026) é a melhor opção para projetos comerciais. Toda a família usa a licença Apache 2.0, clona uma voz a partir de cerca de 3 segundos de áudio de referência, fala 10 idiomas e oferece design de voz baseado em descrições. Assim, você pode especificar a voz de um NPC em texto simples, em vez de procurar gravações de referência. Os modelos de 0,6 bilhão e 1,7 bilhão de parâmetros são executados em hardware modesto.</p>
<p>O <strong>Chatterbox</strong> (Resemble AI) é a escolha para vozes expressivas e usa a licença MIT, então você pode incluí-lo em um lançamento. Ele clona uma voz a partir de cerca de 5 segundos, funciona com latência inferior a 200 ms, abrange 23 idiomas e é o primeiro modelo aberto com controle de exagero emocional. Assim, um NPC pode realmente soar irritado ou assustado, em vez de monótono. Outras duas opções Apache 2.0 atendem a necessidades específicas: o <strong>Orpheus</strong> (Canopy) aceita tags de emoção embutidas, como <code>&lt;laugh&gt;</code> e <code>&lt;sigh&gt;</code>, que se encaixam perfeitamente em falas curtas de NPCs, e oferece uma variante de 150 milhões de parâmetros para hardware de baixo desempenho; já o <strong>Dia</strong> (Nari Labs) foi criado para diálogos com vários interlocutores e inclui sons não verbais, como tosses e risadas, em uma única passagem.</p>
<p>O <strong>Fish Speech</strong> e o <strong>OpenVoice</strong> fazem clonagem de voz. Grave de 10 a 30 segundos da voz de um ator e depois gere uma quantidade ilimitada de diálogos com essa voz. Pense no que isso significa: você pode contratar profissionais de voz para as falas principais e depois ampliar suas interpretações para cobrir centenas de variações e diálogos ambientes. Uma observação sobre a licença do Fish Speech: o código é aberto, mas os pesos da versão 1.5 usam CC-BY-NC-SA, então ele é uma ferramenta de prototipagem. Para jogos lançados, use o OpenVoice (MIT) ou o Qwen3-TTS (Apache 2.0).</p>
<p>O <strong>NVIDIA ACE</strong> (não é totalmente aberto, mas vale a pena conhecer) agora oferece suporte ao Qwen3-8B para implantação de NPCs no dispositivo. LLM local + TTS local + sincronização labial, tudo executado em GPUs de consumo. Essa é a stack para conversas em tempo real com NPCs sem depender de chamadas à nuvem.</p>
<p>A abordagem que faz sentido para criadores independentes é contratar profissionais de voz para os personagens principais e para as falas mais importantes. Use o Qwen3-TTS ou o OpenVoice para ampliar a cobertura com diálogos ambientes, variações e todas as falas incidentais que, de outra forma, ficariam em silêncio ou custariam caro demais.</p>
<h2 id="modelos-de-mundo-e-simulacao-de-jogos" tabindex="-1">Modelos de mundo e simulação de jogos <a class="header-anchor" href="#modelos-de-mundo-e-simulacao-de-jogos" aria-label="Permalink to &quot;Modelos de mundo e simulação de jogos&quot;"></a></h2>
<p>É aqui que tudo fica realmente estranho e empolgante. Esses modelos não geram assets estáticos. Eles geram experiências que parecem jogos.</p>
<a href="https://oasis.decart.ai/" target="_blank" style="display: block; background: linear-gradient(135deg, #2d5a27 0%, #1a3d16 100%); padding: 20px; border-radius: 12px; text-align: center; text-decoration: none; color: white;">
  <strong style="font-size: 18px;">🎮 Jogue Oasis: Minecraft gerado por IA</strong><br>
  <span style="opacity: 0.8;">Geração de mundos em tempo real, sem engine de jogo, apenas previsão por IA</span>
</a>
<table tabindex="0">
<thead>
<tr>
<th>Modelo</th>
<th>Organização</th>
<th>Lançamento</th>
<th>O que faz</th>
<th>Status</th>
<th>Custo/frame</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://github.com/eloialonso/diamond" target="_blank" rel="noreferrer"><strong>DIAMOND</strong></a></td>
<td>Pesquisa</td>
<td>2024</td>
<td>Modelo de mundo por difusão, simulação de Atari</td>
<td>Pesos abertos</td>
<td>~$0.001</td>
</tr>
<tr>
<td><a href="https://github.com/etched-ai/open-oasis" target="_blank" rel="noreferrer"><strong>Oasis</strong></a></td>
<td>Decart/Etched</td>
<td>out. de 2024</td>
<td>Geração de Minecraft em tempo real</td>
<td>Pesos do modelo de 500 milhões de parâmetros abertos</td>
<td>~$0.002</td>
</tr>
<tr>
<td><a href="https://huggingface.co/microsoft/mineworld" target="_blank" rel="noreferrer"><strong>MineWorld</strong></a></td>
<td>Microsoft</td>
<td>abr. de 2025</td>
<td>Minecraft em tempo real, alternativa aberta ao Oasis</td>
<td>MIT</td>
<td>~$0.002</td>
</tr>
<tr>
<td><a href="https://huggingface.co/tencent/Hunyuan-GameCraft-1.0" target="_blank" rel="noreferrer"><strong>Hunyuan-GameCraft</strong></a></td>
<td>Tencent</td>
<td>ago. de 2025</td>
<td>Vídeo interativo de jogo, controle por teclado/mouse</td>
<td>Tencent Community</td>
<td>~$0.005</td>
</tr>
<tr>
<td><a href="https://github.com/GameGen-X/GameGen-X" target="_blank" rel="noreferrer"><strong>GameGen-X</strong></a></td>
<td>Pesquisa</td>
<td>2024</td>
<td>Geração de vídeos de mundo aberto</td>
<td>Código + conjunto de dados abertos</td>
<td>~$0.005</td>
</tr>
<tr>
<td><a href="https://huggingface.co/nvidia/Cosmos-Predict2.5-2B" target="_blank" rel="noreferrer"><strong>NVIDIA Cosmos</strong></a></td>
<td>NVIDIA</td>
<td>out. de 2025</td>
<td>Simulação de IA física (Predict2.5)</td>
<td>NVIDIA Open Model License</td>
<td>~$0.01</td>
</tr>
<tr>
<td><a href="https://github.com/SkyworkAI/Matrix-Game" target="_blank" rel="noreferrer"><strong>Matrix-Game 3.0</strong></a></td>
<td>Skywork</td>
<td>mar. de 2026</td>
<td>Mundos interativos em 720p e tempo real, memória de longo prazo</td>
<td>Pesos abertos</td>
<td>~$0.005</td>
</tr>
<tr>
<td><a href="https://deepmind.google/blog/genie-2-a-large-scale-foundation-world-model/" target="_blank" rel="noreferrer"><strong>Genie 2</strong></a></td>
<td>DeepMind</td>
<td>dez. de 2024</td>
<td>3D interativo a partir de imagens</td>
<td>Não lançado</td>
<td>N/D</td>
</tr>
<tr>
<td><a href="https://deepmind.google/blog/genie-3-a-new-frontier-for-world-models/" target="_blank" rel="noreferrer"><strong>Genie 3</strong></a></td>
<td>DeepMind</td>
<td>ago. de 2025</td>
<td>Mundos em 720p e tempo real, eventos controláveis por prompts</td>
<td>Fechado (Project Genie)</td>
<td>N/D</td>
</tr>
</tbody>
</table>
<p>Veja a pesquisa: <a href="https://diamond-wm.github.io/" target="_blank" rel="noreferrer">página do projeto DIAMOND ↗</a> · <a href="https://huggingface.co/blog/nvidia/cosmos-predict-and-transfer2-5" target="_blank" rel="noreferrer">blog do Cosmos ↗</a>
<strong>Experimente:</strong> <a href="https://oasis.decart.ai/starting-point" target="_blank" rel="noreferrer">Demonstração ao vivo do Oasis ↗</a> · <a href="https://deepmind.google/blog/genie-2-a-large-scale-foundation-world-model/" target="_blank" rel="noreferrer">Exemplos do Genie 2 ↗</a></p>
<h3 id="por-que-isso-e-importante-para-voce" tabindex="-1">Por que isso é importante para você <a class="header-anchor" href="#por-que-isso-e-importante-para-voce" aria-label="Permalink to &quot;Por que isso é importante para você&quot;"></a></h3>
<p>O <strong>DIAMOND</strong> provou algo que muda a forma como pensamos sobre IA para jogos. É possível treinar um agente inteiramente dentro de um mundo gerado. Nenhum motor de jogo real é necessário para o treinamento. A IA joga na imaginação de um modelo de difusão e depois transfere o aprendizado para o jogo real. As implicações disso são significativas.</p>
<p>O <strong>Oasis</strong> executa um mundo semelhante ao Minecraft em tempo real. Quadro a quadro. Sem motor de jogo, sem texturas, sem assets pré-construídos. Apenas um transformer prevendo o que vem a seguir. É uma prova de conceito, mas imagine até onde isso pode chegar. A versão com 500 milhões de parâmetros já é aberta.</p>
<p>O <strong>GameGen-X</strong> lançou o maior conjunto de dados de vídeos de jogos de mundo aberto. Se você quiser treinar seus próprios modelos ou fazer o ajuste fino de modelos existentes para gerar conteúdo semelhante a jogos, este é o ponto de partida.</p>
<p>O <strong>NVIDIA Cosmos</strong> foi criado para robótica e veículos autônomos, mas seus modelos fundacionais de mundo também funcionam para jogos. Eles entendem física, permanência de objetos e relações espaciais. A linha aberta atual é a Cosmos-Predict2.5, lançada em outubro de 2025 sob a NVIDIA Open Model License, que permite uso comercial e trabalhos derivados.</p>
<p>O <strong>Hunyuan-GameCraft</strong> (Tencent, agosto de 2025) é o modelo de mundo aberto com formato mais diretamente voltado a jogos. Ele foi treinado com mais de um milhão de gravações de mais de 100 jogos AAA e unifica as entradas de teclado e mouse em um espaço de controle compartilhado, gerando vídeos interativos de jogos que você realmente controla, em vez de apenas assistir. Ele usa a mesma Tencent Community License do Hunyuan3D, com a mesma exclusão da UE, do Reino Unido e da Coreia do Sul, então verifique os termos antes de lançar nessas regiões. O <strong>MineWorld</strong> (Microsoft, MIT) é a alternativa totalmente permissiva ao Oasis: um modelo de mundo do Minecraft em tempo real que você pode baixar e executar sem um motor de jogo.</p>
<p>O <strong>Genie 3</strong> (DeepMind, anunciado em agosto de 2025) é o salto que merece atenção: o primeiro modelo de mundo com interação em tempo real, gerando mundos navegáveis em 720p a 24 fps que permanecem consistentes por alguns minutos, além de “eventos de mundo controláveis por prompt” que alteram o clima ou adicionam objetos sob comando. Ele foi aberto ao público como Project Genie em janeiro de 2026 para assinantes do Google AI Ultra nos EUA. Os pesos ainda são fechados, mas ele mostra o rumo que os mundos jogáveis e gerados estão tomando.</p>
<p>O <strong>Matrix-Game 3.0</strong> (Skywork, março de 2026) é a resposta aberta ao Genie. É um modelo de mundo interativo com memória ampliada que transmite em 720p a 40 fps em tempo real e mantém as cenas consistentes em sequências de um minuto. Uma versão destilada de 5B realiza inferência em tempo real, uma versão MoE maior de 2x14B eleva a qualidade, e os pesos estão no Hugging Face sob a Apache 2.0. Se você quiser experimentar mundos gerados jogáveis hoje, em vez de esperar pela DeepMind, este é o modelo que você realmente pode baixar.</p>
<p>Para o desenvolvimento prático de jogos hoje, essas ainda são ferramentas de pesquisa. Mas, se você trabalha com conteúdo orientado por IA, geração procedural ou simplesmente pensa sobre o rumo de tudo isso, esta é a fronteira.</p>
<h2 id="grandes-modelos-de-linguagem" tabindex="-1">Grandes modelos de linguagem <a class="header-anchor" href="#grandes-modelos-de-linguagem" aria-label="Permalink to &quot;Grandes modelos de linguagem&quot;"></a></h2>
<p>Os LLMs viabilizam diálogos, geração de missões e lógica de jogo. E as opções abertas agora competem de verdade com o GPT-4. Isso não era verdade dois anos atrás.</p>
<table tabindex="0">
<thead>
<tr>
<th>Modelo</th>
<th>Organização</th>
<th>Lançamento</th>
<th>Tamanho</th>
<th>Melhor para</th>
<th>Licença</th>
<th>Custo/1 mil tokens</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://github.com/deepseek-ai/DeepSeek-V3" target="_blank" rel="noreferrer"><strong>DeepSeek-V3</strong></a></td>
<td>DeepSeek</td>
<td>Dez. de 2024</td>
<td>MoE de 671B (37B ativos)</td>
<td>Raciocínio, uso geral</td>
<td>Permissiva</td>
<td>~$0.02</td>
</tr>
<tr>
<td><a href="https://huggingface.co/deepseek-ai/DeepSeek-R1" target="_blank" rel="noreferrer"><strong>DeepSeek-R1</strong></a></td>
<td>DeepSeek</td>
<td>Jan. de 2025</td>
<td>Baseado no V3</td>
<td>Cadeia de raciocínio</td>
<td>Permissiva</td>
<td>~$0.03</td>
</tr>
<tr>
<td><a href="https://huggingface.co/deepseek-ai/DeepSeek-V3.2" target="_blank" rel="noreferrer"><strong>DeepSeek-V3.2</strong></a></td>
<td>DeepSeek</td>
<td>Dez. de 2025</td>
<td>Atenção esparsa (DSA)</td>
<td>Raciocínio + uso de ferramentas</td>
<td>MIT</td>
<td>~$0.02</td>
</tr>
<tr>
<td><a href="https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro" target="_blank" rel="noreferrer"><strong>DeepSeek-V4</strong></a></td>
<td>DeepSeek</td>
<td>Abr. de 2026</td>
<td>MoE de 1.6T (49B ativos)</td>
<td>Raciocínio de ponta, contexto de 1M</td>
<td>MIT</td>
<td>~$0.02</td>
</tr>
<tr>
<td><a href="https://huggingface.co/zai-org/GLM-5" target="_blank" rel="noreferrer"><strong>GLM-5</strong></a></td>
<td>Zhipu / Z.ai</td>
<td>Fev. de 2026</td>
<td>MoE de 744B (40B ativos)</td>
<td>Programação, agentes, uso de ferramentas</td>
<td>MIT</td>
<td>~$0.02</td>
</tr>
<tr>
<td><a href="https://huggingface.co/openai/gpt-oss-120b" target="_blank" rel="noreferrer"><strong>GPT-OSS</strong></a></td>
<td>OpenAI</td>
<td>Ago. de 2025</td>
<td>MoE de 120B / 20B</td>
<td>Raciocínio, uso de ferramentas, execução no dispositivo</td>
<td>Apache 2.0</td>
<td>~$0.01</td>
</tr>
<tr>
<td><a href="https://huggingface.co/moonshotai" target="_blank" rel="noreferrer"><strong>Kimi K2</strong></a></td>
<td>Moonshot</td>
<td>2025</td>
<td>MoE de 1T (32B ativos)</td>
<td>Agentes, programação</td>
<td>MIT modificada</td>
<td>~$0.02</td>
</tr>
<tr>
<td><a href="https://www.kimi.com/blog/kimi-k3" target="_blank" rel="noreferrer"><strong>Kimi K3</strong></a></td>
<td>Moonshot</td>
<td>Jul. de 2026</td>
<td>MoE de 2.8T (~50B ativos)</td>
<td>Agentes de ponta, programação, contexto de 1M, visão</td>
<td>Pesos abertos (27 de jul.)</td>
<td>~$0.03</td>
</tr>
<tr>
<td><a href="https://huggingface.co/blog/gemma3" target="_blank" rel="noreferrer"><strong>Gemma 3</strong></a></td>
<td>Google</td>
<td>2025</td>
<td>1B-27B</td>
<td>Execução no dispositivo, 140 idiomas, visão</td>
<td>Gemma</td>
<td>~$0.01</td>
</tr>
<tr>
<td><a href="https://github.com/QwenLM/Qwen3" target="_blank" rel="noreferrer"><strong>Qwen3</strong></a></td>
<td>Alibaba</td>
<td>2025</td>
<td>MoE de 235B (22B ativos)</td>
<td>Multilíngue, código</td>
<td>Apache 2.0</td>
<td>~$0.01</td>
</tr>
<tr>
<td><a href="https://huggingface.co/Qwen/Qwen3-Coder-480B-A35B-Instruct" target="_blank" rel="noreferrer"><strong>Qwen3-Coder</strong></a></td>
<td>Alibaba</td>
<td>2025</td>
<td>MoE de 480B (35B ativos)</td>
<td>Programação com agentes, contexto de 256K</td>
<td>Apache 2.0</td>
<td>~$0.02</td>
</tr>
<tr>
<td><a href="https://huggingface.co/collections/meta-llama/llama-4" target="_blank" rel="noreferrer"><strong>Llama 4</strong></a></td>
<td>Meta</td>
<td>2025</td>
<td>Vários</td>
<td>Agentes, contexto de até 10M</td>
<td>Llama Community</td>
<td>~$0.01</td>
</tr>
<tr>
<td><a href="https://github.com/QwenLM/Qwen3-VL" target="_blank" rel="noreferrer"><strong>Qwen3-VL</strong></a></td>
<td>Alibaba</td>
<td>2025</td>
<td>2B-235B</td>
<td>Visão + linguagem</td>
<td>Apache 2.0</td>
<td>~$0.02</td>
</tr>
<tr>
<td><a href="https://internvl.github.io/blog/2025-04-11-InternVL-3.0/" target="_blank" rel="noreferrer"><strong>InternVL3</strong></a></td>
<td>Shanghai AI Lab</td>
<td>2025</td>
<td>1B-78B</td>
<td>Visão, OCR, compreensão de interfaces</td>
<td>MIT</td>
<td>~$0.02</td>
</tr>
</tbody>
</table>
<p>Comece por aqui: <a href="https://huggingface.co/Qwen/Qwen3-8B" target="_blank" rel="noreferrer">Qwen3-8B no Hugging Face ↗</a> · <a href="https://huggingface.co/deepseek-ai/DeepSeek-V3" target="_blank" rel="noreferrer">DeepSeek-V3 no Hugging Face ↗</a> · <a href="https://huggingface.co/zai-org/GLM-5" target="_blank" rel="noreferrer">GLM-5 no Hugging Face ↗</a></p>
<h3 id="para-criar-jogos" tabindex="-1">Para criar jogos <a class="header-anchor" href="#para-criar-jogos" aria-label="Permalink to &quot;Para criar jogos&quot;"></a></h3>
<p>O <strong>Qwen3</strong> é a escolha prática para a maioria dos usos em jogos. A licença Apache 2.0 significa que sua integração pertence a você. O forte suporte multilíngue é importante se você estiver pensando em localização. Ele segue bem instruções estruturadas. As variantes 7B e 14B são executadas localmente em GPUs de consumo.</p>
<p>O <strong>DeepSeek-V3</strong> iguala ou supera o GPT-4 na maioria dos benchmarks. A arquitetura é engenhosa: apenas 37B parâmetros são ativados por token, apesar do total de 671B. Você precisa de hardware robusto, com várias GPUs, mas obtém qualidade de ponta sem depender de uma API.</p>
<p>O <strong>DeepSeek-V3.2</strong> (dezembro de 2025) reúne raciocínio e uso de ferramentas em um único modelo e apresenta o DeepSeek Sparse Attention (DSA), que reduz o custo da inferência com contextos longos, além de uma variante Speciale de alto poder computacional voltada aos principais benchmarks de raciocínio. Para lógica de jogo e diálogos, ele é um substituto direto do V3 mais robusto e com maior capacidade de atuar como agente.</p>
<p>O <strong>DeepSeek-V4</strong> (abril de 2026) voltou a avançar a fronteira aberta. O V4-Pro é um MoE de 1,6 trilhão de parâmetros, com apenas 49B ativos por token, uma janela de contexto de 1 milhão de tokens e modos de raciocínio selecionáveis, tudo sob a licença MIT. A variante V4-Flash, com 284B no total e 13B ativos, mantém o contexto de 1M em um pacote que não exige um cluster completo de GPUs. Se você estiver escolhendo hoje um modelo aberto para lógica complexa de missões ou contextos extensos de estado do jogo, este é o limite atual.</p>
<p>O <strong>GLM-5</strong> (Zhipu AI, fevereiro de 2026) é o modelo aberto a superar em programação e trabalhos com agentes, e a atualização GLM-5.2 elevou suas pontuações em uso de ferramentas e planejamento de longo prazo para perto da fronteira dos modelos fechados. É um MoE de 744B parâmetros, com 40B ativos por token, contexto de 200 mil tokens e licença MIT. A Z.ai é a primeira empresa de modelos fundacionais com ações negociadas em bolsa e oferece preços agressivos para sua API hospedada, por volta de US$ 1,40 por milhão de tokens de entrada, mas os pesos estão no Hugging Face se você preferir hospedar o modelo por conta própria. Se o seu jogo depende de um LLM para criação de scripts de missões, agentes que chamam ferramentas ou sistemas orientados por código, o GLM-5 é uma alternativa robusta à OpenAI que você controla por completo.</p>
<p>O <strong>GPT-OSS</strong> (OpenAI, agosto de 2025) é o primeiro lançamento de pesos abertos da OpenAI e se encaixa diretamente no tema deste guia. O modelo gpt-oss-120b raciocina e chama ferramentas aproximadamente no nível do o4-mini em uma única GPU de 80 GB, enquanto o gpt-oss-20b é executado em uma placa de consumo com 16 GB; ambos usam a licença Apache 2.0. Se você quiser um modelo de um laboratório ocidental que possa hospedar por conta própria para lógica de NPCs ou agentes que usam ferramentas, esta é a escolha.</p>
<p>O <strong>Kimi K2</strong> (Moonshot) é o outro peso-pesado aberto para agentes, ao lado do GLM-5 e do DeepSeek. É um MoE de 1 trilhão de parâmetros, com 32B ativos, fortemente ajustado para programação e uso de ferramentas. Sua licença MIT modificada só acrescenta restrições acima de 100 milhões de usuários mensais, portanto, para estúdios independentes, ela é efetivamente uma licença MIT. Use-o quando um agente precisar planejar muitas etapas.</p>
<p>O <strong>Kimi K3</strong> (Moonshot, julho de 2026) é o maior modelo de pesos abertos já anunciado e chega mais perto da fronteira fechada do que qualquer modelo aberto anterior. É um MoE de 2,8 trilhões de parâmetros, com apenas cerca de 50B ativos por token — 16 de 896 especialistas —, contexto de 1M tokens e visão nativa, construído sobre dois novos mecanismos de atenção chamados Kimi Delta Attention e Attention Residuals. Segundo os números da Moonshot, ele supera o Claude Opus 4.8 e o GPT-5.5 em benchmarks de programação e agentes, ficando atrás apenas dos melhores modelos proprietários. O problema é a escala: os pesos serão lançados em 27 de julho de 2026 com aproximadamente 1,4 TB em MXFP4, então a hospedagem própria exige um cluster de GPUs com vários nós, e a maioria das equipes usará a API, a US$ 3 por milhão de tokens de entrada e US$ 15 por milhão de tokens de saída. Para agentes que você realmente consegue executar por conta própria, o K2 continua sendo a opção prática da Moonshot, mas o K3 redefine o que “aberto” pode significar no topo.</p>
<p>O <strong>Gemma 3</strong> (Google) é a melhor opção quando você precisa executar o modelo no hardware do jogador ou localizar seu jogo para vários idiomas. Ele está disponível em tamanhos de 1B, 4B, 12B e 27B, portanto escala a partir de uma placa de 8 GB, trabalha com 140 idiomas, permite chamadas de funções e, nas variantes de 4B ou mais, também processa imagens, funcionando também como um pequeno modelo de visão. A licença Gemma permite uso comercial.</p>
<p>O <strong>Qwen3-Coder</strong> (Alibaba) é o modelo aberto especializado em programação, substituindo a antiga linha DeepSeek-Coder na maioria dos usos. É um MoE de 480B, com 35B ativos, contexto nativo de 256K — extensível a 1M —, licença Apache 2.0 e desempenho na categoria do Claude Sonnet em benchmarks de programação com agentes. Se o seu jogo gera ou executa código, este é o limite dos modelos abertos. A família europeia <strong>Mistral</strong> — Devstral para programação e Mistral Small 3.x para execução no dispositivo, ambos sob a Apache 2.0 — é uma alternativa sólida para hospedagem própria.</p>
<p>O <strong>Qwen3-VL</strong> acrescenta compreensão visual, com modelos densos e MoE de 2B a 235B sob a Apache 2.0. É útil para jogos que precisam analisar capturas de tela, compreender conteúdo desenhado pelo jogador ou processar a entrada de uma câmera. A variante 8B é executada em uma única GPU. O <strong>InternVL3</strong> (Shanghai AI Lab, MIT) é outra opção aberta robusta de visão e linguagem, especialmente competente em OCR e compreensão de interfaces, o que é importante se suas ferramentas precisam interpretar interfaces de jogos; o <strong>Pixtral 12B</strong> da Mistral (Apache 2.0) é uma opção mais leve e segura para uso comercial.</p>
<p>Para NPCs executados no dispositivo, com personagens que respondem em tempo real sem chamadas à nuvem, o <strong>Qwen3-8B</strong> por meio do NVIDIA ACE é o caminho mais prático atualmente. Ele é executado junto ao seu jogo no hardware do jogador.</p>
<h2 id="modelos-utilitarios" tabindex="-1">Modelos utilitários <a class="header-anchor" href="#modelos-utilitarios" aria-label="Permalink to &quot;Modelos utilitários&quot;"></a></h2>
<p>Eles não geram conteúdo diretamente, mas fazem seus pipelines funcionarem.</p>
<p><img src="/img/ai-samples/sam2-sample.jpg" alt="Segmentação com o SAM 2">
<em>O SAM 2 segmenta qualquer objeto em imagens e vídeos. Clique uma vez e obtenha uma máscara perfeita</em></p>
<table tabindex="0">
<thead>
<tr>
<th>Modelo</th>
<th>Organização</th>
<th>Lançamento</th>
<th>O que faz</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://github.com/facebookresearch/sam2" target="_blank" rel="noreferrer"><strong>SAM 2</strong></a></td>
<td>Meta</td>
<td>Ago. de 2024</td>
<td>Segmenta qualquer elemento em imagens e vídeos</td>
</tr>
<tr>
<td><a href="https://github.com/apple/ml-depth-pro" target="_blank" rel="noreferrer"><strong>Depth Pro</strong></a></td>
<td>Apple</td>
<td>Out. de 2024</td>
<td>Estima profundidade métrica a partir de uma única imagem</td>
</tr>
<tr>
<td><a href="https://github.com/nerfstudio-project/gsplat" target="_blank" rel="noreferrer"><strong>gsplat</strong></a></td>
<td>Nerfstudio</td>
<td>2024+</td>
<td>Gaussian splatting acelerado por CUDA</td>
</tr>
</tbody>
</table>
<p>O <strong>SAM 2</strong> segmenta objetos em vídeos em tempo real. Clique em algo e obtenha uma máscara perfeita. É útil para rotoscopia, composição ou extração de objetos de filmagens para uso como assets de jogos. <a href="https://github.com/huggingface/sam2-studio" target="_blank" rel="noreferrer">Experimente o SAM 2 ↗</a></p>
<p>O <strong>Depth Pro</strong> da Apple produz mapas de profundidade métrica a partir de imagens individuais em menos de um segundo. Isso abre muitas possibilidades: converter arte 2D em 2.5D com efeitos de paralaxe, gerar dados de profundidade para reconstrução 3D e criar mapas de normais a partir de imagens planas. <a href="https://huggingface.co/apple/DepthPro-hf" target="_blank" rel="noreferrer">Depth Pro no Hugging Face ↗</a></p>
<p>O <strong>gsplat</strong> é uma implementação rápida de Gaussian splatting. Se você estiver capturando ambientes reais para jogos, seja por fotogrametria ou escaneamento de ambientes, esta é a biblioteca que torna o processo viável.</p>
<h2 id="o-que-eu-realmente-usaria" tabindex="-1">O que eu realmente usaria <a class="header-anchor" href="#o-que-eu-realmente-usaria" aria-label="Permalink to &quot;O que eu realmente usaria&quot;"></a></h2>
<p>Se você está começando um projeto de jogo hoje, esta é a combinação de ferramentas que faz sentido:</p>
<p><strong>Texturas e sprites</strong>: FLUX.1 [schnell], Apache 2.0, iteração rápida e qualidade pronta para lançamento</p>
<p><strong>Arte conceitual</strong>: SD 3.5 Large com LoRAs para controle de estilo</p>
<p><strong>Assets 3D</strong>: Hunyuan3D 2.1 ou TRELLIS.2 para malhas texturizadas, SAM 3D quando o ponto de partida for uma foto e, depois, Blender para os ajustes finais</p>
<p><strong>Rigging automático</strong>: UniRig ou NVIDIA SOMA-X para criar esqueletos e aplicar skinning às malhas geradas — ambos são abertos — em vez de depender do Mixamo</p>
<p><strong>Efeitos sonoros</strong>: modelo aberto Small-SFX do Stable Audio, executado localmente e com licença comercial</p>
<p><strong>Música</strong>: ACE-Step para protótipos e, depois, um compositor para a produção final</p>
<p><strong>Voz</strong>: Qwen3-TTS para clonagem e diálogos de ambientação (Apache 2.0), Chatterbox (MIT) quando uma fala precisar de emoção real e atores de voz para as falas que importam</p>
<p><strong>Diálogos de NPCs</strong>: Qwen3-8B localmente ou um LLM em nuvem que permita hospedagem própria — GLM-5 ou DeepSeek-V4 — para raciocínio complexo e uso de ferramentas</p>
<p><strong>Vídeo (cinemáticas)</strong>: Mochi 1 localmente e HunyuanVideo na nuvem quando você precisar da qualidade final</p>
<p>A questão sobre tudo isso é a seguinte: o erro comum é tentar usar IA para tudo. São ferramentas, não substitutos. Elas reduzem o trabalho tedioso de tarefas como iteração, criação de variações e assets provisórios, para que você possa dedicar seu tempo às decisões criativas que realmente importam. Às partes que tornam o seu jogo verdadeiramente seu.</p>
<h2 id="uma-analise-realista-do-hardware" tabindex="-1">Uma análise realista do hardware <a class="header-anchor" href="#uma-analise-realista-do-hardware" aria-label="Permalink to &quot;Uma análise realista do hardware&quot;"></a></h2>
<p>Sejamos honestos sobre o que você realmente precisa para executar tudo isso:</p>
<p><strong>8 GB de VRAM</strong> (RTX 3060, 4060): SD 1.5/SDXL, Wan 2.1 pequeno, AudioGen, Fish Speech e LLMs pequenos (7B quantizados). É o nível de um notebook gamer e já basta para começar.
<strong>12 GB de VRAM</strong> (RTX 3080, 4070): SD 3.5, FLUX schnell, Mochi 1, MusicGen, TripoSR, Qwen 14B quantizado. É aqui que as coisas começam a ficar confortáveis. A maioria dos modelos úteis roda nessa configuração.</p>
<p><strong>24 GB de VRAM</strong> (RTX 3090, 4090): a maioria dos modelos com precisão total, InstantMesh e LLMs maiores. Se você pretende levar esse fluxo de trabalho a sério, esse é o ponto ideal.</p>
<p><strong>48–80 GB de VRAM</strong> (A100, H100): HunyuanVideo, LTX-2, DeepSeek-V3 e geração em escala de produção. Hardware empresarial. Você não vai comprar isso, vai alugá-lo.</p>
<p>Instâncias em nuvem na RunPod, Lambda Labs ou Modal custam entre US$ 2 e US$ 4 por hora para GPUs A100. Para uso ocasional, isso sai mais barato do que comprar o hardware. Inicie uma instância quando precisar da qualidade final e desligue-a ao terminar.</p>
<p><strong>Sobre as estimativas de custo deste guia</strong>: os custos por geração consideram inferência auto-hospedada em GPUs na nuvem por cerca de US$ 2–3/hora (A100) ou US$ 0,40/hora (RTX 4090). Os custos reais variam conforme o hardware, a otimização e o tamanho dos lotes. Esses são valores aproximados para planejamento, portanto sua experiência pode variar.</p>
<h2 id="novidades-de-2026" tabindex="-1">Novidades de 2026 <a class="header-anchor" href="#novidades-de-2026" aria-label="Permalink to &quot;Novidades de 2026&quot;"></a></h2>
<p><strong>Lançamentos recentes</strong>: LTX-2 e LTX-2.3 trouxeram geração aberta e sincronizada de áudio e vídeo, com 4K nativo. O TRELLIS.2 da Microsoft (dezembro de 2025) tornou-se o líder aberto em conversão de imagem para 3D, e o SAM 3D da Meta (novembro de 2025) tornou prática a reconstrução 3D a partir de uma única foto. O FLUX.2 substituiu o FLUX.1 na geração de imagens, e o SOMA-X da NVIDIA trouxe rigging automático e retargeting abertos. O primeiro semestre de 2026 manteve o ritmo: o Qwen3-TTS (janeiro) deu à clonagem de voz um verdadeiro lar sob a licença Apache 2.0; o GLM-5 da Zhipu (fevereiro) lançou, sob a licença MIT, um modelo aberto de 744 bilhões de parâmetros voltado a programação e agentes; o Matrix-Game 3.0 da Skywork (março) disponibilizou pesos abertos para um modelo de mundo interativo em tempo real; o DeepSeek-V4 (abril) levou os LLMs abertos a um contexto de 1 milhão de tokens sob a licença MIT; o Stable Audio 3.0 (maio) lançou três modelos de áudio abertos treinados com dados licenciados; e a Ideogram lançou seu primeiro modelo de imagem com pesos abertos (junho). Em julho, a Moonshot anunciou o Kimi K3, um modelo de 2,8 trilhões de parâmetros com pesos abertos que supera o Claude Opus 4.8 e o GPT-5.5 em benchmarks de agentes, com os pesos chegando em 27 de julho.</p>
<p><strong>A tendência a acompanhar</strong>: os principais laboratórios estão mantendo cada vez mais seus modelos mais recentes disponíveis apenas por API, mesmo quando as versões anteriores eram abertas. O Wan tornou-se fechado na versão 2.5 e continuou assim até a 2.7, o Qwen-Image fechou na versão 2.0 e o Hunyuan3D, na 2.5. O ecossistema aberto continua vibrante e evoluindo rapidamente, mas já não é seguro presumir que “a versão mais recente é aberta”. Portanto, confira a disponibilidade dos pesos antes de criar um pipeline em torno de um modelo.</p>
<p>A trajetória é clara: toda capacidade que existe em modelos fechados aparece em modelos abertos de 6 a 12 meses depois. A questão não é se os modelos abertos serão bons o bastante. Para a maioria dos usos, eles já são. A questão é quando eles se tornarão o padrão.</p>
<p>E isto é o que isso significa para criadores: as ferramentas que antes exigiam orçamentos empresariais ou assinaturas mensais estão se tornando algo que você pode simplesmente... executar. No seu próprio hardware. Sem precisar da permissão de ninguém.</p>
<p>Essa é a mudança. É para isso que estamos construindo.</p>
<hr>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="qual-e-o-melhor-modelo-de-ia-de-codigo-aberto-para-gerar-assets-de-jogos" tabindex="-1">Qual é o melhor modelo de IA de código aberto para gerar assets de jogos? <a class="header-anchor" href="#qual-e-o-melhor-modelo-de-ia-de-codigo-aberto-para-gerar-assets-de-jogos" aria-label="Permalink to &quot;Qual é o melhor modelo de IA de código aberto para gerar assets de jogos?&quot;"></a></h3>
<p>Depende do asset. Para modelos 3D, o Hunyuan3D é a opção aberta mais potente em 2026. Para arte 2D e texturas, o FLUX lidera em qualidade. Para efeitos sonoros e música, os modelos de áudio abertos evoluíram rapidamente. Não existe um único modelo “melhor”, porque jogos precisam de muitos tipos de assets. Por isso, a maioria dos criadores encadeia alguns modelos em vez de depender de apenas um.</p>
<h3 id="os-modelos-de-ia-de-codigo-aberto-sao-bons-o-bastante-para-substituir-apis-fechadas" tabindex="-1">Os modelos de IA de código aberto são bons o bastante para substituir APIs fechadas? <a class="header-anchor" href="#os-modelos-de-ia-de-codigo-aberto-sao-bons-o-bastante-para-substituir-apis-fechadas" aria-label="Permalink to &quot;Os modelos de IA de código aberto são bons o bastante para substituir APIs fechadas?&quot;"></a></h3>
<p>Para a maioria dos trabalhos com assets de jogos em 2026, sim. Os modelos abertos agora alcançam as APIs fechadas na geração de imagens, 3D e áudio, e você pode executá-los no seu próprio hardware, sem taxas por chamada nem mudanças inesperadas de preço. Os modelos fechados ainda lideram em algumas tarefas de ponta, como vídeos longos, mas essa diferença geralmente desaparece em um período de 6 a 12 meses.</p>
<h3 id="posso-executar-esses-modelos-de-ia-generativa-na-minha-propria-gpu" tabindex="-1">Posso executar esses modelos de IA generativa na minha própria GPU? <a class="header-anchor" href="#posso-executar-esses-modelos-de-ia-generativa-na-minha-propria-gpu" aria-label="Permalink to &quot;Posso executar esses modelos de IA generativa na minha própria GPU?&quot;"></a></h3>
<p>Muitos deles, sim. Modelos de imagem e áudio rodam tranquilamente em uma única GPU para consumidores, como uma RTX 4090. Modelos maiores de vídeo e 3D exigem mais VRAM e, muitas vezes, uma GPU em nuvem da categoria da A100. A seção sobre hardware acima informa o que cada modelo exige para que você possa se planejar antes de assumir o compromisso.</p>
<h3 id="e-legal-usar-assets-gerados-por-ia-em-um-jogo-comercial" tabindex="-1">É legal usar assets gerados por IA em um jogo comercial? <a class="header-anchor" href="#e-legal-usar-assets-gerados-por-ia-em-um-jogo-comercial" aria-label="Permalink to &quot;É legal usar assets gerados por IA em um jogo comercial?&quot;"></a></h3>
<p>Em geral, sim, no caso de modelos de código aberto que você mesmo executa, mas isso depende da licença do modelo e das premissas sobre seus dados de treinamento. Sempre verifique a licença específica do modelo e informe o uso de conteúdo gerado por IA quando a plataforma exigir. Consulte nossa <a href="/pt-BR/ai-content.html">política de conteúdo gerado por IA</a> para saber como lidamos com isso.</p>
<hr>
<h2 id="mais-leituras" tabindex="-1">Mais leituras <a class="header-anchor" href="#mais-leituras" aria-label="Permalink to &quot;Mais leituras&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/blog/2026-01-18-ai-controversy-and-post-ai-economy.html">Controvérsia sobre IA, confiança e a economia pós-IA</a> — nossa posição sobre IA em jogos</li>
<li><a href="/pt-BR/ai-content.html">Política de conteúdo gerado por IA</a> — como lidamos com a divulgação do uso de IA</li>
<li><a href="/pt-BR/guides/web-games-stack-2026.html">Stack tecnológico para jogos web em 2026</a> — WebGL, WebGPU e Wasm para jogos</li>
<li><a href="/pt-BR/guides/browser-3d-open-world-tech.html">Tecnologia para mundos abertos 3D no navegador</a> — como usar assets 3D gerados por IA em mundos no navegador</li>
<li><a href="/pt-BR/guides/landscape-generation-browser.html">Geração de paisagens para mundos abertos no navegador</a> — síntese de terrenos baseada em difusão</li>
<li><a href="/pt-BR/guides/game-assets-guide.html">Onde encontrar assets gratuitos para jogos</a> — fontes tradicionais de assets junto à geração por IA</li>
<li><a href="/pt-BR/tutorials/agentic-code-tools.html">Ferramentas de código com IA agêntica</a> — IA para escrever código de jogos, não apenas gerar assets</li>
</ul>
<BuildCta
  title="Veja esses modelos criarem um jogo, não apenas assets"
  desc="Modelos generativos são mais divertidos quando o resultado é jogável."
  prompt="Crie um jogo em que eu explore uma estranha paisagem alienígena gerada por IA" />
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/frontier-gen-ai-models.jpg?v=4" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Licenças de Assets de Jogos Explicadas (CC0, CC-BY, Royalty-Free)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/game-asset-licenses</link>
            <guid>https://app.cinevva.com/pt-BR/guides/game-asset-licenses</guid>
            <pubDate>Sun, 18 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Como as licenças de assets de jogos funcionam em linguagem simples — CC0, CC-BY, CC-BY-SA, royalty-free, editorial, MIT e GPL — e quais são seguras para uso em um jogo comercial.]]></description>
            <content:encoded><![CDATA[<h1 id="licencas-de-assets-de-jogos-explicadas-cc0-cc-by-royalty-free" tabindex="-1">Licenças de Assets de Jogos Explicadas (CC0, CC-BY, Royalty-Free) <a class="header-anchor" href="#licencas-de-assets-de-jogos-explicadas-cc0-cc-by-royalty-free" aria-label="Permalink to &quot;Licenças de Assets de Jogos Explicadas (CC0, CC-BY, Royalty-Free)&quot;"></a></h1>
<p><em>Última atualização: julho de 2026.</em></p>
<p>Uma licença de asset de jogo consiste nas regras definidas pelo criador sobre como você pode usar seu modelo 3D, textura, efeito sonoro ou música. As licenças mais seguras para um jogo comercial são a CC0 (domínio público, sem necessidade de atribuição) e a royalty-free (pague uma vez e use para sempre), pois ambas permitem uso comercial sem taxas recorrentes. A CC-BY também pode ser usada em um jogo comercial, desde que você atribua o devido crédito ao criador, enquanto licenças não comerciais (CC-BY-NC) e assets exclusivamente editoriais não podem ser incluídos em um jogo que você vende. Este guia explica cada licença em linguagem simples para que você possa usar assets gratuitos e pagos em seus jogos sem problemas jurídicos.</p>
<h2 id="por-que-as-licencas-sao-importantes" tabindex="-1">Por Que as Licenças São Importantes <a class="header-anchor" href="#por-que-as-licencas-sao-importantes" aria-label="Permalink to &quot;Por Que as Licenças São Importantes&quot;"></a></h2>
<p>Toda obra criativa — modelos 3D, texturas, efeitos sonoros e músicas — é protegida por direitos autorais. Por padrão, ela pertence ao criador. Uma <strong>licença</strong> é a permissão do criador para que você use a obra dele sob determinados termos.</p>
<p><strong>Usar assets sem entender a licença pode resultar em:</strong></p>
<ul>
<li>Remoções do seu jogo por DMCA</li>
<li>Ações judiciais de detentores de direitos autorais</li>
<li>Remoção forçada das lojas de aplicativos</li>
<li>Indenizações financeiras</li>
</ul>
<p><strong>A boa notícia:</strong> A maioria dos assets de jogos tem licenças claras e permissivas. Você só precisa entender o que elas permitem.</p>
<hr>
<h2 id="referencia-rapida-de-licencas" tabindex="-1">Referência Rápida de Licenças <a class="header-anchor" href="#referencia-rapida-de-licencas" aria-label="Permalink to &quot;Referência Rápida de Licenças&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Licença</th>
<th>Uso Comercial</th>
<th>Atribuição</th>
<th>Modificação</th>
<th>Compartilhamento pela Mesma Licença</th>
<th>Fornecedores</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>CC0</strong></td>
<td>✅ Sim</td>
<td>❌ Não</td>
<td>✅ Sim</td>
<td>❌ Não</td>
<td>Poly Haven, Kenney, Quaternius, AmbientCG, alguns no Freesound</td>
</tr>
<tr>
<td><strong>CC-BY</strong></td>
<td>✅ Sim</td>
<td>✅ Obrigatória</td>
<td>✅ Sim</td>
<td>❌ Não</td>
<td>Sketchfab, OpenGameArt, alguns no Freesound</td>
</tr>
<tr>
<td><strong>CC-BY-SA</strong></td>
<td>✅ Sim</td>
<td>✅ Obrigatória</td>
<td>✅ Sim</td>
<td>✅ Obrigatório</td>
<td>OpenGameArt, alguns no Freesound</td>
</tr>
<tr>
<td><strong>CC-BY-NC</strong></td>
<td>❌ Não</td>
<td>✅ Obrigatória</td>
<td>✅ Sim</td>
<td>❌ Não</td>
<td>Alguns no Sketchfab, itch.io e Freesound</td>
</tr>
<tr>
<td><strong>CC-BY-NC-SA</strong></td>
<td>❌ Não</td>
<td>✅ Obrigatória</td>
<td>✅ Sim</td>
<td>✅ Obrigatório</td>
<td>Vários</td>
</tr>
<tr>
<td><strong>Royalty-Free</strong></td>
<td>✅ Sim</td>
<td>❌ Geralmente não</td>
<td>✅ Sim</td>
<td>❌ Não</td>
<td>Synty, CGTrader, TurboSquid</td>
</tr>
<tr>
<td><strong>Somente Editorial</strong></td>
<td>❌ Não*</td>
<td>Varia</td>
<td>⚠️ Limitada</td>
<td>❌ Não</td>
<td>TurboSquid (alguns)</td>
</tr>
<tr>
<td><strong>MIT</strong></td>
<td>✅ Sim</td>
<td>✅ Obrigatória</td>
<td>✅ Sim</td>
<td>❌ Não</td>
<td>Three.js, pmndrs</td>
</tr>
<tr>
<td><strong>GPL</strong></td>
<td>✅ Sim</td>
<td>✅ Obrigatória</td>
<td>✅ Sim</td>
<td>✅ Obrigatório</td>
<td>Alguns no OpenGameArt</td>
</tr>
</tbody>
</table>
<p><strong>Observação sobre o Freesound:</strong> O Freesound mistura diferentes licenças para cada som. Os sons individuais podem ter licenças CC0, CC-BY, CC-BY-SA ou CC-BY-NC, portanto, verifique cada arquivo antes de baixá-lo. Os sons CC-BY-NC não podem ser incluídos em um jogo comercial.</p>
<hr>
<h2 id="licencas-creative-commons" tabindex="-1">Licenças Creative Commons <a class="header-anchor" href="#licencas-creative-commons" aria-label="Permalink to &quot;Licenças Creative Commons&quot;"></a></h2>
<p>As licenças Creative Commons (CC) são as mais comuns para assets gratuitos de jogos. Elas são padronizadas, reconhecidas internacionalmente e fáceis de entender.</p>
<h3 id="cc0-—-dedicacao-ao-dominio-publico" tabindex="-1">CC0 — Dedicação ao Domínio Público <a class="header-anchor" href="#cc0-—-dedicacao-ao-dominio-publico" aria-label="Permalink to &quot;CC0 — Dedicação ao Domínio Público&quot;"></a></h3>
<p><strong>A licença mais permissiva. Trate o asset como se não houvesse direitos autorais.</strong></p>
<table tabindex="0">
<thead>
<tr>
<th>O Que Você Pode Fazer</th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>Usar comercialmente</td>
<td>✅</td>
</tr>
<tr>
<td>Usar em jogos de código fechado</td>
<td>✅</td>
</tr>
<tr>
<td>Modificar, remixar e transformar</td>
<td>✅</td>
</tr>
<tr>
<td>Distribuir e compartilhar</td>
<td>✅</td>
</tr>
<tr>
<td>Usar sem dar crédito</td>
<td>✅</td>
</tr>
<tr>
<td>Alegar que é sua própria obra</td>
<td>⚠️ Legalmente sim, mas eticamente questionável</td>
</tr>
</tbody>
</table>
<p><strong>Em linguagem simples:</strong> Faça o que quiser. Sem restrições. Não é necessário dar crédito.</p>
<p><strong>Fornecedores que usam CC0:</strong></p>
<ul>
<li>Poly Haven (todos os assets)</li>
<li>Kenney (todos os assets)</li>
<li>Quaternius (todos os assets)</li>
<li>AmbientCG (todos os assets)</li>
<li>Alguns no OpenGameArt, Freesound e Sketchfab</li>
</ul>
<p><strong>Exemplo de uso:</strong> Baixe uma nave espacial do Kenney, modifique-a, venda seu jogo por US$ 20 e nunca mencione o Kenney. É perfeitamente legal.</p>
<p><strong>Por que os criadores escolhem a CC0:</strong> Para maximizar a adoção. Muitos criadores querem que seu trabalho seja amplamente utilizado e não se importam com atribuição.</p>
<hr>
<h3 id="cc-by-—-atribuicao" tabindex="-1">CC-BY — Atribuição <a class="header-anchor" href="#cc-by-—-atribuicao" aria-label="Permalink to &quot;CC-BY — Atribuição&quot;"></a></h3>
<p><strong>Use livremente, mas você deve dar crédito.</strong></p>
<table tabindex="0">
<thead>
<tr>
<th>O Que Você Pode Fazer</th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>Usar comercialmente</td>
<td>✅</td>
</tr>
<tr>
<td>Usar em jogos de código fechado</td>
<td>✅</td>
</tr>
<tr>
<td>Modificar, remixar e transformar</td>
<td>✅</td>
</tr>
<tr>
<td>Distribuir e compartilhar</td>
<td>✅</td>
</tr>
<tr>
<td>Usar sem dar crédito</td>
<td>❌ É obrigatório dar crédito</td>
</tr>
</tbody>
</table>
<p><strong>Requisitos de atribuição:</strong></p>
<ol>
<li>Informar o nome do criador</li>
<li>Informar o nome da licença (CC-BY 4.0)</li>
<li>Incluir um link para a licença (quando viável)</li>
<li>Indicar se foram feitas alterações</li>
</ol>
<p><strong>Em linguagem simples:</strong> Use como quiser, mas dê crédito ao criador.</p>
<p><strong>Onde incluir a atribuição:</strong></p>
<ul>
<li>Tela de créditos do jogo</li>
<li>Arquivo README ou CREDITS.txt</li>
<li>Seção Sobre/Informações legais</li>
<li>Site do jogo</li>
</ul>
<p><strong>Exemplo de atribuição:</strong></p>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>"Modelo de Nave Espacial", por John Artist</span></span>
<span class="line"><span>Licenciado sob CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)</span></span>
<span class="line"><span>Modificações: escala ajustada e textura de emissão adicionada</span></span></code></pre>
</div><p><strong>Fornecedores que usam CC-BY:</strong></p>
<ul>
<li>Muitos modelos do Sketchfab</li>
<li>Muitos assets do OpenGameArt</li>
<li>Alguns áudios do Freesound</li>
<li>BlendSwap</li>
</ul>
<p><strong>OGA-BY:</strong> O OpenGameArt também tem sua própria licença OGA-BY, uma variante da CC-BY sem a cláusula de DRM, o que a torna mais adequada para jogos distribuídos com DRM. Trate-a como a CC-BY e dê crédito ao criador.</p>
<p><strong>Uma observação sobre o Sketchfab:</strong> Sua loja paga foi encerrada e as vendas migraram para o marketplace Fab, da Epic, mas os downloads gratuitos sob Creative Commons e CC0 ainda funcionam no Sketchfab atualmente. O Sketchfab afirmou que avisará com antecedência antes que o conteúdo gratuito para download seja removido. Portanto, se você estiver obtendo modelos CC-BY ou CC0 por lá, baixe e arquive o que precisar, em vez de presumir que o link continuará disponível para sempre.</p>
<hr>
<h3 id="cc-by-sa-—-atribuicao-e-compartilhamento-pela-mesma-licenca" tabindex="-1">CC-BY-SA — Atribuição e Compartilhamento pela Mesma Licença <a class="header-anchor" href="#cc-by-sa-—-atribuicao-e-compartilhamento-pela-mesma-licenca" aria-label="Permalink to &quot;CC-BY-SA — Atribuição e Compartilhamento pela Mesma Licença&quot;"></a></h3>
<p><strong>Use livremente e dê crédito, mas as obras derivadas devem usar a mesma licença.</strong></p>
<table tabindex="0">
<thead>
<tr>
<th>O Que Você Pode Fazer</th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>Usar comercialmente</td>
<td>✅</td>
</tr>
<tr>
<td>Usar em jogos de código fechado</td>
<td>✅ (o jogo em si)</td>
</tr>
<tr>
<td>Modificar, remixar e transformar</td>
<td>✅</td>
</tr>
<tr>
<td>Distribuir e compartilhar</td>
<td>✅</td>
</tr>
<tr>
<td>Usar sem dar crédito</td>
<td>❌ É obrigatório dar crédito</td>
</tr>
<tr>
<td>Manter obras derivadas como proprietárias</td>
<td>❌ É obrigatório usar a mesma licença</td>
</tr>
</tbody>
</table>
<p><strong>A condição de &quot;Compartilhamento pela Mesma Licença&quot;:</strong> Se você modificar o asset e distribuir a versão modificada, ela também deverá ser licenciada sob CC-BY-SA.</p>
<p><strong>Esclarecimento importante para jogos:</strong></p>
<ul>
<li>O <strong>código do seu jogo</strong> NÃO precisa ser de código aberto</li>
<li>Seu <strong>jogo</strong> pode ser comercial e de código fechado</li>
<li>Somente o <strong>asset em si</strong> (e suas obras derivadas) deve permanecer sob CC-BY-SA</li>
<li>Se alguém extrair o asset do seu jogo, poderá usá-lo sob a CC-BY-SA</li>
</ul>
<p><strong>Em linguagem simples:</strong> Dê crédito ao criador. Se você compartilhar uma versão modificada do asset, ela continuará sob CC-BY-SA.</p>
<p><strong>Quando ter cuidado:</strong></p>
<ul>
<li>Se você estiver criando um pacote de assets ou template</li>
<li>Se estiver redistribuindo assets em um kit de ferramentas</li>
<li>Se seu jogo permitir que os usuários extraiam os assets brutos</li>
</ul>
<hr>
<h3 id="cc-by-nc-—-atribuicao-e-uso-nao-comercial" tabindex="-1">CC-BY-NC — Atribuição e Uso Não Comercial <a class="header-anchor" href="#cc-by-nc-—-atribuicao-e-uso-nao-comercial" aria-label="Permalink to &quot;CC-BY-NC — Atribuição e Uso Não Comercial&quot;"></a></h3>
<p><strong>Uso gratuito com atribuição, mas NÃO para fins comerciais.</strong></p>
<table tabindex="0">
<thead>
<tr>
<th>O Que Você Pode Fazer</th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>Usar comercialmente</td>
<td>❌ Não</td>
</tr>
<tr>
<td>Usar em jogos de código fechado</td>
<td>✅ (se o jogo for gratuito)</td>
</tr>
<tr>
<td>Modificar, remixar e transformar</td>
<td>✅</td>
</tr>
<tr>
<td>Distribuir e compartilhar</td>
<td>✅ (sem fins comerciais)</td>
</tr>
<tr>
<td>Usar sem dar crédito</td>
<td>❌ É obrigatório dar crédito</td>
</tr>
</tbody>
</table>
<p><strong>O que é considerado &quot;comercial&quot;?</strong></p>
<ul>
<li>❌ Vender o jogo</li>
<li>❌ Compras dentro do jogo</li>
<li>❌ Anúncios no jogo</li>
<li>❌ Desenvolvimento de jogo financiado pelo Patreon</li>
<li>⚠️ Jogo gratuito feito por uma empresa (área cinzenta)</li>
<li>✅ Projeto de hobby totalmente gratuito e sem monetização</li>
</ul>
<p><strong>Em linguagem simples:</strong> Use somente em projetos totalmente gratuitos e sem monetização.</p>
<p><strong>Recomendação:</strong> Evite assets com licença NC em qualquer projeto que possa gerar receita. A definição de &quot;comercial&quot; é ampla e controversa.</p>
<hr>
<h3 id="cc-by-nc-sa-—-atribuicao-uso-nao-comercial-e-compartilhamento-pela-mesma-licenca" tabindex="-1">CC-BY-NC-SA — Atribuição, Uso Não Comercial e Compartilhamento pela Mesma Licença <a class="header-anchor" href="#cc-by-nc-sa-—-atribuicao-uso-nao-comercial-e-compartilhamento-pela-mesma-licenca" aria-label="Permalink to &quot;CC-BY-NC-SA — Atribuição, Uso Não Comercial e Compartilhamento pela Mesma Licença&quot;"></a></h3>
<p><strong>A licença Creative Commons mais restritiva.</strong></p>
<table tabindex="0">
<thead>
<tr>
<th>O Que Você Pode Fazer</th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>Usar comercialmente</td>
<td>❌ Não</td>
</tr>
<tr>
<td>Usar em jogos de código fechado</td>
<td>✅ (se o jogo for gratuito)</td>
</tr>
<tr>
<td>Modificar, remixar e transformar</td>
<td>✅</td>
</tr>
<tr>
<td>Distribuir e compartilhar</td>
<td>✅ (sem fins comerciais)</td>
</tr>
<tr>
<td>Usar sem dar crédito</td>
<td>❌ É obrigatório dar crédito</td>
</tr>
<tr>
<td>Manter obras derivadas como proprietárias</td>
<td>❌ É obrigatório usar a mesma licença</td>
</tr>
</tbody>
</table>
<p><strong>Em linguagem simples:</strong> Somente para uso não comercial, com atribuição obrigatória, e todas as obras derivadas também devem usar a licença NC-SA.</p>
<p><strong>Recomendação:</strong> Em geral, evite essa licença no desenvolvimento de jogos, a menos que tenha certeza de que seu projeto nunca será monetizado de nenhuma forma.</p>
<hr>
<h2 id="licencas-royalty-free" tabindex="-1">Licenças Royalty-Free <a class="header-anchor" href="#licencas-royalty-free" aria-label="Permalink to &quot;Licenças Royalty-Free&quot;"></a></h2>
<p>&quot;Royalty-Free&quot; é um modelo de licenciamento comercial, NÃO uma variante da Creative Commons.</p>
<h3 id="o-que-royalty-free-realmente-significa" tabindex="-1">O Que &quot;Royalty-Free&quot; Realmente Significa <a class="header-anchor" href="#o-que-royalty-free-realmente-significa" aria-label="Permalink to &quot;O Que &quot;Royalty-Free&quot; Realmente Significa&quot;"></a></h3>
<p><strong>Royalty-Free ≠ Gratuito</strong></p>
<p>&quot;Royalty-Free&quot; significa:</p>
<ul>
<li>Você paga <strong>uma vez</strong> (ou obtém gratuitamente durante uma promoção)</li>
<li>Pode usar o asset <strong>quantas vezes quiser</strong></li>
<li>Não paga <strong>royalties por uso</strong></li>
</ul>
<p><strong>Comparação com &quot;Rights-Managed&quot; (a alternativa):</strong></p>
<ul>
<li>Pagamento por uso específico</li>
<li>Limitado a determinadas mídias, territórios e períodos</li>
<li>Mais caro e mais restritivo</li>
</ul>
<h3 id="termos-royalty-free-padrao" tabindex="-1">Termos Royalty-Free Padrão <a class="header-anchor" href="#termos-royalty-free-padrao" aria-label="Permalink to &quot;Termos Royalty-Free Padrão&quot;"></a></h3>
<p>A maioria dos marketplaces (Synty, CGTrader, TurboSquid) usa termos semelhantes:</p>
<table tabindex="0">
<thead>
<tr>
<th>O Que Você Pode Fazer</th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>Usar comercialmente em jogos</td>
<td>✅ Sim</td>
</tr>
<tr>
<td>Usar em vários projetos</td>
<td>✅ Sim (geralmente sem limite)</td>
</tr>
<tr>
<td>Modificar e adaptar</td>
<td>✅ Sim</td>
</tr>
<tr>
<td>Dar crédito ao criador</td>
<td>❌ Geralmente não é obrigatório</td>
</tr>
<tr>
<td>Revender o arquivo bruto do asset</td>
<td>❌ Não</td>
</tr>
<tr>
<td>Permitir que usuários extraiam o asset</td>
<td>❌ Não</td>
</tr>
<tr>
<td>Transferir a licença para terceiros</td>
<td>❌ Não</td>
</tr>
</tbody>
</table>
<p><strong>Principais restrições:</strong></p>
<ol>
<li><strong>Sem redistribuição</strong> — Você não pode doar nem vender os arquivos dos assets</li>
<li><strong>Sem extração</strong> — O asset deve estar &quot;incorporado&quot; de modo que os usuários não possam extraí-lo facilmente</li>
<li><strong>Um licenciado</strong> — A licença é para você/sua equipe e não pode ser transferida</li>
</ol>
<p><strong>Em linguagem simples:</strong> Use o asset em seus jogos, mas não permita que outras pessoas obtenham os arquivos brutos.</p>
<h3 id="licenca-da-synty-studios" tabindex="-1">Licença da Synty Studios <a class="header-anchor" href="#licenca-da-synty-studios" aria-label="Permalink to &quot;Licença da Synty Studios&quot;"></a></h3>
<p>Atualmente, a Synty oferece dois modelos de licença: uma <strong>licença de compra única</strong> (direitos perpétuos sobre os pacotes específicos que você comprar) e uma <strong>licença de Assinatura Standard</strong> (acesso a toda a biblioteca enquanto sua assinatura estiver ativa). Ambas são royalty-free para uso comercial após o pagamento.</p>
<p>Termos da compra única:</p>
<ul>
<li>✅ Uso em projetos comerciais ilimitados</li>
<li>✅ Modificação livre dos assets</li>
<li>✅ 5 licenças por usuário da equipe para cada compra (cópias do Humble Bundle incluem 1 licença)</li>
<li>❌ Não é permitido revender, redistribuir ou compartilhar assets fora da equipe licenciada</li>
<li>❌ Não é permitido fazer asset flipping (alterações mínimas seguidas de revenda)</li>
<li>❌ Não é permitido usar o nome ou logotipo da Synty, nem alegar que você criou os assets</li>
<li>❌ Não é permitido incluir os assets em conjuntos de dados para treinamento de IA generativa, produtos de NFT/blockchain ou produtos de metaverso (esses usos exigem uma licença personalizada)</li>
</ul>
<h3 id="licenca-royalty-free-da-cgtrader" tabindex="-1">Licença Royalty-Free da CGTrader <a class="header-anchor" href="#licenca-royalty-free-da-cgtrader" aria-label="Permalink to &quot;Licença Royalty-Free da CGTrader&quot;"></a></h3>
<ul>
<li>✅ Uso comercial em jogos, filmes e experiências de VR/AR</li>
<li>✅ Modificação e adaptação</li>
<li>❌ Não é permitido vender nem distribuir gratuitamente o arquivo do modelo</li>
<li>❌ Não é permitido que usuários extraiam o modelo</li>
<li>⚠️ Alguns modelos são marcados como &quot;No AI&quot; — não podem ser usados para treinamento de aprendizado de máquina</li>
</ul>
<h3 id="licenca-de-modelos-3d-da-turbosquid" tabindex="-1">Licença de Modelos 3D da TurboSquid <a class="header-anchor" href="#licenca-de-modelos-3d-da-turbosquid" aria-label="Permalink to &quot;Licença de Modelos 3D da TurboSquid&quot;"></a></h3>
<ul>
<li>✅ Uso comercial (exceto quando marcado como &quot;Editorial&quot;)</li>
<li>✅ Modificação e adaptação</li>
<li>✅ Até 5 impressões físicas para uso pessoal/beneficente</li>
<li>❌ Não é permitido redistribuir os arquivos do modelo</li>
<li>❌ Não é permitido usar em logotipos/marcas registradas</li>
<li>⚠️ Verifique se há a indicação &quot;Editorial Only&quot;</li>
<li>⚠️ Verifique se há propriedade intelectual representada (logotipos de marcas)</li>
</ul>
<hr>
<h2 id="somente-para-uso-editorial" tabindex="-1">Somente para Uso Editorial <a class="header-anchor" href="#somente-para-uso-editorial" aria-label="Permalink to &quot;Somente para Uso Editorial&quot;"></a></h2>
<p>Alguns assets são marcados como &quot;Editorial Use Only&quot; — é importante entender o que isso significa.</p>
<h3 id="o-que-isso-significa" tabindex="-1">O Que Isso Significa <a class="header-anchor" href="#o-que-isso-significa" aria-label="Permalink to &quot;O Que Isso Significa&quot;"></a></h3>
<p>O uso &quot;editorial&quot; inclui:</p>
<ul>
<li>Reportagens jornalísticas</li>
<li>Conteúdo educacional</li>
<li>Documentários</li>
<li>Comentários e críticas</li>
</ul>
<p><strong>NÃO são usos editoriais:</strong></p>
<ul>
<li>Jogos comerciais</li>
<li>Publicidade</li>
<li>Materiais de marketing</li>
<li>Produtos à venda</li>
</ul>
<h3 id="por-que-alguns-assets-recebem-essa-indicacao" tabindex="-1">Por Que Alguns Assets Recebem Essa Indicação <a class="header-anchor" href="#por-que-alguns-assets-recebem-essa-indicacao" aria-label="Permalink to &quot;Por Que Alguns Assets Recebem Essa Indicação&quot;"></a></h3>
<p>Geralmente porque contêm:</p>
<ul>
<li><strong>Marcas registradas</strong> — Logotipos de marcas (Nike, Apple etc.)</li>
<li><strong>Imagem de pessoas</strong> — Rostos de pessoas reais</li>
<li><strong>Designs protegidos por direitos autorais</strong> — Designs de carros e produtos</li>
<li><strong>Propriedade intelectual</strong> — Personagens e itens reconhecíveis</li>
</ul>
<h3 id="exemplo" tabindex="-1">Exemplo <a class="header-anchor" href="#exemplo" aria-label="Permalink to &quot;Exemplo&quot;"></a></h3>
<p>Um modelo 3D de uma Ferrari pode ser marcado como &quot;Editorial Only&quot; porque:</p>
<ul>
<li>O design da Ferrari é protegido</li>
<li>Usá-lo em um jogo poderia sugerir endosso da marca</li>
<li>O uso comercial exige permissão da Ferrari</li>
</ul>
<p><strong>Recomendação:</strong> Evite completamente assets marcados como &quot;Editorial Only&quot; no desenvolvimento de jogos. Use alternativas originais ou devidamente licenciadas.</p>
<hr>
<h2 id="licencas-de-software-mit-gpl-apache" tabindex="-1">Licenças de Software (MIT, GPL, Apache) <a class="header-anchor" href="#licencas-de-software-mit-gpl-apache" aria-label="Permalink to &quot;Licenças de Software (MIT, GPL, Apache)&quot;"></a></h2>
<p>Elas se aplicam principalmente a código, mas às vezes também abrangem assets.</p>
<h3 id="licenca-mit" tabindex="-1">Licença MIT <a class="header-anchor" href="#licenca-mit" aria-label="Permalink to &quot;Licença MIT&quot;"></a></h3>
<p><strong>Muito permissiva. Comum para código e assets relacionados a código.</strong></p>
<table tabindex="0">
<thead>
<tr>
<th>O Que Você Pode Fazer</th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>Usar comercialmente</td>
<td>✅ Sim</td>
</tr>
<tr>
<td>Modificar</td>
<td>✅ Sim</td>
</tr>
<tr>
<td>Distribuir</td>
<td>✅ Sim</td>
</tr>
<tr>
<td>Manter como proprietário</td>
<td>✅ Sim</td>
</tr>
<tr>
<td>Atribuição</td>
<td>✅ Obrigatória (no arquivo de licença)</td>
</tr>
</tbody>
</table>
<p><strong>Requisito de atribuição:</strong> Inclua o texto original da licença em algum lugar do projeto (geralmente em um arquivo LICENSES ou na tela Sobre).</p>
<p><strong>Exemplo de aviso da licença MIT:</strong></p>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>The MIT License (MIT)</span></span>
<span class="line"><span>Copyright (c) 2024 Original Author</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Permission is hereby granted, free of charge, to any person obtaining a copy...</span></span></code></pre>
</div><p><strong>Assets que usam MIT:</strong></p>
<ul>
<li>Exemplos do Three.js</li>
<li>Efeitos do pmndrs/vanilla</li>
<li>Muitos pacotes npm que incluem assets</li>
</ul>
<h3 id="gpl-gnu-general-public-license" tabindex="-1">GPL (GNU General Public License) <a class="header-anchor" href="#gpl-gnu-general-public-license" aria-label="Permalink to &quot;GPL (GNU General Public License)&quot;"></a></h3>
<p><strong>Licença copyleft. Obras derivadas também devem usar a GPL.</strong></p>
<table tabindex="0">
<thead>
<tr>
<th>O Que Você Pode Fazer</th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>Usar comercialmente</td>
<td>✅ Sim</td>
</tr>
<tr>
<td>Modificar</td>
<td>✅ Sim</td>
</tr>
<tr>
<td>Distribuir</td>
<td>✅ Sim</td>
</tr>
<tr>
<td>Manter como proprietário</td>
<td>❌ Não (se for distribuído)</td>
</tr>
<tr>
<td>Atribuição</td>
<td>✅ Obrigatória</td>
</tr>
</tbody>
</table>
<p><strong>A condição:</strong> Se você distribuir uma obra licenciada sob GPL (ou suas derivadas), deverá:</p>
<ul>
<li>Disponibilizar o código-fonte</li>
<li>Licenciá-la sob GPL</li>
<li>Incluir o texto completo da licença GPL</li>
</ul>
<p><strong>Para jogos:</strong> Usar assets sob GPL em um jogo distribuído é algo complexo. O próprio jogo talvez precise ser licenciado sob GPL. Consulte um advogado em caso de dúvida.</p>
<p><strong>Recomendação:</strong> Evite assets sob GPL em jogos comerciais, a menos que compreenda totalmente as implicações.</p>
<hr>
<h2 id="diretrizes-praticas" tabindex="-1">Diretrizes Práticas <a class="header-anchor" href="#diretrizes-praticas" aria-label="Permalink to &quot;Diretrizes Práticas&quot;"></a></h2>
<h3 id="escolha-de-assets-por-licenca-ordem-recomendada" tabindex="-1">Escolha de Assets por Licença (Ordem Recomendada) <a class="header-anchor" href="#escolha-de-assets-por-licenca-ordem-recomendada" aria-label="Permalink to &quot;Escolha de Assets por Licença (Ordem Recomendada)&quot;"></a></h3>
<ol>
<li><strong>CC0</strong> — Sem restrições nem preocupações</li>
<li><strong>MIT</strong> — Inclua o texto da licença e pronto</li>
<li><strong>Royalty-Free</strong> — Termos comerciais padrão; leia a licença específica</li>
<li><strong>CC-BY</strong> — É obrigatório dar crédito, mas fora isso o uso é livre</li>
<li><strong>CC-BY-SA</strong> — Atribuição + Compartilhamento pela Mesma Licença; adequada para a maioria dos jogos</li>
<li><strong>CC-BY-NC</strong> — Somente se seu projeto for 100% não comercial</li>
<li><strong>GPL</strong> — Evite, a menos que queira que seu jogo seja de código aberto</li>
<li><strong>Somente Editorial</strong> — Nunca use em jogos</li>
</ol>
<h3 id="como-criar-um-sistema-de-creditos" tabindex="-1">Como Criar um Sistema de Créditos <a class="header-anchor" href="#como-criar-um-sistema-de-creditos" aria-label="Permalink to &quot;Como Criar um Sistema de Créditos&quot;"></a></h3>
<p>Mesmo para assets CC0, manter os créditos é uma boa prática:</p>
<p><strong>1. Crie um arquivo CREDITS.md:</strong></p>
<div class="language-markdown vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">markdown</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold"># Créditos dos Assets</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold">## Modelos 3D</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> Nave espacial: Kenney (https://kenney.nl) - CC0</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> Pacote de árvores: Quaternius (https://quaternius.com) - CC0</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> Personagem robô: "RoboHelper", de @artist123 no Sketchfab - CC-BY 4.0</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  Modificações: redução da quantidade de polígonos e alteração das cores</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold">## Texturas</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> Piso de madeira: Poly Haven (https://polyhaven.com/a/wood_floor_01) - CC0</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> Painel de metal: AmbientCG - CC0</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold">## Áudio</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> Som de laser: "pew_laser", de sounduser no Freesound - CC-BY 3.0</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> Música de fundo: composta por [Seu Nome] - Todos os direitos reservados</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold">## Código/Shaders</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> Sombras suaves: pmndrs/vanilla - Licença MIT</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> Pós-processamento: exemplos do Three.js - Licença MIT</span></span></code></pre>
</div><p><strong>2. Adicione uma tela de créditos ao jogo:</strong></p>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>CRÉDITOS</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Modelos e texturas</span></span>
<span class="line"><span>- Poly Haven (polyhaven.com)</span></span>
<span class="line"><span>- Kenney (kenney.nl)</span></span>
<span class="line"><span>- Quaternius (quaternius.com)</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Áudio</span></span>
<span class="line"><span>- Colaboradores do Freesound (consulte CREDITS.txt)</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Agradecimentos especiais</span></span>
<span class="line"><span>- Equipe do Three.js</span></span>
<span class="line"><span>- Comunidade de código aberto</span></span></code></pre>
</div><h3 id="como-lidar-com-licencas-diferentes" tabindex="-1">Como lidar com licenças diferentes <a class="header-anchor" href="#como-lidar-com-licencas-diferentes" aria-label="Permalink to &quot;Como lidar com licenças diferentes&quot;"></a></h3>
<p>Quando seu projeto usa recursos com licenças diferentes:</p>
<ol>
<li><strong>Registre tudo</strong> - Mantenha uma planilha ou documento</li>
<li><strong>Use a atribuição mais restritiva</strong> - Se algum recurso exigir crédito, inclua uma seção de créditos</li>
<li><strong>Separe as coisas</strong> - Não use recursos NC em projetos comerciais</li>
<li><strong>Na dúvida, substitua</strong> - Troque recursos questionáveis por outros com licenças claras</li>
</ol>
<h3 id="sinais-de-alerta" tabindex="-1">Sinais de alerta <a class="header-anchor" href="#sinais-de-alerta" aria-label="Permalink to &quot;Sinais de alerta&quot;"></a></h3>
<p>⚠️ <strong>Tenha cuidado quando:</strong></p>
<ul>
<li>A licença não estiver claramente informada</li>
<li>O recurso parecer profissional demais para ser gratuito (pode ter sido pirateado)</li>
<li>O recurso for um personagem ou uma marca reconhecível</li>
<li>O site parecer suspeito ou não oficial</li>
<li>Os termos disserem &quot;apenas para uso pessoal&quot;</li>
<li>O recurso tiver sido extraído de um jogo</li>
</ul>
<p>✅ <strong>Indicadores de confiança:</strong></p>
<ul>
<li>Plataformas consolidadas (Poly Haven, Kenney, Sketchfab)</li>
<li>Licença clara na página de download</li>
<li>O criador tem portfólio ou histórico</li>
<li>O recurso é um trabalho original, não uma cópia</li>
</ul>
<hr>
<h2 id="compatibilidade-entre-licencas" tabindex="-1">Compatibilidade entre licenças <a class="header-anchor" href="#compatibilidade-entre-licencas" aria-label="Permalink to &quot;Compatibilidade entre licenças&quot;"></a></h2>
<p>Nem todas as licenças podem ser combinadas. Veja quais funcionam juntas:</p>
<h3 id="como-combinar-recursos-em-um-projeto" tabindex="-1">Como combinar recursos em um projeto <a class="header-anchor" href="#como-combinar-recursos-em-um-projeto" aria-label="Permalink to &quot;Como combinar recursos em um projeto&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Licença A</th>
<th>+</th>
<th>Licença B</th>
<th>=</th>
<th>Resultado</th>
</tr>
</thead>
<tbody>
<tr>
<td>CC0</td>
<td>+</td>
<td>Qualquer uma</td>
<td>=</td>
<td>✅ Sem problemas</td>
</tr>
<tr>
<td>CC-BY</td>
<td>+</td>
<td>CC-BY</td>
<td>=</td>
<td>✅ Dê crédito a ambas</td>
</tr>
<tr>
<td>CC-BY</td>
<td>+</td>
<td>CC-BY-SA</td>
<td>=</td>
<td>✅ Dê crédito a ambas; a SA se aplica àquele recurso</td>
</tr>
<tr>
<td>CC-BY</td>
<td>+</td>
<td>CC-BY-NC</td>
<td>=</td>
<td>⚠️ O projeto passa a ser NC</td>
</tr>
<tr>
<td>CC-BY-SA</td>
<td>+</td>
<td>CC-BY-NC-SA</td>
<td>=</td>
<td>⚠️ Incompatíveis para obras derivadas</td>
</tr>
<tr>
<td>MIT</td>
<td>+</td>
<td>CC-BY</td>
<td>=</td>
<td>✅ Inclua a licença MIT e dê crédito à CC-BY</td>
</tr>
<tr>
<td>GPL</td>
<td>+</td>
<td>Proprietária</td>
<td>=</td>
<td>❌ Problemático</td>
</tr>
</tbody>
</table>
<h3 id="regra-principal" tabindex="-1">Regra principal <a class="header-anchor" href="#regra-principal" aria-label="Permalink to &quot;Regra principal&quot;"></a></h3>
<p>Ao combinar licenças, os termos mais restritivos se aplicam ao trabalho final.</p>
<hr>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="posso-usar-recursos-cc-by-em-um-jogo-comercial" tabindex="-1">Posso usar recursos CC-BY em um jogo comercial? <a class="header-anchor" href="#posso-usar-recursos-cc-by-em-um-jogo-comercial" aria-label="Permalink to &quot;Posso usar recursos CC-BY em um jogo comercial?&quot;"></a></h3>
<p><strong>Sim.</strong> A CC-BY permite uso comercial. Basta incluir a atribuição.</p>
<h3 id="preciso-tornar-meu-jogo-de-codigo-aberto-se-usar-recursos-cc-by-sa" tabindex="-1">Preciso tornar meu jogo de código aberto se usar recursos CC-BY-SA? <a class="header-anchor" href="#preciso-tornar-meu-jogo-de-codigo-aberto-se-usar-recursos-cc-by-sa" aria-label="Permalink to &quot;Preciso tornar meu jogo de código aberto se usar recursos CC-BY-SA?&quot;"></a></h3>
<p><strong>Não.</strong> O código do seu jogo pode ser proprietário. Apenas o recurso (e as modificações feitas nele) precisa continuar sob CC-BY-SA se for distribuído separadamente.</p>
<h3 id="e-se-eu-modificar-um-recurso-cc-by-ate-ele-ficar-irreconhecivel" tabindex="-1">E se eu modificar um recurso CC-BY até ele ficar irreconhecível? <a class="header-anchor" href="#e-se-eu-modificar-um-recurso-cc-by-ate-ele-ficar-irreconhecivel" aria-label="Permalink to &quot;E se eu modificar um recurso CC-BY até ele ficar irreconhecível?&quot;"></a></h3>
<p><strong>Ainda assim, dê crédito.</strong> Se você partiu do trabalho de outra pessoa, deve creditá-la, independentemente do quanto o modificou. Além de ser juridicamente mais seguro, é a atitude ética correta.</p>
<h3 id="posso-usar-audios-do-freesound-em-um-jogo-comercial" tabindex="-1">Posso usar áudios do Freesound em um jogo comercial? <a class="header-anchor" href="#posso-usar-audios-do-freesound-em-um-jogo-comercial" aria-label="Permalink to &quot;Posso usar áudios do Freesound em um jogo comercial?&quot;"></a></h3>
<p><strong>Depende do som específico.</strong> Cada som no Freesound tem sua própria licença. Filtre por CC0 para usá-los sem preocupação ou por CC-BY se puder incluir a atribuição.</p>
<h3 id="um-jogo-gratuito-com-anuncios-e-considerado-comercial" tabindex="-1">Um jogo gratuito com anúncios é considerado &quot;comercial&quot;? <a class="header-anchor" href="#um-jogo-gratuito-com-anuncios-e-considerado-comercial" aria-label="Permalink to &quot;Um jogo gratuito com anúncios é considerado &quot;comercial&quot;?&quot;"></a></h3>
<p><strong>Sim.</strong> Qualquer forma de monetização (anúncios, compras no aplicativo, doações, Patreon) geralmente conta como uso comercial. Evite recursos com licença NC.</p>
<h3 id="posso-usar-recursos-cc0-e-depois-vende-los" tabindex="-1">Posso usar recursos CC0 e depois vendê-los? <a class="header-anchor" href="#posso-usar-recursos-cc0-e-depois-vende-los" aria-label="Permalink to &quot;Posso usar recursos CC0 e depois vendê-los?&quot;"></a></h3>
<p><strong>Tecnicamente, sim, mas...</strong> Você pode incluir recursos CC0 em um produto que vende. Porém, não pode afirmar que os criou se alguém perguntar. Revender recursos CC0 sem alterações é legal, mas eticamente questionável.</p>
<h3 id="e-quanto-a-recursos-gerados-por-ia" tabindex="-1">E quanto a recursos gerados por IA? <a class="header-anchor" href="#e-quanto-a-recursos-gerados-por-ia" aria-label="Permalink to &quot;E quanto a recursos gerados por IA?&quot;"></a></h3>
<p><strong>É complicado.</strong> O consenso jurídico atual não é claro. Alguns pontos a considerar:</p>
<ul>
<li>Imagens geradas por IA podem não ser protegidas por direitos autorais (por não terem autoria humana)</li>
<li>O licenciamento dos dados de treinamento é juridicamente contestado</li>
<li>Alguns marketplaces (como o CGTrader) têm restrições de &quot;Proibido usar IA&quot;</li>
<li>Na dúvida, use recursos criados por pessoas e com licenças claras</li>
</ul>
<p>Especificamente sobre a possibilidade de proteção por direitos autorais, o relatório de janeiro de 2025 do Escritório de Direitos Autorais dos EUA sobre IA é a orientação mais clara até o momento: uma obra gerada inteiramente por IA não pode ser protegida por direitos autorais, pois essa proteção exige autoria humana, e apenas os prompts (mesmo que longos e detalhados) não tornam o resultado uma criação sua. No entanto, a IA usada como ferramenta, quando uma pessoa seleciona, organiza ou modifica significativamente o resultado, pode produzir uma obra protegida por direitos autorais, conforme uma análise caso a caso. Portanto, uma textura gerada por IA e usada sem alterações provavelmente não terá proteção de direitos autorais que você possa reivindicar, enquanto uma cena que você construiu e editou substancialmente em torno de elementos gerados por IA pode ter.</p>
<h3 id="preciso-de-um-advogado" tabindex="-1">Preciso de um advogado? <a class="header-anchor" href="#preciso-de-um-advogado" aria-label="Permalink to &quot;Preciso de um advogado?&quot;"></a></h3>
<p><strong>Para a maioria dos jogos independentes, não.</strong> Se você usar licenças CC0, MIT e licenças Royalty-Free padrão de fontes confiáveis, provavelmente não terá problemas.</p>
<p><strong>Considere buscar orientação jurídica se:</strong></p>
<ul>
<li>Seu jogo tiver um potencial de receita significativo</li>
<li>Você estiver usando recursos licenciados sob a GPL</li>
<li>Tiver dúvidas sobre uma licença específica</li>
<li>Estiver criando um marketplace de recursos</li>
</ul>
<hr>
<h2 id="modelos-de-atribuicao" tabindex="-1">Modelos de atribuição <a class="header-anchor" href="#modelos-de-atribuicao" aria-label="Permalink to &quot;Modelos de atribuição&quot;"></a></h2>
<p>Copie e personalize estes modelos para seus projetos.</p>
<h3 id="arquivo-simples-de-creditos" tabindex="-1">Arquivo simples de créditos <a class="header-anchor" href="#arquivo-simples-de-creditos" aria-label="Permalink to &quot;Arquivo simples de créditos&quot;"></a></h3>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>CRÉDITOS DOS RECURSOS</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Este jogo usa recursos das seguintes fontes:</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Modelos 3D</span></span>
<span class="line"><span>- Kenney.nl (CC0) - https://kenney.nl</span></span>
<span class="line"><span>- Quaternius (CC0) - https://quaternius.com</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Texturas  </span></span>
<span class="line"><span>- Poly Haven (CC0) - https://polyhaven.com</span></span>
<span class="line"><span>- AmbientCG (CC0) - https://ambientcg.com</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Áudio</span></span>
<span class="line"><span>- Freesound.org (várias licenças CC)</span></span>
<span class="line"><span>  - "explosion.wav", de user123 (CC-BY 3.0)</span></span>
<span class="line"><span>  - "footstep.wav", de user456 (CC0)</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Agradecemos a todos os criadores que compartilham seu trabalho!</span></span></code></pre>
</div><h3 id="atribuicao-detalhada-cc-by" tabindex="-1">Atribuição detalhada (CC-BY) <a class="header-anchor" href="#atribuicao-detalhada-cc-by" aria-label="Permalink to &quot;Atribuição detalhada (CC-BY)&quot;"></a></h3>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>"Nome do recurso", de Nome do Criador</span></span>
<span class="line"><span>Fonte: https://example.com/asset-url</span></span>
<span class="line"><span>Licença: Atribuição Creative Commons 4.0 Internacional (CC-BY 4.0)</span></span>
<span class="line"><span>URL da licença: https://creativecommons.org/licenses/by/4.0/</span></span>
<span class="line"><span>Modificações: [Descreva as alterações realizadas ou escreva "Nenhuma"]</span></span></code></pre>
</div><h3 id="inclusao-da-licenca-mit" tabindex="-1">Inclusão da licença MIT <a class="header-anchor" href="#inclusao-da-licenca-mit" aria-label="Permalink to &quot;Inclusão da licença MIT&quot;"></a></h3>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>Este software inclui código/recursos licenciados sob a Licença MIT:</span></span>
<span class="line"><span></span></span>
<span class="line"><span>---</span></span>
<span class="line"><span>[Texto original de direitos autorais e da licença]</span></span>
<span class="line"><span>---</span></span></code></pre>
</div><hr>
<h2 id="resumo" tabindex="-1">Resumo <a class="header-anchor" href="#resumo" aria-label="Permalink to &quot;Resumo&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Se você quiser...</th>
<th>Use estas licenças</th>
</tr>
</thead>
<tbody>
<tr>
<td>Nenhuma restrição</td>
<td>CC0</td>
</tr>
<tr>
<td>Uso comercial com o mínimo de complicação</td>
<td>CC0, Royalty-Free, MIT</td>
</tr>
<tr>
<td>Uso comercial e não se importar em dar crédito</td>
<td>CC-BY</td>
</tr>
<tr>
<td>Apenas um projeto gratuito por hobby</td>
<td>Qualquer uma, exceto Editorial</td>
</tr>
<tr>
<td>Máxima segurança jurídica</td>
<td>CC0 de fontes confiáveis</td>
</tr>
</tbody>
</table>
<p><strong>Regras de ouro:</strong></p>
<ol>
<li>Na dúvida, use CC0</li>
<li>Sempre verifique a licença antes de baixar</li>
<li>Mantenha registros da origem dos recursos</li>
<li>Inclua um arquivo de créditos mesmo que não seja obrigatório</li>
<li>Substitua recursos questionáveis em vez de correr riscos</li>
</ol>
<hr>
<h2 id="recursos" tabindex="-1">Recursos <a class="header-anchor" href="#recursos" aria-label="Permalink to &quot;Recursos&quot;"></a></h2>
<ul>
<li><a href="https://creativecommons.org/choose/" target="_blank" rel="noreferrer">Seletor de licenças Creative Commons</a></li>
<li><a href="https://tldrlegal.com/" target="_blank" rel="noreferrer">TL;DR Legal</a> — explicações de licenças em linguagem simples</li>
<li><a href="https://choosealicense.com/" target="_blank" rel="noreferrer">Choose a License</a> — para licenças de código</li>
</ul>
<BuildCta
  title="Crie com recursos que já estão liberados"
  desc="Tudo o que a Cinevva disponibiliza é CC0 ou gerado para você, então o licenciamento deixa de ser uma preocupação."
  prompt="Crie um jogo de fazenda low poly usando objetos CC0 gratuitos" />
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/game-assets-guide.html">Onde encontrar recursos gratuitos para jogos</a> — fornecedores, formatos e ferramentas de busca para todos os tipos de recurso</li>
<li><a href="/pt-BR/guides/game-dev-courses.html">Cursos online de desenvolvimento de jogos</a> — cursos que ensinam a criar recursos no Blender e em outras ferramentas</li>
<li><a href="/pt-BR/guides/game-jams-hackathons.html">Game jams e hackathons</a> — pacotes de recursos com licenças adequadas para jogos de jam</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/game-asset-licenses.jpg?v=4" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Onde encontrar assets gratuitos para jogos em 2026 (mais de 20 fontes)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/game-assets-guide</link>
            <guid>https://app.cinevva.com/pt-BR/guides/game-assets-guide</guid>
            <pubDate>Sun, 18 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Mais de 20 fontes de assets gratuitos para jogos em 2026 - modelos 3D, texturas, áudio, sprites, animações e shaders, com explicações sobre as licenças e a melhor finalidade de cada site.]]></description>
            <content:encoded><![CDATA[<h1 id="onde-encontrar-assets-gratuitos-para-jogos-em-2026-mais-de-20-fontes" tabindex="-1">Onde encontrar assets gratuitos para jogos em 2026 (mais de 20 fontes) <a class="header-anchor" href="#onde-encontrar-assets-gratuitos-para-jogos-em-2026-mais-de-20-fontes" aria-label="Permalink to &quot;Onde encontrar assets gratuitos para jogos em 2026 (mais de 20 fontes)&quot;"></a></h1>
<p><em>Última atualização: julho de 2026.</em></p>
<p>Onde encontrar assets gratuitos e de alta qualidade para seus jogos web: modelos 3D, texturas, sprites, áudio, músicas, animações e shaders. A maioria desses provedores pode ser pesquisada diretamente na biblioteca de assets da Cinevva (procure a observação &quot;Pesquisável na Cinevva&quot;), e também incluímos as melhores fontes externas.</p>
<div class="info custom-block"><p class="custom-block-title">Experimente nossa busca de assets</p>
<p>Pesquise em todas essas fontes de uma só vez com a nossa <a href="/pt-BR/assets.html">Busca na Biblioteca de Assets</a>. Encontre modelos 3D, texturas, áudio e muito mais usando um único campo de busca.</p>
<p><strong>Novidade:</strong> os assets com links diretos para download exibem um ícone de download no card. Clique para baixá-los instantaneamente sem sair dos resultados da busca.</p>
<p><strong>Busca rápida por fonte:</strong> <a href="/pt-BR/assets.html?providers=polyhaven">Poly Haven</a> · <a href="/pt-BR/assets.html?providers=sketchfab">Sketchfab</a> · <a href="/pt-BR/assets.html?providers=freesound">Freesound</a> · <a href="/pt-BR/assets.html?providers=kenney">Kenney</a> · <a href="/pt-BR/assets.html?providers=ambientcg">AmbientCG</a></p>
</div>
<div class="tip custom-block"><p class="custom-block-title">Entenda as licenças</p>
<p>Não sabe ao certo o que significam CC0, CC-BY ou Royalty-Free? Leia nosso guia <a href="/pt-BR/guides/game-asset-licenses.html">Licenças de assets para jogos explicadas</a> para conferir uma explicação completa.</p>
</div>
<h2 id="referencia-rapida" tabindex="-1">Referência rápida <a class="header-anchor" href="#referencia-rapida" aria-label="Permalink to &quot;Referência rápida&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Necessidade</th>
<th>Melhor provedor</th>
<th>Licença</th>
<th>Download direto</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Modelos 3D (alta qualidade)</strong></td>
<td>Poly Haven, Sketchfab, BlenderKit</td>
<td>CC0 / Várias</td>
<td>✅ / Manual</td>
</tr>
<tr>
<td><strong>Modelos 3D (prontos para jogos)</strong></td>
<td>Kenney, Quaternius</td>
<td>CC0</td>
<td>✅</td>
</tr>
<tr>
<td><strong>Modelos 3D (low-poly estilizados)</strong></td>
<td>Synty POLYGON, Quaternius</td>
<td>Royalty-Free / CC0</td>
<td>✅</td>
</tr>
<tr>
<td><strong>Modelos 3D (marketplace)</strong></td>
<td>CGTrader, TurboSquid</td>
<td>Royalty-Free</td>
<td>✅</td>
</tr>
<tr>
<td><strong>Texturas (PBR)</strong></td>
<td>Poly Haven, AmbientCG, BlenderKit</td>
<td>CC0 / Várias</td>
<td>✅</td>
</tr>
<tr>
<td><strong>Sprites/2D</strong></td>
<td>Kenney, itch.io, OpenGameArt</td>
<td>CC0 / Várias</td>
<td>✅</td>
</tr>
<tr>
<td><strong>Efeitos sonoros</strong></td>
<td>Freesound, Sonniss GDC, Kenney</td>
<td>Várias / Royalty-Free / CC0</td>
<td>⚠️ / ✅</td>
</tr>
<tr>
<td><strong>Música</strong></td>
<td>Jamendo</td>
<td>CC para uso pessoal / sincronização paga para uso comercial</td>
<td>⚠️</td>
</tr>
<tr>
<td><strong>Animações de personagens</strong></td>
<td>Mixamo</td>
<td>Uso comercial gratuito</td>
<td>Manual</td>
</tr>
<tr>
<td><strong>Shaders/Efeitos</strong></td>
<td>Shadertoy, exemplos do Three.js</td>
<td>Várias / MIT</td>
<td>Ver código</td>
</tr>
<tr>
<td><strong>Modelos para Blender</strong></td>
<td>BlendSwap</td>
<td>CC-BY</td>
<td>Manual</td>
</tr>
</tbody>
</table>
<hr>
<h2 id="modelos-3d" tabindex="-1">Modelos 3D <a class="header-anchor" href="#modelos-3d" aria-label="Permalink to &quot;Modelos 3D&quot;"></a></h2>
<h3 id="poly-haven" tabindex="-1">Poly Haven <a class="header-anchor" href="#poly-haven" aria-label="Permalink to &quot;Poly Haven&quot;"></a></h3>
<p><strong>Ideal para:</strong> modelos fotorrealistas de alta qualidade, HDRIs e texturas PBR</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://polyhaven.com" target="_blank" rel="noreferrer">polyhaven.com</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>CC0 (Domínio Público) - não exige atribuição</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Mais de 2.200 assets (mais de 520 modelos, 780 texturas e 980 HDRIs)</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>GLTF, Blend, FBX</td>
</tr>
<tr>
<td><strong>API</strong></td>
<td>Sim - não exige chave</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>✅ Sim - resolução 1K via CDN</td>
</tr>
</tbody>
</table>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Qualidade profissional adequada para projetos comerciais</li>
<li>Todos os assets são CC0 — use-os como quiser</li>
<li>Várias resoluções disponíveis (de 1K a 16K para texturas)</li>
<li>Links diretos para download via API — ícone de download nos resultados da busca</li>
</ul>
<p><strong>Ideal para encontrar:</strong></p>
<ul>
<li>Elementos arquitetônicos (móveis, construções)</li>
<li>Objetos naturais (rochas, plantas, terrenos)</li>
<li>HDRIs para iluminação</li>
<li>Texturas de materiais PBR</li>
</ul>
<hr>
<h3 id="kenney" tabindex="-1">Kenney <a class="header-anchor" href="#kenney" aria-label="Permalink to &quot;Kenney&quot;"></a></h3>
<p><strong>Ideal para:</strong> assets low-poly prontos para jogos e com estilos visuais consistentes</p>
<figure class="sample-sheet">
<a href="/pt-BR/assets?providers=kenney"><img src="https://cdn.cinevva.com/guides/samples/samples-kenney-3d.jpg" alt="Exemplos de modelos 3D CC0 da Kenney: carro de corrida, nave espacial, torre de cerco, casa, navio pirata, moinho de vento, OVNI e caminhão de bombeiros" loading="lazy"></a>
<figcaption>Oito objetos da Kenney, todos CC0. <a href="/pt-BR/assets?providers=kenney">Explore o conjunto completo da Kenney na biblioteca de assets</a>.</figcaption>
</figure>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://kenney.nl" target="_blank" rel="noreferrer">kenney.nl</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>CC0 (Domínio Público)</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Mais de 270 pacotes (mais de 40.000 assets individuais)</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>GLB, PNG, WAV e outros</td>
</tr>
<tr>
<td><strong>Catálogo</strong></td>
<td>Catálogo offline disponível (busca instantânea)</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>✅ Sim - links para a página do pacote de assets</td>
</tr>
</tbody>
</table>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Biblioteca enorme de assets voltados para jogos</li>
<li>Estilos visuais consistentes dentro de cada pacote</li>
<li>Tudo é pronto para jogos e otimizado para desempenho</li>
<li>Reúne modelos, sprites, elementos de interface e sons em um só lugar</li>
</ul>
<p><strong>Melhores pacotes para começar:</strong></p>
<ul>
<li><strong>Space Kit</strong> - Naves espaciais, asteroides e estações</li>
<li><strong>Platformer Kit</strong> - Personagens, tiles e obstáculos</li>
<li><strong>Nature Kit</strong> - Árvores, rochas e grama</li>
<li><strong>Furniture Kit</strong> - Objetos para ambientes internos</li>
<li><strong>UI Pack</strong> - Botões, ícones e elementos de HUD</li>
</ul>
<hr>
<h3 id="quaternius" tabindex="-1">Quaternius <a class="header-anchor" href="#quaternius" aria-label="Permalink to &quot;Quaternius&quot;"></a></h3>
<p><strong>Ideal para:</strong> modelos 3D low-poly estilizados</p>
<figure class="sample-sheet">
<a href="/pt-BR/assets"><img src="https://cdn.cinevva.com/guides/samples/samples-quaternius.jpg" alt="Exemplos de modelos low-poly CC0 da Quaternius: monstros, capitão pirata, mecha, mago, nave espacial, shiba inu e cavaleiro" loading="lazy"></a>
<figcaption>Personagens e naves da Quaternius, todos CC0 e, em sua maioria, animados. <a href="/pt-BR/assets">Pesquise-os na biblioteca gratuita de assets</a>.</figcaption>
</figure>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://quaternius.com" target="_blank" rel="noreferrer">quaternius.com</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>CC0 (Domínio Público)</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>79 pacotes (cerca de 1.148 modelos)</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>GLTF/GLB, FBX</td>
</tr>
<tr>
<td><strong>Catálogo</strong></td>
<td>Catálogo offline disponível</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>✅ Sim - um arquivo ZIP por pacote</td>
</tr>
</tbody>
</table>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Estética low-poly fofa e estilizada</li>
<li>Excelente para jogos indie</li>
<li>Pacotes temáticos bem organizados</li>
<li>Contagens de polígonos otimizadas</li>
</ul>
<p><strong>Pacotes populares:</strong></p>
<ul>
<li>Ultimate Modular Characters</li>
<li>Medieval Pack</li>
<li>Ultimate Spaceships</li>
<li>Ultimate Monsters</li>
<li>Nature Pack</li>
</ul>
<hr>
<h3 id="sketchfab" tabindex="-1">Sketchfab <a class="header-anchor" href="#sketchfab" aria-label="Permalink to &quot;Sketchfab&quot;"></a></h3>
<p><strong>Ideal para:</strong> grande variedade de modelos, incluindo opções complexas e detalhadas</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://sketchfab.com" target="_blank" rel="noreferrer">sketchfab.com</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Várias (consulte cada modelo)</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Mais de 4 milhões de modelos</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>GLTF, FBX, OBJ</td>
</tr>
<tr>
<td><strong>API</strong></td>
<td>Sim - chave opcional para limites maiores</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>⚠️ Links para a página de download (exige login)</td>
</tr>
</tbody>
</table>
<p><strong>Observação:</strong> a loja paga do Sketchfab foi encerrada e transferida para o marketplace <a href="https://www.fab.com" target="_blank" rel="noreferrer">Fab</a>, da Epic, mas os modelos gratuitos e disponíveis apenas para visualização continuam no Sketchfab e permanecem disponíveis para download em 2026, enquanto as APIs de download e do visualizador continuam funcionando. O filtro de modelos gratuitos e disponíveis para download funciona exatamente como antes. Um detalhe importante: somente conteúdos CC-BY e Fab Standard podem migrar para a Fab, enquanto modelos CC0, CC-BY-SA, CC-BY-NC e CC-BY-ND permanecem exclusivamente no Sketchfab. Considere o Sketchfab uma fonte CC0 ainda útil, mas em declínio gradual, e baixe o que precisar em vez de presumir que o conteúdo sempre estará disponível.</p>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Maior biblioteca de modelos 3D</li>
<li>Pré-visualização 3D antes do download</li>
<li>Filtros por disponibilidade para download e licença</li>
<li>Muitos artistas profissionais</li>
</ul>
<p><strong>Dicas de busca:</strong></p>
<ul>
<li>Adicione <code>downloadable:true</code> à busca</li>
<li>Filtre por licenças CC0 ou CC-BY</li>
<li>Verifique a contagem de polígonos para jogos web (de preferência, menos de 100 mil)</li>
<li>Procure a tag &quot;game-ready&quot;</li>
</ul>
<div class="tip custom-block"><p class="custom-block-title">Pesquisável na Cinevva</p>
<p>Os resultados do Sketchfab aparecem diretamente no painel de Assets da Cinevva.</p>
</div>
<hr>
<h3 id="blenderkit" tabindex="-1">BlenderKit <a class="header-anchor" href="#blenderkit" aria-label="Permalink to &quot;BlenderKit&quot;"></a></h3>
<p><strong>Ideal para:</strong> uma enorme biblioteca integrada de modelos, materiais e HDRIs</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://www.blenderkit.com" target="_blank" rel="noreferrer">blenderkit.com</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Royalty-Free e CC0 - consulte cada asset</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Milhares de modelos, materiais, HDRIs e pincéis</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Blend, GLTF, FBX (varia)</td>
</tr>
<tr>
<td><strong>API</strong></td>
<td>Sim - plano gratuito disponível</td>
</tr>
</tbody>
</table>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Uma das maiores bibliotecas de assets, com conteúdo gratuito e pago</li>
<li>Reúne modelos, materiais PBR e HDRIs em um só lugar</li>
<li>Excelente para objetos de cenário, materiais e composição de ambientes</li>
<li>Permite filtrar por licença para usar somente CC0 quando necessário</li>
</ul>
<p><strong>Observação:</strong> assets gratuitos e pagos aparecem lado a lado, então filtre pelo plano gratuito ou CC0 quando o orçamento for importante.</p>
<div class="tip custom-block"><p class="custom-block-title">Pesquisável na Cinevva</p>
<p>O BlenderKit está integrado ao painel de Assets da Cinevva — pesquise nele junto com o Poly Haven e o Sketchfab sem sair do editor.</p>
</div>
<hr>
<h3 id="fab-epic-games" tabindex="-1">Fab (Epic Games) <a class="header-anchor" href="#fab-epic-games" aria-label="Permalink to &quot;Fab (Epic Games)&quot;"></a></h3>
<p><strong>Ideal para:</strong> assets prontos para jogos e Quixel Megascans gratuitos, tudo em um único marketplace</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://www.fab.com" target="_blank" rel="noreferrer">fab.com</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Standard (Personal/Professional) e Creative Commons (alguns CC0) - consulte cada item</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Modelos, materiais, ambientes, VFX, áudio, animações e plugins</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Unreal Engine, Unity, glTF e outros</td>
</tr>
<tr>
<td><strong>Preço</strong></td>
<td>Cadastro gratuito, com opções gratuitas e pagas</td>
</tr>
</tbody>
</table>
<p>A Fab é o marketplace unificado de conteúdo da Epic, sucessor do Unreal Engine Marketplace, do ArtStation Marketplace, da Sketchfab Store e do Quixel Megascans. O grande atrativo para quem procura assets é um pacote inicial do Megascans permanentemente gratuito, com mais de 1.500 assets selecionados, além de superfícies, decalques e escaneamentos 3D, todos gratuitos para uso em qualquer engine. Vale observar que o período em que toda a biblioteca do Megascans era gratuita terminou em 31 de dezembro de 2024, e o catálogo completo, com cerca de 17.000 assets, agora é pago. No entanto, a Epic mantém gratuito esse conjunto inicial de 1.500 assets e disponibiliza uma nova seleção de &quot;Limited-Time Free&quot; a cada duas semanas. Filtre pela licença Creative Commons ou Standard gratuita para economizar e verifique a licença de cada item antes de publicar o projeto.</p>
<hr>
<h3 id="blendswap" tabindex="-1">BlendSwap <a class="header-anchor" href="#blendswap" aria-label="Permalink to &quot;BlendSwap&quot;"></a></h3>
<p><strong>Ideal para:</strong> modelos complexos do Blender com materiais</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://blendswap.com" target="_blank" rel="noreferrer">blendswap.com</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Várias (CC-BY é comum)</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Milhares de modelos do Blender</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Blend (converta para GLTF)</td>
</tr>
</tbody>
</table>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Conteúdo de qualidade produzido pela comunidade</li>
<li>Arquivos completos do Blender com materiais</li>
<li>Bom para aprender e modificar</li>
<li>Muitos modelos arquitetônicos e de veículos</li>
</ul>
<p><strong>Observação:</strong> geralmente exige exportação para GLTF para uso na web.</p>
<p><strong>Atualização de 2026:</strong> o BlendSwap mudou de mãos e foi relançado em maio de 2026 com um site reconstruído e mais rápido. A biblioteca sobreviveu à mudança, e tudo continua gratuito sob licenças Creative Commons.</p>
<hr>
<h3 id="poly-pizza-e-icosa-gallery" tabindex="-1">Poly Pizza e Icosa Gallery <a class="header-anchor" href="#poly-pizza-e-icosa-gallery" aria-label="Permalink to &quot;Poly Pizza e Icosa Gallery&quot;"></a></h3>
<p><strong>Ideal para:</strong> modelos 3D low-poly, os sucessores espirituais do Google Poly</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://poly.pizza" target="_blank" rel="noreferrer">poly.pizza</a> · <a href="https://icosa.gallery" target="_blank" rel="noreferrer">icosa.gallery</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Principalmente CC-BY (exige atribuição), com um subconjunto CC0 no Poly Pizza</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Poly Pizza: mais de 10.000 modelos, incluindo um arquivo &quot;Poly by Google&quot; com cerca de 2.294 modelos</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>GLTF/GLB, OBJ</td>
</tr>
</tbody>
</table>
<p>O Google Poly foi encerrado em junho de 2021, mas seu catálogo low-poly continua disponível. O Poly Pizza hospeda a coleção arquivada &quot;Poly by Google&quot;, além de milhares de novos modelos da comunidade, enquanto a Icosa Gallery, de código aberto e sem fins lucrativos, dá continuidade à missão de oferecer assets abertos. A maioria dos modelos usa a licença CC-BY (dê crédito ao criador), com algumas opções CC0. É excelente para encontrar rapidamente objetos estilizados que combinam com o visual low-poly da Kenney e da Quaternius.</p>
<hr>
<h3 id="synty-studios-polygon" tabindex="-1">Synty Studios (POLYGON) <a class="header-anchor" href="#synty-studios-polygon" aria-label="Permalink to &quot;Synty Studios (POLYGON)&quot;"></a></h3>
<p><strong>Ideal para:</strong> assets low-poly estilizados profissionais e com estilo visual consistente</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://syntystore.com" target="_blank" rel="noreferrer">syntystore.com</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Royalty-Free (5 licenças por compra)</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Mais de 100 pacotes temáticos</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>FBX, Unity, Unreal</td>
</tr>
<tr>
<td><strong>Preço</strong></td>
<td>Pago (com pacotes iniciais gratuitos)</td>
</tr>
</tbody>
</table>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Estética low-poly estilizada que é padrão na indústria</li>
<li>Estilo visual consistente em TODOS os pacotes (combine como quiser!)</li>
<li>Qualidade profissional, otimizada para jogos</li>
<li>Os personagens têm rigs Mecanim (Unity)</li>
</ul>
<p><strong>Pacotes gratuitos disponíveis:</strong></p>
<ul>
<li><strong>POLYGON Starter Pack</strong> - Amostra de objetos, personagens e elementos de cenário</li>
<li><strong>POLYGON Santa Pack</strong> - Assets com temática natalina</li>
<li><strong>POLYGON Easter Pack</strong> - Decorações sazonais</li>
<li><strong>POLYGON Xmas Pack</strong> - Assets de Natal e inverno</li>
</ul>
<p><strong>Pacotes pagos populares:</strong></p>
<ul>
<li>POLYGON City, Town, Fantasy, Sci-Fi</li>
<li>POLYGON Nature, Farm, Prototype</li>
<li>POLYGON Knights, Samurai, Pirates</li>
</ul>
<p><strong>Ideal para:</strong></p>
<ul>
<li>Jogos indie que precisam de uma direção de arte coesa</li>
<li>Prototipagem rápida com visual refinado</li>
<li>Jogos mobile e web (contagens de polígonos otimizadas)</li>
</ul>
<p><strong>Observação:</strong> os pacotes gratuitos são ótimos para testar o estilo. Os pacotes pagos oferecem uma excelente relação custo-benefício pela quantidade e qualidade.</p>
<hr>
<h3 id="cgtrader" tabindex="-1">CGTrader <a class="header-anchor" href="#cgtrader" aria-label="Permalink to &quot;CGTrader&quot;"></a></h3>
<p><strong>Ideal para:</strong> marketplace de grande porte com muitos modelos gratuitos</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://cgtrader.com" target="_blank" rel="noreferrer">cgtrader.com</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Royalty-Free (por modelo)</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Mais de 1 milhão de modelos (muitos gratuitos)</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>FBX, OBJ, GLTF, Blend</td>
</tr>
<tr>
<td><strong>API</strong></td>
<td>Não</td>
</tr>
</tbody>
</table>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Grande variedade de artistas profissionais</li>
<li>Muitos modelos gratuitos disponíveis</li>
<li>Filtros por preço e formato</li>
<li>Modelos low-poly e também muito detalhados</li>
</ul>
<p><strong>Termos da licença:</strong></p>
<ul>
<li>✅ Uso em jogos e aplicativos comerciais</li>
<li>✅ Modificação e adaptação</li>
<li>❌ Não é permitido revender os arquivos dos modelos</li>
<li>❌ Não é permitido que os usuários extraiam os arquivos dos modelos</li>
</ul>
<p><strong>Dicas de busca:</strong></p>
<ul>
<li>Filtre por &quot;Free&quot; no preço</li>
<li>Verifique a contagem de polígonos</li>
<li>Procure as tags &quot;game-ready&quot; ou &quot;low-poly&quot;</li>
<li>Verifique a compatibilidade do formato (GLTF é preferível para a web)</li>
</ul>
<p><strong>Categorias:</strong></p>
<ul>
<li>Veículos, personagens, arquitetura</li>
<li>Armas, móveis, natureza</li>
<li>Ficção científica, fantasia, moderno</li>
</ul>
<hr>
<h3 id="turbosquid" tabindex="-1">TurboSquid <a class="header-anchor" href="#turbosquid" aria-label="Permalink to &quot;TurboSquid&quot;"></a></h3>
<p><strong>Ideal para:</strong> marketplace profissional de modelos 3D</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://turbosquid.com" target="_blank" rel="noreferrer">turbosquid.com</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Royalty-Free / Editorial (consulte cada item)</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Mais de 1 milhão de modelos (muitos gratuitos)</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>FBX, OBJ, MAX, Blend</td>
</tr>
<tr>
<td><strong>Qualidade</strong></td>
<td>Nível profissional</td>
</tr>
</tbody>
</table>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Modelos profissionais de alta qualidade</li>
<li>Marketplace consolidado (desde 2000)</li>
<li>Certificação CheckMate de qualidade</li>
<li>Muitos modelos gratuitos disponíveis</li>
</ul>
<p><strong>Termos da licença:</strong></p>
<ul>
<li>✅ Uso comercial permitido (Royalty-Free)</li>
<li>⚠️ Verifique se há o rótulo &quot;Editorial Only&quot; (uso restrito)</li>
<li>⚠️ Verifique se há propriedade intelectual representada (itens de marca)</li>
<li>❌ Não é permitido redistribuir os arquivos brutos dos modelos</li>
</ul>
<p><strong>Cuidados:</strong></p>
<ul>
<li>Modelos &quot;Editorial Only&quot; não podem ser usados comercialmente</li>
<li>Modelos com logotipos de marcas exigem autorização adicional</li>
<li>Modelos gratuitos podem oferecer menos proteção contra reivindicações</li>
</ul>
<p><strong>Dicas de busca:</strong></p>
<ul>
<li>Filtre por &quot;Free&quot; e pelo formato desejado</li>
<li>Evite &quot;Editorial Use Only&quot; em projetos comerciais</li>
<li>Verifique a contagem de polígonos para jogos web</li>
<li>Prefira modelos sem propriedade intelectual de marcas reconhecíveis</li>
</ul>
<hr>
<h3 id="poly-ronin" tabindex="-1">Poly Ronin <a class="header-anchor" href="#poly-ronin" aria-label="Permalink to &quot;Poly Ronin&quot;"></a></h3>
<p><strong>Ideal para:</strong> pacotes temáticos low-poly estilizados (atualmente offline)</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://polyronin.com" target="_blank" rel="noreferrer">polyronin.com</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>⚠️ Nunca foi declarada claramente</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Pacotes low-poly temáticos (armas de samurais e vikings, vila no deserto, barracas de mercado, veículos urbanos)</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>FBX, GLB, OBJ</td>
</tr>
<tr>
<td><strong>Preço</strong></td>
<td>Grátis</td>
</tr>
</tbody>
</table>
<div class="warning custom-block"><p class="custom-block-title">Status do site (julho de 2026)</p>
<p>O Poly Ronin não responde desde julho de 2026, e parece que o site saiu do ar. Esse é um bom exemplo de por que uma licença pouco clara é arriscada: os pacotes nunca tiveram termos documentados para uso comercial, e agora não há como consultar o criador. Se você baixou os pacotes anteriormente, trate-os como exclusivos para protótipos. Para produção, prefira fontes com licenças claras, como Kenney, Quaternius ou Poly Pizza.</p>
</div>
<hr>
<h2 id="texturas-e-materiais" tabindex="-1">Texturas e materiais <a class="header-anchor" href="#texturas-e-materiais" aria-label="Permalink to &quot;Texturas e materiais&quot;"></a></h2>
<figure class="sample-sheet">
<a href="/pt-BR/assets?providers=polyhaven"><img src="https://cdn.cinevva.com/guides/samples/samples-polyhaven-textures.jpg" alt="Amostra de materiais PBR CC0 do Poly Haven renderizados em esferas: tijolo, madeira, metal, paralelepípedo, tecido, grama, mármore e concreto" loading="lazy"></a>
<figcaption>Prévias de materiais do Poly Haven: tijolo, madeira, metal, paralelepípedo, tecido, grama, mármore e concreto, todos CC0. <a href="/pt-BR/assets?providers=polyhaven">Pesquise o Poly Haven na biblioteca de assets</a>.</figcaption>
</figure>
<h3 id="poly-haven-texturas" tabindex="-1">Poly Haven (texturas) <a class="header-anchor" href="#poly-haven-texturas" aria-label="Permalink to &quot;Poly Haven (texturas)&quot;"></a></h3>
<p><strong>Ideal para:</strong> Texturas PBR fotorrealistas</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://polyhaven.com/textures" target="_blank" rel="noreferrer">polyhaven.com/textures</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>CC0</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Mais de 780 conjuntos de texturas PBR</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>JPG, PNG, EXR</td>
</tr>
</tbody>
</table>
<p><strong>Inclui:</strong></p>
<ul>
<li>Mapas de difusão/albedo</li>
<li>Mapas de normais</li>
<li>Mapas de rugosidade</li>
<li>Mapas de deslocamento</li>
<li>Mapas de oclusão de ambiente (AO)</li>
</ul>
<p><strong>Categorias comuns:</strong></p>
<ul>
<li>Madeira, metal, pedra, concreto</li>
<li>Tecido, couro, terreno</li>
<li>Tijolo, azulejo, materiais orgânicos</li>
</ul>
<hr>
<h3 id="ambientcg" tabindex="-1">AmbientCG <a class="header-anchor" href="#ambientcg" aria-label="Permalink to &quot;AmbientCG&quot;"></a></h3>
<p><strong>Ideal para:</strong> Grande variedade de materiais PBR CC0</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://ambientcg.com" target="_blank" rel="noreferrer">ambientcg.com</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>CC0</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Mais de 2.000 materiais</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>JPG, PNG</td>
</tr>
<tr>
<td><strong>API</strong></td>
<td>Sim — nenhuma chave necessária</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>✅ Sim — arquivo ZIP em resolução 1K</td>
</tr>
</tbody>
</table>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Qualidade semelhante à do Poly Haven</li>
<li>Mais variedade em algumas categorias</li>
<li>Texturas repetíveis</li>
<li>Várias resoluções (1K–8K)</li>
</ul>
<p><strong>Bom para:</strong></p>
<ul>
<li>Texturas de terreno (grama, terra, cascalho)</li>
<li>Materiais de construção</li>
<li>Tecidos e estofados</li>
<li>Superfícies metálicas</li>
</ul>
<hr>
<h2 id="sprites-e-arte-2d" tabindex="-1">Sprites e arte 2D <a class="header-anchor" href="#sprites-e-arte-2d" aria-label="Permalink to &quot;Sprites e arte 2D&quot;"></a></h2>
<figure class="sample-sheet">
<a href="/pt-BR/assets?providers=kenney"><img src="https://cdn.cinevva.com/guides/samples/samples-kenney-sprites.jpg" alt="Amostra de sprites 2D CC0 do Kenney: personagem astronauta, naves espaciais, tiles em pixel art, emote de coração e alienígena" loading="lazy"></a>
<figcaption>Uma amostra da variedade 2D do Kenney: personagens, naves, tiles e emotes, todos CC0. <a href="/pt-BR/assets?providers=kenney">Explore os sprites do Kenney na biblioteca de assets</a>.</figcaption>
</figure>
<h3 id="kenney-2d" tabindex="-1">Kenney (2D) <a class="header-anchor" href="#kenney-2d" aria-label="Permalink to &quot;Kenney (2D)&quot;"></a></h3>
<p><strong>Ideal para:</strong> Conjuntos completos de interfaces e sprites para jogos</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Licença</strong></td>
<td>CC0</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Mais de 100 pacotes 2D</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>PNG, SVG</td>
</tr>
</tbody>
</table>
<p><strong>Ótimos pacotes 2D:</strong></p>
<ul>
<li>UI Pack (botões, janelas, ícones)</li>
<li>Platformer Pack (personagens, tiles)</li>
<li>Roguelike Pack (tiles de masmorras)</li>
<li>Space Shooter Pack</li>
<li>Puzzle Pack</li>
</ul>
<hr>
<h3 id="itch-io" tabindex="-1">itch.io <a class="header-anchor" href="#itch-io" aria-label="Permalink to &quot;itch.io&quot;"></a></h3>
<p><strong>Ideal para:</strong> Estilos artísticos únicos de criadores independentes</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://itch.io/game-assets" target="_blank" rel="noreferrer">itch.io/game-assets</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Diversas (verifique cada uma)</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Mais de 51.000 pacotes gratuitos de assets</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>Diversos</td>
</tr>
</tbody>
</table>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Variedade incrível de estilos artísticos</li>
<li>Muitos pacotes gratuitos disponíveis</li>
<li>Apoio a artistas independentes</li>
<li>Filtros por “Grátis” e tipo</li>
</ul>
<p><strong>Dicas de pesquisa:</strong></p>
<ul>
<li>Filtre por preço: Grátis</li>
<li>Tags populares: pixel-art, sprites, tileset, characters</li>
<li>Verifique cuidadosamente os termos da licença</li>
</ul>
<hr>
<h3 id="opengameart" tabindex="-1">OpenGameArt <a class="header-anchor" href="#opengameart" aria-label="Permalink to &quot;OpenGameArt&quot;"></a></h3>
<p><strong>Ideal para:</strong> Arte 2D criada pela comunidade</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://opengameart.org" target="_blank" rel="noreferrer">opengameart.org</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Diversas (CC0, CC-BY, GPL)</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Milhares</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>PNG, SVG</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>⚠️ Links para a página do conteúdo</td>
</tr>
</tbody>
</table>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Comunidade ativa</li>
<li>Bom para arte retrô/pixel art</li>
<li>Muitos conjuntos completos de arte para jogos</li>
<li>Também oferece áudio e 3D</li>
</ul>
<p><strong>Categorias:</strong></p>
<ul>
<li>Arte 2D &gt; Tiles, personagens, interface</li>
<li>Texturas</li>
<li>Arte conceitual</li>
</ul>
<hr>
<h2 id="audio-e-efeitos-sonoros" tabindex="-1">Áudio e efeitos sonoros <a class="header-anchor" href="#audio-e-efeitos-sonoros" aria-label="Permalink to &quot;Áudio e efeitos sonoros&quot;"></a></h2>
<h3 id="freesound" tabindex="-1">Freesound <a class="header-anchor" href="#freesound" aria-label="Permalink to &quot;Freesound&quot;"></a></h3>
<p><strong>Ideal para:</strong> Biblioteca enorme de efeitos sonoros</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://freesound.org" target="_blank" rel="noreferrer">freesound.org</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Várias licenças CC para cada som (cerca de 52% CC0 em 2026)</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Mais de 700.000 sons</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>WAV, MP3, FLAC</td>
</tr>
<tr>
<td><strong>API</strong></td>
<td>Sim — requer uma chave de API gratuita</td>
</tr>
<tr>
<td><strong>Download direto</strong></td>
<td>✅ Sim — prévia em MP3 (com chave de API)</td>
</tr>
</tbody>
</table>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Maior biblioteca gratuita de sons</li>
<li>Filtros de pesquisa avançados</li>
<li>Avaliações da comunidade</li>
<li>Prévias da forma de onda</li>
</ul>
<p><strong>Dicas:</strong></p>
<ul>
<li>Filtre por licença antes de baixar (CC0 é preferível para jogos)</li>
<li>Filtre por taxa de amostragem (44,1 kHz é o padrão)</li>
<li>Muitas variações de sons comuns</li>
<li>Ótimo para design de som</li>
</ul>
<p><strong>Pesquisas comuns:</strong></p>
<ul>
<li>Passos, explosões, cliques de interface</li>
<li>Loops de ambiente, ruído de fundo</li>
<li>Efeitos de voz/vocais</li>
<li>Instrumentos musicais</li>
</ul>
<hr>
<h3 id="kenney-audio" tabindex="-1">Kenney (áudio) <a class="header-anchor" href="#kenney-audio" aria-label="Permalink to &quot;Kenney (áudio)&quot;"></a></h3>
<p><strong>Ideal para:</strong> Pacotes de efeitos sonoros prontos para jogos</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Licença</strong></td>
<td>CC0</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Mais de 15 pacotes de áudio</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>WAV, OGG</td>
</tr>
</tbody>
</table>
<p><strong>Os pacotes incluem:</strong></p>
<ul>
<li>Áudio de interface (cliques, sons ao passar o cursor, notificações)</li>
<li>Áudio de RPG (combate, feitiços, ambiente)</li>
<li>Áudio de ficção científica (armas, computadores, portas)</li>
<li>Sons de impacto</li>
<li>Vinhetas musicais</li>
</ul>
<hr>
<h3 id="sonniss-gdc" tabindex="-1">Sonniss GDC <a class="header-anchor" href="#sonniss-gdc" aria-label="Permalink to &quot;Sonniss GDC&quot;"></a></h3>
<p><strong>Ideal para:</strong> Efeitos sonoros profissionais e livres de royalties em grandes volumes</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://sonniss.com/gameaudiogdc" target="_blank" rel="noreferrer">sonniss.com/gameaudiogdc</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Livre de royalties para uso comercial (Sonniss GDC Game Audio Bundle)</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Centenas de gigabytes de efeitos sonoros profissionais</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>WAV (qualidade máxima), prévias em MP3/OGG</td>
</tr>
</tbody>
</table>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Efeitos sonoros com qualidade de estúdio, gravados por designers de som profissionais</li>
<li>Livre de royalties, portanto não exige atribuição nem cobranças por uso em jogos comerciais</li>
<li>Lançado anualmente como parte do GDC Game Audio Bundle (a edição de 2026 chegou em março com mais de 7 GB de novos sons, e o arquivo das edições anteriores ultrapassa 200 GB)</li>
<li>Abrange foley, ambientes, armas, criaturas, veículos e interface</li>
</ul>
<p><strong>Observação:</strong> A licença abrange apenas produções de mídia (jogos, filmes, TV e projetos interativos) e proíbe explicitamente o uso dos sons para treinamento de IA/ML. As prévias são reproduzidas em MP3/OGG dentro do Cinevva, e os arquivos WAV em resolução máxima são baixados do Sonniss.</p>
<div class="tip custom-block"><p class="custom-block-title">Pesquisável no Cinevva</p>
<p>O Sonniss está integrado ao painel de Assets do Cinevva — pesquise no pacote da GDC ao lado do Freesound.</p>
</div>
<hr>
<h2 id="musica" tabindex="-1">Música <a class="header-anchor" href="#musica" aria-label="Permalink to &quot;Música&quot;"></a></h2>
<h3 id="jamendo" tabindex="-1">Jamendo <a class="header-anchor" href="#jamendo" aria-label="Permalink to &quot;Jamendo&quot;"></a></h3>
<p><strong>Ideal para:</strong> Descobrir músicas, não para uso comercial gratuito</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://www.jamendo.com" target="_blank" rel="noreferrer">jamendo.com</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>CC para uso pessoal, licença de sincronização paga para projetos comerciais</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Centenas de milhares de faixas de músicos independentes</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>MP3</td>
</tr>
<tr>
<td><strong>API</strong></td>
<td>Sim — requer um ID de cliente gratuito</td>
</tr>
</tbody>
</table>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Catálogo enorme de músicas independentes de todos os gêneros</li>
<li>Ótimo para encontrar um clima ou artista antes de adquirir a licença</li>
<li>Pesquisa por gênero, clima e andamento</li>
</ul>
<p><strong>Observação:</strong> O Jamendo causa confusão. Os downloads gratuitos são para uso pessoal, e incluir uma faixa em um jogo que você vende exige uma licença por faixa do Jamendo Licensing, o programa pago de sincronização da empresa. Trate-o como uma fonte paga com prévia gratuita, não como uma fonte gratuita.</p>
<div class="tip custom-block"><p class="custom-block-title">Pesquisável no Cinevva</p>
<p>O Jamendo está integrado ao painel de Assets do Cinevva para músicas de fundo e trilhas sonoras.</p>
</div>
<hr>
<h2 id="animacoes-de-personagens" tabindex="-1">Animações de personagens <a class="header-anchor" href="#animacoes-de-personagens" aria-label="Permalink to &quot;Animações de personagens&quot;"></a></h2>
<figure class="sample-sheet">
<a href="/pt-BR/assets"><img src="https://cdn.cinevva.com/guides/samples/samples-characters.jpg" alt="Personagens low-poly CC0 prontos para rig: cavaleiro, shiba inu, guerreiro esqueleto, astronauta e bárbaro" loading="lazy"></a>
<figcaption>Personagens CC0 prontos para rig, do KayKit, Quaternius, PolygonalMind e Kenney, que combinam com estas bibliotecas de animação. <a href="/pt-BR/assets">Escolha um na biblioteca de assets</a>.</figcaption>
</figure>
<h3 id="mixamo" tabindex="-1">Mixamo <a class="header-anchor" href="#mixamo" aria-label="Permalink to &quot;Mixamo&quot;"></a></h3>
<p><strong>Ideal para:</strong> Animações profissionais de personagens</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://mixamo.com" target="_blank" rel="noreferrer">mixamo.com</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Grátis para uso comercial</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>2.446 animações</td>
</tr>
<tr>
<td><strong>Formatos</strong></td>
<td>FBX</td>
</tr>
<tr>
<td><strong>Conta</strong></td>
<td>Requer uma conta da Adobe</td>
</tr>
</tbody>
</table>
<div class="warning custom-block"><p class="custom-block-title">Observação sobre confiabilidade (2026)</p>
<p>O Mixamo continua on-line e gratuito, mas a Adobe não o mantém ativamente. Desde uma falha de login ocorrida em meados de 2025, a página da conta e o sistema automático de rig têm apresentado problemas intermitentes, e o suporte da Adobe informou aos usuários que, na prática, a ferramenta não recebe suporte. Ela não foi descontinuada, mas deve ser tratada como uma fonte frágil: baixe e faça backup das animações necessárias em vez de depender dela a longo prazo. Especificamente para rig automático, vale acompanhar modelos abertos mais recentes, como UniRig e NVIDIA SOMA-X, como possíveis substitutos.</p>
</div>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Animações com qualidade profissional</li>
<li>Podem ser redirecionadas para personagens personalizados</li>
<li>Enorme biblioteca de animações</li>
<li>Também oferece personagens com rig</li>
</ul>
<p><strong>Categorias:</strong></p>
<ul>
<li>Locomoção (andar, correr, pular)</li>
<li>Combate (soco, chute, espada)</li>
<li>Dança</li>
<li>Gestos</li>
<li>Ações (sentar, escalar, agarrar)</li>
<li>Reações (ser atingido, morrer, cair)</li>
</ul>
<p><strong>Fluxo de trabalho:</strong></p>
<ol>
<li>Crie uma conta gratuita da Adobe</li>
<li>Envie seu personagem ou use um dos disponíveis</li>
<li>Explore e visualize as animações</li>
<li>Baixe como FBX</li>
<li>Converta para GLTF para uso na web</li>
</ol>
<hr>
<h2 id="shaders-e-efeitos" tabindex="-1">Shaders e efeitos <a class="header-anchor" href="#shaders-e-efeitos" aria-label="Permalink to &quot;Shaders e efeitos&quot;"></a></h2>
<h3 id="shadertoy" tabindex="-1">Shadertoy <a class="header-anchor" href="#shadertoy" aria-label="Permalink to &quot;Shadertoy&quot;"></a></h3>
<p><strong>Ideal para:</strong> Inspiração e efeitos com shaders GLSL</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://shadertoy.com" target="_blank" rel="noreferrer">shadertoy.com</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>Diversas (verifique cada uma)</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Mais de 70.000 shaders</td>
</tr>
<tr>
<td><strong>Formato</strong></td>
<td>Código-fonte GLSL</td>
</tr>
</tbody>
</table>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Efeitos visuais impressionantes</li>
<li>Aprendizado de técnicas de shader</li>
<li>Prévia em tempo real</li>
<li>Comunidade ativa</li>
</ul>
<p><strong>Categorias populares:</strong></p>
<ul>
<li>Ray marching/fractais</li>
<li>Efeitos de pós-processamento</li>
<li>Texturas procedurais</li>
<li>Sistemas de partículas</li>
<li>Água/fogo/fumaça</li>
</ul>
<p><strong>Observação:</strong> Os shaders precisam ser adaptados para uso com Three.js/WebGL.</p>
<hr>
<h3 id="exemplos-do-three-js" tabindex="-1">Exemplos do Three.js <a class="header-anchor" href="#exemplos-do-three-js" aria-label="Permalink to &quot;Exemplos do Three.js&quot;"></a></h3>
<p><strong>Ideal para:</strong> Código Three.js pronto para uso</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://threejs.org/examples" target="_blank" rel="noreferrer">threejs.org/examples</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>MIT</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Mais de 500 exemplos</td>
</tr>
<tr>
<td><strong>Formato</strong></td>
<td>Código-fonte JavaScript</td>
</tr>
</tbody>
</table>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Exemplos oficiais</li>
<li>Prontos para copiar e colar</li>
<li>Bem documentados</li>
<li>Abrangem todos os recursos</li>
</ul>
<p><strong>Exemplos úteis:</strong></p>
<ul>
<li>Efeitos de pós-processamento</li>
<li>Shaders personalizados</li>
<li>Integração de física</li>
<li>Carregadores de modelos</li>
<li>Sistemas de animação</li>
</ul>
<hr>
<h3 id="pmndrs-vanilla" tabindex="-1">pmndrs/vanilla <a class="header-anchor" href="#pmndrs-vanilla" aria-label="Permalink to &quot;pmndrs/vanilla&quot;"></a></h3>
<p><strong>Ideal para:</strong> Materiais e efeitos do Three.js</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Site</strong></td>
<td><a href="https://github.com/pmndrs/vanilla" target="_blank" rel="noreferrer">github.com/pmndrs/vanilla</a></td>
</tr>
<tr>
<td><strong>Licença</strong></td>
<td>MIT</td>
</tr>
<tr>
<td><strong>Assets</strong></td>
<td>Mais de 20 efeitos</td>
</tr>
<tr>
<td><strong>Pacote</strong></td>
<td><code>@pmndrs/vanilla</code></td>
</tr>
</tbody>
</table>
<p><strong>Inclui:</strong></p>
<ul>
<li>MeshReflectorMaterial</li>
<li>MeshDistortMaterial</li>
<li>MeshWobbleMaterial</li>
<li>Cáusticas</li>
<li>Brilhos</li>
<li>Sombras suaves</li>
</ul>
<hr>
<h2 id="geracao-de-assets-com-ia" tabindex="-1">Geração de assets com IA <a class="header-anchor" href="#geracao-de-assets-com-ia" aria-label="Permalink to &quot;Geração de assets com IA&quot;"></a></h2>
<p>Em 2026, gerar um asset costuma ser mais rápido do que procurar a opção gratuita certa. Algumas alternativas que vale a pena conhecer:</p>
<ul>
<li><strong>Modelos 3D:</strong> Meshy e Tripo transformam texto ou uma imagem em uma malha texturizada e compatível com rig. Os resultados do plano gratuito do Meshy usam a licença CC BY 4.0 (uso comercial com atribuição), enquanto os direitos comerciais do Tripo estão disponíveis nos planos pagos; portanto, confira os termos de cada ferramenta. Entre as opções abertas e auto-hospedáveis estão Hunyuan3D 2.1, da Tencent, TRELLIS.2, da Microsoft, e Cube 3D, disponibilizado como código aberto pela Roblox. Observe que a licença do Hunyuan3D exclui a UE, o Reino Unido e a Coreia do Sul; portanto, verifique os termos antes do lançamento.</li>
<li><strong>Texturas e imagens:</strong> modelos abertos de imagem, como FLUX.2 e Qwen-Image, geram texturas repetíveis e arte conceitual; os pesos com uso comercial gratuito são o FLUX.2 klein 4B (Apache 2.0) e as variantes do Qwen-Image.</li>
<li><strong>Áudio:</strong> Stable Audio 3.0 (incluindo um modelo aberto dedicado a efeitos sonoros) e ACE-Step 1.5 abrangem música e efeitos sonoros com pesos abertos, enquanto o ElevenLabs é a melhor opção hospedada (direitos comerciais nos planos pagos).</li>
</ul>
<p>As condições de licenciamento de assets gerados por IA ainda estão se consolidando, então confirme os termos de direitos sobre os resultados do modelo antes de usar qualquer conteúdo comercialmente. Para uma visão completa de quais modelos usar, consulte nosso guia sobre os <a href="/pt-BR/guides/frontier-gen-ai-models.html">melhores modelos de IA generativa de código aberto para jogos</a>. O Cinevva oferece geração integrada de texto para 3D, texto para imagem, música e skyboxes, permitindo gerar e inserir assets diretamente no jogo sem sair do editor.</p>
<h2 id="guia-rapido-por-tipo-de-asset" tabindex="-1">Guia rápido por tipo de asset <a class="header-anchor" href="#guia-rapido-por-tipo-de-asset" aria-label="Permalink to &quot;Guia rápido por tipo de asset&quot;"></a></h2>
<h3 id="preciso-de-uma-nave-espacial" tabindex="-1">Preciso de uma nave espacial <a class="header-anchor" href="#preciso-de-uma-nave-espacial" aria-label="Permalink to &quot;Preciso de uma nave espacial&quot;"></a></h3>
<ol>
<li><strong>Rápido e fácil:</strong> Kenney Space Kit (CC0)</li>
<li><strong>Estilizado:</strong> Quaternius Ultimate Spaceships (CC0)</li>
<li><strong>Estilizado profissional:</strong> Synty POLYGON Sci-Fi (livre de royalties, pago)</li>
<li><strong>Detalhado:</strong> Pesquise “spaceship downloadable” no Sketchfab (verifique a licença)</li>
</ol>
<h3 id="preciso-de-um-estilo-artistico-consistente-para-o-jogo-inteiro" tabindex="-1">Preciso de um estilo artístico consistente para o jogo inteiro <a class="header-anchor" href="#preciso-de-um-estilo-artistico-consistente-para-o-jogo-inteiro" aria-label="Permalink to &quot;Preciso de um estilo artístico consistente para o jogo inteiro&quot;"></a></h3>
<ol>
<li><strong>Synty POLYGON</strong> — Todos os pacotes compartilham a mesma estética e podem ser combinados livremente</li>
<li><strong>Kenney</strong> — CC0, com estilo coeso e pronto para jogos dentro de cada pacote</li>
<li><strong>Quaternius</strong> — CC0, estilo low-poly simpático</li>
</ol>
<h3 id="preciso-de-texturas-realistas" tabindex="-1">Preciso de texturas realistas <a class="header-anchor" href="#preciso-de-texturas-realistas" aria-label="Permalink to &quot;Preciso de texturas realistas&quot;"></a></h3>
<ol>
<li><strong>Poly Haven</strong> — Melhor qualidade, CC0</li>
<li><strong>AmbientCG</strong> — Mais variedade, CC0</li>
</ol>
<h3 id="preciso-de-efeitos-sonoros" tabindex="-1">Preciso de efeitos sonoros <a class="header-anchor" href="#preciso-de-efeitos-sonoros" aria-label="Permalink to &quot;Preciso de efeitos sonoros&quot;"></a></h3>
<ol>
<li><strong>Pacotes de áudio do Kenney</strong> — Sons rápidos para jogos, CC0</li>
<li><strong>Freesound</strong> — Sons específicos, várias licenças</li>
</ol>
<h3 id="preciso-de-animacoes-de-personagens" tabindex="-1">Preciso de animações de personagens <a class="header-anchor" href="#preciso-de-animacoes-de-personagens" aria-label="Permalink to &quot;Preciso de animações de personagens&quot;"></a></h3>
<ol>
<li><strong>Mixamo</strong> — Qualidade profissional, requer uma conta da Adobe (mas consulte a observação sobre confiabilidade em 2026 acima; faça backup do que baixar)</li>
</ol>
<h3 id="preciso-de-pixel-art" tabindex="-1">Preciso de pixel art <a class="header-anchor" href="#preciso-de-pixel-art" aria-label="Permalink to &quot;Preciso de pixel art&quot;"></a></h3>
<ol>
<li><strong>itch.io</strong> — Filtre por “pixel-art” e “Free”</li>
<li><strong>OpenGameArt</strong> — Categoria de arte 2D</li>
<li><strong>Kenney</strong> — Pacotes 2D</li>
</ol>
<h3 id="preciso-de-elementos-de-interface" tabindex="-1">Preciso de elementos de interface <a class="header-anchor" href="#preciso-de-elementos-de-interface" aria-label="Permalink to &quot;Preciso de elementos de interface&quot;"></a></h3>
<ol>
<li><strong>Kenney UI Pack</strong> — Conjunto completo, CC0</li>
<li><strong>itch.io</strong> — Pesquise “UI” ou “GUI”</li>
</ol>
<h3 id="preciso-de-uma-grande-variedade-de-modelos-diversos" tabindex="-1">Preciso de uma grande variedade de modelos diversos <a class="header-anchor" href="#preciso-de-uma-grande-variedade-de-modelos-diversos" aria-label="Permalink to &quot;Preciso de uma grande variedade de modelos diversos&quot;"></a></h3>
<ol>
<li><strong>CGTrader</strong> — Filtre por “Free”, enorme variedade</li>
<li><strong>TurboSquid</strong> — Qualidade profissional, verifique o tipo de licença</li>
<li><strong>Sketchfab</strong> — Mais de 4 milhões de modelos, filtre pelos que podem ser baixados</li>
</ol>
<hr>
<h2 id="guia-de-licencas" tabindex="-1">Guia de licenças <a class="header-anchor" href="#guia-de-licencas" aria-label="Permalink to &quot;Guia de licenças&quot;"></a></h2>
<h3 id="cc0-dominio-publico" tabindex="-1">CC0 (domínio público) <a class="header-anchor" href="#cc0-dominio-publico" aria-label="Permalink to &quot;CC0 (domínio público)&quot;"></a></h3>
<ul>
<li>✅ Uso comercial</li>
<li>✅ Modificação</li>
<li>✅ Nenhuma atribuição necessária</li>
<li>✅ Sem restrições</li>
</ul>
<p><strong>Fornecedores:</strong> Poly Haven, Kenney, Quaternius, AmbientCG</p>
<h3 id="licenca-livre-de-royalties" tabindex="-1">Licença livre de royalties <a class="header-anchor" href="#licenca-livre-de-royalties" aria-label="Permalink to &quot;Licença livre de royalties&quot;"></a></h3>
<ul>
<li>✅ Uso comercial (em seus jogos/aplicativos)</li>
<li>✅ Modificação e adaptação</li>
<li>✅ Sem royalties recorrentes</li>
<li>❌ Não é permitido revender os arquivos brutos do modelo</li>
<li>❌ Não é permitido que os usuários extraiam o modelo</li>
</ul>
<p><strong>Fornecedores:</strong> Synty POLYGON, CGTrader, TurboSquid</p>
<p><strong>Observação:</strong> “Livre de royalties” significa que você paga uma vez (ou obtém gratuitamente) e pode usar o asset sem pagar taxas por uso. Isso NÃO significa que o asset está em domínio público.</p>
<h3 id="cc-by-atribuicao" tabindex="-1">CC-BY (Atribuição) <a class="header-anchor" href="#cc-by-atribuicao" aria-label="Permalink to &quot;CC-BY (Atribuição)&quot;"></a></h3>
<ul>
<li>✅ Uso comercial</li>
<li>✅ Modificações permitidas</li>
<li>⚠️ É obrigatório creditar o autor</li>
<li>✅ Sem outras restrições</li>
</ul>
<p><strong>Provedores:</strong> muitos recursos do Sketchfab, BlendSwap e OpenGameArt</p>
<h3 id="cc-by-sa-compartilhaigual" tabindex="-1">CC-BY-SA (CompartilhaIgual) <a class="header-anchor" href="#cc-by-sa-compartilhaigual" aria-label="Permalink to &quot;CC-BY-SA (CompartilhaIgual)&quot;"></a></h3>
<ul>
<li>✅ Uso comercial</li>
<li>✅ Modificações permitidas</li>
<li>⚠️ É obrigatório creditar o autor</li>
<li>⚠️ Obras derivadas devem usar a mesma licença</li>
</ul>
<h3 id="cc-by-nc-nao-comercial" tabindex="-1">CC-BY-NC (Não Comercial) <a class="header-anchor" href="#cc-by-nc-nao-comercial" aria-label="Permalink to &quot;CC-BY-NC (Não Comercial)&quot;"></a></h3>
<ul>
<li>❌ Não permite uso comercial</li>
<li>✅ Pode ser usada em jogos gratuitos</li>
<li>⚠️ Verifique se o seu jogo contém anúncios ou compras no aplicativo</li>
</ul>
<h3 id="somente-para-uso-editorial" tabindex="-1">Somente para Uso Editorial <a class="header-anchor" href="#somente-para-uso-editorial" aria-label="Permalink to &quot;Somente para Uso Editorial&quot;"></a></h3>
<ul>
<li>❌ Não permite uso comercial</li>
<li>✅ Apenas notícias, educação e comentários</li>
<li>⚠️ Comum no TurboSquid para itens de marcas</li>
</ul>
<p><strong>Dica:</strong> sempre que possível, prefira CC0 para evitar requisitos de atribuição nos créditos do jogo. Licenças Royalty-Free também são seguras para jogos comerciais.</p>
<hr>
<h2 id="dicas-de-fluxo-de-trabalho" tabindex="-1">Dicas de fluxo de trabalho <a class="header-anchor" href="#dicas-de-fluxo-de-trabalho" aria-label="Permalink to &quot;Dicas de fluxo de trabalho&quot;"></a></h2>
<h3 id="_1-verifique-primeiro-a-licenca" tabindex="-1">1. Verifique primeiro a licença <a class="header-anchor" href="#_1-verifique-primeiro-a-licenca" aria-label="Permalink to &quot;1. Verifique primeiro a licença&quot;"></a></h3>
<p>Antes de baixar, confirme se a licença permite o uso pretendido.</p>
<h3 id="_2-otimize-para-a-web" tabindex="-1">2. Otimize para a web <a class="header-anchor" href="#_2-otimize-para-a-web" aria-label="Permalink to &quot;2. Otimize para a web&quot;"></a></h3>
<ul>
<li>Mantenha os modelos abaixo de 100 mil polígonos</li>
<li>Use texturas comprimidas (JPG para difusas e PNG para transparência)</li>
<li>Áudio: use MP3 ou OGG, não WAV, em produção</li>
</ul>
<h3 id="_3-organize-seus-assets" tabindex="-1">3. Organize seus assets <a class="header-anchor" href="#_3-organize-seus-assets" aria-label="Permalink to &quot;3. Organize seus assets&quot;"></a></h3>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>assets/</span></span>
<span class="line"><span>├── models/</span></span>
<span class="line"><span>│   ├── characters/</span></span>
<span class="line"><span>│   └── props/</span></span>
<span class="line"><span>├── textures/</span></span>
<span class="line"><span>│   ├── environment/</span></span>
<span class="line"><span>│   └── ui/</span></span>
<span class="line"><span>├── audio/</span></span>
<span class="line"><span>│   ├── music/</span></span>
<span class="line"><span>│   └── sfx/</span></span>
<span class="line"><span>└── sprites/</span></span></code></pre>
</div><h3 id="_4-mantenha-registros-de-atribuicao" tabindex="-1">4. Mantenha registros de atribuição <a class="header-anchor" href="#_4-mantenha-registros-de-atribuicao" aria-label="Permalink to &quot;4. Mantenha registros de atribuição&quot;"></a></h3>
<p>Mesmo para CC0, é útil registrar a origem dos assets:</p>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>CREDITS.md</span></span>
<span class="line"><span>- Spaceship model: Quaternius (CC0)</span></span>
<span class="line"><span>- Wood texture: Poly Haven (CC0)</span></span>
<span class="line"><span>- Laser sound: Freesound user "xyz" (CC-BY)</span></span></code></pre>
</div><h3 id="_5-teste-o-desempenho" tabindex="-1">5. Teste o desempenho <a class="header-anchor" href="#_5-teste-o-desempenho" aria-label="Permalink to &quot;5. Teste o desempenho&quot;"></a></h3>
<p>Carregue os assets no jogo desde o início para verificar:</p>
<ul>
<li>Tamanhos dos arquivos (afetam o tempo de carregamento)</li>
<li>Quantidades de polígonos (afetam o FPS)</li>
<li>Resoluções das texturas (afetam a memória)</li>
</ul>
<hr>
<h2 id="tabela-resumo" tabindex="-1">Tabela-resumo <a class="header-anchor" href="#tabela-resumo" aria-label="Permalink to &quot;Tabela-resumo&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Provedor</th>
<th>Tipos</th>
<th>Licença</th>
<th>Ideal para</th>
<th style="text-align:center">No Cinevva</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Poly Haven</strong></td>
<td>Modelos, texturas, HDRIs</td>
<td>CC0</td>
<td>Qualidade profissional</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td><strong>Kenney</strong></td>
<td>Modelos, sprites, áudio, UI</td>
<td>CC0</td>
<td>Assets prontos para jogos</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td><strong>Quaternius</strong></td>
<td>Modelos</td>
<td>CC0</td>
<td>Low-poly estilizado</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td><strong>Poly Pizza / Icosa</strong></td>
<td>Modelos</td>
<td>CC-BY / CC0</td>
<td>Low-poly, acervo do Google Poly</td>
<td style="text-align:center">-</td>
</tr>
<tr>
<td><strong>Synty POLYGON</strong></td>
<td>Modelos, personagens</td>
<td>Royalty-Free</td>
<td>Arte estilizada consistente</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td><strong>Sketchfab</strong></td>
<td>Modelos</td>
<td>Várias</td>
<td>Grande variedade</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td><strong>BlenderKit</strong></td>
<td>Modelos, materiais, HDRIs</td>
<td>Royalty-Free / CC0</td>
<td>Grande biblioteca integrada ao aplicativo</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td><strong>Fab (Epic)</strong></td>
<td>Modelos, materiais, VFX, áudio</td>
<td>Padrão / CC</td>
<td>Megascans gratuitos, assets prontos para jogos</td>
<td style="text-align:center">-</td>
</tr>
<tr>
<td><strong>CGTrader</strong></td>
<td>Modelos</td>
<td>Royalty-Free</td>
<td>Variedade de marketplace</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td><strong>AmbientCG</strong></td>
<td>Texturas, HDRIs</td>
<td>CC0</td>
<td>Materiais PBR</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td><strong>OpenGameArt</strong></td>
<td>2D, áudio, texturas</td>
<td>Várias</td>
<td>Conteúdo da comunidade</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td><strong>Freesound</strong></td>
<td>Áudio</td>
<td>Várias</td>
<td>Efeitos sonoros</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td><strong>Sonniss GDC</strong></td>
<td>Áudio</td>
<td>Royalty-Free</td>
<td>Efeitos sonoros profissionais em grandes pacotes</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td><strong>Jamendo</strong></td>
<td>Música</td>
<td>CC pessoal / sincronização paga</td>
<td>Descoberta de músicas (uso comercial pago)</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td><strong>TurboSquid</strong></td>
<td>Modelos</td>
<td>Royalty-Free</td>
<td>Qualidade profissional</td>
<td style="text-align:center">-</td>
</tr>
<tr>
<td><strong>Mixamo</strong></td>
<td>Animações</td>
<td>Gratuita</td>
<td>Animações de personagens</td>
<td style="text-align:center">-</td>
</tr>
<tr>
<td><strong>itch.io</strong></td>
<td>Sprites, diversos</td>
<td>Várias</td>
<td>Estilos de arte indie</td>
<td style="text-align:center">-</td>
</tr>
<tr>
<td><strong>BlendSwap</strong></td>
<td>Modelos do Blender</td>
<td>Várias</td>
<td>Modelos complexos</td>
<td style="text-align:center">-</td>
</tr>
<tr>
<td><strong>Exemplos do Three.js</strong></td>
<td>Código/shaders</td>
<td>MIT</td>
<td>Recursos do Three.js</td>
<td style="text-align:center">-</td>
</tr>
<tr>
<td><strong>Shadertoy</strong></td>
<td>Shaders</td>
<td>Várias</td>
<td>Efeitos visuais</td>
<td style="text-align:center">-</td>
</tr>
</tbody>
</table>
<hr>
<p>Os provedores marcados com ✅ podem ser pesquisados diretamente pela biblioteca de assets integrada do Cinevva. Abra o painel Assets para pesquisar em todos eles de uma só vez. Os demais são fontes externas que vale a pena adicionar aos favoritos para encontrar assets que o Cinevva ainda não indexa.</p>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="onde-posso-encontrar-modelos-3d-gratuitos-para-jogos" tabindex="-1">Onde posso encontrar modelos 3D gratuitos para jogos? <a class="header-anchor" href="#onde-posso-encontrar-modelos-3d-gratuitos-para-jogos" aria-label="Permalink to &quot;Onde posso encontrar modelos 3D gratuitos para jogos?&quot;"></a></h3>
<p>Poly Haven, Kenney e Quaternius são os melhores pontos de partida para encontrar modelos 3D gratuitos e prontos para jogos. Todos usam a licença CC0, então você pode utilizá-los comercialmente sem atribuição. Para ter mais variedade, Sketchfab e BlendSwap oferecem bibliotecas enormes com diferentes licenças. Sempre confira a licença de cada modelo antes de publicar o jogo.</p>
<h3 id="posso-usar-assets-gratuitos-em-jogos-comerciais" tabindex="-1">Posso usar assets gratuitos em jogos comerciais? <a class="header-anchor" href="#posso-usar-assets-gratuitos-em-jogos-comerciais" aria-label="Permalink to &quot;Posso usar assets gratuitos em jogos comerciais?&quot;"></a></h3>
<p>Na maioria dos casos, sim, mas isso depende da licença. Assets CC0 (Poly Haven, Kenney, Quaternius e AmbientCG) são de domínio público e podem ser usados comercialmente sem atribuição. A CC-BY exige que o criador seja creditado. Assets CC-BY-NC e destinados somente a uso editorial não podem ser usados em jogos comerciais. A seção Guia de licenças acima explica cada uma delas.</p>
<h3 id="qual-e-o-melhor-site-de-efeitos-sonoros-gratuitos-para-jogos" tabindex="-1">Qual é o melhor site de efeitos sonoros gratuitos para jogos? <a class="header-anchor" href="#qual-e-o-melhor-site-de-efeitos-sonoros-gratuitos-para-jogos" aria-label="Permalink to &quot;Qual é o melhor site de efeitos sonoros gratuitos para jogos?&quot;"></a></h3>
<p>O Freesound tem a maior biblioteca de efeitos sonoros gratuitos, mas as licenças variam de acordo com o clipe, então confira cada uma delas. O Kenney oferece pacotes de áudio menores, porém totalmente CC0, que podem ser usados com segurança em qualquer projeto comercial sem nenhum requisito de atribuição.</p>
<h3 id="onde-posso-obter-animacoes-gratuitas-de-personagens" tabindex="-1">Onde posso obter animações gratuitas de personagens? <a class="header-anchor" href="#onde-posso-obter-animacoes-gratuitas-de-personagens" aria-label="Permalink to &quot;Onde posso obter animações gratuitas de personagens?&quot;"></a></h3>
<p>O Mixamo é a principal fonte de animações gratuitas de personagens e rigging automático. Envie ou escolha um personagem, selecione uma das milhares de animações de captura de movimento e exporte tudo pronto para a sua engine, gratuitamente com uma conta da Adobe.</p>
<BuildCta
  title="Ou descreva o jogo e receba os assets já posicionados"
  desc="O Cinevva pesquisa pacotes CC0 gratuitos e insere os objetos em uma cena jogável."
  prompt="Crie um dungeon crawler low-poly usando objetos 3D gratuitos, com tochas e tesouros" />
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/free-3d-model-sites.html">Melhores sites de modelos 3D gratuitos para jogos</a> — uma análise detalhada das fontes de conteúdo 3D</li>
<li><a href="/pt-BR/guides/free-2d-sprites-tilesets.html">Sprites 2D, pixel art e tilesets gratuitos</a> — uma análise detalhada das fontes de conteúdo 2D</li>
<li><a href="/pt-BR/guides/free-textures-hdris-materials.html">Texturas PBR, materiais e HDRIs gratuitos</a> — uma análise detalhada das fontes de texturas</li>
<li><a href="/pt-BR/guides/free-sound-effects-music.html">Efeitos sonoros e músicas gratuitas para jogos</a> — uma análise detalhada das fontes de áudio</li>
<li><a href="/pt-BR/guides/free-character-animations-rigging.html">Animações gratuitas de personagens e rigging automático</a> — o Mixamo e suas alternativas</li>
<li><a href="/pt-BR/guides/ai-3d-model-generators.html">Melhores geradores de modelos 3D com IA</a> — gere modelos em vez de procurá-los</li>
<li><a href="/pt-BR/guides/vibe-coding-game-prompts.html">100 ideias de prompts de jogos com IA que você pode criar com um clique</a> — escolha uma ideia e torne-a jogável em cerca de um minuto</li>
<li><a href="/pt-BR/guides/game-asset-licenses.html">Licenças de assets de jogos explicadas</a> — entenda CC0, CC-BY, Royalty-Free e outras licenças</li>
<li><a href="/pt-BR/guides/game-dev-courses.html">Cursos online de desenvolvimento de jogos</a> — cursos de modelagem 3D no Blender e arte para jogos</li>
<li><a href="/pt-BR/tutorials/pixel-art-rendering.html">Renderização de pixel art</a> — renderização de sprite sheets e pixel art no navegador</li>
<li><a href="/pt-BR/tutorials/streaming-asset-loading.html">Carregamento de assets por streaming</a> — carregamento e armazenamento progressivo de assets em cache</li>
<li><a href="/pt-BR/guides/threejs-usdc-tech-report.html">Three.js + USDC no navegador</a> — carregamento de assets 3D em USD no Three.js</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/game-assets-guide.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Guia de cursos online de desenvolvimento de jogos]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/game-dev-courses</link>
            <guid>https://app.cinevva.com/pt-BR/guides/game-dev-courses</guid>
            <pubDate>Sun, 18 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Cursos online de desenvolvimento de jogos: engines, design, arte e áudio, com análise de credibilidade, avaliações e preços]]></description>
            <content:encoded><![CDATA[<h1 id="guia-de-cursos-online-de-desenvolvimento-de-jogos" tabindex="-1">Guia de cursos online de desenvolvimento de jogos <a class="header-anchor" href="#guia-de-cursos-online-de-desenvolvimento-de-jogos" aria-label="Permalink to &quot;Guia de cursos online de desenvolvimento de jogos&quot;"></a></h1>
<p>Cursos online para aprender desenvolvimento de jogos. Este guia aborda cursos específicos para cada engine, teoria de game design, habilidades especializadas (arte e áudio) e comparações entre plataformas, com avaliações de credibilidade, opiniões de alunos e informações sobre preços.</p>
<div class="tip custom-block"><p class="custom-block-title">Procurando recursos gratuitos?</p>
<p>Confira nosso guia <a href="/pt-BR/guides/game-assets-guide.html">Onde encontrar recursos gratuitos para jogos</a>, com modelos 3D, texturas, áudio e muito mais.</p>
</div>
<h2 id="referencia-rapida" tabindex="-1">Referência rápida <a class="header-anchor" href="#referencia-rapida" aria-label="Permalink to &quot;Referência rápida&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Objetivo</th>
<th>Melhor opção</th>
<th>Faixa de preço</th>
<th>Avaliação</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Iniciante em Unity</strong></td>
<td>GameDev.tv Complete Unity 3D (Udemy)</td>
<td>US$ 12–30 (promoção)</td>
<td>⭐ 4,7/5</td>
</tr>
<tr>
<td><strong>Certificação formal em Unity</strong></td>
<td>Especialização da Michigan State (Coursera)</td>
<td>US$ 49/mês</td>
<td>⭐ 4,7/5</td>
</tr>
<tr>
<td><strong>C++ para Unreal Engine</strong></td>
<td>Curso de UE5 de Stephen Ulibarri (Udemy)</td>
<td>US$ 15–30 (promoção)</td>
<td>⭐ 4,8/5</td>
</tr>
<tr>
<td><strong>Engine Godot</strong></td>
<td>Pacotes da GDQuest</td>
<td>US$ 84–216</td>
<td>⭐ 4,8/5</td>
</tr>
<tr>
<td><strong>Teoria de game design</strong></td>
<td>Harvard CS50 Game Dev (arquivado, gratuito)</td>
<td>Gratuito</td>
<td>⭐ 4,6/5</td>
</tr>
<tr>
<td><strong>Modelagem 3D para jogos</strong></td>
<td>Complete Blender Creator (Udemy)</td>
<td>US$ 15–30 (promoção)</td>
<td>⭐ 4,7/5</td>
</tr>
<tr>
<td><strong>Áudio para jogos</strong></td>
<td>Certificado de Game Audio da Berklee</td>
<td>~US$ 4.500</td>
<td>⭐ 4,8/5</td>
</tr>
<tr>
<td><strong>Treinamento oficial gratuito</strong></td>
<td>Trilhas do Unity Learn</td>
<td>Gratuito</td>
<td>⭐ 4,5/5</td>
</tr>
</tbody>
</table>
<hr>
<h2 id="cursos-de-engines-de-jogos" tabindex="-1">Cursos de engines de jogos <a class="header-anchor" href="#cursos-de-engines-de-jogos" aria-label="Permalink to &quot;Cursos de engines de jogos&quot;"></a></h2>
<h3 id="unity" tabindex="-1">Unity <a class="header-anchor" href="#unity" aria-label="Permalink to &quot;Unity&quot;"></a></h3>
<h4 id="gamedev-tv-complete-unity-developer-3d" tabindex="-1">GameDev.tv Complete Unity Developer 3D <a class="header-anchor" href="#gamedev-tv-complete-unity-developer-3d" aria-label="Permalink to &quot;GameDev.tv Complete Unity Developer 3D&quot;"></a></h4>
<p><strong>Ideal para:</strong> Iniciantes que desejam aprender na prática por meio de projetos</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Plataforma</strong></td>
<td>Udemy</td>
</tr>
<tr>
<td><strong>Preço</strong></td>
<td>US$ 139 de tabela / <strong>US$ 12–30 em promoção</strong></td>
</tr>
<tr>
<td><strong>Duração</strong></td>
<td>~27 horas de vídeo + projetos</td>
</tr>
<tr>
<td><strong>Avaliação</strong></td>
<td>⭐ 4,7/5 (mais de 460.000 alunos)</td>
</tr>
<tr>
<td><strong>Última atualização</strong></td>
<td>Unity 6 (2025)</td>
</tr>
</tbody>
</table>
<p><strong>O que você criará:</strong></p>
<ul>
<li>5 jogos completos do zero</li>
<li>Fundamentos de programação em C#</li>
<li>Física 3D, IA e mecânicas de jogo</li>
</ul>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>✅ Excelente para quem está começando do zero</li>
<li>✅ Aprendizado baseado em projetos (você cria jogos de verdade)</li>
<li>✅ Grande comunidade para tirar dúvidas</li>
<li>✅ Atualizado regularmente para novas versões do Unity</li>
<li>✅ Acesso vitalício após a compra</li>
</ul>
<p><strong>Pontos fracos:</strong></p>
<ul>
<li>⚠️ Algumas seções podem parecer lentas</li>
<li>⚠️ O preço integral é excessivo (compre sempre em promoção)</li>
<li>⚠️ Menos profundidade em temas avançados, como otimização</li>
</ul>
<p><strong>Opiniões de alunos:</strong></p>
<blockquote>
<p>&quot;Ótimo curso para iniciantes. Passei de não saber nada a ter um portfólio de jogos.&quot; — Reddit r/unity</p>
</blockquote>
<blockquote>
<p>&quot;O instrutor explica os conceitos com clareza. A abordagem baseada em projetos mantém você motivado.&quot; — Avaliação na Udemy</p>
</blockquote>
<p><strong>Credibilidade:</strong> A GameDev.tv é uma das instituições de ensino de desenvolvimento de jogos mais consolidadas. Fundada por Ben Tristem e Rick Davidson, já capacitou mais de 2 milhões de alunos. A empresa é transparente quanto à descontinuação de cursos obsoletos e mantém fóruns comunitários ativos.</p>
<hr>
<h4 id="especializacao-em-game-design-e-desenvolvimento-com-unity-da-michigan-state" tabindex="-1">Especialização em Game Design e Desenvolvimento com Unity da Michigan State <a class="header-anchor" href="#especializacao-em-game-design-e-desenvolvimento-com-unity-da-michigan-state" aria-label="Permalink to &quot;Especialização em Game Design e Desenvolvimento com Unity da Michigan State&quot;"></a></h4>
<p><strong>Ideal para:</strong> Quem deseja uma credencial universitária e aprendizado estruturado</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Plataforma</strong></td>
<td>Coursera</td>
</tr>
<tr>
<td><strong>Preço</strong></td>
<td>Gratuito como ouvinte / <strong>US$ 49/mês pelo certificado</strong></td>
</tr>
<tr>
<td><strong>Duração</strong></td>
<td>~2 meses (10 h/semana)</td>
</tr>
<tr>
<td><strong>Avaliação</strong></td>
<td>⭐ 4,7/5</td>
</tr>
<tr>
<td><strong>Instituição</strong></td>
<td>Michigan State University</td>
</tr>
</tbody>
</table>
<p><strong>Conteúdo programático (cinco cursos, desenvolvidos no Unity):</strong></p>
<ul>
<li>Game Design e Desenvolvimento 1: jogo de tiro 2D</li>
<li>Game Design e Desenvolvimento 2: jogo de plataforma 2D</li>
<li>Game Design e Desenvolvimento 3: jogo de tiro 3D</li>
<li>Game Design e Desenvolvimento 4: jogo de plataforma 3D</li>
<li>Projeto final</li>
</ul>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>✅ Credencial respaldada por uma universidade</li>
<li>✅ Prático: você cria cinco projetos completos de jogos no Unity</li>
<li>✅ Pode ser assistido gratuitamente como ouvinte (sem certificado)</li>
<li>✅ Abordagem acadêmica rigorosa</li>
<li>✅ Inclui módulo de negócios e empreendedorismo</li>
</ul>
<p><strong>Pontos fracos:</strong></p>
<ul>
<li>⚠️ Ritmo mais lento do que os cursos da Udemy</li>
<li>⚠️ Menos prática de programação do que outras opções</li>
<li>⚠️ O certificado exige uma assinatura paga</li>
</ul>
<p><strong>Ideal para:</strong> Pessoas em transição de carreira que precisam de credenciais formais ou que preferem um aprendizado acadêmico estruturado.</p>
<hr>
<h4 id="trilhas-do-unity-learn" tabindex="-1">Trilhas do Unity Learn <a class="header-anchor" href="#trilhas-do-unity-learn" aria-label="Permalink to &quot;Trilhas do Unity Learn&quot;"></a></h4>
<p><strong>Ideal para:</strong> Quem tem orçamento limitado e deseja treinamento oficial do Unity</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Plataforma</strong></td>
<td>Unity Learn (learn.unity.com)</td>
</tr>
<tr>
<td><strong>Preço</strong></td>
<td><strong>Gratuito</strong></td>
</tr>
<tr>
<td><strong>Trilhas</strong></td>
<td>Programador Júnior, Creative Core, Desenvolvimento de RV</td>
</tr>
<tr>
<td><strong>Formato</strong></td>
<td>Tutoriais e projetos no seu próprio ritmo</td>
</tr>
</tbody>
</table>
<p><strong>Trilhas disponíveis:</strong></p>
<ul>
<li><strong>Programador Júnior</strong> — Do nível iniciante à preparação para o mercado de trabalho</li>
<li><strong>Creative Core</strong> — Foco em arte e design</li>
<li><strong>Unity Essentials</strong> — Visão geral rápida dos fundamentos</li>
<li><strong>Desenvolvimento de RV</strong> — Especialização em realidade virtual</li>
</ul>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>✅ Totalmente gratuito</li>
<li>✅ Conteúdo oficial do Unity (sempre atualizado)</li>
<li>✅ Baseado em projetos que podem compor seu portfólio</li>
<li>✅ Acompanhamento de progresso integrado</li>
<li>✅ Certificações do Unity disponíveis</li>
</ul>
<p><strong>Pontos fracos:</strong></p>
<ul>
<li>⚠️ Menos envolvente do que cursos em vídeo</li>
<li>⚠️ Exige mais autodisciplina</li>
<li>⚠️ O suporte da comunidade é menos ativo do que em cursos pagos</li>
</ul>
<hr>
<h3 id="unreal-engine" tabindex="-1">Unreal Engine <a class="header-anchor" href="#unreal-engine" aria-label="Permalink to &quot;Unreal Engine&quot;"></a></h3>
<h4 id="curso-de-desenvolvimento-em-c-para-ue5-de-stephen-ulibarri" tabindex="-1">Curso de desenvolvimento em C++ para UE5 de Stephen Ulibarri <a class="header-anchor" href="#curso-de-desenvolvimento-em-c-para-ue5-de-stephen-ulibarri" aria-label="Permalink to &quot;Curso de desenvolvimento em C++ para UE5 de Stephen Ulibarri&quot;"></a></h4>
<p><strong>Ideal para:</strong> Desenvolvedores dedicados que desejam dominar C++</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Plataforma</strong></td>
<td>Udemy</td>
</tr>
<tr>
<td><strong>Preço</strong></td>
<td>US$ 175 de tabela / <strong>US$ 15–30 em promoção</strong></td>
</tr>
<tr>
<td><strong>Duração</strong></td>
<td>~50 horas ou mais</td>
</tr>
<tr>
<td><strong>Avaliação</strong></td>
<td>⭐ 4,8/5</td>
</tr>
<tr>
<td><strong>Projeto</strong></td>
<td>RPG de ação completo</td>
</tr>
</tbody>
</table>
<p><strong>O que você aprenderá:</strong></p>
<ul>
<li>Unreal Engine 5 do zero</li>
<li>Programação em C++ para jogos</li>
<li>Programação visual com Blueprints</li>
<li>Sistemas avançados de gameplay (combate, IA e inventário)</li>
</ul>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>✅ Conteúdo aprofundado de C++ (raro em cursos de desenvolvimento de jogos)</li>
<li>✅ Criação de um projeto substancial para o portfólio</li>
<li>✅ Bom ritmo para alunos de nível intermediário</li>
<li>✅ Abrange tanto Blueprints QUANTO C++</li>
</ul>
<p><strong>Pontos fracos:</strong></p>
<ul>
<li>⚠️ Pressupõe algum conhecimento prévio de programação</li>
<li>⚠️ Curso muito longo (exige dedicação)</li>
<li>⚠️ As versões da UE mudam com frequência</li>
</ul>
<p><strong>Opiniões de alunos:</strong></p>
<blockquote>
<p>&quot;É o melhor curso de Unreal que encontrei. Stephen explica o 'porquê', não apenas 'o quê'.&quot; — Udemy</p>
</blockquote>
<blockquote>
<p>&quot;Finalmente entendi C++ no Unreal depois de ter dificuldades com outros recursos.&quot; — Reddit r/unrealengine</p>
</blockquote>
<hr>
<h4 id="especializacao-unreal-engine-para-iniciantes-no-coursera" tabindex="-1">Especialização Unreal Engine para iniciantes no Coursera <a class="header-anchor" href="#especializacao-unreal-engine-para-iniciantes-no-coursera" aria-label="Permalink to &quot;Especialização Unreal Engine para iniciantes no Coursera&quot;"></a></h4>
<p><strong>Ideal para:</strong> Iniciantes absolutos que desejam uma introdução estruturada</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Plataforma</strong></td>
<td>Coursera</td>
</tr>
<tr>
<td><strong>Preço</strong></td>
<td>US$ 199 (promoção) / US$ 399 normalmente</td>
</tr>
<tr>
<td><strong>Duração</strong></td>
<td>3 cursos, ~4 semanas cada</td>
</tr>
<tr>
<td><strong>Certificado</strong></td>
<td>Sim</td>
</tr>
</tbody>
</table>
<p><strong>Sequência dos cursos:</strong></p>
<ol>
<li>Construção de mundos no Unreal</li>
<li>Personagens e interiores</li>
<li>Câmeras e produção</li>
</ol>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>✅ Adequado para iniciantes (não exige programação inicialmente)</li>
<li>✅ Concentra-se nos aspectos visuais e criativos</li>
<li>✅ Bom para artistas que estão entrando no desenvolvimento de jogos</li>
<li>✅ Certificado em formato universitário</li>
</ul>
<p><strong>Pontos fracos:</strong></p>
<ul>
<li>⚠️ Menos profundidade em programação</li>
<li>⚠️ Mais caro do que as alternativas da Udemy</li>
<li>⚠️ Mais indicado para artistas de ambientes do que para programadores</li>
</ul>
<hr>
<h4 id="linkedin-learning-treinamento-essencial-do-unreal-engine-5" tabindex="-1">LinkedIn Learning: treinamento essencial do Unreal Engine 5 <a class="header-anchor" href="#linkedin-learning-treinamento-essencial-do-unreal-engine-5" aria-label="Permalink to &quot;LinkedIn Learning: treinamento essencial do Unreal Engine 5&quot;"></a></h4>
<p><strong>Ideal para:</strong> Recapitulações rápidas de habilidades</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Plataforma</strong></td>
<td>LinkedIn Learning</td>
</tr>
<tr>
<td><strong>Preço</strong></td>
<td>Assinatura (~US$ 30/mês) / Período de avaliação gratuito disponível</td>
</tr>
<tr>
<td><strong>Duração</strong></td>
<td>~3 horas</td>
</tr>
<tr>
<td><strong>Avaliação</strong></td>
<td>⭐ 4,8/5</td>
</tr>
</tbody>
</table>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>✅ Alta qualidade de produção</li>
<li>✅ Ótimo para obter uma visão geral rapidamente</li>
<li>✅ Abrange os recursos da UE5.6</li>
<li>✅ O certificado pode ser adicionado ao perfil do LinkedIn</li>
</ul>
<p><strong>Pontos fracos:</strong></p>
<ul>
<li>⚠️ Curto demais para um aprendizado aprofundado</li>
<li>⚠️ Modelo de assinatura (sem acesso vitalício)</li>
<li>⚠️ Mais adequado como complemento do que como fonte principal de aprendizado</li>
</ul>
<hr>
<h3 id="engine-godot" tabindex="-1">Engine Godot <a class="header-anchor" href="#engine-godot" aria-label="Permalink to &quot;Engine Godot&quot;"></a></h3>
<h4 id="programas-de-estudo-da-gdquest" tabindex="-1">Programas de estudo da GDQuest <a class="header-anchor" href="#programas-de-estudo-da-gdquest" aria-label="Permalink to &quot;Programas de estudo da GDQuest&quot;"></a></h4>
<p><strong>Ideal para:</strong> Quem leva o aprendizado de Godot a sério e deseja treinamento estruturado</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Plataforma</strong></td>
<td>school.gdquest.com</td>
</tr>
<tr>
<td><strong>Preço</strong></td>
<td>US$ 84–216 (pacotes)</td>
</tr>
<tr>
<td><strong>Formato</strong></td>
<td>Cursos interativos + comunidade</td>
</tr>
<tr>
<td><strong>Avaliação</strong></td>
<td>⭐ 4,8/5</td>
</tr>
</tbody>
</table>
<p><strong>Pacotes disponíveis:</strong></p>
<ul>
<li><strong>Kit inicial</strong> (~US$ 84) — Fundamentos de 2D e 3D</li>
<li><strong>Do zero ao profissional</strong> (~US$ 216) — Trilha completa de aprendizado</li>
</ul>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>✅ Cursos específicos de Godot com a mais alta qualidade</li>
<li>✅ Exercícios interativos (não apenas vídeos)</li>
<li>✅ Atualizado para Godot 4.x</li>
<li>✅ Comunidade ativa no Discord</li>
<li>✅ Criado por colaboradores conhecidos do Godot</li>
</ul>
<p><strong>Pontos fracos:</strong></p>
<ul>
<li>⚠️ Mais caro do que as alternativas da Udemy</li>
<li>⚠️ Comunidade menor do que a dos cursos de Unity e Unreal</li>
</ul>
<p><strong>Credibilidade:</strong> A equipe da GDQuest é formada por educadores e colaboradores reconhecidos do Godot. Eles já criaram documentação oficial do Godot e são respeitados pela comunidade.</p>
<hr>
<h4 id="curso-completo-de-godot-4-para-iniciantes-udemy" tabindex="-1">Curso completo de Godot 4 para iniciantes (Udemy) <a class="header-anchor" href="#curso-completo-de-godot-4-para-iniciantes-udemy" aria-label="Permalink to &quot;Curso completo de Godot 4 para iniciantes (Udemy)&quot;"></a></h4>
<p><strong>Ideal para:</strong> Iniciantes com orçamento limitado</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Plataforma</strong></td>
<td>Udemy</td>
</tr>
<tr>
<td><strong>Preço</strong></td>
<td>US$ 80–100 de tabela / <strong>US$ 15–25 em promoção</strong></td>
</tr>
<tr>
<td><strong>Duração</strong></td>
<td>~20 horas</td>
</tr>
<tr>
<td><strong>Projetos</strong></td>
<td>Jogo de tiro espacial, plataforma e jogo de zumbis com visão de cima</td>
</tr>
</tbody>
</table>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>✅ Acessível durante as promoções</li>
<li>✅ Criação de 3 jogos completos</li>
<li>✅ Foco em GDScript (a linguagem nativa do Godot)</li>
<li>✅ Bom para iniciantes absolutos</li>
</ul>
<p><strong>Pontos fracos:</strong></p>
<ul>
<li>⚠️ Menos aprofundado do que a GDQuest</li>
<li>⚠️ Comunidade de suporte menor</li>
</ul>
<hr>
<h4 id="godot-dev-academy" tabindex="-1">Godot Dev Academy <a class="header-anchor" href="#godot-dev-academy" aria-label="Permalink to &quot;Godot Dev Academy&quot;"></a></h4>
<p><strong>Ideal para:</strong> Quem deseja continuar aprendendo por meio de uma assinatura</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Plataforma</strong></td>
<td>godotdevacademy.com</td>
</tr>
<tr>
<td><strong>Preço</strong></td>
<td><strong>US$ 19,99/mês</strong></td>
</tr>
<tr>
<td><strong>Acesso</strong></td>
<td>Todos os cursos incluídos</td>
</tr>
</tbody>
</table>
<p><strong>Inclui:</strong></p>
<ul>
<li>Cursos de jogos de plataforma 2D</li>
<li>Desenvolvimento de RPG</li>
<li>Desenvolvimento de jogos para dispositivos móveis</li>
<li>Cursos gratuitos para iniciantes</li>
</ul>
<p><strong>Ideal para:</strong> Quem pretende fazer vários cursos ao longo do tempo. Oferece um bom custo-benefício se você estiver comprometido com o aprendizado de Godot no longo prazo.</p>
<hr>
<h2 id="teoria-de-game-design" tabindex="-1">Teoria de game design <a class="header-anchor" href="#teoria-de-game-design" aria-label="Permalink to &quot;Teoria de game design&quot;"></a></h2>
<h3 id="introducao-ao-desenvolvimento-de-jogos-do-cs50-de-harvard" tabindex="-1">Introdução ao desenvolvimento de jogos do CS50 de Harvard <a class="header-anchor" href="#introducao-ao-desenvolvimento-de-jogos-do-cs50-de-harvard" aria-label="Permalink to &quot;Introdução ao desenvolvimento de jogos do CS50 de Harvard&quot;"></a></h3>
<p><strong>Ideal para:</strong> Compreensão básica dos conceitos de programação de jogos</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Plataforma</strong></td>
<td>cs50.harvard.edu/games (arquivado)</td>
</tr>
<tr>
<td><strong>Preço</strong></td>
<td><strong>Gratuito</strong></td>
</tr>
<tr>
<td><strong>Duração</strong></td>
<td>12 semanas</td>
</tr>
<tr>
<td><strong>Status</strong></td>
<td>Arquivado (materiais disponíveis, sem novos envios)</td>
</tr>
</tbody>
</table>
<p><strong>O que você aprenderá:</strong></p>
<ul>
<li>Fundamentos de gráficos 2D e 3D</li>
<li>Animação e design de som</li>
<li>Detecção de colisões e física</li>
<li>Várias engines: LÖVE2D, Unity e Lua</li>
</ul>
<p><strong>Jogos que você recriará:</strong></p>
<ul>
<li>Pong, Flappy Bird e Breakout</li>
<li>Super Mario Bros. e Legend of Zelda</li>
<li>Angry Birds e Pokémon</li>
<li>Jogo de helicóptero 3D e Portal</li>
</ul>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>✅ Ensino com a qualidade de Harvard</li>
<li>✅ Totalmente gratuito</li>
<li>✅ Teoria e fundamentos excelentes</li>
<li>✅ Contato com várias engines</li>
<li>✅ Todos os materiais continuam acessíveis</li>
</ul>
<p><strong>Pontos fracos:</strong></p>
<ul>
<li>⚠️ Curso oficialmente descontinuado (junho de 2024)</li>
<li>⚠️ Sem novos certificados ou avaliações</li>
<li>⚠️ Algumas tecnologias estão desatualizadas (versões antigas do Unity)</li>
<li>⚠️ Exige autonomia</li>
</ul>
<p><strong>Observação:</strong> Harvard lançou um novo curso, Introdução ao Desenvolvimento de Jogos 2D do CS50 (CS50 2D), substituindo a versão descontinuada. Ele se concentra em jogos 2D criados com Lua e o framework LOVE 2D (Pong, Flappy Bird, Breakout, Match 3, Super Mario Bros., Legend of Zelda, Angry Birds e Pokémon). As aulas são publicadas no YouTube, e você pode se inscrever para obter um certificado em cs50.edx.org/2d. As turmas são oferecidas continuamente, portanto consulte a página do curso para conferir as datas atuais.</p>
<p><strong>Opiniões de alunos:</strong></p>
<blockquote>
<p>&quot;Uma das melhores introduções à programação de jogos que já vi. Aborda fundamentos que podem ser aplicados a qualquer engine.&quot; — Reddit r/cs50</p>
</blockquote>
<blockquote>
<p>&quot;Mesmo sem o certificado, o conhecimento adquirido vale a pena.&quot; — Avaliação do curso</p>
</blockquote>
<hr>
<h3 id="mestrado-em-game-design-da-west-virginia-university-online" tabindex="-1">Mestrado em Game Design da West Virginia University (online) <a class="header-anchor" href="#mestrado-em-game-design-da-west-virginia-university-online" aria-label="Permalink to &quot;Mestrado em Game Design da West Virginia University (online)&quot;"></a></h3>
<p><strong>Ideal para:</strong> Formação acadêmica em nível de pós-graduação</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Plataforma</strong></td>
<td>WVU Online</td>
</tr>
<tr>
<td><strong>Preço</strong></td>
<td>~US$ 22.650 no total</td>
</tr>
<tr>
<td><strong>Duração</strong></td>
<td>2 anos (flexível)</td>
</tr>
<tr>
<td><strong>Formato</strong></td>
<td>Totalmente online e assíncrono</td>
</tr>
<tr>
<td><strong>Credencial</strong></td>
<td>Mestrado</td>
</tr>
</tbody>
</table>
<p><strong>Destaques do conteúdo programático:</strong></p>
<ul>
<li>Teoria dos jogos (análise cultural e estética)</li>
<li>Narrativa e storytelling em jogos</li>
<li>Design da experiência do jogador</li>
<li>Protótipo de jogo como projeto final</li>
</ul>
<p><strong>Ideal para:</strong> Quem busca credenciais acadêmicas para atuar no ensino, em pesquisa ou em cargos de liderança no desenvolvimento de jogos.</p>
<hr>
<h2 id="habilidades-especializadas" tabindex="-1">Habilidades especializadas <a class="header-anchor" href="#habilidades-especializadas" aria-label="Permalink to &quot;Habilidades especializadas&quot;"></a></h2>
<h3 id="modelagem-3d-para-jogos" tabindex="-1">Modelagem 3D para jogos <a class="header-anchor" href="#modelagem-3d-para-jogos" aria-label="Permalink to &quot;Modelagem 3D para jogos&quot;"></a></h3>
<h4 id="complete-blender-creator-gamedev-tv" tabindex="-1">Complete Blender Creator (GameDev.tv) <a class="header-anchor" href="#complete-blender-creator-gamedev-tv" aria-label="Permalink to &quot;Complete Blender Creator (GameDev.tv)&quot;"></a></h4>
<p><strong>Ideal para:</strong> Iniciantes aprendendo Blender para criar recursos de jogos</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Plataforma</strong></td>
<td>Udemy</td>
</tr>
<tr>
<td><strong>Preço</strong></td>
<td>US$ 140 de tabela / <strong>US$ 15–30 em promoção</strong></td>
</tr>
<tr>
<td><strong>Duração</strong></td>
<td>~30 horas</td>
</tr>
<tr>
<td><strong>Avaliação</strong></td>
<td>⭐ 4,7/5 (mais de 200.000 alunos)</td>
</tr>
<tr>
<td><strong>Atualizado</strong></td>
<td>Blender 4.4 (2025)</td>
</tr>
</tbody>
</table>
<p><strong>O que você aprenderá:</strong></p>
<ul>
<li>Fundamentos do Blender</li>
<li>Técnicas de modelagem 3D</li>
<li>Abertura de UVs e texturização</li>
<li>Animação básica</li>
<li>Exportação para engines de jogos</li>
</ul>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>✅ Enorme comunidade de alunos</li>
<li>✅ Abordagem baseada em projetos</li>
<li>✅ Atualizado regularmente para novas versões do Blender</li>
<li>✅ Ótimo para iniciantes absolutos</li>
</ul>
<p><strong>Pontos fracos:</strong></p>
<ul>
<li>⚠️ Muito genérico (não aborda um pipeline específico para jogos)</li>
<li>⚠️ Curso longo, que exige dedicação</li>
</ul>
<hr>
<h4 id="modelagem-3d-no-blender-para-jogos-—-fluxo-de-trabalho-completo-udemy" tabindex="-1">Modelagem 3D no Blender para jogos — fluxo de trabalho completo (Udemy) <a class="header-anchor" href="#modelagem-3d-no-blender-para-jogos-—-fluxo-de-trabalho-completo-udemy" aria-label="Permalink to &quot;Modelagem 3D no Blender para jogos — fluxo de trabalho completo (Udemy)&quot;"></a></h4>
<p><strong>Ideal para:</strong> Pipeline específico de recursos para jogos</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Plataforma</strong></td>
<td>Udemy</td>
</tr>
<tr>
<td><strong>Preço</strong></td>
<td>US$ 15–40 em promoção</td>
</tr>
<tr>
<td><strong>Foco</strong></td>
<td>Fluxo de trabalho para recursos prontos para uso em jogos</td>
</tr>
</tbody>
</table>
<p><strong>O que você aprenderá:</strong></p>
<ul>
<li>Do blockout ao recurso final</li>
<li>Topologia otimizada para jogos</li>
<li>Texturização e materiais</li>
<li>Fluxo de exportação para a engine</li>
</ul>
<p><strong>Ideal para:</strong> Quem deseja especificamente criar recursos para jogos, em vez de aprender habilidades gerais do Blender.</p>
<hr>
<h3 id="audio-e-design-de-som-para-jogos" tabindex="-1">Áudio e design de som para jogos <a class="header-anchor" href="#audio-e-design-de-som-para-jogos" aria-label="Permalink to &quot;Áudio e design de som para jogos&quot;"></a></h3>
<h4 id="berklee-online-certificado-em-design-de-audio-para-jogos" tabindex="-1">Berklee Online: certificado em design de áudio para jogos <a class="header-anchor" href="#berklee-online-certificado-em-design-de-audio-para-jogos" aria-label="Permalink to &quot;Berklee Online: certificado em design de áudio para jogos&quot;"></a></h4>
<p><strong>Ideal para:</strong> Formação profissional em áudio para jogos</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Plataforma</strong></td>
<td>Berklee Online</td>
</tr>
<tr>
<td><strong>Preço</strong></td>
<td>US$ 4.725 no total (ou US$ 4.253 à vista) / US$ 1.575 por curso, mais taxa de inscrição de US$ 175</td>
</tr>
<tr>
<td><strong>Duração</strong></td>
<td>3 cursos, 12 semanas cada</td>
</tr>
<tr>
<td><strong>Data de início</strong></td>
<td>Matrículas por período letivo (as turmas são oferecidas continuamente; consulte a página do curso para conferir as datas atuais)</td>
</tr>
</tbody>
</table>
<p><strong>Conteúdo programático:</strong></p>
<ul>
<li>Áudio para jogos 101 — Fundamentos</li>
<li>Produção sonora e diálogos</li>
<li>Integração de áudio e trilha interativa com Wwise</li>
<li>Criação de um portfólio profissional em vídeo</li>
</ul>
<p>O certificado da Berklee agora é estruturado em três cursos: Princípios de Game Design, Áudio para Jogos 101 e Produção de Áudio para Jogos com Wwise (9 créditos no total).</p>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>✅ Credencial reconhecida pelo setor</li>
<li>✅ Aprendizado de ferramentas padrão da indústria (Wwise e FMOD)</li>
<li>✅ Reputação da Berklee no ensino de música</li>
<li>✅ Foco na criação de portfólio</li>
</ul>
<p><strong>Pontos fracos:</strong></p>
<ul>
<li>⚠️ Caro</li>
<li>⚠️ Exige bastante tempo e dedicação profissional</li>
</ul>
<p><strong>Ideal para:</strong> Quem pretende seguir carreira em áudio para jogos.</p>
<hr>
<h4 id="fundamentos-de-audio-para-jogos-udemy" tabindex="-1">Fundamentos de áudio para jogos (Udemy) <a class="header-anchor" href="#fundamentos-de-audio-para-jogos-udemy" aria-label="Permalink to &quot;Fundamentos de áudio para jogos (Udemy)&quot;"></a></h4>
<p><strong>Ideal para:</strong> Introdução acessível ao áudio para jogos</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Plataforma</strong></td>
<td>Udemy</td>
</tr>
<tr>
<td><strong>Preço</strong></td>
<td>US$ 50–100 de tabela / <strong>US$ 15–25 em promoção</strong></td>
</tr>
<tr>
<td><strong>Duração</strong></td>
<td>~10 horas</td>
</tr>
<tr>
<td><strong>Atualizado</strong></td>
<td>Julho de 2025</td>
</tr>
<tr>
<td><strong>O que você aprenderá:</strong></td>
<td></td>
</tr>
</tbody>
</table>
<ul>
<li>Criação de foley e efeitos sonoros</li>
<li>Integração de áudio no Unity/Unreal/Godot</li>
<li>Áudio em loop e espacial</li>
<li>Técnicas práticas de design de som</li>
</ul>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>✅ Acessível</li>
<li>✅ Habilidades práticas</li>
<li>✅ Abrange vários motores de jogos</li>
<li>✅ Bom para desenvolvedores independentes</li>
</ul>
<hr>
<h4 id="domestika-criacao-de-trilhas-sonoras-para-videogames" tabindex="-1">Domestika: Criação de trilhas sonoras para videogames <a class="header-anchor" href="#domestika-criacao-de-trilhas-sonoras-para-videogames" aria-label="Permalink to &quot;Domestika: Criação de trilhas sonoras para videogames&quot;"></a></h4>
<p><strong>Ideal para:</strong> Compositores que desejam ingressar na música para jogos</p>
<table tabindex="0">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Plataforma</strong></td>
<td>Domestika</td>
</tr>
<tr>
<td><strong>Preço</strong></td>
<td>US$ 10–60 (varia conforme as promoções)</td>
</tr>
<tr>
<td><strong>Duração</strong></td>
<td>~3 horas</td>
</tr>
<tr>
<td><strong>Foco</strong></td>
<td>Composição musical para jogos</td>
</tr>
</tbody>
</table>
<p><strong>Ideal para:</strong> Músicos que desejam migrar para a composição de trilhas sonoras para jogos.</p>
<hr>
<h2 id="links-das-plataformas" tabindex="-1">Links das plataformas <a class="header-anchor" href="#links-das-plataformas" aria-label="Permalink to &quot;Links das plataformas&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Plataforma</th>
<th>URL</th>
<th>Ideal para</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Udemy</strong></td>
<td><a href="https://www.udemy.com/" target="_blank" rel="noreferrer">udemy.com</a></td>
<td>Cursos acessíveis em promoção e ampla variedade</td>
</tr>
<tr>
<td><strong>Coursera</strong></td>
<td><a href="https://www.coursera.org/" target="_blank" rel="noreferrer">coursera.org</a></td>
<td>Cursos universitários e credenciais formais</td>
</tr>
<tr>
<td><strong>Unity Learn</strong></td>
<td><a href="https://learn.unity.com/" target="_blank" rel="noreferrer">learn.unity.com</a></td>
<td>Treinamento oficial gratuito do Unity</td>
</tr>
<tr>
<td><strong>GDQuest</strong></td>
<td><a href="https://school.gdquest.com/" target="_blank" rel="noreferrer">school.gdquest.com</a></td>
<td>Cursos focados em Godot, criados por colaboradores do núcleo do projeto</td>
</tr>
<tr>
<td><strong>Pluralsight</strong></td>
<td><a href="https://www.pluralsight.com/" target="_blank" rel="noreferrer">pluralsight.com</a></td>
<td>Aprofundamento técnico e avaliações de habilidades</td>
</tr>
<tr>
<td><strong>Skillshare</strong></td>
<td><a href="https://www.skillshare.com/" target="_blank" rel="noreferrer">skillshare.com</a></td>
<td>Foco em criatividade e design, com assinatura acessível</td>
</tr>
<tr>
<td><strong>Berklee Online</strong></td>
<td><a href="https://online.berklee.edu/" target="_blank" rel="noreferrer">online.berklee.edu</a></td>
<td>Certificação profissional em áudio para jogos</td>
</tr>
<tr>
<td><strong>edX / Harvard CS50</strong></td>
<td><a href="https://cs50.harvard.edu/games/" target="_blank" rel="noreferrer">cs50.harvard.edu/games</a></td>
<td>Fundamentos gratuitos de desenvolvimento de jogos</td>
</tr>
<tr>
<td><strong>Domestika</strong></td>
<td><a href="https://www.domestika.org/" target="_blank" rel="noreferrer">domestika.org</a></td>
<td>Cursos criativos acessíveis</td>
</tr>
<tr>
<td><strong>LinkedIn Learning</strong></td>
<td><a href="https://www.linkedin.com/learning/" target="_blank" rel="noreferrer">linkedin.com/learning</a></td>
<td>Desenvolvimento profissional e Unreal Engine</td>
</tr>
<tr>
<td><strong>Blender</strong></td>
<td><a href="https://www.blender.org/" target="_blank" rel="noreferrer">blender.org</a></td>
<td>Software gratuito de modelagem 3D</td>
</tr>
</tbody>
</table>
<hr>
<h2 id="comparacao-entre-plataformas" tabindex="-1">Comparação entre plataformas <a class="header-anchor" href="#comparacao-entre-plataformas" aria-label="Permalink to &quot;Comparação entre plataformas&quot;"></a></h2>
<h3 id="udemy" tabindex="-1"><a href="https://www.udemy.com/" target="_blank" rel="noreferrer">Udemy</a> <a class="header-anchor" href="#udemy" aria-label="Permalink to &quot;[Udemy](https://www.udemy.com/)&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Prós</th>
<th>Contras</th>
</tr>
</thead>
<tbody>
<tr>
<td>✅ Enorme variedade de cursos</td>
<td>⚠️ A qualidade varia muito</td>
</tr>
<tr>
<td>✅ Acesso vitalício</td>
<td>⚠️ Os preços de tabela são inflacionados</td>
</tr>
<tr>
<td>✅ Promoções frequentes (US$ 10–30)</td>
<td>⚠️ Alguns cursos ficam desatualizados</td>
</tr>
<tr>
<td>✅ Política de reembolso de 30 dias</td>
<td>⚠️ Não oferece credenciais formais</td>
</tr>
<tr>
<td>✅ Grandes comunidades de perguntas e respostas</td>
<td>⚠️ Não há aulas ao vivo</td>
</tr>
</tbody>
</table>
<p><strong>Dica de compra:</strong> NUNCA pague o preço cheio na Udemy. Há promoções a cada poucas semanas, com descontos de 80–90%.</p>
<hr>
<h3 id="coursera" tabindex="-1">Coursera <a class="header-anchor" href="#coursera" aria-label="Permalink to &quot;Coursera&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Prós</th>
<th>Contras</th>
</tr>
</thead>
<tbody>
<tr>
<td>✅ Parcerias com universidades</td>
<td>⚠️ Modelo de assinatura para certificados</td>
</tr>
<tr>
<td>✅ Credenciais formais</td>
<td>⚠️ Ritmo mais lento</td>
</tr>
<tr>
<td>✅ Opção gratuita de acompanhar como ouvinte</td>
<td>⚠️ Menos prático que a Udemy</td>
</tr>
<tr>
<td>✅ Trilhas de aprendizado estruturadas</td>
<td>⚠️ Pode ser mais caro</td>
</tr>
<tr>
<td>✅ Rigor acadêmico</td>
<td></td>
</tr>
</tbody>
</table>
<p><strong>Ideal para:</strong> Quem precisa de credenciais para trabalhar ou prefere um aprendizado acadêmico estruturado.</p>
<hr>
<h3 id="pluralsight" tabindex="-1">Pluralsight <a class="header-anchor" href="#pluralsight" aria-label="Permalink to &quot;Pluralsight&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Prós</th>
<th>Contras</th>
</tr>
</thead>
<tbody>
<tr>
<td>✅ Aprofundamento técnico</td>
<td>⚠️ Somente por assinatura (~US$ 29/mês)</td>
</tr>
<tr>
<td>✅ Trilhas de aprendizado com avaliações</td>
<td>⚠️ Parte do conteúdo está desatualizada</td>
</tr>
<tr>
<td>✅ Parceria com o Unity</td>
<td>⚠️ Menos amigável para iniciantes</td>
</tr>
<tr>
<td>✅ Avaliações de habilidades</td>
<td>⚠️ Menor interação com a comunidade</td>
</tr>
</tbody>
</table>
<p><strong>Ideal para:</strong> Desenvolvedores intermediários que buscam aprofundamento técnico e trilhas de aprendizado voltadas à carreira.</p>
<hr>
<h3 id="skillshare" tabindex="-1">Skillshare <a class="header-anchor" href="#skillshare" aria-label="Permalink to &quot;Skillshare&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Prós</th>
<th>Contras</th>
</tr>
</thead>
<tbody>
<tr>
<td>✅ Acessível (~US$ 168/ano)</td>
<td>⚠️ Qualidade variável dos cursos</td>
</tr>
<tr>
<td>✅ Foco em criatividade e design</td>
<td>⚠️ Menor aprofundamento técnico</td>
</tr>
<tr>
<td>✅ Boa para iniciantes</td>
<td>⚠️ Não oferece credenciais formais</td>
</tr>
<tr>
<td>✅ Cursos curtos e fáceis de acompanhar</td>
<td>⚠️ Há relatos de frustrações com a assinatura</td>
</tr>
</tbody>
</table>
<p><strong>Ideal para:</strong> Hobbistas e estudantes com foco criativo que desejam explorar vários assuntos.</p>
<hr>
<h3 id="unity-learn" tabindex="-1">Unity Learn <a class="header-anchor" href="#unity-learn" aria-label="Permalink to &quot;Unity Learn&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Prós</th>
<th>Contras</th>
</tr>
</thead>
<tbody>
<tr>
<td>✅ Totalmente gratuito</td>
<td>⚠️ Formato menos envolvente</td>
</tr>
<tr>
<td>✅ Oficial e atualizado</td>
<td>⚠️ Exige autodisciplina</td>
</tr>
<tr>
<td>✅ Trilha de certificação do Unity</td>
<td>⚠️ Suporte limitado da comunidade</td>
</tr>
<tr>
<td>✅ Baseado em projetos</td>
<td></td>
</tr>
</tbody>
</table>
<p><strong>Ideal para:</strong> Estudantes autodidatas com orçamento limitado que desejam treinamento oficial do Unity.</p>
<hr>
<h2 id="guia-de-credibilidade-dos-instrutores" tabindex="-1">Guia de credibilidade dos instrutores <a class="header-anchor" href="#guia-de-credibilidade-dos-instrutores" aria-label="Permalink to &quot;Guia de credibilidade dos instrutores&quot;"></a></h2>
<h3 id="instrutores-altamente-conceituados" tabindex="-1">Instrutores altamente conceituados <a class="header-anchor" href="#instrutores-altamente-conceituados" aria-label="Permalink to &quot;Instrutores altamente conceituados&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Instrutor</th>
<th>Plataforma</th>
<th>Especialidade</th>
<th>Por que é confiável</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Ben Tristem / GameDev.tv</strong></td>
<td>Udemy</td>
<td>Unity, Unreal, Blender</td>
<td>Mais de 1 milhão de alunos e transparência sobre as atualizações dos cursos</td>
</tr>
<tr>
<td><strong>Stephen Ulibarri</strong></td>
<td>Udemy</td>
<td>Unreal C++</td>
<td>Conhecimento técnico profundo e explicações excelentes</td>
</tr>
<tr>
<td><strong>Equipe GDQuest</strong></td>
<td>GDQuest</td>
<td>Godot</td>
<td>Colaboradores oficiais do Godot</td>
</tr>
<tr>
<td><strong>Corpo docente da Michigan State</strong></td>
<td>Coursera</td>
<td>Design de jogos</td>
<td>Credenciais acadêmicas e experiência em pesquisa</td>
</tr>
<tr>
<td><strong>Corpo docente da Berklee</strong></td>
<td>Berklee Online</td>
<td>Áudio para jogos</td>
<td>Profissionais da indústria e reputação da Berklee</td>
</tr>
</tbody>
</table>
<h3 id="sinais-de-alerta" tabindex="-1">Sinais de alerta <a class="header-anchor" href="#sinais-de-alerta" aria-label="Permalink to &quot;Sinais de alerta&quot;"></a></h3>
<ul>
<li>❌ Cursos que não são atualizados há mais de 2 anos</li>
<li>❌ Avaliações baixas com reclamações específicas sobre conteúdo desatualizado</li>
<li>❌ Instrutores sem portfólio ou credenciais visíveis</li>
<li>❌ Marketing agressivo sem conteúdo relevante</li>
<li>❌ Cursos que prometem &quot;domínio completo&quot; em prazos irreais</li>
</ul>
<hr>
<h2 id="recomendacoes-de-trilhas-de-aprendizado" tabindex="-1">Recomendações de trilhas de aprendizado <a class="header-anchor" href="#recomendacoes-de-trilhas-de-aprendizado" aria-label="Permalink to &quot;Recomendações de trilhas de aprendizado&quot;"></a></h2>
<h3 id="iniciante-absoluto-→-pronto-para-o-mercado-unity" tabindex="-1">Iniciante absoluto → Pronto para o mercado (Unity) <a class="header-anchor" href="#iniciante-absoluto-→-pronto-para-o-mercado-unity" aria-label="Permalink to &quot;Iniciante absoluto → Pronto para o mercado (Unity)&quot;"></a></h3>
<ol>
<li><strong>Comece:</strong> Trilha Junior Programmer do Unity Learn (gratuita)</li>
<li><strong>Desenvolva habilidades:</strong> GameDev.tv Complete Unity 3D (US$ 20)</li>
<li><strong>Especialize-se:</strong> Escolha uma área de foco (2D, 3D, mobile)</li>
<li><strong>Portfólio:</strong> Crie de 3 a 5 jogos completos</li>
<li><strong>Credencial (opcional):</strong> Certificação Unity ou especialização do Coursera</li>
</ol>
<p><strong>Custo estimado:</strong> US$ 20–150<br>
<strong>Prazo:</strong> 6–12 meses (meio período)</p>
<hr>
<h3 id="artista-→-desenvolvedor-de-jogos" tabindex="-1">Artista → Desenvolvedor de jogos <a class="header-anchor" href="#artista-→-desenvolvedor-de-jogos" aria-label="Permalink to &quot;Artista → Desenvolvedor de jogos&quot;"></a></h3>
<ol>
<li><strong>Comece:</strong> Complete Blender Creator (Udemy) — US$ 20</li>
<li><strong>Pipeline de jogos:</strong> Curso sobre fluxo de trabalho do Blender para jogos — US$ 20</li>
<li><strong>Fundamentos do motor:</strong> Curso para iniciantes em Unity/Unreal — US$ 20</li>
<li><strong>Integração:</strong> Aprenda a importar e usar assets no motor</li>
</ol>
<p><strong>Custo estimado:</strong> US$ 60–100<br>
<strong>Prazo:</strong> 4–8 meses</p>
<hr>
<h3 id="programador-→-desenvolvedor-de-jogos" tabindex="-1">Programador → Desenvolvedor de jogos <a class="header-anchor" href="#programador-→-desenvolvedor-de-jogos" aria-label="Permalink to &quot;Programador → Desenvolvedor de jogos&quot;"></a></h3>
<ol>
<li><strong>Comece:</strong> Escolha um motor (Unity C# ou Unreal C++)</li>
<li><strong>Base:</strong> Curso de nível intermediário sobre o motor</li>
<li><strong>Aprofundamento:</strong> Sistemas avançados de gameplay</li>
<li><strong>Portfólio:</strong> Desenvolva um projeto de jogo robusto</li>
</ol>
<p><strong>Custo estimado:</strong> US$ 40–100<br>
<strong>Prazo:</strong> 3–6 meses (se já souber programar)</p>
<hr>
<h3 id="hobbista-com-orcamento-limitado" tabindex="-1">Hobbista com orçamento limitado <a class="header-anchor" href="#hobbista-com-orcamento-limitado" aria-label="Permalink to &quot;Hobbista com orçamento limitado&quot;"></a></h3>
<ol>
<li><strong>Comece:</strong> Unity Learn ou CS50 Game Dev (gratuitos)</li>
<li><strong>Próximo passo:</strong> Espere uma promoção da Udemy e compre um curso específico (US$ 15)</li>
<li><strong>Pratique:</strong> Crie jogos pequenos e participe de game jams</li>
<li><strong>Comunidade:</strong> Entre em servidores do Discord para receber feedback</li>
</ol>
<p><strong>Custo estimado:</strong> US$ 0–30<br>
<strong>Prazo:</strong> Aprenda no seu próprio ritmo</p>
<hr>
<h2 id="resumo-da-comparacao-de-precos" tabindex="-1">Resumo da comparação de preços <a class="header-anchor" href="#resumo-da-comparacao-de-precos" aria-label="Permalink to &quot;Resumo da comparação de preços&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Plataforma</th>
<th>Modelo</th>
<th>Custo típico</th>
<th>Avaliação do custo-benefício</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Unity Learn</strong></td>
<td>Gratuito</td>
<td>US$ 0</td>
<td>⭐⭐⭐⭐⭐</td>
</tr>
<tr>
<td><strong>CS50 Games</strong></td>
<td>Gratuito (arquivado)</td>
<td>US$ 0</td>
<td>⭐⭐⭐⭐</td>
</tr>
<tr>
<td><strong>Udemy</strong></td>
<td>Pagamento único (promoções)</td>
<td>US$ 12–30</td>
<td>⭐⭐⭐⭐⭐</td>
</tr>
<tr>
<td><strong>GDQuest</strong></td>
<td>Pagamento único</td>
<td>US$ 84–216</td>
<td>⭐⭐⭐⭐</td>
</tr>
<tr>
<td><strong>Skillshare</strong></td>
<td>Assinatura</td>
<td>US$ 168/ano</td>
<td>⭐⭐⭐</td>
</tr>
<tr>
<td><strong>Pluralsight</strong></td>
<td>Assinatura</td>
<td>US$ 349/ano</td>
<td>⭐⭐⭐</td>
</tr>
<tr>
<td><strong>Coursera</strong></td>
<td>Assinatura + cursos</td>
<td>US$ 49/mês</td>
<td>⭐⭐⭐⭐</td>
</tr>
<tr>
<td><strong>LinkedIn Learning</strong></td>
<td>Assinatura</td>
<td>US$ 360/ano</td>
<td>⭐⭐⭐</td>
</tr>
<tr>
<td><strong>Berklee Online</strong></td>
<td>Por curso</td>
<td>US$ 1.500+</td>
<td>⭐⭐⭐⭐ (profissional)</td>
</tr>
<tr>
<td><strong>Graduações universitárias</strong></td>
<td>Programas de graduação</td>
<td>US$ 20.000+</td>
<td>Depende da carreira</td>
</tr>
</tbody>
</table>
<hr>
<h2 id="dicas-para-escolher-cursos" tabindex="-1">Dicas para escolher cursos <a class="header-anchor" href="#dicas-para-escolher-cursos" aria-label="Permalink to &quot;Dicas para escolher cursos&quot;"></a></h2>
<h3 id="_1-confira-a-data-da-ultima-atualizacao" tabindex="-1">1. Confira a data da &quot;Última atualização&quot; <a class="header-anchor" href="#_1-confira-a-data-da-ultima-atualizacao" aria-label="Permalink to &quot;1. Confira a data da &quot;Última atualização&quot;&quot;"></a></h3>
<p>Os motores de jogos evoluem rapidamente. Um curso de Unity 2020, visto em 2026, terá diferenças significativas em relação às versões atuais. Procure cursos atualizados nos últimos 12 meses.</p>
<h3 id="_2-assista-ao-conteudo-gratuito-de-previa" tabindex="-1">2. Assista ao conteúdo gratuito de prévia <a class="header-anchor" href="#_2-assista-ao-conteudo-gratuito-de-previa" aria-label="Permalink to &quot;2. Assista ao conteúdo gratuito de prévia&quot;"></a></h3>
<p>A maioria das plataformas oferece prévias gratuitas. Avalie:</p>
<ul>
<li>O estilo e o ritmo de ensino</li>
<li>A qualidade do áudio e do vídeo</li>
<li>Se as explicações fazem sentido para você</li>
</ul>
<h3 id="_3-leia-avaliacoes-recentes" tabindex="-1">3. Leia avaliações recentes <a class="header-anchor" href="#_3-leia-avaliacoes-recentes" aria-label="Permalink to &quot;3. Leia avaliações recentes&quot;"></a></h3>
<p>Ordene as avaliações pelas mais recentes. Avaliações antigas de 5 estrelas não refletem a qualidade atual do conteúdo.</p>
<h3 id="_4-verifique-a-qualidade-dos-projetos" tabindex="-1">4. Verifique a qualidade dos projetos <a class="header-anchor" href="#_4-verifique-a-qualidade-dos-projetos" aria-label="Permalink to &quot;4. Verifique a qualidade dos projetos&quot;"></a></h3>
<p>Veja o que os alunos criam. Os projetos são impressionantes? Serviriam para um portfólio?</p>
<h3 id="_5-considere-a-comunidade" tabindex="-1">5. Considere a comunidade <a class="header-anchor" href="#_5-considere-a-comunidade" aria-label="Permalink to &quot;5. Considere a comunidade&quot;"></a></h3>
<p>Cursos com seções ativas de perguntas e respostas, servidores do Discord ou fóruns oferecem um suporte melhor quando você fica travado.</p>
<h3 id="_6-escolha-de-acordo-com-seu-estilo-de-aprendizado" tabindex="-1">6. Escolha de acordo com seu estilo de aprendizado <a class="header-anchor" href="#_6-escolha-de-acordo-com-seu-estilo-de-aprendizado" aria-label="Permalink to &quot;6. Escolha de acordo com seu estilo de aprendizado&quot;"></a></h3>
<ul>
<li><strong>Aprendiz visual:</strong> Cursos em vídeo (Udemy, YouTube)</li>
<li><strong>Leitor:</strong> Documentação do Unity e tutoriais escritos</li>
<li><strong>Aprendizado prático:</strong> Cursos baseados em projetos e game jams</li>
<li><strong>Aprendizado estruturado:</strong> Cursos universitários e especializações</li>
</ul>
<hr>
<h2 id="tabela-resumo" tabindex="-1">Tabela-resumo <a class="header-anchor" href="#tabela-resumo" aria-label="Permalink to &quot;Tabela-resumo&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Curso</th>
<th>Plataforma</th>
<th>Preço</th>
<th>Ideal para</th>
<th>Avaliação</th>
</tr>
</thead>
<tbody>
<tr>
<td>GameDev.tv Unity 3D</td>
<td>Udemy</td>
<td>US$ 12–30</td>
<td>Iniciantes em Unity</td>
<td>⭐ 4,7</td>
</tr>
<tr>
<td>Especialização da Michigan State</td>
<td>Coursera</td>
<td>US$ 49/mês</td>
<td>Credenciais formais</td>
<td>⭐ 4,7</td>
</tr>
<tr>
<td>Trilhas do Unity Learn</td>
<td>Unity</td>
<td>Gratuito</td>
<td>Estudantes com orçamento limitado</td>
<td>⭐ 4,5</td>
</tr>
<tr>
<td>Stephen Ulibarri UE5</td>
<td>Udemy</td>
<td>US$ 15–30</td>
<td>Unreal C++</td>
<td>⭐ 4,8</td>
</tr>
<tr>
<td>Especialização em UE do Coursera</td>
<td>Coursera</td>
<td>US$ 199</td>
<td>Iniciantes em UE</td>
<td>⭐ 4,6</td>
</tr>
<tr>
<td>Pacotes da GDQuest</td>
<td>GDQuest</td>
<td>US$ 84–216</td>
<td>Estudantes de Godot</td>
<td>⭐ 4,8</td>
</tr>
<tr>
<td>Curso de Godot para iniciantes</td>
<td>Udemy</td>
<td>US$ 15–25</td>
<td>Godot com baixo orçamento</td>
<td>⭐ 4,5</td>
</tr>
<tr>
<td>Harvard CS50 Games</td>
<td>edX (arquivado)</td>
<td>Gratuito</td>
<td>Fundamentos</td>
<td>⭐ 4,6</td>
</tr>
<tr>
<td>Complete Blender Creator</td>
<td>Udemy</td>
<td>US$ 15–30</td>
<td>Modelagem 3D</td>
<td>⭐ 4,7</td>
</tr>
<tr>
<td>Berklee Game Audio</td>
<td>Berklee Online</td>
<td>US$ 4.500</td>
<td>Áudio profissional</td>
<td>⭐ 4,8</td>
</tr>
<tr>
<td>Game Audio Essentials</td>
<td>Udemy</td>
<td>US$ 15–25</td>
<td>Áudio com baixo orçamento</td>
<td>⭐ 4,4</td>
</tr>
</tbody>
</table>
<hr>
<p>Pronto para começar a aprender? Escolha um curso que corresponda ao seu orçamento, nível de habilidade e motor preferido. O passo mais importante é <strong>começar a criar jogos</strong>. Os cursos são apenas ferramentas para ajudar você a chegar lá mais rápido.</p>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="qual-e-o-melhor-curso-gratuito-de-desenvolvimento-de-jogos" tabindex="-1">Qual é o melhor curso gratuito de desenvolvimento de jogos? <a class="header-anchor" href="#qual-e-o-melhor-curso-gratuito-de-desenvolvimento-de-jogos" aria-label="Permalink to &quot;Qual é o melhor curso gratuito de desenvolvimento de jogos?&quot;"></a></h3>
<p>As duas melhores opções gratuitas são as trilhas do Unity Learn e os cursos de desenvolvimento de jogos CS50 de Harvard. As trilhas Junior Programmer e Creative Core do Unity Learn são oficiais, estão sempre atualizadas e são baseadas em projetos, levando você do nível iniciante até perto de estar pronto para o mercado sem nenhum custo. O CS50 Introduction to Game Development de Harvard ensina fundamentos que podem ser aplicados a qualquer motor, e seus materiais continuam gratuitos, embora o curso original esteja arquivado e seja substituído por um novo curso CS50 2D. Ambos são realmente gratuitos, não apenas períodos de teste.</p>
<h3 id="vale-a-pena-fazer-uma-graduacao-em-desenvolvimento-de-jogos-em-2026" tabindex="-1">Vale a pena fazer uma graduação em desenvolvimento de jogos em 2026? <a class="header-anchor" href="#vale-a-pena-fazer-uma-graduacao-em-desenvolvimento-de-jogos-em-2026" aria-label="Permalink to &quot;Vale a pena fazer uma graduação em desenvolvimento de jogos em 2026?&quot;"></a></h3>
<p>Depende do seu objetivo. Uma formação acadêmica como o mestrado online em Design de Jogos da WVU (cerca de US$ 22.650) faz sentido se você deseja credenciais acadêmicas para atuar em ensino, pesquisa ou cargos de liderança. Para conseguir um emprego como desenvolvedor, a contratação geralmente depende do seu portfólio, e você pode criar um com cursos da Udemy em promoção (US$ 12 a US$ 30), trilhas gratuitas do Unity Learn e projetos publicados por uma pequena fração do custo de uma graduação. A formação oferece estrutura e credenciais, não um emprego garantido.</p>
<h3 id="quanto-tempo-leva-para-aprender-desenvolvimento-de-jogos" tabindex="-1">Quanto tempo leva para aprender desenvolvimento de jogos? <a class="header-anchor" href="#quanto-tempo-leva-para-aprender-desenvolvimento-de-jogos" aria-label="Permalink to &quot;Quanto tempo leva para aprender desenvolvimento de jogos?&quot;"></a></h3>
<p>Planeje vários meses de dedicação consistente, não apenas algumas semanas. As trilhas de aprendizado apresentadas aqui estimam que um iniciante absoluto leve aproximadamente de 6 a 12 meses em meio período para sair do zero e ficar pronto para o mercado com Unity. Se você já programa, de 3 a 6 meses é um prazo realista. Se você vem da área de arte, reserve de 4 a 8 meses para adquirir as habilidades de motor e pipeline. A maneira mais rápida de avançar é aprender com projetos: crie jogos pequenos e participe de game jams em vez de apenas assistir às aulas.</p>
<h3 id="devo-aprender-unity-ou-unreal-primeiro" tabindex="-1">Devo aprender Unity ou Unreal primeiro? <a class="header-anchor" href="#devo-aprender-unity-ou-unreal-primeiro" aria-label="Permalink to &quot;Devo aprender Unity ou Unreal primeiro?&quot;"></a></h3>
<p>Para a maioria dos iniciantes, o Unity é o ponto de partida mais acessível. Ele usa C#, oferece a maior variedade de cursos para iniciantes (GameDev.tv, a especialização da Michigan State e as trilhas gratuitas do Unity Learn) e tem uma comunidade enorme para ajudar quando você ficar travado. Vale a pena começar pelo Unreal se o seu objetivo for criar visuais 3D de alta fidelidade ou no estilo de consoles, ou se você já souber C++. O curso de UE5 de Stephen Ulibarri é o principal destaque nessa área, embora pressuponha algum conhecimento de programação. Não há escolha errada, então opte pelo motor cujos cursos e jogos-alvo mais correspondam ao que você deseja criar.</p>
<p>Para mais recursos, confira:</p>
<ul>
<li><a href="/pt-BR/guides/game-assets-guide.html">Onde encontrar assets gratuitos para jogos</a></li>
<li><a href="/pt-BR/guides/game-jams-hackathons.html">Guia de game jams e hackathons</a> — a melhor maneira de aprender é publicar sob pressão</li>
<li><a href="/pt-BR/guides/itch-io-launch-guide.html">Como lançar seu jogo no itch.io</a></li>
<li><a href="/pt-BR/guides/web-game-engines-comparison.html">Comparação de motores de jogos para a Web</a> — escolha o motor certo antes de selecionar um curso</li>
<li><a href="/pt-BR/guides/game-asset-licenses.html">Licenças de assets para jogos explicadas</a> — entenda as licenças antes de usar assets de cursos</li>
<li><a href="/pt-BR/tutorials/canvas-2d-game-loop.html">Loop de jogo com Canvas 2D</a> — comece a criar sem um curso, com um tutorial gratuito</li>
</ul>
<BuildCta
  title="A melhor primeira lição é publicar algo"
  desc="Crie um jogo hoje e depois faça o curso para entender o que aconteceu."
  prompt="Crie meu primeiro jogo: um labirinto de bola rolante com três fases" />
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/game-dev-courses.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Guia de Game Jams e Hackathons]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/game-jams-hackathons</link>
            <guid>https://app.cinevva.com/pt-BR/guides/game-jams-hackathons</guid>
            <pubDate>Sun, 18 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Guia completo sobre game jams e hackathons — o que são, principais eventos, por que jogos para web se destacam e como a Cinevva ajuda você a lançar seu jogo de jam]]></description>
            <content:encoded><![CDATA[<h1 id="guia-de-game-jams-e-hackathons" tabindex="-1">Guia de Game Jams e Hackathons <a class="header-anchor" href="#guia-de-game-jams-e-hackathons" aria-label="Permalink to &quot;Guia de Game Jams e Hackathons&quot;"></a></h1>
<div style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:8px;margin:1.5rem 0">
<iframe src="https://www.youtube.com/embed/btOlp4_d1tc" style="position:absolute;top:0;left:0;width:100%;height:100%;border:0" allow="accelerometer;autoplay;clipboard-write;encrypted-media;gyroscope;picture-in-picture" allowfullscreen></iframe>
</div>
<p style="font-size:0.9rem;color:var(--vp-c-text-2);margin-top:-0.5rem">5 dicas para vencer game jams como GMTK e Ludum Dare</p>
<p>Game jams são o berço dos jogos indie. Você cria um jogo em 48 a 72 horas, recebe feedback imediato de milhares de jogadores e, às vezes, lança algo que se torna um verdadeiro sucesso. Este guia aborda tudo o que você precisa saber.</p>
<h2 id="o-que-e-uma-game-jam" tabindex="-1">O que é uma game jam? <a class="header-anchor" href="#o-que-e-uma-game-jam" aria-label="Permalink to &quot;O que é uma game jam?&quot;"></a></h2>
<p>Uma game jam é um evento com tempo limitado no qual você cria um jogo do zero, geralmente em torno de um tema anunciado no início. Pense nela como um hackathon para desenvolvedores de jogos. Esses eventos normalmente duram de 48 horas a 30 dias, com equipes de uma a quatro pessoas, e o objetivo é produzir um protótipo jogável.</p>
<p>Game jams não servem para criar produtos comerciais impecáveis. Elas são voltadas à experimentação, à resolução criativa de problemas sob restrições e à criação de algo divertido em pouco tempo.</p>
<h2 id="por-que-elas-sao-importantes" tabindex="-1">Por que elas são importantes <a class="header-anchor" href="#por-que-elas-sao-importantes" aria-label="Permalink to &quot;Por que elas são importantes&quot;"></a></h2>
<p>Para novos desenvolvedores, nada supera a experiência de publicar um jogo completo, mesmo que pequeno. Imperfeições são esperadas, então é seguro experimentar. Outros participantes jogam e avaliam seu jogo, oferecendo feedback imediato. Além disso, um jogo de jam finalizado mostra que você sabe executar uma ideia, não apenas falar sobre ela.</p>
<p>Para desenvolvedores experientes, as jams permitem testar ideias rapidamente e validar conceitos antes de dedicar meses a eles. As restrições estimulam a criatividade e ajudam a superar bloqueios criativos. Você conhece colaboradores, publishers e jogadores. E muitos jogos indie de sucesso começaram como projetos de jams.</p>
<p>Celeste começou como um jogo da Ludum Dare. Superhot surgiu como um protótipo feito em 7 dias. Hollow Knight evoluiu a partir de um conceito de jam. Minit nasceu em uma jam de 48 horas. Papers, Please foi criado para a Ludum Dare 29.</p>
<h2 id="principais-game-jams-de-2026" tabindex="-1">Principais game jams de 2026 <a class="header-anchor" href="#principais-game-jams-de-2026" aria-label="Permalink to &quot;Principais game jams de 2026&quot;"></a></h2>
<h3 id="eventos-globais" tabindex="-1">Eventos globais <a class="header-anchor" href="#eventos-globais" aria-label="Permalink to &quot;Eventos globais&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Evento</th>
<th>Quando</th>
<th>Formato</th>
<th>Observações</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Global Game Jam</strong></td>
<td>Final de janeiro</td>
<td>48 horas, locais presenciais e remotos</td>
<td>Maior jam do mundo, com mais de 40.000 participantes. A edição de 2026 (26 de janeiro a 1º de fevereiro) marca o momento em que a GGJ ultrapassa 500.000 participantes desde sua criação, distribuídos por cerca de 800 locais em mais de 100 países.</td>
</tr>
<tr>
<td><strong>Ludum Dare</strong></td>
<td>Abril e outubro (aprox.)</td>
<td>48 h individualmente / 72 h em equipe</td>
<td>Uma das jams mais antigas e respeitadas</td>
</tr>
<tr>
<td><strong>GMTK Game Jam</strong></td>
<td>Verão do hemisfério norte</td>
<td>48 horas</td>
<td>Enorme audiência, normalmente com mais de 7.000 projetos inscritos</td>
</tr>
<tr>
<td><strong>js13kGames</strong></td>
<td>Agosto a setembro</td>
<td>Limite de 13 KB, 30 dias</td>
<td>Melhor opção para desenvolvedores web</td>
</tr>
<tr>
<td><strong>Gamedev.js Jam</strong></td>
<td>13 a 26 de abril de 2026</td>
<td>13 dias, apenas HTML5</td>
<td>Prêmios e formato acessível</td>
</tr>
</tbody>
</table>
<h3 id="jams-continuas-e-regulares-no-itch-io" tabindex="-1">Jams contínuas e regulares no itch.io <a class="header-anchor" href="#jams-continuas-e-regulares-no-itch-io" aria-label="Permalink to &quot;Jams contínuas e regulares no itch.io&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Jam</th>
<th>Descrição</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Brackeys Game Jam 2026.2</strong></td>
<td>7 dias, milhares de participantes, de 23 a 30 de agosto de 2026</td>
</tr>
<tr>
<td><strong>Pirate Software Game Jam 18</strong></td>
<td>14 dias, mais de 600 participantes</td>
</tr>
<tr>
<td><strong>Finally Finish Something 2026</strong></td>
<td>Janeiro, para concluir projetos em andamento</td>
</tr>
<tr>
<td><strong>2026 Annual Jam</strong></td>
<td>Um ano de duração, com regras flexíveis</td>
</tr>
<tr>
<td><strong>Retro Game Jam 2026</strong></td>
<td>8 a 14 de fevereiro, com foco em estética retrô</td>
</tr>
</tbody>
</table>
<p><strong>Encontre mais:</strong> <a href="https://itch.io/jams" target="_blank" rel="noreferrer">itch.io/jams</a> lista centenas de jams ativas e futuras.</p>
<hr>
<h2 id="por-que-jogos-para-web-vencem-jams" tabindex="-1">Por que jogos para web vencem jams <a class="header-anchor" href="#por-que-jogos-para-web-vencem-jams" aria-label="Permalink to &quot;Por que jogos para web vencem jams&quot;"></a></h2>
<p>Se você consegue criar um jogo que roda no navegador, tem uma enorme vantagem.</p>
<h3 id="nenhuma-barreira" tabindex="-1">Nenhuma barreira <a class="header-anchor" href="#nenhuma-barreira" aria-label="Permalink to &quot;Nenhuma barreira&quot;"></a></h3>
<p>Os jurados de jams jogam dezenas de jogos. Com um jogo para download, eles precisam clicar para baixar, esperar, extrair ou instalar, encontrar o executável e iniciá-lo. São de 5 a 10 minutos antes mesmo de começarem a jogar. Com um jogo para web, basta clicar em jogar e esperar de 2 a 5 segundos. Eles já estarão jogando.</p>
<p>Cada segundo de atrito custa partidas, avaliações e posições no ranking.</p>
<h3 id="funciona-em-qualquer-lugar" tabindex="-1">Funciona em qualquer lugar <a class="header-anchor" href="#funciona-em-qualquer-lugar" aria-label="Permalink to &quot;Funciona em qualquer lugar&quot;"></a></h3>
<p>Jogos para web rodam no Windows, Mac, Linux e ChromeOS. Eles também funcionam em dispositivos móveis se você oferecer suporte a toque. Você nunca precisa escrever “Desculpe, disponível apenas para Windows” na descrição. Assim, maximiza seu público em potencial.</p>
<h3 id="facil-de-compartilhar" tabindex="-1">Fácil de compartilhar <a class="header-anchor" href="#facil-de-compartilhar" aria-label="Permalink to &quot;Fácil de compartilhar&quot;"></a></h3>
<p>Você recebe um link direto para jogar. Pode incorporá-lo em publicações no X, no Discord e em blogs. Nada de links suspeitos de “Baixe pelo Google Drive”. É muito melhor para viralizar nas redes sociais.</p>
<h3 id="atualizacoes-instantaneas" tabindex="-1">Atualizações instantâneas <a class="header-anchor" href="#atualizacoes-instantaneas" aria-label="Permalink to &quot;Atualizações instantâneas&quot;"></a></h3>
<p>Corrigiu um bug? Publique em segundos. Encontrou um problema de balanceamento? Corrija ao vivo. Nada de mensagens como “v1.1 enviada, baixe novamente”.</p>
<h3 id="recursos-tecnicos" tabindex="-1">Recursos técnicos <a class="header-anchor" href="#recursos-tecnicos" aria-label="Permalink to &quot;Recursos técnicos&quot;"></a></h3>
<p>WebGL e WebGPU oferecem gráficos acelerados por GPU. A Web Audio API fornece suporte completo a áudio. LocalStorage e IndexedDB permitem salvar jogos sem um servidor. Service Workers possibilitam jogar offline. WebSockets permitem criar experiências multijogador.</p>
<h2 id="como-fazer-seu-jogo-de-jam-ser-descoberto" tabindex="-1">Como fazer seu jogo de jam ser descoberto <a class="header-anchor" href="#como-fazer-seu-jogo-de-jam-ser-descoberto" aria-label="Permalink to &quot;Como fazer seu jogo de jam ser descoberto&quot;"></a></h2>
<p>Game jams geram milhares de jogos. Depois de uma jam, seu jogo compete com milhares de outros projetos no itch.io, com um feed “Novidades” saturado e com jogadores que têm pouco tempo e só passam os olhos pelas opções.</p>
<p>As soluções tradicionais não funcionam muito bem. Capturas de tela não mostram a jogabilidade. Trailers levam horas para produzir, e você está exausto. Marketing exige uma energia que você já não tem.</p>
<h3 id="videos-curtos-de-jogabilidade-funcionam" tabindex="-1">Vídeos curtos de jogabilidade funcionam <a class="header-anchor" href="#videos-curtos-de-jogabilidade-funcionam" aria-label="Permalink to &quot;Vídeos curtos de jogabilidade funcionam&quot;"></a></h3>
<p>Grave 15 segundos de jogabilidade mostrando o melhor momento, o ciclo principal ou o diferencial do jogo. Publique como vídeo curto no TikTok, Reels ou YouTube Shorts e inclua um link para a página onde o jogo pode ser jogado. Os jogadores navegam, assistem, clicam e começam a jogar na hora, especialmente quando o próprio jogo roda no navegador.</p>
<p>Seu jogo é avaliado pela jogabilidade, não pelas suas habilidades de marketing. Você não precisa gastar tempo com trailers, pois clipes de 15 segundos são suficientes. Não precisa competir com o marketing de jogos AAA, porque a jogabilidade fala por si. E os jogadores não precisam baixar nada, pois jogos para web rodam instantaneamente.</p>
<h3 id="o-fluxo-de-trabalho" tabindex="-1">O fluxo de trabalho <a class="header-anchor" href="#o-fluxo-de-trabalho" aria-label="Permalink to &quot;O fluxo de trabalho&quot;"></a></h3>
<p>Durante a jam, concentre-se em criar seu jogo. Se estiver correndo contra o relógio ou quiser obter rapidamente uma base jogável, a Cinevva pode transformar um prompt em um jogo 3D jogável para web diretamente no navegador. Você pode publicá-lo como um link compartilhável para incorporar ou adicionar à sua página no itch.io. Na última hora, grave de 2 a 3 clipes rápidos da jogabilidade.</p>
<p>Após a entrega, inscreva o jogo normalmente na jam, publique seus clipes nas redes sociais, compartilhe o link direto para jogar e veja jogadores reais descobrirem e jogarem sua criação.</p>
<h2 id="estrategias-para-o-sucesso" tabindex="-1">Estratégias para o sucesso <a class="header-anchor" href="#estrategias-para-o-sucesso" aria-label="Permalink to &quot;Estratégias para o sucesso&quot;"></a></h2>
<h3 id="antes-da-jam" tabindex="-1">Antes da jam <a class="header-anchor" href="#antes-da-jam" aria-label="Permalink to &quot;Antes da jam&quot;"></a></h3>
<p>Prepare suas ferramentas. Teste sua engine, IDE e ferramentas de arte. Configure o controle de versão com Git. Tenha um modelo de projeto pronto. Pratique a importação de assets e a criação de mecânicas básicas.</p>
<p>Prepare-se. Durma bem na noite anterior. Abasteça-se de comida e bebidas. Libere sua agenda. Avise familiares ou colegas de casa que você estará ocupado.</p>
<p>Se tiver uma equipe, definam como será a comunicação — o Discord funciona bem —, distribuam funções gerais e alinhem as expectativas de disponibilidade.</p>
<h3 id="durante-a-jam" tabindex="-1">Durante a jam <a class="header-anchor" href="#durante-a-jam" aria-label="Permalink to &quot;Durante a jam&quot;"></a></h3>
<p>Nas primeiras 2 horas, faça um brainstorming e planeje. Gere várias ideias e escolha a mais viável. Reduza o escopo sem dó e corte 50%. Documente o ciclo principal de jogabilidade. Defina o estilo visual com a equipe.</p>
<p>Da 2ª à 20ª hora, crie a base. Faça a mecânica principal funcionar primeiro. Não há problema em usar arte provisória. Nada de polimento antes de a base funcionar. Faça commits com frequência.</p>
<p>Da 20ª à 40ª hora, torne o jogo completo e jogável. Adicione conteúdo, como fases e inimigos. Crie uma interface básica com telas de menu e fim de jogo. Adicione efeitos sonoros e música. Continue testando o tempo todo.</p>
<p>Nas 8 horas finais, faça o polimento e publique. Corrija apenas bugs críticos. Faça uma revisão final da arte. Escreva sua descrição. Capture imagens e um GIF. Envie com antecedência para não perder o prazo.</p>
<h3 id="depois-da-jam" tabindex="-1">Depois da jam <a class="header-anchor" href="#depois-da-jam" aria-label="Permalink to &quot;Depois da jam&quot;"></a></h3>
<p>Imediatamente após a jam, descanse, pois você merece. Compartilhe o jogo nas redes sociais. Agradeça aos colegas de equipe.</p>
<p>Dentro de uma semana, jogue e avalie outros projetos, responda aos comentários, reúna feedback e grave clipes da jogabilidade.</p>
<p>Mais tarde, decida se deseja continuar o desenvolvimento, escreva um devlog de retrospectiva e mantenha contato com as pessoas que conheceu.</p>
<h3 id="erros-comuns" tabindex="-1">Erros comuns <a class="header-anchor" href="#erros-comuns" aria-label="Permalink to &quot;Erros comuns&quot;"></a></h3>
<p>O escopo aumenta por causa da empolgação. Escreva sua lista de recursos com antecedência e siga-a. O jogo fica sem áudio quando você deixa isso para o final. Adicione sons provisórios desde cedo. Controles pouco claros são resultado da visão limitada de quem desenvolve. Inclua instruções e faça testes com outras pessoas. Builds quebradas surgem por causa da pressa. Teste as exportações logo no início da jam. Descrições ruins são consequência do cansaço. Faça um rascunho antes de ficar exausto demais.</p>
<h2 id="como-criar-jogos-para-web-em-jams" tabindex="-1">Como criar jogos para web em jams <a class="header-anchor" href="#como-criar-jogos-para-web-em-jams" aria-label="Permalink to &quot;Como criar jogos para web em jams&quot;"></a></h2>
<p>Para jogos 2D, Phaser é o framework de jogos HTML5 mais popular. Pixi.js é um renderizador 2D rápido que você pode combinar com sua própria lógica. Godot oferece uma excelente exportação para HTML5.</p>
<p>Para jogos 3D, Three.js é a biblioteca WebGL mais flexível. Babylon.js é uma engine 3D completa. PlayCanvas é nativa da web e tem um editor integrado.</p>
<p>Para desenvolvimento sem código ou com pouco código, GDevelop é uma ferramenta visual de criação de jogos com exportação para web. Construct permite criar jogos HTML5 avançados sem código.</p>
<h3 id="otimizacao" tabindex="-1">Otimização <a class="header-anchor" href="#otimizacao" aria-label="Permalink to &quot;Otimização&quot;"></a></h3>
<p>Mantenha o tempo de carregamento abaixo de 10 segundos compactando assets e usando carregamento sob demanda. Mostre o progresso do carregamento para que os jogadores não desistam. Teste no Chrome, Firefox e Safari, pois existem diferenças entre os navegadores. Se possível, adapte o jogo para dispositivos móveis com controles por toque e layout responsivo. Ofereça um botão de tela cheia para aumentar a imersão. Inclua um botão para ativar ou desativar o som, pois nem todos podem jogar com o áudio ligado.</p>
<p>Nas configurações de incorporação do itch.io, use uma largura de 960 px — ou sua resolução nativa —, altura de 540 px para a proporção 16:9, ative a compatibilidade com dispositivos móveis se o jogo for responsivo, habilite o botão de tela cheia e desative as barras de rolagem.</p>
<h2 id="depois-da-jam-1" tabindex="-1">Depois da jam <a class="header-anchor" href="#depois-da-jam-1" aria-label="Permalink to &quot;Depois da jam&quot;"></a></h2>
<p>Na primeira semana, responda a todo o feedback para gerar boa vontade e aprender. Jogue e avalie outros projetos, pois a comunidade é importante. Publique um devlog compartilhando sua experiência e o que funcionou ou não. Envie clipes de jogabilidade para atrair mais atenção ao jogo.</p>
<p>No primeiro mês, corrija os bugs relatados pelos jogadores, faça pequenos aprimoramentos de baixo esforço e alto impacto e compartilhe a história da sua jam nas redes sociais usando GIFs.</p>
<p>No longo prazo, se o jogo tiver potencial, agrupe os temas recorrentes do feedback para descobrir o que os jogadores gostaram ou não de forma consistente. Avalie se há espaço para um jogo maior. Planeje uma versão pós-jam ampliada e aprimorada. Considere monetizá-la com o modelo “pague quanto quiser” no itch.io ou lançá-la na Steam.</p>
<p>Sinais de que seu jogo de jam pode se tornar algo maior: jogadores pedindo mais conteúdo, streamers começando a jogá-lo, notas altas em comparação com jogos semelhantes, você ainda estar empolgado com ele semanas depois e existir um caminho claro para multiplicar o conteúdo por dez.</p>
<h2 id="recursos" tabindex="-1">Recursos <a class="header-anchor" href="#recursos" aria-label="Permalink to &quot;Recursos&quot;"></a></h2>
<p>Para encontrar comunidades, visite <a href="https://reddit.com/r/gamejams" target="_blank" rel="noreferrer">r/gamejams</a> para acompanhar discussões sobre jams ativas, <a href="https://reddit.com/r/ludumdare" target="_blank" rel="noreferrer">r/ludumdare</a> para conversas específicas sobre a LD, <a href="https://itch.io/jams" target="_blank" rel="noreferrer">Jams do itch.io</a> para encontrar e participar de jams e <a href="https://gamedevjs.com" target="_blank" rel="noreferrer">Gamedev.js</a> para conhecer a comunidade de desenvolvimento de jogos com JavaScript.</p>
<p>Entre as ferramentas, <a href="https://kenney.nl" target="_blank" rel="noreferrer">Kenney Assets</a> oferece assets gratuitos para jogos, <a href="https://opengameart.org" target="_blank" rel="noreferrer">OpenGameArt</a> disponibiliza arte e áudio sob licenças CC, <a href="https://freesound.org" target="_blank" rel="noreferrer">Freesound</a> oferece efeitos sonoros e <a href="https://itch.io/docs/butler/" target="_blank" rel="noreferrer">itch.io Butler</a> é uma CLI para envios rápidos.</p>
<p>Para aprender, consulte os <a href="/pt-BR/tutorials/">Tutoriais da Cinevva</a> para ver guias de desenvolvimento de jogos para web, a <a href="/pt-BR/guides/web-game-engines-comparison.html">Comparação de engines para jogos web</a> para escolher suas ferramentas e <a href="/pt-BR/guides/itch-io-launch-guide.html">Como lançar no itch.io</a> para otimizar a página do seu jogo.</p>
<h2 id="sua-proxima-jam" tabindex="-1">Sua próxima jam <a class="header-anchor" href="#sua-proxima-jam" aria-label="Permalink to &quot;Sua próxima jam&quot;"></a></h2>
<p>Antes da jam, instale e teste suas ferramentas, prepare um modelo de projeto, reúna pacotes de assets caso sejam permitidos, monte sua equipe ou decida trabalhar por conta própria e reserve o período na agenda.</p>
<p>Durante a jam, faça um brainstorming sobre o tema por no máximo 30 minutos, crie primeiro um protótipo da mecânica principal, teste cedo e com frequência, adicione áudio antes do último dia e reserve pelo menos uma hora para o envio.</p>
<p>Depois da jam, envie o jogo para a página do evento, publique clipes da jogabilidade, jogue e avalie outros projetos, responda ao feedback e escreva um devlog sobre sua experiência.</p>
<h2 id="comece-agora" tabindex="-1">Comece agora <a class="header-anchor" href="#comece-agora" aria-label="Permalink to &quot;Comece agora&quot;"></a></h2>
<p>Explore as próximas jams em <a href="https://itch.io/jams" target="_blank" rel="noreferrer">itch.io/jams</a>. Escolha uma que combine com sua agenda e seus interesses. Prepare suas ferramentas usando este guia. Crie algo incrível em 48 a 72 horas. Compartilhe e veja os jogadores descobrirem sua criação.</p>
<p>Game jams são o berço dos jogos indie. Seu próximo jogo de jam pode ser o começo de algo grandioso.</p>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="quais-game-jams-sao-melhores-para-iniciantes" tabindex="-1">Quais game jams são melhores para iniciantes? <a class="header-anchor" href="#quais-game-jams-sao-melhores-para-iniciantes" aria-label="Permalink to &quot;Quais game jams são melhores para iniciantes?&quot;"></a></h3>
<p>Comece com uma jam que tenha uma comunidade grande e acolhedora e regras flexíveis, pois é nesse ambiente que um primeiro projeto ainda inacabado será bem recebido. A Global Game Jam é a porta de entrada mais amigável, com locais presenciais e remotos, mentores disponíveis e nenhuma expectativa de um jogo impecável. A Ludum Dare é quase tão acessível para iniciantes e acontece duas vezes por ano, com uma enorme comunidade de jogadores que avalia cada projeto. Se você desenvolve para web, a Gamedev.js Jam e a js13kGames oferecem prazos generosos e aceitam apenas HTML5, enquanto a “Finally Finish Something” do itch.io foi criada para ajudar você a concluir algo, em vez de simplesmente vencer. Escolha uma jam mais longa para sua primeira experiência, para não precisar lutar contra o relógio enquanto ainda está aprendendo.</p>
<h3 id="quanto-tempo-duram-as-game-jams" tabindex="-1">Quanto tempo duram as game jams? <a class="header-anchor" href="#quanto-tempo-duram-as-game-jams" aria-label="Permalink to &quot;Quanto tempo duram as game jams?&quot;"></a></h3>
<p>A duração varia de algumas horas a um mês inteiro, mas as jams mais famosas costumam acontecer durante um fim de semana. A Global Game Jam e a GMTK duram 48 horas, enquanto a Ludum Dare oferece 48 horas para participantes individuais ou 72 horas para equipes. Também existem formatos mais longos para quem precisa de mais tempo: a Pirate Software Game Jam dura 14 dias, a js13kGames se estende por 30 dias e algumas jams do itch.io são eventos tranquilos com um ano de duração. Escolha uma duração compatível com sua agenda e experiência, pois uma maratona de 48 horas e uma jam de duas semanas exigem ritmos muito diferentes.</p>
<h3 id="jogos-de-jams-realmente-atraem-jogadores" tabindex="-1">Jogos de jams realmente atraem jogadores? <a class="header-anchor" href="#jogos-de-jams-realmente-atraem-jogadores" aria-label="Permalink to &quot;Jogos de jams realmente atraem jogadores?&quot;"></a></h3>
<p>Sim, mais do que você imagina durante o período de avaliações. Em uma jam com milhares de participantes, todos jogam e avaliam os projetos uns dos outros, então um bom jogo pode conquistar centenas de partidas na primeira semana sem nenhuma divulgação externa. Jogos web se destacam aqui porque os jurados precisam apenas clicar e jogar, em vez de baixar algo. O porém é que a atenção diminui rapidamente após o encerramento das avaliações, então as partidas que você recebe dependem de enviar o jogo dentro do prazo, avaliar outros projetos para atrair olhares para o seu e publicar um clipe curto de gameplay enquanto a jam ainda está em alta. Muitos sucessos começaram assim, de Celeste a Superhot.</p>
<h3 id="qual-engine-voce-deve-usar-em-uma-jam-de-48-horas" tabindex="-1">Qual engine você deve usar em uma jam de 48 horas? <a class="header-anchor" href="#qual-engine-voce-deve-usar-em-uma-jam-de-48-horas" aria-label="Permalink to &quot;Qual engine você deve usar em uma jam de 48 horas?&quot;"></a></h3>
<p>A que você já conhece. Uma jam de 48 horas recompensa mais a familiaridade do que o poder bruto, então esse não é o fim de semana para aprender uma engine nova. Seja qual for sua escolha, prefira uma que exporte versões web sem complicação, pois um projeto jogável no navegador recebe muito mais partidas e avaliações do que um que exige download. Para 2D, Godot, Phaser e Pixi.js exportam muito bem para a web. Para 3D, Three.js, Babylon.js e PlayCanvas são opções sólidas. Se você preferir não programar, GDevelop e Construct permitem criar jogos HTML5 sem código, enquanto uma ferramenta baseada em prompts como o Cinevva pode entregar em minutos um jogo 3D web jogável para você desenvolver.</p>
<BuildCta
  title="Pratique agora mesmo sua velocidade para jams"
  desc="Um protótipo jogável criado em minutos é um bom aquecimento para uma jam de 48 horas."
  prompt="Crie um protótipo para uma game jam em que a gravidade se inverte a cada 10 segundos" />
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/game-assets-guide.html">Onde encontrar assets gratuitos para jogos</a> — pacotes de assets CC0 prontos para jogos de jam</li>
<li><a href="/pt-BR/tutorials/agentic-code-tools.html">Ferramentas de IA agêntica para programação</a> — como usar Claude Code, Cursor e Copilot para criar mais rápido durante jams</li>
<li><a href="/pt-BR/guides/kickstarter-for-indie-games.html">Kickstarter para jogos indie</a> — como transformar um jogo de jam bem-sucedido em um projeto financiado</li>
<li><a href="/pt-BR/guides/co-op-game-design.html">Design de jogos cooperativos</a> — jogos cooperativos de jam recebem mais atenção e avaliações</li>
<li><a href="/pt-BR/tutorials/canvas-2d-game-loop.html">Loop de jogo com Canvas 2D</a> — a base mais simples para um jogo de jam de 48 horas</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/game-jams-hackathons.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Como Lançar Seu Jogo no itch.io (Guia de 2026)]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/itch-io-launch-guide</link>
            <guid>https://app.cinevva.com/pt-BR/guides/itch-io-launch-guide</guid>
            <pubDate>Sun, 18 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Como lançar, divulgar e fazer seu jogo indie crescer no itch.io em 2026 — configuração da página, preços, tags, devlogs e descoberta.]]></description>
            <content:encoded><![CDATA[<h1 id="como-lancar-seu-jogo-no-itch-io-guia-de-2026" tabindex="-1">Como Lançar Seu Jogo no itch.io (Guia de 2026) <a class="header-anchor" href="#como-lancar-seu-jogo-no-itch-io-guia-de-2026" aria-label="Permalink to &quot;Como Lançar Seu Jogo no itch.io (Guia de 2026)&quot;"></a></h1>
<p><em>Última atualização: julho de 2026.</em></p>
<p>Este guia reúne tudo o que aprendi sobre o lançamento de jogos no itch.io. Da configuração da página aos preços e à visibilidade, estas são as estratégias que realmente funcionam.</p>
<h2 id="por-que-o-itch-io" tabindex="-1">Por que o itch.io? <a class="header-anchor" href="#por-que-o-itch-io" aria-label="Permalink to &quot;Por que o itch.io?&quot;"></a></h2>
<p>O itch.io é onde os jogos indie prosperam. Quase não há barreiras de entrada, então qualquer pessoa pode publicar, com uma ressalva que vale a pena conhecer desde o início: desde meados de 2025, o itch.io tornou mais rigoroso o tratamento de conteúdo adulto/NSFW. Sob pressão de seus processadores de pagamento, a plataforma removeu conteúdo adulto de seu índice em julho de 2025 e agora exige que páginas NSFW adicionem avisos de conteúdo para aparecerem nas buscas, enquanto conteúdo adulto pago continua restrito. Para a grande maioria dos jogos sem conteúdo adulto, nada disso se aplica, e a publicação continua tão aberta quanto antes. Os preços são flexíveis: grátis, preço fixo ou pague quanto quiser. Você define a própria participação da plataforma na receita, até mesmo 0% se quiser ficar com tudo. Jogos web rodam nativamente no navegador. A comunidade procura ativamente jogos indie. E o ecossistema de game jams oferece visibilidade e feedback integrados.</p>
<p>Não é a Steam, e esse é justamente o ponto. O itch.io recompensa a experimentação e os desenvolvedores que interagem com a comunidade.</p>
<h2 id="antes-de-publicar" tabindex="-1">Antes de Publicar <a class="header-anchor" href="#antes-de-publicar" aria-label="Permalink to &quot;Antes de Publicar&quot;"></a></h2>
<p>Você precisa ter algumas coisas prontas antes de clicar em publicar. No mínimo, é necessário ter um jogo jogável (para download ou executável no navegador), uma imagem de capa de 630×500 pixels, pelo menos 3 capturas de tela, uma descrição e o gênero e as tags selecionados.</p>
<p>Para um lançamento melhor, adicione um trailer ou GIF de gameplay, uma descrição detalhada com os recursos do jogo, um kit de imprensa, perfis em redes sociais e, opcionalmente, um servidor no Discord.</p>
<p>Para obter os melhores resultados, planeje seus posts de devlog com antecedência, prepare uma lista de influenciadores e veículos de imprensa para contatar, redija seu anúncio de lançamento e construa uma comunidade antes de lançar.</p>
<h2 id="sua-pagina-e-sua-vitrine" tabindex="-1">Sua Página É Sua Vitrine <a class="header-anchor" href="#sua-pagina-e-sua-vitrine" aria-label="Permalink to &quot;Sua Página É Sua Vitrine&quot;"></a></h2>
<p>É na página que as pessoas decidem se vão jogar seu jogo. Cada elemento importa.</p>
<h3 id="imagem-de-capa" tabindex="-1">Imagem de Capa <a class="header-anchor" href="#imagem-de-capa" aria-label="Permalink to &quot;Imagem de Capa&quot;"></a></h3>
<p>A imagem de capa é o elemento visual mais importante. Ela aparece nas páginas de navegação, nos resultados de busca, nas coleções e nas prévias de redes sociais. Com 630×500 pixels (ou no mínimo 315×250), ela precisa funcionar como miniatura.</p>
<p>Garanta que ela permaneça legível em tamanho pequeno. Teste-a na escala de uma miniatura. Transmita a essência do jogo por meio do estilo visual, do clima e de elementos que indiquem o gênero. Inclua o título e garanta que seja fácil de ler. Use cores fortes e um ponto focal claro para se destacar em meio a uma grade de outros jogos.</p>
<h3 id="capturas-de-tela-e-midia" tabindex="-1">Capturas de Tela e Mídia <a class="header-anchor" href="#capturas-de-tela-e-midia" aria-label="Permalink to &quot;Capturas de Tela e Mídia&quot;"></a></h3>
<p>Você precisa de pelo menos 3 a 5 capturas de tela para transmitir credibilidade. Um GIF mostrando a gameplay em movimento ajuda muito. Para lançamentos mais ambiciosos, adicione um trailer de 30 a 90 segundos.</p>
<p>Nas capturas de tela, mostre a gameplay de verdade, não os menus. Registre momentos empolgantes. Mantenha uma proporção de tela consistente. Inclua a interface se ela for visualmente atraente.</p>
<p>Para os GIFs, procure mostrar entre 5 e 15 segundos de ação. Mantenha-os abaixo de 10 MB para que carreguem rapidamente. Mostre o loop principal de gameplay. Faça com que a repetição seja fluida.</p>
<h3 id="descricao" tabindex="-1">Descrição <a class="header-anchor" href="#descricao" aria-label="Permalink to &quot;Descrição&quot;"></a></h3>
<p>Estruture sua descrição pensando em quem passa os olhos rapidamente pelo texto. Comece com uma frase curta e marcante que desperte interesse. Em seguida, use uma frase para explicar o gênero, o que o jogador faz e qual é o objetivo. Adicione de 2 a 3 frases desenvolvendo o conceito. Depois, liste os recursos, os controles e os créditos.</p>
<p>Não escreva blocos enormes de texto. Não comece com “Este é o meu primeiro jogo...” nem seja excessivamente modesto. E não se esqueça de explicar o que o jogo realmente é. As pessoas precisam entender no que estão se metendo.</p>
<h3 id="tags" tabindex="-1">Tags <a class="header-anchor" href="#tags" aria-label="Permalink to &quot;Tags&quot;"></a></h3>
<p>As tags determinam onde seu jogo aparece na seção Browse. Use todas as tags relevantes. Seja específico: não apenas “action”, mas “top-down-shooter”. Inclua tags de acessibilidade, quando aplicável. Adicione tags de multiplayer ou cooperação local, se forem relevantes. Use tags populares que realmente correspondam ao seu jogo.</p>
<p>Tags de alto valor a considerar: gêneros específicos, como roguelike, metroidvania ou visual-novel. Estilos visuais, como pixel-art, low-poly ou hand-drawn. Temas, como horror, cozy ou atmospheric. Modos multiplayer, como local-multiplayer ou online-co-op. Recursos de acessibilidade, como colorblind-friendly ou one-button.</p>
<h3 id="metadados" tabindex="-1">Metadados <a class="header-anchor" href="#metadados" aria-label="Permalink to &quot;Metadados&quot;"></a></h3>
<p>Preencha tudo. Gênero, engine e ferramentas utilizadas, o máximo possível de tags relevantes, todos os idiomas disponíveis, recursos de acessibilidade, como controles configuráveis, e modo multiplayer (um jogador, local ou online). Quanto mais completos forem seus metadados, mais fácil será descobrir seu jogo.</p>
<h2 id="precos" tabindex="-1">Preços <a class="header-anchor" href="#precos" aria-label="Permalink to &quot;Preços&quot;"></a></h2>
<p>O itch.io oferece três modelos de preço: grátis, pague quanto quiser e preço fixo. Cada um funciona melhor em situações diferentes.</p>
<p>O itch.io usa um modelo aberto de participação na receita: a porcentagem padrão é de cerca de 10%, mas você escolhe o valor, que pode variar de 0% a 100%. Algumas vezes por ano, o itch.io também realiza o Creator Day, um evento de 24 horas no qual a plataforma elimina completamente sua taxa, permitindo que você fique com 100% das vendas (após as taxas dos processadores de pagamento e os impostos). Vale a pena programar uma promoção ou anúncio de lançamento para coincidir com um desses eventos. O mais recente aconteceu em 28 de novembro de 2025.</p>
<h3 id="pague-quanto-quiser-funciona-melhor-para-a-maioria-dos-jogos" tabindex="-1">Pague Quanto Quiser Funciona Melhor para a Maioria dos Jogos <a class="header-anchor" href="#pague-quanto-quiser-funciona-melhor-para-a-maioria-dos-jogos" aria-label="Permalink to &quot;Pague Quanto Quiser Funciona Melhor para a Maioria dos Jogos&quot;"></a></h3>
<p>O modelo pague quanto quiser com valor mínimo de US$ 0 costuma ter um desempenho melhor que o preço fixo para jogos indie. Desenvolvedores que compartilham seus números em análises pós-lançamento relatam de forma consistente várias vezes mais downloads do que com preços fixos, com algo entre um décimo e um terço das pessoas que baixam o jogo optando por pagar. A receita total muitas vezes acaba sendo maior, apesar da média mais baixa por comprador. Esses são padrões observados em análises pós-lançamento compartilhadas, não estatísticas oficiais do itch.io, portanto considere-os uma orientação, não uma promessa.</p>
<p>Para otimizar o modelo pague quanto quiser, defina um preço sugerido para criar uma referência de valor. Para jogos curtos, com menos de 30 minutos, sugira entre US$ 2 e US$ 5. Para jogos médios, com duração de 1 a 3 horas, sugira entre US$ 5 e US$ 10. Para jogos completos, com mais de 5 horas, sugira entre US$ 10 e US$ 20.</p>
<p>Explique por que o apoio é importante. Algo como “Este jogo usa o modelo pague quanto quiser! Qualquer contribuição me ajuda a criar mais jogos e continuar lançando atualizações”. Também ofereça incentivos para quem pagar: conteúdo extra, trilha sonora, PDF de bastidores ou nome nos créditos.</p>
<h3 id="quando-o-preco-fixo-faz-sentido" tabindex="-1">Quando o Preço Fixo Faz Sentido <a class="header-anchor" href="#quando-o-preco-fixo-faz-sentido" aria-label="Permalink to &quot;Quando o Preço Fixo Faz Sentido&quot;"></a></h3>
<p>Use um preço fixo quando você já tiver um público estabelecido, quando o jogo tiver um alto nível de acabamento, quando houver bastante conteúdo (mais de 5 horas) ou quando precisar de uma receita previsível.</p>
<p>Quanto aos valores, US$ 2 a US$ 5 funcionam para jogos curtos e protótipos. US$ 5 a US$ 10 para jogos médios voltados a um nicho. US$ 10 a US$ 20 para jogos completos com alto nível de acabamento. Mais de US$ 20 para jogos grandes de desenvolvedores já estabelecidos.</p>
<h3 id="jogos-gratuitos-ainda-geram-dinheiro" tabindex="-1">Jogos Gratuitos Ainda Geram Dinheiro <a class="header-anchor" href="#jogos-gratuitos-ainda-geram-dinheiro" aria-label="Permalink to &quot;Jogos Gratuitos Ainda Geram Dinheiro&quot;"></a></h3>
<p>Para projetos de portfólio, trabalhos de game jams, projetos experimentais ou para formar um público para futuros jogos pagos, disponibilizar gratuitamente faz sentido. Mas até jogos gratuitos recebem doações. O itch.io já afirmou que uma parcela significativa dos gastos na plataforma vem de pessoas que pagam acima do valor mínimo, então mantenha aberta a opção de doação.</p>
<h2 id="como-ser-descoberto" tabindex="-1">Como Ser Descoberto <a class="header-anchor" href="#como-ser-descoberto" aria-label="Permalink to &quot;Como Ser Descoberto&quot;"></a></h2>
<p>O itch.io não tem a promoção algorítmica da Steam. Você é responsável por gerar sua própria visibilidade.</p>
<p>A descoberta acontece por meio da busca (influenciada por tags, título e descrição), da seção Browse Popular (influenciada por downloads, avaliações e recência), da seção Browse New (influenciada pela data de publicação), das coleções (quando jogadores adicionam seu jogo), dos devlogs (suas atualizações) e de destaques editoriais ocasionais (seleções da equipe, em grande parte uma questão de sorte).</p>
<h3 id="como-entrar-no-indice" tabindex="-1">Como Entrar no Índice <a class="header-anchor" href="#como-entrar-no-indice" aria-label="Permalink to &quot;Como Entrar no Índice&quot;"></a></h3>
<p>Seu jogo precisa ser indexado para aparecer nas buscas e na navegação. Ele deve estar publicado publicamente (não como não listado), ter conteúdo jogável ou disponível para download, ter uma imagem de capa, não ser uma página provisória e seguir as diretrizes de conteúdo.</p>
<p>Fatores que impedem a indexação: páginas que contêm apenas links externos, ausência de downloads ou conteúdo jogável, visibilidade definida como não listado e ausência de imagem de capa. Se seu jogo estiver marcado como adulto/NSFW, há uma etapa adicional: desde 2025, o itch.io exige que essas páginas adicionem um aviso de conteúdo para serem indexadas, e conteúdo adulto pago atualmente não aparece nas buscas enquanto o itch.io trabalha com os processadores de pagamento. Jogos sem conteúdo adulto não são afetados.</p>
<p>Mais uma observação para quem está vendendo pela primeira vez: contas de novos vendedores passam por uma breve fila de análise antes que seu primeiro projeto pago seja indexado, o que geralmente leva alguns dias úteis. Vendedores já estabelecidos não passam por essa etapa. Se a data de lançamento for importante, publique ou configure sua conta de vendedor com antecedência suficiente para concluir a análise.</p>
<h3 id="o-impulso-de-mais-recentes" tabindex="-1">O Impulso de “Mais Recentes” <a class="header-anchor" href="#o-impulso-de-mais-recentes" aria-label="Permalink to &quot;O Impulso de “Mais Recentes”&quot;"></a></h3>
<p>Ao publicar pela primeira vez, você aparece em “Most Recent”, o que oferece um pequeno aumento de visibilidade. Isso só acontece uma vez, então o momento da publicação importa.</p>
<p>Publique quando sua página estiver completa. Não publique antes para atualizá-la depois, pois você só recebe uma vez o impulso de conteúdo “novo”. Evite fins de semana, quando mais jogos são lançados. Considere o fuso horário do seu público-alvo.</p>
<h3 id="devlogs-sao-sua-arma-secreta" tabindex="-1">Devlogs São Sua Arma Secreta <a class="header-anchor" href="#devlogs-sao-sua-arma-secreta" aria-label="Permalink to &quot;Devlogs São Sua Arma Secreta&quot;"></a></h3>
<p>Os devlogs aparecem no feed dos seguidores, são exibidos nas seções “Recent Devlogs”, indicam que o desenvolvimento está ativo, aumentam a confiança da comunidade e ajudam no SEO.</p>
<p>Publique durante o desenvolvimento para criar expectativa. Publique no lançamento para fazer o anúncio. Publique depois do lançamento para divulgar atualizações e novos recursos. Durante o desenvolvimento ativo, tente publicar de 1 a 2 vezes por mês.</p>
<p>Bons temas incluem o processo de bastidores, novos recursos e conteúdos, respostas ao feedback dos jogadores, desafios técnicos que você resolveu, apresentações da arte e da música e marcos de vendas (agradeça aos jogadores).</p>
<h2 id="game-jams" tabindex="-1">Game Jams <a class="header-anchor" href="#game-jams" aria-label="Permalink to &quot;Game Jams&quot;"></a></h2>
<p>As game jams são a melhor maneira de ganhar visibilidade no itch.io. Você recebe um público integrado, com milhares de visualizações em poucos dias, uma galeria dedicada onde seu jogo pode ser encontrado, feedback por meio de avaliações e comentários, oportunidades de networking com outros desenvolvedores, projetos de portfólio que demonstram sua versatilidade e um ambiente de baixo risco para criar protótipos livremente.</p>
<h3 id="estrategia-para-game-jams" tabindex="-1">Estratégia para Game Jams <a class="header-anchor" href="#estrategia-para-game-jams" aria-label="Permalink to &quot;Estratégia para Game Jams&quot;"></a></h3>
<p>Ao escolher uma jam, eventos grandes como Ludum Dare e GMTK trazem mais tráfego, mas também mais concorrência. Jams pequenas ou de nicho oferecem uma chance maior de se destacar. Jams com temas alinhados aos seus pontos fortes permitem que você aproveite melhor suas habilidades.</p>
<p>Durante a jam, publique seu progresso nas redes sociais, use as hashtags do evento, documente seu processo e interaja com outros participantes.</p>
<p>Na página do jogo para a jam, capriche na apresentação, mesmo sendo um jogo de jam. Boas capturas de tela são importantes. Escreva uma descrição clara do que é o jogo. Inclua os controles.</p>
<p>Depois da jam, jogue e avalie outras inscrições para fazer networking. Responda a todo o feedback. Considere lançar atualizações pós-jam. Escreva um devlog sobre o que aprendeu.</p>
<p>Se você mesmo organizar uma jam, o editor de temas de jams recebeu uma grande atualização em julho de 2026: Google Fonts, cores independentes para botões e links, controles de arredondamento dos cantos e de imagem de fundo, além de temas que podem ser copiados entre jams no formato JSON. Agora, a página de uma jam pode ter um acabamento tão profissional quanto a página de um jogo.</p>
<h3 id="jogos-de-jam-podem-virar-jogos-de-verdade" tabindex="-1">Jogos de Jam Podem Virar Jogos de Verdade <a class="header-anchor" href="#jogos-de-jam-podem-virar-jogos-de-verdade" aria-label="Permalink to &quot;Jogos de Jam Podem Virar Jogos de Verdade&quot;"></a></h3>
<p>Muitos jogos indie de sucesso começaram como projetos de jams. Celeste começou como um jogo de jam. Superhot surgiu como um protótipo feito em 7 dias. Hollow Knight evoluiu a partir de um conceito de jam.</p>
<p>O caminho é: coletar feedback, identificar o que funcionou, aprimorar e expandir, e então relançar como um jogo independente.</p>
<h2 id="marketing-sem-dinheiro" tabindex="-1">Marketing Sem Dinheiro <a class="header-anchor" href="#marketing-sem-dinheiro" aria-label="Permalink to &quot;Marketing Sem Dinheiro&quot;"></a></h2>
<p>Você não precisa de orçamento para divulgar no itch.io. Precisa de consistência.</p>
<h3 id="redes-sociais" tabindex="-1">Redes Sociais <a class="header-anchor" href="#redes-sociais" aria-label="Permalink to &quot;Redes Sociais&quot;"></a></h3>
<p>Esteja no Twitter/X, onde está a maior comunidade de desenvolvimento de jogos. Use o Reddit, especialmente r/indiegaming, r/playmygame e subreddits específicos do gênero do seu jogo. Experimente o TikTok para publicar clipes curtos de gameplay. Crie um servidor no Discord e participe de comunidades relevantes. Publique devlogs e trailers no YouTube.</p>
<p>Para montar um calendário de conteúdo, publique semanalmente no Screenshot Saturday e compartilhe atualizações de progresso. Publique devlogs a cada duas semanas. Anuncie marcos maiores mensalmente.</p>
<p>Publique GIFs de gameplay, o processo de bastidores, desafios do desenvolvimento, comparações de antes e depois, memes sobre seu jogo e reações dos jogadores.</p>
<h3 id="contato-com-influenciadores" tabindex="-1">Contato com Influenciadores <a class="header-anchor" href="#contato-com-influenciadores" aria-label="Permalink to &quot;Contato com Influenciadores&quot;"></a></h3>
<p>Microinfluenciadores com 1 mil a 50 mil seguidores são seus aliados. Encontre-os pesquisando “[gênero do seu jogo] jogos indie” no YouTube, procurando streamers que joguem títulos semelhantes e verificando quem produziu conteúdo sobre jogos parecidos com o seu.</p>
<p>Ao entrar em contato, personalize cada e-mail. Mostre que você conhece o conteúdo da pessoa. Facilite o trabalho dela incluindo todos os links. Seja breve. Não envie e-mails em massa, não exija cobertura e não pressione quanto aos prazos. Faça um único contato de acompanhamento, com educação.</p>
<p>Um modelo simples funciona: apresente-se, mencione que percebeu que a pessoa costuma cobrir jogos do seu gênero, descreva seu jogo em uma frase, explique o que o torna único, ofereça uma chave gratuita sem qualquer pressão e inclua links para sua página e seu kit de imprensa.</p>
<h3 id="imprensa" tabindex="-1">Imprensa <a class="header-anchor" href="#imprensa" aria-label="Permalink to &quot;Imprensa&quot;"></a></h3>
<p>Para lançamentos maiores, entre em contato com veículos de imprensa especializados em jogos indie, como IndieGamesPlus, Rock Paper Shotgun, a seção indie do Kotaku e sites específicos do gênero. Valem os mesmos princípios usados no contato com influenciadores: personalize, seja breve e facilite o trabalho do jornalista.</p>
<h2 id="cronograma-de-lancamento" tabindex="-1">Cronograma de Lançamento <a class="header-anchor" href="#cronograma-de-lancamento" aria-label="Permalink to &quot;Cronograma de Lançamento&quot;"></a></h2>
<p>De três a seis meses antes do lançamento, comece a marcar presença nas redes sociais, participe de comunidades relevantes, inicie as publicações de devlogs e conquiste seguidores.</p>
<p>De um a dois meses antes, finalize os materiais da página, como capturas de tela e trailer, prepare seu kit de imprensa, monte sua lista de influenciadores e veículos de imprensa e anuncie a data de lançamento.</p>
<p>De uma a duas semanas antes, envie chaves para influenciadores e veículos de imprensa, programe suas publicações de lançamento, prepare o devlog de lançamento e dê os últimos retoques na página.</p>
<p>No dia do lançamento, publique o jogo, divulgue o anúncio de lançamento em todos os canais, interaja com todos os comentários, monitore possíveis bugs e agradeça aos primeiros jogadores.</p>
<p>Durante a primeira semana após o lançamento, responda a todo o feedback, corrija imediatamente os bugs críticos, publique um devlog de atualização e compartilhe avaliações positivas.</p>
<p>Após o lançamento, continue publicando atualizações regularmente, interaja com a comunidade, planeje novos conteúdos e considere promoções e pacotes.</p>
<h2 id="erros-comuns" tabindex="-1">Erros Comuns <a class="header-anchor" href="#erros-comuns" aria-label="Permalink to &quot;Erros Comuns&quot;"></a></h2>
<p>Quanto aos erros na página, não publique antes de ela estar pronta. Não deixe de adicionar uma imagem de capa nem use uma imagem ruim. Não escreva descrições em blocos enormes de texto. Não lance sem capturas de tela. Não use tags incorretas nem deixe de adicionar tags.</p>
<p>Quanto aos erros de marketing, não espere até o lançamento para começar a divulgação. Não publique “o jogo saiu” apenas uma vez. Interaja com a comunidade. Não espere que o itch.io faça o marketing por você. Não ignore o feedback.</p>
<p>Quanto aos erros de preço, não defina um valor alto sem ter um público estabelecido. Não desvalorize seu trabalho cobrando US$ 0,99 por mais de 10 horas de conteúdo. Sempre defina um preço sugerido no modelo pague quanto quiser. Faça promoções ocasionalmente.
Quanto aos erros de desenvolvimento, não deixe que o aumento descontrolado do escopo adie seu lançamento para sempre. Não espere pela “perfeição” em vez de publicar. Colete feedback antecipado. Não abandone o jogo após o lançamento.</p>
<h2 id="analises" tabindex="-1">Análises <a class="header-anchor" href="#analises" aria-label="Permalink to &quot;Análises&quot;"></a></h2>
<p>Acompanhe visualizações da página (quantas pessoas encontraram sua página), downloads (quantas experimentaram seu jogo), taxa de conversão (de visualizações para downloads), quantidade de avaliações (nível de engajamento), média das avaliações (percepção de qualidade), receita e origens de tráfego (de onde vêm os visitantes).</p>
<h3 id="diagnosticando-problemas" tabindex="-1">Diagnosticando problemas <a class="header-anchor" href="#diagnosticando-problemas" aria-label="Permalink to &quot;Diagnosticando problemas&quot;"></a></h3>
<p>Se você tem poucas visualizações, é um problema de marketing. Publique mais nas redes sociais, experimente novas comunidades, use hashtags melhores e escreva mais devlogs.</p>
<p>Se você tem muitas visualizações, mas poucos downloads, é um problema com a página. Melhore sua imagem de capa, use capturas de tela melhores, escreva uma descrição mais clara e verifique o preço.</p>
<p>Se você tem muitos downloads, mas poucas avaliações, é um problema de qualidade do jogo. Corrija bugs, melhore o tutorial e a experiência inicial e resolva as reclamações mais comuns.</p>
<h2 id="crescimento-em-longo-prazo" tabindex="-1">Crescimento em longo prazo <a class="header-anchor" href="#crescimento-em-longo-prazo" aria-label="Permalink to &quot;Crescimento em longo prazo&quot;"></a></h2>
<h3 id="construindo-uma-audiencia" tabindex="-1">Construindo uma audiência <a class="header-anchor" href="#construindo-uma-audiencia" aria-label="Permalink to &quot;Construindo uma audiência&quot;"></a></h3>
<p>Os seguidores no itch.io são valiosos. Eles recebem notificações sobre novos lançamentos, veem seus devlogs e têm maior probabilidade de comprar seus jogos futuros.</p>
<p>Conquiste seguidores fazendo um pedido ao final dos seus jogos, mencionando isso nos devlogs, adicionando links nas redes sociais e priorizando a qualidade em vez da quantidade.</p>
<p>Se você mantém um Patreon, a integração do itch.io com o Patreon foi refeita em julho de 2026 usando a API mais recente do Patreon. O acesso aos seus jogos agora é concedido pelo nível de assinatura, em vez do valor da contribuição, o que corrige os antigos problemas de incompatibilidade entre moedas. É uma maneira simples de oferecer versões antecipadas diretamente no itch.io aos seus apoiadores.</p>
<h3 id="seu-catalogo-gera-resultados-cumulativos" tabindex="-1">Seu catálogo gera resultados cumulativos <a class="header-anchor" href="#seu-catalogo-gera-resultados-cumulativos" aria-label="Permalink to &quot;Seu catálogo gera resultados cumulativos&quot;"></a></h3>
<p>Seu segundo jogo é mais fácil de lançar do que o primeiro. Você já tem seguidores, pode fazer divulgação cruzada entre os jogos, tem uma reputação estabelecida e adquiriu novas habilidades.</p>
<p>A estratégia é: lance o primeiro jogo e conquiste seguidores, promova o jogo 2 para os jogadores do jogo 1, reúna os jogos em pacotes e deixe que cada jogo amplie sua audiência.</p>
<h3 id="promocoes-e-pacotes" tabindex="-1">Promoções e pacotes <a class="header-anchor" href="#promocoes-e-pacotes" aria-label="Permalink to &quot;Promoções e pacotes&quot;"></a></h3>
<p>Para fazer promoções, descontos de 20% a 50% são comuns. Programe-os para feriados e datas comemorativas. Anuncie nas redes sociais. Atualize seu devlog.</p>
<p>Também vale a pena participar das promoções sazonais de todo o site. Desde a Promoção de Verão de 2026, o itch.io oferece um Explorador de Promoções que permite aos jogadores navegar pelos jogos em promoção usando filtros de preço, exclusões de tags, escolhas da equipe e recomendações personalizadas. Assim, participar da promoção realmente faz seu jogo aparecer durante a navegação. Basta um clique para participar: durante promoções ativas em todo o site, seu painel de criador mostra um link pré-preenchido para adicionar uma promoção.</p>
<p>Participar de pacotes aumenta a exposição, atrai novos jogadores e funciona bem para jogos mais antigos. Às vezes, o itch.io organiza pacotes beneficentes dos quais vale a pena participar. A hospedagem de pacotes passou por uma grande reformulação em julho de 2026: os organizadores podem importar jogos em massa usando URLs de jams ou coleções e reordenar projetos arrastando e soltando, o que torna os pacotes comunitários mais fáceis de organizar do que antes.</p>
<h2 id="jogos-web-no-itch-io" tabindex="-1">Jogos web no itch.io <a class="header-anchor" href="#jogos-web-no-itch-io" aria-label="Permalink to &quot;Jogos web no itch.io&quot;"></a></h2>
<p>Jogos HTML5 e WebGL têm vantagens no itch.io. É possível jogar instantaneamente, sem a barreira do download. Eles são compatíveis com dispositivos móveis se tiverem suporte a controles por toque. São fáceis de compartilhar por links diretos. São ótimos para jams porque podem ser testados rapidamente.</p>
<p>Para a otimização, o tempo de carregamento é importante, portanto mantenha o carregamento inicial pequeno. Mostre uma barra ou porcentagem de carregamento. Teste no Chrome, Firefox, Safari e Edge. Adicione suporte a toque, se possível. Disponibilize um botão de tela cheia.</p>
<p>Nas configurações de incorporação, use 960px de largura (ou a resolução nativa do seu jogo) e 540px de altura para o formato 16:9. Ative a compatibilidade com dispositivos móveis se o layout for responsivo. Ative o botão de tela cheia. Desative as barras de rolagem.</p>
<p>Conheça os limites de upload antes de criar o jogo. Seu arquivo zip de HTML5, após extraído, deve conter no máximo 1.000 arquivos e totalizar até 500MB, com no máximo 200MB para cada arquivo individual. Se sua versão ultrapassar esses limites, reduza os recursos ou coloque o conteúdo pesado atrás de um carregamento sob demanda, em vez de solicitar um aumento do limite.</p>
<p>Para melhorar o desempenho, carregue os recursos sob demanda, compacte as texturas, reduza o tamanho do seu pacote JavaScript, use WebGL de forma eficiente e teste em dispositivos menos potentes.</p>
<h2 id="recursos" tabindex="-1">Recursos <a class="header-anchor" href="#recursos" aria-label="Permalink to &quot;Recursos&quot;"></a></h2>
<p>Para consultar a documentação oficial, veja a <a href="https://itch.io/docs/creators/" target="_blank" rel="noreferrer">documentação para criadores do itch.io</a>, o <a href="https://itch.io/docs/creators/getting-indexed" target="_blank" rel="noreferrer">guia para ser indexado</a> e o <a href="https://itch.io/docs/creators/pricing" target="_blank" rel="noreferrer">guia de preços</a>.</p>
<p>Para participar de comunidades, visite os <a href="https://itch.io/community" target="_blank" rel="noreferrer">fóruns da comunidade do itch.io</a>, <a href="https://reddit.com/r/itchio" target="_blank" rel="noreferrer">r/itchio</a>, <a href="https://reddit.com/r/indiegaming" target="_blank" rel="noreferrer">r/indiegaming</a> e <a href="https://reddit.com/r/IndieDev" target="_blank" rel="noreferrer">r/IndieDev</a>.</p>
<p>Quanto às ferramentas, o <a href="https://itch.io/docs/butler/" target="_blank" rel="noreferrer">itch.io Butler</a> gerencia uploads usando diferenças baseadas em patches, de modo que as atualizações transferem apenas o que mudou. Desde maio de 2026, você nem sequer precisa usar a linha de comando: o aplicativo do itch (versão 26.12.0 ou posterior) tem uma seção de upload que oferece uma interface gráfica para o butler, com uma prévia dos arquivos alterados antes de cada envio. O <a href="https://dopresskit.com/" target="_blank" rel="noreferrer">Presskit()</a> gera kits de imprensa.</p>
<h2 id="a-versao-resumida" tabindex="-1">A versão resumida <a class="header-anchor" href="#a-versao-resumida" aria-label="Permalink to &quot;A versão resumida&quot;"></a></h2>
<p>Antes do lançamento, verifique se seu jogo está jogável e suficientemente bem-acabado, se a página tem uma ótima imagem de capa, se você tem pelo menos 3 capturas de tela e, de preferência, um GIF ou trailer, se a descrição está clara e fácil de consultar, se todas as tags relevantes foram selecionadas, se você definiu o preço, se já começou a marcar presença nas redes sociais e se publicou devlogs.</p>
<p>No lançamento, sua página deve estar 100% completa e publicada para todos, o jogo deve ser anunciado em todos os canais e você deve interagir com os comentários.</p>
<p>Após o lançamento, responda ao feedback, corrija bugs rapidamente, continue publicando devlogs e avance em direção ao próximo lançamento.</p>
<p>A maioria dos jogos independentes bem-sucedidos levou anos e vários lançamentos para encontrar sua audiência. Seu primeiro jogo provavelmente não será um sucesso, e não há problema nisso. Cada lançamento ensina algo, amplia sua audiência e aproxima você do jogo que finalmente alcançará o sucesso.</p>
<p>Publique. Aprenda. Repita.</p>
<hr>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="como-faco-para-meu-jogo-ser-notado-no-itch-io" tabindex="-1">Como faço para meu jogo ser notado no itch.io? <a class="header-anchor" href="#como-faco-para-meu-jogo-ser-notado-no-itch-io" aria-label="Permalink to &quot;Como faço para meu jogo ser notado no itch.io?&quot;"></a></h3>
<p>As tags são a ferramenta mais poderosa que a maioria das pessoas ignora. As páginas de navegação do itch.io são organizadas por tags, e é assim que a maioria dos jogadores encontra novidades. Selecione todas as tags relevantes, não apenas as mais óbvias. Depois disso, vêm os devlogs. Cada publicação de devlog destaca seu jogo nos feeds e oferece mais conteúdo para os mecanismos de busca indexarem. Participe também de game jams: elas são a maneira mais rápida de atrair atenção quando você está começando do zero. E faça sua imagem de capa valer a pena. É a primeira coisa que as pessoas veem ao navegar, e a maioria decide em menos de um segundo se vai clicar.</p>
<h3 id="e-possivel-ganhar-dinheiro-no-itch-io" tabindex="-1">É possível ganhar dinheiro no itch.io? <a class="header-anchor" href="#e-possivel-ganhar-dinheiro-no-itch-io" aria-label="Permalink to &quot;É possível ganhar dinheiro no itch.io?&quot;"></a></h3>
<p>Sim, mas ajuste suas expectativas. Por padrão, o itch.io usa um modelo de “pague quanto quiser”, e a plataforma permite que você fique com até 100% da receita (você escolhe quanto deseja compartilhar). Alguns desenvolvedores têm bons resultados com jogos premium que custam entre US$ 5 e US$ 15, especialmente após construírem uma audiência por meio de lançamentos gratuitos e inscrições em jams. A plataforma não deixará você rico da noite para o dia, mas é um dos poucos lugares onde você mantém controle total sobre preços e pagamentos, praticamente sem barreiras de entrada.</p>
<h3 id="o-itch-io-e-bom-para-jogos-de-navegador" tabindex="-1">O itch.io é bom para jogos de navegador? <a class="header-anchor" href="#o-itch-io-e-bom-para-jogos-de-navegador" aria-label="Permalink to &quot;O itch.io é bom para jogos de navegador?&quot;"></a></h3>
<p>Sinceramente, é um dos melhores lugares para eles. Jogos de navegador são mais jogados no itch.io porque não há o atrito do download. Os jogadores clicam e já estão no jogo. A plataforma oferece suporte nativo a incorporações HTML5/WebGL, então seu jogo aparece diretamente na página. Especialmente em game jams, os jogos de navegador recebem muito mais avaliações do que os jogos para download, pois os jurados podem experimentá-los imediatamente. Mantenha o carregamento inicial abaixo de alguns MB e mostre uma barra de progresso; assim, você reterá mais jogadores do que imagina.</p>
<hr>
<BuildCta
  title="Precisa de algo para lançar?"
  desc="Crie um jogo web e exporte-o como uma versão HTML5 independente para o itch.io."
  prompt="Crie um endless runner bem-acabado que eu possa exportar e publicar no itch.io" />
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/game-jams-hackathons.html">Game jams e hackathons</a> — jams são a maneira mais rápida de construir uma audiência no itch.io</li>
<li><a href="/pt-BR/tutorials/iframe-embedding-games.html">Incorporação de jogos com iframe</a> — guia técnico para incorporar jogos de navegador em iframes</li>
<li><a href="/pt-BR/tutorials/ship-web-game-fast.html">Publique um jogo web que carregue rapidamente</a> — otimize o tempo de carregamento das incorporações do itch.io</li>
<li><a href="/pt-BR/guides/steam-next-fest-strategy.html">Estratégia para o Steam Next Fest</a> — se você estiver considerando um lançamento multiplataforma</li>
<li><a href="/pt-BR/guides/web-game-monetization.html">Monetização de jogos web: o que os dados realmente mostram</a> — dados realistas de receita no itch.io e em outros portais</li>
<li><a href="/pt-BR/guides/publish-game-poki.html">Como colocar seu jogo no Poki</a> — a opção de um portal com curadoria, em comparação com o modelo aberto do itch.io</li>
<li><a href="/pt-BR/guides/publish-game-crazygames.html">Como publicar seu jogo no CrazyGames</a> — outro grande portal com curadoria para alcançar um público além do itch.io</li>
<li><a href="/pt-BR/guides/publish-game-discord-activities.html">Como publicar um jogo nas Atividades do Discord</a> — publique a mesma versão web no Discord</li>
<li><a href="/pt-BR/guides/web-game-engines-comparison.html">Comparação de engines para jogos web</a> — escolha uma engine que exporte versões web sem complicações</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/itch-io-launch-guide.jpg?v=4" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Three.js + USDC no navegador]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/threejs-usdc-tech-report</link>
            <guid>https://app.cinevva.com/pt-BR/guides/threejs-usdc-tech-report</guid>
            <pubDate>Sun, 18 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Como carregar arquivos binários USD no Three.js sem WASM nem código nativo]]></description>
            <content:encoded><![CDATA[<h1 id="three-js-usdc-no-navegador" tabindex="-1">Three.js + USDC no navegador <a class="header-anchor" href="#three-js-usdc-no-navegador" aria-label="Permalink to &quot;Three.js + USDC no navegador&quot;"></a></h1>
<p>Então você tem um arquivo <code>.usdc</code> vindo do Maya ou Houdini e quer exibi-lo em uma cena do Three.js. Eu já passei por isso. Até pouco tempo atrás, as opções não eram muito boas. Você podia converter para glTF offline, criar uma compilação WASM do OpenUSD ou simplesmente desistir e usar outro formato.</p>
<p>Este guia mostra como analisar USDC diretamente em JavaScript usando <code>@cinevva/usdjs</code> e como levar esses dados para o Three.js.</p>
<h2 id="o-que-e-usdc" tabindex="-1">O que é USDC? <a class="header-anchor" href="#o-que-e-usdc" aria-label="Permalink to &quot;O que é USDC?&quot;"></a></h2>
<p>Os arquivos USD têm três variações. USDA é a versão em texto, legível por humanos e fácil de depurar, mas verbosa. USDC (às vezes chamado de &quot;Crate&quot;) é o formato binário realmente usado em pipelines de produção porque é compacto e carrega rapidamente em ferramentas nativas. USDZ é um arquivo zip que contém USDC e texturas, usado pela Apple no AR Quick Look.</p>
<p>O problema é o seguinte: USDC é um formato binário proprietário. A Pixar escreveu a implementação de referência em C++ e, até agora, não havia uma forma de lê-lo usando JavaScript puro. Isso está começando a mudar: em dezembro de 2025, a Alliance for OpenUSD publicou a Core Specification 1.0, o primeiro padrão ratificado que documenta como os dados de cena do OpenUSD são estruturados, compostos e trocados, com uma revisão 1.1 já em andamento. Porém, a implementação de referência ainda está na base de código C++ da Pixar, então um leitor separado continua sendo a forma mais prática de acessar o formato com JavaScript.</p>
<h2 id="por-que-isso-pode-ser-importante-para-voce" tabindex="-1">Por que isso pode ser importante para você <a class="header-anchor" href="#por-que-isso-pode-ser-importante-para-voce" aria-label="Permalink to &quot;Por que isso pode ser importante para você&quot;"></a></h2>
<p>Se você está criando aplicativos web 3D que precisam trabalhar com conteúdo vindo de pipelines de cinema ou efeitos visuais, inevitavelmente encontrará USD. Artistas exportam do Maya, Houdini ou Blender, e essas exportações frequentemente estão em USDC.</p>
<p>Antes do <code>@cinevva/usdjs</code>, você tinha três opções. Podia executar <code>usdcat</code> para converter USDC para o formato de texto, o que adiciona uma etapa ao processo de build e elimina a compactação do formato binário. Podia compilar OpenUSD ou TinyUSDZ para WebAssembly, o que adiciona megabytes ao seu bundle e exige cabeçalhos especiais no servidor para threading. Ou podia usar o USDLoader integrado do Three.js, que aceita USDZ, mas tem suporte limitado a USDC e recursos mínimos de composição.</p>
<p>Agora existe uma quarta opção: analisar USDC nativamente em JavaScript.</p>
<h2 id="como-funciona" tabindex="-1">Como funciona <a class="header-anchor" href="#como-funciona" aria-label="Permalink to &quot;Como funciona&quot;"></a></h2>
<p>A biblioteca <code>@cinevva/usdjs</code> reimplementa as principais funcionalidades do USD em TypeScript. Criei o analisador de USDC estudando o código-fonte C++ da Pixar e traduzindo a especificação do formato Crate para JavaScript. Quando há alguma ambiguidade de comportamento, reproduzimos o que o OpenUSD faz.</p>
<p>Na prática, fica assim:</p>
<div class="language-typescript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> { parseUsdcToLayer } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> '@cinevva/usdjs'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// Busca o arquivo USDC</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> response</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> await</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> fetch</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'/model.usdc'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> buffer</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> await</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> response.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">arrayBuffer</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">();</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// Analisa o arquivo</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> layer</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> parseUsdcToLayer</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(buffer, { identifier: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'model.usdc'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> });</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// Agora você tem uma camada estruturada com prims, propriedades e metadados</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(layer.pseudoRoot.children);</span></span></code></pre>
</div><p>Sem WASM. Sem código nativo. Apenas JavaScript lendo bytes e construindo uma representação estruturada.</p>
<h2 id="integrando-ao-three-js" tabindex="-1">Integrando ao Three.js <a class="header-anchor" href="#integrando-ao-three-js" aria-label="Permalink to &quot;Integrando ao Three.js&quot;"></a></h2>
<p>Analisar USD é apenas metade do problema. Você também precisa converter os conceitos do USD (prims, transformações e esquemas de malha) em objetos do Three.js.</p>
<p>Aqui está um exemplo mínimo que carrega um arquivo USDC e cria malhas do Three.js:</p>
<div class="language-typescript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">import</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> *</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> as</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> THREE </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 'three'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> { UsdStage, parseUsdcToLayer } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> '@cinevva/usdjs'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">async</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> function</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> loadUsdcToThree</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">url</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> string</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">scene</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> THREE</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">Scene</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">) {</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  // 1. Busca e analisa</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> buffer</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> await</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> fetch</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(url).</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">then</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">r</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =></span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> r.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">arrayBuffer</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">());</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> layer</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> parseUsdcToLayer</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(buffer, { identifier: url });</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  </span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  // 2. Cria um stage (gerencia a composição se houver referências)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> stage</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> UsdStage.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">open</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(layer);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  </span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  // 3. Percorre a árvore de prims</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  for</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> prim</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> of</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> stage.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">traverse</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">()) {</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">    // Ignora o que não for geometria</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (prim.typeName </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">!==</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 'Mesh'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">continue</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    </span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">    // Obtém os dados da geometria</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> points</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> prim.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">getAttribute</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'points'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)?.value;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> faceVertexIndices</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> prim.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">getAttribute</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'faceVertexIndices'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)?.value;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> faceVertexCounts</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> prim.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">getAttribute</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'faceVertexCounts'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)?.value;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    </span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">!</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">points </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">||</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> !</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">faceVertexIndices </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">||</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> !</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">faceVertexCounts) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">continue</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    </span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">    // Converte para a geometria do Three.js</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> geometry</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> new</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> THREE</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">BufferGeometry</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">();</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    geometry.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">setAttribute</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'position'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">      new</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> THREE</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">Float32BufferAttribute</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(points.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">flat</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(), </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    );</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    </span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">    // USD usa faceVertexCounts + faceVertexIndices; o Three.js espera um array plano de índices</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">    // Para malhas trianguladas, isso é simples:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    geometry.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">setIndex</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(Array.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">from</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(faceVertexIndices));</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    geometry.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">computeVertexNormals</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">();</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    </span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">    // Cria a malha</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> material</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> new</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> THREE</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">MeshStandardMaterial</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">({ color: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0x888888</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> });</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> mesh</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> new</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> THREE</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">Mesh</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(geometry, material);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    </span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">    // Aplica a transformação</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> xform</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> getWorldTransform</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(prim);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    mesh.matrix.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">fromArray</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(xform);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    mesh.matrixAutoUpdate </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> false</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    </span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    scene.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">add</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(mesh);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">function</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> getWorldTransform</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">prim</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> number</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">[] {</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  // Simplificado: na prática, você faria a composição das transformações dos pais</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> xformOp</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> prim.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">getAttribute</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'xformOp:transform'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (xformOp?.value) {</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> xformOp.value.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">flat</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">();</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  }</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> [</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">];</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre>
</div><p>Este exemplo é simplificado. Um código real precisa lidar com o empilhamento de transformações (os prims do USD podem ter vários atributos <code>xformOp</code> compostos entre si), superfícies de subdivisão (malhas com subdivisão <code>catmullClark</code> precisam de subdivisão real), materiais (parâmetros de <code>UsdPreviewSurface</code> são mapeados para <code>MeshStandardMaterial</code> do Three.js), texturas (caminhos de assets precisam ser resolvidos e carregados) e animação esquelética (vínculos de <code>UsdSkel</code> precisam ser convertidos em <code>SkinnedMesh</code>).</p>
<p>Se quiser ver como tudo isso funciona em conjunto, confira o <code>@cinevva/usdjs-viewer</code>. Ele é uma implementação de referência completa.</p>
<h2 id="a-composicao-e-mais-importante-do-que-parece" tabindex="-1">A composição é mais importante do que parece <a class="header-anchor" href="#a-composicao-e-mais-importante-do-que-parece" aria-label="Permalink to &quot;A composição é mais importante do que parece&quot;"></a></h2>
<p>Analisar um único arquivo USDC é a parte fácil. Cenas USD reais usam composição, o que significa que subcamadas, referências, payloads e variantes trabalham em conjunto.</p>
<p>Imagine o modelo de um carro. A carroceria referencia <code>body.usdc</code>, as rodas referenciam <code>wheel.usdc</code> e há variantes para as configurações &quot;sport&quot; e &quot;sedan&quot;. A cena final é montada com todas essas partes em tempo de execução.</p>
<p>Veja como lidar com isso:</p>
<div class="language-typescript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> { UsdStage, parseUsdcToLayer, FetchResolver } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> '@cinevva/usdjs'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// Cria um resolver que sabe como buscar os arquivos referenciados</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> resolver</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> new</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> FetchResolver</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">({</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  baseUrl: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'/assets/'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">});</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// Abre com composição</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> stage</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> UsdStage.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">open</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(rootLayer, { resolver });</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// Define a seleção de uma variante</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">stage.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">setVariantSelection</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'/Car'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'bodyStyle'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'sport'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// Agora percorre a cena composta</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">for</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> prim</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> of</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> stage.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">traverse</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">()) {</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  // Você verá as referências resolvidas e a variante selecionada</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre>
</div><p>O resolver busca os arquivos USDC referenciados sob demanda. A composição acontece em JavaScript, produzindo a cena achatada que você obteria com <code>usdcat --flatten</code>.</p>
<h2 id="desempenho" tabindex="-1">Desempenho <a class="header-anchor" href="#desempenho" aria-label="Permalink to &quot;Desempenho&quot;"></a></h2>
<p>Vamos ser honestos: analisar USDC em JavaScript é mais lento do que em C++ nativo. Essa é a contrapartida de dispensar WASM e etapas de build.</p>
<p>Na prática, para casos de uso típicos na web, com modelos de menos de 10 MB e menos de 100 mil triângulos, a análise leva de 50 a 200 ms em hardware moderno. Isso é aceitável para o carregamento inicial se você exibir um indicador de carregamento.</p>
<p>Você pode tornar o processo mais rápido. Não carregue a cena inteira de uma vez. Carregue a camada raiz, renderize o que for possível e depois busque os payloads sob demanda. Mova a análise para um Web Worker para manter a interface responsiva. Armazene as camadas analisadas em cache no IndexedDB para que visitas posteriores sejam instantâneas. Exiba uma prévia em baixa resolução enquanto a cena completa é transmitida.</p>
<p>Veja uma configuração com Web Worker:</p>
<div class="language-typescript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">typescript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// worker.ts</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> { parseUsdcToLayer } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> '@cinevva/usdjs'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">self.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">onmessage</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> async</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">e</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=></span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  const</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> { </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">buffer</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">identifier</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> e.data;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> layer</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> parseUsdcToLayer</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(buffer, { identifier });</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  </span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  // Serializa os dados da camada (não os métodos)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> data</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> serializeLayer</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(layer);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  self.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">postMessage</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(data);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">};</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// main.ts</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> worker</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> new</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> Worker</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">new</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> URL</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'./worker.ts'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">.</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">meta</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">.url));</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">worker.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">postMessage</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">({ buffer, identifier: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'model.usdc'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> });</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">worker.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">onmessage</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">e</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=></span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> layerData</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> e.data;</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  // Constrói a cena do Three.js usando layerData</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">};</span></span></code></pre>
</div><h2 id="o-que-funciona-e-o-que-nao-funciona" tabindex="-1">O que funciona e o que não funciona <a class="header-anchor" href="#o-que-funciona-e-o-que-nao-funciona" aria-label="Permalink to &quot;O que funciona e o que não funciona&quot;"></a></h2>
<p>A maioria dos recursos comuns funciona. Geometrias (malhas, pontos e curvas) são analisadas corretamente, incluindo arrays de vértices compactados. As transformações funcionam com o empilhamento completo de <code>xformOp</code>. Materiais são mapeados de <code>UsdPreviewSurface</code> para PBR. A composição aceita subcamadas, referências, payloads, variantes e herança. Texturas são resolvidas e carregadas se você fornecer um resolver. A animação esquelética básica funciona para rigs comuns de personagens.</p>
<p>Porém, ainda há lacunas. Esta não é uma implementação do Hydra, então você é responsável por converter os dados USD para o mecanismo de renderização que estiver usando. Não há APIs de esquemas tipados, como <code>UsdGeomMesh</code>, com métodos utilitários. Você trabalha com prims e atributos genéricos. Alguns recursos de composição, como specializes, relocates e value clips, ainda não foram implementados. Redes de materiais complexas que vão além de um <code>UsdPreviewSurface</code> simples precisam de tratamento personalizado.</p>
<h2 id="quando-usar-esta-solucao" tabindex="-1">Quando usar esta solução <a class="header-anchor" href="#quando-usar-esta-solucao" aria-label="Permalink to &quot;Quando usar esta solução&quot;"></a></h2>
<p>Esta solução faz sentido quando você precisa carregar arquivos USD em um aplicativo web sem uma etapa de build com WASM; quando seu pipeline gera USDC e você não quer converter para glTF; quando está criando um visualizador ou editor de USD para o navegador; ou quando quer inspecionar a estrutura do USD, em vez de apenas renderizá-lo.</p>
<p>Use outra solução se precisar de compatibilidade total com o OpenUSD em todos os casos extremos, se suas cenas forem enormes (mais de 100 MB) e exigirem desempenho nativo ou se você já estiver usando uma compilação WASM e a complexidade for aceitável para seu projeto.</p>
<h2 id="recursos" tabindex="-1">Recursos <a class="header-anchor" href="#recursos" aria-label="Permalink to &quot;Recursos&quot;"></a></h2>
<p>Os três pacotes são <code>@cinevva/usdjs</code>, para análise e composição principais; <code>@cinevva/usdjs-viewer</code>, para um visualizador no navegador baseado em Three.js; e <code>@cinevva/usdjs-renderer</code>, para renderização headless de PNG em testes.</p>
<p>Para consultar a documentação, veja a <a href="https://cinevva-engine.github.io/usdjs/API" target="_blank" rel="noreferrer">Referência da API do usdjs</a>, a <a href="https://openusd.org/release/index.html" target="_blank" rel="noreferrer">Especificação do OpenUSD da Pixar</a> e a <a href="https://threejs.org/docs/" target="_blank" rel="noreferrer">Documentação do Three.js</a>.</p>
<p>Se quiser entender como o analisador de USDC corresponde à implementação da Pixar, consulte <code>src/usdc/PIXAR_PARITY.md</code> no repositório do usdjs.</p>
<h2 id="experimente" tabindex="-1">Experimente <a class="header-anchor" href="#experimente" aria-label="Permalink to &quot;Experimente&quot;"></a></h2>
<p>A maneira mais rápida de ver isso funcionando é acessar a <a href="https://cinevva-engine.github.io/usdjs-viewer/" target="_blank" rel="noreferrer">demonstração do usdjs-viewer</a> e soltar um arquivo USDC nela.</p>
<p>Para integrar ao seu próprio projeto, instale o pacote e comece pelos exemplos de código acima:</p>
<div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">npm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> install</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> @cinevva/usdjs</span></span></code></pre>
</div><p>USD no navegador é possível. Nem sempre é a escolha certa, mas, quando você precisa dele, a análise com JavaScript puro significa uma etapa de build a menos e uma dependência a menos com que se preocupar.</p>
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/tutorials/webgl-fundamentals-for-games.html">Fundamentos de WebGL para desenvolvedores de jogos</a> — a API de renderização que sustenta as cenas do Three.js</li>
<li><a href="/pt-BR/guides/web-games-stack-2026.html">Stack tecnológico para jogos web em 2026</a> — onde o Three.js se encaixa no cenário de WebGL, WebGPU e Wasm</li>
<li><a href="/pt-BR/guides/browser-3d-open-world-tech.html">Tecnologia para mundos abertos 3D no navegador</a> — streaming de assets 3D, incluindo USD, para mundos abertos</li>
<li><a href="/pt-BR/guides/game-assets-guide.html">Onde encontrar assets gratuitos para jogos</a> — fontes de modelos 3D compatíveis com Three.js</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/threejs-usdc-tech-report.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[11 melhores engines de jogos web para 2026, classificadas e comparadas]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/web-game-engines-comparison</link>
            <guid>https://app.cinevva.com/pt-BR/guides/web-game-engines-comparison</guid>
            <pubDate>Sun, 18 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Comparamos 11 engines de jogos web em tamanho da build, tempo de carregamento, 2D vs. 3D, WebGPU e custo. Veja qual é a melhor para o seu projeto, da Unity e Godot à PlayCanvas, Defold e Phaser.]]></description>
            <content:encoded><![CDATA[<h1 id="melhores-engines-de-jogos-web-para-2026-comparadas" tabindex="-1">Melhores engines de jogos web para 2026 (comparadas) <a class="header-anchor" href="#melhores-engines-de-jogos-web-para-2026-comparadas" aria-label="Permalink to &quot;Melhores engines de jogos web para 2026 (comparadas)&quot;"></a></h1>
<p><em>Última atualização: julho de 2026.</em></p>
<p>Criando um jogo para a web? A escolha da engine determina tudo: tamanho da build, tempo de carregamento, fidelidade visual e quanto do seu público realmente poderá jogar.</p>
<p>Este guia compara as melhores engines de jogos web disponíveis em 2026, desde engines completas como Unity e Godot até frameworks JavaScript leves como Phaser e PixiJS.</p>
<p><strong>O que mudou em 2026:</strong> finalmente é possível lançar WebGPU em todos os lugares. O Safari 26 (setembro de 2025) adicionou WebGPU ao macOS, iPadOS, iOS e visionOS, encerrando a resistência da última grande plataforma. Portanto, o antigo conselho de “ficar com WebGL por causa do Safari” não vale mais. O Three.js oferece um renderizador WebGPU sem configuração, com fallback automático para WebGL2, e a PlayCanvas tem a implementação de WebGPU mais madura entre todas. Porém, a exportação web do Godot ainda usa apenas WebGL 2.0, embora o Godot 4.7 (junho de 2026) tenha adicionado exportações wasm64 que eliminam o antigo limite de 4 GB de memória. WebGPU ainda é opcional ou experimental na maioria das engines, em vez de ser o padrão, mas o suporte dos navegadores que impedia sua adoção agora está disponível.</p>
<BuildCta
  title="Só quer criar um jogo, sem precisar estudar engines?"
  desc="Digite uma frase e a Cinevva criará um jogo web 3D jogável com base nela enquanto você lê este guia."
  prompt="Crie um jogo de plataforma 3D com plataformas móveis e um cronômetro" />
<h2 id="melhores-engines-de-jogos-web-para-2026-escolhas-rapidas" tabindex="-1">Melhores engines de jogos web para 2026: escolhas rápidas <a class="header-anchor" href="#melhores-engines-de-jogos-web-para-2026-escolhas-rapidas" aria-label="Permalink to &quot;Melhores engines de jogos web para 2026: escolhas rápidas&quot;"></a></h2>
<p>Está com pouco tempo? Veja em que cada engine se destaca em 2026.</p>
<h3 id="melhores-engines-de-jogos-web-3d" tabindex="-1">Melhores engines de jogos web 3D <a class="header-anchor" href="#melhores-engines-de-jogos-web-3d" aria-label="Permalink to &quot;Melhores engines de jogos web 3D&quot;"></a></h3>
<p>A PlayCanvas lidera em 3D pensado para navegadores: runtime de 1–2 MB, o renderizador WebGPU mais pronto para produção entre todas as engines web e um editor colaborativo na nuvem. Godot e Cocos Creator são ótimas alternativas gratuitas, e o Unity WebGL funciona se você também precisar de builds nativas e puder aceitar um download de mais de 8 MB.</p>
<h3 id="principais-engines-de-jogos-2d-para-2026" tabindex="-1">Principais engines de jogos 2D para 2026 <a class="header-anchor" href="#principais-engines-de-jogos-2d-para-2026" aria-label="Permalink to &quot;Principais engines de jogos 2D para 2026&quot;"></a></h3>
<p>Defold e Phaser são as principais escolhas para 2D. A Defold gera as menores builds (~1,14 MB) e carrega mais rápido; o Phaser oferece um framework completo, com tudo incluído, e a maior comunidade. Para quem não programa, Construct e GDevelop permitem criar jogos 2D visualmente, sem programação. Para ver a análise completa, confira as <a href="/pt-BR/guides/best-2d-game-engines-2026.html">melhores engines de jogos 2D para 2026</a>.</p>
<h3 id="melhores-engines-de-jogos-com-wasm" tabindex="-1">Melhores engines de jogos com Wasm <a class="header-anchor" href="#melhores-engines-de-jogos-com-wasm" aria-label="Permalink to &quot;Melhores engines de jogos com Wasm&quot;"></a></h3>
<p>Se o desempenho do WebAssembly for a prioridade, Godot (Wasm + SIMD por padrão), Defold (runtime Wasm) e Cocos Creator (física em Wasm com ganhos de 5 a 9 vezes) compilam para builds web rápidas e compactas. É o Wasm que permite que essas engines funcionem dentro do navegador com desempenho próximo ao nativo.</p>
<h3 id="melhores-engines-de-jogos-web-gratuitas-e-de-codigo-aberto" tabindex="-1">Melhores engines de jogos web gratuitas e de código aberto <a class="header-anchor" href="#melhores-engines-de-jogos-web-gratuitas-e-de-codigo-aberto" aria-label="Permalink to &quot;Melhores engines de jogos web gratuitas e de código aberto&quot;"></a></h3>
<p>Godot, Phaser, PixiJS, Defold e Excalibur.js são totalmente gratuitas e de código aberto, portanto não há taxas de licença nem limites de receita. O Godot é a engine gratuita mais completa para 2D e 3D.</p>
<h2 id="o-ranking" tabindex="-1">O ranking <a class="header-anchor" href="#o-ranking" aria-label="Permalink to &quot;O ranking&quot;"></a></h2>
<p>Esta classificação considera especificamente projetos voltados primeiro para a web, avaliando tamanho da build, tempo de carregamento e o quanto cada engine é realmente nativa da web. Se o seu projeto prioriza desktop, dispositivos móveis ou consoles, a ordem muda e as engines mais pesadas sobem no ranking.</p>
<ol>
<li><strong>PlayCanvas</strong>: a melhor para 3D pensado para navegadores, com o menor runtime e a implementação de WebGPU mais madura.</li>
<li><strong>Defold</strong>: a melhor para as builds web menores e de carregamento mais rápido.</li>
<li><strong>Phaser</strong>: a melhor para 2D com foco em código e a maior comunidade de HTML5.</li>
<li><strong>Godot</strong>: a melhor engine gratuita e de código aberto para projetos 2D e 3D.</li>
<li><strong>Cocos Creator</strong>: a melhor para minijogos e o mercado web asiático.</li>
<li><strong>Construct</strong>: a melhor para 2D sem código, gerando builds web enxutas.</li>
<li><strong>GDevelop</strong>: a melhor opção gratuita, de código aberto e sem código para 2D e 3D leve.</li>
<li><strong>PixiJS</strong>: a melhor para renderização 2D personalizada com o menor tamanho.</li>
<li><strong>Excalibur.js</strong>: a melhor para jogos 2D em TypeScript, com mais estrutura do que um renderizador básico.</li>
<li><strong>Unity</strong>: a melhor quando a web é secundária em relação a desktop, dispositivos móveis ou consoles.</li>
<li><strong>Unreal</strong>: a melhor para visualizações de alta fidelidade via Pixel Streaming, não para jogos web de verdade.</li>
</ol>
<h2 id="tabela-de-referencia-rapida" tabindex="-1">Tabela de referência rápida <a class="header-anchor" href="#tabela-de-referencia-rapida" aria-label="Permalink to &quot;Tabela de referência rápida&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Engine</th>
<th>Tipo</th>
<th>Tecnologia web</th>
<th>Tamanho da build (vazia)</th>
<th>Melhor para</th>
<th>Custo</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://unity.com/" target="_blank" rel="noreferrer"><strong>Unity</strong></a></td>
<td>Engine completa</td>
<td>WebGL</td>
<td>~8 MB</td>
<td>Jogos 3D, multiplataforma</td>
<td>Grátis abaixo de $200 mil; Pro por $2.310/ano</td>
</tr>
<tr>
<td><a href="https://godotengine.org/" target="_blank" rel="noreferrer"><strong>Godot</strong></a></td>
<td>Engine completa</td>
<td>WebGL + Wasm</td>
<td>~9 MB (24 MB sem compressão)</td>
<td>Jogos indie 2D/3D</td>
<td>Grátis (MIT)</td>
</tr>
<tr>
<td><a href="https://www.unrealengine.com/" target="_blank" rel="noreferrer"><strong>Unreal</strong></a></td>
<td>Engine completa</td>
<td>Apenas Pixel Streaming</td>
<td>N/D (no servidor)</td>
<td>Visualização de alta fidelidade</td>
<td>Grátis abaixo de $1 milhão em receita</td>
</tr>
<tr>
<td><a href="https://www.cocos.com/en/creator" target="_blank" rel="noreferrer"><strong>Cocos Creator</strong></a></td>
<td>Engine completa</td>
<td>WebGL + WebGPU + Wasm</td>
<td>~2–4 MB</td>
<td>2D/3D, minijogos (Ásia)</td>
<td>Grátis</td>
</tr>
<tr>
<td><a href="https://playcanvas.com/" target="_blank" rel="noreferrer"><strong>PlayCanvas</strong></a></td>
<td>3D voltado à web</td>
<td>WebGL2 + WebGPU</td>
<td>~1–2 MB</td>
<td>3D interativo, aplicativos web</td>
<td>Plano grátis; planos pagos</td>
</tr>
<tr>
<td><a href="https://defold.com/" target="_blank" rel="noreferrer"><strong>Defold</strong></a></td>
<td>2D/3D voltado à web</td>
<td>WebGL + Wasm</td>
<td>~1,14 MB</td>
<td>Jogos casuais para web/dispositivos móveis</td>
<td>Grátis</td>
</tr>
<tr>
<td><a href="https://www.construct.net/" target="_blank" rel="noreferrer"><strong>Construct</strong></a></td>
<td>2D visual</td>
<td>WebGL + WebGPU</td>
<td>~1–2 MB</td>
<td>Jogos 2D, quem não programa</td>
<td>Assinatura</td>
</tr>
<tr>
<td><a href="https://gdevelop.io/" target="_blank" rel="noreferrer"><strong>GDevelop</strong></a></td>
<td>2D/3D visual</td>
<td>WebGL</td>
<td>~2–3 MB</td>
<td>Iniciantes, prototipagem rápida</td>
<td>Plano grátis; planos pagos</td>
</tr>
<tr>
<td><a href="https://phaser.io/" target="_blank" rel="noreferrer"><strong>Phaser</strong></a></td>
<td>Framework JS</td>
<td>WebGL/Canvas</td>
<td>~500 KB</td>
<td>Jogos 2D, prototipagem rápida</td>
<td>Grátis (MIT)</td>
</tr>
<tr>
<td><a href="https://pixijs.com/" target="_blank" rel="noreferrer"><strong>PixiJS</strong></a></td>
<td>Renderizador JS</td>
<td>WebGL</td>
<td>~200 KB</td>
<td>Renderização 2D personalizada</td>
<td>Grátis (MIT)</td>
</tr>
<tr>
<td><a href="https://excaliburjs.com/" target="_blank" rel="noreferrer"><strong>Excalibur.js</strong></a></td>
<td>Framework JS</td>
<td>WebGL</td>
<td>~300 KB</td>
<td>Jogos 2D em TypeScript</td>
<td>Grátis (BSD)</td>
</tr>
</tbody>
</table>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 452" role="img" aria-label="Tamanhos de builds web vazias por engine, do menor para o maior: PixiJS com cerca de 0,2 MB, Excalibur.js com 0,3 MB, Phaser com 0,5 MB, Defold com 1,14 MB, PlayCanvas e Construct com 1 a 2 MB, GDevelop com 2 a 3 MB, Cocos Creator com 2 a 4 MB, Unity com cerca de 8 MB e Godot com cerca de 9 MB compactados com gzip" style="width:100%;height:auto;max-width:720px;margin:1.5rem auto;display:block;border-radius:14px">
  <rect width="720" height="452" rx="14" fill="#0b1020"/>
  <text x="32" y="44" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="20" font-weight="800" fill="#e8edf5">Tamanho da build vazia por engine</text>
  <text x="32" y="68" font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif" font-size="13" fill="#9aa7b4">Tamanhos aproximados de downloads de builds vazias, segundo a documentação das engines e medições da comunidade.</text>
  <g font-family="Inter,Segoe UI,Helvetica,Arial,sans-serif">
    <text x="180" y="115" text-anchor="end" font-size="13" font-weight="700" fill="#e8edf5">PixiJS</text>
    <rect x="190" y="100" width="10" height="20" rx="5" fill="#6ee7b7"/>
    <text x="208" y="115" font-size="12" font-weight="700" fill="#9aa7b4">~0,2 MB</text>
    <text x="180" y="147" text-anchor="end" font-size="13" font-weight="700" fill="#e8edf5">Excalibur.js</text>
    <rect x="190" y="132" width="16" height="20" rx="5" fill="#6ee7b7"/>
    <text x="214" y="147" font-size="12" font-weight="700" fill="#9aa7b4">~0,3 MB</text>
    <text x="180" y="179" text-anchor="end" font-size="13" font-weight="700" fill="#e8edf5">Phaser</text>
    <rect x="190" y="164" width="26" height="20" rx="5" fill="#6ee7b7"/>
    <text x="224" y="179" font-size="12" font-weight="700" fill="#9aa7b4">~0,5 MB</text>
    <text x="180" y="211" text-anchor="end" font-size="13" font-weight="700" fill="#e8edf5">Defold</text>
    <rect x="190" y="196" width="60" height="20" rx="5" fill="#7dd3fc"/>
    <text x="258" y="211" font-size="12" font-weight="700" fill="#9aa7b4">~1,14 MB</text>
    <text x="180" y="243" text-anchor="end" font-size="13" font-weight="700" fill="#e8edf5">PlayCanvas</text>
    <rect x="190" y="228" width="78" height="20" rx="5" fill="#7dd3fc"/>
    <text x="276" y="243" font-size="12" font-weight="700" fill="#9aa7b4">~1–2 MB</text>
    <text x="180" y="275" text-anchor="end" font-size="13" font-weight="700" fill="#e8edf5">Construct</text>
    <rect x="190" y="260" width="78" height="20" rx="5" fill="#7dd3fc"/>
    <text x="276" y="275" font-size="12" font-weight="700" fill="#9aa7b4">~1–2 MB</text>
    <text x="180" y="307" text-anchor="end" font-size="13" font-weight="700" fill="#e8edf5">GDevelop</text>
    <rect x="190" y="292" width="131" height="20" rx="5" fill="#c8a8ff"/>
    <text x="329" y="307" font-size="12" font-weight="700" fill="#9aa7b4">~2–3 MB</text>
    <text x="180" y="339" text-anchor="end" font-size="13" font-weight="700" fill="#e8edf5">Cocos Creator</text>
    <rect x="190" y="324" width="157" height="20" rx="5" fill="#c8a8ff"/>
    <text x="355" y="339" font-size="12" font-weight="700" fill="#9aa7b4">~2–4 MB</text>
    <text x="180" y="371" text-anchor="end" font-size="13" font-weight="700" fill="#e8edf5">Unity</text>
    <rect x="190" y="356" width="418" height="20" rx="5" fill="#fb7185"/>
    <text x="616" y="371" font-size="12" font-weight="700" fill="#fb7185">~8 MB</text>
    <text x="180" y="403" text-anchor="end" font-size="13" font-weight="700" fill="#e8edf5">Godot</text>
    <rect x="190" y="388" width="470" height="20" rx="5" fill="#fb7185"/>
    <text x="652" y="403" text-anchor="end" font-size="12" font-weight="800" fill="#0b1020">~9 MB com gzip</text>
  </g>
</svg>
<h2 id="engines-de-jogos-completas" tabindex="-1">Engines de jogos completas <a class="header-anchor" href="#engines-de-jogos-completas" aria-label="Permalink to &quot;Engines de jogos completas&quot;"></a></h2>
<h3 id="unity-webgl" tabindex="-1"><a href="https://unity.com/" target="_blank" rel="noreferrer">Unity</a> (WebGL) <a class="header-anchor" href="#unity-webgl" aria-label="Permalink to &quot;[Unity](https://unity.com/) (WebGL)&quot;"></a></h3>
<p>A veterana da indústria. A exportação WebGL da Unity produz builds web jogáveis, mas com desvantagens consideráveis. A Unity 6.5 (junho de 2026) é a versão atual e tornou obsoleto o antigo Built-in Render Pipeline (com suporte até a Unity 6.7 LTS), portanto novos projetos devem começar com a URP.</p>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Ecossistema maduro com uma Asset Store abrangente</li>
<li>Ferramentas avançadas de renderização, física e animação</li>
<li>Documentação e comunidade sólidas</li>
<li>Multiplataforma: a mesma base de código pode ser publicada para desktop, dispositivos móveis, consoles e web</li>
</ul>
<p><strong>Limitações na web:</strong></p>
<ul>
<li>Builds grandes (mínimo de ~8 MB ou mais)</li>
<li>Tempos de carregamento maiores em comparação com engines nativas da web</li>
<li>Desempenho inferior ao das builds nativas</li>
<li>O backend WebGPU ainda é experimental na Unity 6.5, vem desativado por padrão e ainda não está pronto para produção</li>
<li>O consumo adicional de memória pode ser problemático em navegadores móveis</li>
</ul>
<p><strong>Preços (2026):</strong></p>
<ul>
<li>Personal: grátis para receita de até $200 mil</li>
<li>Pro: $2.310 por licença/ano (um aumento de 5% entrou em vigor em janeiro de 2026)</li>
<li>Taxa de runtime cancelada no fim de 2024</li>
</ul>
<p><strong>Quando usar:</strong> você está criando um jogo 3D complexo que também precisa ser lançado em outras plataformas. A web é secundária.</p>
<p><strong>Links:</strong> <a href="https://unity.com/" target="_blank" rel="noreferrer">Unity</a> · <a href="https://docs.unity3d.com/Manual/webgl.html" target="_blank" rel="noreferrer">Documentação do WebGL</a> · <a href="https://assetstore.unity.com/" target="_blank" rel="noreferrer">Asset Store</a></p>
<hr>
<h3 id="godot-html5" tabindex="-1"><a href="https://godotengine.org/" target="_blank" rel="noreferrer">Godot</a> (HTML5) <a class="header-anchor" href="#godot-html5" aria-label="Permalink to &quot;[Godot](https://godotengine.org/) (HTML5)&quot;"></a></h3>
<p>De código aberto e em rápida evolução. O Godot 4.7 (junho de 2026) é a versão estável atual e inclui WebAssembly SIMD por padrão, além de uma nova opção de exportação web wasm64, melhorando o desempenho sem alterações no código.</p>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Totalmente gratuito e de código aberto (licença MIT)</li>
<li>Editor leve</li>
<li>Excelente suporte a 2D com renderizador dedicado</li>
<li>GDScript é fácil para iniciantes</li>
<li>WebAssembly + SIMD para melhorar o desempenho</li>
<li>Comunidade ativa e em crescimento</li>
</ul>
<p><strong>Limitações na web:</strong></p>
<ul>
<li>Projetos em C# não podem ser exportados para a web (somente GDScript)</li>
<li>A exportação web usa apenas WebGL 2.0 (o renderizador Compatibility); Forward+/Mobile e WebGPU não são compatíveis com o navegador (um fork comunitário com WebGPU está em beta público, mas não é oficial)</li>
<li>O suporte ao Safari/iOS é problemático</li>
<li>Builds vazias têm ~24 MB sem compressão (~9 MB com gzip)</li>
<li>Alguns recursos de renderização 3D ficam atrás da Unity</li>
</ul>
<p><strong>Execução multithread:</strong></p>
<ul>
<li>Exige cabeçalhos COOP/COEP para SharedArrayBuffer</li>
<li>A execução em uma única thread agora é o padrão (evitando a complexidade dos cabeçalhos)</li>
</ul>
<p><strong>Quando usar:</strong> você quer código aberto, prioriza 2D ou deseja controle total sem preocupações com licenciamento.</p>
<p><strong>Links:</strong> <a href="https://godotengine.org/" target="_blank" rel="noreferrer">Godot Engine</a> · <a href="https://docs.godotengine.org/en/stable/tutorials/export/exporting_for_web.html" target="_blank" rel="noreferrer">Documentação de exportação web</a> · <a href="https://github.com/godotengine/godot" target="_blank" rel="noreferrer">GitHub</a></p>
<hr>
<h3 id="unreal-engine-5" tabindex="-1"><a href="https://www.unrealengine.com/" target="_blank" rel="noreferrer">Unreal Engine 5</a> <a class="header-anchor" href="#unreal-engine-5" aria-label="Permalink to &quot;[Unreal Engine 5](https://www.unrealengine.com/)&quot;"></a></h3>
<p>A Unreal encerrou a exportação nativa para HTML5 na UE 4.24. Na UE5, a publicação no navegador exige <strong>Pixel Streaming</strong>, reescrito como Pixel Streaming 2 na UE 5.7. A UE 5.8 (junho de 2026), a última versão planejada da UE5 antes da UE6, não muda a situação na web.</p>
<p><strong>Como funciona o Pixel Streaming:</strong></p>
<ul>
<li>O jogo é executado em um servidor com GPU</li>
<li>Os quadros são transmitidos ao navegador via WebRTC</li>
<li>Os comandos são enviados de volta pelo navegador</li>
<li>Normalmente, é necessária uma instância da UE para cada usuário</li>
</ul>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Fidelidade visual completa da UE5 no navegador</li>
<li>Sem requisitos de hardware no lado do cliente</li>
<li>Funciona em qualquer dispositivo com navegador</li>
</ul>
<p><strong>Limitações:</strong></p>
<ul>
<li>Exige infraestrutura de servidores (cara para escalar)</li>
<li>A latência depende da rede</li>
<li>Artefatos de compressão de vídeo</li>
<li>Não é adequado para “jogos web” tradicionais: serve mais para visualizações, configuradores e demonstrações</li>
</ul>
<p><strong>Existem iniciativas comunitárias para HTML5</strong> (forks de WebAssembly/WebGPU como SimplyStream), mas elas são experimentais e limitadas.</p>
<p><strong>Quando usar:</strong> visualizações arquitetônicas de alta fidelidade ou configuradores de produtos em que os custos de servidor sejam aceitáveis. Não é prático para jogos destinados a um público web de massa.</p>
<p><strong>Links:</strong> <a href="https://www.unrealengine.com/" target="_blank" rel="noreferrer">Unreal Engine</a> · <a href="https://dev.epicgames.com/documentation/en-us/unreal-engine/pixel-streaming-in-unreal-engine" target="_blank" rel="noreferrer">Documentação do Pixel Streaming</a></p>
<hr>
<h3 id="cocos-creator" tabindex="-1">Cocos Creator <a class="header-anchor" href="#cocos-creator" aria-label="Permalink to &quot;Cocos Creator&quot;"></a></h3>
<p>Uma engine completa com suporte excepcional à web e a plataformas de minijogos, particularmente popular na Ásia.
<strong>Pontos fortes:</strong></p>
<ul>
<li>Arquitetura de núcleo duplo: núcleo Web3D (TypeScript) otimizado para web/minijogos</li>
<li>Suporte a WebGPU (ainda experimental na versão 3.8.8, em dezembro de 2025; requer o novo pipeline de renderização personalizado, e a versão 3.8.8 adicionou MSAA para WebGPU)</li>
<li>WebAssembly para física (Box2D, Bullet), com ganhos de desempenho de 5 a 9 vezes</li>
<li>Excelente suporte a plataformas de minijogos (WeChat, TikTok, Taobao)</li>
<li>Pipeline de Renderização Personalizado (CRP) para controle da otimização</li>
<li>Suporte ao Spine 4.2 com runtime WASM</li>
<li>Redução do tamanho do pacote e compressão Brotli</li>
<li>Totalmente gratuito</li>
</ul>
<p><strong>Limitações na web:</strong></p>
<ul>
<li>Comunidade ocidental menor (documentação principalmente em chinês)</li>
<li>O carregamento inicial pode ser pesado com todos os recursos ativados</li>
<li>O fallback para WebGL1/asm.js em navegadores mais antigos reduz o desempenho</li>
</ul>
<p><strong>Adições recentes (2025-2026):</strong></p>
<ul>
<li>Backend WebGPU</li>
<li>Módulos de física WASM por padrão</li>
<li>Pipeline de Renderização Personalizado via RenderGraph</li>
<li>Compressão de texturas ASTC para minijogos</li>
<li>Reduções significativas no tamanho do pacote</li>
</ul>
<p><strong>Quando usar:</strong> Plataformas de minijogos (WeChat, TikTok), jogos para web móvel voltados aos mercados asiáticos ou quando você precisa de bom desempenho 2D/3D na web com uma engine gratuita.</p>
<p><strong>Links:</strong> <a href="https://www.cocos.com/en/creator" target="_blank" rel="noreferrer">Cocos Creator</a> · <a href="https://docs.cocos.com/creator/manual/en/" target="_blank" rel="noreferrer">Documentação</a> · <a href="https://github.com/cocos/cocos-engine" target="_blank" rel="noreferrer">GitHub</a></p>
<hr>
<h2 id="engines-voltadas-a-web" tabindex="-1">Engines voltadas à web <a class="header-anchor" href="#engines-voltadas-a-web" aria-label="Permalink to &quot;Engines voltadas à web&quot;"></a></h2>
<p>Estas engines foram desenvolvidas especificamente para distribuição pela web.</p>
<h3 id="playcanvas" tabindex="-1"><a href="https://playcanvas.com/" target="_blank" rel="noreferrer">PlayCanvas</a> <a class="header-anchor" href="#playcanvas" aria-label="Permalink to &quot;[PlayCanvas](https://playcanvas.com/)&quot;"></a></h3>
<p>Uma engine 3D baseada na nuvem e projetada desde o início para a web.</p>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Suporte a WebGL2 + WebGPU (beta)</li>
<li>Editor colaborativo na nuvem</li>
<li>Runtime pequeno (~1-2 MB)</li>
<li>Renderização PBR, pós-processamento e partículas na GPU</li>
<li>Compute shaders via WebGPU</li>
<li>Suporte a Gaussian Splatting 3D</li>
<li>Compressão eficiente de assets (Basis Universal, WebP)</li>
</ul>
<p><strong>Adições recentes (2025-2026):</strong></p>
<ul>
<li>Engine V2 com suporte a WebGPU</li>
<li>Compute shaders</li>
<li>Multi-draw para reduzir a sobrecarga das draw calls</li>
<li>Suporte a HDR no visualizador</li>
<li>Exportação glTF aprimorada</li>
<li>A Engine v2.20 (agora na v2.20.6, em julho de 2026) ampliou o renderizador WebGPU de alto desempenho, incluindo um caminho WebGPU baseado em computação para Gaussian splats 3D</li>
</ul>
<p><strong>Limitações:</strong></p>
<ul>
<li>WebGPU ainda está em beta (alguns recursos estão ausentes, como lightmapping em runtime)</li>
<li>O fluxo de trabalho baseado na nuvem pode não ser adequado para todas as equipes</li>
<li>Menos indicada para jogos 2D complexos</li>
</ul>
<p><strong>Preços:</strong></p>
<ul>
<li>Plano gratuito disponível</li>
<li>Planos pagos para projetos privados, armazenamento e suporte</li>
</ul>
<p><strong>Quando usar:</strong> Experiências 3D interativas na web, configuradores de produtos e jogos para navegador nos quais um download pequeno é importante.</p>
<p><strong>Links:</strong> <a href="https://playcanvas.com/" target="_blank" rel="noreferrer">PlayCanvas</a> · <a href="https://developer.playcanvas.com/" target="_blank" rel="noreferrer">Documentação</a> · <a href="https://github.com/playcanvas/engine" target="_blank" rel="noreferrer">GitHub</a></p>
<hr>
<h3 id="defold" tabindex="-1"><a href="https://defold.com/" target="_blank" rel="noreferrer">Defold</a> <a class="header-anchor" href="#defold" aria-label="Permalink to &quot;[Defold](https://defold.com/)&quot;"></a></h3>
<p>Uma engine leve criada pela King (Candy Crush), com desempenho excepcional na web. A Defold 1.13.0 (junho de 2026) removeu o antigo destino asm.js (js-web), portanto as builds para web agora usam somente Wasm, e adicionou morph targets glTF como parte de um conjunto crescente de recursos 3D.</p>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Runtime minúsculo: ~1,14 MB (compactado com gzip, build vazia)</li>
<li>WebAssembly por padrão</li>
<li>Excelentes tempos de carregamento</li>
<li>Publicação integrada no Poki e em outras plataformas</li>
<li>Profiler de desempenho para HTML5</li>
<li>Skinning na GPU com melhorias de desempenho de 30-50% nas versões recentes</li>
<li>Suporte experimental a WebGPU</li>
</ul>
<p><strong>Limitações:</strong></p>
<ul>
<li>Comunidade menor do que as de Godot/Unity</li>
<li>Builds de depuração significativamente mais lentas</li>
<li>Heap padrão de 256 MB (precisa ser ajustado para jogos maiores)</li>
<li>Curva de aprendizado para scripts em Lua</li>
</ul>
<p><strong>Comparação de desempenho:</strong></p>
<ul>
<li>Build vazia: Defold ~1,14 MB vs. Unity ~8 MB vs. Godot ~9 MB</li>
<li>Está entre as engines com carregamento mais rápido em estudos dos principais jogos para web</li>
</ul>
<p><strong>Quando usar:</strong> Jogos para web com foco em dispositivos móveis, jogos casuais e qualquer projeto em que o tempo de carregamento seja crucial.</p>
<p><strong>Links:</strong> <a href="https://defold.com/" target="_blank" rel="noreferrer">Defold</a> · <a href="https://defold.com/manuals/html5/" target="_blank" rel="noreferrer">Documentação de HTML5</a> · <a href="https://github.com/defold/defold" target="_blank" rel="noreferrer">GitHub</a></p>
<hr>
<h3 id="construct" tabindex="-1"><a href="https://www.construct.net/" target="_blank" rel="noreferrer">Construct</a> <a class="header-anchor" href="#construct" aria-label="Permalink to &quot;[Construct](https://www.construct.net/)&quot;"></a></h3>
<p>Desenvolvimento visual baseado em eventos. Perfeita para quem não programa.</p>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Não exige programação (folhas de eventos)</li>
<li>Renderizador WebGPU ativado por padrão (quando compatível)</li>
<li>Iteração e prototipagem rápidas</li>
<li>55 versões lançadas somente em 2025</li>
<li>Suporte a TypeScript no editor</li>
<li>Navegador de assets integrado e melhorias no depurador</li>
</ul>
<p><strong>Limitações:</strong></p>
<ul>
<li>Focada em 2D (suporte mínimo a 3D)</li>
<li>Modelo de assinatura</li>
<li>Menos controle do que engines baseadas em código</li>
<li>Pode encontrar limitações em lógicas de jogo complexas</li>
</ul>
<p><strong>Quando usar:</strong> Jogos 2D, prototipagem rápida, educação ou se você não é programador.</p>
<p><strong>Links:</strong> <a href="https://www.construct.net/" target="_blank" rel="noreferrer">Construct</a> · <a href="https://www.construct.net/en/make-games/manuals/construct-3" target="_blank" rel="noreferrer">Documentação</a></p>
<hr>
<h3 id="gdevelop" tabindex="-1"><a href="https://gdevelop.io/" target="_blank" rel="noreferrer">GDevelop</a> <a class="header-anchor" href="#gdevelop" aria-label="Permalink to &quot;[GDevelop](https://gdevelop.io/)&quot;"></a></h3>
<p>Engine visual de código aberto com suporte crescente a 3D.</p>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Desenvolvimento baseado em eventos e sem código</li>
<li>Suporte nativo a 3D (adicionado na versão 5.3)</li>
<li>Editor 3D em tempo real (5.6)</li>
<li>Jolt Physics para 3D</li>
<li>Profiler integrado</li>
<li>Suporte a multijogador em tempo real (2 a 8 jogadores)</li>
<li>Plano gratuito disponível</li>
</ul>
<p><strong>Limitações:</strong></p>
<ul>
<li>O código exportado inclui bibliotecas da engine (Pixi.js, Three.js, Howler.js)</li>
<li>Tamanho da build maior do que o de frameworks mínimos</li>
<li>O editor pode ficar lento com muitos objetos/cenas</li>
<li>O desempenho depende muito das técnicas de otimização</li>
</ul>
<p><strong>Quando usar:</strong> Iniciantes, contextos educacionais, prototipagem rápida e jogos 2D/3D menores.</p>
<p><strong>Links:</strong> <a href="https://gdevelop.io/" target="_blank" rel="noreferrer">GDevelop</a> · <a href="https://wiki.gdevelop.io/" target="_blank" rel="noreferrer">Documentação</a> · <a href="https://github.com/4ian/GDevelop" target="_blank" rel="noreferrer">GitHub</a></p>
<hr>
<h2 id="frameworks-javascript" tabindex="-1">Frameworks JavaScript <a class="header-anchor" href="#frameworks-javascript" aria-label="Permalink to &quot;Frameworks JavaScript&quot;"></a></h2>
<p>Para desenvolvedores que querem o máximo de controle e a menor sobrecarga possível.</p>
<h3 id="phaser-v4" tabindex="-1"><a href="https://phaser.io/" target="_blank" rel="noreferrer">Phaser</a> (v4) <a class="header-anchor" href="#phaser-v4" aria-label="Permalink to &quot;[Phaser](https://phaser.io/) (v4)&quot;"></a></h3>
<p>O framework de jogos HTML5 mais popular. A versão 4 foi lançada como estável em abril de 2026, trazendo uma reconstrução completa do renderizador WebGL com uma nova arquitetura de renderização baseada em nós, mas mantendo a API da v3. Desde então, versões pontuais chegaram rapidamente, com a v4.2 &quot;Giedi&quot; lançada em junho de 2026 e uma correção 4.2.1 em julho. Observe que o Phaser 4 é uma reescrita para WebGL2, não uma engine WebGPU; WebGPU é uma preparação para o futuro, não um recurso disponível na versão atual.</p>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Framework completo para jogos: física, entrada, áudio, cenas e carregamento de assets</li>
<li>Arcade Physics e Matter.js integrados</li>
<li>Comunidade enorme, tutoriais e exemplos</li>
<li>Renderizadores WebGL + Canvas</li>
<li>Templates para bundlers e wrappers para desktop</li>
</ul>
<p><strong>Limitações:</strong></p>
<ul>
<li>Bundle maior do que o de bibliotecas mínimas (~500 KB)</li>
<li>O desempenho em cenários com muitos sprites fica atrás do PixiJS</li>
<li>Arquitetura mais opinativa</li>
</ul>
<p><strong>Quando usar:</strong> Jogos 2D convencionais nos quais você quer uma solução completa, mas ainda deseja escrever código.</p>
<p><strong>Links:</strong> <a href="https://phaser.io/" target="_blank" rel="noreferrer">Phaser</a> · <a href="https://phaser.io/learn" target="_blank" rel="noreferrer">Documentação</a> · <a href="https://github.com/phaserjs/phaser" target="_blank" rel="noreferrer">GitHub</a></p>
<hr>
<h3 id="pixijs-v8" tabindex="-1"><a href="https://pixijs.com/" target="_blank" rel="noreferrer">PixiJS</a> (v8) <a class="header-anchor" href="#pixijs-v8" aria-label="Permalink to &quot;[PixiJS](https://pixijs.com/) (v8)&quot;"></a></h3>
<p>Biblioteca de renderização 2D de alto desempenho.</p>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Desempenho excepcional de renderização</li>
<li>Tamanho reduzido (~200 KB)</li>
<li>Pipeline de renderização WebGL poderoso</li>
<li>Excelente para renderização personalizada e visualizações</li>
<li>Novo formato de cena &quot;gl2D&quot; e biblioteca de engine de jogos em desenvolvimento</li>
</ul>
<p><strong>Limitações:</strong></p>
<ul>
<li>Não é uma engine de jogos: não inclui física, áudio nem gerenciamento de cenas</li>
<li>Exige mais configuração</li>
<li>Você mesmo desenvolve (ou integra) a lógica do jogo</li>
</ul>
<p><strong>Quando usar:</strong> Aplicações com uso intenso de gráficos, necessidades de renderização personalizada, projetos nos quais o desempenho é crucial ou ao desenvolver sua própria engine.</p>
<p><strong>Links:</strong> <a href="https://pixijs.com/" target="_blank" rel="noreferrer">PixiJS</a> · <a href="https://pixijs.com/guides" target="_blank" rel="noreferrer">Documentação</a> · <a href="https://github.com/pixijs/pixijs" target="_blank" rel="noreferrer">GitHub</a></p>
<hr>
<h3 id="excalibur-js" tabindex="-1"><a href="https://excaliburjs.com/" target="_blank" rel="noreferrer">Excalibur.js</a> <a class="header-anchor" href="#excalibur-js" aria-label="Permalink to &quot;[Excalibur.js](https://excaliburjs.com/)&quot;"></a></h3>
<p>Engine de jogos 2D feita prioritariamente para TypeScript, com arquitetura ECS.</p>
<p><strong>Pontos fortes:</strong></p>
<ul>
<li>Desenvolvida em TypeScript</li>
<li>Arquitetura Entity-Component-System</li>
<li>Tilemaps, sprites nine-slice e partículas na GPU</li>
<li>Interface baseada em HTML que acompanha a escala do canvas</li>
<li>Bom equilíbrio entre recursos e controle</li>
</ul>
<p><strong>Limitações:</strong></p>
<ul>
<li>Anterior à versão 1.0 (algumas APIs podem mudar)</li>
<li>Ecossistema menor e menos tutoriais</li>
<li>Física e iluminação ainda estão sendo desenvolvidas</li>
</ul>
<p><strong>Quando usar:</strong> Desenvolvedores TypeScript que criam jogos 2D e querem mais estrutura do que o PixiJS, mas menos sobrecarga do que o Phaser.</p>
<p><strong>Links:</strong> <a href="https://excaliburjs.com/" target="_blank" rel="noreferrer">Excalibur.js</a> · <a href="https://excaliburjs.com/docs/" target="_blank" rel="noreferrer">Documentação</a> · <a href="https://github.com/excaliburjs/Excalibur" target="_blank" rel="noreferrer">GitHub</a></p>
<hr>
<h2 id="guia-de-decisao" tabindex="-1">Guia de decisão <a class="header-anchor" href="#guia-de-decisao" aria-label="Permalink to &quot;Guia de decisão&quot;"></a></h2>
<h3 id="por-tipo-de-projeto" tabindex="-1">Por tipo de projeto <a class="header-anchor" href="#por-tipo-de-projeto" aria-label="Permalink to &quot;Por tipo de projeto&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Projeto</th>
<th>Engine recomendada</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Jogo 2D casual para web móvel</strong></td>
<td>Defold, Phaser, Construct</td>
</tr>
<tr>
<td><strong>2D complexo com necessidades personalizadas</strong></td>
<td>PixiJS, Excalibur.js</td>
</tr>
<tr>
<td><strong>Jogo 3D para web</strong></td>
<td>PlayCanvas, Godot (Compatibilidade), Cocos Creator</td>
</tr>
<tr>
<td><strong>Multiplataforma (web + nativo)</strong></td>
<td>Unity, Godot, Cocos Creator</td>
</tr>
<tr>
<td><strong>Plataformas de minijogos (WeChat, TikTok)</strong></td>
<td>Cocos Creator</td>
</tr>
<tr>
<td><strong>Visualização de alta fidelidade</strong></td>
<td>Unreal (Pixel Streaming), PlayCanvas</td>
</tr>
<tr>
<td><strong>Sem código / iniciante</strong></td>
<td>Construct, GDevelop</td>
</tr>
<tr>
<td><strong>Código aberto obrigatório</strong></td>
<td>Godot, Phaser, PixiJS, Excalibur.js, Cocos (engine)</td>
</tr>
</tbody>
</table>
<h3 id="por-prioridade" tabindex="-1">Por prioridade <a class="header-anchor" href="#por-prioridade" aria-label="Permalink to &quot;Por prioridade&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Prioridade</th>
<th>Melhores opções</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Menor tamanho de build</strong></td>
<td>Defold, PixiJS, Excalibur.js</td>
</tr>
<tr>
<td><strong>Carregamento mais rápido</strong></td>
<td>Defold, Phaser, JavaScript puro</td>
</tr>
<tr>
<td><strong>Melhor suporte a 3D</strong></td>
<td>PlayCanvas, Unity, Cocos Creator</td>
</tr>
<tr>
<td><strong>Melhor suporte a 2D</strong></td>
<td>Godot, Phaser, Construct, Cocos Creator</td>
</tr>
<tr>
<td><strong>Gratuita e de código aberto</strong></td>
<td>Godot, Phaser, PixiJS, Defold, Cocos (engine)</td>
</tr>
<tr>
<td><strong>Suporte a WebGPU</strong></td>
<td>PlayCanvas (mais maduro), Three.js (opcional), Construct, Cocos Creator</td>
</tr>
<tr>
<td><strong>Desempenho em navegadores móveis</strong></td>
<td>Defold, Phaser, PlayCanvas, Cocos Creator</td>
</tr>
<tr>
<td><strong>Plataformas de minijogos</strong></td>
<td>Cocos Creator</td>
</tr>
</tbody>
</table>
<hr>
<h2 id="a-realidade-do-desempenho-de-jogos-para-web" tabindex="-1">A realidade do desempenho de jogos para web <a class="header-anchor" href="#a-realidade-do-desempenho-de-jogos-para-web" aria-label="Permalink to &quot;A realidade do desempenho de jogos para web&quot;"></a></h2>
<p>Independentemente da engine escolhida, estes fatores são mais importantes:</p>
<ol>
<li><strong>Tamanho dos assets</strong>: Comprima texturas e áudio e minimize as dependências</li>
<li><strong>Primeira cena</strong>: Mantenha o download inicial pequeno e transmita o restante conforme necessário</li>
<li><strong>Draw calls</strong>: Agrupe sprites e use atlas de texturas</li>
<li><strong>Testes em dispositivos</strong>: Teste em dispositivos móveis reais, não apenas no Chrome para desktop</li>
</ol>
<p>Comece aqui: <a href="/pt-BR/tutorials/ship-web-game-fast.html">Publique um jogo para web que carregue rapidamente</a></p>
<hr>
<h2 id="observacoes-sobre-compatibilidade-com-navegadores" tabindex="-1">Observações sobre compatibilidade com navegadores <a class="header-anchor" href="#observacoes-sobre-compatibilidade-com-navegadores" aria-label="Permalink to &quot;Observações sobre compatibilidade com navegadores&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Recurso</th>
<th>Chrome</th>
<th>Firefox</th>
<th>Safari</th>
<th>Dispositivos móveis</th>
</tr>
</thead>
<tbody>
<tr>
<td>WebGL 2.0</td>
<td>✅</td>
<td>✅</td>
<td>✅</td>
<td>✅</td>
</tr>
<tr>
<td>WebGPU</td>
<td>✅</td>
<td>✅ Windows/macOS</td>
<td>✅ Safari 26+</td>
<td>✅ iOS/iPadOS 26+</td>
</tr>
<tr>
<td>SharedArrayBuffer</td>
<td>✅ (COOP/COEP)</td>
<td>✅ (COOP/COEP)</td>
<td>⚠️</td>
<td>⚠️</td>
</tr>
<tr>
<td>Wasm SIMD</td>
<td>✅</td>
<td>✅</td>
<td>✅</td>
<td>✅</td>
</tr>
</tbody>
</table>
<p>O Safari 26 (setembro de 2025) finalmente lançou o WebGPU no macOS, iPadOS, iOS e visionOS, portanto o WebGPU entre navegadores agora é uma realidade, em vez de um recurso exclusivo do Chrome. O Firefox é o único que ainda está atrasado: o WebGPU foi lançado no Windows com o Firefox 141 e chegou ao macOS no Firefox 145, mas as builds para Linux e Android ainda o oferecem somente no Nightly, com a Mozilla planejando suporte para ambos em 2026. O SharedArrayBuffer ainda é a dependência mais complicada no Safari, portanto sempre teste no Safari/iOS se você depende de processamento em threads ou deseja alcançar um público amplo.</p>
<hr>
<h2 id="perguntas-frequentes" tabindex="-1">Perguntas frequentes <a class="header-anchor" href="#perguntas-frequentes" aria-label="Permalink to &quot;Perguntas frequentes&quot;"></a></h2>
<h3 id="qual-e-a-melhor-engine-para-jogos-de-navegador" tabindex="-1">Qual é a melhor engine para jogos de navegador? <a class="header-anchor" href="#qual-e-a-melhor-engine-para-jogos-de-navegador" aria-label="Permalink to &quot;Qual é a melhor engine para jogos de navegador?&quot;"></a></h3>
<p>Não existe uma única resposta, pois depende do que você está criando. Para jogos 2D, Phaser e Defold são difíceis de superar. São leves, bem documentadas e geram builds pequenas que carregam rapidamente. Para 3D no navegador, PlayCanvas e Three.js oferecem mais controle sem o excesso de uma engine completa para desktop. Se você precisa de suporte multiplataforma e a web é secundária, Unity ou Godot podem exportar para WebGL, mas espere downloads maiores. Desenvolvemos a <a href="/pt-BR/engine.html">Cinevva Engine</a> sobre o Three.js porque queríamos uma solução de código aberto e voltada à web desde o primeiro dia.</p>
<h3 id="a-unity-pode-exportar-para-a-web" tabindex="-1">A Unity pode exportar para a web? <a class="header-anchor" href="#a-unity-pode-exportar-para-a-web" aria-label="Permalink to &quot;A Unity pode exportar para a web?&quot;"></a></h3>
<p>Sim, a Unity pode exportar builds WebGL. Funciona, mas há contrapartidas. O tamanho mínimo da build fica em torno de 8 MB mesmo para um projeto vazio, os tempos de carregamento são visivelmente maiores do que nas engines nativas da web e o suporte a navegadores móveis pode ser instável devido à sobrecarga de memória. Se seu jogo já existe na Unity e você quer uma versão para web, ela é uma opção adequada. Se você está começando do zero e seu alvo específico é a web, uma engine nativa da web produzirá resultados melhores.</p>
<h3 id="a-godot-e-boa-para-jogos-para-web" tabindex="-1">A Godot é boa para jogos para web? <a class="header-anchor" href="#a-godot-e-boa-para-jogos-para-web" aria-label="Permalink to &quot;A Godot é boa para jogos para web?&quot;"></a></h3>
<p>A exportação HTML5 da Godot é sólida e continua melhorando. A própria engine é gratuita e de código aberto, o que é um grande atrativo. Os tamanhos das builds começam em cerca de 9 MB sem compressão (menos com gzip), e você recebe suporte completo a 2D e 3D. O principal detalhe é o SharedArrayBuffer, que exige cabeçalhos específicos no servidor e pode causar problemas em algumas configurações de hospedagem. Para desenvolvedores independentes que querem usar a mesma base de código em desktop e web, a Godot é uma ótima escolha.</p>
<h3 id="qual-e-a-menor-engine-de-jogos-para-web" tabindex="-1">Qual é a menor engine de jogos para web? <a class="header-anchor" href="#qual-e-a-menor-engine-de-jogos-para-web" aria-label="Permalink to &quot;Qual é a menor engine de jogos para web?&quot;"></a></h3>
<p>O PixiJS ocupa cerca de 200 KB, o que é minúsculo. No entanto, ele é um renderizador 2D, não uma engine completa, então você precisará escrever mais código por conta própria. O Excalibur.js ocupa cerca de 300 KB e oferece mais recursos de jogos integrados. O Phaser fica em torno de 500 KB e oferece um framework completo para jogos 2D. Para 3D, PlayCanvas e Defold ficam na faixa de 1-2 MB. Porém, a verdadeira questão não é apenas o tamanho da engine. É o tamanho total da build, incluindo seus assets, e é aí que a otimização importa mais do que a escolha da engine.</p>
<h3 id="qual-e-a-melhor-engine-de-jogos-para-2026" tabindex="-1">Qual é a melhor engine de jogos para 2026? <a class="header-anchor" href="#qual-e-a-melhor-engine-de-jogos-para-2026" aria-label="Permalink to &quot;Qual é a melhor engine de jogos para 2026?&quot;"></a></h3>
<p>Depende do que você pretende publicar. Para 3D voltado à web, o PlayCanvas é a opção mais forte em 2026. Para 2D, Defold e Phaser lideram em tempo de carregamento e comunidade. Se você precisa de uma única base de código para web e plataformas nativas, Godot (gratuita) ou Unity (builds maiores) são boas opções. Não existe uma engine &quot;melhor&quot; em todos os casos, apenas a mais adequada ao tamanho da sua build, à plataforma e ao seu nível de habilidade. Desenvolvemos a <a href="/pt-BR/engine.html">Cinevva Engine</a> sobre o Three.js porque queríamos uma solução de código aberto e voltada à web desde o início.</p>
<h3 id="quais-sao-as-principais-engines-de-jogos-2d-para-2026" tabindex="-1">Quais são as principais engines de jogos 2D para 2026? <a class="header-anchor" href="#quais-sao-as-principais-engines-de-jogos-2d-para-2026" aria-label="Permalink to &quot;Quais são as principais engines de jogos 2D para 2026?&quot;"></a></h3>
<p>Defold, Phaser e Construct são as principais engines 2D para web em 2026. A Defold produz as builds menores e com carregamento mais rápido. O Phaser é o framework HTML5 mais popular e tem o maior ecossistema. O Construct permite criar jogos 2D visualmente, sem código. Para renderização personalizada, PixiJS e Excalibur.js oferecem mais controle ocupando menos espaço.</p>
<h3 id="o-que-e-uma-engine-de-jogos-wasm" tabindex="-1">O que é uma engine de jogos Wasm? <a class="header-anchor" href="#o-que-e-uma-engine-de-jogos-wasm" aria-label="Permalink to &quot;O que é uma engine de jogos Wasm?&quot;"></a></h3>
<p>Uma engine de jogos Wasm compila seu jogo para WebAssembly, um formato binário de baixo nível que é executado no navegador com velocidade próxima à nativa. Godot, Defold e Cocos Creator usam WebAssembly em suas exportações para web, razão pela qual apresentam um desempenho muito melhor do que engines antigas baseadas somente em JavaScript. Em 2026, Wasm é o padrão para jogos de navegador mais sofisticados.</p>
<h3 id="quais-sao-as-engines-de-jogos-mais-populares-em-2026" tabindex="-1">Quais são as engines de jogos mais populares em 2026? <a class="header-anchor" href="#quais-sao-as-engines-de-jogos-mais-populares-em-2026" aria-label="Permalink to &quot;Quais são as engines de jogos mais populares em 2026?&quot;"></a></h3>
<p>Por base instalada e demanda no mercado de trabalho, Unity e Unreal são os motores padrão da indústria em 2026, enquanto o Godot é a alternativa de código aberto que mais cresce. Para jogos executados no navegador, o Phaser é o framework 2D mais popular, e o PlayCanvas lidera em 3D focado na web. Uma comunidade maior significa mais tutoriais, plugins e respostas quando você encontra dificuldades, mas o motor mais popular nem sempre é o mais adequado para um projeto web, no qual o tamanho da build e o tempo de carregamento determinam quem realmente consegue jogar.</p>
<h3 id="quais-sao-os-melhores-motores-de-jogos-gratuitos-em-2026" tabindex="-1">Quais são os melhores motores de jogos gratuitos em 2026? <a class="header-anchor" href="#quais-sao-os-melhores-motores-de-jogos-gratuitos-em-2026" aria-label="Permalink to &quot;Quais são os melhores motores de jogos gratuitos em 2026?&quot;"></a></h3>
<p>O Godot é o motor gratuito mais completo para 2026. Ele é totalmente de código aberto sob a licença MIT, sem limites de receita ou taxas por usuário, e oferece suporte tanto a 2D quanto a 3D. Especificamente para a web, Phaser, PixiJS, Defold e Excalibur.js também são gratuitos e de código aberto. Unity e Construct têm planos gratuitos com limitações, e o Unreal é gratuito até US$ 1 milhão em receita. Se você quer custo zero e nenhuma condição, escolha o Godot ou um dos frameworks JavaScript de código aberto.</p>
<h3 id="qual-e-o-melhor-motor-de-jogos-para-iniciantes-em-2026" tabindex="-1">Qual é o melhor motor de jogos para iniciantes em 2026? <a class="header-anchor" href="#qual-e-o-melhor-motor-de-jogos-para-iniciantes-em-2026" aria-label="Permalink to &quot;Qual é o melhor motor de jogos para iniciantes em 2026?&quot;"></a></h3>
<p>Para iniciantes em 2026, GDevelop e Construct são os pontos de partida mais fáceis, pois permitem criar jogos visualmente, com pouco ou nenhum código. Se você quiser aprender programação junto com design de jogos, o Godot tem uma linguagem de script acessível e uma enorme biblioteca de tutoriais gratuitos. Especificamente para jogos 2D para web, o Phaser é acessível depois que você aprende um pouco de JavaScript. Comece com a opção que corresponda à quantidade de código que você deseja escrever e avance conforme seus projetos crescerem.</p>
<hr>
<h2 id="resumo" tabindex="-1">Resumo <a class="header-anchor" href="#resumo" aria-label="Permalink to &quot;Resumo&quot;"></a></h2>
<ul>
<li><strong>Para a maioria dos jogos web</strong>: comece com Defold, Phaser ou PlayCanvas, dependendo das suas necessidades de 2D ou 3D</li>
<li><strong>Para múltiplas plataformas</strong>: Unity, Godot ou Cocos Creator, aceitando builds maiores</li>
<li><strong>Para plataformas de minijogos</strong>: Cocos Creator (WeChat, TikTok, Taobao)</li>
<li><strong>Para controle máximo</strong>: PixiJS ou Excalibur.js</li>
<li><strong>Para quem não programa</strong>: Construct ou GDevelop</li>
<li><strong>Para 3D de alta fidelidade</strong>: PlayCanvas ou Pixel Streaming</li>
</ul>
<p>O melhor motor é aquele que permite publicar seu jogo. Comece com algo pequeno, faça análises de desempenho desde cedo e priorize a otimização do tempo de carregamento acima de tudo.</p>
<BuildCta
  title="Não quer escolher motor nenhum?"
  desc="Descreva seu jogo em uma frase e jogue-o em cerca de um minuto, gratuitamente."
  prompt="Crie um jogo de plataforma 3D com plataformas móveis e um cronômetro" />
<h2 id="conteudo-relacionado" tabindex="-1">Conteúdo relacionado <a class="header-anchor" href="#conteudo-relacionado" aria-label="Permalink to &quot;Conteúdo relacionado&quot;"></a></h2>
<ul>
<li><a href="/pt-BR/guides/vibe-coding-game-prompts.html">100 ideias de prompts de IA para jogos que você pode criar com um clique</a> — pegue uma ideia e torne-a jogável em cerca de um minuto</li>
<li><a href="/pt-BR/guides/godot-vs-unity-web-games.html">Godot vs. Unity para jogos web</a> — os dois grandes motores completos, comparados diretamente na web</li>
<li><a href="/pt-BR/guides/unity-alternatives-web-games.html">Alternativas ao Unity para jogos web</a> — deixando o Unity? escolha um motor web de acordo com o motivo da mudança</li>
<li><a href="/pt-BR/guides/open-source-game-engines-2026.html">Melhores motores de jogos de código aberto para 2026</a> — motores gratuitos e sem taxas que você pode modificar e usar para publicar</li>
<li><a href="/pt-BR/guides/best-2d-game-engines-2026.html">Melhores motores de jogos 2D para 2026</a> — se o seu jogo é 2D, comece aqui</li>
<li><a href="/pt-BR/guides/playcanvas-vs-threejs.html">PlayCanvas vs. Three.js</a> — motor vs. biblioteca para 3D na web</li>
<li><a href="/pt-BR/guides/threejs-vs-babylonjs.html">Three.js vs. Babylon.js</a> — as duas grandes bibliotecas 3D para web</li>
<li><a href="/pt-BR/guides/construct-vs-gdevelop.html">Construct vs. GDevelop</a> — o confronto entre as opções 2D sem código</li>
<li><a href="/pt-BR/guides/web-games-stack-2026.html">Stack tecnológico de jogos web em 2026</a> — WebGL vs. WebGPU vs. Wasm no nível das APIs</li>
<li><a href="/pt-BR/tutorials/canvas-2d-game-loop.html">Loop de jogo com Canvas 2D</a> — crie um jogo sem usar motor algum</li>
<li><a href="/pt-BR/guides/game-jams-hackathons.html">Game jams e hackathons</a> — como escolher um motor considerando as limitações de uma jam de 48 horas</li>
<li><a href="/pt-BR/tutorials/game-physics-libraries.html">Bibliotecas de física para jogos</a> — motores de física que se integram a qualquer um desses frameworks</li>
<li><a href="/pt-BR/guides/frontier-gen-ai-models.html">Melhores modelos de IA generativa de código aberto para jogos</a> — modelos de IA para gerar recursos 3D, visuais e de áudio para qualquer motor que você escolher</li>
<li><a href="/pt-BR/guides/itch-io-launch-guide.html">Como lançar seu jogo no itch.io</a> — distribuição de jogos web depois que você escolher seu motor</li>
</ul>
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/web-game-engines-comparison.jpg?v=2" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Stack tecnológico para jogos web em 2026]]></title>
            <link>https://app.cinevva.com/pt-BR/guides/web-games-stack-2026</link>
            <guid>https://app.cinevva.com/pt-BR/guides/web-games-stack-2026</guid>
            <pubDate>Sun, 18 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Um guia prático sobre WebGL, WebGPU e WebAssembly para desenvolvedores de jogos web, com exemplos reais de código e critérios para tomar decisões.]]></description>
            <content:encoded><![CDATA[<h1 id="stack-tecnologico-para-jogos-web-em-2026" tabindex="-1">Stack tecnológico para jogos web em 2026 <a class="header-anchor" href="#stack-tecnologico-para-jogos-web-em-2026" aria-label="Permalink to &quot;Stack tecnológico para jogos web em 2026&quot;"></a></h1>
<p>Três tecnologias viabilizam os jogos web: WebGL, WebGPU e WebAssembly. Cada uma resolve problemas diferentes e envolve concessões distintas. Este guia ajuda você a escolher com base no que realmente está criando, não no que está gerando mais hype.</p>
<h2 id="a-resposta-rapida" tabindex="-1">A resposta rápida <a class="header-anchor" href="#a-resposta-rapida" aria-label="Permalink to &quot;A resposta rápida&quot;"></a></h2>
<p>O WebGL 2.0 funciona em praticamente todo lugar e dá conta da maioria dos jogos sem problemas. Use-o quando precisar de ampla compatibilidade, principalmente em dispositivos móveis. O WebGPU oferece compute shaders e melhor desempenho, mas você perderá usuários em navegadores e dispositivos mais antigos. O WebAssembly deixa seu código de CPU mais rápido, então é útil para física e busca de caminhos, mas não ajudará se o gargalo estiver na GPU.</p>
<p>Em 2026, a maioria dos jogos é lançada com WebGL e WebGPU opcional para navegadores compatíveis. O Wasm é usado de forma seletiva em trechos críticos do código, não no jogo inteiro.</p>
<h2 id="webgl-2-0-a-escolha-sem-graca-que-funciona" tabindex="-1">WebGL 2.0: a escolha sem graça que funciona <a class="header-anchor" href="#webgl-2-0-a-escolha-sem-graca-que-funciona" aria-label="Permalink to &quot;WebGL 2.0: a escolha sem graça que funciona&quot;"></a></h2>
<p>O WebGL 2.0 está estável desde 2017. Todos os navegadores modernos oferecem suporte. Seu jogo funciona no Chrome, Firefox, Safari e Edge, incluindo versões lançadas há mais de cinco anos. Funciona no Safari do iOS 15+, Chrome para Android e Samsung Internet. Ele roda até mesmo em navegadores de consoles, como o Edge no Xbox e o navegador do PlayStation.</p>
<p>Veja como é uma configuração básica do WebGL 2:</p>
<div class="language-javascript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">javascript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> canvas</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> document.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">getElementById</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'game'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> gl</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> canvas.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">getContext</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'webgl2'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">!</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">gl) {</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  // Fallback to WebGL 1 or show error</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> gl1</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> canvas.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">getContext</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'webgl'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">!</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">gl1) {</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">    showError</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'Your browser does not support WebGL.'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// Now you have a GL context</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">gl.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">clearColor</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0.1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">1.0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">gl.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">clear</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(gl.</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">COLOR_BUFFER_BIT</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span></code></pre>
</div><h3 id="o-que-voce-ganha" tabindex="-1">O que você ganha <a class="header-anchor" href="#o-que-voce-ganha" aria-label="Permalink to &quot;O que você ganha&quot;"></a></h3>
<p>O WebGL 2 oferece renderização instanciada, permitindo desenhar milhares de objetos com uma única draw call. Ele conta com transform feedback para sistemas de partículas e simulações executados na GPU. Você tem vários alvos de renderização para deferred rendering e G-buffers, texturas 3D para efeitos volumétricos e texturas de inteiros para o armazenamento preciso de dados.</p>
<div class="language-javascript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">javascript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">gl.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">drawArraysInstanced</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(gl.</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">TRIANGLES</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, vertexCount, instanceCount);</span></span></code></pre>
</div><h3 id="o-que-voce-nao-ganha" tabindex="-1">O que você não ganha <a class="header-anchor" href="#o-que-voce-nao-ganha" aria-label="Permalink to &quot;O que você não ganha&quot;"></a></h3>
<p>Não é possível executar compute shaders para computação de propósito geral na GPU. Não há texturas bindless, então você fica limitado pela quantidade de unidades de textura. Não há mapeamento persistente nem controle explícito de memória. Também não há mesh shaders nem um pipeline moderno de geometria.</p>
<p>Para a maioria dos jogos 2D e muitos jogos 3D, essas limitações não fazem diferença. Alguns dos jogos web mais bem-sucedidos já criados foram lançados com WebGL 2.</p>
<h2 id="webgpu-quando-voce-precisa-de-mais" tabindex="-1">WebGPU: quando você precisa de mais <a class="header-anchor" href="#webgpu-quando-voce-precisa-de-mais" aria-label="Permalink to &quot;WebGPU: quando você precisa de mais&quot;"></a></h2>
<p>O WebGPU foi projetado com base na forma como as GPUs modernas realmente funcionam. O Chrome passou a oferecê-lo em maio de 2023 e, no fim de 2025, todos os principais navegadores já tinham suporte. Chrome 113+, Safari 26+ e Edge 113+ são compatíveis, e o Firefox o habilitou na versão 141+ para Windows (desde julho de 2025) e na versão 145 para macOS com Apple Silicon, enquanto o suporte para Linux e Android ainda está sendo implementado. O Chrome para Android oferece suporte em dispositivos recentes, assim como o Safari do iOS 26+.</p>
<p>O porém é que dispositivos e navegadores mais antigos não têm suporte, então você precisa de uma estratégia de fallback.</p>
<h3 id="o-que-voce-ganha-1" tabindex="-1">O que você ganha <a class="header-anchor" href="#o-que-voce-ganha-1" aria-label="Permalink to &quot;O que você ganha&quot;"></a></h3>
<p>Os compute shaders permitem executar computação de propósito geral na GPU para física, partículas, IA e processamento de imagens.</p>
<div class="language-javascript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">javascript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// A compute shader that processes data in parallel</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> computeShaderCode</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> `</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">@group(0) @binding(0) var&#x3C;storage, read_write> data: array&#x3C;f32>;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">@compute @workgroup_size(64)</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">fn main(@builtin(global_invocation_id) id: vec3&#x3C;u32>) {</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">  data[id.x] = data[id.x] * 2.0;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">}</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">`</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span></code></pre>
</div><p>Você também ganha gerenciamento explícito de recursos, o que significa menos surpresas de desempenho, render bundles para pré-gravar draw calls e reutilizá-las, além do WGSL, uma linguagem moderna de shaders projetada para GPUs em vez de uma adaptação improvisada semelhante a C.</p>
<h3 id="configuracao-pratica-do-webgpu" tabindex="-1">Configuração prática do WebGPU <a class="header-anchor" href="#configuracao-pratica-do-webgpu" aria-label="Permalink to &quot;Configuração prática do WebGPU&quot;"></a></h3>
<p>Veja como inicializar o WebGPU com fallback para WebGL:</p>
<div class="language-javascript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">javascript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">async</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> function</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> initGraphics</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">canvas</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">) {</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  // Try WebGPU first</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (navigator.gpu) {</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> adapter</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> await</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> navigator.gpu.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">requestAdapter</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">();</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (adapter) {</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">      const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> device</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> await</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> adapter.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">requestDevice</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">();</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">      const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> context</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> canvas.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">getContext</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'webgpu'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">      </span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">      context.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">configure</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">({</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">        device,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">        format: navigator.gpu.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">getPreferredCanvasFormat</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(),</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">      });</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">      </span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">      return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> { type: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'webgpu'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, device, context };</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  </span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  // Fall back to WebGL 2</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> gl</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> canvas.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">getContext</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'webgl2'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (gl) {</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> { type: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'webgl2'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, gl };</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  </span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  // Last resort: WebGL 1</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> gl1</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> canvas.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">getContext</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'webgl'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (gl1) {</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> { type: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'webgl'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, gl: gl1 };</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  </span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  throw</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> new</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> Error</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'No graphics API available'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre>
</div><h3 id="quando-ele-realmente-ajuda" tabindex="-1">Quando ele realmente ajuda <a class="header-anchor" href="#quando-ele-realmente-ajuda" aria-label="Permalink to &quot;Quando ele realmente ajuda&quot;"></a></h3>
<p>O WebGPU se destaca quando você precisa de compute shaders para atualizar milhões de partículas sem transferências de ida e volta para a CPU, detecção de colisões e simulação de tecidos aceleradas pela GPU, geração procedural de terrenos, texturas ou malhas, efeitos complexos de pós-processamento como SSAO, bloom e profundidade de campo, ou quando deseja executar modelos treinados para o comportamento de NPCs ou efeitos de imagem.</p>
<p>Se você estiver criando um jogo de quebra-cabeça ou uma visual novel, o WebGPU não ajudará. Se estiver criando um jogo de ação repleto de partículas ou um mundo 3D complexo, talvez valha a pena abrir mão de parte da compatibilidade.</p>
<h2 id="webassembly-codigo-de-cpu-rapido" tabindex="-1">WebAssembly: código de CPU rápido <a class="header-anchor" href="#webassembly-codigo-de-cpu-rapido" aria-label="Permalink to &quot;WebAssembly: código de CPU rápido&quot;"></a></h2>
<p>O WebAssembly executa código compilado em velocidade próxima à nativa. Ele não é voltado para gráficos. Seu objetivo é tornar o código executado na CPU mais rápido.</p>
<h3 id="quando-ele-ajuda" tabindex="-1">Quando ele ajuda <a class="header-anchor" href="#quando-ele-ajuda" aria-label="Permalink to &quot;Quando ele ajuda&quot;"></a></h3>
<p>O Wasm funciona bem para motores de física (Box2D, Bullet e Rapier têm versões em Wasm), busca de caminhos em grades grandes, descompactação de assets, emulação de consoles antigos e portabilidade de bases de código existentes em C++ ou Rust para a web.</p>
<h3 id="quando-ele-nao-ajuda" tabindex="-1">Quando ele não ajuda <a class="header-anchor" href="#quando-ele-nao-ajuda" aria-label="Permalink to &quot;Quando ele não ajuda&quot;"></a></h3>
<p>A GPU não se importa se as draw calls vêm de JavaScript ou Wasm, então a renderização não ficará mais rápida. Código limitado por E/S, como carregamento de assets ou requisições de rede, também não terá benefícios. E, se o seu JavaScript já é executado em menos de um milissegundo, o Wasm não fará diferença.</p>
<h3 id="um-exemplo-pratico-de-wasm" tabindex="-1">Um exemplo prático de Wasm <a class="header-anchor" href="#um-exemplo-pratico-de-wasm" aria-label="Permalink to &quot;Um exemplo prático de Wasm&quot;"></a></h3>
<p>Veja uma função mínima em Rust compilada para Wasm, usada em física:</p>
<div class="language-rust vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">rust</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// src/lib.rs</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">#[no_mangle]</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">pub</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> extern</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> "C"</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> fn</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> step_physics</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(dt</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">:</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> f32</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">) {</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">    // Your physics code here</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre>
</div><p>Compile com:</p>
<div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">wasm-pack</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> build</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --target</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> web</span></span></code></pre>
</div><p>Use em JavaScript:</p>
<div class="language-javascript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">javascript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> init, { step_physics } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> './physics_bg.wasm'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">await</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> init</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">();</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">function</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> gameLoop</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">dt</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">) {</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  step_physics</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(dt); </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// Runs at near-native speed</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  render</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">();</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  requestAnimationFrame</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(gameLoop);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre>
</div><h3 id="o-uso-de-threads-fica-complicado" tabindex="-1">O uso de threads fica complicado <a class="header-anchor" href="#o-uso-de-threads-fica-complicado" aria-label="Permalink to &quot;O uso de threads fica complicado&quot;"></a></h3>
<p>O Wasm pode usar threads para processamento paralelo, mas isso exige <code>SharedArrayBuffer</code>, o que significa que você precisa configurar cabeçalhos de isolamento entre origens no servidor:</p>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>Cross-Origin-Opener-Policy: same-origin</span></span>
<span class="line"><span>Cross-Origin-Embedder-Policy: require-corp</span></span></code></pre>
</div><p>Esses cabeçalhos podem causar problemas. Iframes de terceiros sem cabeçalhos CORP deixam de funcionar, alguns scripts de analytics quebram e pop-ups de OAuth podem falhar. Você pode usar <code>credentialless</code> em vez de <code>require-corp</code> para reduzir o impacto, mas ainda é uma solução complicada.</p>
<p>Se você não puder configurar esses cabeçalhos porque usa hospedagem compartilhada ou itch.io, não poderá usar threads do Wasm. O Wasm com uma única thread continua funcionando normalmente.</p>
<h2 id="decisoes-reais-para-jogos-reais" tabindex="-1">Decisões reais para jogos reais <a class="header-anchor" href="#decisoes-reais-para-jogos-reais" aria-label="Permalink to &quot;Decisões reais para jogos reais&quot;"></a></h2>
<p>Se você estiver criando um jogo de plataforma 2D, use WebGL 2 por meio de algo como Phaser ou PixiJS. Ignore o WebGPU porque seria exagero e ignore o Wasm porque o JavaScript é rápido o bastante para física 2D. A ampla compatibilidade importa mais do que os recursos mais recentes, e seu gargalo é o conteúdo, não a tecnologia.</p>
<p>Se você estiver criando um mundo aberto 3D, comece com WebGL 2, mas planeje uma futura migração para WebGPU. Considere usar Wasm para física com Rapier ou Bullet. Você quer alcançar o maior público possível agora, mas compute shaders ajudariam mais tarde com vegetação, partículas e LOD. Executar a física em Wasm mantém baixo o consumo do orçamento de CPU.</p>
<p>Se você estiver portando um motor em C++, use Wasm por meio do Emscripten. Os gráficos usarão WebGL 2 por padrão ou WebGPU, caso seu motor ofereça suporte. Você já tem o código, e o Emscripten cuida da conversão.</p>
<p>Se você estiver criando um jogo de quebra-cabeça, use Canvas 2D ou WebGL 2 por meio do Phaser. Ignore todo o resto. Jogos simples devem continuar simples.</p>
<p>Se você realmente precisa do máximo desempenho e aceita perder alguns usuários em navegadores mais antigos, escolha WebGPU com Wasm. Apenas meça o impacto real sobre seu público antes de assumir esse compromisso.</p>
<h2 id="o-que-realmente-deixa-os-jogos-rapidos" tabindex="-1">O que realmente deixa os jogos rápidos <a class="header-anchor" href="#o-que-realmente-deixa-os-jogos-rapidos" aria-label="Permalink to &quot;O que realmente deixa os jogos rápidos&quot;"></a></h2>
<p>Veja o que determina se o seu jogo web funciona bem, em ordem de importância.</p>
<p>O tamanho dos assets responde por cerca de metade do desempenho percebido. Um jogo de 2 MB que carrega em um segundo parece mais rápido do que um jogo de 50 MB com uma taxa de FPS melhor. Comprima tudo. Use carregamento sob demanda sempre que possível.</p>
<p>As draw calls importam muito em jogos 3D e talvez representem 30% do seu orçamento de desempenho. Agrupe sua geometria. Use atlas de texturas. Instancie objetos repetidos. Isso importa muito mais do que escolher entre WebGL e WebGPU.</p>
<p>O desempenho do JavaScript talvez represente 15%. Evite alocações em loops críticos. Use arrays tipados. Faça profiling antes de otimizar.</p>
<p>E a escolha da API gráfica? Sinceramente, talvez 5%. Para a maioria dos jogos, a API importa menos do que a forma como você a utiliza.</p>
<p>Se o seu jogo estiver lento, verifique se você está carregando dados demais logo no início. Depois, confira se está emitindo draw calls em excesso. Em seguida, veja se o JavaScript está fazendo algo ineficiente no loop do jogo. Somente depois de tudo isso você deve perguntar se outra API gráfica ajudaria.</p>
<h2 id="o-que-eu-realmente-usaria" tabindex="-1">O que eu realmente usaria <a class="header-anchor" href="#o-que-eu-realmente-usaria" aria-label="Permalink to &quot;O que eu realmente usaria&quot;"></a></h2>
<p>Para um novo jogo web iniciado hoje, eu usaria Three.js ou Babylon.js na renderização, pois ambos abstraem WebGL e WebGPU. Para física, usaria Rapier (Rust compilado para Wasm) se precisasse de física 3D, ou simplesmente o sistema de física 2D integrado ao motor em jogos mais simples. Para áudio, Howler.js ou diretamente a Web Audio API. Para o build, Vite, porque é rápido durante o desenvolvimento e gera bons builds de produção. E usaria hospedagem estática no Netlify, Vercel, GitHub Pages ou itch.io.</p>
<p>Esse stack permite lançar jogos que funcionam em mais de 98% dos dispositivos e, ao mesmo tempo, estão preparados para o momento em que o WebGPU se tornar o padrão.</p>
<h2 id="teste-antes-de-decidir" tabindex="-1">Teste antes de decidir <a class="header-anchor" href="#teste-antes-de-decidir" aria-label="Permalink to &quot;Teste antes de decidir&quot;"></a></h2>
<p>Antes de fechar seu stack tecnológico, crie um pequeno protótipo e realmente faça testes. Verifique o tempo de carregamento em 3G usando a limitação de rede do Chrome DevTools. Seu jogo deve estar jogável em menos de cinco segundos em uma conexão lenta. Teste o desempenho em um celular Android de entrada: peça um emprestado ou use o BrowserStack. Se funcionar nele, funcionará em qualquer lugar. Teste especificamente no Safari, porque ele é diferente o bastante para causar surpresas. E, se o seu jogo for publicado no Newgrounds ou Kongregate, teste-o dentro de um iframe.</p>
<p>Esses testes encontram mais problemas reais do que qualquer discussão sobre WebGL versus WebGPU.</p>
<h2 id="mais-leituras" tabindex="-1">Mais leituras <a class="header-anchor" href="#mais-leituras" aria-label="Permalink to &quot;Mais leituras&quot;"></a></h2>
<p><a href="/pt-BR/guides/web-game-engines-comparison.html">Comparação de motores para jogos web</a> aborda motores completos, caso você não queira criar tudo do zero. <a href="/pt-BR/guides/threejs-usdc-tech-report.html">Three.js + USDC no navegador</a> mostra como carregar assets USD no Three.js. <a href="/pt-BR/guides/itch-io-launch-guide.html">Como lançar no itch.io</a> aborda a publicação depois que você tiver criado algo.</p>
<p>Para tutoriais práticos que se aprofundam em cada API:</p>
<ul>
<li><a href="/pt-BR/tutorials/webgl-fundamentals-for-games.html">Fundamentos de WebGL para desenvolvedores de jogos</a> — shaders, buffers, texturas e o loop de renderização</li>
<li><a href="/pt-BR/tutorials/webgpu-getting-started.html">Primeiros passos com WebGPU</a> — configuração do dispositivo, pipelines e shaders WGSL</li>
<li><a href="/pt-BR/tutorials/web-workers-game-logic.html">Web Workers para a lógica do jogo</a> — transferência de trabalho para threads em segundo plano</li>
<li><a href="/pt-BR/tutorials/coop-coep-sharedarraybuffer.html">COOP/COEP e SharedArrayBuffer</a> — cabeçalhos necessários para usar threads com Wasm</li>
<li><a href="/pt-BR/tutorials/game-physics-libraries.html">Bibliotecas de física para jogos</a> — Rapier, Cannon-es, Ammo.js, Matter.js e outras</li>
</ul>
<p>O stack tecnológico certo é aquele que permite lançar seu jogo. Escolha o que você conhece, teste desde cedo e otimize depois.</p>
<BuildCta
  title="Pule o stack, fique com o resultado"
  desc="WebGL, física e pipeline de assets já resolvidos. Você só precisa descrever o jogo."
  prompt="Crie um playground de física 3D com pilhas de caixotes para derrubar" />
]]></content:encoded>
            <enclosure url="https://cdn.cinevva.com/guides/web-games-stack-2026.jpg?v=2" length="0" type="image/jpg"/>
        </item>
    </channel>
</rss>