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,Actione uma árvore de “flow” (fases, loops,everyPlayerpara ações simultâneas). - Está previsto suporte para IA plugável; já existe uma classe
TestRunnerpara 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.hasOwnem 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.