Themabewertung:
  • 5 Bewertung(en) - 5 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Reverse Engineering der NLT
Gibt's hier eigentlich was Neues zu vermelden? :)
--------
Warnung! Geschichte kann zu Einsichten führen und verursacht Bewusstsein!
Avatar by: Keven Law (CC BY-SA 2.0)
Könnte man Henne eigentlich noch irgendwie unterstützen, außer als Tester?
Als Programmierer! :D
--------
Warnung! Geschichte kann zu Einsichten führen und verursacht Bewusstsein!
Avatar by: Keven Law (CC BY-SA 2.0)
Momentan stehen bei mir Prüfungen und Auftritte an. Darum wird es im Reps bis Anfang August etwas ruhiger. :(

Es gibt sicherlich noch etwas zu tun. Hier ein paar Ideen von mir:

Programmierer könnten z.B. einen Datenfile-Editor mit GUI auf Basis der Daten im Wiki und Hendriks
NTLpack schreiben (aber bitte nicht mit Java oder .NET)

Künstlerisch veranlagte könnten z.B. ein paar dem NLT-Stil ähnliche Gesichter zeichnen,
als Vektorgrafik natürlich. DOSBox hat zwar viele Scaler um die Bilder in den Datenfiles größer
darzustellen, aber mir persönlich gefällt Normal2x am Besten, da es sehr nah am Original ist.
Zumindest wäre es nett, wenn sich jemand Gedanken über den Stil der NLT macht und diese in Worte fasst.
Gruppenarbeit!

Schön wäre auch, wenn ein "hier Einheimischer" den Bug-Thread (oder auch andere Teile des Forums) durcharbeitet
und in kompakter Form (mit Verweisen) "vieles was nutzlich sein könnte" zusammenträgt,
damit Menschen mit weniger Zeit (so wie ich) nicht solange suchen müssen.

Es wäre auch noch möglich, wenn ein Schick-Spieler, sich selbst bei den Kämpfen beobachtet
und eine bessere Strategie formulieren kann, als sie beim Computerkampf praktiziert wird.
Zu dem Thema "Spieletheorien" gibt es etwas mathelastige, aber nichtsdestotrotz unterhaltsame Bücher.

Wenn jemand Ideen für NLT-ige Quests hat, könnten die auch "in Form" gebracht werden.
Aber sie sollten vielleicht auch nicht unbedingt im Forum ausdiskutiert werden,
da sonst alle schon wissen was passiert. (Überraschungseffekt)

Mehr Ideen hab ich erstmal nicht. Wie siehts denn bei euch aus? ;)
(05.07.2012, 18:58)HenneNWH schrieb: Programmierer könnten z.B. einen Datenfile-Editor mit GUI auf Basis der Daten im Wiki und Hendriks
NTLpack schreiben (aber bitte nicht mit Java oder .NET)
was meinst du damit genau? Soll ein Editor geschrieben werden, mit dem sich sämtliche datenformate öffnen und bearbeiten lassen?
Und die Vorgabe eine GUI ohne java oder .NET zu machen, finde ich persönlich unnötig, ist erstmal ein enormer auffwand und kann auch zu vielen Fehlern führen(gearade bei einer so umfangreichen GUI).
Und wenn du es plattform unabhängig haben willst, dann sollte man doch lieber eine GUI in c# schreiben, das .NET-Framework gibt es doch mitlerweile auf fast allen Plattformen.

