Zum Inhalt springen

MidWar [Midgard Kampfsimulator]


Mav3N

Empfohlene Beiträge

Geschrieben

Hallo,

 

auf http://midgard-online.de/cgi-bin/show?id=downloads/700_tools.html kann man einen Kampf"generator" von mir downloaden, der allerdings sehr eingeschränkt ist. 1gg1 ist nicht gerade strapazierfähig und konfortabel. Daher habe ich mich entschlossen einen neuen zu programmieren und diesen nicht als Programm, sondern als Homepage anzubieten, so dass er von überall genutzt werden kann. Ich habe jetzt heute angefangen und mal 2 Stunden in PHP rumgescriptet. Da ich von vorneherein Fehler finden und ausmerzen will, werde ich immer die aktuellste Version hochladen und dann bitte von euch auf Fehler prüfen lassen. So dürften die meisten gefunden & beseitigt werden können. Was ich jetzt heute in den ersten 2 Stunden geschafft habe ist absolut rudimentär. Es können X beliebige Kämpfer eingegeben und gestartet werden. Die Anzahl der Teams ist variabel. Es wird gekämpft, bis ein Team überlebt und der Rest Kampfunfähig ist. Eine Art Log was passiert wird angezeigt. Allerdings simuliert er im Moment nur ganz ganormale Angriffe mit dem eingegebenen Schaden. Das heißt es wird weder Rüstung noch Positionen, noch sonstige Boni und Abzüge von Midgard berücksichtigt. Das werde ich im Laufe der nächsten Tage alles hinzufügen. Allerdings möchte ich, dass jetzt schonmal ein paar drüber gucken, um mir zu sagen, ob dort Fehler sind (ich selber finde grade keine mehr). Wundert euch nicht, es ist weder Design noch sonst irgendwas vorhanden. Es geht lediglich um die Funktionsfähigkeit:

 

http://php-learner.piranho.de/MidWar/insert.php

 

1. Anzahl Kämpfer eingeben

2. Werte der Kämpfer eingeben

3. Kampf simulieren lassen

 

Bitte postet mir auch eine Liste welcher Features ich als nächstes (und damit die wichtigsten hinzufügen soll). Das wäre sehr hilfreich bei der Umsetzung.

 

Sicherlich kann man kleinere Kämpfe per Hand auswürfeln, allerdings wird das ab Kämpfen mit 20 beteiligten Personen etwas aufwendig, so dass ich diesen Simulator genau dafür schaffen möchte.

 

Vielen Dank!

Bamba

  • Like 14
Geschrieben

Nochmal einige Anmerkungen....

 

1. Erfüllte Features

- Normales Kämpfen (Zufallszahl + Erfolgswert muss größer gleich 20 sein)

- Abwehren (Er simuliert derzeit schon Abwehrverhalten. Zufallszahl + Verteidigungswert muss größer sein als Ergebnis des Angreifers)

- Schadenkalkulation (Aus Eingaben wie 2W6+2 kann der Simulator den passenden Schaden simulieren - bitte das W aber groß schreiben!)

- Ausscheiden (Hat ein Kämpfer 0 oder weniger LP wird er aus dem Kampf genommen)

 

2. Was zu beachten ist

 

- Da derzeit noch keine Positionsangaben vorhanden sind, ist der Gegner den Person X angreift immer derjenige in der Liste, der als erstes einem anderen Team angehört. Die vorderen Kämpfer in der liste sind also am schnellsten tot. Das wird sich ändern, sobald Positionsangaben funktionieren.

- In der Tabelle wird Kämpfer 1,2...X angezeigt. Das sind die Kämpfer, die noch im Spiel verbleiben. Bitte nicht durcheinander bringen. Es kann sein, dass ein Kämpfer 3 angegriffen wird, stirbt und sofort danach nochmal angegriffen wird. Das ist dann der alte Kämpfer 4, der innerhalb des Scriptes einen Platz nach vornegerückt ist. Ob es sich wirklich um den selben Kämpfer handelt, der angegriffen wird, obwohl er bereits tot ist, kann man anhand der ID unterscheiden.

 

