
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. Uma regra é específica da Summer Engine: C# não tem suporte na web, então builds de navegador usam GDScript ou C++. Todos os outros destinos suportam C#.
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. Builds de web são o melhor formato de demo que existe, e um argumento forte para lançar uma versão de navegador ao lado de um lançamento de desktop em vez de no lugar dele.
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
A itch.io hospeda builds de HTML5 e cuida da incorporação. 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, embora exija cabeçalhos HTTP específicos para isolamento de origem quando threads são usadas. Uma demo de navegador também alimenta uma página na Steam: muitas pessoas lançam o mesmo projeto como demo web gratuita e como lançamento pago de desktop.
Perguntas frequentes
Posso usar C# em um build de navegador?
Não. C# não tem suporte na web. Builds de navegador usam GDScript ou C++. C# está disponível em desktop, mobile e outros destinos nativos.
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. Um projeto exporta para desktop, mobile, web e console. Um padrão comum é uma demo gratuita de navegador mais uma versão paga de desktop.
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.
AbrirPort a 3DS game to web
Rebuild a 3DS game you own in Summer Engine, then export an HTML5 build that runs in a browser on desktop and phones.
AbrirHow to port a 3DS game
The full process, in order: rights, asset inventory, rebuild, screen and input redesign, testing, export, and store submission.
AbrirPort 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.
AbrirPort 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.
AbrirPort 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.
AbrirPort 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.
AbrirPort 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.
AbrirPort 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.
AbrirModelos de plataforma
Comece com um projeto pronto e descreva suas mudanças.
ExplorarVer 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.