PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RPG-Maker 2k3 8-stellige Zahlen oder Kommazahlen ?



Quetschi
18.11.2012, 18:32
Hey :)

Ich bin gerade dabei mein eigenes Kampfsystem zu basteln und bin jetzt auf ein Problem bzw. an eine Grenze des Makers gestoßen. Ich muss für die Schadensberechnung mit ziemlich großen Zahlen arbeiten und der RPG-Maker 2k3 arbeitet maximal mit 7-stelligen Zahlen. Also werden die Zwischenwerte dann auf 9.999.999 "abgeschnitten" und das verfälscht das Endergebnis :/ Leider hilft es auch nichts, die Rechenoperationen einfach umzudrehen, da der Maker ja auch nicht mit Kommazahlen umgehen kann. Meine Frage ist jetzt, ob es möglich ist, mit Hilfe von irgendeinem Patch oder mit dem Resource Hacker den RPG-Maker 2k3 dazu zu bringen mit 8-stelligen Zahlen oder Kommazahlen zu hantieren ?

Ich bräuchte das dringend für ein paar Berechnungen^^

Danke schonmal für eure Antworten ;)

PS:
Wehe es ist nichts hilfreiches dabei D: Dann gibt's keine Kekse.

TwoFace
18.11.2012, 18:35
O.o warum so große Zahlen ?

Corti
18.11.2012, 18:40
Verschieb das Komma, mach 257 statt 2,57~ für die Zwecke bei denen ich es bisher brauchte (Rechnungen, in denen Nachkommakürzen sich zu einem merkbaren, störenden Fehler aufsummiert ) taugte das.
Ansonsten: DynRPG für die Berechnungen nehmen

Quetschi
18.11.2012, 18:52
@Penetranz: Das ist nur für die Berechnung^^ Ich lass da ein paar Werte einfliessen, wie genau das aussieht könntest du dir angucken wenn ich was spielbares zusammenkrieg, da ich die Formel in den Kommentaren habe.

@Corti: Erst einmal danke für deine schnelle Antwort. Auf's verschieben wäre ich auch gekommen...aber bei so Rechnungen wie 18/4096 (=0,00439453125 Windowstaschenrechner ftw ! :D ) bringt mir das auch nicht so viel. Ich werde es mal mit DynRPG versuchen^^ Ich hoffe das wird nicht allzu kompliziert.

TwoFace
18.11.2012, 18:59
@Penetranz: Das ist nur für die Berechnung^^ Ich lass da ein paar Werte einfliessen, wie genau das aussieht könntest du dir angucken wenn ich was spielbares zusammenkrieg, da ich die Formel in den Kommentaren habe.

Ja wär halt ganz interessant zu sehen wofür du das genau brauchst. Weil so ist es für mich ein bisschen schwer vorstellbar. Beschreib mal die Notwendigkeit dieser hohen Zahlen n bisschen genauer. Wie kommen die zustande? dann wird's auch leichter für uns da evtl. ne Lösung im Zusammenhang zu finden.

Bex
18.11.2012, 19:27
Würde auch gerne wissen warum man den Wert 18 durch 4096 teilen sollte.
Das sieht nicht nach einer Schadensformel aus.
Ich brauchte mal die Nachkommastellen um ein Balken Hud vernünftig anzuzeigen. Da hatte man die Zahlen auch erst um 10 000 erweitert und anschliessend nach der Rechnung wieder
durch 10 000 verkleinert. So gabs keine Rundungsfehler.

Gruß Bex

Quetschi
18.11.2012, 19:40
Also gut wenn du so darauf brennst es zu wissen^^

Die Formel sieht wie folgt aus:

BasisSchaden = Angriffskraft + [( Angriffskraft + Level) / 32] * [( Angriffskraft * Level) / 32]
MaximalerSchaden = [(Power * (512 - Verteidigung) * BasisSchaden) / 8192]
Schaden = MaximalerSchaden * Rnd(3841..4096) / 4096

Wobei Angriffskraft der Stärkewert des Charakters + die Waffenstärke (bzw. ein Bonus, da es in meinem Spiel keine normalen Waffen gibt^^). Level ist das Level des angreifenden Charakters (sollte eigentlich klar sein^^).
Power ist die grundlegende Stärke des Angriffs. Eigentlich wollte ich das permanent bei 16 belassen (Standardangriff), aber wegen den physischen Techniken habe ich es variabel gemacht. Verteidigung ist die Verteidigung des Gegners und der Basisschaden ist das was vorher berechnet wuirde. Das ist auch die Zeile wo sich dann das Problem ergibt. Denn so kommt man bei optimalen Verhältnissen (für den Spieler) auf 73.097.216 bevor man durch 8192 teilt.
Der letztendliche Schaden ergibt sich dann aus dem maximalen Schaden (Zeile2) multipliziert mit einer Zufallszahl zwischen 3841 und 4096 geteilt durch 4096 (für die Varianz). Okay hier kommt es auch nochmal zu dem Problem, da man hier auf 36548608 kommen kann, bevor das ganze wieder geteilt wird. Nein die Formel ist NICHT von mir^^

