HSoE?

oth

Ritter
Mitglied seit
06.10.2006
Beiträge
41
Hallo,

da keiner lust hat, ne harte version für Secret of Evermore zu machen und ich das nur zugerne hätte, würde ich mich mal ans werk machen.

dazu hätte ich allerdings ein paar fragen:

-wie genau geht das?
-was brauche ich dazu?
-wie LANGE dauert sowas denn?

ich will lediglich die angriffskraft der zauber schwächen, kosten der zutaten/rüstungen/items erhöhen und die hp/angriffskraft etc. der gegner erhöhen. sollte doch ruckizucki gehn, paar kleinigkeiten dran zu ändern oder?


greetz
 

Masterflow

Newbie
Teammitglied
SDC-Team
Mitglied seit
27.08.2001
Beiträge
2.457
Ich glaub ich sollte das mal beantworten...

-wie genau geht das?
-was brauche ich dazu?
Einfach gesagt:
Schnapp dir nen Hexeditor und Geiger's Snes9x debugger und versuche herauszufinden wie und wo die Werte die du verändern willst gespeichert sind.

Ich weiss jetzt nicht was du für Kenntnisse hast, aber bestimmt musst du dich auch zunächt in ein paar allgemeine Sachen einarbeiten...
(als einfaches Beispiel: Byte-Reihenfolge oder halt SNES spezifisches Zeug)
Dann ist die Frage ob du dir nen Programm schreibst um die Werte viel komfortabler zu ändern, was ich sehr empfeheln würde.

-wie LANGE dauert sowas denn?
Sehr stark davon abhängig was du schon weisst und kannst. Man kann hier keine pauschale Antwort geben. Dann ist noch die Frage wie du es genau umsetzt, gibt es Tester, schreibst du nen Editor für die zu ändernden Werte, usw...
Was ich dir sagen kann ist, das sich selbst das 'kleine' HSom mit mehrmaligem Rebalancing und Testen über mehrere Monate gezogen hat.

Ich wünsche dir auf jeden Fall viel Erfolg und stehe mit Sicherheit bei Fragen helfend zur Hand soweit es mir möglich ist.
 

Artemis

Ehrenuser
Mitglied seit
20.02.2008
Beiträge
1.744
Die Dauer des Ganzen ist wirklich schwer abzuschätzen. Das Schwierigste, d. h. der Punkt, wo denke ich die größte Wahrscheinlichkeit besteht, zu verzweifeln und abzubrechen, ist das Auffinden der ganzen Werte.
Wenn man die Werte erst mal gefunden, ist es "nur" noch eine Sache des Balancing. Dies nimmt zwar auch einige Zeit in Anspruch, ist aber eher eine langwierige und lästige Aufgabe als eine wirklich schwierige.

Auch zu beachten wäre, dass die besagten Werte alle im Hexadezimalsystem vorhanden sind und nicht im Zehnersystem, d. h. Kenntnisse vom Hexadezimalsystem wären von Vorteil (z. B. 10 ist 0a, 11 ist 0b u.s.w.).
Wobei allerdings anzumerken wäre, dass man - wenn erst mal die Adressen der zu ändernden Daten gefunden sind und man die Veränderungen direkt am Code machen würde - theoretisch auch mit einem Programm auskommen würde, das die Zahlen für einen umgerechnet.



Wenn man erst mal alle Werte gefunden haben, klingt es eigentlich so, als ob dann (abgesehen vom Balancing) mit keinen weiteren Problemen mehr zu tun hätte.
Dies muss allerdings so leider nicht der Fall, da einige Probleme auftauchen können - insgesamt dann, wenn die Programmierer nicht damit gerechnet haben, dass bestimmte Werte in der Praxis zu hoch werden.

Hier ein paar Stolpersteine, die generell beim Erstellen von Hard Modes problematisch sein könnten (aber nicht zwangsweise sein müssen):

1) Kraftpunkte der Gegner

a) Kraftpunkteüberschuss

Stärkere Gegner haben natürlich auch mehr Kraftpunkte, nicht wahr? Ich schätze mal, bei Secret of Evermore liegt das mögliche Maximum bei 65535. Der letzte Endgegner hat 30000 und verdoppeln + noch ein bisschen drauf klingt eigentlich recht naheliegend und gut.

