Este é o segundo post de uma série sobre como eu construo meus jogos de raciocínio lógico para publicação diária no Cruzadinha.com.br. A série completa pode ser acessada neste link.
Os jogos de caça-palavras talvez sejam os que eu mais gosto de construir. Gosto do processo de montar e manter as listas e da criação dos painéis com as letras. Para poder publicar jogos diários eu criei um editor de caça-palavras e um player para embedar no meu site.
Uma vez que eu construí o editor de caça-palavras ele tem algumas características peculiares que atendem especificamente às minhas necessidades e aplicam decisões de design que eu julgo importantes. Comento mais adiante.
Construção dos jogos
Diferente das cruzadinhas, a meu ver, o posicionamento individual das palavras (termos) não é tão importante quanto a distribuição dos termos e o desenho que a solução forma. Assim sendo, meu editor não me permite posicionar palavras no painel de letras diretamente.
O posicionamento é gerado pelo editor a partir de uma lista de palavras, possíveis direções de palavras e tramanho do painel de letras. Essa abordagem tem um trade-off: de um lado eu evito vícios de criação como sempre colocar uma palavra grande na diagonal, ou a primeira coluna sempre ter palavras e consigo construir jogos rapidamente; do outro lado os termos não compartilham tantas letras entre si e sem termos diagonais os termos aparentam não se entrelaçarem tanto.
Eu gosto de termos na diagonal, então o lado negativo pode ser mitigado sem muito esforço.
Uma outra decisão de design importante foi criar painéis de letras quadrados de modo que a quantidade de letras horizontais seja a mesma quantidade de letras verticais. Por quê? Para simplificar a geração de painéis e evitar problemas com layout de tela.

O editor possui uma aba para criação simples e uma aba para criação em batch (remessas). Uso mais a aba de batch. Nela eu colo uma lista de palavras extensa e tenho uma configuração extra, a quantidade de palavras por jogo, que cria quantos jogos forem possíveis com essa quantidade de termos. Gosto de criar jogos com quantidades de termos entre 7 e 8.
Após configurar o batch, clico em gerar jogos. Os jogos são gerados e consigo editá-los individualmente. Posso adicionar ou remover termos, mudar o tamanho do painél de letras, escolher a direção dos termos no jogo, gerar novo painél e salvar o painel atual.

No jogo acima, criei batches com 7 termos, porém devido ao termo “Andorra-a-velha” o painel criado precisou de 11 espaços para acomodar esse temo. Isso deixou o painel com aparência meio vazia. Adicionei 2 termos à lista (Paris e Bogotá) e gerei painéis até encontrar um design que aproveitasse melhor o espaço do painel e que mostrasse termos atravessando os espaços uns dos outros. Isso tomou menos de 2 minutos.
Mais regras de design
Comento brevemente as escolhas de design deste editor:
- painéis de letras quadrados
- mínimo 4×4, máximo 20×20
- termos aparecem em oito direções possíveis: de baixo pra cima, de cima pra baixo, da esquerda para a direita, da direita para a esquerda, para baixo e para a direita, para baixo e para a esquerda, para cima e para a direita, para cima e para a esquerda.
- Em caso de caracteres pouco utilizados na língua portuguesa, como H, Y, W – entre outros – e caracteres com acento o editor espalha entre 3 e 5 destes caracteres pelo painel, de modo a tornar o gameplay, mais desafiador. Sem essa regra, se o painel for preenchido de maneira aleatória, a chance de haver apenas uma incidência do caractere incomum é grande, e isso entrega a posição do termo.
- Por exemplo, no jogo acima há o termo “Amã”, que possui “ã”. No painel de letras há ao todo 6 incidências deste caractere, o que torna a tarefa de encontrar o termo menos trivial.
- Em caso de caracteres com acento, o editor só usa caracteres com acento para preencher espaços no painel caso estes caracteres existam em algum termo da lista.
- No jogo mostrado acima, não há incidência de “É”, por exemplo.
- “Ç” aparece como “Ç” tanto na lista de termos na tela como no painel de letras
- Hífens não aparecem no painel de letras, mas aparecem na lista de palavras na tela
- No jogo mostrado acima, vide “Andorra-a-velha”
Listas de palavras
A matéria-prima dos jogos de caça-palavras são os termos utilizados nos jogos. Para garantir que os jogos tenham termos interessantes eu mantenho listas de palavras/termos temáticas. Mantenho listas desde que comecei a construir jogos de cruzadinhas.


Não tenho um método definido para criar essas listas temáticas. Apenas as crio quando tenho algum tempo livre ou sinto que os jogos ficaram repetitivos. Para isso faço uso de IA, pesquisas na internet e minha própria memória.
Acervo e Agenda
Depois de salvar um jogo ele vai para meu acervo, que pode ser acessado pela aba “Acervo”.

Clicando em “Agendar” eu consigo agendar os jogos para ser publicado em um dos clientes cadastrados numa data futura. No dia agendado, à meia-noite, o jogo será distribuído automaticamente para o cliente correto. Consigo consultar todos os jogos agendados na aba “Agenda”.
Também posso marcar jogos como “públicos” para que fiquem disponíveis no site https://wsearch.brchad.com sem uma data específica e sem um cliente externo.
Além de jogos agendados, jogos públicos e jogos no acervo, é possível marcar jogos como “especiais”, que são jogos distribuídos aos clientes mas que não tem uma data específica, ficam acessíveis por tempo indeterminado.

O jogo criado durante este post pode ser jogado neste link.