Status Update #37 - BDL, Teil 13: Performance & Shop

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

      Status Update #37 - BDL, Teil 13: Performance & Shop


      Um den Code lesen zu können auf 1080p ansehen

      Hey,

      hier die letzten Neuerungen. Die Sonderbehandlung der Licht-Updates sind nötig geworden. Es geht noch nicht perfekt aber es scheint soweit zumindest nicht all zu große Probleme zu machen.
      Der Shop/Transaktions-Ansatz ist denke ich mal der interessanteste Teil dabei. Weitere Ideen oder auch Fragen gerne gesehen.

      0:00 - 1.14 Light Updates vs /land buy
      0:35 - Shop colors & accounts
      2:17 - Piston fail
      2:59 - Java: Stream API & Code Hotswapping
      6:28 - Verzögerte 1.14 Light updates
      7:48 - Accounts & Transaktionsgebühren

      Kade

      PS: (Der Piston-Fail im Video war am Ende doch nur weil ein Plugin Pistons verboten hat - aber speziell nur das zurückziehen *facepalm* )
      Bitte möglichst alle Fragen im Forum stellen und nicht mir per Privatnachricht.
      Ich Teile meine Zeit aktuell: 2,5 Tage 1.13, 2,5 Tage Arbeit, 1 Tag Kadcon. Eine PN-Antwort kann entsprechend länger dauern.
      Sehr cool, dass es jetzt doch mehrfarbige Shopschilder gibt :)

      Habe ich das richtig verstanden, dass es bei BDL keine globalen Kontennamen mehr gibt, sondern nur noch Kontonummern und man für sich selbst beliebige Kontennamen (dh. für die eigenen Konten) vergeben kann?

      Warum hast du bei Eclipse nicht "organize imports" beim speichern aktiviert?

      Code hot swapping ist schon eine verrückte Sache, statische Änderungen werden nicht übernommen, neu erstellte eigenen Klassen schon, bei Lambdas/Streaming API wird rumgeheult^^ Ist schon etwas komisch, weil der Aufruf der Stream API ja eigentlich lokal ist.

      Könntest du in diesem Fall nicht auch parallelStream() nehmen? Ich weiß jetzt natürlich nicht ab wie vielen Chunk sich das lohnen würde^^ Aber eigentlich könntest du ja auch anyMatch() nehmen und auf das Gegenteil prüfen so wie du es in der klassischen Schleife gemacht hast, dann musst du nicht alle Elemente durchlaufen.

      Kannst du beim Land kaufen/Verkaufen vielleicht "Console" durch "Server" ersetzen? Ich glaube das würden Anfänger eher/besser verstehen.

      Das M mit dem Kreis außen rum ist das der neue Platzhalter für Kadis?

      Grüße Daniel
      @d4n1el89
      Alles interessante Punkte, danke :)

      Koten: Genau ich möchte dichter an das System in der Realität, wo du nur Nummern kennst. So kannst du z.B. auch ganz gut versuchen einen "geheimen" Shop auf zu bauen, bei dem nicht jeder weiß wer der Besitzer ist.
      Die Nicknames sind dann beliebig für einen selber. Ich überlege dann am Ende "Premium Konten" ein zu bauen. Dabei musst du für ein KontoNamen regelmäßig Gebühren bezahlen (Trademark) und das Konto wird auf Schildern dann z.B. auch farbig angezeigt. Darüber kann man dann sehr schön probieren einen Markennamen zu verwirklichen.

      "organize imports": Habe ich nie wirklich gebraucht. Welchen Vorteil hätte dies so lange ich nicht Merges mit anderen Mitgliedern habe?

      parallelStream() ist häufig nicht gut und man muss das von Fall zu Fall unterscheiden.
      Faustregel würde ich sagen: So lange es nicht x-tausende Elemente sind hat es keinen Sinn. In diesem Fall ist es relativ sicher nicht hilfreich. Wesentlich interessanter wird es wenn die Aufgabe pro Item aufwändiger ist, dann kann es auch bei wenigen Items Sinn machen. Hier haben wir aber nur am Ende einen enum-check. allMatch: 'This is a short-circuiting terminal operation' also hat es das gleiche Verhalten.


      Console: Ja da überlege ich noch. Die Konten heißen hier "worldbank" und "landtax", aber die sind ja nun nur privat sichtbar und der Besitzer-Name wird angezeigt (Console) deswegen würde auch der erste Punkt hier noch nicht funktionieren. Muss ich noch dran arbeiten :)

      Das "M" war gedacht als "Mars-Währung" aber das kann man ja auch noch sehr kurzfristig ändern.


      Kade
      Bitte möglichst alle Fragen im Forum stellen und nicht mir per Privatnachricht.
      Ich Teile meine Zeit aktuell: 2,5 Tage 1.13, 2,5 Tage Arbeit, 1 Tag Kadcon. Eine PN-Antwort kann entsprechend länger dauern.

      Kademlia schrieb:

      "organize imports": Habe ich nie wirklich gebraucht. Welchen Vorteil hätte dies so lange ich nicht Merges mit anderen Mitgliedern habe?


      Der Vorteil ist, dass ungenutzte Imports automatisch entfernt werden. Man hat also weniger Codezeilen. Die Importe werden zwar meist durch die IDE automatisch ausgeblendet, aber es macht doch keinen Sinn unnötiges Ballast immer mitzutragen?
      Okay dann gibt es doch einen Grund warum ich es deaktiviert habe :D

      Gerade mal getestet. Wenn du ein List<?> auskommentierst und wieder einkommentierst ist die Information verloren welche Art von Liste der Import war und du musst ihn neu einfügen.
      Kommt nicht so häufig vor ist für mich aber nerviger als vor dem Checking einmalig das Organize auszuführen.

      Kade
      Bitte möglichst alle Fragen im Forum stellen und nicht mir per Privatnachricht.
      Ich Teile meine Zeit aktuell: 2,5 Tage 1.13, 2,5 Tage Arbeit, 1 Tag Kadcon. Eine PN-Antwort kann entsprechend länger dauern.
      Hellou @Kademlia,

      es freut mich zuhören, dass du es mit BDL so weit geschafft hast. Es wird immer besser und besser! ^^ Ich hätte hier noch eine frage was mir im Chat direkt aufgefallen ist und mich Interessiert. :)

      Wozu steht der Text „*Kademlia is now Afk. / *Kademlia is no longer Afk.“ bei der Zeit 1:23? Ist es eine neue Funktion vom alten /Afk System, dass es auf Kadcon geben wird :huh: oder wird es weiterhin das alte System von /afk auf Kadcon geben? ?(
      Ihr habt ein paar Ideen für die mlobby? z.B Minispiele? dann schreibt es hier in den Thread -> Vorschläge für die mlobby 1.13/1.14 :KadConLogo: :thumbup: <3
      @Emily04_

      Am Anfang wird es denke ich gar kein AFK-System geben. In der Testphase können gerne alle auf dem BDL-Server AFK rumstehen. Das wird dabei helfen Performance-Engstellen schneller zu finden.
      Ob dann später eins kommt/was für eins kommt --- mal gucken bin ich noch nicht sicher.

      Kade
      Bitte möglichst alle Fragen im Forum stellen und nicht mir per Privatnachricht.
      Ich Teile meine Zeit aktuell: 2,5 Tage 1.13, 2,5 Tage Arbeit, 1 Tag Kadcon. Eine PN-Antwort kann entsprechend länger dauern.

      Kademlia schrieb:

      Wenn du ein List<?> auskommentierst und wieder einkommentierst ist die Information verloren welche Art von Liste der Import war und du musst ihn neu einfügen.


      Kann man nicht an Stelle einer normalen Variablen ein Array nutzen?
      zB. 1. Eintrag <= Bezeichnung,
      2. Eintrag <= Info aktiv/nichtaktiv,
      3. Eintrag <= Info

      Ich weiss nicht wie sehr sowas bei Java belastet, aber man kann ja notfalls auch alt-info-einträge in *.txt's speichern notfalls und neu einlesen wenn es gebraucht wird. Dazu braucht nur jedes List eine ID.
      Wer Böses von mir spricht, betrete meine GS nicht.
      Denn jeder hat in seinem Leben auf sich selber Acht zu geben!


      Kademlia schrieb:

      7:48 - Accounts & Transaktionsgebühren

      Die Gebühren bis 1 zu sammeln und dann immer so stückweise auszuzahlen finde ich irgendwie komisch und unlogisch.
      Mir persönlich würde es am besten gefallen, wenn die Gebühren direkt der jeweiligen Transaktion zugeordnet sind, oder sogar direkt in der Buchung schon abgezogen sind. Hier ein Beispiel am aktuellen Kontoauszug:
      2019-10-24 12:44:24 *wekzbaustoffe ⬅ 898,2* BenniSonntag KShop 960 Gray Terracotta (159:7) Server 154827.41
      *+900 Kadis Einnahme und -1,8 Kadis Gebühren


      Grüße Benni :)

      BenniSonntag schrieb:

      Kademlia schrieb:

      7:48 - Accounts & Transaktionsgebühren

      Die Gebühren bis 1 zu sammeln und dann immer so stückweise auszuzahlen finde ich irgendwie komisch und unlogisch.
      Mir persönlich würde es am besten gefallen, wenn die Gebühren direkt der jeweiligen Transaktion zugeordnet sind, oder sogar direkt in der Buchung schon abgezogen sind. Hier ein Beispiel am aktuellen Kontoauszug:
      2019-10-24 12:44:24 *wekzbaustoffe ⬅ 898,2* BenniSonntag KShop 960 Gray Terracotta (159:7) Server 154827.41
      *+900 Kadis Einnahme und -1,8 Kadis Gebühren


      Grüße Benni :)


      Ich würde es so auch bevorzugen, wenn die Gebühren direkt in der Transaktion selbst schon abgezogen wurden. Eventuell kann man beim Kontoauszug noch eine neue Spalte hinzufügen mit "Betrag vor Gebühren" oder es steht mit im Betreff mit drin. Die Gebühren /Betrag vor Gebühren könnte man in der Ingamenachricht dann auch entsprechend in der Detailansicht mit anzeigen.
      @BenniSonntag
      @125m125

      Das hört sich eher danach an als ob die Darstellung der Werte an ein paar stellen einfach anders sein soll. Die Argumente sind ja nicht speziell für einen direkten Abzug, sondern nur, dass die Geldmenge anders angezeigt wird. Statt "Kontostand" einfach "Kontostand - Gebührenmenge" anzeigen und dann ist alles schon wie beschrieben?

      Einen echten direkten Abzug würde ich nur nach einigen Wochen Testphase einbauen wenn überhaupt, weil es viel zu viele Nachteile hat in der Darstellung/Handhabung von Transaktionen.

      Kade
      Bitte möglichst alle Fragen im Forum stellen und nicht mir per Privatnachricht.
      Ich Teile meine Zeit aktuell: 2,5 Tage 1.13, 2,5 Tage Arbeit, 1 Tag Kadcon. Eine PN-Antwort kann entsprechend länger dauern.