Ich denke aber ich werde das ganze jetzt mal mit dem DynRPG lösen...bzw. ich versuche es. Mal sehen ob meine kleinen Programmierkenntnisse dafür ausreichen^^

Hm ich hab jetzt erstmal meine RPG_RT.exe mit dem DynRPG gepatcht, aber jetzt startet das Spiel, der Bildschirm bleibt schwarz und dann minimiert sich das Spiel wieder. Wenn man es wieder öffnet funktioniert es wieder, dennoch ist das ganze nicht grade schön. Ich nehme einfach mal an, das liegt daran dass es eine RPG_RT.exe war die bereits mit dem BetterAEP gepatcht war. Gibt es da eine Möglichkeit beides parallel zum Laufen zu bringen, ohne dass es zu diesem (oder anderen) Fehlern kommt ?


Edit: 18/4096 würde man rechnen wenn man da versucht, die Rechenoperationen zu tauschen (letzte Zeile) bevor man es dann wieder mit einer Zufallszahl zw. 3841 und 4096 multipliziert. Deshalb sagte ich ja es bringt nichts, die einfach umzudrehen^^

Edit2: Okay ich kriegs nicht hin ._.
Kann mir vielleicht jemand dabei helfen ? Bzw. mir erklären wie man das macht ?



- SCRIPT -
<> Comment: BasisSchaden = Angriffskraft + [( Angriffskraft + Level) / 32] * [( Angriffskraft * Level) / 32]
: MaxSchaden = [(Power * (512 - Def) * BasisSchaden) / (16 * 512)]
: Power = Stärke...16 = normal
: Schaden = MaxSchaden * Rnd(3841..4096) / 4096
<> Change Variable: [817] = 0
<> Change Variable: [806-808] = 0
<> Change Variable: [817] = V[803]
<> Change Variable: [806] = V[803]
<> Change Variable: [806] += V[802]
<> Change Variable: [806] /= 32
<> Change Variable: [807] = V[802]
<> Change Variable: [807] *= V[803]
<> Change Variable: [807] /= 32
<> Change Variable: [806] *= V[807]
<> Change Variable: [817] += V[806]
<> Change Variable: [806-808] = 0
<> Change Variable: [806] = 512
<> Change Variable: [806] -= V[812]
<> Change Variable: [817] *= V[805]
<> Change Variable: [817] *= V[806]
<> Change Variable: [817] /= 8192
<> Change Variable: [817] *= Random [3841-4096]
<> Change Variable: [817] /= 4096
<> Show Message: Schaden: \c[2]\v[817]
: Hilfswert1: \c[3]\v[806]
: Hilfswert2: \c[4]\v[807]
<> Call Event: Common Event #90




- SCRIPT -
<> Comment: BasisMagieschaden = 6 * [Level +Zauberangriff]
: MaxMagieSchaden = [(Power * (512 - Zauberabwehr) * BaseMagieschaden) / (16 * 512)]
: Power = Stärke des Zaubers
: Magieschaden = MaxMagieschaden * Rnd(3841..4096) / 4096
<> Change Variable: [817] = 6
<> Change Variable: [806] = V[804]
<> Change Variable: [806] += V[802]
<> Change Variable: [817] *= V[806]
<> Change Variable: [807] = 512
<> Change Variable: [807] -= V[813]
<> Change Variable: [808] = 16
<> Change Variable: [808] *= 512
<> Change Variable: [817] *= V[807]
<> Change Variable: [817] *= V[805]
<> Change Variable: [817] /= V[808]
<> Change Variable: [817] *= Random [3841-4096]
<> Change Variable: [817] /= 4096
<> Call Event: Common Event #90



Also das ich dann quasi die Berechnung des Schadens auslager und von DynRPG berechnen lasse und nicht den Eventcode hier benutze, da das ja wie gesagt nicht geht, da der Maker das nicht hinkriegt mit 8-stelligen Zahlen zu arbeiten. Bräuchte dafür allerdings 2 Berechnungen, da die Formel für den magischen Schaden anders ist. Wäre wirklich nett wenn mir da jemand unter die Arme greifen kann und mir das ganze erklärt.

Bex
18.11.2012, 21:16
Oh Gott was denkst du dir für Schadensformeln aus :)
Bei solchen werten wünsche ich dir viel Spass dein System entsprechend zu Balancen.
Da muss man ja jedesmal nachrechnen wenn man einen Wert verändern will.^^
Naja jedem das seine. Viel Spass damit.
Gruß Bex

