Plattformübergreifende API — Guild Wars 2 Foren

Plattformübergreifende API

Wir hatten mit der Beta von HoT eine lange Spielpause bis Frühjahr 2019 gemacht und stellen nach und nach viele Veränderungen fest - die Mac-Nutzer (und vielleicht auch Linux-Nutzer, falls es sowas gibt oder geben wird) ausschließen.
Eines davon ist die Möglichkeit, API-Erweiterungen wie DPS-Meter oder Taco zu verwenden.

Naturgemäß ist es nicht so trivial, ohne Developer-Account sauber signierte Binaries für ein macOS bereitzustellen. Und für Entwickler ohne Mac liegt die Latte umso höher.

Jetzt lehne ich mich aus dem Fenster: Die API wird hoffentlich keinen direkten Zugriff auf die Grafikausgabe oder den internen Spielspeicher zulassen.
Warum also nicht die API via Lua oder Squirrel anbieten und im GW2 mittels Einstellungen die gewünschten Plugins mit den gewünschten Berechtigungen (Laufweganzeige von Kopfgeldern braucht kein Zugriff auf Rüstung oder sonstige Werte, Buildmanager braucht kein Zugriff auf Umgebung, ...)? Dazu ein kleines SDK, was die eine oder andere Sache demonstriert.

Es könnte viel Frust in der Endspiel-Situation verhindern.

Kommentare

  • Tiscan.8345Tiscan.8345 Member ✭✭✭✭
    bearbeitet Juni 30, 2019

    @Snobran.3652 schrieb:

    Jetzt lehne ich mich aus dem Fenster: Die API wird hoffentlich keinen direkten Zugriff auf die Grafikausgabe oder den internen Spielspeicher zulassen.

    Grundsätzlich:

    • API: bei GW2 gibt es eine JSON-Schnittstelle über die man diverse Daten abrufen kann - die ist komplett unabhängig von der verwendeten Plattform, bietet aber keinerlei Echtzeit-Daten (wie z.B. die Position des Spielers in der Welt, etc.) - im Spiel selbst ist die zum grossen Teil nutzlos
    • Mumble-Link: ist das was z.B. TacO oder viele andere Apps nutzen -> gibt den Zugriff auf Daten wie die Spieler-/Kameraposition und einige andere Sachen (Char-Name, Rasse, etc.) -> ist auf technischer Ebene ein sogenanntes "Memory Mapped File" - also eine Datei die nur "virtuell" im Speicher des Prozesses existiert (das gibt es theoretisch auch auf MacOS - ich hab nur keine Ahnung inwieweit man da von anderen Prozessen Zugriff hat -> theoretisch sollte es dann kein grosses Ding sein das so anzupassen, dass es auch auf MacOS funktioniert - es müsste dann "nur" jemand eine Software wie TacO für MacOS schreiben)
    • DirectX-Hooking: ist das was z.B. das Radial Mount Menu nutzt - dabei wird dem Spiel eine eigene DirectX-DLL untergeschoben die sich zwischen GW2 und Die Grafikausgabe setzt und über die man eigene Inhalte (wie z.B. das Mount-Menü) im Grafik-Kontext von GW2 zeichnen kann - wird auch von ArcDPS für die Anzeige der Menüs genutzt
    • Overlay: ist eine Technik die z.B. TacO nutzt - dabei wird ein unsichtbares Fenster über das Fenster von GW2 gelegt und dort werden dann Sachen gezeichnet

    ArcDPS nutzt übrigens für die Ermittlung der Daten eine im Grunde nicht von ArenaNet geduldete Technik - nämlich den direkten Lesezugriff auf den Speicher von GW2 - ArcDPS hat allerding als einzige App ein OK bekommen das zu tun.

    Je nachdem welche Techniken ein AddOn also nutzt, hast du genau das was Du ansprichst - nämlich direkten Zugriff auf die Grafikausgabe und auf den Speicherbereich.

    Warum also nicht die API via Lua oder Squirrel anbieten und im GW2 mittels Einstellungen die gewünschten Plugins mit den gewünschten Berechtigungen (Laufweganzeige von Kopfgeldern braucht kein Zugriff auf Rüstung oder sonstige Werte, Buildmanager braucht kein Zugriff auf Umgebung, ...)? Dazu ein kleines SDK, was die eine oder andere Sache demonstriert.

    Es könnte viel Frust in der Endspiel-Situation verhindern.

    Wäre schon nett wenn ArenaNet eine bessere Schnittstelle zur Verfügung stellen würde - aber Scripting-Support wäre Overkill und ist glaub ich auch nichts was ArenaNet will.

    gw2info - DER News-Aggregator für Guild Wars 2
    gw2patches - sei immer auf dem laufenden wenn neue Patches & Patchnotes veröffentlicht werden

Zum Kommentieren mit GW2-Account einloggen oder registrieren.
©2010–2018 ArenaNet, LLC. Alle Rechte vorbehalten. Guild Wars, Guild Wars 2, Heart of Thorns, Guild Wars 2: Path of Fire, ArenaNet, NCSOFT, das ineinandergreifende NC-Logo und alle damit in Verbindung stehenden Logos und Designs sind Warenzeichen oder eingetragene Warenzeichen der NCSOFT Corporation. Alle anderen Warenzeichen sind das Eigentum ihrer jeweiligen Besitzer.