3 poin oleh GN⁺ 2024-01-30 | 1 komentar | Bagikan ke WhatsApp
  • 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

Jalur memulai pengembangan

1 komentar

 
GN⁺ 2024-01-30
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 juga sama
      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

    • Jika dilihat dalam konteks board game fisik, intinya tampak berbasis dua kelas utama. Strukturnya menangani hal-hal yang berada di tangan atau berpindah antar pemain (Player) dan diletakkan di atas ruang (Space) pada meja, yaitu Piece
      Kartu dan dadu didefinisikan dengan mewarisi Piece, pemain dibuat mewarisi Player, lalu entitas seperti Teller yang mengelola deck juga bisa dijadikan Player. Setelah itu tinggal memikirkan bagaimana menempatkan instance Space yang diperlukan aturan di papan. Aturan masuk ke dalam instance kelas Game, dan di dalamnya ada konsep aksi yang merupakan instance kelas Action. 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 memfilter Space dan Piece, jadi tampaknya logika UI bisa dibuat dengan cepat
    • Saya ingin memperbanyak dokumentasi, tetapi itu memakan banyak waktu. Saya mengerti bahwa bahkan game yang tampak sederhana pun bisa terasa membingungkan saat dipindahkan ke API yang terstruktur. Entah akan membantu atau tidak, tetapi saya punya rekaman video pembuatan sebagian game
      https://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

    • Saya sama sekali tidak tahu. Saya juga sudah menyiapkan beberapa nama domain lain yang cukup bagus, jadi mungkin sekarang saatnya mengambil keputusan
    • Saya tidak paham bagaimana ini ada kaitannya sedikit pun dengan Godzilla atau hak ciptanya. Jauh sekali dari monster nuklir raksasa
      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
    • Ini cukup mengejutkan. Saya tidak tahu hak cipta *Zilla seagresif itu
    • Meta juga aktif menegakkan hak merek terhadap pemohon merek dagang yang berakhiran ‘book’
    • Revzilla dan Partzilla juga mengalami sengketa hukum panjang terkait nama *zilla
  • 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...

    • Mengenai “kenapa memilih bahasa non-OOP untuk board game”, Lua memang dulunya pilihan yang cukup populer di kalangan developer game. Salah satu alasannya adalah mudah meng-embed bahasa scripting ke dalam game
      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...
    • Alasan servernya bukan Python adalah karena di boardzilla, game tidak direpresentasikan dua kali untuk klien dan server. Sebagai gantinya, cukup ditulis sekali dengan TypeScript, lalu kode itu benar-benar dipakai di sisi server maupun klien. Klien bertindak seperti server, hanya tanpa informasi tersembunyi
    • Saya penasaran kenapa Anda begitu menginginkan Python di backend. TypeScript bisa berjalan di backend dan berbagai frontend, jadi ini pilihan yang cukup logis. Bukan hanya web, tetapi juga bisa dipakai di game engine seperti Unity. Sistem tipenya juga lebih baik daripada Python
    • Saya penasaran apa model bisnis Asmodee, dan apa hubungannya dengan BGA
    • TypeScript sendiri tidak masalah, tapi bagian React yang membuat saya khawatir. Untuk frontend game, bukankah orang akan lebih menginginkan sesuatu yang lebih ringan daripada React, seperti Svelte, Marko, atau Solid?
  • 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/

    • boardgame.io juga sangat layak direkomendasikan. Nicolo benar-benar baik dan sangat membantu. Proyek lain, https://boardgamelab.app/, juga patut dicek
  • 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

    • Ini terlihat dibuat dengan sangat baik. Dokumentasinya juga ditulis dengan sangat bagus. Saya tidak punya kebutuhan untuk memakainya saat ini, tapi membaca dokumentasinya saja untuk melihat apa yang mungkin dilakukan sudah menarik. Fitur manajemen state dan replay game terlihat keren. Saya juga sedang membuat kumpulan game sendiri, dan membayangkan saja bagaimana membuat sistemnya cukup fleksibel agar bisa diintegrasikan orang lain sudah terasa seperti pekerjaan besar. Upaya yang dicurahkan di sini mengesankan
  • 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

    • Saya bukan ahli hukum, tapi sejauh yang saya pahami, selama tidak memakai gambar kartu/board yang sama atau menyalin rulebook secara verbatim, mekanisme game bukan objek yang dilindungi hak cipta
      “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
    • Saya sepenuhnya setuju bahwa Asmodee pada dasarnya telah mencegah pesaing sungguhan masuk ke pasar. Alih-alih berhadapan langsung dengan BGA, saya punya ide untuk melihat game-game yang lebih kecil dari publisher indie. Saya tidak tahu seberapa realistis itu, tapi saya juga tidak terlalu tahu harus melakukan apa lagi
  • 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:114536
    Fs@https://www.boardzilla.io/build/_shared/chunk-QNN53S6I.js:9:128279
    Ch@https://www.boardzilla.io/build/_shared/chunk-QNN53S6I.js:11:180657
    Sepertinya perlu menambahkan polyfill

    • Saya sudah menambahkan polyfill. Tolong beri tahu apakah sudah teratasi
    • Saya akan segera menambahkan polyfill