TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Show HN: Boardzilla, a framework for making web-based board games

574 pointsby joshbuddyover 1 year ago
Show HN: Boardzilla, a framework for making web-based board games<p>Tldr: We’ve made a framework for web-based board games. You can try out some games over at <a href="https:&#x2F;&#x2F;boardzilla.io" rel="nofollow">https:&#x2F;&#x2F;boardzilla.io</a>, or you can take a look at <a href="https:&#x2F;&#x2F;docs.boardzilla.io" rel="nofollow">https:&#x2F;&#x2F;docs.boardzilla.io</a> to learn more about how to develop your own game. Source is available at <a href="https:&#x2F;&#x2F;github.com&#x2F;boardzilla">https:&#x2F;&#x2F;github.com&#x2F;boardzilla</a><p>Hey y’all. My brother and I have made a framework for board games. During the pandemic we started to look at BGA but got discouraged by how old-fashioned the tools were and how cumbersome the development process was. We set out to make our own framework where you could use the same code for both the client and server. Our hope is anyone familiar with Typescript and CSS could code up a game without worrying about state management, persistence or networking.<p>It’s still very much a wip, and we&#x27;re rapidly adding features and games. But we’ve got our first draft of developer docs done, and we&#x27;ve put up a few games we&#x27;ve developed to showcase and test out the platform. Source for the games and framework is available on Github, and we’re excited to code more games and hopefully encourage other people to try it out. Happy for any feedback.

22 comments

