[DONE] Verschobene Stats auf PS & FTP

    • Jerem1ah
      Jerem1ah
      Bronze
      Dabei seit: 04.01.2010 Beiträge: 151
      Hallo,

      ich muss leider monieren, dass die Devs es immer noch nicht hinbekommen haben das Problem mit den verschobenen Stats zu fixen.

      Andauerend muss man dem Elephanten händisch sagen auf welcher Position man sich befindet. Bei mir ist es nicht so gravierend, da ich erstens nicht so viele Tische spiele, und zweitens meist am Tisch bleibe da ich BSS spiele. Allerdings bei nem Bekannten von mir, der SSS spielt, ist es einfach nur grausig. 12+ Tische auf, jedes mal die eigene Position neu festlegen sobald er nen Tisch verlässt und einen neuen aufmacht. Einfach nur NERVIG!

      Will den Devs ja nicht zu nahe treten. ABER wie wäre es mal damit erst die Fehler zu fixen die vorhanden sind, als das Hauptaugenmerk auf neue Features zu legen? Da läuft definitiv etwas falsch.
  • 8 Antworten
    • PeSch81
      PeSch81
      Bronze
      Dabei seit: 30.08.2006 Beiträge: 31
      Melde das Problem für Fultillt auch :)
    • Jerem1ah
      Jerem1ah
      Bronze
      Dabei seit: 04.01.2010 Beiträge: 151
      Morgen noch mal PeSch81 ;)

      Ich änder einfach mal den Topic und füge FT hinzu.
    • mrk1988
      mrk1988
      Bronze
      Dabei seit: 04.02.2007 Beiträge: 13.337
      /Push

      Ich gebe das weiter.
    • Jerem1ah
      Jerem1ah
      Bronze
      Dabei seit: 04.01.2010 Beiträge: 151
      Wenn ich mir den Thread noch mal so durchlese, muss ich gestehen, dass er doch etwas harsch rüberkommt.

      Im Allgemeinen finde ich es eine tolle Leistung, der Community von PS,einen solchen Service zu bieten, und dies, zum größten Teil, kostenlos. Sicherlich erspielt man den Elephanten auch mit dem Rake welchen man erzeugt. Darum ja die benötigten 1000 Punkte.

      Ich verstehe auch das Begehren der Devs neue Features einzubauen. Allerdings sollte man sich wirklich erst den vorhandenen Fehlern widmen. Eventuell nur ein kleiner Teil der Devs. Ich weiss ja nicht genau wie viele Resourcen Euch zur Verfügung stehen. Aber den Fokus nur auf neue Features zu setzen, kann nicht die richtige Option sein. Vorallem da Ihr, wie ich vernommen habe, Verstärkung zum Team bekommen habt, der sich um das Qualitymanagement kümmern soll. Korrigiert mich, falls ich falsch liege.

      Ihr macht meiner Meinung nach einen anständingen Job. Was ich als auch andere Nutzer begrüßen. Aber lasst uns mit bekannten Fehlern nicht im Regen stehen. ;)

      In diesem Sinne. Keep up the good work, guys.

      Cheers
    • PS.Markus
      PS.Markus
      Bronze
      Dabei seit: 12.05.2009 Beiträge: 455
      Moin,

      ich verstehe natuerlich, dass das Fehlen der Moeglichkeit im Elephant einmal seine fixe Position global festzulegen speziell bei SSS aeusserst laestig ist. Allerdings gab's diese Funktionalitaet bis jetzt nicht, insofern ist das aus meiner Sicht ein neues Feature, bzw eine Erweiterung und kein Bug.

      Dennoch sind wir bei Eingriffen in den "alten" Legacy-Code sehr zurueckhaltend.
      Es hat ja einen Grund wieso die Qualitaet der Software so ist, wie sie eben ist. Der Legacy-Code ist schlicht nicht gut programmiert, unsauber und nicht strukturiert.

      Jede Aenderung am Legacy-Code bedeutet einen sehr hohen Aufwand und ein nahezu unabschaetzbares Risiko, dass es durch die Aenderung an anderer Stelle knallt. Das ist eine Operation am offenen Herzen.

      Genau das ist uns ja auch mit Version 0.71 passiert. Da ersetzten wir "nur" eine darunterliegende Komponente, dennoch kam es zu nicht vorhersehbaren Seiteneffekten im Legacy-Code.

      Die einzig vernuenftige Moeglichkeit ist parallel zum bestehenden Code, die Aplikation von Grund auf neu zu implementieren. Sobald eine Komponente fertiggestellt ist, werden die Zugriffe vom Legacy-Code auf die neuen Komponenten umgeleitet und somit die alten Teile ersetzt.

      Im Zuge dessen wurde z.B. die Parse-Engine komplett erneuert und der PartyPoker Parser ersetzt. Demnaechst werden wir voraussichtlich SnG Support fuer einen weiteren Anbieter hinzufuegen, d.h. der naechste Parser wird ersetzt werden. Diese Aenderungen schlagen sich auch sofort im Cash-Game Teil nieder.

      Weiters wurde die UI Archtiektur auf komplett neue Beine gestellt. Es kommt durchgehend das Model-View-ViewModel Konzept zum Einsatz.

      Dummerweise steht das HUD am Ende diser Kette und baut auf _allen_ darunterliegenden Komponenten auf. Wir versuchen dort so schnell wie moeglich hinzukommen, aber dazu benoetigen wir leider erst ein paar Grundlagen.

      Bitte hab in Anbetracht des Aufwands und des Risikos Verstaendnis, dass wir die vorgeschlagenen Aenderungen nicht sofort umsetzen koennen.


      Ein paar Statistiken:

      Neu entwickelter Code seit 01.11.2009:
      55.471 Zeilen

      Davon Tests:
      13.501 Zeilen

      Testabdeckung (exkl. UI):
      98.3%


      Cheers,
      M.
    • Jerem1ah
      Jerem1ah
      Bronze
      Dabei seit: 04.01.2010 Beiträge: 151
      Hallo PS.Markus,

      recht herzlichen Dank für Dein Feedback. Selbstverständlich verstehe ich das Dillema. Da ich selber code, sogar nur zu gut. Allerdings marginal sollte so eine Funktion ja schon implementiert sein. Damit meine ich die Funktion "Aktion für alle Tische ausführen" Auch wenn diese mehr oder minder rudimentär ist.

      Allerdings funktioniert sie nicht. Oder mir ist der Sinn der Funktion verborgen geblieben. Normal würde ich davon ausgehen, dass ich nur an einem Tisch die Platzzuweisung vornehmen müsste und sie dann auf die anderen Tische übernommen wird. Dem ist leider nicht so. Sobald man die Funktion aktiviert hat und seinen Platz festlegt, so verschieben sich die Stats auf den anderen Tischen. Der erwähnte Bekannte wusste gar nicht wie ihm geschah, bis ich ihm sagte, er solle die Option ausschalten, da sie nicht funktioniert.

      Der wirkliche Sinn der Implementierung für SNG's bleibt mir leider trotzdem noch verborgen. Ist klar, dass das Hud auf den anderen Komponenten aufbaut. Allerdings, so kenne ich es nur, legt man den Fokus auf Vorhandenes, restrukturiert den Code, bessert Mängel aus und fügt ggf. kleine Features am Rande ein. (Denn das ist die Positionierungsfunktion sicherlich) Die Implementierung der SNG's ist allerdings bei weitem keine kleine Sache.

      Wie dem auch sei, eine tolle Leistung die Ihr da vollbringt. Gerade weil Ihr, wie es mir scheint, den Mist von anderen fixen müsst. Also so hört es sich an ;)


      EDIT: Falls Ihr noch einen ambitionierten Beta-Tester benötigt, stelle ich mich gerne zur Verfügung.
    • PS.Markus
      PS.Markus
      Bronze
      Dabei seit: 12.05.2009 Beiträge: 455
      Moin,

      Sorry fuer die Verspaetung.

      Deine Vorschlaege sind schon sinnvoll, allerdings setzen sie voraus, dass es eben eine Basis gibt, die man restrukturieren kann. Leider ist das nicht der Fall.

      Der Legacy-Code ist so stark miteinander verwoben und verschraenkt, dass es schlicht nicht moeglich ist kleine Teile auszubessern. Man muesste erst den Code entkoppeln und strukturieren. Das ist ein riesen Aufwand.

      Zusaetzlich gibt es kaum Tests, die aber benoetigt werden um sicherzustellen, dass durch die Umstellungen keine bestehende Funktionalitaet zerstoert wird. Das ist Programmieren im Minenfeld.

      Genau das sahen wir jetzt grad wieder mit dem iPoker Update. Eigentlich eine kleine Aenderung, die aber massive Arbeiten und Bugfixing im Code nachsich ziehen.

      Was jetzt wie ein Umweg erscheint, naemlich SnG-Funktionalitaet einzubauen, ist in Wirklichkeit gar nicht so relevant, da ca 90% des Codes/Architektur auch fuer Cash-Game benoetigt werden.
      SnG ist quasi unsere Testapplikation fuer die neuen Komponenten, die dann die Cash-Game Komponenten ersetzen.

      Cheers,
      M.
    • PS.Markus
      PS.Markus
      Bronze
      Dabei seit: 12.05.2009 Beiträge: 455
      Moin,

      hier separat zur "Auf alle anwenden"-Problematik.

      Das Feature der Pokerraeume ist ja nichts anderes, als lokal die Anzeige um ein bestimmtes Offset so zu drehen, dass es den Anschein hat, als sitze man immer auf dem selben Platz.

      Das ist in Wirklichkeit natuerlich nicht so. Man sitzt an den Tischen an den unterschiedlichsten Plaetzen, was man leicht in der Hand-History nachlesen. Der Offset-Wert ist dadurch an jedem Tisch ein anderer.

      Die "Auf alle anwenden"-Funktion scheint nun den Offset-Wert des gerade aktiven Tisches auf alle anderen Tische zu uebertragen. Das ist zwar technisch korrekt implementiert, das Ergebnis ist jedoch voellig unbrauchbar.

      Richtigerweise muesste aus dem Offset und der Platznummer aus der Hand-History die angezeigte Platznummer errechnet werden. Die angezeigte Platznummer muesste nun an alle Tische uebertrage und dort aus der Hand-History der korrekte Offset-Wert errechnet werden.

      Das ist nun nicht mehr ganz so trivial und sprengt den Aufwand fuer einen kleinen Fix.

      Cheers,
      M.