(05.07.2012, 18:58)HenneNWH schrieb: Es wäre auch noch möglich, wenn ein Schick-Spieler, sich selbst bei den Kämpfen beobachtet
und eine bessere Strategie formulieren kann, als sie beim Computerkampf praktiziert wird.
Zu dem Thema "Spieletheorien" gibt es etwas mathelastige, aber nichtsdestotrotz unterhaltsame Bücher.
das sollte sich auch dadurch regeln lassen, in dem man für den Computerkampf viel mehr sachen einstellbar lässt, so kann jeder Spieler für sich entscheiden wie er den Kampf beschreitet. (z.B. eine Automatische unterbrechung des Computerkampfes wenn eine bestimmte Bedingung eintritt.
"Mut ist der Zauber, der Träume Wirklichkeit werden lässt"

Savegameditoren, Tools und Patches der Nordlandtrilogie
Mein DSA Savegameditor
(06.07.2012, 07:24)tommy schrieb:
(05.07.2012, 18:58)HenneNWH schrieb: Programmierer könnten z.B. einen Datenfile-Editor mit GUI auf Basis der Daten im Wiki und Hendriks
NTLpack schreiben (aber bitte nicht mit Java oder .NET)
was meinst du damit genau? Soll ein Editor geschrieben werden, mit dem sich sämtliche datenformate öffnen und bearbeiten lassen?
Und die Vorgabe eine GUI ohne java oder .NET zu machen, finde ich persönlich unnötig, ist erstmal ein enormer auffwand und kann auch zu vielen Fehlern führen(gearade bei einer so umfangreichen GUI).
Und wenn du es plattform unabhängig haben willst, dann sollte man doch lieber eine GUI in c# schreiben, das .NET-Framework gibt es doch mitlerweile auf fast allen Plattformen.

Hm, okay. Ich habe gerade MonoDevelop installiert.
Es sieht auf den ersten Blick für mich recht praktikabel aus.


(06.07.2012, 07:24)tommy schrieb:
(05.07.2012, 18:58)HenneNWH schrieb: Es wäre auch noch möglich, wenn ein Schick-Spieler, sich selbst bei den Kämpfen beobachtet
und eine bessere Strategie formulieren kann, als sie beim Computerkampf praktiziert wird.
Zu dem Thema "Spieletheorien" gibt es etwas mathelastige, aber nichtsdestotrotz unterhaltsame Bücher.
das sollte sich auch dadurch regeln lassen, in dem man für den Computerkampf viel mehr sachen einstellbar lässt, so kann jeder Spieler für sich entscheiden wie er den Kampf beschreitet. (z.B. eine Automatische unterbrechung des Computerkampfes wenn eine bestimmte Bedingung eintritt.

Du hättest also gern ein Kampfsystem zum scripten. Das ist auf jeden Fall machbar.
Mir persönlich hat es von der Bedienung schon sehr gut gefallen
einfach nur Computerkampf auszuwählen. Das ist natürlich Geschmachssache.
Ich glaube, dass der Computerkampf noch etwas Verbesserung erfahren könnte, wenn z.B. Druiden
ihre AE nicht an Zaubersprüche verschwenden würden, die sie nicht beherrschen.
Und Gegner sollten auch mindestens ein Feld Abstand halten, wenn sie mit Fernkampfwaffen angreifen.
(06.07.2012, 09:34)HenneNWH schrieb:
(06.07.2012, 07:24)tommy schrieb:
(05.07.2012, 18:58)HenneNWH schrieb: Programmierer könnten z.B. einen Datenfile-Editor mit GUI auf Basis der Daten im Wiki und Hendriks
NTLpack schreiben (aber bitte nicht mit Java oder .NET)
was meinst du damit genau? Soll ein Editor geschrieben werden, mit dem sich sämtliche datenformate öffnen und bearbeiten lassen?
Und die Vorgabe eine GUI ohne java oder .NET zu machen, finde ich persönlich unnötig, ist erstmal ein enormer auffwand und kann auch zu vielen Fehlern führen(gearade bei einer so umfangreichen GUI).
Und wenn du es plattform unabhängig haben willst, dann sollte man doch lieber eine GUI in c# schreiben, das .NET-Framework gibt es doch mitlerweile auf fast allen Plattformen.

Hm, okay. Ich habe gerade MonoDevelop installiert.
Es sieht auf den ersten Blick für mich recht praktikabel aus.

Ich weiß nicht Mono so ideal ist, Java fänd ich in der Hinsicht besser. Bei Mono stört mich hauptsächlich, dass Mono die .Net-Unterstützung immer nachprogrammieren muss. D.h. entweder beschränkt man sich auf das alte .Net-2.0 welches wohl in Mono komplett ist, oder man muss aufpassen welche Sachen man verwendet wegen der Plattformunabhängigkeit. Persönlich programmiere ich auch mit Java nicht gern GUIs, aber das ist ein anderes Thema :)
Also wenn ich an GUI und plattformunabhängig denke, fällt mir direkt Lazarus ein... *hust*
(06.07.2012, 11:08)Arbosh schrieb: Ich weiß nicht Mono so ideal ist, Java fänd ich in der Hinsicht besser. Bei Mono stört mich hauptsächlich, dass Mono die .Net-Unterstützung immer nachprogrammieren muss. D.h. entweder beschränkt man sich auf das alte .Net-2.0 welches wohl in Mono komplett ist, oder man muss aufpassen welche Sachen man verwendet wegen der Plattformunabhängigkeit. Persönlich programmiere ich auch mit Java nicht gern GUIs, aber das ist ein anderes Thema :)

