Show HN: Framework pembuatan board game berbasis web, Boardzilla
(boardzilla.io)- Boardzilla adalah framework yang bertujuan menurunkan hambatan masuk dalam pembuatan board game digital dengan memungkinkan board game dimainkan dan dikembangkan di browser
- Pengembang ditujukan untuk dapat mengekspresikan aturan game, sementara pemain melihat pilihan yang tersedia melalui antarmuka sederhana
- Contoh game yang telah dipublikasikan mencakup 7 Wonders Duel, Cursed, Dyngus Day, 27Panic, Hearts, Hex, Power Grid, Skirma, dan Stunt Kites
- Dukungan jumlah pemain berbeda untuk tiap game, mulai dari solo hingga 4 pemain; 7 Wonders Duel, Hex, dan Skirma adalah game 2 pemain, sedangkan Hearts adalah 4 pemain
- Pengguna yang ingin membuat board game sendiri dapat memulai pengembangan melalui dokumentasi dan halaman pengenalan yang disediakan
Apa yang ditawarkan Boardzilla
- Boardzilla adalah lingkungan berbasis web untuk memudahkan pembuatan board game digital
- Board game dapat dimainkan dan dikembangkan langsung di dalam browser
- Framework ini memudahkan pengekspresian aturan game dan menyediakan pilihan yang tersedia bagi pemain melalui antarmuka yang sederhana
Contoh game yang dapat dimainkan
- 7 Wonders Duel: 2 pemain
- Cursed: solo
- Dyngus Day: 1–4 pemain
- 27Panic: 2–4 pemain
- Hearts: 4 pemain
- Hex: 2 pemain
- Power Grid: 2–4 pemain
- Skirma: 2 pemain
- Stunt Kites: 1–2 pemain
Jalur memulai pengembangan
- Pengguna yang ingin membuat game sendiri dapat memulai dari dokumentasi Boardzilla
- Pengenalan layanan dapat dilihat di What is Boardzilla
1 komentar
Komentar Hacker News
Menurut saya pesan yang paling menonjol di landing page seharusnya bukan ajakan “Bergabung ke Discord”
Contoh serta tautan ke sumber/dokumentasi seharusnya ditampilkan lebih dulu. Untuk proyek seperti ini, kalau “Bergabung ke Discord” terlalu ditekankan, secara pribadi saya malah jadi merasa berjarak. Sepertinya bukan cuma saya
Saya benar-benar tidak suka Discord kecuali untuk semacam platform komunikasi sekali pakai antar teman. Tapi orang-orang cenderung memakai Discord seperti platform utama, bukan hanya untuk pertanyaan dukungan, bahkan sampai dokumentasi. Kualitas pencariannya buruk dan tidak diindeks mesin pencari, jadi saat perlu mencari solusi, itu benar-benar yang terburuk
Kelihatannya bagus. Cakupan fiturnya luas, jadi pasti ada banyak bagian yang bergerak; sepertinya pekerjaan yang dilakukan cukup besar. Setidaknya menyenangkan melihat ada game engine yang berfokus pada game tabletop, tetapi tidak hanya berfokus pada rendering itu sendiri
Namun, sebagai orang yang pernah membuat game kartu dan dadu dapat dimainkan online dengan HTML/JavaScript murni, saya masih belum begitu paham bagaimana mereproduksi hal yang sama dengan sistem ini. Dari dokumentasinya, kartu didukung, dan abstraksinya juga tampak cukup umum untuk cocok dengan berbagai game, tetapi tutorial langkah demi langkah akan sangat membantu. Saya paham mengapa abstraksi seperti Actions, Flows, selections, conditions, prompts dipilih, tetapi tanpa melihat bagaimana semuanya dirakit dalam praktik, sulit bagi saya membayangkan di mana harus mengubah bagian yang ingin saya ubah. Tanpa tutorial, secara pribadi saya rasa akan sulit membuat banyak kemajuan
Player) dan diletakkan di atas ruang (Space) pada meja, yaituPieceKartu dan dadu didefinisikan dengan mewarisi
Piece, pemain dibuat mewarisiPlayer, lalu entitas seperti Teller yang mengelola deck juga bisa dijadikanPlayer. Setelah itu tinggal memikirkan bagaimana menempatkan instanceSpaceyang diperlukan aturan di papan. Aturan masuk ke dalam instance kelasGame, dan di dalamnya ada konsep aksi yang merupakan instance kelasAction. Aksi ini menerima argumen yang mendefinisikan prompt pengguna, kondisi eksekusi yang legal, dan efek eksekusi. Selain itu ada cukup banyak fungsi utilitas yang dapat diharapkan, seperti mencari dan membandingkan bidak, dan sisanya bergantung pada logika game. Dari contoh, ada juga fungsi untuk memfilterSpacedanPiece, jadi tampaknya logika UI bisa dibuat dengan cepathttps://docs.boardzilla.io/game/creating-a-game
Sebaiknya jangan menambahkan *Zilla pada nama proyek. Pemegang hak cipta Godzilla dikenal aktif mengejar pihak yang mencoba memakai sufiks “Zilla”. Mozilla juga sudah lama belajar dari hal itu dan harus membuat kesepakatan terpisah
Satu-satunya kasus merek dagang yang kalah oleh Toho adalah melawan perusahaan kantong sampah bernama ‘trashzilla’, dan salah satu alasannya juga karena itu tidak membahayakan kepentingan bisnis Toho. Edit: saya belum melihat logonya. Ini jelas bisa menjadi masalah
Jadi ini memakai TypeScript+CSS. Saya berharap ada dukungan Python di server untuk logika game. Momentumnya sedang bagus, karena para developer dan publisher yang memakai BGA sedang gelisah dengan model bisnis Asmodee
Stack BGA Studio adalah JS/CSS + PHP (klien dan server) + MySQL [0]
Yucata.de memakai JS + HTML + .NET 4.5 di server [1]
TTS memakai Lua; saat saya lihat, itu tampak unik dan terbatas. Saya tidak paham kenapa memilih bahasa non-OOP untuk board game, padahal itu juga bukan berorientasi objek. Ulasan situs/framework tahun 2021 “VassalEngine: Survey of other boardgame software” juga berguna [2]
Akan sangat bagus kalau bisa terintegrasi dengan Python di server
[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...
Pemrograman berorientasi objek tetap bisa dilakukan tanpa class [0]. Dan tidak realistis mengharapkan developer mem-porting dan memelihara seluruh proyek ke Python hanya karena tidak ingin belajar bahasa pemrograman baru
[0]: https://en.wikipedia.org/wiki/Lua_(programming_language)#Obj...
Bagus. Saya punya banyak sekali prototipe board game yang suatu hari ingin saya jadikan game web, jadi saya pernah menulis sedikit fungsi library generik untuk membuat board game. Saya berhenti di pembuatan grid, lempar dadu kustom, mengambil kartu, fungsi turnamen, pengujian yang menunjukkan beberapa skenario, dan beberapa hal lain; tapi karena dikerjakan sambil proyek-proyek lain, sepertinya saya tidak akan punya waktu untuk benar-benar membangunnya. Saya perlu melihat seberapa mudah library ini digunakan
Saya setuju bahwa mempelajari platform BGA cukup menyakitkan. 1) Terikat pada platform sehingga game tidak bisa dipasang di tempat lain, 2) semuanya PHP, yang sekarang tidak terlalu ingin saya pakai, dan 3) dokumentasinya tersebar di berbagai tempat, bahkan termasuk materi presentasi PowerPoint
Kalau mencari sesuatu yang lebih low-level, saya bisa merekomendasikan boardgame.io
[1] https://boardgame.io/
Bidang ini benar-benar sulit. Agar berhasil, menurut saya Anda perlu punya game yang langsung hit, atau mencurahkan upaya komunitas yang luar biasa untuk mengumpulkan pemain setiap hari sepanjang tahun
Saya pernah mencoba peruntungan dengan https://acos.games pada masa awal ketika hampir tidak ada alternatif BGA. Sampai sekarang pun saya masih mengembangkannya diam-diam saat senggang. Kegagalan terbesar adalah UI/UX. Orang-orang tidak terlalu peduli pada teknologi keren yang tersembunyi di baliknya
Terlihat sangat keren, dan selamat atas peluncurannya
Ini bisa sangat bagus untuk pengembangan prototipe, tapi untuk membuat alternatif BGA, Anda mungkin perlu mendapat izin dari publisher untuk mengimplementasikan/mendistribusikan game. Karena BGA sangat besar dan dimiliki Asmodee, sepertinya itu tidak mudah. Semoga saya salah
“Singkatnya, nama dan logo bisa dilindungi sebagai merek dagang, dan karya seni memiliki hak cipta (board itu sendiri juga bisa termasuk karya seni). Mekanisme, prosedur, dan aturan tidak bisa dilindungi hak cipta. Itulah sebabnya klon Monopoly/Scrabble ada.”
https://www.reddit.com/r/gamedev/comments/10f2nov/comment/j4...
Di sini mereka merujuk ke video YouTube ini
https://www.youtube.com/watch?v=iZQJQYqhAgY
Terlihat sangat keren. Saya tidak sabar untuk mencobanya sendiri
Senang ada perintah alur everyPlayer yang memungkinkan aksi serentak. Ini fitur yang tidak ada di framework board game lain yang pernah saya gunakan
[1]: https://docs.boardzilla.io/game/flow#everyplayer
Terjadi error di semua contoh game
Object.hasOwn is not a function. (In 'Object.hasOwn(e,A.from)', 'Object.hasOwn' is undefined)Jejak stack-nya sebagai berikut
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:180657Sepertinya perlu menambahkan polyfill