Show HN: Boardzilla, un framework para crear juegos de mesa basados en la web
Un nuevo framework llamado Boardzilla busca facilitar la creación y el alojamiento de juegos de mesa basados en la web, ofreciendo un motor en TypeScript que ejecuta la lógica compartida del juego tanto en el cliente como en el servidor. Los comentaristas elogian su enfoque en mecánicas de juegos de mesa y prototipado, pero plantean preocupaciones sobre su licencia Commons Clause no estándar, la falta de soporte para Python, la dependencia de React y problemas prácticos como lagunas en la documentación, errores de compatibilidad con navegadores y un énfasis excesivo en Discord para soporte. También hay debate sobre los riesgos de propiedad intelectual del nombre “-zilla” y la dificultad de competir con Board Game Arena y Asmodee, lo que lleva a algunos a ver la principal oportunidad en juegos indie y herramientas centradas en editores más que en títulos convencionales.
Problemas de licencias y código abierto
- El motor principal usa actualmente Commons Clause, que varios comentaristas consideran no–FOSS y problemático.
- Se sugiere AGPLv3 como alternativa: sigue siendo libre/de código abierto, es aceptable para las distros de Linux, pero las grandes empresas lo evitan, lo que algunos ven como una ventaja.
- Los autores indican que revisarán la licencia y se les recuerda que pueden hacer doble licencia comercial si lo necesitan.
Posicionamiento frente a plataformas existentes y derechos sobre juegos
- Muchos lo comparan con Board Game Arena (BGA); se presenta como “como BGA, no Tabletop Simulator”.
- Preocupación: la propiedad de BGA y de muchos editores por parte de Asmodee dificulta licenciar títulos grandes; se sugiere centrarse en editores independientes y prototipos.
- Nota legal: las mecánicas no tienen copyright, pero el arte, los nombres y el texto de las reglas sí; la comunidad suele ver con malos ojos los clones obvios.
Elecciones tecnológicas y arquitectura
- Los juegos se escriben una sola vez en TypeScript y se ejecutan tanto en el cliente como en el servidor; por eso no hay un backend Python separado.
- React se usa de forma ligera, principalmente para JSX; la animación intensa queda fuera de React. Algunos sugieren alternativas más ligeras por el tamaño del bundle.
- Abstracciones:
Piece,Player,Space,Game,Actiony un árbol de “flow” (fases, bucles,everyPlayerpara acciones simultáneas). - Se prevé soporte para IA enchufable; ya existe una clase
TestRunnerpara juego automatizado.
Python, Lua y el debate de lenguajes
- Varios usuarios desearían encarecidamente Python en el servidor, citando el ecosistema y la expresividad.
- Otros argumentan que TS es lógico para la lógica compartida cliente/servidor y que portar a Python no sería “trivial” para el mantenedor.
- Discusión aparte sobre la popularidad de Lua en los juegos y si sus patrones orientados a objetos son adecuados.
Autohospedaje y despliegue
- Se admite el desarrollo local; está previsto, pero aún no hecho, un “single-game runner” autohospedado claro.
- Algunos casi descartaron el proyecto porque el autohospedaje no se destacaba en la página de aterrizaje.
Errores, compatibilidad y UX
- Varios informes de errores de
Object.hasOwnen navegadores antiguos/iOS; se añadieron polyfills, pero hubo que iterar. - Se señalan problemas menores: un typo en los créditos, falta de cancelación de suscripción en las notificaciones por correo y algunos errores de reglas dentro del juego.
- Los comentaristas recalcan que el éxito a largo plazo depende de la UI/UX y de una base activa de jugadores, no solo de la calidad del motor.
Nombre, marca y branding
- Hay fuertes advertencias sobre usar “*zilla” debido a la agresiva defensa de la marca Godzilla y a un logo de aspecto similar; varios aconsejan cambiar el nombre.
Documentación, incorporación y canales comunitarios
- En general se elogia la ambición, pero se piden repetidamente tutoriales paso a paso y documentación más clara.
- Se critica que la página de aterrizaje empiece con “únete a nuestro Discord”; a algunos no les gusta Discord como canal cuasi-documental y prefieren documentación estática y buscable.