[{"data":1,"prerenderedAt":536},["ShallowReactive",2],{"project-39180953":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":34,"aspects":35,"strip":46,"post_text":47,"what":48,"said":91,"maker_in_thread":216,"shape":226,"grid":230,"attempts":497,"same_week":498,"maker_shows":39,"maker_hidden":528,"reader_version":529,"card":530},"39180953","Boardzilla","A framework for making web-based board games","title","Show HN: Boardzilla, a framework for making web-based board games","https:\u002F\u002Fwww.boardzilla.io\u002F","boardzilla.io","joshbuddy",1706555573,2024,574,105,49,3515,2,"legend","languages","game framework","library",[24,25,26,27],"board game framework","typescript","web board games","game engine","mixed",-0.086,{"positive":31,"neutral":32,"mixed":18,"critical":33},8,16,14,40,{"design":36,"docs":38,"idea":41,"execution":43,"performance":45},{"positive":18,"critical":37},3,{"positive":39,"critical":40},1,0,{"positive":18,"critical":42},4,{"positive":18,"critical":44},5,{"positive":40,"critical":39},[39,39,39,40,37,39,39,39,39,40,40,40,40,40,40,37,40,40,40,40,37,39,40,37,44,39,44,39,44,39,37,40,37,37,42,37,44,39,37,40],"Show HN: Boardzilla, a framework for making web-based board games\n\nTldr: We’ve made a framework for web-based board games. You can try out some games over at https:\u002F\u002Fboardzilla.io, or you can take a look at https:\u002F\u002Fdocs.boardzilla.io to learn more about how to develop your own game. Source is available at https:\u002F\u002Fgithub.com\u002Fboardzilla\n\nHey 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 yo",{"problem":49,"audience":55,"pricing":59,"motivation":60,"time_to_build":59,"stack":64,"openness":88,"stage":89,"team_size":90},{"value":50,"source":51,"evidence":52},"Developing web-based board games is cumbersome and old-fashioned on existing platforms like BGA.","maker",[53],{"id":54},"post",{"value":56,"source":51,"evidence":57},"Developers familiar with TypeScript and CSS who want to code board games.",[58],{"id":54},null,{"value":61,"source":51,"evidence":62},"Frustration with BGA's old tools and development process during the pandemic.",[63],{"id":54},[65,72,76,82],{"value":66,"source":51,"evidence":67},"TypeScript",[68,69],{"id":54},{"id":70,"by":11,"text":71},"39187325","The reason the server isn't in Python is because in boardzilla, you don't express your game twice, once for the client and once for the server. Instead, you express the game once…",{"value":73,"source":51,"evidence":74},"CSS",[75],{"id":54},{"value":77,"source":51,"evidence":78},"React (JSX syntax)",[79],{"id":80,"by":11,"text":81},"39187320","The React aspects are really minimal, all the animation logic is by outside of React. We're really just using it for the jsx syntax to make it easier to return markup-looking…",{"value":83,"source":51,"evidence":84},"Docusaurus (docs site)",[85],{"id":86,"by":11,"text":87},"39189724","Fwiw, we're only using Discord for disposable communication. We have a docusaurus site up for the docs, and otherwise all the development is taking place on Github. Discord seems…","open_source","beta","team",{"praise":92,"objections":112,"requests":149,"questions":168,"alternatives":183},[93,105],{"value":94,"source":95,"evidence":96},"Good work and a useful framework for tabletop games","commenter",[97,101],{"id":98,"by":99,"text":100},"39182453","catapart","Looks good! There'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's nice to have a game engine…",{"id":102,"by":103,"text":104},"39182695","Illniyar","Wow, this seems unreasonably well made! Kudos. I'll definitely try it out.",{"value":106,"source":95,"evidence":107},"Simultaneous actions via everyPlayer flow is useful",[108],{"id":109,"by":110,"text":111},"39182916","iamevn","Really cool looking! Excited to mess around with this. Happy to see the everyPlayer[1] flow command to allow for simultaneous actions. This is something that's missing from the…",[113,124,131,142],{"value":114,"source":95,"evidence":115},"Object.hasOwn error breaks the site in older browsers",[116,120],{"id":117,"by":118,"text":119},"39183315","doublerabbit","Hi Josh, I'm receiving an error upon accessing the page. Object.hasOwn is not a function. (In 'Object.hasOwn(t,n)', 'Object.hasOwn' is undefined)",{"id":121,"by":122,"text":123},"39187312","eps","All sample games show an error: ``` Object.hasOwn is not a function. (In 'Object.hasOwn(e,A.from)', 'Object.hasOwn' is undefined) The stack trace is:…",{"value":125,"source":95,"evidence":126},"Discord is too prominent on the landing page",[127],{"id":128,"by":129,"text":130},"39187849","rosmax_1337","I don't think the foremost message on the landing page should be a \"join our discord\" call. It should feature examples and links to the source\u002Fdocs. In fact, the prominence of…",{"value":132,"source":95,"evidence":133},"Project name may infringe Godzilla trademarks",[134,138],{"id":135,"by":136,"text":137},"39183192","jvehent","Don't called your project *Zilla. The copyright owners of Godzilla are known to go after everyone who tries to use the \"Zilla\" suffix. Mozilla learned its lesson long ago and had…",{"id":139,"by":140,"text":141},"39183734","gkanai","As an 10 year Mozilla veteran, I agree you should switch domains\u002Fproject names. Mozilla was able to negotiate a deal for a number of reasons- Mitchell herself is a lawyer, the…",{"value":143,"source":95,"evidence":144},"Commons Clause license is restrictive",[145],{"id":146,"by":147,"text":148},"39181752","josephcsible","https:\u002F\u002Fgithub.com\u002Fboardzilla\u002Fboardzilla-core\u002Fblob\u002Fmain\u002FLICENSE Commons Clause :( If you're worried about some corporation leaching off of you, why not go AGPLv3 instead?",[150,157,164],{"value":151,"source":95,"evidence":152},"Support Python on the server",[153],{"id":154,"by":155,"text":156},"39184428","smcin","You're using Typescript+CSS. Was hoping you'd support Python on the server, for game logic. Your timing is good because developers and publishers currently using BGA are…",{"value":158,"source":95,"evidence":159},"Add self-hosting option and mention it on the website",[160],{"id":161,"by":162,"text":163},"39182445","joemi","I'm looking forward to trying this out! You might want some sort of mention in the website copy about it being self-hostable (unless I'm misinterpreting the docs). The website…",{"value":165,"source":95,"evidence":166},"Add a step-by-step tutorial",[167],{"id":98,"by":99,"text":100},[169,176],{"value":170,"source":95,"evidence":171},"Can games be written in other compile-to-JS languages?",[172],{"id":173,"by":174,"text":175},"39184162","sjrd","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?",{"value":177,"source":95,"evidence":178},"Was permission obtained for Funkenschlag?",[179],{"id":180,"by":181,"text":182},"39182562","lencastre","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…",[184,194,202,209],{"value":185,"source":95,"evidence":186},"boardgame.io",[187,191],{"id":188,"by":189,"text":190},"39187472","darekkay","If you're looking for something more low-level, I can recommend boardgame.io [1]. [1] https:\u002F\u002Fboardgame.io\u002F",{"id":192,"by":11,"text":193},"39187814","Yeah, I can totally recommend boardgame.io as well. Nicolo is super helpful and friendly. Also check out his other project https:\u002F\u002Fboardgamelab.app\u002F.",{"value":195,"source":95,"evidence":196},"Board Game Arena (BGA)",[197,201],{"id":198,"by":199,"text":200},"39182222","jamager","Looks very cool, congrats on the initiative! I think it can be great to develop prototypes, but to build a BGA alternative you will need permission from the publishers to…",{"id":154,"by":155,"text":156},{"value":203,"source":95,"evidence":204},"screentop.gg",[205],{"id":206,"by":207,"text":208},"39184877","jslakro","Good initiative but I consider screentop.gg is a solid and pretty consolidated option on that field. It's quite easy to create games on that system",{"value":210,"source":95,"evidence":211},"Ravens Engine",[212],{"id":213,"by":214,"text":215},"39187636","Longwelwind","You might be interested by an open-source project I started a few years ago but never really finished: https:\u002F\u002Fgithub.com\u002Fravens-engine\u002Fcore I had the idea after developing…",{"comments":217,"answered":42,"key":218},17,[219,220,223],{"id":86,"text":87},{"id":221,"text":222},"39190441","Good feedback, let me see what I can do about this and thanks",{"id":224,"text":225},"39183205","Um, wow, I had no idea. I've got some other pretty good domain names at the ready, so, maybe I need to pull the trigger on that.",{"commenters":227,"max_depth":31,"maker_replies":217,"first_comment_mins":228,"lifespan_hours":229},62,55,79,[231,233,237,239,242,244,247,251,254,257,260,262,265,269,271,273,275,279,282,284,287,289,290,294,296,299,302,305,308,310,312,315,318,321,324,327,329,332,335,336,339,342,345,348,351,354,356,358,360,362,365,368,371,374,376,379,380,383,385,389,390,391,395,399,401,404,407,409,411,413,416,418,421,424,426,429,431,433,435,437,439,441,443,445,450,452,453,457,459,461,463,465,467,471,474,478,481,484,486,488,491,494],[128,40,39,232,129,40],"project\u002Fcritical\u002Fdesign",[234,40,40,235,236,40],"39189419","commenter\u002Fneutral\u002Fdocs","hju22_-3",[86,40,40,238,11,39],"maker\u002Fneutral\u002Fdocs",[240,40,39,232,241,40],"39190411","bananamerica",[221,40,40,243,11,39],"maker\u002Fpositive\u002Fdesign",[245,40,39,232,246,40],"39193052","dzidol",[248,40,40,249,250,40],"39201035","commenter\u002Fneutral\u002Fdesign","genewitch",[252,40,40,253,241,40],"39203878","commenter\u002Fneutral\u002Fnone",[255,40,40,235,256,40],"39191879","johnmaguire",[258,40,40,235,259,40],"39204405","flexagoon",[98,39,37,261,99,40],"project\u002Fmixed\u002Fdocs",[263,39,37,238,264,40],"39182517","andrewghull",[266,39,37,267,268,40],"39184238","project\u002Fneutral\u002Fdesign","AlecSchueler",[135,18,39,270,136,40],"project\u002Fcritical\u002Fidea",[224,18,40,272,11,39],"maker\u002Fneutral\u002Fidea",[117,18,39,274,118,40],"project\u002Fcritical\u002Fexecution",[276,18,40,277,278,40],"39185649","commenter\u002Fneutral\u002Fexecution","jitl",[280,18,40,281,11,39],"39187327","maker\u002Fneutral\u002Fexecution",[283,18,40,281,11,39],"39187788",[285,18,39,274,286,40],"39183351","soneca",[288,18,40,281,11,39],"39183425",[139,18,39,270,140,40],[291,18,40,292,293,40],"39183356","other\u002Fneutral\u002Fnone","cyberninja15",[295,18,40,292,140,40],"39183706",[297,18,40,253,298,40],"39185557","thfuran",[300,18,40,292,301,40],"39184251","paradox460",[303,18,40,292,304,40],"39185440","marssaxman",[306,18,40,292,307,40],"39205161","altairprime",[309,18,40,253,301,40],"39208057",[311,18,40,253,307,40],"39208265",[313,18,40,292,314,40],"39184221","xky",[316,18,40,253,317,40],"39185081","20after4",[319,18,40,253,320,40],"39184227","Aeolun",[322,18,40,292,323,40],"39184842","dharmab",[325,18,40,292,326,40],"39187301","pbhjpbhj",[328,18,40,253,323,40],"39187444",[330,18,40,253,331,40],"39189834","eric_cc",[333,18,40,292,334,40],"39189175","cobbzilla",[154,37,37,267,155,40],[337,37,40,253,338,40],"39184760","gam6121147",[340,37,40,253,341,40],"39184897","tgtweak",[343,37,40,253,344,40],"39184994","monkeywork",[346,37,40,253,347,40],"39189870","hermitcrab",[349,37,40,253,350,40],"39185000","Ensorceled",[352,37,40,292,353,40],"39185228","askvictor",[355,37,40,253,155,40],"39195167",[357,37,40,292,155,40],"39198300",[359,37,40,292,155,40],"39209370",[361,37,40,292,155,40],"39210970",[363,37,40,292,364,40],"39184833","leetrout",[366,37,40,292,367,40],"39185099","rtpg",[369,37,40,292,370,40],"39187223","oezi",[372,37,37,267,373,40],"39184900","factormeta",[80,37,40,375,11,39],"maker\u002Fneutral\u002Fdesign",[377,37,39,378,373,40],"39224002","project\u002Fcritical\u002Fperformance",[70,37,40,267,11,39],[381,37,40,253,382,40],"39188289","PufPufPuf",[384,37,40,253,155,40],"39196225",[386,42,44,387,388,40],"39184342","project\u002Fpositive\u002Fidea","cableshaft",[188,44,39,270,189,40],[192,44,40,292,11,39],[392,393,40,292,394,40],"39186455",6,"JoeOfTexas",[396,393,44,397,398,40],"39186807","project\u002Fpositive\u002Fdocs","jmpavlec",[198,400,39,270,199,40],7,[402,400,40,403,11,39],"39182310","project\u002Fneutral\u002Fidea",[405,400,40,253,406,40],"39182509","vindex10",[408,400,37,403,199,40],"39187613",[109,31,44,410,110,40],"project\u002Fpositive\u002Fdesign",[121,412,39,274,122,40],9,[414,412,40,415,11,39],"39187342","project\u002Fneutral\u002Fexecution",[417,412,40,415,11,39],"39187792",[419,412,44,420,122,40],"39189349","project\u002Fpositive\u002Fexecution",[180,422,37,423,181,40],10,"project\u002Fneutral\u002Fnone",[425,422,37,423,264,40],"39182757",[427,428,39,274,118,40],"39183274",11,[430,428,40,415,11,39],"39183363",[432,428,40,415,11,39],"39183420",[434,428,44,420,118,40],"39183443",[436,428,39,274,118,40],"39184114",[213,438,40,292,214,40],12,[440,438,40,267,11,39],"39187684",[442,438,37,375,214,40],"39187751",[444,438,37,267,264,40],"39192914",[446,447,37,448,449,40],"39189889",13,"project\u002Fmixed\u002Fexecution","kevinyew",[451,447,40,415,11,39],"39189910",[173,33,37,423,174,40],[454,455,44,387,456,40],"39182229",15,"joeld42",[458,455,37,423,264,40],"39182467",[161,32,37,460,162,40],"project\u002Fneutral\u002Fdocs",[462,32,40,423,11,39],"39182485",[464,32,37,460,162,40],"39183995",[102,217,44,466,103,40],"project\u002Fpositive\u002Fnone",[468,469,44,410,470,40],"39186576",18,"mNovak",[206,472,40,473,207,40],19,"other\u002Fcritical\u002Fidea",[475,476,40,292,477,40],"39187774",20,"fayazara",[146,479,39,480,147,40],21,"project\u002Fcritical\u002Fnone",[482,479,37,483,264,40],"39181838","maker\u002Fneutral\u002Fnone",[485,479,37,423,147,40],"39181964",[487,479,37,423,264,40],"39182054",[489,479,40,292,490,40],"39182358","pessimizer",[492,479,40,292,493,40],"39183646","Tyr42",[495,479,40,292,496,40],"39186144","whatyesaid",[],[499,504,509,514,519,524],{"id":500,"name":501,"points":502,"category":503},"39159418","Pong Wars",490,"games",{"id":505,"name":506,"points":507,"category":508},"39191870","Ubicloud",475,"infrastructure",{"id":510,"name":511,"points":512,"category":513},"39148336","PlatoEdu",289,"learning_science",{"id":515,"name":516,"points":517,"category":518},"39201182","gpt",280,"ai",{"id":520,"name":521,"points":522,"category":523},"39207570","Stanchion",273,"data",{"id":525,"name":526,"points":527,"category":518},"39176570","WhisperFusion",272,false,"v2",{"id":531,"name":5,"line":6,"ai":528,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":532,"top":18,"kw":533,"maker":11,"domain":10,"tier":19,"attempts":40,"strip":534,"url":9,"mix":535,"praise":94,"objection":114,"sub":21},39180953,-0.09,[24,25,26,27],"1110311110000003000031035151513033435130",[31,32,18,33],1793991083702]