Ich weiß jetzt nicht, ob man bei SoE die Gegner irgendwie heilen kann, aber wenn der Gegner sagen wir volle 65535 KP hat und man ihn um 100 KP heilen kann, dann ist es gut möglich, dass der Gegner dann mit 100 KP (bzw. 99 um genau zu sein) übrig bleibt.

Also sollte man es doch vielleicht in diesem Fall bei 60000 KP oder so belassen und vom absoluten Maximum fernbleiben.
Ein Beispiel für die Ausnutzung dieses Bugs ist der Eierdrache aus Lufia - eine Superübermegaboss, der so mit einem einzigen Angriff besiegt werden kann.

b) komplett wirres und unlogisches Verhalten auf Grund zu hoher KP

Okay, also das Problem unter a) wäre nun geklärt. Vom Maximum wegbleiben und es kann definitiv nichts mehr passieren... Pustekuchen. Auch Werte wie 40000 oder 50000, die ja eigentlich ziemlich weit weg vom Maximum sind, können z. B. die Logik des Gegners komplett durcheinander bringen und wirres Zeug produzieren.

Betrachten wir zum Beispiel den Lavarex ganz am Ende. Er hat 20000 KP und wenn er nicht schnell genug besiegt wird, heilt er sich komplett. Ich weiß jetzt gerade nicht, wann genau er sich heilt, aber sagen wir mal, er leitet die Heilung ein, wenn er zu lange weniger als 2000 KP hat.

In seiner Angriffslogik wird daher gecheckt, ob seine KP kleiner als 2000 ist. Bei der Überprüfung der KP kann es allerdings auftreten, dass die höheren Werte, die in der zweiten Hälfte des KP-Radius liegen, sprich alles über 32767 als negativ angesehen werden.

Das heißt der Lavarex würde sich vollständig heilen, wenn er eine gewisse Zeit über 32767 KP hat. Wenn man ihm z. B. 50000 KP gibt, würde das wohl ein komplett ungewolltes Logikverhalten erzeugen, wenn denn die Überprüfung diese hohen Werte als negativ ansieht.

Ich weiß, was ich da erzähle, mag jetzt total wirr und schwachsinnig klingen... Denn warum sollten die Kraftpunkt-Werte mal als positiv und mal als negativ angesehen werden? Aber genau so ist es z. B. bei Lufia, daher ist es nicht auszuschließen, dass dieses Problem auch bei anderen Spielen auftreten kann.

2) Angriff/Verteidigungswerte etc. der Gegner/Helden

Auch hier kann es zu Problemen kommen, wenn die Werte so hoch gesetzt werden, dass z. B. die Formeln für Schadenberechnung nicht mehr korrekt arbeiten können. Dies kann allerlei lustige Folgen haben, wie dass zum Beispiel Schaden in Heilung umgewandelt wird (Lufia) oder Superbosse durch Instant Death-Attacken sterben können (Final Fantasy 7).



Dies mag jetzt zwar möglicherweise bei SoE alles nicht zutreffen, aber es kann doch ganz nützlich sein, wenn dann tatsächlich in der Praxis so ein Problem auftreten sollte. :)
 

Yok

Hooded Hunter
Mitglied seit
09.04.2008
Beiträge
1.847
Jetzt möchte ich auch mal etwas fragen:

Nehmen wir mal an, man möchte die ersten Gegner im Spiel verändern (die Pflanzen im Dschungel) und man wüsste, dass diese zu Beginn einen Angriffswert von 5 hätten. Würde es dann ausreichen, nacheinander jede 05 im Hex Editor zu verändern, bis sich die Angriffskraft des Gegners erhöht oder sind die Werte der Gegner noch irgendwo verschlüsselt???

Wenn sowas funktionieren würde, bräuchte man ja nur im Internet eine Tabelle mit den gegnerischen Werten suchen und diese dann nacheinander im Hex Editor verändern.
 

Artemis

Ehrenuser
Mitglied seit
20.02.2008
Beiträge
1.744
Jetzt möchte ich auch mal etwas fragen:

Nehmen wir mal an, man möchte die ersten Gegner im Spiel verändern (die Pflanzen im Dschungel) und man wüsste, dass diese zu Beginn einen Angriffswert von 5 hätten. Würde es dann ausreichen, nacheinander jede 05 im Hex Editor zu verändern, bis sich die Angriffskraft des Gegners erhöht oder sind die Werte der Gegner noch irgendwo verschlüsselt???

Wenn sowas funktionieren würde, bräuchte man ja nur im Internet eine Tabelle mit den gegnerischen Werten suchen und diese dann nacheinander im Hex Editor verändern.