Bamba

Geschrieben

Wichtig wären folgende Punkte:

 

WM-2 bei Unterschreitung von LP/2

WM-4 und Verlust der Abwehr (Ausnahme Schild, wenn implementiert) bei 0 AP

Korrektur der Anzeige von negativen AP

Option, ob mit 0 AP weitergekämpft wird

Rüstung

Kampfunfähigkeit bei 3 oder weniger LP

 

Was denn Bedienkomfort angeht, so wäre es schön, wenn die Eingaben nicht nur per Dialogfeld möglich wäre und eine Textdatei mit den Werten eingelesen werden könnte. Das ist aber wegen der nötigen Sicherheitsabfragen nicht ganz so einfach.

 

Solwac

Geschrieben
Wichtig wären folgende Punkte:

 

WM-2 bei Unterschreitung von LP/2

WM-4 und Verlust der Abwehr (Ausnahme Schild, wenn implementiert) bei 0 AP

Korrektur der Anzeige von negativen AP

Option, ob mit 0 AP weitergekämpft wird

Rüstung

Kampfunfähigkeit bei 3 oder weniger LP

 

Was denn Bedienkomfort angeht, so wäre es schön, wenn die Eingaben nicht nur per Dialogfeld möglich wäre und eine Textdatei mit den Werten eingelesen werden könnte. Das ist aber wegen der nötigen Sicherheitsabfragen nicht ganz so einfach.

 

Solwac

 

- Hmm, ich habe lange nicht mehr gespielt und hier im Moment das DFR nicht zur Hand. Wie war das noch? Das LP Maximum/2 war -2 auf das Würfelergebnis des Angriffs + Erfolgswert?

- Das mit 0 AP mach ich sofort, Schild zu implementieren, wird aber noch dauern.

- Rüstung erklärt sich von selbst.

- Oh verdammt, ich hatte das falsch in Erinnerung. Wird sofort auf ab 3 LP geändert. :uhoh:

 

Upload aus Textdateien wird es erstmal nicht geben. Das ist mir bei weitem zu aufwendig wegen der Abfragen. Ich werde aber einige Standardkämpfer mit Werten anlegen, die man per Klick auf Kämpfer 1,2... übertragen kann.

 

Irgendwelche Fehler vorhanden?

 

Bamba

Geschrieben
Es fehlen auch noch die kritischen Erfolge und Fehler und deren Auswirkungen.

 

Ouh, die kann ich erst spät hinzufügen, wenn die anderen grundlegenden Sachen implementiert sind...

Geschrieben

Moderation :

Ich hab das mal an eine bessere Stelle verschoben

 

Bei Nachfragen bitte eine PN an mich oder benutzt den Strang Diskussionen zu Moderationen

 

Viele Grüße

hj

Geschrieben

Hallo Bamba!

 

Ich finde es klasse, dass Du so ein Projekt umsetzt. :thumbs:

 

Besonders wertvoll fände ich, wenn eine Kampfkonstellation nicht nur einmal abgehandelt wird, sondern ein paar Mal durchgespielt wird (maximale Anzahl an Durchläufen begrenzen!). Denn ein einzelner Kampf hat keinerlei Aussagekraft für das Gegnerdesign beim Abenteuerentwurf. Wenn ich aber sehen kann, dass in 50 von 64 Fällen meine Spieler verlieren und in 40 von 64 Fällen mindestens ein Spielercharakter stirbt, dann kann ich daraus ablesen, dass ich als Spielleiter die Gegner verändern könnte...

Geschrieben
Hallo Bamba!

 

Ich finde es klasse, dass Du so ein Projekt umsetzt. :thumbs:

 