Quetschi
18.11.2012, 21:26
Das Balancing sollte nicht so das Problem werden. Ich hab mir mit Pascal ein Programm für mich geschrieben, dass mir das ganze berechnet bzw. grob. Dann muss ich daran nur noch ein bisschen feilen und fertig. Auch wenn ich das Programm mal wieder ein bisschen überarbeiten könnte. Und weiß der Geier warum ich komm mit C++ iwie nicht klar :/

Quetschi
19.11.2012, 22:12
Hey, Ich bin's nochmal....

Irgendwie krieg ich das ganze mit DynRPG nicht hin :/

Ich bin wie hier ( http://rpg-maker.cherrytree.at/dynrpg/getting_started.html ) vorgegangen und hab zunächst eine neue Dynamic Link Library erstellt und dann weiter alle Einstellungen vorgenommen (Sprich die Punkte 1-26 ausgeführt).

Dann habe ich folgendes als Code geschrieben:

#define AUTO_DLLMAIN
#include <DynRPG/DynRPG.h>

bool OnStartup(char *pluginName){
*reinterpret_cast<unsigned char *>(0x4AD36F) = 0xEB;
*reinterpret_cast<unsigned char *>(0x4AD399) = 0xEB;
return true;
}

Ich habe mal im DynRPG-Thread ein bisschen gelesen und gesehen dass Cherry das hier gepostet hat:


Die Beschränkung die von "<> Change Variable" erzeugt wird, lässt sich hiermit aufheben (in onStartup verwenden).


*reinterpret_cast<unsigned char *>(0x4AD36F) = 0xEB;
*reinterpret_cast<unsigned char *>(0x4AD399) = 0xEB;


Also wenn ich nicht völlig falsch liege hebt das ja die Variablenbecshränkung auf, d.h. mein Makerprojekt müsste mit 8-stelligen Zahlen zurechtkommen.

Jetzt hab ich noch eine Frage und ein Problem.

Die Frage: bool OnStartup(char *pluginName) Kann bzw. muss das pluginName hier stehen bleiben oder muss ich das durch den Namen meines Plugins ersetzen ? In Cherry's "Getting Started" steht nämlich nicht ob, man da den Namen des eigenen Plugins einsetzen muss oder nicht oder ich hab es überlesen :X

Das Problem ist folgendes: Wenn ich versuche das Ganze zum Laufen zu bringen, sollte ja eigentlich eine .dll Datei in meinem DynPlugins-Ordner vorzufinden sein. Diese wird aber nicht erstellt und Code::Blocks gibt mir nur die Meldung:

"schaden_berechnen - Release" uses an invalid compiler. Probably the toolchain path within the compiler options is not setup correctly?! Skipping...
Nothing to be done.

Ich habe allerdings alles so gemacht, wie es in dem "Getting Started" beschrieben ist, deshalb weiß ich nicht wo da der Fehler ist. Als ich das erste Mal diese Meldung bekommen habe habe ich Code::Blocks nach toolchain path gesucht, aber nichts gefunden. Also hab ich das alte Projekt komplett gelöscht und das ganze noch einmal Schritt für Schritt nach dem "Getting Started" gemacht, leider kam wieder die selbe Meldung. Also hab ich Code::Blocks nochmal deinstalliert und wieder neu installiert und bin das ganze noch einmal durchgegangen. Leider kommt die Fehlermeldung immer wieder. Weiß jemand woran das liegt und wie ich das behebe ?

Kyuu
20.11.2012, 00:21
Du brauchst das CodeBlocks-Setup, das MinGW mitinstalliert (codeblocks-10.05mingw-setup.exe). Wenn du das andere Setup genommen hast, deinstalliere CodeBlocks und installiere es wieder mit dem richtigen Setup. Wenn nicht: Schau mal ob unter Settings -> Compiler and Debugger der GNU GCC Compiler eingestellt ist und überprüfe im selben Fenster unter Toolchain executables ob der korrekte Pfad eingestellt ist. Gegebenenfalls musst du auf Auto-detect klicken.

Die Rückruffunktion heißt übrigens "onStartup" und nicht "OnStartup". Anderenfalls kann DynRPG sie nicht finden und aufrufen.

"pluginName" ist nur der Bezeichner für den Funktionsparameter und ihn umzubenennen würde nichts bringen. Du musst da auch nichts einsetzen. DynRPG wird beim Aufruf der Rückruffunktion einen C-String an die Funktion übergeben, der den Namen des Plugins enthält und mit pluginName kannst du darauf zugreifen. Vielleicht solltest du dich zuerst etwas mit den Grundlagen von C/C++ beschäftigen. Anfangen kannst du z.B. mit http://www.cplusplus.com/doc/tutorial/.

Corti
20.11.2012, 10:09
Was mich hier wirklich interessieren würde: Auf Basis von was diese Schadensformel?

Quetschi
20.11.2012, 15:57
@ Kyuu:

Erst einmal dankeschön. Dank dem Auto-Detect funktioniert das Ganze jetzt. Alle anderen Einstellungen waren korrekt, da ich es ja 1:1 nach Cherry's 26 Punkten durchgegangen bin. Keine Ahnung warum dann da etwas falsch war, zumal Cherry das nicht erwähnt.
Okay, ich wusste nicht dass die Groß-/Kleinschreibung hier so einen Unterschied macht. Ich programmiere sonst mit Pascal unter Lazarus und da ist es egal ob ich z.B. hans : integer; oder hans : InTEgeR; schreibe. (Zumindest bei dem was ich bis jetzt gemacht habe, hab' aber auch nur ein bisschen mehr als Schulkentnisse^^)
Hm...das Tutorial werde ich mir noch angucken und dann eventuell noch das ein oder andere für DynRPG schreiben.

@Corti:

Ich habe ja geschrieben, dass diese Formel NICHT von mir ist. Das ist die Schadensformel von Final Fantasy 7 (Siehe hier: http://finalfantasy.wikia.com/wiki/Attack#Final_Fantasy_VII ). Ich hab die Formel genommen, weil ich eben nicht dieses stumpfe Schaden = Angriff-Verteidigung oder Schaden = Angriff x2 - Verteidigung und If Schaden < 0 then Schaden = 0 haben wollte.
Dann hab ich zu erst versucht mir etwas eigenes zu Überlegen, war aber nie zufrieden damit. Also habe ich begonnen mal ein bisschen im Internet nachzugucken, wie es andere Spiele und eben auch kommerzielle Spiele gemacht haben. (Ja ich geb es zu aus Faulheit, weil es eben einfacher ist als sich eine wirklich gute Formel auszudenken) Und da Final Fantasy 7 so ziemlich mein Lieblingsrollenspiel ist und die Formel so schien, als liesse sie sich leicht anwenden, habe ich sie eben übernommen.
Das heißt dann auch, das die Statuswerte bei mir wie in Final Fantasy auf 255 begrenzt sind. Das ist allerdings auch mehr als genug. Ich finde man muss sich nicht da dran aufgeilen, dass man einen Angriffswert von 999 hat. Das Balancing werde ich auch noch hinbekommen müssen, aber ich habe mir bereits ein kleines Programm geschrieben, dass mir dabei hilft und die Statuswerte meiner ersten 3 Charaktere sind bis jetzt auch darauf ausgelegt und werden auch nicht zu stark ansteigen (so hat der Hauptheld z.B. nur einen Stärkezuwachs von 0,8 per Level)
Das ist so die "Geschichte" dahinter^^

TwoFace
20.11.2012, 16:35
Aber würd's dir schwer fallen eine eigene Schadensformel analog zu der von FF7 zu entwickeln, die mit niedrigeren Werten rechnet? Ich geh einfach mal davon aus, dass du die FF7-Formeln schon verstanden haben wirst, da es sonst am Ende mit dem Balancing 'nen ziemlichen Hick-Hack geben könnte.

Quetschi
20.11.2012, 20:51
@Penetranz:

Nein, dass würde mir sicherlich nicht schwer fallen, aber ich wäre wahrscheinlich wieder immer unzufrieden mit meinem Ergebnis. Und da ich zu dem Zeitpunkt ( Achja...damals) gerade wieder einmal FF7 gespielt habe, habe ich mir das ganze auch etwas genauer angeschaut und damit rumgerechnet habe, weil ich einen "LowLevelRun" gemacht habe. Also habe ich mir halt immer die Statuswerte angeguckt, ein bisschen rumgerechnet usw. und da war dann halt quasi schon die Grundlage da.
Ich habe allerdings erst vor kurzem mit dem wirklichen makern dieses Projekts angefangen, da ich auch noch das erste Kapitel der Story grob geschrieben habe und auch nicht immer so viel Zeit hatte.
Anyway...ich hatte halt schon viel damit rumgerechnet und mir mehrere Gedanken dazu gemacht und dabei halt auch schon am Balancing meiner ersten Gegner gearbeitet^^
Deshalb hab ich dann auch nicht mehr versucht die Formel zu variieren. Leider habe ich beim Rechnen nicht die Zwischenschritte gemacht, sondern die "Teilformeln" zu
Schaden = [(Power * (512 - Verteidigung) *{Angriffskraft + [( Angriffskraft + Level) / 32] * [( Angriffskraft * Level) / 32] } / 8192] * Rnd(3841..4096) / 4096
zusammengefasst.
Da ist mir dann halt nicht aufgefallen, dass da zwischendrin so hohe Werte sind.

Aber das ist ja jetzt eigentlich auch egal, da das ganze nun dank Cherry's DynRPG und Kyuu's Hilfe korrekt funktioniert.

Corti
21.11.2012, 12:02
FF7 hat ja echt drollige Mathematik. ( Falls es ausser mir noch wen interessiert: http://www.gamefaqs.com/ps/197341-final-fantasy-vii/faqs/22395 )
Wenn man aber nicht gerade immense ATk zu Def - Differenzen hat hält sich der Vorteil zu den Makerformeln allerdings doch stark in Grenzen.

Quetschi
21.11.2012, 18:38
Die Seite ist echt nett, aber man kann es auch irgendwo übertreiben, als Spieler das ganze zu wissen.

Naja ich kenne die genauen Makerformeln nicht, aber dort lässt sich der Schaden eben nur vom Angriff und Verteidigungswert beeinflussen. Bei dieser Formel ist es zum einen der Angriffswert, (der sich aus der Stärke des Charakters + Waffenstärke zusammensetzt), das Level, die Powervariable (im Normalfall 16) und dem Verteidigungswert des Gegners.
Wenn man jetzt an der Powervariable etwas verändert, merkt man den Unterschied sofort. z.B. eine Technik, die aus 3 Angriffen mit einer Power von 8 besteht, die einzelnen Angriffe ziehen nur 50% eines normalen Angriffs ab. Da es aber 3 Angriffe sind zieht es insgesamt 1,5 mal so viel ab wie ein normaler Angriff (3*8/16 = 1,5).
Der Angriffswert ist der Stärkewert des Charakters + die Stärke der Waffe (also wie beim RPGM, allerdings liegt die Grenze bei 255) das ganze alleine hier dran zu variieren ist schon schwerer, da für die Berechnung des Basisschadens noch das Level hinzukommt.
Da weiß ich nicht genau wie das ganze zusammenhängt...Ich hab da ein paar Rechnungen zugemacht und dabei den Angriffswert halbiert/geviertelt ebenso wie das Level, aber mal hatte das ganze den Faktor 2,3 dann 2,6 oder sogar 3,4. Das muss man dann eben ein bisschen ausprobieren und rumrechnen.
Beim Verteidigungswert hingegen ist wieder eine schöne Gleichmäßigkeit zu erkennen. Wenn der Wert 0 beträgt, wird mit (512-0) multipliziert und somit kommt der volle Schaden zustande, wenn der Gegner allerdings 255 Vertedigung hat wird der Schaden halbiert (da aber immer abgerundet wird, kann sich das um ein paar Schadenspunkte verschieben, aber die sind ja nicht die Welt^^).

Somit hat der Schaden (theoretisch gesehen) immer angemessene Werte und kann maximal halbiert werden, egal wieviel mehr Verteidigung der Gegner mehr hat als ich Angriff.
Wenn man die RPGM-Formel nimmt und beispielhaft dem Helden 100 ATK und dem Gegner 999 DEF gibt, dann wäre mein Schaden -199 +-20%, denn (100/2)-(999/4)=50-249,75 (abgerundet also 249) = -199 +- 20%. Damit der Gegner nicht geheilt wird, wird der Schaden auf 0 gesetzt. Also kann ich wie ein Bekloppter auf den Gegner draufhauen und werde ihn trotzdem niemals besiegen, da ist es egal das er selber mir keinen Schaden macht...der Kampf wäre endlos. Okay das sollte im Normalfall nicht so sein, aber kann vorkommen...gerade in Open World Spielen, die schlecht gebalanced sind und mit dem Standardsystem arbeiten (Nein das ist kein Aufruf das Standardsystem hinzuschmeissen und es nicht zu benutzen, nur sollte man es vernünftig balancen).
Bei meinem System würde ich dem Gegner (diesmal würde er 255 als maximale DEF haben) immernoch Schaden zufügen. Vielleicht nicht sonderlich viel (das kommt ja noch auf mein Level an) aber ich würde ihn irgendwann besiegen können. Es kann ja beispielsweise auch einfach nur ein Gegner mit extrem hoher Verteidigung sein.

So gesehen bietet es schon einige Vorteile gegenüber dem Standardsystem, aber man muss das halt alles umsetzen und dazu braucht man ein eigenes KS und das ist etwas, dass nicht jeder umgesetzt bekommt.

Corti
22.11.2012, 10:11
Der "Power-"Wert ist im Maker als 'Attribut' vorhanden und auch in Form der'Attack-Influence' ( die eine Modifikation zwischen 0 und 100% des Faktos zulässt ) , auch damit lässt sich jede Form von "Prozent des Normalschadens" einstellen, in einem eigenen Kampfsystem wäre es ein Prozentmodifikator ( * 50 / 100 ) auf den ( Atk-Def/2 ) - Faktor.

Der "Level-up"-Faktor, der bei FF7 als Modifizierung des ATK-Wertes passiert ist beim Maker durch das Prinzip Atk-Def/2 ähnlich gegeben. Hierbei ist dann zwar nicht der Level direkt Teil der Formel, bei aber zB 100 Atk und 100 Def ist der Schlagschaden dann 100/2-100/5 = 25 Schaden; 100 Atk -> 25 Schaden. Weitere 100 Atk würden den Schaden auf 75 erhöhen, +100 Atk -> +50 Schaden, Schadenswerte erhöhen sich also stärker wenn der Angreifer ein höheres Level gewinnt, ausgehend von einer sehr groben Ähnlichkeit der Werte auf gleichem Level und einer Steigerung der Statuswerte beim Levelup.

Der Fall, dass Atk so weit < Def ist kann zwar theoretisch vorkommen, praktisch wird es aber so sein, dass auch HP und Agilität bei Helden mit dem Level und bei Monstern analog zum Heldenlevel steigen. Während also je mehr der Angreifer gen 50% der Verteidigerdef geht, der Schaden immer mehr sinkt und gegen 0 geht, steigen die HP des Verteidgers, er kommt öfter dran und haut wesentlich härter zu. Ist "den Kampf dann noch schaffen können" dann ein Kriterium für "gute Formeln?"
Davon ausgehend, dass der Kampf bei ausgeglichenen Spieler & Monsterleveln nicht lächerlichst einfach ist sollte der rechnerische Fall nicht mehr gewinnen zu können schon lange vor dem 0-Schaden Breakpoint einsetzen.

Quetschi
22.11.2012, 21:48
Naja da ich ja sowieso ein eigenes Kampfsystem baue, macht es meiner Meinung nach die Formel des Makers zu übernehmen. Ich müsste ja auch die für die Skills nehmen und da kann ich direkt diese hier nehmen. Außerdem mag ich das Rechnen mit 2er-Potenzen.

Die Attribute müsste ich alle einzeln bestimmen und dann immer dem entsprechenden zuordnen, da kann ich das schneller mit der Power-Variable machen, da ich hier einfach weiß, wenn sie 16 beträgt ist der Schaden normal, bei 8 nur halb so groß bei 4 viertel so groß oder bei 48 eben drei mal so groß.
Die Power-Variable bei Zaubern funktioniert nach dem selben Prinzip. Halbiere ich sie, halbiert sich der Schaden. Verdoppele ich sie, verdoppelt sich der Schaden. Lediglich der Grundschaden von Zaubern wird anders berechnet.

Das was du mit dem Levelfaktor beschreibst, trifft nur sehr grob zu. Außerdem finde ich als Spieler es irgendwie leicht "deprimierend"...sag ich mal...wenn ich doppelt so viel Angriff habe, wie vorher aber mein Schaden "nur" um 50 Punkte steigt.
In diesem Beispiel wäre das zwar eine Verdreifachung, aber ich denke da achtet man als Spieler nicht so sehr drauf. Ich zumindest sehe die Zahlen an sich.
Da hilft mir eine Verdreifachung des Schaden nicht, wenn ich in der Zwischenzeit ~10 Level steigen musste und dann mittlerweile sowieso wieder an einem anderem Ort bin wo die Gegner dann eben auch mehr Verteidigung haben und ich wieder nur meine 25 Schaden mache oder wenn z.B. der Gegner eben auch 200 Verteidigung hat. Dann mach ich eben 50 Schaden, aber wenn ich 10 Level Ups hinter mir haben muss, um von 25 auf 50 Schaden zu kommen ist das meiner Meinung nach auch nicht so toll.
Und bei mir ist es keines Wegs so, dass man durch Level Ups keine Statuswerte gesteigert kriegt. Nur die Steigerung ist eben nicht so hoch und liegt zwischen 0.6 und 1.2 bei den verschiedenen Werten und Charakteren. Das mag sich jetzt vielleicht nicht viel anhören, aber wenn man bedenkt dass die Obergrenze bei 255 liegt und man diesen Bonus eben 98 mal erhalten kann, dann sind das auch wieder zwischen 58 (58,8) und 117 (117,6) Punkte, die dann nochmal durch die Ausrüstung erhöht werden.

Naja mit den extremen Verteidigungswerten ist das so eine Sache. Man kann die Verteidigung ja auch umgehen.
Lachsen hatte in Velsarbor z.B. diese Schutzschilde bei irgendwelchen Käfern. So hat man kaum Schaden gemacht bis man den Schild durch Feuer (oder irgendetwas anderes) entfernt hat.
Der Gegner kann z.B. auch nur eine hohe physische Verteidigung haben und hat dafür eine schwache magische Verteidigung oder man lässt sich etwas anderes einfallen.
Um es mal wieder am Beispiel von FF7 zu zeigen (oh ja ich mag das Spiel)...Rubinweapon ist ein optionaler Boss mit ca. 800.000 HP und extrem hohen Verteidigungswerten (wahrscheinlich höher als 255, da der Basisschaden mehr als nur halbiert wird, ist aber nur eine Vermutung). Sobald man ihn allerdings in den Stopzustand bringt, zeigen die Angriffe allerdings wesentlich mehr Wirkung. Der Stopzustand verschwindet nach einiger Zeit und die Angriffe richten wieder wenig Schaden an.


Letzten Endes ist es ja eigentlich egal welche Schadensformel man genau nimmt, solange das Balancing gut ist und das KS spaß macht. Ich habe mich eben für die Schadensformel von FF7 entschieden, weil ich die Formel vom RPGM nicht so gut finde und ich sie eben nicht in meinem eigenem KS umsetzen wollte, ich mit meinen selbst erdachten Formeln nicht zufrieden war und ich zu dem Zeitpunkt als ich die Formel entdeckte mal wieder FF7 gespielt habe und dann eben ein bisschen damit rumgerechnet habe und somit schonmal ein kleines Gefühl für diese Formel bekommen habe.

Corti
23.11.2012, 16:19
Eines vorweg, ich versuche nicht dich zu überzeugen ;-)

@Attribute:
Wenn mans von vornerein plant braucht man da nicht viel klicken. Man verwendet ja im Prinzip ein System, dass man für Anfälligkeit benutzt quasi mit. In einem eigenen System muss man auch pro Monster eine zB Feuerresistenz als Wert haben und beim Zauber das entsprechende Element zuweisen. Natürlich hat die Powervariable gegenüber dem 2k3 System den Vorteil weitaus beliebigere Werte anzunehmen, würde man nur die 2k3 Formeln verwenden gibt es nicht was daran hindert die Attack Influence auf andere Werte als 0 bis 10 in Einserschritten zu setzen, ist wie der Powerwert, skaliert einen Anteil des Normalschadens.



Das was du mit dem Levelfaktor beschreibst, trifft nur sehr grob zu. Außerdem finde ich als Spieler es irgendwie leicht "deprimierend"...sag ich mal...wenn ich doppelt so viel Angriff habe, wie vorher aber mein Schaden "nur" um 50 Punkte steigt.
In diesem Beispiel wäre das zwar eine Verdreifachung, aber ich denke da achtet man als Spieler nicht so sehr drauf. Ich zumindest sehe die Zahlen an sich.
Da hilft mir eine Verdreifachung des Schaden nicht, wenn ich in der Zwischenzeit ~10 Level steigen musste und dann mittlerweile sowieso wieder an einem anderem Ort bin wo die Gegner dann eben auch mehr Verteidigung haben und ich wieder nur meine 25 Schaden mache oder wenn z.B. der Gegner eben auch 200 Verteidigung hat. Dann mach ich eben 50 Schaden, aber wenn ich 10 Level Ups hinter mir haben muss, um von 25 auf 50 Schaden zu kommen ist das meiner Meinung nach auch nicht so toll.
Wie hoch die Zahlen sind ist keine Frage des Systems sondern der Einstellung. Du könntest mit deinem System auch Powerwerte von 1 bis 4 nehmen und die Gegner-HP entsprechend vierteln, oder alles mit Faktor X erhöhen. Der Maker und FF7 haben beide eine Schadensobergrenze von 9999 pro Angriff, was man dazwischen macht ist eine Frage der gewählten Zahlen.

Dass beim Spielfortschritt der Schaden sinkt, passiert wenn die Defensewerte stärker steigen als die Atk-Werte. Klingt jetzt nicht nach einem Zusammenhang, den ich als Systemnachteil sehe. Im Regelfall, wenn die Def nicht min doppelst so stark steigt sollte kein Schadensabfall zu bemerken sein. Modifizierung bezüglich "schwer gepanzerter Gegner - kriegt weniger Schaden" würde ich im Maker zumindest eher über Resistenzen/Attribute machen und nicht über Verteidigung.

Die FF7 - Verteidigung entspricht ja eher einer physischen Resistenz als einem klassischen "Rüstungswert" , für FF7 Feeling könnte man im Maker einfach die Monster-Def auf 0 setzen und die Abwehr über ein Attribut regeln~ (allerdings nur schrittweise dann )



Letzten Endes ist es ja eigentlich egal welche Schadensformel man genau nimmt, solange das Balancing gut ist und das KS spaß macht. Ich habe mich eben für die Schadensformel von FF7 entschieden, weil ich die Formel vom RPGM nicht so gut finde und ich sie eben nicht in meinem eigenem KS umsetzen wollte, ich mit meinen selbst erdachten Formeln nicht zufrieden war und ich zu dem Zeitpunkt als ich die Formel entdeckte mal wieder FF7 gespielt habe und dann eben ein bisschen damit rumgerechnet habe und somit schonmal ein kleines Gefühl für diese Formel bekommen habe.
Versteh mich nicht falsch, die Formel ist gut. Man kann damit wesentlich weniger durch sonderbare Werte verkacken als beim Maker, da eben auch grenzwertige Zahlen-Verhältnisse keine unglaublich kritischen Auswirkungen haben können, das ermöglicht ja unter anderem diese Low Level Runs.

Quetschi
23.11.2012, 17:41
Eines vorweg, ich versuche nicht dich zu überzeugen ;-)





Wie hoch die Zahlen sind ist keine Frage des Systems sondern der Einstellung. Du könntest mit deinem System auch Powerwerte von 1 bis 4 nehmen und die Gegner-HP entsprechend vierteln, oder alles mit Faktor X erhöhen.

Nun ja, ob ich jetzt einem Gegner 99 von 100 hp oder 9.999 von 10.000 hp abziehe ist an sich kein Unteschied. Solange das prozentual ungefähr gleich ist. Es sieht aber stärker aus wenn auf dem Bildschirm 9.999 steht anstatt 99.
Und ja man könnte die HP vierteln und kleinere Powerwerte nehmen, allerdings kann man dann nicht soviel variieren, da sich das eher bemerkbar macht und man eben nicht diesen Spielraum hat, weil die Powervariable auf normal dann ja 4 wäre. Bei 1 wäre das 1/4 des Schadens. Aber wenn man 1/8(=2/16) Schaden haben möchte ? Oder 5/16 Schaden ? Das Balancing der Techniken würde dann meiner Meinung nach erhöht werden.


Der Maker und FF7 haben beide eine Schadensobergrenze von 9999 pro Angriff, was man dazwischen macht ist eine Frage der gewählten Zahlen.

Ich weiß nicht wo die Schadensgrenze beim Maker liegt und ich habe selbst noch nie ein Spiel gesehen, bei dem mit dem Standardkampfsystem vom Maker 9.999 Schaden möglich waren.
Die Schadensgrenze von FF7 liegt nicht direkt bei 9.999. Der Schaden wird lediglich auf 9.999 gesetzt wenn er höher als 9.999, allerdings gibt es da eine Ausnahme. Es gibt die sogenannten "Overflows" die stattfinden wenn der Schaden ~ 250.000 betragen würde. Diese töten jeden Gegner sofort.



Die FF7 - Verteidigung entspricht ja eher einer physischen Resistenz als einem klassischen "Rüstungswert"

Wie meinst du das ? Die Verteidigung in FF7 wird durch den Vitalwert und der Abwehrkraft der Rüstung ermittelt. Dann kommen eventuell noch Materia/Substanzbedingte Änderungen. Aber das war es auch schon. Ich weiß nicht wie so dass nicht einem "klassischem" Rüstungswert gleichkommen sollte. Im Maker wird die Verteidigung ja auch durch die Grundverteidigung (Vitalwert) + Rüstung ermittelt.



Versteh mich nicht falsch, die Formel ist gut. Man kann damit wesentlich weniger durch sonderbare Werte verkacken als beim Maker, da eben auch grenzwertige Zahlen-Verhältnisse keine unglaublich kritischen Auswirkungen haben können, das ermöglicht ja unter anderem diese Low Level Runs.

Man kann zu jedem Zeitpunkt des Spiels genügend Schaden machen, da dieser ja maximal halbiert wird, was aber auch dann noch ausreichend ist, da man ja außerdem noch auf Magie zurückgreifen kann. Beim Maker finde ich es außerdem zu zeitaufwändig das Ganze mit Attributen etc. zu versuchen, da man das ja eben noch alles testen muss. Unter Umständen sogar bei jedem Gegner.

Die Low Level Runs sind vor allem möglich wegen dem Equipment und den Materia/Substanzen. Wenn man eine Rüstung hat die Feuerelementare Angriffe absorbiert oder negiert und ein Gegner hauptsächlich oder nur Feuerelementare Angriffe benutzt, ist der Kampf ein Leichtes, da man nicht sterben kann. (Ja so Kämpfe gibt es wirklich in FF7).
Low Level Runs in Final Fantasy sind generell so ausgearbeitet, dass alles funktioniert. Bei FF8 ist man auf Level 1 sogar am stärksten, da sich die Gegnerwerte dem Durchschnittslevel der Truppe anpassen und bei FF9, gibt es eine äußerst interessante Spielweise, wie man bis fast zum Ende auf Level 1 bleibt um seine Statuswerte maximal zu pushen, das aber nur mal so am Rande.

Cherry
09.12.2012, 00:09
Wegen Autodetect: Also als ich das Code::Blocks installiert habe, hat er MinGW mitinstalliert und alles lief out of the box... Daher hab ich auch nix dergleichen erwähnt.