Polar Games
Gridspark · Standalone 1.0.1

Thank you for choosing GridsparkObrigado por escolher o Gridspark

Your own block puzzle, ready for static hosting. Follow the steps below to install, customize and maintain it.

Seu puzzle de blocos pronto para hospedagem estática. Siga os passos para instalar, personalizar e manter.

HTML5 · Canvas 2D14 interface languagesLocal savesNo PHP / Node runtime

Your packageSeu pacote

Upload only game/. The playable game needs no Node.js, PHP, database, account or game server. A normal HTTP/HTTPS website serves the files.

Suba somente game/. Para jogar não é preciso Node.js, PHP, banco, conta ou servidor de jogo. Uma hospedagem HTTP/HTTPS comum serve os arquivos.

gridspark-static-1.0/
  START-HERE.txt
  game/
  documentation/index.html
  source/DO-NOT-UPLOAD.txt

source/ is the editable developer copy; documentation/ is this self-contained guide. The source tools optionally use Node.js 20+.

source/ é a cópia editável para desenvolvimento; documentation/ contém este guia autocontido. As ferramentas do código usam Node.js 20+ opcionalmente.

Screens and controlsTelas e controles

The screenshots below show the delivered standalone game at 1280 × 720. This example uses English and existing local progress; scores, available pieces and the Continue button depend on the current browser save.As capturas abaixo mostram o jogo standalone entregue em 1280 × 720. O exemplo usa inglês e progresso local existente; pontuação, peças e o botão Continuar dependem do salvamento deste navegador.

Main menu: start, resume and choose a modeMenu principal: iniciar, continuar e escolher o modo

Gridspark main menu: Continue, New game, Daily challenge, sound and language controls
Figure 1 — Main menu. Continue resumes the saved match; New game starts a classic match. Daily challenge opens today's UTC challenge. Sound, fullscreen and language controls are below.Figura 1 — Menu principal. Continuar retoma a partida salva; Novo jogo inicia uma partida clássica. Desafio diário abre o desafio da data UTC. Áudio, tela cheia e idioma ficam abaixo.

Progress and personal bests belong to the current browser. The menu can show Play instead of Continue when no match is saved. See Local data for save details.Progresso e recordes pertencem ao navegador atual. O menu pode mostrar Jogar em vez de Continuar quando não há partida salva. Veja Dados locais para detalhes.

Gameplay: board, pieces, score and ZAPPartida: tabuleiro, peças, pontos e ZAP

Gridspark gameplay: 8 by 8 board, available pieces on the right, score and ZAP on the left
Figure 2 — Gameplay. Drag a piece from the right onto the 8 × 8 board. Score and the ZAP charge are on the left. This continued daily match also shows its 2,500-point goal. Fullscreen, sound and pause are in the upper-right corner.Figura 2 — Partida. Arraste uma peça da direita para o tabuleiro 8 × 8. Pontos e carga do ZAP ficam à esquerda. Esta partida diária retomada também mostra a meta de 2.500 pontos. Tela cheia, áudio e pausa ficam no canto superior direito.

Fill a complete row or column to clear it. Lightning blocks charge ZAP; when charged, ZAP clears the selected row and column. See How to play for the rules.Complete uma linha ou coluna para limpá-la. Blocos com raio carregam o ZAP; quando carregado, ele limpa a linha e a coluna selecionadas. Veja Como jogar para as regras.

Sound settings: music, effects and voiceAjustes de áudio: música, efeitos e voz

Gridspark sound settings panel with separate Music, Effects and Voice sliders and a Done button
Figure 3 — Sound settings. The speaker button opens three separate volume sliders: Music, Effects and Voice. Done closes the panel. The screenshot shows this browser's saved values.Figura 3 — Ajustes de áudio. O botão de alto-falante abre três volumes separados: Música, Efeitos e Voz. Pronto fecha o painel. A captura mostra os valores salvos neste navegador.

Interface language and audio volumes are independent settings. Narrator voices use English; the interface supports 14 languages. Website owners can configure the opening screen and fullscreen control in gridspark.config.js; see Configuration and customization.Idioma da interface e volumes são ajustes independentes. A locução usa inglês; a interface oferece 14 idiomas. O responsável pelo site configura a abertura e o controle de tela cheia em gridspark.config.js; veja Configuração e personalização.

Install on your websiteInstalar no seu site

  1. Extract the ZIP. Open game/.Extraia o ZIP. Abra game/.
  2. Create a folder such as public_html/games/gridspark/ on your hosting. Upload everything INSIDE game/, keeping src/ and assets/ intact.Crie uma pasta como public_html/games/gridspark/ na hospedagem. Suba tudo que está DENTRO de game/, preservando src/ e assets/.
  3. Open the folder URL in a browser, for example https://your-site.example/games/gridspark/. Tap to unlock audio, then Play.Abra a URL da pasta no navegador, por exemplo https://seu-site.example/games/gridspark/. Toque para liberar o áudio e escolha Jogar.

