Themabewertung:
  • 5 Bewertung(en) - 5 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Reverse Engineering der NLT
Es gibt viele neue Patches

Ersetzte Funktionen (Segmente sind komplett identisch)
  • seg027: Loader für Kampfinformationen, pure PP20 Bilder und Animationsbilder
  • seg036: Kampf-KI für Helden
  • seg038: Kampf (diverses)
  • seg102: Magie von Monstern/Gegnern
  • seg103: Talente (Auswahlmenüs, Logik)
  • seg104: Alchemie, Krankheit heilen

Nachgebaute spezielle Funktionen
  • Tierbegegnungen (seg117)

Behobene Fehler (Bright-Eyes)
  • Mögliche Abstürze von Bright-Eyes nach versuchtem Feilschen
  • Tote Monster/Gegner werden als schlafend gewertet

Die Anzahl der nachgebauten Funktionen sind jetzt bei fast 55% vom Original.
Alle Teile des Kampsystems, die schon nachgebaut wurden, sind jetzt mit dem Original identisch.

Nächste Ziele: Transversalis-Auswahl => Magiesystem vervollständigen => Kampfsystem vervollständigen (sind nur noch 12 Funktionen)

Viel Spass!

@NewProggie: Die Antworten auf deine Fragen bekommst Du natürlich noch.
Neue Version vom 30.08.2014!
--------
Warnung! Geschichte kann zu Einsichten führen und verursacht Bewusstsein!
Avatar by: Keven Law (CC BY-SA 2.0)
beziehen sich die 55 % auf alle drei Teile der NLT. Die Funktionsweise unterscheidet sich ja in den drei Teilen doch erheblich.

ich jedenfalls warte ab, bis die endgültige Version draußen ist; dann erst schlage ich zu
Hacke Tau, Kumpels!

Ihr seid Freunde der alten NLT? Freunde des Mikromanagements? Ihr sucht eine neue Herausforderung, weil euch die NLT zu leicht war?

Dann spielt doch mal Schicksalsklinge HD 1.36 von Crafty Studios!
Nein, die 55% beziehen sich nur auf die Schicksalsklinge. Genauso wie sich der originale Code von Schick und Schweif unterscheiden, wird es nachher gleiche Funktionen in Bright-Eyes für beide Spiele geben und welche, die sich unterscheiden.

Auf die endgültige Version wirst du noch ein bisschen warten müssen, auch wenn es in letzter Zeit wieder viel Fortschritt gab. Probier Bright-Eyes doch trotzdem mal aus, je mehr Leute die aktuellen Versionen testen, desto mehr Fehler können gefunden werden. Außerdem gibt es bereits jetzt schon eine deutliche Verringerung des Emulationsaufwandes. Will heißen, der Computer muss nicht mehr so viel ackern um die Schicksalsklinge laufen zu lassen. :)

Du kannst ja jederzeit wieder zurück auf die normale dosbox-Version wechseln.
--------
Warnung! Geschichte kann zu Einsichten führen und verursacht Bewusstsein!
Avatar by: Keven Law (CC BY-SA 2.0)
(30.08.2014, 15:13)Obi-Wahn schrieb: Nein, die 55% beziehen sich nur auf die Schicksalsklinge.
Verständnisfrage zu der Prozentzahl: heißt 55 % nun das 55 % von "nur" SCHICKM.EXE (v3.02) oder 55 % "vom Ganzen", d.h. SCHICKM.EXE (v3.02), GEN.EXE (v1.05), INTRO.EXE und INTRO_E.OVL?
Die Prozentzahl gilt nur für die SCHICKM.EXE (v3.02) und errechnet sich aus den rekonstruierten Funktionen, deteilt durch die Anzahl der Funktionen, deren Nachbau notwendig ist. Im Moment sind das 664 / 1218, also ca. 54,5%.
Nur mal so gefragt: Welche Skriptsprache würdest Du für Erweiterungen von BE bevorzugen?
Das ist doch eine ganz einfache Frage, 50:50 sozusagen: Lua oder Python ;)
@Rabenaas: So genau habe ich darüber noch nicht nachgedacht.

