Publique um jogo em HTML simples pelo seu app de IA
Publique um único arquivo HTML autocontido de até 10 MiB com upload_game: o que cabe, minicatálogo, visibilidade, atualizações e quando mudar para um pacote.
O caminho simples publica um jogo em HTML padrão, como um arcade em canvas ou um quebra-cabeça em DOM, com uma única chamada a upload_game. Ele não precisa do SDK do PlayDrop, de uma pasta de build nem de arquivos extras, e retorna um link que qualquer pessoa pode abrir no celular ou no computador.
Quando o caminho simples serve
- O jogo inteiro é um único arquivo HTML de no máximo 10 MiB (10.485.760 bytes em UTF-8), com seus scripts, estilos, imagens e sons incorporados.
- É um jogo de navegador comum: ele não chama o SDK do PlayDrop, então não tem salvamentos na nuvem, placares, conquistas, compartilhamento, grupos, compras nem anúncios.
- Ele não precisa de arquivos separados: nada de imagens ou vídeos da listagem e nada de servidor de jogo.
Se alguma dessas condições não valer, use um pacote. Mantenha os recursos que a pessoa com quem você trabalha pediu; nunca os remova nem junte um jogo de vários arquivos em um só para caber neste caminho. O envio recusa chamadas ao SDK, código de servidor e campos de catálogo exclusivos de pacote com advanced_upload_required.
Envie o jogo
Chame upload_game com um novo requestId, o HTML completo e um minicatálogo para um jogo:
{
"requestId": "moon-jump-first-upload",
"html": "<!doctype html><html><head><meta charset=\"utf-8\"><title>Moon Jump</title></head><body>…</body></html>",
"catalogue": {
"apps": [{
"name": "moon-jump",
"displayName": "Moon Jump",
"description": "Jump between lunar platforms and reach the flag.",
"controls": "Tap or press Space to jump.",
"tags": ["game-genre/casual"],
"types": ["solo"],
"controller": { "support": "off" },
"authMode": "NONE",
"primarySurface": "MOBILE_PORTRAIT"
}]
}
}nameé o slug permanente do jogo: 1–100 letras minúsculas, dígitos ou hifens.tagsprecisa incluir um gênero, comogame-genre/casual; veja gêneros e tags.typesdeclara como se joga; um jogo de um só arquivo normalmente é["solo"]. Tamanhos de grupo e jogo online ficam para os pacotes.controller.supportinforma o suporte real a controles, incluindooff.authModedefine o login:NONEouOPTIONALdeixa qualquer pessoa jogar; se omitido, o padrão éREQUIRED. Inclua-o em toda atualização.primarySurfaceindica a orientação para a qual o jogo foi pensado; envios simples são listados para computador, horizontal e vertical.
Os outros campos aceitos são subtitle, emoji, color, license, creation, releaseNotes, inspirationPrompt, makingOf, sourceRepository, sourceLocale, offlineSupported e instant. O PlayDrop define o número da versão.
Escolha quem pode jogar
- Omita
visibilitypara seguir a configuração da conta do criador em um jogo novo (Público, a menos que ele tenha escolhido Não listado ou Privado); uma atualização mantém o público atual do jogo. "private"salva uma versão que só o criador pode abrir, para testes. Publique essa versão exata depois compublish_game_version; não a envie de novo."unlisted"publica para qualquer pessoa com o link, sem listar o jogo;"public"publica para que ele seja descoberto.
Siga o que a pessoa com quem você trabalha pediu e nunca deixe um jogo mais visível do que ela pretendia. Veja quem pode jogar.
Leia o recibo
O recibo inclui gameId, slug, version, status, visibility e url, o link da versão exata para o dono. Jogos públicos e não listados também recebem shareUrl, a página permanente do jogo; é esse link que você entrega à pessoa com quem você trabalha. Para uma versão privada, entregue a url. instant e instantReason informam a elegibilidade para o Instantâneo.
Atualize o jogo
Chame list_games, passe o gameId do jogo e mantenha o name dele. Envie de novo o HTML completo e o minicatálogo completo: cada envio substitui o jogo por inteiro, e os campos omitidos não existem na nova versão. O link continua o mesmo. Um jogo enviado pela primeira vez como pacote precisa continuar usando o caminho de pacote, para que seus arquivos e recursos não se percam.
Mude para um pacote depois
Adicionar salvamentos na nuvem, um placar, arte da listagem ou um servidor transforma o jogo em um pacote. É uma atualização comum do mesmo jogo: mantenha o name, envie com prepare_catalogue_upload e defina expectedCurrentVersion como a versão atual retornada por list_games. Leia empacotamento.