Neue UI und Addon Programierung

Hallo,

es ist wahrscheinlich die falsche Katogorie, aber diese kommt meinem Anliegen wohl am nächsten.

Ich finde es gut das die Ui modernisiert werden soll. Allerdings gibt es scheinbar Diskussionen über Addons.

Ich habe für mich selbst auch einige kleine Addons geschrieben und mir den Quellcode einiger angesehen bzw. veraltete selbst repariert weil sie nicht mehr weiterentwickelt werden. Dabei ist mir aufgefallen, dass viele Fehler die durch neue Interfaceversionen enstehen, also ein Update erfordern, sich wahrscheinlich vermeiden ließen wenn mehr über das Designkonzept von Blizzard bekannt wäre.

Hier ein Beispiel:
Ich hab mal zu LK-Zeiten ein RAID Planungstool gebastelt. Es lief ohne Änderungen bis Pandaria. So wurden bei Einführung des Mönchs problemlos die Klassenfarbe und das Klassenicon übernommen, weil die Textur von Blizzard planmäßig erweitert wurde.

Ich halte es für unnötig irgeneinen Blizzarddialoge zu überladen, weil die Ereignisbehandlungsroutinen völlig ausreichten. Die Handler werden von Blizzard eigendlich nur durch weitere Pareameter ergänzt. Wenn mann beim Aufruf des nächsten Handler also einfach die gesamte Parameterliste übergibt, ist nie ein Update erforderlich.

Es gibt zwar einige sehr gute Seiten zur Addon-Programmierung aber keine offizellen Richtlinien. Ich bin mir Bewusst das Blizzard nicht zu viele Einblicke geben will. Aber ein wenig Anleitung würde meiner Meinung nach für bessere und stabilere Addons sorgen.

Hier gäbe es auch die Möglichkeit den Zugang über die Spiele-Accounts zu beschränken, bzw. eine Art Entwicklerprogramm zu initieren. Ihr hättet dann auch mehr Kontrolle über den Addon-Code.

Ich meine, dass B mal gesagt hat, dass das die Sache der AddOn Entwickler ist. B selbst wird sich da nicht beteiligen, außer in dem Rahmen, dass sie immer mal wieder Funktionen übernehmen.
Glaube daher nicht, dass sich B da jemals mehr in die Karten schauen lassen wird, als bisher.

Es geht mir nicht darum, dass sie zuviel preisgeben. Ich meine sie sollten wenigstens ein wenig Anleitung geben. Scheinbar ist B nicht mit allen Entwicklungen einverstanden.

Prominentes Beispiel waren Bossmods die bei Kromog (Warlords of Drenor) die Positionierung der einzelnen Schlachtzugmitgliedern übernahmen. Daraufhin sah B sich genötigt die Funktion GetPlayerFacing() in Instanzen zu deaktievieren. Eine Funktion die ich für meinen Kompass benutze weil ich nciht richtig kucken kann und der Minimappfeil trotz Vergrößerung durch UI Skalierung einfach zu klein ist.

Was ich damit sagen will ist, wenn B hier ein paar Regeln festgelegt hätte, wäre es vielleicht nie soweit gekommen.

Was für Regeln? B will da erst mal sich nicht mehr einmischen, als das sie entscheiden, welche Funktion genutzt werden darf und welche nicht.

Und ganz ehrlich, wenn es verboten gewesen wäre, hätten Entwickler trotzdem AddOns erstellt, die diese Funktion haben. Und entsprechend hätte B dann die Funktion ebenfalls sperren müssen, da es keine andere Option gibt.

Daher gilt einfach die Regel, was funktioniert kann man machen, bis B ändert, was funktioniert.

Ich kann verstehen, dass es für dich von Nachteil ist, dass diese Funktion in Instanzen deaktiviert wurde. Aber es gibt ja auch dazu eine aktuelle Diskussion rund um das Fernauslösen des /follow Befehls.
Hier hat B klar gemacht, zumindest interpretiere ich das so und teile die Meinung, dass:

Verhindern der Ausnutzung von Mechaniken/Funktionen > Erleichterter Zugang für Menschen mit Einschränkungen

Das Erstellen von AddOns ist und war schon immer eine reine Sache der Community. Solche Änderungen haben wir schon hunderte Male erlebt, seit es WoW gibt. Mal mit größeren und mal mit kleineren Auswirkungen.

Und genau das soll ja eben nicht der Fall sein. Die Entwicklung und Nutzung soll frei sein. Keine Kontrolle und auch kein Support für AddOns. Keine große Arbeit für B und mehr Freiheiten für die Community.

Passenden zusammengefasst.

Bei solchen Funktionen muss man auch immer wieder bedenken, dass man sie auch für Automatismen ausnutzen kann um bestimmten Mechaniken zu trivialisieren oder für den Kampf vollkommen unwichtig zu machen.
Klar ist das erstmal für Spieler die mit Einschränkungen zu kämpfen haben ärgerlich, läßt sich aber leider nicht ändern wenn es andere übertreiben und das solange ausnutzen wie es geht.
Beste Beispiel ist ja auch hier das AddOn damals zu LK was Positionierungsflächen in die Spielwelt zeichnen konnte (komme gerade nicht auf den Namen). Damit wurden alle zu dem Zeitpunkt verfügbaren Encounter so stark trivialisiert das Blizzard recht schnell die Schnittstelle entfernt hat.

Genau betrachtet gibt Blizzard sogar extrem viel Einsicht in ihren Interface-Code und den verfügbaren Funktionen die man in einem AddOn nutzen kann. Der Code ist jederzeit einsehbar wodurch sogar das hier =>

entfallen würde.

Man kann sich jederzeit den Interface-Code für das StandardUI exportieren um diesen durchzugehen. Auch wird dort vermerkt welche möglichen Funktionen von AddOns ansprechbar sind. Dafür muss man WoW solange wie man das braucht mit dem Flag -console über die WoW.exe starten und kann dann dort per

ExportInterfaceFiles code

den kompletten Lua-Code für das UI exportieren.
Will man das nicht machen, gibt es unteranderem bei Github eine Vielzahl an Repositorys die den aktuellen Code enthalten, ansonsten kann man auch Twonlong Yak benutzen was das ganze sogar durchsuchbar macht.

Links
Console-Flag:

https://wowpedia.fandom.com/wiki/Console

UI-Export

https://wowpedia.fandom.com/wiki/Viewing_Blizzard%27s_interface_code

Townlong Yak (indizierter Interface-Code, hochgradig aktuell und enthält auch Beta-Code)

https://www.townlong-yak.com/framexml

Gethe Github-Repo für UI-Code

https://github.com/Gethe/wow-ui-source

Man muss halt vieles selbst machen aber alleine der Code ist die beste Anleitung wenn man es genau nimmt. Habe selbst das ganze genutzt als ich noch meine eigene UI gebaut habe.

2 Likes

Vielen Dank für diesen sehr informativen Post.
Einige Sachen waren mir bekannt viele andere nicht.

Ich werde mich intensiever informieren und darüber nachdenken.

Dieses Thema wurde automatisch 90 Tage nach der letzten Antwort geschlossen. Es sind keine neuen Nachrichten mehr erlaubt.