Kann man zwar nicht pauschal sagen, dass es so für jedes Spiel klappen muss, aber so vorzugehen ist auf jeden Fall ein Ansatz. Ich würd's aber dann lieber mit ner größeren Zahl versuchen wie z. B. den 100000 Erfahrungspunkten vom finalen Endgegner, da es wohl doch ein paar sehr viele 05-en geben wird. :kicher:


Und eine sehr gute Nachricht:

Bei GameFAQs gibt nen Monsterguide, wo auch die HEX-Addressen der Monster aufgelistet sind. Ist zwar dann für die US-Version, aber es sollte dann nicht schwer sein, die analogen Addressen in der deutschen Version zu finden.

Das heißt, finden der Monsterwerte dürfte kein Problem sein. :)
 
Zuletzt bearbeitet:

Yok

Hooded Hunter
Mitglied seit
09.04.2008
Beiträge
1.847
Wenn das so ist, dann würde ich oth bei der Sache helfen.

/edit: Der Monster Guide ist ziemlich gut. Da sind tatsächlich gleich die Adressen dabei...
 

Artemis

Ehrenuser
Mitglied seit
20.02.2008
Beiträge
1.744
Der Guide, den ich meine, ist der Monster Statistics Guide, den man hier findet.

Ich hab ihn mal ein bisschen überflogen und es sind so aus, dass die ganzen Werte in der deutschen Version an der gleichen Stelle sind wie bei der US-Version.
 

Masterflow

Newbie
Teammitglied
SDC-Team
Mitglied seit
27.08.2001
Beiträge
2.457
Nehmen wir mal an, man möchte die ersten Gegner im Spiel verändern (die Pflanzen im Dschungel) und man wüsste, dass diese zu Beginn einen Angriffswert von 5 hätten. Würde es dann ausreichen, nacheinander jede 05 im Hex Editor zu verändern, bis sich die Angriffskraft des Gegners erhöht oder sind die Werte der Gegner noch irgendwo verschlüsselt???

Wenn sowas funktionieren würde, bräuchte man ja nur im Internet eine Tabelle mit den gegnerischen Werten suchen und diese dann nacheinander im Hex Editor verändern.
Theoretisch ja, praktisch eher nicht. Erstens muss es nicht sein das die Stärke von 5 wirklich als 05 gespeichert ist. Ich hab hier schon verschiedenste Sachen gesehen, Werte gespeichert in Bitform, oder ein Byte wird für mehrere Sachen benutzt. (Beispiel: 85 = 8 für Statusangriff und 5 eine Hälfte aus dem sich der Stärkewert zuasmmensetzt) Zu Zeiten der SNES Spiele war Speicher teuer so das sich allehand ausgedacht wurde um Platz zu sparen. Zweitens haben die Reihenfolgen der Monster so wie du sie im Spiel triffst meist sehr wenig mit dem zu tun in welcher Reihenfolge sie im ROM liegen. Drittens macht auf diese Art nur das Suchen großer Zahlen Sinn, eine 5 gibts dazu einfach VIEL zu oft in einem Rom.


Mit dem Monsterguide auf gamefaqs sollte es ein leichtes sein zumindest diese Werte zu verändern. (Secret of Evermore (SNES) Monster Statistics Guide) Die Werte werden an gleicher Position in der deutschen Version sein.
Die Kosten von Items usw. lassen sich mit ein wenig Glück durch geschicktes Suchen finden, aber spätestens bei dem Ändern der Zauber und anderen vorher unbekannten Werten wirst du nicht um die Verwendung des Debuggers herumkommen, welcher sowieso zu empfehlen ist.

PS: Unter Punkt 5. Hacking info ist sogar nettwerweise alles erklärt. Sehr großer Bonus.
 

Yok

Hooded Hunter
Mitglied seit
09.04.2008
Beiträge
1.847
PS: Unter Punkt 5. Hacking info ist sogar nettwerweise alles erklärt. Sehr großer Bonus.
Leider ist es so erklärt, dass es nur jemand versteht, der sich schon länger mit sowas beschäftigt und wenn ich die jeweiligen Abschnitte im Hex-Editor suche, werden diese nicht gefunden.

/edit: So, ich habe jetzt die Stats der Wimpy Flower (Monster Nr. 58) unter der Position ED7FA gefunden. Wie kann man denn jetzt mit Hilfe der unten aufgeführten Hinweise verstehen, wie man die Stats verändert?
 
