Jazzy -- Schachvarianten online spielen

  • Hi!

    Da habe ich mir was bei gedacht (wie du vielleicht auch vermutet hast :rofl: Man kann auch in der Variante StrongKing rochieren, bei der der König auch alleine einen Doppelschritt machen kann


    StrongKing hatte ich völlig vergessen, dann macht das natürlich Sinn, die Buttons zu benutzen, auch wenn das sicherlich irgendwie eleganter gelöst werden kann :D

    Extinction läuft bisher mit relativ normalen Regeln (Schach bedienen usw.), daher passt da m.M.n. die klassische Rochade!?

    Ich kenn es nur so und habs nachgeguckt ;) Es macht aber auch Sinn, dass man aus dem Schach und durch das Schach rochieren kann, denn der König ist hierbei ja keine besondere Figur mehr sondern genauso wertvoll wie die Dame. Aber das ist ja Haarspalterei und es interessiert sowieso keinen. :D :D

    Meine Interpretation: Man darf schon rochieren (warum auch nicht?) und das sogar aus dem Schach, durchs Schach und ins Schach, denn Schachgebote sind bei der gesamten Variante ja kein Problem. Einverstanden?

    Ja, einverstanden :) Sehe ich auch so, kenn ich nur anders...

    Den Fehler habe ich gefixt,

    Schön^^

    Danke für den schönen Stacktrace mit Fehlerbeschreibung!

    Bitte! :D

    Ich habe versucht, bei unsinnigen Fällen die Rochade einfach zu deaktivieren. Es wird sich mit der Zeit herausstellen, wo das zu hart war (evtl. bei den großen Brettern, allerdings wäre der Fix, um zwei unabhängige Könige zu unterstützen, leider nicht ganz klein).

    Ich denke bei diesen ganzen Varianten ist sowas reine Definitionssache und man sollte es einfach so machen, wie es Sinn macht. Der Aufwand lohnt sich nicht um bei den großen Brettern, etc. die Rochade extra anzupassen. Wichtig ist ja nur, dass sie ausgeschaltet werden kann, bzw. das man diverse Einstellungen der Rochade für die verschieden Varianten vornehmen kann.

    Bock auf ein paar Partien morgen oder am Wochenende? Jetzt funktioniert ja wirklich das Meiste, es wird langsam .

    Immer gerne! :thumbup: :thumbup:

    RapIt

  • Hallo alle zusammen! :)

    Wir (pee und ich) haben peethebees JazzChess heute zum ersten Mal richtig getestet und ich muss sagen, dass es ziemlich gut ging!


    Auch wenn es außer uns niemanden interessiert :D :D , hier ein kurzer Report zu unseren Testrunden:

    Zur Verbindung: Die Verbindung erfolgte einwandfrei flüssig, gespielt haben wir mithilfe des Tools DynDNS (falls andere es auch ausprobieren wollen :) ) und es hat alles funktioniert.
    Der Verbindungsaufbau erfolgte schnell und für mich verlief das Spiel auch flüssiger als erwartet. Super! Ich finde das reicht völlig, aber pee möchte vielleicht noch auf HTML5 Technik "upgraden" ;)

    Einen Bug haben wir beim Chat festgestellt der den Text nicht vollständig übermittelt hat, was aber ja nichts mit dem Spiel direkt zu tun hat. Ich denke, er wird sich darum kümmern, denn ein funktionierender Chat ist ja schon wichtig...

    Zu den Varianten:
    Wir haben einige getestet, doch ich denke, dass pee sich immer über weitere Tester freuen würde! :)

    Wir haben bei allen getesteten Varianten keinen einzigen Bug gefunden! :thumbup: :thumbup: Super!
    Diese haben wir ausprobiert:

    • Los Alamos Chess
    • Stationary King Chess
    • Hole Chess
    • Micro Chess
    • (:D Mir fällt gerade auf, dass wir uns gar nicht im normalen Schach gemessen haben...)


    Auch wenn es noch einiges zu tun gibt, sind jetzt fast alle wesentlichen Punkte erfüllt, die für einen einwandfreien Spielbetrieb nötig sind!
    Also meiner Meinung nach ist für den ersten Test (fast) alles einwandfrei verlaufen!

    Was ich noch wichtig finde (hab ich i-wie völlig vergessen) ist eine Funktion zum Aufgeben, bzw. Remis bieten! Aber ich hab gesehen, dass dies ist bei deiner Planung ja schon dabei ist (https://github.com/jazzer/Jazzy/issues/8)

    Achja, wen es interessiert :D : Wie immer aktuelle Commits bei GitHub! --> Hier

    :thumbup: :thumbup: :thumbup: und weiter so!


    Viele Grüße,
    RapIt

    • Offizieller Beitrag

    Hallo,

    Ich habe jetzt mal die beiden Threads getrennt: Die alte Java-Variante namens JazzChess ist jetzt ausgelagert, hier nur noch Material zur aktuellen Python-Umsetzung Jazzy (die RapIt und ich natürlich auch getestet haben). Vielen Dank an dich, RapIt, für den Test und den netten Bericht!

    Ich habe jetzt mal ein bisschen am Design gearbeitet und das ganze System in verschiedene Grüntöne getaucht. Da alles CSS-basiert ist, ist es keine große Sache, andere Farben umzusetzen. Insgesamt wirkt es meiner Meinung nach aber deutlich frischer und angenehmer als vorher. Aber seht selbst:

    autoit.de/wcf/attachment/13955/autoit.de/wcf/attachment/13956/autoit.de/wcf/attachment/13957/autoit.de/wcf/attachment/13958/

    Beste Grüße,
    Johannes

  • Hey, ich muss sagen, dass neue Design gefällt mir echt gut! Es wirkt echt frisch und professionell! :thumbup:
    Die "Leiste" oben, wo man die Möglichkeit hat, ein neues Spiel zu machen, bzw Einstellungen vorzunehmen finde ich auch sehr gelungen. Auch cool ist natürlich, dass es jetzt eine Funktion zum Remis bieten, bzw. Aufgeben gibt, auch wenn das ja noch nicht funktioniert.

    Leider sind mir zum ersten Mal Grafikfehler beim Scrollen oder Rezisen des Fensters aufgefallen, was nicht so toll wirkt. :D Das war vorher nicht so... ;)
    Beispiel:
     [Blockierte Grafik: http://dl.dropbox.com/u/24291162/bspjazzchess.png]

    Viele Grüße,
    RapIt

    • Offizieller Beitrag

    Hi RapIt,

    Danke für das Feedback zur Optik. Ich bin kein Künstler, aber freue mich, wenn mir zumindest eine Verbesserung gelungen ist (war ja sooo schwer nicht ;) ).
    Die Darstellungsprobleme kommen vom Zentrieren des Brettes und von einem falschen z-Index des Menüs (letzteres ist schon behoben und committed).
    An der Brettlogik bin ich gerade dran, das sollte ja eh noch mal neu gemacht werden (siehe https://github.com/jazzer/Jazzy/issues/34). Weil JS nicht wirklich objektorientiert ist, wird das nicht ganz ohne Probleme runterzuprogrammieren sein, aber dafür sind wir ja da :D.

    Der Screenshot hat wunderbar aufgezeigt, wo es hakt, danke!

    Gute Nacht!
    Johannes

    • Offizieller Beitrag

    Wieder mal ein Update:

    Die Buttons zum Aufgeben und Anbieten von Remis sind jetzt auch mit Funktionalität hinterlegt. Beim Remis-Gebot habe ich versucht, alle Regeln umzusetzen (man kann nur einmal pro Zug, nur bei gegnerischem Zug). Doppelanfragen bei den Gegnern habe ich versucht, gering zu halten. Aufgeben kann man dagegen jederzeit ;).

    LESS habe ich schon vor einiger Zeit eingebaut und jetzt mit den heutigen Commits so umgestellt, dass die Umwandlung in CSS vor dem Release erfolgt statt beim Aufruf der Seite im Browser. Die Lösung ist wesentlich schneller, aber etwas komplizierter (vergrößert die Linux-Bindung).

    Johannes

  • LESS habe ich schon vor einiger Zeit eingebaut und jetzt mit den heutigen Commits so umgestellt, dass die Umwandlung in CSS vor dem Release erfolgt statt beim Aufruf der Seite im Browser. Die Lösung ist wesentlich schneller, aber etwas komplizierter (vergrößert die Linux-Bindung).


    Versuch doch, LESS über lesscss-python umzuwandeln, am besten auch noch dynamisch (gecached). Dann hast du keine Linux-Bindung.

    Edit: Als Zwischenlösung gibt es nodejs auch als Windows-exe. Nur das shellskript muss dann eben nach powershell, python AutoIt oder sonst was umgeschrieben werden http://www.nodejs.org/

    Einmal editiert, zuletzt von progandy (19. September 2011 um 17:36)

  • Hi,
    es scheint alles wunderbar zu funktionieren.. :thumbup: Allerdings würde ich noch unterbinden, dass man bei jedem Zug Remis bieten darf...(Ich mein, das gibts so ne Grenze von höchstens 3 mal, dann muss man darauf warten, dass der Gegner Remis bietet.)
    Ansonsten wäre es noch cool, wenn der Button "Neues Spiel" eine Funktion bekommen könnte. ;) Auch der Bug mit der Rochade ist gefixed...

    Bezüglich Less hab ich jetzt noch nicht so ganz verstanden, was das jetzt für einen Unterschied macht...!? Ich habe da zwar keine Ahnung von, aber die Installation von Less hat jetzt irgendwie keinen Unterschied bewirkt...Hätte da was passieren sollen? :whistling:

    Auf jeden Fall schön, dass es noch regelmäßig Updates gibt! :thumbup:

    RapIt

  • Bezüglich Less hab ich jetzt noch nicht so ganz verstanden, was das jetzt für einen Unterschied macht...!? Ich habe da zwar keine Ahnung von, aber die Installation von Less hat jetzt irgendwie keinen Unterschied bewirkt...Hätte da was passieren sollen? :whistling:


    Für den Spieler macht es keinen Unterschied, nur die Entwickler haben es leichter.

    Zitat

    LESS extends CSS with dynamic behavior such as variables, mixins, operations and functions.

    • Offizieller Beitrag

    Hi RapIt,

    es scheint alles wunderbar zu funktionieren.. :thumbup:


    Sehr gut, bei Tests von dir weiß ich ja auch, dass du alle kranken Varianten getestet hast ;-).

    Allerdings würde ich noch unterbinden, dass man bei jedem Zug Remis bieten darf...(Ich mein, das gibts so ne Grenze von höchstens 3 mal, dann muss man darauf warten, dass der Gegner Remis bietet.)


    Ja, so in der Art kenne ich das auch. Habe jetzt nicht das Regelwerk geprüft, aber nehme eher an, dass es eine Schiedsrichter-Sache ist, das dann einzudämmen? Im Moment ist Jazzy schon noch ein bisschen auf kooperatives Spiel angelegt :).

    Ansonsten wäre es noch cool, wenn der Button "Neues Spiel" eine Funktion bekommen könnte. ;) Auch der Bug mit der Rochade ist gefixed...


    Hat er im letzten Commit jetzt bekommen :).

    Bezüglich Less hab ich jetzt noch nicht so ganz verstanden, was das jetzt für einen Unterschied macht...!? Ich habe da zwar keine Ahnung von, aber die Installation von Less hat jetzt irgendwie keinen Unterschied bewirkt...Hätte da was passieren sollen? :whistling:


    Less ist eine Erweiterung von CSS, die ich nutze, damit ich nur eine Basisfarbe für das Brett angeben muss (gelb, blau, grün, grau) und LESS berechnet daraus die Farben für die hellen und dunklen Felder und setzt sie an die richtigen Stellen ein. Weil ich es jetzt so umgestellt habe, dass die LESS-Dateien vor dem Git-Commit in CSS-Dateien umgewandelt werden, nutzen die HTML-Dateien einfach die fertigen CSS-Files und man merkt als Anwender davon nichts :).

    Auf jeden Fall schön, dass es noch regelmäßig Updates gibt! :thumbup:


    Regelmäßig ist ein dehnbarer Begriff :D. Aber immer mal wieder ein Stoß Commits kommt schon zusammen, ab und zu juckt es im Finger/Kopf.


    Happy Gaming,
    Johannes

    • Offizieller Beitrag

    Seit gestern ist Crazyhouse-Schach committed. Ein wichtiger Schritt auf dem Weg zu meinem Tandem-Traum :). Die Hauptaufgabe war, die Pockets für beide (alle) Spieler einzubauen, sodass man Figuren dort ablegen und daraus wieder auf das Brett setzen kann.

    Bekannte Probleme:

    • man kann Bauern, die man eingesetzt hat, danach nicht wieder ziehen (auch nicht schlagen), alle anderen Figuren aber schon (kannst du das so bestätigen, RapIt?)
    • Es wird noch nicht geprüft, ob man Matt/Schach einsetzt, das will ich schon noch als Option haben
    • Bauern können noch nicht durchfallen, das wäre auch nett als Auswahlmöglichkeit

    Viel Spaß beim Testen!
    Johannes

  • Hi,
    klasse, dass du schon so weit bist :D Jetzt ist es wahrscheinlich kein großer Schritt zum Tandem mehr...!? Das wär natürlich echt cool... :D

    Es wird noch nicht geprüft, ob man Matt/Schach einsetzt, das will ich schon noch als Option haben

    Ja das stimmt ich hab aber beim Spielen eine komische Sache bemerkt...
     [Blockierte Grafik: http://dl.dropbox.com/u/24291162/jazz.png]

    Hier konnte ich die Dame zwar auf d7 einsetzen, nicht aber auf c8...Das ist eigentlich unlogisch.

    Bauern können noch nicht durchfallen, das wäre auch nett als Auswahlmöglichkeit

    Was ist das? Entweder wir meinen was anderes oder ich kenn das nicht!? :D

    man kann Bauern, die man eingesetzt hat, danach nicht wieder ziehen (auch nicht schlagen), alle anderen Figuren aber schon (kannst du das so bestätigen, RapIt?)

    Also ich hab recht viel getestet und kann das nur teilweise bestätigen...Manchmal konnte ich eingesetzte Bauern ziehen, mit ihnen andere Figuren schlagen und diese sogar umwandeln, aber manchmal hat auch gar nichts davon geklappt! Eingesetzte Figuren kann man immer wieder ziehen und auch schlagen, bzw. mit ihnen schlagen! Auf der Grundreihe kann man sie schon mal nicht einsetzen!
    Wenn man versucht mit ihnen zu ziehen und e snicht geht, läuft dies übrigens oft darauf hinaus, dass man gar nichts mehr machen kann, da immer die Fehlermeldung "Not your turn" kommt - obwohl man eigentlich ja dran ist. Wie hier:
    [Blockierte Grafik: http://dl.dropbox.com/u/24291162/Auswahl_005.png]

    Ich wollte den eingesetzten Bauern schlagen, aber das ging nicht, also hab ich dann mit einer anderen Figur gezogen, woraufhin die Fehlermeldung kann. Refresh hilft nicht und das habe ich mehrmals ausprobiert...

    Ansonsten passiert es auch leider oft, dass die Verbindung abstürtzt und /oder das Inventar nicht mehr angezeigt wird. Refresh hilft nicht und man muss neustarten. Hier ein Beispiel von dem Fehlerhaften Inventar: Schwarz hat keine Dame meh, sie taucht aber nicht auf!
    [Blockierte Grafik: http://dl.dropbox.com/u/24291162/Auswahl_002.png]


    Ansonsten hab ich noch 2 Bugs gefunden, die ich aber nicht reproduzieren / einordnen konnte:

    1) Man kann mit dem König nicht aus dem Schach einer eingesetzten Dame laufen!
    [Blockierte Grafik: http://dl.dropbox.com/u/24291162/Auswahl_004.png]

    (Der Versuch nach b3 zu laufen, scheitert!!)

    2)

    Hier hab ich kein Bild von und Refresh hat das Problem geklärt. Denke, dass war eher ein Anzeigeproblem, ist mir schonmal passiert...
    Beschreibung: Dame steht auf g4 und soll einen Springer auf f5 schlagen. Nach dem Zug steht die Dame aber auf e6, und der Springer ist trotzdem weg.

    Am meisten nerven aber die häufigen Verbindungsabbrüche, die ich mir nicht erklären kann, aber du kriegst das schon hin ;)

    Super, dass das realisiert ist, bald können wir dann Tandem zocken...Brauchen wir nur noch ein paar Leute :D

    Wenn ich noch mal etwas mehr Zeit habe, dann teste ich das noch mal ausführlich! ;)

    Bis dahin: :thumbup: :thumbup:
    RapIt

    • Offizieller Beitrag

    Hallo,

    Vielen Dank für den top-Test mal wieder! Gute Beschreibungen, hilfreiche Screenshots, danke!
    Das meiste davon (außer diese doppelt weiten Züge) könnte aus dem gleichen (kleinen) Problem stammen, das mir heute beim Schlange stehen (offline) aufgefallen ist. Werde das morgen schnell einbauen und dann testen…

    Gute Nacht!
    Johannes

    • Offizieller Beitrag

    Sooooooo… [Kunstpause]

    Ich habe den Fehler jetzt gefunden, war doch noch mal deutlich vertrackter als angenommen. Der Gedanke von gestern war an sich gut (Bauer muss nicht nur Farbe, sondern auch Spieler wechseln), allerdings nicht ganz richtig (der Bauer hat keinen Spieler als Eigenschaft). Letztendlich lief es darauf hinaus, dass der kopierte Bauer auch noch die Blickrichtung wechseln muss, mit der die möglichen Züge kodiert sind. Durch das "Rückwärtsdenken" des eingesetzten Bauern sind sehr komische Fehlerbilder entstanden.
    Außerdem war einiges mit dem Filtern von Zügen ins Schach bzw. solchen, die ein Schach nicht aufheben im Argen, aber das müsste jetzt auch erst einmal behoben sein.
    Wenn du die Fälle von oben noch mal grob nachstellen könntest, RapIt? *liebguck*

    Insgesamt läuft Crazyhouse jetzt also komplett. Kurze Regelkunde: Matt- und Schach-Einsetzen erlaubt, Bauern nicht auf Umwandlungsfeldern eines Spielers (standardmäßig also erste und letzte Reihe, aber kann angepasst sein wie bei Legan), umgewandelte Bauern behalten die neue Stärke (das war die Regel, die Wikipedia als normal angibt und ich auch so kenne, weil sonst Materialprobleme entstehen können mit realen Figurensätzen, am Computer darf es ja ruhig krachen :D).

    Im Zuge meiner Tests habe ich die Pocket-Geschichte, die Crazyhouse ja ausmacht so generalisiert, dass man das jetzt zu jedem vorhandenen Spiel einfach per Konfigurationsvariable ohne weiteren Aufwand dazuschalten kann. Bei MicroChess ist es im Moment aktiv, dann dauern die Partien da wohl länger und sind vermutlich weniger remislastig dank wiedergeboren werdender Bauern…

    Viel Spaß beim Spielen,
    Johannes

  • Hi,
    ich habe jetzt (soweit es meine Fantasie zugeassen hat :D) die Fälle noch mal versucht nachzusetllen. Es tritt kein einziger der obigen Fehler noch auf!
    Das Poket wird immer richtig angezeigt, es gibt keine Verbindungsfehler, es ist immer der "richtige" Spieler dran und alle Figuren (auch eingeusetzte) ziehen, schlagen und wandeln richtig um!!

    Das einzige, was ich jetzt reproduzieren konnte, war der "Doppelzugfehler" Eine Figur (oder Bauer9 zieht immer zweimal, wenn man ganz kurtzt zieht, bevor der Zug des Gegners "ankommt..."

    [Blockierte Grafik: http://dl.dropbox.com/u/24291162/Bug1.png]

    Mit der Zufolge:
    [Blockierte Grafik: http://dl.dropbox.com/u/24291162/Bug2.png]


    Und noch eins:
    [Blockierte Grafik: http://dl.dropbox.com/u/24291162/Bug3.png]


    Das ist aber im Prinzip nicht sehr schlimm dann das muss man ja schon fast provozieren ;)
    Na, dann kommt jetzt wohl Tandem!? :rock:
    Viele Grüße,
    RapIt

    EDIT: Ich habe gerade nochmal die Rochade (mit dem neusten Commit!) getestet, wobei mir ein Bug aufgefallen ist:
     [Blockierte Grafik: http://dl.dropbox.com/u/24291162/Bug04.png]

    Das passierte, nachdem ich kurz rochiert habe.

    • Offizieller Beitrag

    Danke für den Hinweis auf die mögliche Problemursache der Doppelzüge. Ich hatte gestern Abend auch noch gemerkt, dass ich bei der Rochade reproduzierbar doppelt weite Schritte vom Turm bekommen kann. Das passt optimal in deine Vermutung, weil die Rochade für das Brett zwei separate Züge sind, die mit einer Servernachricht ankommen. Vermutlich werde ich es so lösen, dass die Züge sauber hintereinander ausgeführt werden. Im Moment läuft es (unabsichtlich) quasi-parallel -- und macht deshalb offenbar Probleme.

    Edit: Behoben in diesem Commit. Es läuft weiterhin "parallel" mit den Zügen, ich hatte Variablen nicht korrekt lokal gehalten :S.

    Johannes

    p.s. Dank deiner (guten!) Screenshots ist der Thread voller Bilder von kaputten Stellungen und so :D.