Show HN: Boardzilla, uma framework para criar jogos de tabuleiro baseados na web

Uma nova framework chamada Boardzilla pretende tornar mais fácil criar e alojar jogos de tabuleiro baseados na web, oferecendo um motor em TypeScript que executa a lógica partilhada do jogo no cliente e no servidor. Os comentadores elogiam o foco em mecânicas de mesa e prototipagem, mas levantam preocupações sobre o licenciamento incomum Commons Clause, a falta de suporte para Python, a dependência de React e problemas práticos como falhas na documentação, bugs de compatibilidade com browsers e uma ênfase excessiva no Discord para suporte. Há também debate sobre riscos de propriedade intelectual em torno do nome “-zilla” e a dificuldade de competir com Board Game Arena e a Asmodee, levando alguns a ver a principal oportunidade em jogos indie e em ferramentas orientadas para publishers, em vez de títulos mainstream.

Questões de Licenciamento e Open Source

  • O motor principal atualmente usa Commons Clause, que vários comentadores consideram não-FOSS e problemático.
  • AGPLv3 é sugerida como alternativa: ainda livre/open, aceitável para distribuições Linux, mas grandes empresas evitam-na, o que alguns veem como uma vantagem.
  • Os autores indicam que vão rever o licenciamento e são lembrados de que podem oferecer dupla licença comercialmente, se necessário.

Posicionamento vs. Plataformas Existentes e Direitos dos Jogos

  • Muitos comparam com Board Game Arena (BGA); isto é apresentado como “como o BGA, não como Tabletop Simulator”.
  • Há preocupação de que a propriedade da BGA e de muitos publishers pela Asmodee torne difícil licenciar grandes títulos; sugere-se focar em publishers indie e protótipos.
  • Nota legal: mecânicas não são protegidas por copyright, mas arte, nomes e texto das regras são; a comunidade tende a reprovar clones óbvios.

Escolhas de Tecnologia e Arquitetura

  • Os jogos são escritos uma vez em TypeScript e executados tanto no cliente como no servidor; é por isso que não há um backend Python separado.
  • O React é usado de forma leve, בעיקר para JSX; animações pesadas ficam fora do React. Alguns sugerem alternativas mais leves devido ao tamanho do bundle.
  • Abstrações: Piece, Player, Space, Game, Action e uma árvore de “flow” (fases, loops, everyPlayer para ações simultâneas).
  • Está previsto suporte para IA plugável; já existe uma classe TestRunner para jogo automatizado.

Python, Lua e o Debate sobre Linguagens

  • Vários utilizadores gostariam fortemente de Python no servidor, citando ecossistema e expressividade.
  • Outros argumentam que TS faz sentido para lógica partilhada entre cliente e servidor e que portar para Python não é “trivial” para o mantenedor.
  • Há uma discussão paralela sobre a popularidade de Lua em jogos e se os seus padrões orientados a objetos são adequados.

Auto-hospedagem e Implementação

  • O desenvolvimento local é suportado; está planeado, mas ainda não feito, um “single-game runner” claramente auto-hospedado.
  • Alguns quase ignoraram o projeto porque a auto-hospedagem não estava destacada na landing page.

Bugs, Compatibilidade e UX

  • Vários relatos de erros Object.hasOwn em browsers antigos/iOS; foram adicionados polyfills, mas precisaram de iteração.
  • Pequenos problemas apontados: erro de digitação nos créditos, falta de cancelamento de subscrição em notificações por email e alguns bugs nas regras do jogo.
  • Os comentadores sublinham que o sucesso a longo prazo depende de UI/UX e de uma base ativa de jogadores, não apenas da qualidade do motor.

Nome, Marca Registada e Branding

  • Há fortes avisos sobre usar “*zilla” devido à fiscalização agressiva da marca Godzilla e a um logótipo visualmente semelhante; vários aconselham mudar o nome.

Docs, Onboarding e Canais da Comunidade

  • Há elogios gerais à ambição, mas também pedidos repetidos por tutoriais passo a passo e documentação mais clara.
  • A landing page é criticada por começar com “junte-se ao nosso Discord”; alguns não gostam do Discord como um canal quase de documentação e preferem documentação estática e pesquisável.