Do not double-click the HTML file: file:// blocks module loading in common browsers. Use HTTP/HTTPS. HTTPS is recommended. No build is needed for installation.

Não abra o HTML com duplo clique: file:// bloqueia os módulos em navegadores comuns. Use HTTP/HTTPS. HTTPS é recomendado. Instalar não exige compilação.

How to playComo jogar

Drag one of the three shapes onto the 8×8 board. Complete a row or column to clear it. Cleared lightning blocks charge ZAP. Select ZAP and choose a cell to clear its row and column. When no hand piece fits and no usable ZAP remains, the run ends.

Arraste uma das três peças para o tabuleiro 8×8. Complete uma linha ou coluna para limpá-la. Blocos com raio carregam o ZAP. Selecione o ZAP e escolha uma casa para limpar sua linha e coluna. A partida termina quando nenhuma peça encaixa e não há ZAP utilizável.

Mouse and touch control placement. The first session teaches the opening move. Use the pause icon or P/Esc on desktop; resume, restart or return Home from the pause menu. Restart discards the current run.

Mouse e toque controlam as peças. A primeira sessão ensina a jogada inicial. Use o ícone de pausa ou P/Esc no computador; continue, reinicie ou volte ao início pela pausa. Reiniciar descarta a partida atual.

Classic mode saves your personal best. Daily Challenge uses the UTC date, a seeded board sequence and a score goal; progress and streaks stay on this device. The daily goal varies and changes at 00:00 UTC, which may differ from local midnight.

O modo clássico salva seu recorde pessoal. O Desafio do Dia usa a data UTC, uma sequência com semente e uma meta de pontos; progresso e sequência de dias ficam no aparelho. A meta varia e muda às 00:00 UTC, que pode ser diferente da meia-noite local.

14 interface languages14 idiomas de interface

Choose the globe selector on the Home or Pause screen. English, Portuguese, Spanish, French, German, Italian, Dutch, Polish, Turkish, Russian, Indonesian, Japanese, Korean and Chinese are included. The selected language is saved locally.

Escolha pelo seletor com globo no início ou na pausa. Inclui inglês, português, espanhol, francês, alemão, italiano, holandês, polonês, turco, russo, indonésio, japonês, coreano e chinês. A escolha fica salva localmente.

Interface localization does not mean narration in all 14 languages. The included narrator clips are the original game voice set. A URL such as ?lang=en selects a supported language for that visit.

Interface traduzida não significa narração nos 14 idiomas. As falas incluídas são o conjunto de voz original do jogo. Uma URL como ?lang=pt seleciona um idioma disponível naquela visita.

Configuration and customizationConfiguração e personalização

Edit game/gridspark.config.js with a plain text editor. These settings require no rebuild. Keep the JavaScript commas, braces and Boolean values valid.

Edite game/gridspark.config.js em um editor de texto. Estas opções não exigem recompilar. Preserve vírgulas, chaves e valores booleanos válidos.

window.GRIDSPARK_CONFIG = {
  tapToStart: true,
  fullscreen: true
};

tapToStart enables the opening gesture screen. fullscreen shows the fullscreen control only when the browser supports it. A browser can deny fullscreen; the game still works. Sound/music/voice volumes are player settings in the sound panel.

tapToStart ativa a tela do gesto inicial. fullscreen mostra tela cheia somente quando o navegador permite. O navegador pode negar tela cheia; o jogo continua funcionando. Volumes de música/efeitos/voz são opções do jogador no painel de som.

File / ArquivoPurpose / Uso
index.htmlPage title, metadata, favicon, DOM screens / Título, metadados, favicon e telas
style.cssUI layout, colors, bundled font / Interface, cores e fonte local
src/locales.jsInterface text / Textos da interface
src/config.jsRules constants and palette / Constantes e paleta
src/logo.js, faces.js, render.jsDrawn logo, faces and blocks / Logo, rostos e blocos desenhados
src/game.js, board.js, generator.js, shapes.jsPuzzle rules / Regras do puzzle
assets/music.mp3, src/voice-data.js, audio.jsMusic, embedded narration and audio engine / Música, falas e áudio

For code edits, work in source/, run npm test, then npm run build. This copies the playable files to the sibling game/. Upload the updated game files together; do not mix old and new modules. No package installation is needed.

Para editar código, trabalhe em source/, execute npm test e npm run build. Isso copia os arquivos jogáveis para a pasta irmã game/. Suba os arquivos atualizados juntos; não misture módulos antigos e novos. Não é preciso instalar dependências.

