Jogo pronto
parent.postMessage({
type: "PLAYFORGE_READY",
version: "1.0"
}, "*");Avise à página quando o carregamento terminou.
A especificação abaixo força responsividade, ranking, nome do jogador, pontuação segura e compatibilidade com a plataforma.
Depois do prompt, descreva o tema e a mecânica do jogo que deseja.
Crie ou adapte meu jogo online para funcionar dentro da plataforma Jogos de IA.
REQUISITOS OBRIGATÓRIOS
1. Entregue um jogo web em HTML5, CSS e JavaScript. O arquivo inicial deve se chamar index.html.
2. Não use PHP, executáveis, acesso ao sistema operacional, pop-ups obrigatórios nem bibliotecas que dependam de chave secreta no navegador.
3. O jogo deve funcionar dentro de um iframe sandbox, em celular e computador, com layout responsivo, toque, teclado e tela cheia.
4. Áudio só pode começar depois de uma interação do jogador.
5. Não tente acessar cookies, localStorage ou DOM da página principal. A comunicação deve ocorrer apenas com window.parent.postMessage.
6. Na inicialização, envie:
window.parent.postMessage({type:"PLAYFORGE_READY", version:"1.0"}, "*");
7. Para solicitar os dados do jogador, envie:
window.parent.postMessage({type:"PLAYFORGE_REQUEST_PLAYER"}, "*");
E escute a resposta PLAYFORGE_PLAYER. Se não houver jogador cadastrado, use o nome "Visitante".
8. Quando a pontuação aumentar de forma válida ou a partida terminar, envie:
window.parent.postMessage({
type:"PLAYFORGE_SCORE",
score: PONTUACAO_INTEIRA,
metadata:{mode:"normal", level:NIVEL_ATUAL}
}, "*");
9. Nunca aceite a pontuação de um campo de texto ou parâmetro da URL. Calcule-a internamente a partir das regras do jogo.
10. Inclua tela inicial, instruções, pausar, reiniciar, game over, placar atual e melhor pontuação local.
11. Otimize imagens e áudios. O pacote inteiro deve preferencialmente ficar abaixo de 80 MB.
12. Se houver arquivos separados, entregue tudo em um ZIP mantendo index.html na raiz ou no primeiro nível.
13. Não inclua conteúdo de terceiros sem licença, marcas registradas, jogos copiados ou coleta de dados pessoais.
14. Teste em viewport 360x800 e 1440x900, sem barras horizontais ou controles cortados.
OPCIONAL
- Para salvar estado, envie {type:"PLAYFORGE_SAVE_STATE", state:{...}}.
- Escute PLAYFORGE_LOAD_STATE para restaurar progresso.
- Respeite prefers-reduced-motion.
ENTREGA
- Liste os controles.
- Liste todos os arquivos.
- Explique onde a pontuação é calculada.
- Gere o código completo, pronto para ZIP e publicação.
parent.postMessage({
type: "PLAYFORGE_READY",
version: "1.0"
}, "*");Avise à página quando o carregamento terminou.
parent.postMessage({
type: "PLAYFORGE_REQUEST_PLAYER"
}, "*");A plataforma responde com nome e usuário quando houver login.
parent.postMessage({
type: "PLAYFORGE_SCORE",
score: 1250,
metadata: {level: 4}
}, "*");O envio autenticado acontece pela página principal.
| Evento | Origem | Uso | Campos |
|---|---|---|---|
PLAYFORGE_READY | Jogo | Final do carregamento | version |
PLAYFORGE_REQUEST_PLAYER | Jogo | Solicita identidade | — |
PLAYFORGE_PLAYER | Plataforma | Entrega identidade pública | id, username, name |
PLAYFORGE_SCORE | Jogo | Registra pontuação | score, metadata |
PLAYFORGE_PAUSE / RESUME | Plataforma | Pausa ou continua a partida | — |
PLAYFORGE_SOUND | Plataforma | Controla o áudio do jogo | muted, volume |
PLAYFORGE_SAVE_STATE | Jogo | Solicita persistência | state |
PLAYFORGE_LOAD_STATE | Plataforma | Restaura progresso | state |
PLAYFORGE_STATE_SAVED | Plataforma | Confirma persistência | — |
Nunca coloque chave de API, senha, token de servidor ou segredo dentro do HTML/JavaScript do jogo. Tudo no navegador pode ser lido pelo jogador.