PT

Crie um jogo com o JumPHP

O JumPHP é um framework para escrever jogos retrô em 2D com PHP. O mesmo código roda no desktop (PHP + SDL2, em uma janela de verdade) e no navegador (PHP compilado para WebAssembly): é isso que faz todos os jogos deste site funcionarem. Há várias formas de começar, da mais rápida à mais completa.

Forma Conta O que você precisa Para quem
Sandbox não um navegador experimentar em 1 minuto: mudar um hello world e executá-lo
Com o seu Claude GitHub Claude Code + Docker descrever o seu jogo e deixar o Claude escrevê-lo, testá-lo e publicá-lo
Editor online GitHub um navegador ajustar um jogo publicado ou fazer um fork do jogo de outra pessoa
No seu computador não (GitHub para publicar) Docker desenvolver como um profissional: testes, capturas de tela, build para navegador. Em uma linha: curl -fsSL https://jumphp.net/install.sh | sh
Importar um repositório GitHub um repositório JumPHP publicar aqui um jogo que já existe
Remake de Amstrad CPC GitHub o disquete .dsk do jogo refazer um jogo de CPC com os gráficos e a música originais
Port de um jogo existente GitHub o código-fonte dele traduzir um jogo antigo (C, Pascal, BASIC…) para PHP

Em seguida, os tutoriais constroem um jogo passo a passo:

  1. Hello world: um menu, um texto, um som
  2. Um personagem que se move e se anima
  3. Um jogo de plataforma: fase, colisões, câmera
  4. Sons e música
  5. Menus, opções, pausa e idiomas
  6. Salvar pontuações e opções
  7. O multijogador online
  8. A página inicial do jogo e a sua publicação

Com o jogo pronto: coloque-o no Google Play (um aplicativo Android, gerado por bin/jumphp twa).

E para programas que queiram ler o diretório: a API pública.

Como funciona um jogo JumPHP

Um jogo é uma pasta games/<id>/ de um projeto JumPHP:

games/meu-jogo/
  config/game.yaml      o título, a resolução (320 × 180…), a primeira cena
  config/input.yaml     as ações (pular, atirar…) e suas teclas, gamepad, tela de toque
  src/Scene/*.php       as telas: o título, o jogo, a pausa…
  src/Entity/*.php      o que se move: o herói, os inimigos…
  assets/               imagens, sons, música, fases (opcionais: tudo pode ser desenhado em PHP)
  site/                 (opcional) a página inicial do jogo

A cada quadro (60 vezes por segundo), o motor chama update($dt) da cena exibida (muda-se o estado do jogo) e depois render($r) (desenha-se). As coordenadas são pixels “virtuais” (a resolução do jogo): o motor amplia a imagem para o tamanho da tela.

O contrato completo do framework, para humanos e para IAs, é o arquivo AGENTS.md do repositório JumPHP.