Kampfabwicklung & NPC-Handling

Forum für das was nicht direkt Fate betrifft. Aber dennoch irgendwie hier hin gehört. z. B. reLINE
Biing!2 Download-Dateien

Moderatoren: Xajorkith, erni, Asgard

Antworten
Benutzeravatar
darklord
Ritter/Amazone
Ritter/Amazone
Beiträge: 588
Registriert: Mi 18.07.2001 - 14:05
Wohnort: Tower Tangramayne, links von New Magincia
Kontaktdaten:

Kampfabwicklung & NPC-Handling

Beitrag von darklord »

Soooo, es wird spannend.
Für die Kampfabwicklung ist natürlich eins von sehr großer Bedeutung: Anzahl und Entfernung der Feinde bzw Verbündeten. Es stellt sich mir die Wahlmöglichkeit, Kämpfe im Stil von Fate oder Fate2 zu verwenden. D.h. im Klartext: entweder stellt jede Figur in der 3D-Ansicht einen einzelnen Gegner/Neutralen/Verbündeten dar, oder aber sie steht stellvertretend für eine Gruppe.
Beide Optionen haben Vor- und Nachteile. An der ersten Variante (Fate2-Stil) stört mich der Mangel an wahren Gegnerhorden, um damit Massenmörder-Zauber und -Waffen zu füttern. Die Fate1-Methode hat ganz klar ein höheres Maß an Abstraktion.
Im Fate1-Stil habe ich mehr und bessere Möglichkeiten, mit Gruppen zu agieren, während der Fate2-Stil mehr sichtbare Ergebnisse in der Karte hinterläßt.
In meiner Engine bin ich aber auch nicht so beschränkt, wie Fate1, sodaß ich auch bei dieser Methode mit Begegnungen arbeiten kann, in der sehr viele unterschiedliche Gegner auftreten. Ich habe mich daher erstmal für eine Art Hybrid entschieden:
Einerseits stellt eine Figur in der Karte stets eine Gruppe Gegner dar, beginnt aber ein Kampf, werden alle anderen "Figuren" in der Karte innerhalb der Reichweite mit einbezogen. Ich verwalte dann also die Gegner innerhalb dieser Gruppen, Gruppenzauber oder -Effekte betreffen diese immer als ganzes. In einer Gruppe bin ich aber nicht auf einen Gegnertyp beschränkt, der Typ und die Werte werden für jedes Mitglied der Gruppe einzeln und individuell gespeichert. Neutrale "Figuren" der Karte werden im Kampf komplett ausgeblendet, nur echte Verbündete nehmen ebenfalls teil.
Bleibt zu sagen, daß ich auch gerne Multi-Gruppen Figuren einbauen würde, wo eine Figur in der Karte (allerdings optisch gekennzeichnet) gleich mehrere Gruppen symbolisiert.

Die Kampfabwicklung orientiert sich dann stark an Fate 1: es gibt eine Begegnungsphase, danach eine Eröffnungsphase und anschließend die eigentlichen Kampfrunden. In der Begegnungsphase hat man dann noch die Möglichkeit, auszuweichen oder ein Gespräch zu beginnen - wie im Original. Die Eröffnungsphase ist das Vorspiel zum eigentlichen Kampf, wo man Aktionen unternehmen kann, die den Kampf erleichtern sollen - und natürlich Vorrücken und Zurückziehen. In den Kampfrunden selber hat man dann die üblichen Optionen: Angreifen, Zaubern, Verteidigen, Gegenstand, Schießen, Hintergehen, Strippen und Verstecken.
Diplomacy is the art of telling some-one to go to hell and he is happy to be on his way.
Benutzeravatar
darklord
Ritter/Amazone
Ritter/Amazone
Beiträge: 588
Registriert: Mi 18.07.2001 - 14:05
Wohnort: Tower Tangramayne, links von New Magincia
Kontaktdaten:

Beitrag von darklord »

Kleines Update.
Ich bin ja leider nicht passend fertig geworden, nein, ich bin nicht mal groß weiter gekommen. Mein kleiner Schreihals hält ganz schön auf Trab ;)
Nichts desto Trotz geht's dennoch weiter.
Für die Kämpfe mußte ich einige Umbauten am Programm vornehmen, die mir bisher entgangen waren. Ich langweile euch nicht mit technischen Details, nur so viel, das hantieren mit Text und Grafik ist jetzt für mich viel flexibler und die Steuerung der Ausgaben-Module wesentlich kompakter.
Dadurch sehe ich mich in der Lage, viel einfacher neue Bildschirmansichten einzubinden und die bisherigen dynamisch zu gestalten. Erste Nutznießer ist das Equipment-Menü. Hier erscheint jetzt ein Tooltip mit wichtigen Daten, sobald der Cursor auf einen Gegenstand in der Ausrüstung oder Inventar zeigt - auch ohne Click.
Wie ich einen Kampf optisch präsentieren will steht noch nicht endgültig fest, der Einfachheit halber aber wird vorerst nur aufgelistet, es gibt noch nicht einmal Gegnerbilder - vorerst. Eingebaut sind die Datenfelder dazu schon, ich muß sie nur noch verwenden bzw. Bilder reinstellen.
Es wird also so ablaufen, wenn ein Kampf stattfindet:
Alle (aktiven) Gegner werden nach Gruppen geordnet namentlich und mit Anzahl aufgelistet. Für jeden Gegner gibt es eine Entfernungsangabe von 0 bis 100 Fuß, nach der die Gegner auch sortiert werden - logisch.
In einer Kampfrunde kommt jeder genau einmal an die Reihe. So er denn dran ist (aus der Party), bekommt er ein Aktionsmenü mit seinen Möglichkeiten und kann eine Aktion auslösen.
Muß ein Ziel gewählt werden, muß man nur einen der Namen in der Liste anklicken. War die Aktion eine Gruppenaktion, trifft sie automatisch alle Mitglieder der Gruppe, zu der der anklickte Name gehört.
Eventuell bastele ich auch hier ein Tooltip, in dem die sichtbaren Daten des Gegners, über dem der Cursor schwebt, eingeblendet werden.
Benutzeravatar
erni
Moderator
Moderator
Beiträge: 2944
Registriert: Di 09.10.2001 - 19:06

