portar um jogo para a web

Portar um jogo para a web

Um build de navegador não tem sistema de arquivos, tem um teto rígido de memória, e um download que a pessoa vê acontecer. Esses três fatos moldam todo o port.

Portar um jogo para a web significa construir uma versão de navegador de um jogo que é seu, rodando por WebAssembly e pelas APIs gráficas do navegador. Um fato é específico da Summer Engine. O Summer exporta um build web para um projeto GDScript, e você o publica no Summer Games, onde as pessoas jogam no navegador. Esta página explica o que um build de navegador exige.

A web é a única plataforma em que a pessoa assiste ao seu download acontecer. Cada megabyte é uma chance de ela sair. A memória é limitada mais baixo que no desktop, especialmente em navegadores de celular. Não há sistema de arquivos, então os saves vivem no armazenamento do navegador, que a pessoa pode apagar. O áudio não pode começar até que ela interaja com a página.

Em troca você recebe jogo instantâneo, um link que pode publicar em qualquer lugar e nenhuma aprovação de loja. Isso faz de um build web um formato forte de demo ao lado de um lançamento desktop, quando o seu motor oferece suporte a ele.

Tamanho e tempo de carregamento decidem o resultado

Defina um orçamento de download antes de começar, e depois projete para ele. Comprima texturas, reduza a escala de tudo que não é visto em resolução total, converta áudio para OGG em taxas de bits sensatas, e corte conteúdo não usado da exportação. Carregue rápido uma primeira cena jogável e faça streaming ou carregamento tardio do resto. Mostre progresso de verdade em vez de um símbolo girando. Um build de web que leva trinta segundos para começar perde a maior parte de quem clicou.

Restrições de navegador que exigem código

Contextos de áudio ficam suspensos até um gesto da pessoa, então acrescente uma tela de clique para começar. O armazenamento é local do navegador e apagável, então trate saves como melhor esforço e ofereça uma opção de exportar ou na nuvem se o progresso importa. Abas vão para segundo plano e são desaceleradas, então pause na mudança de visibilidade. Use tempo delta, já que a taxa de quadros varia mais que no nativo. Tela cheia e travamento de ponteiro exigem os dois um gesto da pessoa. Navegadores de celular têm memória mais apertada e nenhum teclado.

Input em uma página

Suporte teclado e mouse, gamepads pela API de gamepad do navegador, e toque para mobile. Impeça a página de rolar quando a pessoa usa as setas ou desliza no canvas. Trate a perda de foco quando ela clica fora do jogo. Faça o canvas responder a tamanhos diferentes de janela em vez de presumir uma resolução fixa, e teste tanto em uma janela pequena de notebook quanto em uma tela de desktop inteira.

Onde hospedar

Um build web do Summer é um .zip estático padrão com index.html na raiz, e o Summer Games é o lugar para publicá-lo. A itch.io hospeda builds de HTML5 e cuida da incorporação, dentro dos limites de 500 MB no total, 200 MB por arquivo e 1.000 arquivos. O Newgrounds e portais de jogos web ainda aceitam títulos de navegador e podem pagar por tráfego ou divisão de receita. Hospedar por conta própria funciona com qualquer host estático. Um build single-threaded do Godot 4.3 ou posterior não precisa de headers especiais, enquanto um build com threads precisa de headers de isolamento de origem. Uma demo de navegador também alimenta uma página na Steam, e muitos desenvolvedores lançam uma demo web gratuita ao lado de um lançamento pago de desktop.

Perguntas frequentes

Posso usar C# em um build de navegador?

Não com C#. O Godot 4 não consegue exportar projetos em C# para a web, e isso vale no Summer. Um projeto em GDScript exporta um build web no Summer, e você o publica no Summer Games. C# está disponível no editor desktop do Summer para builds desktop.

Por que meu build de web demora tanto para carregar?

Quase sempre é tamanho de download e assets não comprimidos. Reduza texturas e áudio primeiro, remova conteúdo não usado, e depois divida o carregamento para que uma cena jogável apareça antes do resto chegar.

Builds de web funcionam em celulares?

Sim, com trabalho de design. Navegadores de celular têm menos memória, nenhum teclado, e input só por toque, então planeje um orçamento menor de assets e controles de toque em vez de entregar o layout de desktop.

As pessoas conseguem salvar progresso em um jogo de navegador?

Sim, pelo armazenamento do navegador, mas ele pode ser apagado pela pessoa ou pelo navegador. Para jogos longos, acrescente um código de exportação, um download de arquivo, ou um save vinculado a uma conta.

O mesmo projeto pode sair também na Steam?

Sim. O Summer exporta builds desktop para Windows e macOS para a Steam, e um projeto GDScript também exporta um build web, então uma demo gratuita de navegador no Summer Games pode ficar ao lado do lançamento na Steam.

Continue explorando

Mais formas de criar com a Summer Engine

Criador de jogos com IA

O centro para criar jogos 2D e 3D completos descrevendo-os.

Abrir

Port a 3DS game to web

A browser build of a 3DS game you own needs a small payload, touch and keyboard input, and the right host. Summer Engine exports web builds for GDScript projects.

Abrir

How to port a 3DS game

The full process, in order: rights, asset inventory, rebuild, screen and input redesign, testing, export, and store submission.

Abrir

Port a game to Steam

Steam takes a desktop executable, a depot, and a store page. This is the checklist for getting any game from another platform onto it.

Abrir

Port a game to iOS

Any iOS release needs a Mac, an Apple Developer account, a signed build, and a design that works with thumbs. This is the full path.

Abrir

Port a game to Android

Android has the lowest barrier to testing and the widest device spread. Signing keys and the target API level are what actually block releases.

Abrir

Port a game to Nintendo Switch

There is no self serve Switch export. Nintendo approves developers, provides the SDK and dev kits under NDA, and certifies every build.

Abrir

Port a game to console

Every console platform gates access. Approval, an NDA covered SDK, dev kits, and certification come before any build reaches a store.

Abrir

Port a game to Steam Deck

Steam Deck runs your existing Steam build. The port is a compatibility pass: controller first input, readable text, and a power budget.

Abrir

Modelos de plataforma

Comece com um projeto pronto e descreva suas mudanças.

Explorar

Ver todos os modelos de jogos

Comece com um projeto pronto e descreva suas mudanças.

Explorar

Comece a criar seu jogo agora

Baixe a Summer Engine, descreva o que você quer e veja tudo tomar forma. Grátis para começar, sem programar.