# Portar um jogo Flash para HTML5

> O plugin do Flash não roda mais em nenhum navegador moderno. O HTML5 é o runtime substituto, e chegar lá significa uma reconstrução ou um emulador.

- URL: https://www.summerengine.com/pt/port-flash-game-to-html5
- Keyword: portar jogo flash para html5
- Related: https://www.summerengine.com/pt/porting

Portar um jogo Flash para HTML5 significa reconstruir um jogo que é seu para um runtime de navegador que ainda existe, porque a Adobe descontinuou o Flash Player em 31 de dezembro de 2020 e os navegadores removeram por completo o suporte a plugins.

Há dois caminhos honestos. Emulação, com um projeto como o Ruffle, roda o SWF original no navegador via WebAssembly e é a resposta certa para preservação e arquivo. Uma reconstrução refaz o jogo em um motor moderno e dá suporte a toque, widescreen, saves, atualizações, e a possibilidade de lançar o mesmo jogo em lojas de desktop e mobile depois.

Tenha clareza sobre onde a Summer Engine se encaixa. Uma reconstrução no Summer escrita em GDScript exporta um build web que você publica no Summer Games, e também é lançada como build desktop para a Steam ou como download na itch.io. Se você precisa do original exato no navegador, emular o seu próprio SWF com o Ruffle é o caminho prático, e vale testar o seu jogo nele cedo, já que o suporte a ActionScript 3 ainda está incompleto para alguns títulos.

## Emulação ou reconstrução, como escolher

Escolha emulação quando o objetivo é preservar o original exato para as pessoas ou para um arquivo, e você aceita apenas mouse e teclado, tamanho de palco fixo e nenhuma atualização. Escolha uma reconstrução quando quiser toque, widescreen e layout responsivo, saves de verdade, analytics, monetização ou um lançamento na Steam ou em uma loja de aplicativos. Uma reconstrução no Summer pode ser lançada como build web no Summer Games e como build desktop. A reconstrução também deixa você corrigir as partes do original que só funcionavam porque todo mundo usava mouse de desktop.

## Recuperar assets de um SWF que é seu

Comece pelo FLA se você ainda o tem, exportando símbolos vetoriais como SVG ou PNG de alta resolução e o áudio como OGG. Sem o FLA, ferramentas de extração conseguem tirar bitmaps e sons embutidos do seu próprio SWF, e um descompilador consegue recuperar o ActionScript para usar como referência. Reconstrua qualquer animação vetorial como folhas de sprite ou animação esquelética. Faça isso só para jogos que você criou ou sobre os quais tem licença clara para refazer.

## Restrições do runtime web que mudam o design

Navegadores bloqueiam áudio até a primeira interação, então acrescente uma tela de clique para começar. Não há sistema de arquivos, então os saves vão para o armazenamento do navegador e podem ser apagados pela pessoa. O tamanho do download controla diretamente se alguém vai esperar, então comprima texturas e áudio e faça streaming do que der. Navegadores de celular têm limites apertados de memória e nenhum teclado. Trate a aba em segundo plano pausando, e trate taxas de quadros variáveis usando tempo delta em vez de contagem de quadros.

## Onde jogos em HTML5 vivem hoje

A era dos portais acabou com o plugin, mas a distribuição na web não. A itch.io hospeda builds de HTML5 diretamente, dentro dos limites de 500 MB no total, 200 MB por arquivo e 1.000 arquivos. O Newgrounds ainda roda jogos. Publicadoras e agregadoras de jogos web licenciam títulos em HTML5 e pagam por tráfego ou divisão de receita. Você também pode hospedar por conta própria no seu domínio, onde um build single-threaded não precisa de headers especiais e um build com threads precisa de headers de isolamento de origem. Uma reconstrução no Summer chega aos jogadores como build web no Summer Games ou como download desktop na itch.io ou na Steam.

## FAQ

### Um SWF pode ser convertido para HTML5 automaticamente?

Não de forma confiável. Conversores automáticos dão conta de animação simples, mas quebram na lógica em ActionScript. As duas opções confiáveis são emular o SWF com um player em WebAssembly como o Ruffle, ou reconstruir o jogo em um motor moderno.

### Por que o Flash não funciona mais?

A Adobe encerrou o suporte ao Flash Player em 31 de dezembro de 2020 e passou a bloquear conteúdo em janeiro de 2021. Os navegadores removeram a arquitetura de plugins de que ele dependia, então nenhum navegador moderno consegue rodar um SWF de forma nativa.

### Posso usar C# em um build para web?

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 para builds desktop.

### O jogo reconstruído vai funcionar em celulares?

Sim, se você projetar para isso. Acrescente controles de toque, um layout responsivo, e um orçamento menor de memória e de download. Jogos Flash presumiam um mouse, então o toque é uma mudança de design e não um remapeamento.

### Uma reconstrução pode sair fora do navegador?

Sim. Uma reconstrução no Summer é lançada como build desktop para a Steam e a itch.io, e builds mobile precisam do toolchain e da assinatura de cada plataforma. Uma reconstrução em GDScript também pode ser lançada como build web no Summer Games.

[Começar a reconstrução](https://www.summerengine.com/pt/download)

---

## Machine-readable resources

- Site index for agents: https://www.summerengine.com/llms.txt
- Full inlined content: https://www.summerengine.com/llms-full.txt
- Porting catalog: https://www.summerengine.com/llms-porting.txt
- Structured catalog: https://www.summerengine.com/agent-catalog.json
- Sitemap: https://www.summerengine.com/sitemap.xml
- Developer resources: https://www.summerengine.com/docs
- Summer API (assets from any agent or code; public per-call model prices): https://docs.summerengine.com/api