Show HN: वेब-आधारित बोर्ड गेम निर्माण framework, Boardzilla
(boardzilla.io)- Boardzilla एक ऐसा framework है जो ब्राउज़र में बोर्ड गेम खेलने और विकसित करने की सुविधा देता है, ताकि डिजिटल बोर्ड गेम बनाना आसान हो सके
- इसका लक्ष्य ऐसा workflow देना है जिसमें डेवलपर गेम के नियम व्यक्त कर सकें, और खिलाड़ी सरल interface में उपलब्ध विकल्प देख सकें
- सार्वजनिक example games में 7 Wonders Duel, Cursed, Dyngus Day, 27Panic, Hearts, Hex, Power Grid, Skirma, Stunt Kites आदि शामिल हैं
- हर गेम के लिए समर्थित खिलाड़ियों की संख्या 1-player से 4-player तक अलग-अलग है; 7 Wonders Duel, Hex, और Skirma 2-player हैं, जबकि Hearts 4-player है
- जो उपयोगकर्ता अपना खुद का बोर्ड गेम बनाना चाहते हैं, वे दिए गए docs और introduction page के जरिए development शुरू कर सकते हैं
Boardzilla क्या प्रदान करता है
- Boardzilla डिजिटल बोर्ड गेम आसानी से बनाने के लिए एक वेब-आधारित environment है
- इसमें ब्राउज़र के भीतर बोर्ड गेम play और develop किए जा सकते हैं
- यह गेम नियमों को व्यक्त करना आसान बनाता है और खिलाड़ियों को उपलब्ध विकल्प एक सरल interface में देता है
खेलने योग्य गेम उदाहरण
- 7 Wonders Duel: 2-player
- Cursed: 1-player
- Dyngus Day: 1~4-player
- 27Panic: 2~4-player
- Hearts: 4-player
- Hex: 2-player
- Power Grid: 2~4-player
- Skirma: 2-player
- Stunt Kites: 1~2-player
डेवलपमेंट शुरू करने के रास्ते
- जो उपयोगकर्ता अपना खुद का गेम बनाना चाहते हैं, वे Boardzilla docs से शुरू कर सकते हैं
- सेवा का परिचय What is Boardzilla में देखा जा सकता है
1 टिप्पणियां
Hacker News की राय
मेरे हिसाब से landing page का सबसे प्रमुख संदेश “Discord से जुड़ें” call नहीं होना चाहिए
examples और source/docs के links पहले दिखने चाहिए। ऐसे projects में “Discord से जुड़ें” को बहुत ज़्यादा highlight किया जाए, तो निजी तौर पर मुझे उल्टा दूरी महसूस होती है। लगता है सिर्फ मैं ही ऐसा नहीं सोचता
Discord मुझे सचमुच पसंद नहीं, सिवाय इसके कि वह दोस्तों के बीच disposable communication platform जैसा इस्तेमाल हो। लेकिन लोगों में support questions ही नहीं, documentation तक के लिए Discord को मुख्य platform की तरह इस्तेमाल करने की प्रवृत्ति है। Search quality भी खराब है और search engine indexing भी नहीं होती, इसलिए जब कोई solution ढूँढना हो तो यह सचमुच सबसे खराब है
अच्छा लग रहा है। Feature scope बड़ा है, इसलिए moving parts भी बहुत होंगे; लगता है काम काफी ज्यादा रहा होगा। कम-से-कम tabletop games पर focus करने वाला, लेकिन सिर्फ rendering पर focus न करने वाला game engine होना अच्छी बात है
हालांकि cards और dice games को pure HTML/JavaScript में online playable बनाने वाले के तौर पर, इस system में वही चीज़ कैसे reproduce करनी होगी, यह अभी मुझे साफ नहीं है। Docs देखकर लगता है cards support हैं, और abstraction भी इतनी generic है कि कई तरह के games में fit हो सकती है, लेकिन step-by-step tutorial बहुत मददगार होगा। Actions, Flows, selections, conditions, prompts जैसी abstractions क्यों चुनी गई हैं, यह समझ आता है, लेकिन जब तक उन्हें सच में assemble होते न देखूँ, यह अंदाज़ा लगाना मुश्किल है कि जिस point को मैं बदलना चाहता हूँ, उसे कहाँ बदलूँ। Tutorial के बिना निजी तौर पर मुझे ज्यादा progress करना मुश्किल लगेगा
Player) के बीच move करती हैं और table के spaces (Space) पर रखी जाती हैं, यानीPieceको handle करने वाला structureCards और dice को
Pieceinherit करके define करें, players कोPlayerinherit करने दें, और deck manage करने वाले Teller जैसे entity को भीPlayerबनाया जा सकता है। फिर सोचना होगा कि rules के लिए ज़रूरीSpaceinstances को board पर कैसे place किया जाए। RulesGameclass instance के अंदर जाते हैं, और उसमेंActionclass instances के रूप में actions का concept होता है। ये actions user prompt, legal execution conditions, और execution effects define करने वाले arguments लेते हैं। इसके अलावा pieces ढूँढने, compare करने और अपेक्षित convenience functions काफी हैं, और बाकी game logic पर निर्भर करता है। Examples देखकर लगता है किSpaceऔरPieceको filter करने वाले functions भी हैं, जिससे UI logic जल्दी बनाया जा सकता हैhttps://docs.boardzilla.io/game/creating-a-game
Project name में *Zilla जोड़ना अच्छा नहीं है। Godzilla copyright holders “Zilla” suffix इस्तेमाल करने की कोशिश करने वालों को actively track करने के लिए जाने जाते हैं। Mozilla ने भी बहुत पहले सबक सीखा था और अलग agreement करना पड़ा था
Toho ने जो एकमात्र trademark case हारा था, वह ‘trashzilla’ नाम की garbage bag company के खिलाफ था, और कारणों में यह भी था कि वह Toho के business interests के लिए खतरा नहीं था। Edit: logo नहीं देखा था। यह निश्चित रूप से problem हो सकता है
आप TypeScript+CSS इस्तेमाल कर रहे हैं। उम्मीद थी कि गेम लॉजिक वाले सर्वर के लिए Python सपोर्ट होगा। अभी टाइमिंग अच्छी है, क्योंकि BGA इस्तेमाल करने वाले डेवलपर और पब्लिशर Asmodee के बिजनेस मॉडल की वजह से असहज हैं
BGA Studio स्टैक JS/CSS + PHP(क्लाइंट और सर्वर) + MySQL है [0]
Yucata.de JS + HTML + सर्वर पर .NET 4.5 है [1]
TTS ने Lua इस्तेमाल किया था, लेकिन देखने पर वह अजीब और सीमित लगा। वह ऑब्जेक्ट-ओरिएंटेड भी नहीं है, तो समझ नहीं आता कि बोर्ड गेम्स के लिए नॉन-ऑब्जेक्ट-ओरिएंटेड भाषा क्यों चुनी जाए। 2021 की साइट/फ्रेमवर्क समीक्षा “VassalEngine: Survey of other boardgame software” भी उपयोगी है [2]
अगर सर्वर पर Python के साथ इंटीग्रेशन मिल सके तो बहुत अच्छा होगा
[0]: https://boardgamearena.com/doc/Studio
[1]: https://www.yucata.de/en/FAQ#t17
[2]: https://forum.vassalengine.org/t/survey-of-other-boardgame-s...
classes के बिना भी object-oriented programming संभव है [0]। और सिर्फ इसलिए कि कोई नई programming language नहीं सीखना चाहता, यह उम्मीद करना कि डेवलपर पूरा प्रोजेक्ट Python में port करके maintain करे, उचित नहीं है
[0]: https://en.wikipedia.org/wiki/Lua_(programming_language)#Obj...
अच्छा है। मेरे पास बहुत सारे board game prototypes हैं जिन्हें कभी web games में बनाना चाहता हूं, इसलिए मैंने board game बनाने के लिए कुछ general-purpose library functions लिखने की कोशिश की थी। grid generation, custom dice rolling, card drawing, tournament functions, कई scenarios दिखाने वाले tests और कुछ अन्य चीजों तक पहुंचकर रुक गया, लेकिन दूसरे projects के साथ-साथ इसे ठीक से बनाने का समय शायद नहीं मिलेगा। देखना होगा कि इस library को इस्तेमाल करना कितना आसान है
मैं सहमत हूं कि BGA platform सीखना काफी दर्दनाक है। 1) platform से बंध जाते हैं, इसलिए game को कहीं और नहीं डाल सकते, 2) सब कुछ PHP है, जिसे अब ज्यादा इस्तेमाल नहीं करना चाहता, और 3) documentation कई जगह बिखरी हुई है, यहां तक कि PowerPoint presentations भी शामिल हैं
अगर आप कुछ और low-level ढूंढ रहे हैं तो boardgame.io recommend कर सकता हूं
[1] https://boardgame.io/
यह क्षेत्र सचमुच कठिन है। सफल होने के लिए या तो आपके पास तुरंत hit होने वाला game होना चाहिए, या फिर पूरे साल हर दिन players जुटाने में जबरदस्त community effort लगाना होगा
BGA alternatives लगभग न होने के शुरुआती दौर में मैंने https://acos.games के साथ किस्मत आजमाई थी। आज भी खाली समय में पीछे से इसे develop करता रहता हूं। सबसे बड़ी नाकामी UI/UX थी। लोगों को पर्दे के पीछे छिपी शानदार technology में ज्यादा रुचि नहीं होती
बहुत शानदार लग रहा है, और शुरुआत के लिए बधाई
prototype development के लिए यह बढ़िया हो सकता है, लेकिन BGA alternative बनाने के लिए publishers से games implement/deploy करने की अनुमति लेनी होगी। BGA बहुत बड़ा है और Asmodee के ownership में है, इसलिए यह आसान नहीं लगेगा। उम्मीद है मैं गलत साबित होऊं
“संक्षेप में, नाम और logos को trademark से protect किया जा सकता है, और art पर copyright होता है (board खुद भी art के रूप में हो सकता है)। mechanics, procedures, rules को copyright से protect नहीं किया जा सकता। इसलिए Monopoly/Scrabble clones मौजूद हैं।”
https://www.reddit.com/r/gamedev/comments/10f2nov/comment/j4...
यहां इस YouTube video का reference दिया गया है
https://www.youtube.com/watch?v=iZQJQYqhAgY
सच में शानदार लग रहा है। इसे खुद आज़माने का इंतज़ार है
simultaneous actions की अनुमति देने वाला everyPlayer flow command देखकर अच्छा लगा। मैंने जिन दूसरे board game frameworks को इस्तेमाल किया है, उनमें यह feature नहीं था
[1]: https://docs.boardzilla.io/game/flow#everyplayer
सभी sample games में error आ रहा है
Object.hasOwn is not a function. (In 'Object.hasOwn(e,A.from)', 'Object.hasOwn' is undefined)stack trace इस तरह है
su@https://www.boardzilla.io/build/_shared/chunk-ZEYFFM3P.js:16:114536Fs@https://www.boardzilla.io/build/_shared/chunk-QNN53S6I.js:9:128279Ch@https://www.boardzilla.io/build/_shared/chunk-QNN53S6I.js:11:180657लगता है polyfill जोड़ना पड़ेगा