Zuletzt bearbeitet:

Masterflow

Newbie
Teammitglied
SDC-Team
Mitglied seit
27.08.2001
Beiträge
2.457
Also eigentlich ist es nicht so erklärt das es nur Leude verstehen die sich länger damit beschäftigen ^^

Mal als Beispiel:
Ein Monster besteht aus 74-byte Einträgen, und laut Guide steht "0F - 10h" also das 16. und 17. Byte für die HP. Dieses Monster hat 18 KP, das bedeutet 12 zur Basis 16 (also als Hex-Wert) Eines dieser beiden Bytes sollte 12 sein... Und das dann ändern bekommste sicherlich hin ;)
 

Yok

Hooded Hunter
Mitglied seit
09.04.2008
Beiträge
1.847
Also eigentlich ist es nicht so erklärt das es nur Leude verstehen die sich länger damit beschäftigen ^^

Mal als Beispiel:
Ein Monster besteht aus 74-byte Einträgen, und laut Guide steht "0F - 10h" also das 16. und 17. Byte für die HP. Dieses Monster hat 18 KP, das bedeutet 12 zur Basis 16 (also als Hex-Wert) Eines dieser beiden Bytes sollte 12 sein... Und das dann ändern bekommste sicherlich hin ;)
Gut, ok. Monster Nummer 58 hat mich gerade mit einem Angriff besiegt. :D

Ich habe den ANG Wert 2 Zeilen weiter unten entdeckt. Die HP waren übrigens 1 Zeile weiter unten.

Auch wenn das jetzt nur Zufall war, verstehe ich jetzt nicht, wie du bei "0F-10h" auf das 16. und 17. Byte kommst. 0F steht doch für 15 ^^

Ja, ich bin blöd. Aber wenn du mir diese eine Passage noch ausführlich erklären könnstest, wäre ich dir bis zu meinem Lebensende zum Dank verpflichtet. Vor allem dieses kleine h verstehe ich noch nicht so ganz ^^
 

Masterflow

Newbie
Teammitglied
SDC-Team
Mitglied seit
27.08.2001
Beiträge
2.457
Nun das mit [0F] das 16. Byte gemeint ist liegt einfach daran das [00] das 1. Byte ist ;)
Und das h indiziert nur das es sich um Zahlen zur Basis 16 handelt, sprich Hex-Zahlen, sind sonst manchmal doof auseinanderzuhalten...

Niemand sagt du seist blöd, auch gedacht habe ich das nicht :p
 

Yok

Hooded Hunter
Mitglied seit
09.04.2008
Beiträge
1.847
Nun das mit [0F] das 16. Byte gemeint ist liegt einfach daran das [00] das 1. Byte ist ;)
Und das h indiziert nur das es sich um Zahlen zur Basis 16 handelt, sprich Hex-Zahlen, sind sonst manchmal doof auseinanderzuhalten...

Niemand sagt du seist blöd, auch gedacht habe ich das nicht :p
Ok, wenn ich mich nicht verzählt habe, war der ANG Wert dieses Gegners der 26. Byte und 19=26, oder??? 1Ah ist demnach der 27. Liege ich richtig, wenn ich behaupte, dass es bei diesem Gegner nichts nützt, den 27. Byte zu verändern???
 

Masterflow

Newbie
Teammitglied
SDC-Team
Mitglied seit
27.08.2001
Beiträge
2.457
Ok, wenn ich mich nicht verzählt habe, war der ANG Wert dieses Gegners der 26. Byte und 19=26, oder??? 1Ah ist demnach der 27. Liege ich richtig, wenn ich behaupte, dass es bei diesem Gegner nichts nützt, den 27. Byte zu verändern???
Die Positionsberechnung ist soweit richtig, aber das zweite Byte welches auf 00 sein sollte zu Verändern bringt sehr wohl was. Hierbei handelt es sich um das höchtwertige Byte (so wie das was im Wikipedia Artikel aus meiner ersten Antwort steht)

Du könntest mit einem Byte ja nur maximal FF setzen welches 255 entspräche, wenn du mehr willst musste halt noch das zweite Byte verwenden. Sagen wir du willst dem ne Stärke von 325 geben, das sind 145h also für das niederwertige Byte 45h und das hochwertige 01h.
 
Zuletzt bearbeitet:

Artemis

