|
||||
AW: UCI und XBoard/Winboard
Zitieren:
Ich kann seit HGMs Übernahme der Entwicklung nicht sehen, dass XBoard tot sei.
Zitieren:
XBoard ist relativ leicht zu programmieren, man muss es halt einmal machen und das war es.
Oder searchmoves. UCI? Machste searchmoves. Winboard? Da hast Du dann searchmoves und das Gegenteil, excludemoves. Nur deswegen, weil die GUI bei Schachvarianten nicht weiß, welche Züge denn legal wären. Ein weiterer Befehl "getlegalmoves", der das gelöst hätte, wäre zu einfach gewesen. Damit hätte die GUI bei reinen Schach-Engines selber wissen können, was legal ist, und bei Varianten nachfragen können. Undo/Redo? Mit UCI bekommst Du einfach das position-Kommando. Winboard? Da kriegste "remove". Obwohl, nee, mit Arena stattdessen zweimal "undo". Ist die Engine eigentlich selber am Zug, wenn es nur einmal "undo" gibt? Nicht spezifiziert. Und wenn's zweimal "undo" gibt, ist die Engine dann am Zug oder hat man eine race-condition, weil sie nach dem ersten Undo am Zug war, dann gezogen hat, das zweite Undo bekommen hat und nochmal gezogen hat? Man weiß es nicht. Ich hatte, real-Life, für die WB-Version unter "Chess for Android" die Bugmeldung, daß rausgehen aus der Anwendung und wieder reingehen nicht geht. Ich habe aber kein Smartphone und kann das somit nicht testen. Was auch immer die GUI dann wohl tun mag, wenn man das macht, ich weiß es nicht. UCI? Kein Problem, ist sowieso zustandslos. Schlimmstenfalls bekommt meine Engine nicht mit, daß der eingegebene Zug zur selben Partie gehört und löscht daher irrtümlich ihre Hashtabellen und verwirft die Hauptvariante, aber das ist lediglich ein Performance-Problem. Zitieren:
Lernen nach der Partie ist zwar ein Grund gegen UCI, aber meine Engines haben das nie benutzt.
Zitieren:
Die propagierte Einfachheit von UCI kann ich nachvollziehen, da Eröffnungen oder Enspiele auf die GUI zurückgreifen können.
Gut, man kann das auf Commandline dann nicht mehr einfach nutzen, wenn man ein schlechtes Terminal hat, was mit Pfeil-oben nicht die vorige Zeile wiederholt. Deswegen haben die beiden Nutzer, die Desktoplinux mit Schach-Engines ohne GUI nutzen, aber einfach entsprechende EMACS-Makros. Zitieren:
Damit entscheidet die GUI massiv über die Akzeptanz, so wie Du es ja mit den Testern auch erlebst.
Bis ich Arena verwendete. Alles im Vergleich irgendwie zäh. Und Winboard, was einfach nur der Horror ist. Wenn Linuxer CLIs so mögen, liegt es auch daran, daß man damit einem Horror wie Xboard entkommen kann. Die wissen gar nicht, was richtige GUIs leisten können. Das gesamte Ökosystem für Winboard ist einfach Steinzeit. Starte mal Winboard selber. Da kriegste einen abstrusen Dialog, der überhaupt nicht existieren sollte. Danach ist man per default im 5-Minuten-Blitzmodus. Zeitdruck also. Das ist mit Sicherheit das Allerletzte, was ein neuer User will. Die Eingabe für Stellungen ist furchtbar. Das Einfügen neuer Engines über diese Liste ist gruselig. Und für Crafty darf man dann auch noch mit einer rc-Datei herumfrickeln. Außerdem sieht Winboard dermaßen häßlich aus, daß mir die totale Abwesenheit jedweden Sinnes für Ästhetik nahezu physisch wehtut. Kurzum, aus Anwendersicht ist das dermaßen schlecht, daß ich für die Shredder-GUI alleine, ohne Engine, locker 20 Euro bezahlen würde. Nur um diesem Horror zu entkommen. Leider verwendet die Shredder-GUI diesen WB2UCI-Krams, und in der Praxis funktioniert das nicht besonders gut. Zitieren:
UCI deutlich mehr Speicher benötigt.
Geändert von Rasmus (15.08.2017 um 01:43 Uhr) |
|
||||||||||||
AW: UCI und XBoard/Winboard
OK, ich sehe schon, Du hast den Fokus auf ganz anderen Features als ich. Sowas wie searchmoves hat mich nie interessiert.
Aber des mit setboard verstehe ich nicht. Eine neue Engine würde ich immer mit dem neuen Protokoll arbeiten lassen. Die Benutzung mit einer alten GUI klappt dann halt nicht. Aber deswegen Gnuchess zu emulieren? Käme mir nie in den Sinn. |
|
||||
AW: UCI und XBoard/Winboard
Auch die Features, die dann in der GUI auftauchen, kamen erst in xboard rein, weil UCI vorgeprescht ist. Vorher hat man die Nutzer auf abstruse ini-Dateien und ebenso obskure Kommandozeilenparameter verwiesen nach dem Motto "friß oder stirb". Zitieren:
Aber des mit setboard verstehe ich nicht. Eine neue Engine würde ich immer mit dem neuen Protokoll arbeiten lassen.
Übrigens, ein lustiges Detail am Rande: GNUchess, dessen Befehlssatz das xboard-Protokoll emuliert, bietet jetzt auch UCI-Support. Über diese Möglichkeit hatte ich auch nachgedacht, zumal ja schon xboard-Support in der Engine drin war, wenngleich unvollständig und nicht sehr robust. Deswegen kam ich ja erst auf xboard, weil ich das "mal eben schnell" wieder reinbauen konnte. Die Konsequenz wäre aber noch mehr Redundanz gewesen, noch mehr Testing, noch mehr unklare Bugreports. Zumal Vermeidung redundanter Methoden gerade der Witz bei UCI ist. Zuguterletzt hat UCI auch den ganz praktischen Vorteil, daß es das besser unterstützte Protokoll ist. Ich glaube nicht, daß man in DGT Pi, Revelation oder Grandmaster auch noch xboard reinbasteln wird. UCI ist drin, weil Stockfish UCI ist. Man könnte mit Adaptern arbeiten - und ist dann wieder in der Misere aus Testaufwand und Support. Wenn ein Protokoll mehr Aufwand für Test und Support verlangt, dann muß es auch einen entsprechenden Mehrwert liefern. Bei gleichem Nutzwert ist es sonst allein deswegen schon raus. Die Rankinglisten legen auch nicht nahe, daß UCI-Engines an ihrem Protokoll leiden würden. |
|
||||||||||||
AW: UCI und XBoard/Winboard
Sicher, UCI ist aktiv und entspricht dem Design wie es damals von Fritz vorgemacht wurde, mit allen Features von der GUI aus zu bedienen. Wäre es nicht stateless, dann wäre es mir sympathischer als jetzt. So verkommt eine Partie zu einer Abfolge von einzelnen Stellungen.
|
|
||||
AW: UCI und XBoard/Winboard
Nur im Protokoll, nicht in der Engine. Man kann Hauptvariante und Hashtabellen durchaus weiterverwenden - man muß halt nur gucken, ob hier eine Partie weitergeführt wurde oder es eine neue Stellung ist.
|
|
||||||||||||
AW: UCI und XBoard/Winboard
Für die Erfinder des Protokolls spielten diese Überlegungen keine Rolle und SMK hat ja später in einer Diskussion mit Bob Hyatt die Nachteile eingeräumt. Nur war da die Verbreitung schon zu groß um was dagegen zu machen. Wenn jemand die besonderen Features von UCI nutzen möchte, dann sollte er natürlich auch UCI nehmen, es trifft halt nicht meinen Geschmack... |
|
||||
AW: UCI und XBoard/Winboard
Zitieren:
Als Engine kann man sich davor nicht schützen.
Meine Lösung ist es, OwnBook per default auf true zu setzen, weil das Buch wesentlicher Teil des Spielstils ist. Aber wenn der Anwender das nicht will, dann halt nicht. Vielleicht möchte er ja auch verschiedene Engines mit einem Standardbuch vergleichen, oder ein Turnier mit Eröffnungsthemen fahren. |
|
||||
AW: UCI und XBoard/Winboard
Was mir beim näheren Nachdenken noch auffällt: das ganze Szenario hat mit UCI/xboard überhaupt nichts zu tun. Die GUI kann auch mit xboard das Eröffnungsbuch selber übernehmen und der Engine im force-Modus nur die gemachten Züge übermitteln, wenn der Anwender das so will.
|
|
||||||||||||
AW: UCI und XBoard/Winboard
Aber die Diskussion lässt einen einiges überdenken. Dafür schon mal danke! |
![]() |
|
|
![]() |
||||
Thema | Erstellt von | Forum | Antworten | Letzter Beitrag |
News: MephBoard - Winboard Engine für Mephisto PC-Modul | krval | Technische Fragen und Probleme / Tuning | 8 | 11.01.2012 21:30 |
Tipp: Mephisto Board - Winboard Engine für Mephisto PC-Modul | krval | Technische Fragen und Probleme / Tuning | 9 | 31.07.2011 15:19 |