Eine Frage der Umsetzung

Triggerfish

Stammgast
Hallo zusammen

Ich hätte da eine Idee für ein kleines Projekt. Jedoch weiss ich nicht, wie ich es angehen soll. Deshalb wende ich mich hier an euch, damit ich eine Ahnung kriege, wie mein Einfall realisierbar wäre.


Und zwar geht es um ein Spiel. Das Spiel heisst Rift und ist ein MMORPG. In dem Spiel gibt es die Möglichkeit ein sogenanntes Combatlog zu speichern. In diesem wird die gesamte Kampfstatistik von den Kämpfen, die im Spiel stattgefunden haben, gespeichert. Die Angaben sind sehr genau, da sie vom Spiel selber abgelegt werden und nicht durch ein "spielfremdes" Programm.

So. Dann gibt es sogenannte Parser. Die Parserprogramme lesen diese Log-Files aus und sortieren. So ist es möglich mit einigen Klicks herauszufinden, wer den meisten Schaden gemacht, wer am meisten geheilt hat, oder wer schlicht geschlafen hatte beim Endboss...
Ein Beispiel eines solchen Parsers wäre der Advanced Combat Tracker.

Das Problem an diesen Programm ist aber, dass nur die "Rohwerte" eines Kampfes angezeigt werden. Das heisst so viel wie: Ein Kampf - eine Statistik. Stirbt zum Beispiel jemand während dem Kampf, so werden seine "Kampfwerte" unabdingbar stark sinken. Ausserdem macht es sehr viel aus, welche Leute zu so einem "Spieleabend" erscheinen, was sie spielen müssen und wie sie gerade spielerisch belastbar sind.

Meine Idee wäre nun, das Ganze etwas weiter zu treiben.

Es wäre hilfreich, die Ausstattung der einzelnen Charaktere erfassen zu können, denn erst mit einer Verknüpfung von Ausrüstung und Skillung (Wie der Spieler seinem Charakter Fähigkeitspunkte zugeteilt hat) lässt sich ein passender Vergleich definieren.
Da sich die Ausrüstung und Skillung eines Charakters sehr einfach und schnell ändern lässt, wäre es nun einfacher herauszufinden, welche Ausrüstung/Skillung wo am besten zu benutzen ist. Bedingt aber, dass Werte von den Kämpfen über mehrere Wochen/Monate gespeichert und verglichen werden könnten. Das gilt natürlich auch für andere Mitspieler, die die gleiche Klasse spielen.
Beim Vergleich mit anderen Spielern würde jedoch eine dynamische Grösse mitspielen: Die Stärke des Spielers vor dem Bildschirm.
Da alle anderen Werte vom Spiel sehr berechenbar sind, wäre es theoretisch möglich, jedem Spieler einen Wert zuteilen zu können.
Gäbe es nun bereits eine Datenbank mit den Werten vergangener Kämpfe, wäre es ein leichtes sich mit diesem "Tool" auszurechnen, was für Gegenstände man im Spiel sammeln sollte, beziehungsweise wäre es möglich eine Rangliste der besten Gegenstände zu erstellen, die endlich auf Zahlen und Fakten beruht.

Einige Probleme, die mir jetzt bereits spontan einfallen:

Rift patcht fast wöchentlich. Es müsste also einen Puffer geben, der die Änderungen so umrechnen kann, damit die alten "Aufzeichnungen" nicht nutzlos sind.

Die Aufzeichnungen von Rift sind sehr gross. (ca. 100MB pro Abend / 5 Tage die Woche) Das ist sehr viel "Platz" für die Logs.
[Rift speichert den Kampf beispielsweise so ab:
00:00:01 Spieler XY macht XX auf Gegner XY
00:00:02 Anwendung XY auf Spieler XY endet
usw.] Da wäre es sinnvoll, die ganzen Logs in einer anderen Form zu speichern.

Die Dateien müssten allen Spielern gleichermassen verfügbar sein. Gerade, wenn die Spieler ja ihre Skillungen und Ausrüstungen selber eintragen sollten. Trotzdem sollten nur berechtigte Mitglieder die Logfiles vom Spiel raufladen dürfen.

Die Logfiles von einigen Spielern unterscheiden sich teilweise. (Minimal bei den Werten, jedoch kommt es vor, dass ein Spieler einen Gegner gar nie angegriffen hat; der wird dann im Logfile nicht erwähnt, während andere Spieler dem Gegner sehr wohl Schaden hinzugefügt haben.) Es wäre also hilfreich, wenn die Logfiles verglichen würden, und intelligent angepasst werden könnten.

Erlich gesagt, mir würden noch tausend Dinge in den Sinn kommen, aber irgendwie will ich ja mal auch eine Frage stellen, also:

Womit programmiert man so etwas am besten? Ist es sinnvoll alles gleich online zu speichern? Wie sieht es mit der Sicherheit aus? Es wäre doch ein ganzen Accountmanagement für die einzelnen Spieler nötig? Ist so etwas alleine und als Laie realisierbar? (Laie = gelangweilter Student). Sollten die Werte vom Spiel übernommen werden, oder erst die Werte von einem Parser? Wäre es möglich die Werte gleich während dem Kampf zu "synchronisieren"? Wie sieht das mit der Performance aus? Einige Spieler kommen bereits mit Mumble/Teamspeak und dem Spiel an die Grenzen ihrer Internetleitungen/Computerleistungen.

Und: hätte da jemand Lust mitzumachen?

Gruss

Triggerfish
 

Nebuk

PCtipp-Moderation
Teammitglied
Ich kenne mich mit RIFT überhaupt nicht aus und meine WoW Zeit liegt doch schon einige Jahre zurück. Doch damals wurden die Addons in WoW alle mit der Skriptsprache lua erstellt.

Ob und in wieweit du dein Vorhaben umsetzen kannst kann ich dir ebenfalls nicht sagen. Vielleicht hilft dir der Link aber bisschen weiter.

Gruss
Nebuk
 

Triggerfish

Stammgast
Hi Nebuk

Danke für den Vorschlag. Wo sollte man denn Lua genau einbauen? Erst zum Auswerten, bereits zum Auslesen oder erst beim Verwalten und Sortieren?

Rift plant im Moment die Möglichkeit zur Implementierung von Addons. (Wobei der Hersteller Trion das schon seit dem Release des Spiels vorhat).

Gruss

Triggerfish
 

Nebuk

PCtipp-Moderation
Teammitglied
Ich kenne mich da zu wenig aus (bei RIFT und mit LUA). Daher kann ich dir da leider keine weiteren Tipps dazu geben. Wenn ich Tippen müsste, so würde ich dies auf "schon beim Auslesen".
 
Oben