- Boardzilla, tarayıcıda masa oyunları oynamayı ve geliştirmeyi mümkün kılarak dijital masa oyunu üretmenin giriş bariyerini düşürmeyi hedefleyen bir framework
- Geliştiricilerin oyun kurallarını ifade etmesini, oyuncuların da olası seçenekleri basit bir arayüz üzerinden görmesini sağlayan bir akış amaçlıyor
- Yayındaki örnek oyunlar arasında 7 Wonders Duel, Cursed, Dyngus Day, 27Panic, Hearts, Hex, Power Grid, Skirma, Stunt Kites gibi oyunlar bulunuyor
- Oyunlara göre desteklenen oyuncu sayısı tek kişilikten 4 kişiliğe kadar değişiyor; 7 Wonders Duel, Hex ve Skirma 2 kişilik, Hearts ise 4 kişilik
- Kendi masa oyununu yapmak isteyen kullanıcılar, sunulan dokümantasyon ve tanıtım sayfası üzerinden geliştirmeye başlayabilir
Boardzilla neler sunuyor
- Boardzilla, dijital masa oyunlarını kolayca yapmak için web tabanlı bir ortam
- Tarayıcı içinde masa oyunlarını oynamayı ve geliştirmeyi mümkün kılıyor
- Oyun kurallarını ifade etmeyi kolaylaştırıyor ve oyunculara olası seçenekleri basit bir arayüzle sunuyor
Oynanabilir oyun örnekleri
- 7 Wonders Duel: 2 kişilik
- Cursed: 1 kişilik
- Dyngus Day: 1~4 kişilik
- 27Panic: 2~4 kişilik
- Hearts: 4 kişilik
- Hex: 2 kişilik
- Power Grid: 2~4 kişilik
- Skirma: 2 kişilik
- Stunt Kites: 1~2 kişilik
Geliştirmeye başlama yolu
- Kendi oyununu yapmak isteyen kullanıcılar Boardzilla dokümantasyonundan başlayabilir
- Servis tanıtımına What is Boardzilla üzerinden bakılabilir
1 yorum
Hacker News yorumları
Açılış sayfasındaki en göze çarpan mesajın “Discord’a katıl” çağrısı olmaması gerektiğini düşünüyorum
Önce örnekler ve kaynak/belge bağlantıları görünmeli. Böyle projelerde “Discord’a katıl” fazla öne çıkarılınca kişisel olarak bende tam tersine mesafe hissi yaratıyor. Sanırım yalnız değilimdir
Discord’u, arkadaşlar arasında kullanılan tek seferlik bir iletişim platformu gibi durumlar dışında gerçekten sevmiyorum. Ama insanlar yalnızca destek soruları için değil, dokümantasyon için bile Discord’u ana platform gibi kullanma eğiliminde. Arama kalitesi kötü, arama motorları tarafından da indekslenmiyor; bu yüzden bir çözüm bulmanız gerektiğinde gerçekten en kötü seçenek
Güzel görünüyor. Kapsamı geniş olduğu için çok fazla hareketli parça vardır; epey emek gerektirmiş olmalı. En azından masaüstü oyunlara odaklanan ama yalnızca render etmeye odaklanmayan bir oyun motoru olması sevindirici
Ancak kart ve zar oyunlarını saf HTML/JavaScript ile çevrimiçi oynanabilir hâle getirmiş biri olarak, aynı şeyi bu sistemle nasıl yeniden kuracağımı henüz pek anlayabilmiş değilim. Belgelere bakınca kartlar destekleniyor ve soyutlamalar da çeşitli oyunlara uyacak kadar genel görünüyor; ama adım adım bir öğretici çok yardımcı olurdu. Actions, Flows, selections, conditions, prompts gibi soyutlamaların neden seçildiğini anlıyorum, fakat pratikte nasıl bir araya geldiklerini görmeden değiştirmek istediğim noktayı nerede değiştirmem gerektiğini kestiremiyorum. Öğretici olmadan kişisel olarak fazla ilerleyemeyecek gibiyim
Player) arasında hareket eden ve masadaki alanların (Space) üzerine konan şeyleri, yaniPiece’leri ele alan bir yapıKartlar ve zarlar
Piece’ten türetilerek tanımlanır, oyuncularPlayer’dan türetilir; desteyi yöneten Teller gibi bir varlık daPlayerolarak konabilir. Sonra kurallar için gerekenSpaceörneklerini tahtaya nasıl yerleştireceğinizi düşünürsünüz. KurallarGamesınıfı örneğinin içine girer; onun içinde deActionsınıfı örnekleri olan eylem kavramı bulunur. Bu eylem, kullanıcı istemini, yasal yürütme koşullarını ve yürütme etkisini tanımlayan argümanlar alır. Bunun dışında parçaları bulma, karşılaştırma ve beklenebilecek kolaylaştırıcı fonksiyonlar epey var; gerisi oyun mantığına kalıyor. Örneklere bakıncaSpacevePiece’leri filtreleyen fonksiyonlar da var, bu yüzden UI mantığını hızlıca kurmak mümkün görünüyorhttps://docs.boardzilla.io/game/creating-a-game
Proje adında *Zilla kullanmamak daha iyi olur. Godzilla’nın telif hakkı sahiplerinin “Zilla” sonekini kullanmak isteyenleri aktif biçimde takip ettiği biliniyor. Mozilla da uzun zaman önce dersini alıp ayrı bir anlaşma yapmak zorunda kalmıştı
Toho’nun kaybettiği tek marka davası, ‘trashzilla’ adlı bir çöp torbası şirketine karşıydı; bunun Toho’nun ticari çıkarları için risk oluşturmaması da gerekçelerden biriydi. Düzenleme: Logoyu görmemişim. Bu kesinlikle sorun olabilir
TypeScript+CSS kullanıyorsunuz. Oyun mantığı için sunucuda Python desteği olmasını ummuştum. Zamanlama şu an iyi; BGA kullanan geliştiriciler ve yayıncılar Asmodee’nin iş modeli nedeniyle huzursuz.
BGA Studio yığını JS/CSS + PHP (istemci ve sunucu) + MySQL [0]
Yucata.de JS + HTML + sunucuda .NET 4.5 kullanıyor [1]
TTS Lua kullanıyordu; baktığımda tuhaf ve sınırlı görünmüştü. Nesne yönelimli bile değilken, board game için neden nesne yönelimli olmayan bir dil seçilir anlamıyorum. 2021 tarihli site/framework incelemesi “VassalEngine: Survey of other boardgame software” da faydalı [2]
Sunucuda Python ile entegre edilebilirse gerçekten harika olurdu
[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...
Sınıflar olmadan da nesne yönelimli programlama yapmak mümkün [0]. Ayrıca bir geliştiricinin sırf yeni bir programlama dili öğrenmek istemediğiniz için tüm projeyi Python’a taşımasını ve bakımını yapmasını beklemek fazla olur
[0]: https://en.wikipedia.org/wiki/Lua_(programming_language)#Obj...
Güzel. Bir gün web oyunu olarak yapmak istediğim çok sayıda board game prototipim olduğu için, board game yapımı için bazı genel amaçlı kütüphane fonksiyonları yazmayı denemiştim. Izgara oluşturma, özel zar atma, kart çekme, turnuva fonksiyonları, birden çok senaryoyu gösteren testler ve birkaç şeyde kaldı; ama diğer projelerle birlikte yürüttüğümden bunu düzgünce geliştirmeye pek zamanım olmayacak gibi. Bu kütüphanenin ne kadar kolay kullanılabildiğine bakmam gerekecek
BGA platformunu öğrenmenin epey sancılı olduğuna katılıyorum. 1) Platforma bağlı kalıyorsunuz, oyunu başka yere koyamıyorsunuz; 2) her şey PHP, artık pek kullanmak istemiyorum; 3) dokümantasyon birçok yere dağılmış ve PowerPoint sunumları bile içeriyor
Daha düşük seviyeli bir şey arıyorsanız boardgame.io’yu önerebilirim
[1] https://boardgame.io/
Bu alan gerçekten zor. Başarılı olmak için ya anında hit olan bir oyununuz olmalı ya da yıl boyunca her gün oyuncu toplamak için muazzam bir topluluk emeği harcamalısınız diye düşünüyorum
BGA alternatiflerinin neredeyse hiç olmadığı ilk dönemde https://acos.games ile şansımı denemiştim. Hâlâ canım sıkıldığında arkada geliştirmeye devam ediyorum. En büyük başarısızlık UI/UX idi. İnsanlar arkasında saklı duran harika teknolojiyle pek ilgilenmiyor
Çok havalı görünüyor, başlangıç için tebrikler
Prototip geliştirme için harika olabilir ama BGA alternatifi oluşturmak için yayıncılardan oyunları uygulama/yayınlama izni almanız gerekir. BGA çok büyük ve Asmodee’ye ait olduğu için bu kolay görünmüyor. Umarım yanılıyorumdur
“Özetle, ad ve logo marka olarak korunabilir, sanat eserlerinin telif hakkı vardır (tahtanın kendisi de sanat eseri olarak buna girebilir). Mekanikler, prosedürler ve kurallar telif hakkıyla korunamaz. Bu yüzden Monopoly/Scrabble klonları var.”
https://www.reddit.com/r/gamedev/comments/10f2nov/comment/j4...
Burada şu YouTube videosuna atıf yapılıyor
https://www.youtube.com/watch?v=iZQJQYqhAgY
Gerçekten harika görünüyor. Kendim kurcalamayı dört gözle bekliyorum
Eşzamanlı eylemlere izin veren everyPlayer akış komutu olması sevindirici. Denediğim diğer masa oyunu framework’lerinde eksik olan bir özellikti
[1]: https://docs.boardzilla.io/game/flow#everyplayer
Tüm örnek oyunlarda hata alıyorum
Object.hasOwn is not a function. (In 'Object.hasOwn(e,A.from)', 'Object.hasOwn' is undefined)Stack trace şöyle
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:180657Bir polyfill eklemek gerekecek gibi