Besonders wertvoll fände ich, wenn eine Kampfkonstellation nicht nur einmal abgehandelt wird, sondern ein paar Mal durchgespielt wird (maximale Anzahl an Durchläufen begrenzen!). Denn ein einzelner Kampf hat keinerlei Aussagekraft für das Gegnerdesign beim Abenteuerentwurf. Wenn ich aber sehen kann, dass in 50 von 64 Fällen meine Spieler verlieren und in 40 von 64 Fällen mindestens ein Spielercharakter stirbt, dann kann ich daraus ablesen, dass ich als Spielleiter die Gegner verändern könnte...

 

Die Idee, ist mir noch gar nicht gekommen, die statistische Nachhaltigkeit ist aber erst gegeben, wenn ich ALLE Midgard Kampfregeln umgesetzt habe (was noch eine lange, lange Zeit in Anspruch nehmen wird), da erst dann "realistisch" gekämpft wird. Aber die Idee merke ich mir und werde sie umsetzen - klingt gut.

 

Bamba

Geschrieben

So, hab ein paar Sachen überarbeitet...

 

http://php-learner.piranho.de/MidWar/insert.php bleibt der Link.

 

Features:

 

- Angreifen

- Abwehren

- Abwehren nicht erlaubt wenn 0 AP

- Schadenkalkulation

- Kampfunfähig ab 3 LP

- Rüstung

- Nicht unter 0 AP erlaubt

- Minus 2 auf Angriffe bei LP/2

- Minus 4 auf Angriffe bei 0 AP

 

Grüner Text kennzeichnet Boni / Mali, Blauer Text normales Kampfgeschehen, roter Text das Ausscheiden eines Kontrahenten.

 

Bitte sucht mal nach Fehlern...

 

Btw: Es kann passieren, dass ein Text wie "Kämpfer 0 mit der ID 0 würfelt -1 und hat Kämpfer 2 mit der ID 2 damit nicht getroffen." erscheint. Es handelt sich hierbei eigentlich nicht um einen Fehler. Angenommen ein Spieler hat einen Erfolgswert von +4, eine 1 gewürfelt, wären das normalerweise 5. Da er aber einen Abzug von 6 hat, dank weniger als die Hälfte aller LP und 0 AP, wird -1 angezeigt.

 

Bamba

Geschrieben
Hallo Bamba!

 

Ich finde es klasse, dass Du so ein Projekt umsetzt. :thumbs:

 

Besonders wertvoll fände ich, wenn eine Kampfkonstellation nicht nur einmal abgehandelt wird, sondern ein paar Mal durchgespielt wird (maximale Anzahl an Durchläufen begrenzen!). Denn ein einzelner Kampf hat keinerlei Aussagekraft für das Gegnerdesign beim Abenteuerentwurf. Wenn ich aber sehen kann, dass in 50 von 64 Fällen meine Spieler verlieren und in 40 von 64 Fällen mindestens ein Spielercharakter stirbt, dann kann ich daraus ablesen, dass ich als Spielleiter die Gegner verändern könnte...

 

Die Idee, ist mir noch gar nicht gekommen, die statistische Nachhaltigkeit ist aber erst gegeben, wenn ich ALLE Midgard Kampfregeln umgesetzt habe (was noch eine lange, lange Zeit in Anspruch nehmen wird), da erst dann "realistisch" gekämpft wird. Aber die Idee merke ich mir und werde sie umsetzen - klingt gut.

 

Bamba

 

Lass doch die Kämpfe einfach beim Drücken des OK-Buttons in einem neuen Browser-Fenster ablaufen und nicht im gleichen, dann kann man einfach nochmal OK drücken und hat den gleichen Kampf nochmal, ohne die Werte nochmal neu eingeben zu müssen. Damit kann man einen Kampf beliebig oft wiederholen ohne dass der Aufwand besonders groß wird.

 

Gruß

Shadow

Geschrieben

