Ergebnis 1 bis 11 von 11

Thema: Random Item-Script ---bereits realisiert?

  1. #1

    Random Item-Script ---bereits realisiert?

    Hallo


    Ich bin gerade dabei allerhand Sachen mit dem Rpg-Maker zu scripten und möchte gerne von meiner Ideen (schon fast fertig) wissen ob sie schonmal in nem Rpg-Maker-Game vorgekommen ist (damit ich mich schonmal auf die "geklaut"-Rufe vorbereiten kann ).

    Die Idee wäre:

    ein Script welches (anhand der Stärke der Gegner grob vorgegeben) Items mit zufälligen Attribut-Werten (welche jedoch logisch bleiben, d.h. ein 20-Kilo-Stiefelpaar wird kein +30 Geschwindigkeit geben).

    Dieses eignet sich vorallem für das Projekt welches ich im Moment plane, da eine Menge des Spiels davon abhängen wird, dass ich einen ordentlichen Itemvorrat habe. (soll eine Art HacknSlay werden, in dem die Anzahl der möglichen Ausrüstungsgegenständen stark erhöht ist [wie z.b. in Wow])

    Mfg
    Siccles

  2. #2
    Also ich hab so ein Features bereits mit ca. 3000 Items realisiert, die levelabhängig gedropped werden. Allerdings sind das Ideen auf die niemand ein Patent hat. Mach einfach dein Spiel fertig wie du es möchtest. Jedes Spiel hat irgendwelche Elemente, die es bereits in anderen Projekten gab, selbst kommerzielle Spiele sind häufig nur abgekupfert.

  3. #3
    moment, WAS genau willst du scripten? Dass die Monster zufällig iwelche Gegenstände fallelassen? das benötigt ja sogesehen nicht viel gescripte, einfach ne zufällige Variable auswählen lassen, jedem Wert ein Item zuordnen...
    oder wie meinst du das?

  4. #4
    Ihr versteht mich gerade falsch...

    Die gegenstände die ich plane, laufen vollkommen unabhängig vom Item-verzeichnis. Ich muss sie weder erstellen, noch sonstetwas machen.
    Das script erstellt für mich anhand der stärke der Gegner Items, welche durch ein anderes script gelagert, angelegt oder entsorgt werden können (mehr als 150 itemarten kann man leider nicht gleichzeitg speichern, weil dann die Variablen die für das Script reserviert sind ausgehen.

    edit: Man würde z.b. sogut wie nie das selbe Item 2-mal in 2 unterschiedenlichen Spieldurchläufen sehen(nur falls es halt zufällig mit den selben attributen und resistenzen erstellt wird)

    Mfg
    Siccles

  5. #5
    ahhh, das hab ich noch nie gesehen. und das find ich auch cool ^^
    wird wohl viel Aufwand, vor allem, wenn du alle Items verschieden benennen willst, oder wie soll das funktionieren?
    aber an sich finde ich die Idee echt interessant

  6. #6
    so großer Aufwand ist das garnicht... dass schwerste ist noch einen balancten Algorithmus zum ausspucken der Attribute zu erstellen, sonst werden die Items zu stark/schwach.

    Die Namensgebung ist auchschon ein Problem über welches ich mir Gedanken gemacht habe und ich denke dass ich entweder:

    A) die Items überhaupt nicht benenne (würde mir einiges an Scriptumstellung ersparen (da es bisher nicht mit Namen vorgesehen war)

    B) statt es wirklich Ausrüstung (Helme,Rüstung etc.) sein zulassen die droppen, sind es stattdessen... nennen wirs mal zum Beispiel "orbs" diese würde man dann z.b. in einzelne Ausrüstungsgegenstände einsetzten können, (1 pro Stück, vllt durch bestimme Sachen erhöhbar, nicht sicher) und die Ausrüstung die der Spieler von Anfang an hat bleibt erhalten (würde auch die Möglichkeit öffnen jedes Orb in jedes Item einzubauen, und nicht endlich drauf zu hoffen dass mal n Mantel gedroppt wird )

    C) Zufällige Namen verteilen durch n weiteren Scriptansatz (nicht so gut, da dann ein schwaches item den selben Namen wie ein starkes Item haben könnte, würde nicht passen) oder je nach Stärke des Items aus einer vorhandenen Liste einen Namen auswählen, der halt auch wieder in den Variablen gespeichert wird ( z.b. wenn variable wert 1 dann name= blabla wenn 2 dann) usw.

    Was ich davon mache muss ich mir noch überlegen, da es ja auch in mein KS passen muss

    Mfg
    Siccles


    C)

  7. #7
    Zitat Zitat von Siccles Beitrag anzeigen
    so großer Aufwand ist das garnicht...
    Willkommen im echten Leben, ich garantiere dir mit dieser Aussage, dass du dieses Spiel nicht beenden wirst. Die Verwaltung der Items außerhalb der Makerdatenbank ist sicherlich realisierbar, aber das ist eine Menge Arbeit und ich bin mir ziemlich sicher, dass du den Aufwand maßlos unterschätzt.

    Wieso denkst du gibt es denn bisher kein Spiel in dem so ein Feature umgesetzt wurde? Andere hatten garantiert auch schon so eine Idee. Wie gesagt, technisch ist das schon möglich, aber es hat schon seinen Grund warum es sowas bisher nicht gibt.

    Edit: Gibt nicht viele Leute, die sowas auf die Beine stellen und es durchhalten. Wenn du so ein Script bereits fertig hast, dann ist das natürlich eine große Leistung.

    Geändert von Daos-Mandrak (25.10.2009 um 22:13 Uhr)

  8. #8
    da hinks du mir leider schon ein bisschen hinterher, wie im OP steht,
    bin ich schon fast fertig.

    Itemlagerung (nur zur Info das Script verschlinkt ca 15 Variablen pro Item [falls ich den max Wert der Attribute an bestimmten Stellen cappen würde, wäre es möglich den Variablen verbrauch auf 8 zu senken, indem ich in eine Variable mehrere Attribute hineinstecke,wäre aber noch etwas mehr Arbeit], deshalb werden auch nicht mehr als 150 Items speicherbar sein ) und Auslesung der in den Variablen gelagerten Attributen und Resistenzen sind auch fertig, dass einzige große was ich noch machen muss, ist der Algorithmus und das Ausrüstscript ( wobei die vorherigen Scripte so angelegt wurden, dass ich ohne große Probleme genau auslesen kann, welches item mit welchen attributen gerade angelegt ist, sollte also nicht das Problem darstellen).

    Und ich gehe mich keiner Halluzination hin, glaube dass mir mal bitte. Ich bin nicht gerade unerfahren im Scripten.

    edit: Da ich denke dass der Hauptgrund warum du denkst, dass es so schwer ist, ist dass man für jeden der Itemplätze jede Stelle des Scriptes verändern muss, liegt du falsch, denn ich brauchte nur mit Variablen-Referenzen Arbeiten und konnte dies somit komplett umgehen.

    Mfg
    Siccles

    Geändert von Siccles (25.10.2009 um 21:57 Uhr)

  9. #9
    Zitat Zitat
    so großer Aufwand ist das garnicht...
    Meine Einschätzung:
    Es ist ein riesen Aufwand. Du versuchst ein System, dass quasi schreit "mach mich objectorientiert" in der Krüppelscriptsprache des Makers zu basteln.
    Da es sich hierbei allerdings weder um etwas überkomplexes noch über etwas zeitkritisches handelt ist es nur eine Sache des Aufwandes der Betrieben wird.

    Im Grunde ist es Aufwand. Die Schwierigkeit des ganzen ist es in meinen Augen, eine Systematik zu entwickeln, wie mit den Items umzugehen ist. Falsches Layout kann dir ein Monster von einem Script bescheren.

    Zitat Zitat
    ...dass schwerste ist noch einen balancten Algorithmus zum ausspucken der Attribute zu erstellen, sonst werden die Items zu stark/schwach.
    Das widerum sehe ich auch anders.

    Die einfachste Art und Weise den Statsverlauf zwischen Level 1 und Level n zu beschreiben ist eine Kurve. Im Maker kann man Startwert, Endwert und Steigungsverhalten angeben. Will man Charaktere und Werte auf allen Leveln belanced halten ist es wichtig, das Verhältnis Start- zu Endwert und Steigungsverhalten bei allen Werten gleich zu halten.

    Beispiel:
    Endwert = Startwert * 20
    Steigung = Slider mittig

    Um die Stats eines Items gleichwertig zu machen kann man z.B. sagen "auf jedes Item kommen 3 stats", mit je Wert auf Level X.
    Andere Variante wäre ein Punktebudget.

    Beispiel:
    Item Stufe 45, Qualitätsstufe 2
    Die Punkte kann man wieder aus ner Kurve ziehen, die das Statssteigerungsverhalten beschreibt.
    Quasi: Punkte auf Level 45, erhäht um 10% wegen Qualitässtufe 2.
    Dann die Punkte auf die Stats verteilen.
    Jeden Stat in minikleinen Werten auf jedem Item ist Blödsinn, also würfelt man sich 2 bis 4 Stats aus und verteilt dann die Punkte nach Anteil.
    z.B. AP 2/5 Int 1/5 Agi 1/5 Feuerresi 1/5

    Die Zahlen, die auf die Items kommen, sollte ähnlich sein, damit der Spieler vergleichen kann "ah 25 agi ist besser als 20 AP".
    Es ist bescheuert, wenn das Wirkungsverhältnis wäre dass zB 20 AP 26,5 Agi und 15,4 Crit entsprechen.

    Die Gleichwertigkeit der Stats lässt sich am einfachsten über Effective Health/ Time to Kill- Berechnungen herausfinden.

    Beispiel 1:
    10% mehr Schläge / Zeit entsprechen 10% mehr Schaden pro Schlag.
    10 * 110 Schaden pro t = 1100/t
    11 * 100 Schaden pro t = 1100/t

    Beispiel 2:
    10% mehr Schaden / Zeit entsprechen 10% Critchance bei 200% Critschaden
    10 * 110 Schaden pro t = 1100/t
    9 * 100 Schaden + 1 * 200 Schaden pro t = 1100/t

    Wie bringt man das auf die Statswerte?
    Für jeden Level eine "Normalkurve" erstellen, die den Charstats entspricht bei normaler Ausrüstung.
    Auf Level 32 hat der Held z.B. 250 AP.
    Wie berechnen wir jetzt Critrating und Ap+ auf nem Item?
    Item 1 bekommt 50 AP Item B bekommt 50 Critrating
    Die 50AP steigern die AP Menge auf 300, quasi von 100% auf 120%.
    Die 50 Critrating sollen den Schaden gleichartig erhöhen.

    10 Schläge je 300 /t = 3000 Schaden /t
    8 Schläge je 250 + 2 Schläge je 250 /t = 3000 Schaden /t

    Quasi ist Anteil der Ap eines Item an der Gesamt-Ap gleichwertig mit % Crit entsprechend des Anteils.

    Info: Gehe hier davon aus, dass Rüstung prozentual reduziert. Bei Fixwertrechnung AP-Def oder sowas muss der effektive Schaden gerechnet werden.

  10. #10
    Zitat Zitat von Corti Beitrag anzeigen
    Meine Einschätzung:
    Es ist ein riesen Aufwand. Du versuchst ein System, dass quasi schreit "mach mich objectorientiert" in der Krüppelscriptsprache des Makers zu basteln.
    Da es sich hierbei allerdings weder um etwas überkomplexes noch über etwas zeitkritisches handelt ist es nur eine Sache des Aufwandes der Betrieben wird.

    In der Tat, stimme dir hier voll und ganz zu

    Im Grunde ist es Aufwand. Die Schwierigkeit des ganzen ist es in meinen Augen, eine Systematik zu entwickeln, wie mit den Items umzugehen ist. Falsches Layout kann dir ein Monster von einem Script bescheren.

    Wieder richtig, das Layout besteht in diesem Fall allein schon darin, dass die Abstände zwischen Itemspeicher1 und Itemblabla1 der selbe ist wie zwischen Itemspeicher2 und Itemblabla2, da ich sonst nicht mit Variabel-Referenzen arbeiten könnte, welche mir alles sehr erleichert hat.

    Das widerum sehe ich auch anders.

    Die einfachste Art und Weise den Statsverlauf zwischen Level 1 und Level n zu beschreiben ist eine Kurve. Im Maker kann man Startwert, Endwert und Steigungsverhalten angeben. Will man Charaktere und Werte auf allen Leveln belanced halten ist es wichtig, das Verhältnis Start- zu Endwert und Steigungsverhalten bei allen Werten gleich zu halten.

    Beispiel:
    Endwert = Startwert * 20
    Steigung = Slider mittig

    Um die Stats eines Items gleichwertig zu machen kann man z.B. sagen "auf jedes Item kommen 3 stats", mit je Wert auf Level X.
    Andere Variante wäre ein Punktebudget.

    es auf ein paar bestimmte stats zu beschränken, ist eine ausgezeichnete Idee. Damit könnte ich auch die Realität stärker hineinbringen, da z.b. ein Helm immer Defense als ein Hauptattribute haben würde, und dann z.b. 2 andere, die random festgelegt werden. (vllt auch 1 andres Hauptattribute und 1 resistenz, müsste man testen).


    Beispiel:
    Item Stufe 45, Qualitätsstufe 2
    Die Punkte kann man wieder aus ner Kurve ziehen, die das Statssteigerungsverhalten beschreibt.
    Quasi: Punkte auf Level 45, erhäht um 10% wegen Qualitässtufe 2.
    Dann die Punkte auf die Stats verteilen.
    Jeden Stat in minikleinen Werten auf jedem Item ist Blödsinn, also würfelt man sich 2 bis 4 Stats aus und verteilt dann die Punkte nach Anteil.
    z.B. AP 2/5 Int 1/5 Agi 1/5 Feuerresi 1/5


    Die Zahlen, die auf die Items kommen, sollte ähnlich sein, damit der Spieler vergleichen kann "ah 25 agi ist besser als 20 AP".
    Es ist bescheuert, wenn das Wirkungsverhältnis wäre dass zB 20 AP 26,5 Agi und 15,4 Crit entsprechen.

    So einfach ist es leider nicht immer, da z.b. +50 Agi und +50 Strength zusammen stärker wären als +100 Agi oder +100 Strength. Es relativ anzugrenzen und den Unterschied nicht zu groß werden zu lassen ist wichtig, das wird keiner bestreiten, aber in einem system mit 7+ Attributen ist dies leider nicht 100%tig möglich.

    Die Gleichwertigkeit der Stats lässt sich am einfachsten über Effective Health/ Time to Kill- Berechnungen herausfinden.

    Beispiel 1:
    10% mehr Schläge / Zeit entsprechen 10% mehr Schaden pro Schlag.
    10 * 110 Schaden pro t = 1100/t
    11 * 100 Schaden pro t = 1100/t

    Beispiel 2:
    10% mehr Schaden / Zeit entsprechen 10% Critchance bei 200% Critschaden
    10 * 110 Schaden pro t = 1100/t
    9 * 100 Schaden + 1 * 200 Schaden pro t = 1100/t

    hier kommt abermals das Problem mit den verschiedenen Attributen ins Spiel.

    Beispiel 1: Wir haben 4 Attribute : Stärke , Verteidigung, Geschicklichkeit und Beweglichkeit. Verteidigung reduziert den Schaden der vom Stärke-Attribut des Gegner angerichtet wird, Geschicklichkeit hingegen erhöht die Trefferchance gegen die Beweglichkeit (Ausweichchance) des Gegners.

    Wenn man jetzt z.b. schon soviel Geschicklichkeit hätte, dass die effektive Ausweichchance des Gegner nurnoch bei 5% liegt, würde eine Erhöhug des Geschicklichkeitswertes sinnlos sein, da man kaum noch was erreicht, bis man Gegner hat die über mehr Beweglichkeit verfügen. Das selbe Beispiel könnte man mit Stärke und Verteidigung ziehen (da in diesem Fall die maximale Schadensreduktion (in%) z.b. auf 90% gecappt sein würde.

    (dies ist nicht die attributbelegung in meinem spiel, nur ein Beispiel)

    Wie bringt man das auf die Statswerte?
    Für jeden Level eine "Normalkurve" erstellen, die den Charstats entspricht bei normaler Ausrüstung.
    Auf Level 32 hat der Held z.B. 250 AP.
    Wie berechnen wir jetzt Critrating und Ap+ auf nem Item?
    Item 1 bekommt 50 AP Item B bekommt 50 Critrating
    Die 50AP steigern die AP Menge auf 300, quasi von 100% auf 120%.
    Die 50 Critrating sollen den Schaden gleichartig erhöhen.

    10 Schläge je 300 /t = 3000 Schaden /t
    8 Schläge je 250 + 2 Schläge je 250 /t = 3000 Schaden /t

    Quasi ist Anteil der Ap eines Item an der Gesamt-Ap gleichwertig mit % Crit entsprechend des Anteils.

    Info: Gehe hier davon aus, dass Rüstung prozentual reduziert. Bei Fixwertrechnung AP-Def oder sowas muss der effektive Schaden gerechnet werden.
    Danke für deinen Post, hat mir sehr geholfen und mir einige gute Ideen gebracht

    Mfg
    Siccles

    Geändert von Siccles (26.10.2009 um 12:39 Uhr)

  11. #11
    Ein paar Dinge, die mir spontan einfielen:

    Trefferchancen halte ich für eine nicht ganz einfache Angelegenheit.
    Verfehlen ist frustrierend, d.h. zuviel Verfehlen kann sich als störend erweisen.
    Kann man dem Verfehlen entgegen wirken durch Trefferchancen auf Equipment ergibt sich die Konsequenz, dass der Spieler sich genötig sieht, diese Equipteile zu nehmen, weil die Auswahl quasi ist "Schlage ich hart, treffe selten und frustrier mich selbst" oder "treffe ich oft, dafür schwächlich".

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •