- Boardzilla ist ein Framework, das es ermöglicht, Brettspiele im Browser zu spielen und zu entwickeln, und so die Einstiegshürde für die Entwicklung digitaler Brettspiele senken soll
- Ziel ist ein Ablauf, bei dem Entwickler die Spielregeln ausdrücken und Spieler die verfügbaren Optionen über eine einfache Oberfläche sehen können
- Zu den veröffentlichten Beispielspielen gehören 7 Wonders Duel, Cursed, Dyngus Day, 27Panic, Hearts, Hex, Power Grid, Skirma und Stunt Kites
- Die unterstützte Spielerzahl variiert je nach Spiel von Solo bis zu 4 Spielern; 7 Wonders Duel, Hex und Skirma sind für 2 Spieler, Hearts für 4 Spieler
- Wer ein eigenes Brettspiel entwickeln möchte, kann über die bereitgestellte Dokumentation und die Einführungsseite mit der Entwicklung beginnen
Was Boardzilla bietet
- Boardzilla ist eine webbasierte Umgebung, um digitale Brettspiele einfach zu erstellen
- Brettspiele lassen sich direkt im Browser spielen und entwickeln
- Es erleichtert die Darstellung von Spielregeln und bietet Spielern die verfügbaren Optionen über eine einfache Oberfläche an
Beispiele spielbarer Spiele
- 7 Wonders Duel: für 2 Spieler
- Cursed: Solo
- Dyngus Day: für 1 bis 4 Spieler
- 27Panic: für 2 bis 4 Spieler
- Hearts: für 4 Spieler
- Hex: für 2 Spieler
- Power Grid: für 2 bis 4 Spieler
- Skirma: für 2 Spieler
- Stunt Kites: für 1 bis 2 Spieler
Einstieg in die Entwicklung
- Wer ein eigenes Spiel entwickeln möchte, kann mit der Boardzilla-Dokumentation beginnen
- Eine Einführung in den Dienst gibt es unter What is Boardzilla
1 Kommentare
Meinungen auf Hacker News
Ich finde, die auffälligste Botschaft auf der Landingpage sollte nicht der Aufruf „Discord beitreten“ sein.
Beispiele und Links zu Source/Docs sollten zuerst sichtbar sein. Wenn bei solchen Projekten „Discord beitreten“ zu stark hervorgehoben wird, schreckt mich das persönlich eher ab. Ich glaube nicht, dass ich damit allein bin
Ich mag Discord wirklich nicht, außer vielleicht als Wegwerf-Kommunikationsplattform unter Freunden. Trotzdem neigen Leute dazu, Discord als Hauptplattform nicht nur für Supportfragen, sondern sogar für Dokumentation zu nutzen. Die Suchqualität ist schlecht und es wird nicht von Suchmaschinen indexiert; wenn man eine Lösung finden muss, ist das wirklich das Schlimmste
Sieht gut aus. Der Funktionsumfang ist breit, da dürfte es viele bewegliche Teile geben; der Aufwand war vermutlich ziemlich groß. Es ist jedenfalls erfreulich, dass es eine Game Engine gibt, die sich auf Tabletop-Spiele konzentriert, aber nicht nur auf das Rendering selbst.
Allerdings weiß ich, aus der Perspektive von jemandem, der Karten- und Würfelspiele mit reinem HTML/JavaScript online spielbar gemacht hat, noch nicht so recht, wie ich dasselbe mit diesem System nachbauen würde. Laut Doku werden Karten unterstützt, und die Abstraktionen wirken allgemein genug, um zu vielen Spielen zu passen, aber ein Schritt-für-Schritt-Tutorial wäre sehr hilfreich. Ich verstehe, warum Abstraktionen wie Actions, Flows, selections, conditions und prompts gewählt wurden, aber ohne zu sehen, wie sie praktisch zusammengesetzt werden, habe ich kaum ein Gefühl dafür, wo ich ansetzen müsste, wenn ich etwas ändern will. Ohne Tutorial würde ich persönlich wohl nicht weit kommen
Piece, die sich in der Hand befinden oder zwischenPlayern wandern und auf Bereichen (Space) des Tisches liegen.Karten und Würfel definiert man, indem sie von
Pieceerben, Spieler lässt man vonPlayererben, und auch eine Art Teller, der das Deck verwaltet, kann einPlayersein. Danach überlegt man, wie die für die Regeln nötigenSpace-Instanzen auf dem Board angeordnet werden. Die Regeln liegen in einer Instanz der KlasseGame, und darin gibt es das Konzept von Aktionen, also Instanzen der KlasseAction. Eine solche Aktion erhält Argumente, die User-Prompts, Bedingungen für legale Ausführung und Ausführungseffekte definieren. Darüber hinaus gibt es etliche erwartbare Komfortfunktionen zum Finden und Vergleichen von Spielsteinen, und der Rest hängt von der Spiellogik ab. In den Beispielen gibt es auch Funktionen zum Filtern vonSpaceundPiece, sodass sich UI-Logik offenbar schnell bauen lässthttps://docs.boardzilla.io/game/creating-a-game
Es ist besser, Projektnamen kein *Zilla anzuhängen. Die Rechteinhaber von Godzilla sind dafür bekannt, aktiv gegen Stellen vorzugehen, die das Suffix „Zilla“ verwenden wollen. Auch Mozilla hat vor langer Zeit seine Lektion gelernt und musste eine separate Vereinbarung treffen
Der einzige Markenrechtsfall, den Toho verloren hat, war gegen ein Müllbeutelunternehmen namens „trashzilla“, unter anderem weil es keine Gefahr für Tohos Geschäftsinteressen darstellte. Edit: Ich hatte das Logo nicht gesehen. Das könnte definitiv ein Problem sein
Hier wird TypeScript+CSS verwendet. Ich hatte gehofft, dass auf dem Server für die Spiellogik Python unterstützt würde. Der Zeitpunkt ist gerade gut, weil Entwickler und Publisher, die BGA nutzen, wegen Asmodees Geschäftsmodell verunsichert sind.
Der BGA-Studio-Stack ist JS/CSS + PHP (Client und Server) + MySQL [0]
Yucata.de nutzt JS + HTML + .NET 4.5 auf dem Server [1]
TTS hat Lua verwendet; als ich es mir angesehen habe, wirkte es ungewöhnlich und eingeschränkt. Es ist nicht einmal objektorientiert – ich verstehe nicht, warum man für Brettspiele eine nicht objektorientierte Sprache wählen würde. Auch der Site-/Framework-Review von 2021, „VassalEngine: Survey of other boardgame software“, ist nützlich [2]
Es wäre wirklich schön, wenn es sich serverseitig mit Python integrieren ließe.
[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...
Objektorientierte Programmierung ist auch ohne Klassen möglich [0]. Und zu erwarten, dass ein Entwickler das ganze Projekt nach Python portiert und pflegt, nur weil man keine neue Programmiersprache lernen möchte, ist zu viel verlangt.
[0]: https://en.wikipedia.org/wiki/Lua_(programming_language)#Obj...
Schön. Ich habe sehr viele Brettspiel-Prototypen, die ich irgendwann gern als Webspiele umsetzen würde, und habe deshalb einmal angefangen, ein paar allgemeine Library-Funktionen für die Brettspielentwicklung zu schreiben. Ich bin bei Rastererzeugung, eigenen Würfelwürfen, Kartenziehen, Turnierfunktionen, Tests zur Darstellung verschiedener Szenarien und ein paar weiteren Dingen stehen geblieben; neben anderen Projekten werde ich wohl keine Zeit haben, das richtig auszubauen. Ich sollte mir einmal ansehen, wie einfach diese Library zu nutzen ist.
Ich stimme zu, dass es ziemlich mühsam ist, die BGA-Plattform zu lernen. 1) Man ist an die Plattform gebunden und kann das Spiel nicht woanders veröffentlichen, 2) alles ist PHP, was ich heute nicht mehr besonders gern verwenden möchte, und 3) die Dokumentation ist über mehrere Orte verteilt und enthält sogar PowerPoint-Präsentationen.
Wenn du etwas Low-Leveligeres suchst, kann ich boardgame.io empfehlen.
[1] https://boardgame.io/
Dieser Bereich ist wirklich schwierig. Um erfolgreich zu sein, braucht man meiner Meinung nach entweder ein Spiel, das sofort ein Hit wird, oder man muss das ganze Jahr über jeden Tag enorm viel Community-Arbeit investieren, um Spieler zusammenzubringen.
Ich habe in der frühen Phase, als es kaum BGA-Alternativen gab, mit https://acos.games mein Glück versucht. Ich entwickle es immer noch nebenbei weiter, wenn mir langweilig ist. Der größte Fehler war die UI/UX. Die Leute interessieren sich nicht besonders für die tolle Technik, die im Hintergrund steckt.
Sieht sehr cool aus, und Glückwunsch zum Start.
Für die Prototypenentwicklung könnte es hervorragend sein, aber wenn man eine BGA-Alternative bauen will, braucht man wohl die Erlaubnis der Publisher, die Spiele zu implementieren/zu veröffentlichen. Da BGA so groß ist und Asmodee gehört, dürfte das nicht einfach werden. Ich hoffe, ich liege falsch.
„Kurz gesagt: Namen und Logos können markenrechtlich geschützt sein, Kunstwerke unterliegen dem Urheberrecht (auch das Spielbrett selbst kann als Kunstwerk darunterfallen). Mechaniken, Verfahren und Regeln können nicht durch Urheberrecht geschützt werden. Deshalb gibt es Monopoly-/Scrabble-Klone.“
https://www.reddit.com/r/gamedev/comments/10f2nov/comment/j4...
Hier wird auf dieses YouTube-Video verwiesen:
https://www.youtube.com/watch?v=iZQJQYqhAgY
Sieht wirklich großartig aus. Ich freue mich darauf, es selbst auszuprobieren
Schön, dass es den everyPlayer-Flow-Befehl gibt, der gleichzeitige Aktionen erlaubt. Diese Funktion fehlte in anderen Brettspiel-Frameworks, die ich ausprobiert habe
[1]: https://docs.boardzilla.io/game/flow#everyplayer
In allen Beispielspielen tritt ein Fehler auf
Object.hasOwn is not a function. (In 'Object.hasOwn(e,A.from)', 'Object.hasOwn' is undefined)Der Stacktrace sieht so aus
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:180657Es sieht so aus, als müsste ein Polyfill hinzugefügt werden