POLAR GAMES · VERSION 1.0.0

Puttide: Mini Golf

1. Visão geral

Three.js + Rapier WASM
English, Portuguese, Spanish, French, German, Italian

2. Instalação rápida

  1. Extraia o ZIP completo. A pasta game/ já está pronta para publicar.
  2. Envie o conteúdo de game/ para uma pasta do seu servidor HTTP(S). Preserve todos os caminhos relativos.
  3. Abra a URL do index.html. Não abra por file://. Não precisa PHP, banco de dados ou conta de serviço.

Para testar no computador, abra um terminal dentro de game/ e execute:

python -m http.server 8765

http://localhost:8765/

3. Requisitos e áudio

Use navegador moderno com JavaScript, módulos ES e WebGL2. Habilite aceleração de hardware para os jogos 3D. O primeiro toque libera o áudio; autoplay pode ser bloqueado pelo navegador. Use HTTPS para hospedar publicamente. Em iframe, permita fullscreen e autoplay quando necessário.

4. Controles

Arraste para trás para definir direção e força e solte para bater. Use dois dedos ou o botão direito para girar a câmera; pinça ou roda do mouse para aproximar. Pause pelo botão ou P.

5. Guia visual da interface

Menu principal: modos e navegação
Menu principal: modos e navegação
Jogo real: área de jogo e indicadores
Jogo real: área de jogo e indicadores
Configurações: idioma, som e opções
Configurações: idioma, som e opções

6. Mapa de arquivos

Os caminhos abaixo são relativos a source/. game/ contém os arquivos prontos; documentation/ contém estes manuais e imagens; licenses/ preserva os avisos de terceiros.

FilePurpose
src/course/courses.jsCourse ordering and unlock requirements
src/course/holes.jsRuins hole geometry, par and obstacles
src/course/pier.jsPier holes
src/course/ice.jsIce holes
src/course/lava.jsLava holes
src/course/sky.jsSky holes
src/sim/constants.jsPhysics tuning
src/game/economy.jsBall, trail and outfit definitions and prices
src/ui/i18n.jsLanguage dictionaries
src/game/localRecords.jsBrowser-local course records
css/style.cssInterface colors, fonts and responsive styles

7. Personalização

Para criar um buraco, duplique uma definição no arquivo do percurso, use um id único e ajuste par, saída e copo. Acrescente-o ao percurso e teste colisões, recuperação fora da ilha e estrelas. Adicione nome e dica às traduções. Os preços dos cosméticos ficam em economy.js; preserve IDs já usados pelos saves.

Faça backup antes de editar. Altere um recurso por vez e teste menu, partida, pausa, resultado e recarregamento. IDs de itens e chaves de save devem permanecer estáveis para preservar jogadores existentes.

As gravações incluídas são music/menu.mp3 e music/play-1.mp3. Os cenários reutilizam a faixa de jogo como alternativa. Para adicionar outra gravação licenciada, copie o arquivo e atualize o mapa explícito de faixas em src/audio/audio.js (probeTracks). Não é necessária listagem de diretório nem consulta de arquivos ausentes.

8. Desenvolvimento opcional

Esta edição usa módulos JavaScript estáticos. Não há build nem npm obrigatório. Edite source/ e copie os arquivos alterados para game/. Sirva por HTTP e preserve o import map e vendor/ no Puttide.

9. Saves e recordes locais

Voltas solo completas salvam recordes pessoais por percurso. Menos tacadas é melhor. Recomeçar um buraco invalida o recorde daquela volta. Desafios diários e partidas locais mantêm seu próprio progresso. Nenhuma pontuação é enviada.

Os dados pertencem à origem do navegador (protocolo, host e porta). Trocar domínio não transfere saves. Limpar dados ou usar navegação privada pode apagar o progresso. Faça backup do armazenamento antes de migrar. A edição usa chaves próprias, separadas das versões de portal.

10. Dependências, licenças e publicação

Todos os recursos de execução necessários estão no pacote, incluindo fontes, áudio e bibliotecas utilizadas. Não há CDN obrigatória. Isso não significa instalação PWA/offline automática: um novo carregamento ainda precisa acessar seu servidor HTTP. Não foram incluídos servidor multiplayer, ranking online, SDK de anúncios, projetos nativos ou editor interno. A licença de marketplace permite usar os recursos como parte do produto conforme seus termos; não permite revendê-los isoladamente. Preserve os avisos completos em licenses/ e nos diretórios de fontes/vendor.

11. Solução de problemas e FAQ

Tela vazia / blank screen

Confirme HTTP(S), WebGL e caminhos com maiúsculas/minúsculas. Leia o console. / Check HTTP(S), WebGL, case-sensitive paths and browser console.

JS recusado / module refused

O servidor deve enviar .js e .mjs com MIME JavaScript; .wasm com application/wasm. Não use text/plain para módulos. / Serve .js and .mjs with JavaScript MIME, and .wasm as application/wasm.

Sem áudio / no audio

Toque no jogo, verifique volume e permissões do navegador. / Tap the game, check volume and browser permissions.

Save desapareceu / save lost

Confira domínio, porta, modo privado e limpeza de dados. / Check domain, port, private mode and storage clearing.

Posso adicionar multiplayer? / add multiplayer?

Requer desenvolvimento e servidor próprios; não é um recurso incluído. / Requires your own development and server; not included.

Funcionará em qualquer celular? / any phone?

Os controles se adaptam à tela. O desempenho depende do navegador e hardware; teste seus aparelhos alvo. / Controls adapt to screen size; performance depends on browser and hardware. Test your target devices.

12. Suporte e atualizações

Suporte e desenvolvimento personalizado: willian@polargames.com.br. Envie versão, URL, navegador, passos para reproduzir e captura. O suporte segue os termos do item no marketplace. Atualizações são distribuídas pelo canal da compra; confira o changelog antes de substituir arquivos e preserve saves. Esta documentação não promete prazo fixo de atendimento ou novos recursos em datas específicas.