Also ich glaube über Java brauchen wir nicht reden, dass hat ziemlich viele schwächen...
Und das was du über Mono sagst stimmt nur teilweise, Mono ist aktuell bis .Net Version 4.0 Implementiert. Es stimmt zwar dass bei den neueren .Net versionen einige Dinge nicht in Mono implementiert wurden, allerdings sind das nur sehr spezielle Windows H*cks, welche nicht auf andere Betriebssysteme übernohmen werden können. Die ganzen standard sachen, wie die GUI elemente, standard Kontainer und standard c# sind UNEINGESCHRÄNKT auf Mono lauffähig.
Und c# hat gegenüber den anderen noch einen entscheidenden Vorteil, es läuft stabil, macht der Programmierer einen Fehler, dann fällt das sehr schnell auf. Und es ist dabei trotzdem fast so schnell wie c++

Edit:
(06.07.2012, 09:34)HenneNWH schrieb: Du hättest also gern ein Kampfsystem zum scripten. Das ist auf jeden Fall machbar.
Mir persönlich hat es von der Bedienung schon sehr gut gefallen
einfach nur Computerkampf auszuwählen. Das ist natürlich Geschmachssache.
Ich glaube, dass der Computerkampf noch etwas Verbesserung erfahren könnte, wenn z.B. Druiden
ihre AE nicht an Zaubersprüche verschwenden würden, die sie nicht beherrschen.
Und Gegner sollten auch mindestens ein Feld Abstand halten, wenn sie mit Fernkampfwaffen angreifen.
ja ich dachte ans scripten, ich denke das ist die Beste option. Aber ich finde trotzdem, dass man auch den Klasischen Computerkampf(ohne verbesserungen) als option stehen lassen sollte, einfach für die Leute, die es lieber unverändert spielen wollen.

Edit2:
(06.07.2012, 11:18)JörnS schrieb: Also wenn ich an GUI und plattformunabhängig denke, fällt mir direkt Lazarus ein... *hust*
dazu sag ich jetzt einfach mal nichts...
"Mut ist der Zauber, der Träume Wirklichkeit werden lässt"

Savegameditoren, Tools und Patches der Nordlandtrilogie
Mein DSA Savegameditor
(05.07.2012, 18:58)HenneNWH schrieb: Zumindest wäre es nett, wenn sich jemand Gedanken über den Stil der NLT macht und diese in Worte fasst.
Gruppenarbeit!
Meinst Du den grafischen Stil, oder überhaupt?

Für GUIs wäre vielleicht wxPython empfehlenswert. Mit Boost.Python bekommt man eine elegante Integration mit C++ hin.
um mal zur eigentlichen Frage zurückzukommen.

Also ich würde mich als Programmierer melden, allerdings wenn, dann würde ich c# nutzen und es könnte auch ein wenig dauern, da ich momentan auch immer nur mal so zwischendurch für sowas Zeit habe.

Sollte es auf eine Gruppenarbeit hinauslaufen, dann könnte ich mich auch noch mit c++ anfreunden(alles andere würde mir zu aufwendig werden), allerdings würde ich dann nicht die GUI arbeit übernehmen wollen.