Local data and privacyDados locais e privacidade

This standalone stores settings, language, tutorial completion, current run, personal best and daily progress in browser localStorage under gridspark.standalone.v1.*. It does not send scores, nicknames, replay data or telemetry to Polar Games. No online ranking, PHP, accounts, multiplayer, advertising or portal SDK is included.

Este standalone salva opções, idioma, tutorial, partida atual, recorde e progresso diário no localStorage do navegador, sob gridspark.standalone.v1.*. Não envia pontos, apelidos, replay ou telemetria à Polar Games. Não inclui ranking online, PHP, contas, multiplayer, anúncios ou SDK de portal.

Clearing site data removes the local profile. Another browser/device does not share it. Private mode or denied storage may keep progress only for the session; the puzzle remains playable. Host access logs and any scripts you add are controlled by your hosting and site.

Limpar dados do site apaga o perfil. Outro navegador/aparelho não compartilha esses dados. Janela privada ou armazenamento negado pode manter progresso só na sessão; o puzzle continua jogável. Logs de acesso e scripts que você adicionar dependem da sua hospedagem e site.

The standalone uses separate storage keys from the original portal game, so installing it on the same local host does not reuse that game’s profile.

O standalone usa chaves diferentes do jogo de portal, portanto instalá-lo no mesmo host local não reutiliza o perfil daquele jogo.

Troubleshooting & FAQProblemas e dúvidas

Before contacting support: confirm you uploaded game/, use HTTP/HTTPS and test with a hard refresh.

Antes de pedir suporte: confira se subiu game/, use HTTP/HTTPS e teste recarregando sem cache.

Which folder do I upload?Qual pasta eu subo?

Only the contents of game/. Keep index.html, style.css, gridspark.config.js, src/ and assets/ together.

Somente o conteúdo de game/. Mantenha index.html, style.css, gridspark.config.js, src/ e assets/ juntos.

Do I need PHP or a database?Preciso de PHP ou banco?

No. This package is static and stores personal records locally.

Não. Este pacote é estático e salva os recordes pessoais localmente.

Does it include online multiplayer or a leaderboard?Inclui multiplayer ou ranking online?

No. This edition is a standalone single-player puzzle.

Não. Esta edição é um puzzle solo standalone.

Why is double-clicking index.html blank?Por que abrir index.html com duplo clique falha?

Use an HTTP/HTTPS web server. Browser module security blocks common file:// installations.

Use um servidor HTTP/HTTPS. A segurança de módulos bloqueia instalações comuns por file://.

Can I use a subfolder?Posso usar subpasta?

Yes. Relative paths are used. Upload all files and open the folder URL.

Sim. Os caminhos são relativos. Suba todos os arquivos e abra a URL da pasta.

Why is sound silent at first?Por que começa sem som?

Browsers require a user gesture. Tap the start screen and check the sound panel and device volume.

Navegadores exigem um gesto. Toque na tela inicial e confira o painel de som e o volume do aparelho.

Can music and voice be muted separately?Posso desligar música e voz separadamente?

Yes. The sound panel has separate music, effects and voice sliders.

Sim. O painel tem controles separados de música, efeitos e voz.

Is every language narrated?Todos os idiomas têm narração?

No. Fourteen languages apply to interface text, not fourteen narration sets.

Não. Os 14 idiomas são da interface, não 14 conjuntos de narração.

When does the daily challenge change?Quando muda o desafio diário?

At 00:00 UTC based on the device date. The score goal varies by day.

Às 00:00 UTC pela data do aparelho. A meta varia por dia.

Why did my progress disappear?Por que meu progresso sumiu?

Check the same browser and origin. Clearing site data, private sessions or denied storage can remove saved data.

Confira o mesmo navegador e origem. Limpar dados, usar janela privada ou bloquear armazenamento pode apagar registros.

Can I sync saves between devices?Posso sincronizar entre aparelhos?

No account or synchronization service is included.

Não inclui conta nem serviço de sincronização.

Does ZAP clear the entire board?O ZAP limpa o tabuleiro todo?

No. One charge clears the chosen cell’s row and column.

Não. Uma carga limpa a linha e a coluna da casa escolhida.

Where are undo and rewarded revives?Onde ficam desfazer e reviver com anúncio?

Those portal ad actions are not included in this standalone edition.

Essas ações com anúncios de portal não fazem parte deste standalone.

Why does fullscreen not appear?Por que não aparece tela cheia?

The control requires browser support and permission. Some mobile browsers or embedded frames do not provide it.

O controle exige suporte e permissão. Alguns navegadores móveis ou frames não oferecem a função.