Python hatte ich für Overkill gehalten, aber verglichen mit LUA ist die Bibliothek nur 10 mal grösser,
also steht Python immer noch zur Auswahl.

LUA wäre, ohne viel nachzudenken, meine erste Wahl gewesen.
Das einzige Kriterium was aus meinem Blickwinkel dagegen spricht ist,
dass es noch andere Scriptsprachen gibt die näher an C/C++ liegen: S-Lang, Angelscript und Squirrel.
Natürlich ist eine Nähe zu C/C++ nicht für Alle etwas positives.

Meine drei Hauptkriterien sind: offene Lizenz, einfache (und sinnvolle) Einbindung und Wartung, geringer Platzbedarf.

Welche Sprachen sind denn zur Zeit aktiv von Moddern genutzt und warum?
JavaScript läge auch noch im Rahmen.

Vorteile von Lua sind die einfache Einbindung, geringer Speicherverbrauch und recht gute Performance. Leider fehlen Lua Klassen, was das Schreiben und die Wartung ab einer gewissen Größe schwierig macht. Ich könnte mir durchaus vorstellen, dass ein größeres Mod (z.B. die "Fan-Südlandtrilogie" da an Grenzen stößt).
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.
Man kann noch unter ferner liefen Scheme, Tcl und Ruby in Betracht ziehen.

Ich denke, das ist eine Grundsatzentscheidung von Henne: Ein minimales BrightEyes mit Lua oder ein BrightEyes mit allem drum und dran und dann Erweiterungen per JavaScript.

Scheme, Tcl, AngelScript usw. haben keine übermäßig große Userbase und könnten dadurch potentielle Entwickler abschrecken. Python und Ruby wären beides Kompromisslösungen.

Lua und JavaScript kann eigentlich jeder relativ schnell lernen, der sie noch nicht kennt. Der Vorteil von Lua ist seine kompakte Größe und der einfache Einbau (und man kann nach dem OO Paradigma programmieren, wenn man denn möchte).
JavaScript hat den Vorteil, dass die Sprache immer mehr zur Lingua Franca wird (so wie früher C++ und dann Java), und dadurch viele interessante Möglichkeiten eröffnet, z.B. BE im Browser laufen zu lassen. (Wenn man die bestehenden C-Sourcen mit emscripten kompiliert.) Man hat damit auch Zugriff auf die ganzen neuen Bibliotheken und Tools.
Mal so ganz blöd dazwischengefragt - C# wäre ungeeignet? Ich interessier mich grad ein bisschen dafür, weil das wohl für Unity ganz praktisch wäre.
C# ist selbst schon ein ziemliches Schwergewicht. Deshalb gibt es eine ganze Reihe von Skriptsprachen für .net. Außerdem müssten Linux-User das komplette Mono installieren. Das wären dann statt ein paar kb für Lua oder MB für JavaScript ein paar hundert MB. Aber möglich ist das.

Ich habe mich mal umgeschaut. Es gibt lua.js, mit dem man Lua in einer JavaScript VM laufen lassen kann. Es ist also nicht unbedingt entweder/oder.
Hm, JavaScript... och ne... ;-)
Obwohl, dann könnte man Coffee nutzen, damit wäre das wieder benutzbar!

JS wäre schon eine gute Alternative zu Lua und Python.
Javascript verhält sich manchmal auch recht seltsam ... ich sage nur Wat.
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.
(30.08.2014, 20:29)Rabenaas schrieb: Nur mal so gefragt: Welche Skriptsprache würdest Du für Erweiterungen von BE bevorzugen?
Ich würde sagen zur Zeit gar keine, denn das wäre in etwa so wie den dritten Schritt (Erweiterungen) vor dem ersten (Reversen) und dem zweiten Schritt (Code lesbar machen) zu tun.
(08.09.2014, 11:07)Borbaradwurm schrieb:
(30.08.2014, 20:29)Rabenaas schrieb: Nur mal so gefragt: Welche Skriptsprache würdest Du für Erweiterungen von BE bevorzugen?
Ich würde sagen zur Zeit gar keine, denn das wäre in etwa so wie den dritten Schritt (Erweiterungen) vor dem ersten (Reversen) und dem zweiten Schritt (Code lesbar machen) zu tun.

