Melhores engines de jogos voxel de 2026 — e um que você não precisa instalar
Faça seus próprios engines de jogos voxel
Comparando engines de jogos voxel — Hytopia, Noa, Luanti, Godot, Unity — além de um mundo voxel no navegador no qual você pode entrar sem instalar nada.
Os engines de jogos voxel se dividem em três grupos: engines de voxel dedicados, engines de propósito geral com uma camada de voxel adicionada e mundos no navegador renderizados em uma aba sem nada instalado. O engine dedicado oferece armazenamento de chunks, geração de malhas e propagação de luz desde o primeiro dia e, em seguida, restringe tudo ao redor deles. O engine de propósito geral oferece uma cadeia de ferramentas completa e depois entrega o pipeline de chunks como tarefa de casa. O mundo no navegador pula a instalação e a etapa de build por completo.
Esta página compara Hytopia, Noa, Luanti, Godot com um plugin de voxel e Unity com um plugin de voxel: o que cada um realmente é, o que você escreve nele e onde ele vai custar tempo. Ela termina com a opção no navegador, um mundo que você abre e percorre no mesmo minuto em que o descreveu.
Resposta rápida: qual engine de voxel você deve usar?
Engine de voxel dedicado, como Noa ou Luanti: use quando os dados do mundo em si são o produto e você não quer escrever um mesher, um streamer de chunks e uma passagem de luz por flood fill antes de ver qualquer coisa na tela.
Engine de propósito geral com plugin de voxel, como Godot ou Unity: use quando você precisa de animação, UI, física, áudio, mapeamento de entrada e exportação de plataforma, e aceita ser responsável pelo pipeline de chunks dentro do loop de quadros de outra pessoa.
Mundo no navegador que você nunca instala, como o builder do Neta Studio: use quando o primeiro obstáculo é fazer outra pessoa olhar o mundo, e um link sai mais barato que um download, uma cadeia de ferramentas e uma etapa de build.
O critério de desempate é o que está no seu caminho crítico. Se a parte difícil é o conteúdo, escolha o pipeline com a menor distância entre uma ideia e caminhar dentro dela. Se a parte difícil é a simulação, milhares de blocos interagindo, física personalizada, estado em rede determinístico, escolha o kit de ferramentas que você consegue analisar, corrigir e recompilar.
Os engines, comparados
Cinco opções abaixo, descritas por formato, e não por ranking. Todas renderizam voxels. Elas diferem no que entregam a você e no que esperam em troca.
Leia primeiro a coluna de linguagem. Ela decide quanto do runtime você pode mudar sem uma etapa de build nativa, e isso determina como você vai depurar às duas da manhã.
Hytopia
Hytopia é uma plataforma hospedada de jogos voxel com um SDK de JavaScript e TypeScript. Os mundos são baseados em voxel, o cliente roda no navegador e o multiplayer faz parte da plataforma em vez de ser algo que você adiciona: você escreve a lógica do jogo com as APIs de entidade e de jogador do SDK, e a plataforma cuida do servidor. A troca é que seu jogo vive no runtime deles. Você o configura e o programa; você não distribui um binário independente do engine.
Noa
Noa é um engine de voxel em JavaScript construído sobre Three.js, voltado ao navegador. Ele cuida de terreno em chunks, geração de malhas, um sistema de entidades e colisão e gravidade simples, e espera que você traga o resto: configuração de renderização, entrada, regras do jogo, rede. Sua API é pequena o suficiente para ser lida do início ao fim, e essa é sua verdadeira vantagem. Quando algo se comporta de forma estranha, a falha está em código que você pode abrir, não em uma caixa-preta.
Luanti (antigo Minetest)
Luanti, antigo Minetest, é uma plataforma de voxel de código aberto, e não um único jogo. O engine é em C++, mas a jogabilidade chega como jogos e mods escritos em Lua, então você pode mudar o comportamento dos blocos, o sistema de criação e as entidades sem recompilar. Seu mundo é uma grade de nós em mapblocks de 16x16x16, e o servidor transmite blocos aos clientes pela rede. Você pode rodar um servidor localmente, e o mesmo código de servidor roda em um host alugado. Configurações como active_block_range e max_block_send_distance decidem até onde um jogador enxerga e quanta RAM o cliente gasta.
Godot com um plugin de voxel
Godot não tem terreno de voxel no engine principal. Você o adiciona: seja um addon da comunidade que gera malhas de chunk, seja seu próprio mesher produzindo superfícies ArrayMesh mais formatos de colisão. Godot oferece as partes que cercam os voxels, ou seja, árvore de cena, AnimationPlayer, UI, corpos físicos, entrada e templates de exportação, além de GDScript, C# ou C++ via GDExtension para o código de geração de malhas. A geração de malha de chunk pertence a uma thread de trabalho ou a uma tarefa do WorkerThreadPool. Fazê-la na thread principal é a causa comum de engasgos quando um jogador atravessa uma borda de chunk.
Unity com um plugin de voxel
Unity é a mesma história com uma cadeia de ferramentas mais pesada. O terreno de voxel vem de um plugin ou do seu próprio sistema de chunks; o caminho produtivo são jobs compilados com Burst no C# Job System, gerando dados de malha em threads de trabalho e enviando-os com Mesh.SetVertices e chamadas semelhantes. A colisão é o problema recorrente: um MeshCollider por chunk é caro de processar, então muitos projetos escrevem raycasts de voxel e colisão AABB contra a grade de blocos. Você mantém a animação, a UI, os mixers de áudio e o pipeline de build da Unity em alvos de desktop e web.
| Engine | Formato | Linguagem em que você escreve | Como você executa |
|---|---|---|---|
| Hytopia | Plataforma de voxel hospedada com um SDK | TypeScript ou JavaScript | Cliente de navegador no runtime hospedado deles |
| Noa | Engine de voxel para navegador sobre Three.js | JavaScript | Sua própria página e seu próprio servidor |
| Luanti | Plataforma de voxel de código aberto com jogos em Lua | Lua para jogos e mods | Cliente instalado mais um servidor que você hospeda |
| Godot com um addon de voxel | Engine de propósito geral com terreno de voxel adicionado | GDScript, C# ou C++ via GDExtension | Exportação para desktop, ou exportação para web para um build de navegador |
| Unity com um plugin de voxel | Engine de propósito geral com terreno de voxel adicionado | C#, com jobs Burst para geração de malhas | Build para desktop, console ou WebGL |
| Builder de jogos 3D do Neta Studio | Builder de mundos no navegador | Descrições em linguagem simples | Uma aba do navegador, sem instalação |
Jogue um mundo voxel sem instalar nada
A maneira mais rápida de decidir se você quer construir mundos voxel é ficar dentro de um. O builder de jogos 3D do Neta Studio roda em uma aba do navegador. Você digita uma descrição de um mundo, terreno, clima, estruturas, e o builder gera uma cena Three.js jogável que você percorre com WASD e o mouse. Sem SDK, sem instalação de editor, sem etapa de build, sem pipeline de assets para montar antes.
O mundo que você recebe é geometria real, não um vídeo. Você colide com ele, move a câmera por dentro dele e o altera descrevendo a mudança: subindo a água, adicionando uma ponte, alargando o vale e depois regenerando. O Agent Sprite Forge cobre a camada 2D: sprites para agentes, objetos e itens coletáveis, para que uma cena não trave esperando um artista de personagens. Mini World é a demonstração menor e o primeiro alvo certo em um notebook. The Cyclops' Island é um mundo maior e autoral e mostra como uma cena fica quando o terreno e a iluminação não são planos.
O que isto não faz: não oferece a API de script em nível de bloco de um engine dedicado e não produz um executável independente para uma loja. É a ponta de revisão e iteração do pipeline, e a maneira mais rápida de mostrar a outra pessoa o que você quer dizer com um mundo voxel.
01
Abra o builder em um navegador de desktop atual. Chrome, Edge, Firefox e Safari funcionam; o requisito é uma GPU com suporte a WebGL2, e gráficos integrados bastam para os mundos de demonstração.
02
Escreva uma frase descrevendo o mundo. Substantivos específicos vencem adjetivos: uma ilha de pinheiros enevoada com uma torre de pedra e uma lagoa rasa dá ao gerador mais o que posicionar do que uma ilha legal.
03
Gere e depois percorra. O movimento é WASD mais visão com o mouse. Verifique a colisão com encostas e a borda da água primeiro, porque é aí que o terreno gerado costuma estar errado.
04
Edite descrevendo a mudança em vez de mover blocos individuais. Regenerar é mais barato que posicionar geometria à mão enquanto o mundo ainda está em mutação.
05
Adicione sprites com o Agent Sprite Forge para tudo que precisa de uma cara: agentes, objetos e itens coletáveis.
06
Compartilhe o link. A outra pessoa abre uma aba e cai no mesmo mundo sem nada para instalar.
O que realmente importa
Quatro propriedades decidem se um engine de voxel é agradável ou doloroso lá pelo terceiro mês. Nenhuma delas aparece em uma lista de recursos, e todas são mensuráveis antes de você se comprometer.
Tamanho do mundo
Armazenamento é barato, streaming não. Um mundo geralmente é cortado em chunks de 16x16x16 ou 32x32x32 blocos, e o engine mantém um raio deles residente. A memória escala aproximadamente com o raio ao cubo, então dobrar a distância de visão é cerca de oito vezes os dados de blocos antes de contar as malhas. As coordenadas também importam: posições float32 perdem precisão longe da origem, o que aparece como tremor de câmera e z-fighting bem além de 100.000 unidades de distância. Os engines lidam com isso com rebase de origem ou renderização relativa à câmera. Descubra qual dos dois o seu usa antes de planejar um continente.
Iluminação
A iluminação de voxel costuma ser flood fill. Cada bloco armazena um nível de luz, a luz do sol se propaga para baixo até atingir um bloco opaco, as tochas se propagam para fora com um decaimento. É barato por bloco e caro de manter correto. Quando um jogador coloca ou remove um bloco, a luz nesse chunk e nos vizinhos precisa ser recalculada, e se você pular o chunk vizinho, a luz vaza pela borda como uma costura brilhante. Se o engine grava a luz nas cores dos vértices, cada edição regrava uma malha. Se ele ilumina em um shader, você paga em limites de uniforme e chamadas de desenho extras.
Multiplayer
O multiplayer de voxel é, em sua maior parte, um problema de largura de banda. O servidor é autoritativo: ele mantém a grade de blocos, e os clientes enviam intenções em vez de posições. Apenas edições trafegam como deltas, e apenas chunks dentro de um raio de interesse são enviados, então o tráfego escala com o número de jogadores vezes o raio de visão, e não com o tamanho do mundo. Dois clientes cavando o mesmo bloco no mesmo tick é um caso real para o qual você precisa definir uma resposta. Se o engine que você escolher não tiver rede, você estará escrevendo o sistema de interesse, o formato de delta e a predição do lado do cliente por conta própria. Isso é um projeto, não um recurso.
Roda no navegador
Um alvo no navegador elimina a etapa de instalação, que é a maior queda de público quando você pede a alguém para experimentar seu mundo. O custo é um orçamento menor: chamadas de desenho do WebGL2, uma única thread principal de JavaScript a menos que você configure isolamento de origem cruzada para SharedArrayBuffer, e o tamanho de download de cada asset. O WebGPU está presente nos navegadores de desktop atuais, mas não de forma uniforme, então um fallback para WebGL2 ainda é prática normal. Se o mundo roda em uma aba, você pode enviá-lo em uma mensagem. Se ele precisa de um launcher, não pode.
Sandbox de voxel vs. engine de voxel
Um sandbox de voxel é um jogo pronto que por acaso é feito de blocos. Você o baixa, joga, e a paleta de blocos é o que o desenvolvedor distribuiu. Um engine de voxel é um kit de ferramentas: armazenamento de chunks, geração de malhas, um renderizador e uma API contra a qual você escreve. A distinção importa porque os resultados de busca usam as mesmas palavras para os dois.
Sinais na página. Se há um launcher e uma galeria de capturas de tela, é um sandbox. Se há uma referência de API, nomes de classes e um pacote para instalar, é um engine. Se os tipos de bloco são arquivos de dados que você edita em vez de objetos de runtime que você registra, isso diz em qual camada o produto vive. Se há um caminho de exportação ou build independente, você está comprando um kit de ferramentas. Se a única forma de publicar é dentro da plataforma deles, você está alugando um.
Híbridos são comuns e vale a pena nomeá-los. Luanti é uma plataforma: o engine é um kit de ferramentas, os jogos distribuídos são sandboxes construídos sobre ele, e você escolhe em qual camada trabalhar. Hytopia é ao mesmo tempo um SDK e um runtime hospedado, então você escreve código de nível de engine que executa nos servidores de outra pessoa. Builders de navegador ficam na ponta oposta, a de conteúdo, produzindo mundos em vez de sistemas. Decida qual camada você quer possuir antes de comparar listas de recursos, porque um sandbox com um bom editor não substitui um engine com uma API.
Entre no mundo ao qual ele pertence
Um sprite é um personagem sem lugar para ficar. O último passo é o que ninguém mais oferece: pegue a folha que você acabou de criar e coloque-a em um mundo pelo qual alguém possa caminhar — uma ilha pequena, um planeta, uma esquina chuvosa. Todo mundo neste site foi feito a partir de uma descrição escrita e publicado como uma página que você pode jogar.
FAQ
Posso fazer um jogo de voxel no navegador? +
Sim. Um mundo voxel em chunks com geração de malhas, colisão e iluminação flood fill roda em WebGL2 em uma aba, e o Three.js cuida do lado da renderização. Noa e Hytopia miram o navegador, e o builder do Neta Studio gera mundos construídos de blocos pelos quais você pode caminhar sem nada instalado. As restrições são chamadas de desenho, uma única thread principal de JavaScript e o tamanho de download dos assets.
O Godot é bom para voxels? +
O Godot é forte em tudo ao redor dos voxels e neutro em relação aos voxels em si. Não há terreno de voxel integrado, então você adiciona um sistema de chunks, um mesher e colisão, seja de um addon da comunidade, seja do seu próprio código, e gera malhas em uma thread de trabalho para que o streaming não trave o quadro. Se você já conhece o Godot, é uma troca razoável. Se não conhece, você está aprendendo um engine e escrevendo uma camada de voxel ao mesmo tempo.
O Luanti é gratuito? +
Sim. Luanti, o projeto antes chamado Minetest, é gratuito e de código aberto, sem plano pago e sem necessidade de conta para jogar ou hospedar. Você pode rodar um servidor na sua própria máquina ou em um host alugado, e os jogos e mods sobre ele são escritos em Lua, então a jogabilidade pode mudar sem recompilar o engine.
Preciso de C++ para construir um engine de voxel? +
Normalmente não. Hytopia é JavaScript e TypeScript, Noa é JavaScript, a jogabilidade do Luanti é em Lua, o Godot oferece GDScript e C#, e a Unity é C#. Você recorre ao C++ quando está mudando o núcleo de um engine ou escrevendo uma extensão nativa, como um módulo GDExtension do Godot ou um plugin nativo da Unity. O algoritmo de geração de malhas é o mesmo nos dois casos.
O que é um voxel? +
Um voxel é um valor em uma grade tridimensional regular, endereçado por coordenadas inteiras, e não é um cubo que você renderiza. O bloco que você vê é uma malha gerada a partir de sequências de voxels: o mesher percorre a grade e emite apenas as faces que tocam o espaço vazio, e a geração de malhas gulosa une faces coplanares do mesmo tipo de bloco em quadriláteros maiores. O armazenamento é a grade; os cubos visíveis são uma decisão de renderização.
Como funciona o multiplayer em um jogo de voxel? +
O servidor mantém a grade de blocos autoritativa e os clientes enviam intenções em vez de posições. Apenas edições trafegam como deltas, e o servidor transmite chunks dentro de um raio de interesse ao redor de cada jogador, então a largura de banda escala com jogadores vezes raio de visão em vez de com o tamanho do mundo. A predição do lado do cliente esconde a latência de ida e volta para o movimento, e o servidor resolve o caso em que dois jogadores editam o mesmo bloco no mesmo tick.
O que realmente causa problemas de desempenho em voxel? +
Três coisas, em ordem: geração de malhas na thread principal, chamadas de desenho em excesso e processamento de colisores. Gere malhas de chunk em um worker e envie os buffers prontos, mantenha uma malha por chunk em vez de um objeto por bloco, e faça culling de chunks em relação ao frustum da câmera. Do lado da física, um colisor de malha por chunk custa muito mais que raycasts e testes AABB contra a grade de blocos.
Posso exportar um mundo criado no navegador? +
O builder do Neta Studio roda o mundo na aba, então o compartilhamento é um link e a outra pessoa não precisa instalar nada. Não é um pipeline de exportação de binário independente, então, se você precisa de um build baixável ou de um pacote para console, você quer o Godot ou a Unity com sua própria camada de voxel. Muitas equipes fazem o protótipo do layout no navegador e o reconstroem em um engine quando o mundo para de mudar.
Voltar para o 3D Game Builder
Todos os 31 mundos, jogos e cenas 3D finalizados ficam em uma página — e todos eles são jogáveis.