Can I embed the game in my website?Posso incorporar no meu site?

Use an iframe pointing to the uploaded game URL. Allow fullscreen if desired. Test the actual frame size and any site overlays.

Use um iframe apontando para a URL do jogo. Permita fullscreen se desejar. Teste o tamanho real do frame e as camadas do site.

Why do modules or fonts return 404?Por que módulos ou fontes dão 404?

Preserve folders and filename capitalization. Verify that src/ and assets/ were uploaded beside index.html.

Preserve pastas e maiúsculas/minúsculas. Confira src/ e assets/ ao lado de index.html.

Why is JavaScript served as text or blocked?Por que o JavaScript é bloqueado?

Configure the host to serve .js as JavaScript and avoid rewriting asset URLs to your website’s HTML page.

Configure .js com tipo JavaScript e evite redirecionar URLs de arquivos para o HTML do site.

Do I run npm install?Preciso executar npm install?

No for playing or installing. Optional developer commands use Node.js 20+ and have no npm dependencies.

Não para jogar ou instalar. Os comandos opcionais de desenvolvimento usam Node.js 20+ e não têm dependências npm.

How do I update?Como atualizo?

Back up your edited files. Replace the playable files as one set and test the new version; hard-refresh if the host caches old modules.

Faça backup das alterações. Substitua os arquivos jogáveis juntos e teste; recarregue sem cache se a hospedagem guardar módulos antigos.

What should I send to support?O que envio ao suporte?

Item version, browser/device, game URL, steps, screenshot and console/network errors. Do not send passwords or private keys.

Versão, navegador/aparelho, URL, passos, captura e erros do console/rede. Não envie senhas ou chaves privadas.

Support, updates and creditsSuporte, atualizações e créditos

For item support, use the marketplace support channel linked to your purchase. Include a clear reproduction and the details listed above. Customization beyond the documented product is a separate service. Updates address fixes and improvements without a fixed release calendar or lifetime response guarantee.

Para suporte do item, use o canal da plataforma vinculado à compra. Envie uma reprodução clara e os detalhes acima. Personalização além do produto documentado é um serviço separado. Atualizações trazem correções e melhorias sem calendário fixo ou garantia de atendimento vitalício.

Gridspark game and original audio/art: Polar Games. Baloo 2 font: Ek Type, SIL Open Font License 1.1; the license is bundled at game/assets/fonts/LICENSE-Baloo2-OFL.txt. The playable game has no third-party JavaScript runtime dependency. Included media are game components, not a separate stock-media library.

Jogo Gridspark e áudio/arte originais: Polar Games. Fonte Baloo 2: Ek Type, SIL Open Font License 1.1; licença em game/assets/fonts/LICENSE-Baloo2-OFL.txt. O jogo não tem dependência JavaScript de terceiros em execução. As mídias são componentes do jogo, não uma biblioteca de mídia avulsa.

For AI assistantsPara assistentes de IA

Copy this technical brief into your assistant, then add the change you want.

Copie este resumo técnico para seu assistente e acrescente a alteração desejada.

You are helping customize Gridspark standalone 1.0. Read documentation/index.html and source/README-DEV.md first. The buyer uploads game/; source/ is the editable developer copy. Plain JavaScript ES modules and Canvas 2D, no runtime libraries, no mandatory build or package install. Optional Node.js 20+ tools: npm run dev, npm test, npm run build (copies source playable files to sibling game/). Keep relative paths and HTTP hosting.
Game: 8x8 board, three shapes per hand, row/column clears, lightning charge, one-cross ZAP, combos, local personal records, UTC seeded daily challenge. Current run, settings and daily progress use gridspark.standalone.v1.* localStorage keys. Interface has 14 languages in src/locales.js; do not assume 14 voice sets.
Entry src/main.js, rules src/game.js/board.js/generator.js/shapes.js/config.js, drawing src/scene.js/render.js/faces.js/logo.js, UI index.html/style.css/src/ui.js, audio assets/music.mp3/src/voice-data.js/src/audio.js. Buyer settings game/gridspark.config.js: tapToStart, fullscreen.
No ranking, PHP, multiplayer, ads, portal SDKs, analytics or Polar service endpoints. Do not add any without a specific buyer request. Preserve storage compatibility and audio gesture handling. Test rule changes and the actual game in a browser after rebuilding. Never request passwords or deploy automatically. Tell me exactly which files changed and which checks ran.

MY REQUEST:

Need custom work?Quer algo sob medida?

For a separate customization quote, contact willian@polargames.com.br. Custom work is separate from item support.

Para orçamento separado de personalização, contate willian@polargames.com.br. Trabalho sob medida é separado do suporte do item.