Ehrenuser
Mitglied seit
20.02.2008
Beiträge
1.744
Mit anderen Worten: Wenn du das 27. Byte richtig schön hoch setzt, wirst du so richtig schön platt gemacht. :kicher:

Kannst ja auch mal gucken, was passiert, wenn du's so hoch setzt, dass die Schadensberechnung damit nicht mehr klar kommt.
 

Yok

Hooded Hunter
Mitglied seit
09.04.2008
Beiträge
1.847
Mit anderen Worten: Wenn du das 27. Byte richtig schön hoch setzt, wirst du so richtig schön platt gemacht. :kicher:

Kannst ja auch mal gucken, was passiert, wenn du's so hoch setzt, dass die Schadensberechnung damit nicht mehr klar kommt.
Das habe ich auch getan. (vor allem weil ich die Ausmaße des 27. Bytes noch nicht so verstehe)

Da habe ich also vorne FF an 26. Stelle und hinten an 27. Stelle nochmal FF.

Um es mit den Worten von L zu sagen: Während der gesamten Zeit geschah...........................................überhaupt nichts.

Der Gegner zog mir null ab ^^
 

Masterflow

Newbie
Teammitglied
SDC-Team
Mitglied seit
27.08.2001
Beiträge
2.457
Najo, kann schon sein. Entweder mag er nur bestimmte Werbereiche oder die Formel zur Schadensberechnung funktioniert ab einem gewissen Wert nimmer.

Versuch doch mal eher sowas wie E7 03
 

Yok

Hooded Hunter
Mitglied seit
09.04.2008
Beiträge
1.847
Najo, kann schon sein. Entweder mag er nur bestimmte Werbereiche oder die Formel zur Schadensberechnung funktioniert ab einem gewissen Wert nimmer.

Versuch doch mal eher sowas wie E7 03
So, ich habe es nun mit der E7 03 versucht (oder umgerechnet 03E7=999 ^^)
und der Gegner zog mir in etwa 920 ab.

Jetzt versuche ich es mit einer Stärke von *Taschenrechner raushol* 1255!

Also E7 04 scheint auch noch zu gehen. Der Gegner zog diesmal ca.990 ab.

Ich habe jetzt zwar irgendwie Kopfschmerzen, aber ich habe es verstanden...
 

Kasimir

Newbie
Mitglied seit
16.08.2009
Beiträge
2
Schönen Guten Tag zusammen.

Ich bin neu hier im Forum und das ist auch mein erster Beitrag, trotzdem widme ich dem mal diesem Thread.
Da es leider keine eigene Secret of Evermore Community gibt, ich dieses Spiel aber besser finde als SoM (sogar ziemlicher Fan bin) schreib ich jetzt erstmal hier.
Leider ist, ebenso wie das originale Secret of Mana, Secret of Evermore viel zu einfach und ich bin jemand der Herausforderungen sucht, weswegen ich diesen Thread hier stark unterstütze.

Was ich eigentlich sagen möchte:
Ich kenne mich leider mit Programmierzeug überhaupt nicht aus und kann dir deswegen wenig helfen, würdem ich aber liebend gern als Spieletester melden!

Wenn das also noch aktuell ist, adde mich in ICQ: 79202093 oder schreib mir ne Mail: Lomis@gmx.de wenn du meine Hilfe gebrauchen könntest.
Details zu meiner Person würde ich dir bei Bedarf dann geben ;)

PS:
Nein, ich habe Secret of Mana im Hard mode noch nicht gespielt, weil ich das erst vor ca. 4 Tagen durchgespielt habe und einen Tag später erst von dem Hard-Patch erfahren habe ... und so kurz hintereinander das 2 mal durchzuspielen, dazu fehlt mir dann doch die Motivation, da mir einige Sachen bei SoM nicht sehr zusagen.

In diesem Sinne, hauter rein
 
OP
OP
O

oth

Ritter
Mitglied seit
06.10.2006
Beiträge
41
Hallo,

ich habe eine Version bisher angefertigt, wo alle Monster+Endgegner andere Statuswerte haben. Allerdings weiß ich nicht wie schwer oder eventuell leicht das sein könnte. Gerne kannst du diese Version schon haben, aber wie gesagt, abgesehn von Monster+Endgegner keine Veränderungen. Könnte total imbalanced sein, wovon ich TEILS auch ausgehe^^
Um weiter zu kommen brauche ich Masterflows Hilfe. Trotzallerdem werde ich weiter herumexperimentieren und eventuell auch alleine Erfolg haben :)
 
Oben