P.S. ich wär auch nicht böse, wenn jemand anders sagt er möchte es übernehemn ;)

Edit: c# hätte auch noch den Vorteil, dass man nur ein kompilat für alle Systeme braucht
"Mut ist der Zauber, der Träume Wirklichkeit werden lässt"

Savegameditoren, Tools und Patches der Nordlandtrilogie
Mein DSA Savegameditor
ich wollte noch mal was bezüglich des Kampfsystems losweren:
Ich weiß nicht ob ihr die "Tales of" Reihe kennt, aber da gefiel mir immer ganz besonders, dass man jeden einzelnen Zauber an bzw. abschalten konnte, sowas könnte ich mir hier auch sehr gut vorstellen.
"Mut ist der Zauber, der Träume Wirklichkeit werden lässt"

Savegameditoren, Tools und Patches der Nordlandtrilogie
Mein DSA Savegameditor
Um hier auch mal wieder etwas zu schreiben: Ich bin im Moment ziemlich mit meiner Dissertation ausgelastet. Das beinhaltet auch, dass ich einige andere Dinge vor mir herschiebe, die Priorität vor der NLT haben (z.B. diverse ehrenamtliche Admin-Aufgaben). Ich fürchte also, dass ich auch in Zukunft nicht so viel zum Reverse-Engineering beitragen kann, wie ich gerne möchte. Es mag sein, dass ich gelegentlich einen Patch für Sternenschweif beisteuern kann, aber so, wie das mal geplant war, dass ich quasi parallel zu HenneNWH Sternenschweif nachbaue, werde ich es nicht schaffen. Zumal die Arbeit an der Dissi bestimmt noch gut ein Jahr dauern wird. Was danach ist, kann ich noch nicht sagen.

Das soll jetzt weder ein Abschied vom Forum sein noch ein Handtuch-Schmeißen, was das Reverse Engineering der NLT angeht. Ich werde weiter hier mitlesen und auch schreiben, und sicher bei Gelegenheit mal wieder den Disassembler anschmeißen. Nur werde ich das nicht in dem Tempo machen können, das HenneNWH für die Schicksalsklinge vorlegt. Wenn also jemand mit etwas mehr freier Kapazität sich Sternenschweif annehmen will, würde ich da auch das Szepter weitergeben (und gelegentlich mal ein paar Vorschläge beitragen).

Gruß
Hendrik
Hallo, ich bin's - der Bart von Fidel Castro. Und mir ist total langweilich nie geschnitten wurde.
I'm a roleplayer. My dice are like my relationships: platonic and unlucky.
Hallo Hendrik,

ich hab deinen Beitrag erst jetzt gelesen. Schade, aber Vernünftig (und auf keinen Fall endgültig). :)
Vielen Dank für die gute zusammenarbeit bis dahin.

Hier die Liste der Zaubersprüche, die dem Computerkampf zur Verfügung stehen.
Wie der Auswahlmechanismus genau funktioniert weis ich im Moment auch noch nicht.
  • Fulminictus
  • Horriphobus
  • Ignifaxius
  • Balsam
  • Böser Blick
  • Axxeleraus
  • Duplicatus
  • Blitz
  • Plumbumbarum
  • Saft, Kraft, Monstermacht
  • Paralü
@Henne: was ist nun bezüglich des Editors, soll ich mich darum kümmern? Und wenn ja müssen wir uns auch noch über Aufbau und Funktionsumfang einig werden

Edit: bin ab Morgen im Urlaub, antworten können also eventuell etwas dauern
"Mut ist der Zauber, der Träume Wirklichkeit werden lässt"

Savegameditoren, Tools und Patches der Nordlandtrilogie
Mein DSA Savegameditor
Ich fände es hervorragend von dir, wenn du einen schreiben würdest. :)

Zum Aufbau kann ich jetzt nicht viel sagen, da ich Softwareentwicklung erst in einem späteren Semester belegen werde und dir keine fachlich konkreten Dinge sagen kann.
Sag doch mal was etwas genauer was Du wissen möchtest, damit wir ne gemeinsame Basis haben.