rosmax_1337over 1 year ago
I don&#x27;t think the foremost message on the landing page should be a &quot;join our discord&quot; call. It should feature examples and links to the source&#x2F;docs.<p>In fact, the prominence of &quot;join our discord&quot; on projects like this is off-putting for me personally. I don&#x27;t doubt I am alone in this regard.
评论 #39189419 未加载
catapartover 1 year ago
Looks good! There&#x27;s a lot of moving parts for such a wide array of functionality, so this looks like a lot of really good work! If nothing else, it&#x27;s nice to have a game engine that focuses on tabletop games, that doesn&#x27;t necessarily focus on how to render said games.<p>All of that said, as someone who has developed a card and dice game, using plain html and javascript to create a programmatic version that could be played online, I am <i>still</i> having a hard time figuring out how to recreate that kind of thing, using your system.<p>Based on the docs, I can see it supports cards. And based on my experience developing the same basic gameplay, I can see that it&#x27;s general-purpose enough to be suited for a wide variety of games (and my game is simplistic, so it should be possible). Feels like it should be a pretty straightforward build, with a robust enough library, and yours seems to be fairly robust, so my thinking here is that a step-by-step tutorial would go a long way. I know enough to see why you&#x27;ve chosen the abstractions you have (Actions, Flows, selections, conditions, prompts, etc), but without seeing them constructed, it&#x27;s hard to know where to make the specific changes I would want to make.<p>Anyway, just one opinion! It may feel more straightforward to other people. But I don&#x27;t think I would personally make much headway with it, without a tutorial.
评论 #39184238 未加载
评论 #39182517 未加载
jvehentover 1 year ago
Don&#x27;t called your project *Zilla. The copyright owners of Godzilla are known to go after everyone who tries to use the &quot;Zilla&quot; suffix. Mozilla learned its lesson long ago and had to negotiate a special agreement.
评论 #39183205 未加载
评论 #39184227 未加载
评论 #39183356 未加载
评论 #39184221 未加载
评论 #39184842 未加载
评论 #39189175 未加载
smcinover 1 year ago
You&#x27;re using Typescript+CSS. Was hoping you&#x27;d support Python on the server, for game logic. Your timing is good because developers and publishers currently using BGA are unsettled and spooked by Asmodee&#x27;s business model.<p>BGA Studio&#x27;s stack is JS&#x2F;CSS + PHP (client and server) + MySQL [0]<p>Yucata.de is JS + HTML + .NET 4.5 on the server [1]<p>(TTS was using Lua, which I looked into but seemed eccentric and limited, it&#x27;s not even OO, why on earth choose a non-OO language for a boardgame).<p>Also here&#x27;s a useful review of sites&#x2F;frameworks from 2021: &quot;VassalEngine: Survey of other boardgame software&quot; [2]<p>Can you please please please integrate with Python on the server?<p>[0]: <a href="https:&#x2F;&#x2F;boardgamearena.com&#x2F;doc&#x2F;Studio" rel="nofollow">https:&#x2F;&#x2F;boardgamearena.com&#x2F;doc&#x2F;Studio</a><p>[1]: <a href="https:&#x2F;&#x2F;www.yucata.de&#x2F;en&#x2F;FAQ#t17" rel="nofollow">https:&#x2F;&#x2F;www.yucata.de&#x2F;en&#x2F;FAQ#t17</a><p>[2]: <a href="https:&#x2F;&#x2F;forum.vassalengine.org&#x2F;t&#x2F;survey-of-other-boardgame-software&#x2F;72519" rel="nofollow">https:&#x2F;&#x2F;forum.vassalengine.org&#x2F;t&#x2F;survey-of-other-boardgame-s...</a>
评论 #39184760 未加载
评论 #39187325 未加载
评论 #39188289 未加载
评论 #39184833 未加载
评论 #39184900 未加载
cableshaftover 1 year ago
Nice. I have a ton of board game prototypes I&#x27;d like to make web games of at some point, so I spent a little time writing up some functions for a general board game library myself for making board games, but didn&#x27;t get too far (just some grid generation, custom die rolling, card drawing, tournament functions, some tests to demonstrate various scenarios, and a few other things). But I&#x27;ll never have time to do it properly, especially juggling other projects. Maybe I&#x27;ll just see how easy it is to work with your library.<p>I concur it&#x27;s a bit painful to learn the BGA platform, as it&#x27;s 1) stuck on their platform, you won&#x27;t be able to put the game anywhere else, and 2) all in PHP, which I prefer not to write in anymore, and 3) with documentation scattered around in various places, including a couple of Powerpoint presentations.
darekkayover 1 year ago
If you&#x27;re looking for something more low-level, I can recommend boardgame.io [1].<p>[1] <a href="https:&#x2F;&#x2F;boardgame.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;boardgame.io&#x2F;</a>
评论 #39187814 未加载
JoeOfTexasover 1 year ago
This is a very difficult space. I think the best way to be successful is to have an instant hit game, or spend tremendous community effort getting players every day of the year.<p>I tried my luck with <a href="https:&#x2F;&#x2F;acos.games" rel="nofollow">https:&#x2F;&#x2F;acos.games</a> early on when there was very few alternatives to BGA. I still develop for it behind the scenes when I&#x27;m bored. My biggest failure is UI&#x2F;UX. People don&#x27;t care too much about the awesome technology hiding behind the scenes. =(
评论 #39186807 未加载
jamagerover 1 year ago
Looks very cool, congrats on the initiative!<p>I think it can be great to develop prototypes, but to build a BGA alternative you will need permission from the publishers to implement &#x2F; distribute their games, and given how big is BGA and that it belongs to Asmodee, that is going to be tough...<p>Hope I am wrong, good luck!
评论 #39182509 未加载
评论 #39182310 未加载
iamevnover 1 year ago
Really cool looking! Excited to mess around with this.<p>Happy to see the everyPlayer[1] flow command to allow for simultaneous actions. This is something that&#x27;s missing from the other boardgame frameworks I&#x27;ve tried.<p>[1]: <a href="https:&#x2F;&#x2F;docs.boardzilla.io&#x2F;game&#x2F;flow#everyplayer" rel="nofollow">https:&#x2F;&#x2F;docs.boardzilla.io&#x2F;game&#x2F;flow#everyplayer</a>
epsover 1 year ago
All sample games show an error:<p><pre><code> Object.hasOwn is not a function. (In &#x27;Object.hasOwn(e,A.from)&#x27;, &#x27;Object.hasOwn&#x27; is undefined) The stack trace is: su@https:&#x2F;&#x2F;www.boardzilla.io&#x2F;build&#x2F;_shared&#x2F;chunk-ZEYFFM3P.js:16:114536 Fs@https:&#x2F;&#x2F;www.boardzilla.io&#x2F;build&#x2F;_shared&#x2F;chunk-QNN53S6I.js:9:128279 Ch@https:&#x2F;&#x2F;www.boardzilla.io&#x2F;build&#x2F;_shared&#x2F;chunk-QNN53S6I.js:11:180657 ... </code></pre> Perhaps put some polyfill in place?
评论 #39187792 未加载
评论 #39187342 未加载
lencastreover 1 year ago
A couple questions: did you get permission from Friese for Funkenschlag? Why Typescript? Any plans to control for players who rage quit, anti-play (in all forms), cheat (two connections from same IP)?<p>I tried but couldn’t test right away, is this more like BGA or TTS?
评论 #39182757 未加载
doublerabbitover 1 year ago
The page immediately errors for me.<p>Error<p>Object.hasOwn is not a function. (In &#x27;Object.hasOwn(t,n)&#x27;, &#x27;Object.hasOwn&#x27; is undefined)<p>The stack trace is: o@<a href="https:&#x2F;&#x2F;www.boardzilla.io&#x2F;build&#x2F;_shared&#x2F;chunk-IP5CEA34.js:3:85" rel="nofollow">https:&#x2F;&#x2F;www.boardzilla.io&#x2F;build&#x2F;_shared&#x2F;chunk-IP5CEA34.js:3:...</a> rt@<a href="https:&#x2F;&#x2F;www.boardzilla.io&#x2F;build&#x2F;root-NYPPT2G6.js:3:2506" rel="nofollow">https:&#x2F;&#x2F;www.boardzilla.io&#x2F;build&#x2F;root-NYPPT2G6.js:3:2506</a> Fs@<a href="https:&#x2F;&#x2F;www.boardzilla.io&#x2F;build&#x2F;_shared&#x2F;chunk-QNN53S6I.js:9:128279" rel="nofollow">https:&#x2F;&#x2F;www.boardzilla.io&#x2F;build&#x2F;_shared&#x2F;chunk-QNN53S6I.js:9:...</a> Ch@<a href="https:&#x2F;&#x2F;www.boardzilla.io&#x2F;build&#x2F;_shared&#x2F;chunk-QNN53S6I.js:11:180657" rel="nofollow">https:&#x2F;&#x2F;www.boardzilla.io&#x2F;build&#x2F;_shared&#x2F;chunk-QNN53S6I.js:11...</a> _h@<a href="https:&#x2F;&#x2F;www.boardzilla.io&#x2F;build&#x2F;_shared&#x2F;chunk-QNN53S6I.js:11:176432" rel="nofollow">https:&#x2F;&#x2F;www.boardzilla.io&#x2F;build&#x2F;_shared&#x2F;chunk-QNN53S6I.js:11...</a> Jg@<a href="https:&#x2F;&#x2F;www.boardzilla.io&#x2F;build&#x2F;_shared&#x2F;chunk-QNN53S6I.js:11:176360" rel="nofollow">https:&#x2F;&#x2F;www.boardzilla.io&#x2F;build&#x2F;_shared&#x2F;chunk-QNN53S6I.js:11...</a> Ei@<a href="https:&#x2F;&#x2F;www.boardzilla.io&#x2F;build&#x2F;_shared&#x2F;chunk-QNN53S6I.js:11:176215" rel="nofollow">https:&#x2F;&#x2F;www.boardzilla.io&#x2F;build&#x2F;_shared&#x2F;chunk-QNN53S6I.js:11...</a> rs@<a href="https:&#x2F;&#x2F;www.boardzilla.io&#x2F;build&#x2F;_shared&#x2F;chunk-QNN53S6I.js:11:172603" rel="nofollow">https:&#x2F;&#x2F;www.boardzilla.io&#x2F;build&#x2F;_shared&#x2F;chunk-QNN53S6I.js:11...</a> Rh@<a href="https:&#x2F;&#x2F;www.boardzilla.io&#x2F;build&#x2F;_shared&#x2F;chunk-QNN53S6I.js:11:171554" rel="nofollow">https:&#x2F;&#x2F;www.boardzilla.io&#x2F;build&#x2F;_shared&#x2F;chunk-QNN53S6I.js:11...</a> Rh@[native code] Ba@<a href="https:&#x2F;&#x2F;www.boardzilla.io&#x2F;build&#x2F;_shared&#x2F;chunk-QNN53S6I.js:4:61845" rel="nofollow">https:&#x2F;&#x2F;www.boardzilla.io&#x2F;build&#x2F;_shared&#x2F;chunk-QNN53S6I.js:4:...</a> Ia@<a href="https:&#x2F;&#x2F;www.boardzilla.io&#x2F;build&#x2F;_shared&#x2F;chunk-QNN53S6I.js:4:62237" rel="nofollow">https:&#x2F;&#x2F;www.boardzilla.io&#x2F;build&#x2F;_shared&#x2F;chunk-QNN53S6I.js:4:...</a><p>iPhone - ios 14.8
评论 #39183363 未加载
评论 #39183420 未加载
Longwelwindover 1 year ago
You might be interested by an open-source project I started a few years ago but never really finished: <a href="https:&#x2F;&#x2F;github.com&#x2F;ravens-engine&#x2F;core">https:&#x2F;&#x2F;github.com&#x2F;ravens-engine&#x2F;core</a><p>I had the idea after developing Swords and Ravens, an online adaption of A Game of Thrones: the Board Game (2nd edition), and realizing that there was a way to make a library to allow people to create board games without having to bother with the network part.<p>I also wrote a blog post about it: <a href="https:&#x2F;&#x2F;longwelwind.net&#x2F;blog&#x2F;networking-turn-based-game&#x2F;" rel="nofollow">https:&#x2F;&#x2F;longwelwind.net&#x2F;blog&#x2F;networking-turn-based-game&#x2F;</a><p>Good luck in your project!
评论 #39187684 未加载
评论 #39187675 未加载
kevinyewover 1 year ago
Been enjoying playing a couple games of Seven Wonders Duel so far, but one immediate issue is that there is no way to unsubscribe from the emails telling me it&#x27;s my turn. I&#x27;ve already got browser notifications turned on, so these emails are filling up my inbox fast.<p>I&#x27;ve also reported a couple bugs so far, the main one being not being able to build Wonders even though I have adequate resources, but other than that, amazing work! I&#x27;m keen to implement a game myself sometime soon.
评论 #39189910 未加载
sjrdover 1 year ago
This looks very interesting. One question: would I be able to develop a game using my favorite compile-to-JS language? Or would the game infrastructure force me to use TypeScript?
joeld42over 1 year ago
Hey this looks great. I&#x27;m working on some AI bots for board games and this might be really useful as a frontend for local testing of the bot players. I&#x27;ll check it out.
评论 #39182467 未加载
joemiover 1 year ago
I&#x27;m looking forward to trying this out!<p>You might want some sort of mention in the website copy about it being self-hostable (unless I&#x27;m misinterpreting the docs). The website copy talks about your hosting and the related benefits (as it rightly should), but I didn&#x27;t see any mention of self-hosting so I almost didn&#x27;t click through to the docs to see that local development is possible.
评论 #39182485 未加载
Illniyarover 1 year ago
Wow, this seems unreasonably well made! Kudos. I&#x27;ll definitely try it out.
mNovakover 1 year ago
Looks great! I&#x27;ll poke around--my dream is make a WH40k-like turn based strategy.. curious to see if this can handle sufficiently convoluted rules.
jslakroover 1 year ago
Good initiative but I consider screentop.gg is a solid and pretty consolidated option on that field. It&#x27;s quite easy to create games on that system
fayazaraover 1 year ago
One thing about the JS ecosystem, there&#x27;s a shit ton of libraries and frameworks.
josephcsibleover 1 year ago
<a href="https:&#x2F;&#x2F;github.com&#x2F;boardzilla&#x2F;boardzilla-core&#x2F;blob&#x2F;main&#x2F;LICENSE">https:&#x2F;&#x2F;github.com&#x2F;boardzilla&#x2F;boardzilla-core&#x2F;blob&#x2F;main&#x2F;LICE...</a><p>Commons Clause :(<p>If you&#x27;re worried about some corporation leaching off of you, why not go AGPLv3 instead?
评论 #39181838 未加载
评论 #39181871 未加载