Das ist natürlich völlig richtig. Aber ich finde es gut wenn Interessenten schonmal ihre Meinung von sich geben. :ok:


(29.08.2014, 17:10)HenneNWH schrieb: Nächste Ziele: Transversalis-Auswahl => Magiesystem vervollständigen => Kampfsystem vervollständigen (sind nur noch 12 Funktionen)

Die ersten beiden Ziele (Transversalis und Magiesystem) hab ich schon erreicht.
Ausserdem hab ich heute noch die Wirkungen der Krankheiten rekonstruiert, inklusive der Tollwutbehandlung.
Das Kampfsystem werde ich in dieser Woche wohl nicht mehr komplett schaffen.
Am Donnerstag werde ich voraussichtlich pushen.
Es gibt viele neue Patches

Ersetzte Funktionen (Segmente sind komplett identisch)
  • seg034: Kampfsystem: manuelles Bewegen und Angreifen lassen von Helden
  • seg074: Automap für die zielauswahl von Transversalis
  • seg098: Magiesystem (Auswahlmenüs "Magie anwenden, Zauberspruch auswählen")
  • seg119: Krankheitseffekte

Nachgebaute spezielle Funktionen
  • Tollwutanfall (seg120)

Behobene Fehler (Bright-Eyes)
  • Beim Anwenden von Magie auf andere Helden im Kampf kann die Erschwernis des Zaubers unsinnige Werte annehmen


Nächste Ziele:
  • Kampfsystem vervollständigen (sind nur noch 11 Funktionen)
  • Übergeben von Gegenständen an andere Helden


Viel Spass!
Neue Version vom 13.09.2014!
--------
Warnung! Geschichte kann zu Einsichten führen und verursacht Bewusstsein!
Avatar by: Keven Law (CC BY-SA 2.0)
Es gibt viele neue Patches von der Autofahrt meiner Urlaubsreise :D

Ersetzte Funktionen (Segmente sind komplett identisch)
  • seg002: viele Funktionen die sehr häufig benötigt werden (Maus, Dateizugriffe, main(), Hauptschleife)
  • seg004: "High-Level" Grafikroutinen (Linien zeichnen, Bildschirmspeicher kopieren, Uhr, Lebensbalken...)

Nachgebaute spezielle Funktionen
  • Einbruch in ein Haus (seg025:do_house())
  • Patzer beim Öffnen von Truhen (seg092)

Behobene Fehler (Bright-Eyes)
  • Viele Zugriffe auf falsche Speicherbereich
  • Held stirbt wieder wenn LE gleich Null ist
  • Einhorntimer funktioniert wieder
  • Falsch markierte Rastplätze in Tavernen, werden wieder richtig markiert


Nächste Ziele:
  • Kampfsystem vervollständigen (sind nur noch 11 Funktionen)
  • Übergeben von Gegenständen an andere Helden

Statistik:
  • 59% aller Funktionen der SCHICKM.EXE sind nach gebaut (730/1235)
  • 53% aller Funktionen der SCHICKM.EXE sind identisch (666/1235)
  • 91% aller nachgebauten Funktionen sind identisch

Sonstiges: Viele Warnungen von MS Visual C++ wurden beseitigt.

Da jetzt sehr viele häufig benutzte Funktionen des Spiels in Aktion sind, empfiehlt es sich
die DOSBox zu drosseln. Mit 100 bis 300 Cycles habe ich bisher gute Erfahrungen gemacht.

Viel Spass!




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