Es sollte beim Kampfende zwischen 3 oder weniger LP, 0 LP und weniger als 0 LP unterschieden werden. Später bei einer statistischen Auswertung wird das interessant.

Geschrieben

Kämpfer 0 mit der ID 1 erhält -2 auf den EW:Angriff, da er weniger als die Hälfte seiner ursprünglichen LP besitzt.

Kämpfer 0 mit der ID 1 erhält -4 auf den EW:Angriff, da er 0 AP besitzt.

 

 

Mal an die Regelfreaks: Addiert sich der Abzug von -4 wg. 0 AP und -2 wg. weniger als 1/2 LP oder gilt nur der höhere Abzug von -4? Ich weiß es grad nicht auswendig...

 

Gruß

Shadow

Geschrieben
Es sollte beim Kampfende zwischen 3 oder weniger LP, 0 LP und weniger als 0 LP unterschieden werden. Später bei einer statistischen Auswertung wird das interessant.

 

Naja, aber während des Kampfes macht das doch keinen Unterschied, da ist es egal, ob man 2,1 oder -1 LP hat man ist so oder so bei 3 oder weniger LP kampfunfähig. Du möchtest also, dass am Ende eine Liste aller Beteiligten kommt, die anzeigt welche Werte alle am Ende des Kampfes haben?

 

@ Shadow: Naja, das wäre mir ein bisschen zu einfach gestrickt. Ich guck mal wie ich das umbauen kann, das das automatisiert 10mal, 20mal läuft und dann % Angaben errechnet.

 

@ Rest: Bitte schreibt mir weiterhin alle Boni / Mali auf, die ich hinzufügen soll, da ich hier kein DFR oder ähnliches zur Verfügung habe. Sonst kann ich nichts hinzufügen!

 

Bamba

Geschrieben
Kämpfer 0 mit der ID 1 erhält -2 auf den EW:Angriff, da er weniger als die Hälfte seiner ursprünglichen LP besitzt.

Kämpfer 0 mit der ID 1 erhält -4 auf den EW:Angriff, da er 0 AP besitzt.

 

 

Mal an die Regelfreaks: Addiert sich der Abzug von -4 wg. 0 AP und -2 wg. weniger als 1/2 LP oder gilt nur der höhere Abzug von -4? Ich weiß es grad nicht auswendig...

 

Gruß

Shadow

 

Wird addiert zu -6, wurde grad im Schwampf geklärt :D

Geschrieben
Es sollte beim Kampfende zwischen 3 oder weniger LP, 0 LP und weniger als 0 LP unterschieden werden. Später bei einer statistischen Auswertung wird das interessant.

 

Naja, aber während des Kampfes macht das doch keinen Unterschied, da ist es egal, ob man 2,1 oder -1 LP hat man ist so oder so bei 3 oder weniger LP kampfunfähig. Du möchtest also, dass am Ende eine Liste aller Beteiligten kommt, die anzeigt welche Werte alle am Ende des Kampfes haben?

Nach Kategorien eingeteilt ja. Zum einen stirbt man mit 3 LP ja nicht, man ist nur kampfunfähig. Zum anderen ist es für die Tödlichkeit eines Gegners schon eine schöne Sache, wenn man hier eine etwas genauere Auskunft bekommt.

 

Wenn der Simulator für etwas größere Gruppen tauglich werden soll, dann könnte die Zuordnung (wer greift wen an) per Zufall gelöst werden. Gegenüber dem derzeitigen automatischen Angriff auf den ersten in der Liste wäre das eine Option (und sicher nicht die einzige sinnvolle).

Geschrieben
Außerdem sind kleine Rassen wie Gnomen oder Halblinge auch mit 3 LP noch handlungsfähig.
Das käme in einem zweiten Schritt, ja. ;)

 

@Bamba: Programmierst Du objektorientiert? Wenn nein, dann solltest Du es Dir jetzt noch überlegen, ansonsten wird ein späterer Umstieg immer schwieriger.

Geschrieben

@Solwac: Werd ich hinzufügen. Ich werde 2 Optionen anbieten. Einmal per Zufall einen Gegner auswählen (ist Schwachsinn, wenn man später mit Positionen auf einem Grid rechnet, da man sich so per zufall auch einen Gegner am ende des spielfeldes aussuchen könnte und dann erstmal hinrennen muss) und die automatisierte Zielsuche mit A*. Für Letztes brauche ich aber noch länger das in php umzusetzen.

 

@Bro: Gut, Rassen muss man also auch noch in insert.php eingeben können, um dann die Rassenzpezifischen Sachen auch anwenden zu können.

 

@ Rest:

 

Wieso gibt keiner Kommentare zu etwaigen Fehlern ab? :D Ich brauche eine Rückmeldung ob da noch was ist! :D

Geschrieben
Außerdem sind kleine Rassen wie Gnomen oder Halblinge auch mit 3 LP noch handlungsfähig.
Das käme in einem zweiten Schritt, ja. ;)

 

@Bamba: Programmierst Du objektorientiert? Wenn nein, dann solltest Du es Dir jetzt noch überlegen, ansonsten wird ein späterer Umstieg immer schwieriger.

 

Natürlich programmiere ich in PHP OOP.

Geschrieben
Außerdem sind kleine Rassen wie Gnomen oder Halblinge auch mit 3 LP noch handlungsfähig.
Das käme in einem zweiten Schritt, ja. ;)

 

@Bamba: Programmierst Du objektorientiert? Wenn nein, dann solltest Du es Dir jetzt noch überlegen, ansonsten wird ein späterer Umstieg immer schwieriger.

 

Natürlich programmiere ich in PHP OOP.

Dann kannst Du ja solche Dinge wie lebensgefährlich verletzt ab 3 oder 2 LP durch Vererbung lösen. ;)
Geschrieben
- Nicht unter 0 AP erlaubt

 

Das ist so nicht ganz richtig. Wer ein großes Schild als Abwehrwaffe hat, darf dieses auch mit 0 AP (allerdings mit dem blanken Schild-Wert) zur Abwehr einsetzen.

Geschrieben

Eben getestet:

Kämpfer 0 mit der ID 0 würfelt 20 und hat Kämpfer 2 mit der ID 2 damit nicht getroffen.

Ich dachte, eine genauer Erfolg von 20 (also kein krit.Treffer) kann immer noch ein Treffer sein!

Kämpfer 0 mit der ID 0 hat 3 oder weniger LP und stirbt.

Ok, der ist aus dem Gefecht, aber sterben noch nicht?!

 

gruß

Wolfheart - von der Idee begeistert

Geschrieben
Eben getestet:
Kämpfer 0 mit der ID 0 würfelt 20 und hat Kämpfer 2 mit der ID 2 damit nicht getroffen.

Ich dachte, eine genauer Erfolg von 20 (also kein krit.Treffer) kann immer noch ein Treffer sein!

Kämpfer 0 mit der ID 0 hat 3 oder weniger LP und stirbt.

Ok, der ist aus dem Gefecht, aber sterben noch nicht?!

 

gruß

Wolfheart - von der Idee begeistert

 

So, ich hatte tatsächlich ein Gleichheitszeichen im Quellcode vergessen. So wird jetzt auch ein Ergebnis von genau 20 als erfolgreicher Angriff gewertet. Außerdem habe ich jetzt den Text in "ist nun kampfunfähig bzw. stirbt." abgeändert, so dass es passt. Danke für den Hinweis mit der 20, genau deswegen sollen hier alle nach Fehlern suchen.^^

 

@ Serdo: Mit den Schilden müssen wir noch ein wenig warten, bis man seperat Waffen einzeln auswählen kann. Dann macht das erst Sinn. Solange lasse ich das alles erstmal bei einer einfachen Schadenseingabe.

 

@ Solwac: Es ist nun eine Anzeige vorhanden, wer bereits gestorben / kampfunfähig ist. Ich hoffe das ist so wie gewünscht?

 

@ Bro: Das kann ich erst hinzufügen, wenn ich Rassen in dem Simulator einführe, und damit warte ich erstmal ein bisschen. Ich will erstmal die GRUNDSACHEN einfügen.

 

Aktuelle Features:

 

- Angreifen

- Abwehren

- Abwehren nicht erlaubt wenn 0 AP

- Schadenkalkulation

- Kampfunfähig ab 3 LP

- Rüstung

- Nicht unter 0 AP erlaubt

- Minus 2 auf Angriffe bei LP/2

- Minus 4 auf Angriffe bei 0 AP

- Anzeige wer gestorben / Kampfunfähig ist

 

Ich glaube ich werde mich dann bis morgen mal an die seperate Eingabe von Waffen machen. Bitte weiterhin nach Fehlern suchen!

 

Bamba

Geschrieben

Hallo,

 

interessantes Programm. Mich stört Folgendes:

 

1. Die Textausgabe lautet stets auf "würfelt", dabei ist "erzielt" gemeint. Schließlich kann keine 28 gewürfelt werden.

 

2. Ob Fehler bei der Schadensberechnung auftreten kann ich nicht nachvollziehen, da nur das Endergebnis ausgespuckt wird. Zur Kontrolle wäre es besser, wenn es z:B. wie folgt ausgegeben werden würde: "Kämpfer mit ID 3 erhält 6 SP, verliert 4, da 2 von der Rüstung aufgefangen werden."

 

Gruß

 

fabian

Geschrieben (bearbeitet)

- Ausscheiden (Hat ein Kämpfer 0 oder weniger LP wird er aus dem Kampf genommen)

Wenn ich wünschen darf:

-erstell für jeden einzelnen Kämpfer ein individuelle Kriterien wann er aus dem Kampf ausscheidet, ich denke das ist wichtig für später. 0AP, AP/2, 3LP, schwere Verletzung (mehr als LP/2) etc. Diese Bedingung muss dann natürlich für jeden Kämpfer einzeln eingegeben werden, was den Aufwand der Bedienung vergrössert.

-Bitte implementiere die Regeln 'Moralwert' für die einzelnen Gruppen

-da mehrere Verbände am Kampf teilnehmen sollen bitte implementiere einen Mechanismus wie welcher Verband zu einem anderen Verband verhalten soll. zB. Verband A greift Verband B&D an. Verband D will Verband C ausschalten ist neutral gegenüber A&B, Verband B bekämpft alle anderen.

Ich weiss, das sind alles Dinge für später, trotzdem.

Fehler:

-Eine Figur darf nach Regelwerk im Nahkampf nur von einer beschränkten Anzahl (4 Gegner, respektive 8 vorausgesetzt 4 verwenden Speere, Lanzen etc) Gegner angegriffen werden (wie es in Schlachtreihen geht weiss ich nicht, da ich diese nie gebraucht habe...)

-kein Fehler aber mehr als verwirrlich: die Darstellung mit Hilfe von ID die im Verlauf der Kämpfe neu zugewiesen werden. Wäre es nicht einfacher mit durchgehend gültigen ID zu arbeiten?

-'Kämpfer_1 mit der ID 1 erzielt 20 und hat Kämpfer_2 mit der ID 2 getroffen. Kämpfer_2 mit der ID 2 erzielt 20, kann nicht abwehren, erhält 3 Schadenspunkte und verliert 2 LP und 3 AP.'

nein. Angriff= Abwehr heisst Angriff abgewehrt also nur leichten Schaden.

es grüsst& danke für die Arbeit.

Sayah el Atir al Azif ibn Mullah

Bearbeitet von sayah

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...