Muckturnier 3.4.0 out now!
So, wie es derzeit aussieht, wird es leider wohl in naher Zukunft kein Muckturnier geben. Aber irgendwann wird Corona überstanden sein. Und die Entwicklung ist weitergegangen, deswegen gibt es jetzt – Corona hin oder her – ein neues Release :-)
Die neue Version bringt neben zahlreichen Bugfixes vor allem neue Features: U. a. gibt es jetzt ein vernünftiges Konzept für die Auslosung direkt bei der Anmeldung, es werden verschiedene Spielstandzettel unterstützt, das Auffinden von Eingabefehlern ist jetzt deutlich einfacher und die Suchfunktion wurde weiter verbessert.
Im Einzelnen:
Auslosung direkt bei der Anmeldung
Das Konzept für die Auslosung direkt bei der Anmeldung wurde kürzlich schon unter dem Titel Technology Preview: Auslosung bei der Anmeldung vorgestellt. Der Einstellungen-Dialog wurde noch ein bisschen weiterentwickelt und sieht jetzt so aus:
Hier möchte ich insbesondere auf die Vorteile eingehen, die man durch die Auslosung bei der Anmeldung hat:
Automatische Auswahl in der 1. Runde und für einzelne Spieler
Wenn das Programm weiß, wer wo sitzt, dann kann schon die erste Runde schnell und einfach eingegeben werden: Man einfach wählt die Tischnummer aus, und die Paare bzw. Spieler werden automatisch ergänzt. Nach wie vor geht es natürlich auch, eines der Paare auszuwählen; alles Übrige wird dann automatisch ergänzt. Bisher war das erst ab Runde 2 möglich, da man die Auslosung erst über die Eingabe der Ergebnisse der 1. Runde überhaupt erfuhr.
Neu in Version 3.4 ist weiterhin, dass die automatische Paar- bzw. Tischauswahl jetzt auch für Turniere mit einzelnen Spielern zur Verfügung steht.
Die Möglichkeit, eine Auslosung (manuell) einzugeben und für die 1. Runde bei Feste-Paare-Turnieren zu nutzen, brachte schon die Version 3.3. Jetzt kann aber von der Auslosung weiter profitiert werden:
Optionen für die automatische Auswahl
Die automatische Auswahl wurde in zwei Parameter aufgeteilt. Zum einen „Auswahl laut Auslosung“, und zum anderen „Paar 2 rückt pro Runde weiter“ (beides zu aktivieren bzw. deaktivieren im Menü unter dem „Einstellungen“-Knopf auf der Spielstandseite).
Die „Auswahl laut Auslosung“ greift auf die Auslosung zurück, die auf der Anmeldeseite eingegeben wurde, und zwar unabhängig von der offenen Runde. Das ermöglicht eine Neuauslosung pro Runde, egal, ob man mit festen Paaren oder mit einzelnen Spielern spielt.
Ist zusätzlich die Option „Paar 2 rückt pro Runde weiter“ aktiviert, dann wird nur in der 1. Runde auf die Auslosung auf der Anmeldeseite zurückgegriffen, ab der 2. dann auf die Ergebnisse der letzten Runde (wobei, wie bisher auch, Paar 1 immer sitzen bleibt und Paar 2 immer einen Tisch weiterrückt). Auch diese Option ist jetzt unabhängig davon verfügbar, ob man mit festen Paaren oder einzelnen Spielern spielt.
Das Aussetzen der automatischen Auswahl, damit man auch von der Auslosung bzw. der eigentlich richtigen Position laut der letzten Runde abweichende Ergebnisse eingeben kann, ist jetzt über den Knopf mit dem Autoselect-Zauberstab-Icon rechts neben der Spielstandeingabe möglich. Der ist jetzt da, wo bisher die Option „Paare bzw. Tischnummer automatisch auswählen“ war.
Vertikale Spielstandzettel
Inspiriert durch das dieses Jahr abgehaltene Muckturnier der SPD Konradsreuth (das sind übrigens wirklich hartnäckige EDV-Verweigerer!), bei dem Basti Söllner und ich nur wegen ein paar Toren nicht mit auf dem Siegertreppchen standen(!), bringt das neue Release jetzt Unterstützung für eine weitere Variante von Spielstandzetteln.
Für gewöhnlich wird beim Mucken von links nach rechts aufgeschrieben, Paar 1 oben und Paar 2 unten. Einen Beispiel-Spielstandzettel mit diesem Layout gibt es nach wie vor unter Material. Für diese Variante des Aufschreibens habe ich damals auch die Eingabemaske der Ergebnisse-Seite gestaltet.
Nun wird aber – wie ich jetzt weiß – mitunter (und eben auch von der SPD Konradsreuth) ein Spielstandzettel verwendet, bei dem Paar 1 links und Paar 2 rechts stehen, und die Bobbl von oben nach unten aufgeschrieben werden. Wenn man so einen „vertikalen“ Spielstandzettel in die „horizontale“ Eingabemaske des Muckturnier-Programms eingeben will, bekommt man einen Knoten im Hirn und Eingabefehler sind vorprogrammiert. Evtl. hielt diese Tatsache sogar den einen oder anderen bisher davon ab, das Muckturnier-Programm überhaupt zu benutzen!
Da ich natürlich ein möglichst breites Spektrum an Muckturnier-Varianten abdecken will (und das auch kein allzu großes Problem war), bringt Version 3.4 jetzt eine neue Auswahlmöglichkeit mit. Diese kann beim Anlegen des Turniers unter der neuen Seite „Ergebniseingabe“ ausgewählt (und natürlich auch als generelle Vorlage gespeichert) werden. Außerdem kann man das Layout des Eingabezettels auch noch im laufenden Betrieb ändern:
Unter dem neuen „Einstellungen“-Knopf (wo vorher nur die einzelne Checkbox „Eingabe ohne Tischnummern“ war) versteckt sich jetzt ein Menü:
Da kann man dann zwischen dem altbekannten „horizontalen“ Layout
und der neuen „vertikalen“ Variante
wählen. Selbstverständlich unterstützen beide Varianten beliebig viele Bobbl, nicht nur zwei wie in dem gezeigten Beispiel. Das gewählte Layout spiegelt sich auch in der Tabelle der bisher eingegebenen Spielstände und in der Formatierung der Turnier-Export-Daten wieder.
Kontinuierlicher Vergleich der Spielstände im Netzwerkbetrieb
Bei größeren Turnieren (oder auch generell) bietet es sich an, alle Ergebnisse unabhängig voneinander an zwei Rechnern einzugeben. Damit können Eingabefehler gefunden werden, denn ein Zahlendreher ist schnell passiert, und immer wieder sind Spielstandzettel auf den ersten Blick nicht klar und eindeutig.
Der augenscheinlich einfachste Weg, Unterschiede zu finden, ist der Vergleich der Rangliste. Ist die Rangliste identisch, müssen auch die eingegebenen Ergebnisse identisch sein. Hierfür gab es in früheren Versionen verschiedene Ansätze, vgl. hierzu das Release Announcement für Version 0.7.5, das für Version 0.7.7 und das für Version 3.0 (ab da ging es zumindest einigermaßen …).
Die aktuelle Version bringt ein anderes, neues Konzept. Weil um was geht es? Wir wollen Eingabefehler finden. Und die findet man am besten direkt während der Eingabe. Wenn ein Netzwerk läuft, dann gleicht jetzt jeder Client kontinuierlich und automatisch seine bisher eingegebenen Ergebnisse mit dem Server ab. Das sieht dann (eingeblendet neben der Tabelle mit den bisherigen Ergebnissen) so aus:
Die Anzeige wird mit jeder Eingabe bzw. Änderung, sowohl auf der Client- als auch auf der Serverseite, aktualisert. Sofern die Ergebnisse nicht identisch sind, können die Unterschiede aufgelistet werden. Der entsprechende Dialog sieht beispielsweise so aus:
Damit sollte man nun endlich ganz einfach und vor allem nebenbei, ohne zusätzlichen Aufwand, Eingabefehler finden und vor allem auch leicht korrigieren können.
Manche Konzepte müssen eben einfach ein bisschen reifen ;-)
Verbesserungen in der Suchfunktion
Phonetische Suche
Als neue Option gibt es jetzt die Möglichkeit, eine sog. „phonetische Suche“ durchzuführen. Dabei wird nicht nach der eingegebenen Buchstabenfolge (oder Abwandlungen davon) gesucht, sondern nach dem Klang der Aussprache des Suchbegriffs. Implementiert ist das mit Hilfe des „Kölner Phonetik“-Algorithmus.
Beispielsweise kann man so den Namen „Raithel“ auch mit dem Suchbegriff „Reidl“ finden. Womöglich ist gerade das jetzt Zufall, aber bemerkenswerterweise findet man auch Uwe Trczelinski, einen er beiden Gewinner des 1. Hofer Aufmuckers 2017, wenn man (entsprechend der Aussprache des Namens) nach „Tschilinski“ sucht.
Die phonetische Suche kommt, sofern sie neben dem Namen-Eingabefeld auf der Anmeldeseite aktiviert ist (das ist sie standardmäßig) beim Import von Paar- bzw. Spielerlisten und auch beim Anmelden neuer Paare bzw. Spieler zum Einsatz und sollte besser vor ungewollten Doppelanmeldungen schützen.
Beispiel: Das Paar „Bauer Martin / Schmidt Bernd“ ist angemeldet, und fälschlicherweise wird versucht, „Bernd Schmitt / Martin Bauer“ anzumelden. Das ging der bisherigen Suchfunktion durch die Lappen, wird aber durch die phonetische Suche jetzt als potenzielles Duplikat gemeldet.
Der Nachteil der phonetischen Suche ist die Tatsache, dass sie – durch die systembedingte und auch gewollte große Unschärfe – potenziell auch viele falsch positive, also unpassende bzw. ungewollte Treffer liefert. Deswegen muss sie aktiv mit einem Klick auf den Ohr-und-Schall-Symbol-Button eingeschaltet werden:
Einen großen Nutzen sollte diese Funktion vor allem dann haben, wenn man mit vielen Voranmeldungen arbeitet und den bzw. die Namen nicht richtig versteht und/oder falsch schreibt. Denselben Vorteil sollte sie auch dann bringen, wenn z. B. nach dem Turnier die Leute ihre Platzierung wissen wollen und man die Rangliste mit viel Lärm außenherum durchsuchen will.
Tolerantere Standardsuche
Weiterhin wurde die normale Suchfunktion um einen weiteren Aspekt toleranter gemacht: Aufeinanderfolgende gleiche Buchstaben. Diese werden jetzt dahingehend berücksichtigt, dass man Namen wie „Heerdegen“ jetzt z. B. auch bei der Suche nach „Herdeegen“ finden kann.
Überarbeitung der Match-Funktion
Abgesehen davon wurde die Implementierung der Match-Funktion (die die Übereinstimmung des Suchbegriffs mit einer gegebenen Zeichenfolge prüft) überarbeitet. Diese kommt jetzt ohne reguläre Ausdrücke und mit viel weniger zu vergleichenden Varianten aus (maximal drei plus ggf. die phonetische Variante).
Die Änderungen resultieren in einer ganz erheblichen Steigerung der Geschwindigkeit der Suche: Sie benötigt jetzt nur noch ca. 1/65(!) der Zeit der vorhergehenden Versionen, das sind gut 98 % weniger.
Dies macht sich insbesondere beim Import einer langen Paar- bzw. Spielerliste bemerkbar: Hier hat die Suche nach potenziellen Duplikaten bisher selbst auf leistungsfähigen Computern sekundenlang gedauert. Jetzt geht das auch auf älterer Hardware ohne merkliche Verzögerung, innerhalb eines Mausklicks.
Änderungen an der Ranglistenseite
Die „gegnerischen geschossenen Tore“ werden jetzt standardmäßig bei der Erstellung der Rangliste berücksichtigt. Schließlich liegen die Daten ja vor, warum sollte man sie nicht zur Unterscheidung von Platzierungen nutzen? Ob oder ob nicht die gegnerischen Tore per Voreinstellung berücksichtigt werden sollen, kann jetzt auch im „Turnier starten“-Dialog und per Vorlage für neue Turnierdatenbanken festgelegt werden.
Weiterhin gibt es eine neue Anzeigeoption auf der Ranglistenseite: „Nicht entscheidende Tore ausgrauen“. Damit werden Tore bzw. gegnerische Tore, die für die Platzierung nicht relevant sind, grau dargestellt. Die Option kann über das neue „Einstellungen“-Menü ein- und ausgeschaltet werden. Das ist unter dem gleichnamigen Knopf zu finden, der sich jetzt an der Stelle der Checkbox „Gegnerische Tore berücksichtigen“ befindet. Diese Option ist ebenfalls in das Menü gewandert.
Eine „ausgegraute“ Rangliste sieht beispielsweise so aus:
Passend dazu kann man jetzt auch beim Export auswählen, was mit nicht relevanten Toren passieren soll: Sie können jetzt immer angezeigt, eingeklammert oder auch ausgeblendet werden.
Überarbeiteter „Turnier starten“-Dialog
Der „Turnier starten“-Dialog bringt jetzt deutlich mehr Einstellmöglichkeiten. Alle sind auch Bestandteil der Vorlage für neue Turnierdatenbanken. Diese Vorlage kann jetzt außerdem direkt im Dialog gesetzt bzw. aktualisert werden.
Neben den Grundeinstellungen „Turniertyp“, „Punkte pro Bobbl“ und „Bobbl pro Runde“ stehen jetzt, wenn die Option „Erweiterte Einstellungen“ aktiviert ist, folgende Optionen zur Vorauswahl:
- Anmeldung: Zu Beginn eingeblendete Spalten der Anmeldungsseite
- Auslosung: Einstellungen für die (optionale) Eingabe der Auslosung bzw. deren Erstellung
- Ergebniseingabe: Spielstandzettel (horizontal/vertikal), Eingabe ohne Tischnummern, Einstellungen für die automatische Auswahl
- Rangliste: Gegnerische Tore berücksichtigen, nicht entscheidende Tore ausgrauen
- Optionale Seiten: Einblenden der Auslosungsübersicht gleich beim Start
Turnier abschließen
Ein weiteres neues Feature ist die Möglichkeit, ein Turnier abzuschließen. Wenn Ergebnisse vorliegen und alle Runden abgeschlossen sind (das Turnier also potenziell beendet ist), kann man via „Datei“ → „Turnierstatus festlegen“ das Turnier als „abgeschlossen“ deklarieren. Das bewirkt – unabhängig von einem dateisystemseitigen Schreibschutz – dass das Turnier nicht mehr (aus Versehen) verändert werden kann.
Sind trotzdem Änderungen nötig, dann kann der Status (natürlich nur dann, wenn die Datei an sich nicht schreibgeschützt ist) jederzeit wieder auf „offen“ gesetzt werden.
Auswahl weiterer Neuerungen und Bugfixes
- Bugfix: Ausgeblendete Anmeldungen werden jetzt bei einer Suche auf der Anmeldeseite als Ergebnis angezeigt. Stattdessen wird darauf hingewiesen, wenn es ausgeblendete Treffer gibt.
- Neu: Wenn ein Server oder Client läuft, dann wird jetzt der Netzwerkstatus und die Kommunikation (Senden und Empfangen von Daten) in der Statusleiste angezeigt.
- Neu/Verbesserung: Wenn allein gekommene Spieler gesondert behandelt werden, dann werden jetzt die entsprechenden Markierungen auch beim manuellen Editieren des/der Namen/s gesetzt bzw. entfernt.
- Neu: Optionale Seiten (momentan nur die „Übersicht Auslosung“-Seite) werden jetzt in der Datenbank gespeichert und beim erneuten Öffnen automatisch wiederhergestellt.
- Neu: Die Seitenanordnung kann jetzt gespeichert und beim Starten bzw. Öffnen einer Turnierdatenbank wiederhergestellt werden.
- Neu: Die Position der Tabs für Seiten (sofern diese als Tabs angezeigt werden) kann jetzt via „Ansicht“ → „Position der Tabs für Seiten“ angepasst werden. Zusätzlich zu der Position am unteren Rand des Fensters können die Tabs jetzt auch oben, links oder rechts angezeigt werden.
- Neu: Die Einstellungen und die Größe des Stoppuhr-Fensters, wenn die Stoppuhr läuft, können jetzt (optional) gespeichert und beim nächsten Start wiederhergestellt werden.
- Änderung: Die Anmelde-, Ergebnisse- und Ranglistenseite sind jetzt immer sichtbar. Das sorgt für ein konsistenteres Erscheinungsbild, da ja die Tableiste sowieso eingeblendet wurde, sobald man Ergebnisse eingeben konnte (und folgerichtig sowieso entsprechend vertikalen Platz benötigte).
- Bugfix: Das Wiederherstellen des „Markieren“- und „Auslosung setzen“-Dialogs nach Netzwerkänderungen funktioniert jetzt richtig. Es sollte dabei keine Crashes mehr geben, und abgesehen davon wird jetzt auch der Mauszeiger an die richtige Stelle verschoben, wenn der bearbeitete Eintrag nach der Änderung eine andere Position in der Anmeldeliste hat.
- Bugfix: Es ist jetzt nicht mehr möglich, ungültige Ergebnisse mit undefinierten Paaren mittels der automatischen Paarauswahl und der Auslosung zu speichern.
- Bugfix: Eine Netzwerkverbindung mit einem Server, der ein anderes Gebietsschema nutzt, als der Client, ist jetzt wieder möglich.
- Bugfix: Scrollbars der Anzeige der Bobbl-Eingabemasken auf der Spielstandseite werden jetzt mit dem Breeze-KDE-Style korrekt angezeigt.
Relevante „interne“ Änderungen
… die die meisten wohl eher nicht interessieren, aber nicht unerwähnt bleiben sollen.
Die Lizenz des Projektes wurde von „GPLv2“ auf „GPLv3 or later“ geändert.
Für alle, die selber kompilieren, ist folgendes wichtig: Es wird jetzt mindestens Qt 5.11 benötigt (statt bisher Qt 5.7) und ab jetzt nutzt der Quellcode den C++17-Standard (statt bisher C++11). Nutzer von Binärpaketen bzw. Installern braucht das natürlich nicht zu kümmern.
Eine weitere, aber auch vermutlich nur für Wenige relevante Änderung ist: Der Prüfsummen-Algorithmus (u. A. für die Prüfsumme der Rangliste) wurde überarbeitet. Die bisherige Implementierung könnte (zumindest theoretisch) trotz unterschiedlicher zugrundeliegender Ranglisten in derselben Prüfsumme resultieren. Das sollte jetzt nicht mehr passieren, allerdings werden jetzt für dieselben Datenbestände ganz andere Prüfsummen ausgegeben, als bisher.
Alle Änderungen enthält wie immer der ChangeLog. Viel Spaß mit der neuen Version :-)