Beitrag von erni »

Mal n bisserl aufmuntern..... Nur nicht nachlassen und dranbleiben :)
Benutzeravatar
darklord
Ritter/Amazone
Ritter/Amazone
Beiträge: 588
Registriert: Mi 18.07.2001 - 14:05
Wohnort: Tower Tangramayne, links von New Magincia
Kontaktdaten:

Beitrag von darklord »

Gute Fortschritte zu verzeichnen. Die entscheidenden Code-Teile sind bald fertig, der Rest ist dann Kinderkram.
Es existiert jetzt ein Kampfbildschirm, der die Gegner jeweils einer Gruppe darstellt. Eine Gruppe besteht aus bis zu 20 Mitgliedern in beliebiger Anzahl, also ein Mitglied "20 Ratten", eins "1 Räuber" und ein "5 Schleimer" et c.
Was schon funzt ist die Liste selbst und ein Highlighting - d.h., fährt man mit dem Cursor über einen Gegner, wird dessen Icon heller und so hervorgehoben. Ich hab einen vorläufigen Screenshot hochgeladen, die Datenangaben änder ich aber noch. Außer Hitpoints und Entfernung will ich nicht viel vom Gegner offenbaren.
Die Gegnerauswahl soll dann direkt erfolgen, nicht über ein weiteres Menü. Ich bau noch Schalter ein, mit denen man zwischen den einzelnen Gegner-Gruppen umschalten kann und mit dem Cursor wählt man, welches Mitglied man attackieren möchte. Die gewählte Aktion aus dem Kampfmenü bezieht sich dann auf den ausgewählten Gegner.

Schaut's euch mal an:
Bild
Zuletzt geändert von darklord am Di 31.07.2007 - 05:19, insgesamt 1-mal geändert.
Diplomacy is the art of telling some-one to go to hell and he is happy to be on his way.
Benutzeravatar
darklord
Ritter/Amazone
Ritter/Amazone
Beiträge: 588
Registriert: Mi 18.07.2001 - 14:05
Wohnort: Tower Tangramayne, links von New Magincia
Kontaktdaten:

Beitrag von darklord »

Derzeit wird nur eine Gruppe mit einer Art Gegner (per Zufall) erzeugt, das aber eher aus Faulheit meinerseits. Es ist völlig egal, welcher Art die Gegner sind und wie viele Gruppen da sind. Zum Testen reicht mir eine homogene Gruppe Gegner.
Ansteuerung und Auswertung aller Gruppen funktioniert aber bereits, man kann ja auch schon zwischen den Gruppen wechseln. Bis man sich aber tatsächlich auch kloppen kann, kümmere ich mich nicht um den Code, der Gruppen mit unterschiedlichen Gegnertypen und mehr Gruppen erzeugt.
Wie gesagt, was funktioniert ist grundsaätzlich das Kampfmenü (auch wenn dahinter noch keine Aktionen stecken, aber jeder bekommt seinen Zug) und das Anwählen von Gegnergruppe und Member. Ich muß jetzt also nur noch die Subs schreiben, welche die Aktionen ausführen. Mal sehen, was ich noch an Mängeln dabei finde.
Eine "Schwäche" habe ich von Anfang an schon, den "Member-Count" - das ist allerdings genausogut ein Feature.
Es gibt im Kampf maximal 10 Gruppen á 20 Member. Ist das Level der Gegner bedeutend geringer, als das der Party, bekommt ein Member evtl (bis sicher) einen Member-Count größer 1. Das bedeutet, der Member besteht aus mehreren Individuen, eine Mini-Gruppe in der Gruppe. Alle Aktionen auf einzelne Gegner, die auf diesen Member zielen, wirken sich auf die ganze Mini-Gruppe aus. Die Anzahl getöteter Mitglieder könnte man zwar auf 1 beschränken (was ich nicht tun werde), Effekte wie Schwächen etc können nur für die ganze Mini-Gruppe gespeichert werden. Mit einer normalen, nicht-Rundschlag-Waffe kann man via Member-Count so gleich mehrere Gegner wegklatschen.
Da kann man sich jetzt drüber streiten, aber ich denke mir das in etwa so, daß man mit einer Keule durchaus einige Ratten auf einmal verbeulen kann.
So, wie man allerdings jeden in der Mini-Gruppe treffen kann, greift diese aber auch komplett zusammen an. Nicht nur gleichzeitig, auch auf das selbe Ziel. 20 Ratten, die zwar nur einen Schadenspunkt erzeugen können, kommen zusammen dann doch auf 20 Punkte. Außerdem sollte die Anzahl der Mitglieder der Mini-Gruppe jedes einzelne Miglied in bezug auf AK, VK, RK und WK stärken. Die genauen Regeln dazu sind noch etwas schwammig, das muß ich noch etwas durchrechnen oder ausprobieren.
Diplomacy is the art of telling some-one to go to hell and he is happy to be on his way.
Antworten

Zurück zu „Biing!2 und Anderes“