Problem mit Schießerei-Logik

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Problem mit Schießerei-Logik

    Hellö,

    ja ich weiss, die Überschrift ist total daneben. Kann man nix machen, mein Deutsch wird täglich schlimmer. Egal, ich habe ein Problem. Ich arbeite an diesem kleinen RPG, in dem man einen Typen spielt, der einen Roboter fährt.

    Ich weiss jetzt nicht, wie genau ich das erklären soll, aber ich werd's mal versuchen. Hier ist ein Beispiel:

    Der Spieler trifft auf einen Gegner. Spieler hat Strength 100 und Shield 99. Gegner hat Strength 100 und Shield 99. Spieler schiesst auf den Gegner und trifft. Hier ist die Gleichung: Enemy Strength 100 - Enemy Shield 99 = 1 (Damage). Dem Gegner wird also 1% von der Health-Anzeige abgezogen. Ist ja schön und gut, da der Gegner schon sehr stark ist. Wenn er aber Strength 10 und Shield 9 hat, ist das Ergebnis das Gleiche. Was soll ich machen. Wahrscheinlich ist die Antwort ganz simpel. Ich war schon immer sehr schlecht in Mathe. Hat jemand vielleicht die perfekte Gleichung für mich?

    Ich weiss jetzt nicht, ob diese Frage überhaupt ins Technikforum gehört.

    edit by MewX: Ich war so lieb, ein ß im Topic zu ergänzen.
  • Versteh ich das richtig?

    Der Wert von Strength ist die Angriffskraft von Gegner oder Spieler

    Der Wert von Shield die Anzahl von Strengthpunkten die absobiert werden

    Sprich deine Angriffskraft wird Strength - Shield = Ausgangsschaden berechnet?

    Aber es ist klar dass 100 - 99 & 10 - 9 das gleiche Ergebnis erziehlen (wie z.B 1000 - 999 auch = 1 sind). Du musst dich für eins entscheiden. Wenn du z.B. immer von 100 ausgehst, hast du den Vorteil, dass du mehr Zahlenspielraum (ohne Komma zahlen) hast wie
    100 - 99 = 1 Lebensabzug
    100 - 50 = 50 Lebensabzug
    100 - 23 = 77 Lebensabzug
    usw.
    Wenn du natürlich 10 als Ausgangszahl benutzt, kannst du mit Kommazahlen arbeiten

    10 - 9 = 1 Lebenabzug
    10 - 0.5 = 9.5 Lebensabzug
    10 - 4.6 = 5.4 Lebensabzug
    usw.
    Ich hoffe das ist irgendwie das, was du gesucht hast oO
  • Es gibt ziemlich viele verdammt komplizierte Formeln zur Schadensberechnung in rpgs. Da gibt es auch kein 'bestes' System. Einfach nur Schaden-Verteidigung ist aber doch ein wenig simpel.
    Damage = ((((2 * Level / 5 + 2) * AttackStat * AttackPower / DefenseStat) / 50) + 2) * STAB * Weakness/Resistance * RandomNumber / 100
    Das ist z.b. die Schadensformel von pokemon.
    DMG = [11 x RANDOM(1~1.125) - DEF] x STR x (Lv+STR)/256]
    Und das die Formel von Final Fantasy XII
  • Oh man, bin ich doof. Ich hab ganz vergessen, dass es (Player Strength) - (Enemy Shield) = Damage ist und nicht (Enemy Strength) - (Enemy Shield) = Damage. Dann ist die Gleichung ja eigentlich perfekt. Wenn ich 100 Strength hab und der Gegner hat 99 Shield, dann ist der Schaden = 1. Macht Sinn, weil wir beide gleich stark sind. Wenn ich 10 Strength hab und der Gegner hat 9 Shield, ist der Schaden wieder 1. Wir sind ja auch wieder gleich stark. Also macht auch das Sinn. Was mach aber jetzt, wenn der Shield-Wert vom Gegner höher ist als mein Strength-Wert? 20 - 72 = -52? Der Schaden müsste dann nämlich kleiner als 1 sein, oder?

    @Verwurster: Die Formeln klappen vielleicht, aber ich möchte nur ein kleines, simples Kampfsystem ohne Zufallswerte haben. Mit meiner jetzigen Gleichung habe ich schon genug Probleme :wacko: ?( . Ich hätte in Mathe besser aufpassen sollen.
  • Tja, wie du gesagt hast, wenn du das Schild des Gegners höher machst als des Spielers Angriffskraft ist es klar, dass du dann mit deiner Schadensberechnung keinen Schaden verursachst (bzw. einen Minuswert bekommst) Wenn du wirklich deine simple Subtraktionsrechnung benutzt, muss der Angriffswert immer höher sein als das Schild, sonst macht der Spieler keinen Schaden.
  • Das wär dann aber irgendwie kagge. Ich mein es ist klar, dass der Shield-Wert kleiner sein muss, als der Strength-Wert, aber die Gegner können doch nicht immer schwächer sein, als der Spieler. Was wenn der Spieler sich schon sehr früh im Spiel tiefer wagt, wo die Gegner stärker sind? Da muss es doch eine Lösung geben?
  • Wie wärs wenn du es einfach in dieser Richtung aufbaust.

    Spieler & Gegner haben variable Lebenspunkte (HP)
    Spieler & Gegner haben variable Angriffskraft (Ang)

    Die Angriffskraft zieht einfach die Lebenspunkte ab (HP - ANG = RESTLEBEN)

    So gehen wir davon aus:
    PLAYER : HP = 2000 / ANG = 150
    GEGNER: HP = 1000 / ANG = 100
    Wenn diese Konstelation zusammen trifft, hat der Spieler gute Chancen, den Kampf zu gewinnen. Erstens weil die Lebenspunkte höher sind als die des Gegners & er macht nebenbei auch noch mehr Schaden.

    Sollte es jedoch so aus sehen:
    PLAYER : HP = 2000 / ANG = 150
    GEGNER : HP = 4000 / ANG = 400
    Hier hat der Spieler schon wirkliche Probleme solch einen Gegner zu besiegen, da er wirklich viel Leben hat & auch mehr austeilt, als er selbst. Wäre z.B. jetzt von nöten, dass der Spieler auf Hilfsmittel zurückgreifen müsste (Medipacks, Powerups oder einfach weiter trainieren um einen Level aufzusteigen)(Kommt natürlich auf dein Kampfsystem an)

    Edit:
    Wenn du jedoch noch einen Rüstungswerte einbeziehen willst, könntest du z.B. noch die Variablen (enemy_shield | player_shield) einbauen & diese dann eventell auch mit Subtraktion oder Division von der Angriffskraft (ANG) mindern.

    z.B.
    HP - (ANG - PLAYERSHIELD) = RESTLEBEN
    HP - (ANG / PLAYERSHIELD) = RESTLEBEN
    / = Division


    Da es schon sehr spät ist, hoffe ich keinen Denkfehler hier jetzt zu haben oO
  • wie dus machen könntest?





    sowas vl:


    wenn (angriff-shield)<0

    dann Leben -= 1

    ansonsten

    Leben -= angriff-shield


    oder du nimmst einen Random Wert für den Schaden, wenn die Differenz kleiner als 0 ist
    "das war meine letzte flamewar PM an dich ."
  • Verwurster schrieb:

    Es gibt ziemlich viele verdammt komplizierte Formeln zur Schadensberechnung in rpgs.
    Dazu fällt mir Rolemaster ein. Das ist ein Pen'n'Paper RPG, was mittlerweile wohl stark vereinfacht wurde. Die Version die ich damals gespielt habe ging so

    Angriffswert+Würfel=Angriff, Angriff-Verteidigungswert=Treffer
    Und dann wurde der Treffer je Rüstungsklasse (1-20) auf einer Tabelle nachgesehen.
    Für JEDE Waffe (etwa 20 verschiedene) gab es eine eigene Tabelle, auf der die Werte für Treffer in ca. 30 Spalten eingeteilt war.
    Abgelesen hat man den Schaden, Blutungen (Schaden pro Runde) und ggfls. einen kritischen Treffer (A,B,C,D,E)
    Zu dem Schaden kam noch ein "Körperschaden-Bonus" für den Angreifer, und ein "Körperschaden-Absorbtionsbonus" für den Verteidiger.
    Die Kritischen Treffer würden wieder gewürfelt, und die Ergebnisse aus einer weiteren Tabelle abgelesen.
    Von diesen sogenannten "Crit-Tabellen" gab es x verschiedene : slash, puncture, crush, heat, cold, acid, grapple, plasma (die letzte war die härteste, ist auch für Sci-Fi Waffen verwendet worden, aber tödliche Treffer waren fast überall enthalten... zumindest bei E- oder D- Crits)
    Das Ergebnis war immer spannend wenn ein "Crit" gewürfelt wurde, weil die "Crits" solche Texte enthielten wie "target is pulverized" oder "target stunned and unable to parry for 5 rounds and bleeding with 3 hits/rnd" oder "target loses an eye, ouch!" oder "3 weeks coma"

    Solche Sachen sind natürlich für Computer-Spieler schwer nachzuvollziehen. Man muß einfach eine Vorstelung davon haben, wie P'n'P Rollenspiele funktionieren: Da gibt es keinen Computer sondern einen Spielleiter, und der beschreibt dann alles was passiert. Die Spieler beschreiben die Aktionen Ihrer Charaktere ebenfalls (rundenbasiert und einen bestimmten Regelwerk folgend).
    Rolemaster war extrem komplex. Zu den ganzen Waffentabellen kamen noch hunderte von Spells, alle in "Spell Lists" für verschiedene "Spell User" verpackt. Es gab dutzende von non-, semi-, hybrid-, und pure spell users, die alle verschiedene Sachen konnten, und es gibt NICHTS was man mit High-Level Rolemaster-Magie nicht machen konnte. Desweiteren gab es Maneuver-Tabellen für jeden Mist. Ach ja, und hunderte verschiedener Skills natürlich auch. Mein Gott, und die Monster erst. Drei Bücher voll mit Wesen aus quasi jeder Mythologie oder Fantasie. Wißt Ihr eigentlich wie viele Arten von Feenwesen es gibt?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Melancor ()