Zum Funktionsumfang hätte ich zwei Vorschläge.
Bis jetzt hatte ich mich immer vor der Darstellung von kombinierten Informationen gedrückt.

Da zwei Dinge die ich interessant finde:
Das einfachere ist die Darstellung der Gegenstände
  • ITEMNAME - Namen der Gegenstände
  • ITEMS.DAT - Beschreibung der Gegenstände
  • GGSTS.NVF - Icons der Gegenstände
  • SCHICKM.EXE - AT/PA-Boni der Waffen, RS-Modifikatoren von Rüstungen...

Das schwierigere sind die Kämpfe:
  • FIGHT.LST - Beschreibung der Kämpfe (Gegner, Startpositionen der Helden, Loot)
  • SCENARIO.LST - Beschreibung des Scenarios (Wo stehen Busche, Lagerfeuer, Wände, etc.)
  • MONNAMES - Namen der Gegner
  • MONSTER.DAT - Beschreibung der Gegner
  • K*BACK.DAT - Hintergrundbilder der Kämpfe
  • MFIGS MFIGS.TAB - Männliche Sprites und Offsettabelle
  • WFIGS WFIGS.TAB - Weibliche Sprites und Offsettabelle
  • MONSTER MONSTER.TAB - Gegner Sprites und Offsettabelle
  • ...

Bei beiden Aufgaben sind noch Daten in der SCHICKM.EXE, als Tabelle oder als Code enthalten.
Die Tabellen kann man extrahieren, bzw. direkt auslesen.
Schlimmer sind die codierten Eigenschaften, z.B. haben manche Gegenstände noch Boni/Mali, welche erst beim
Anlegen aktiv werden. Die kann ich dir mit in meiner Arbeit aber Dokumentieren und nachliefern.

So weit, so gut!
also gut, da du scheinbar noch nicht alzu viel dazu sagen kannst, werde ich einfach mal so erzählen was ich mir dazu dachte.

1. Um vorrausschauend zu arbeit und eventuell später auftretende Rechtliche komplikationen zu vermeiden, würde ich die Datei nicht direkt bearbeiten, sondern ein System entwerfen in dem zusätzlich zu den bereits vorhanden daten noch modifikationen geladen werden können. Sprich alle vorgenommen veränderungen werden modifikationen und verändern die vorhandenen Dateien nicht(eventuell kann man ja auch noch später ein Programm schreiben, welches in der lage ist alle Modifikationen als Patch zu installieren)

2.(mehr ein ToDo)
ich werde versuchen die Dateien möglichst gut mit einander zu verknüfen, z.B. bei Items das Bild mit funktionsweise und anderen Dingen in einem Fenster unterzubringen und nach möglichkeit auch verknüpfungen zu Orten zu erstellen wo sie verwendet werden (sprich wird verwendet in Truhe nr ... in Dungeon ...)

Für mich wäre als nächstes noch ganz wichtig zu wissen, wie die Dateien richtig entpackt werden und wie der aufbau der einzelnen Dateien ist, da glaube ich nicht alles im Wiki zu finden ist. Also wäre halt gut wenn ich dazu noch ein paar Aufzeichnungen hätte.

Edit: eventuell verschiebe ich das bearbeiten der Map auch in ein zweites Tool, muss mir dazu aber erst noch mal etwas genauer die Spezifikationen ansehen
"Mut ist der Zauber, der Träume Wirklichkeit werden lässt"

Savegameditoren, Tools und Patches der Nordlandtrilogie
Mein DSA Savegameditor
(18.07.2012, 18:06)tommy schrieb: 1. Um vorrausschauend zu arbeit und eventuell später auftretende Rechtliche komplikationen zu vermeiden, würde ich die Datei nicht direkt bearbeiten, sondern ein System entwerfen in dem zusätzlich zu den bereits vorhanden daten noch modifikationen geladen werden können. Sprich alle vorgenommen veränderungen werden modifikationen und verändern die vorhandenen Dateien nicht(eventuell kann man ja auch noch später ein Programm schreiben, welches in der lage ist alle Modifikationen als Patch zu installieren)


Ich korrigiere mich: Mein wunsch ist primär kein Editor, sonder (erstmal) ein Betrachter.
Ansonsten ist das eine sehr gute Idee.
Die Attic-Entwickler hatten das ab DSA2 auch schon implementiert.
Es wird erst im Ordner CTEMP nachgeschaut, ob eine Datei vorhanden ist. Falls ja, wird diese genommen,
falls nicht wird im TEMP Ordner nachgesehen. Ist sie nicht dort wird sie aus dem Archiv entpackt.
Die Baldur Gate Reihe hat in gleicher Form den Override Ordner.

Es sollte schon jetzt kein Problem sein soeine Funktion in Bright-Eyes einzubauen.

Btw. Diese Idee hatte ich auch schon länger im Kopf, aber ich dachte in diesem Fall nur an Erweiterungen,
nicht an modifizierte Originaldateien.

Vielen Dank fürs aussprechen, tommy.

(18.07.2012, 18:06)tommy schrieb: Für mich wäre als nächstes noch ganz wichtig zu wissen, wie die Dateien richtig entpackt werden und wie der aufbau der einzelnen Dateien ist, da glaube ich nicht alles im Wiki zu finden ist. Also wäre halt gut wenn ich dazu noch ein paar Aufzeichnungen hätte.

Im BrightEyes-Repo gibt es unter tools/ das Programm nltpack von Hendrik.
Damit kannst du die SCHICK.DAT in seine Bestandteile zerlegen (auch wieder zusammenfügen) kann.
Dann kannst du alle Dateien direkt ansehen. Wenn du dann noch Fragen zu den einzelnen Dateien hast helfe ich gern weiter,
bzw. fixe und erweitere das Wiki. Dafür ist es ja schließlich da. :)
(18.07.2012, 22:22)HenneNWH schrieb: Ich korrigiere mich: Mein wunsch ist primär kein Editor, sonder (erstmal) ein Betrachter.
also ein betrachter, ist kein Problem^^. Ich kann dass im Code ja soweit trennen, das es später jederzeit erweitert werden kann.

(18.07.2012, 22:22)HenneNWH schrieb: Btw. Diese Idee hatte ich auch schon länger im Kopf, aber ich dachte in diesem Fall nur an Erweiterungen,
nicht an modifizierte Originaldateien.
also ich dachte auch in die Richtig erweiterung, ich dachte nur so das in den Erweiterungen auch sowas stehen darf wie: modifiziere Event nr. ... oder so

(18.07.2012, 22:22)HenneNWH schrieb: Im BrightEyes-Repo gibt es unter tools/ das Programm nltpack von Hendrik.
Damit kannst du die SCHICK.DAT in seine Bestandteile zerlegen (auch wieder zusammenfügen) kann.
Dann kannst du alle Dateien direkt ansehen. Wenn du dann noch Fragen zu den einzelnen Dateien hast helfe ich gern weiter,
bzw. fixe und erweitere das Wiki. Dafür ist es ja schließlich da. :)
ja das kenne ich, aber es aus dem Code zu rekonstruktieren ist immer recht schwierig(es sei denn es ist gut kommentiert), ich würde es halt ganz gut finden wenn ich noch irgendwie die Spezifikationen hätte(oder sonstige Aufzeichnungen)

Edit: das sternschweif bereits so ein modifizierungssystem besitzt wusste ich garnicht^^
"Mut ist der Zauber, der Träume Wirklichkeit werden lässt"

Savegameditoren, Tools und Patches der Nordlandtrilogie
Mein DSA Savegameditor
Eigentlich müsste man die Arbeit an BrightEyes per Crowdfunding finanzieren. ;) :D Mich würde es wirklich interessieren, ob und wie viel Geld solch ein Projekt zusammen bekommen würde. (Die Rechte-Problematik vergessen wir jetzt mal ;))
--------
Warnung! Geschichte kann zu Einsichten führen und verursacht Bewusstsein!
Avatar by: Keven Law (CC BY-SA 2.0)




Benutzer, die gerade dieses Thema anschauen: 7 Gast/Gäste