Abfangenbefehl

Alle Diskussionen über Schiffe werden in diesem Bereich ausgetragen
Benutzeravatar
Malle
Großadmiral
Großadmiral
Beiträge: 6948
phpbb forum styles
Registriert: Montag 13. November 2006, 15:16

Re: Kontrollzonen

Beitrag von Malle »

nun, es gibt eine Auswahl für jede Flotte einzeln. Vor jedem Tick wird geschaut, ob ein gegnerisches Schiff in den Kontrollbereich der patrouillierenden Flotte einfliegt oder aus dieser herausfliegen will und dann wird abgefragt für jede patrouillierende Flotte eintzeln. Um nicht zu wild das ganze zu machen, kann man in der strategischen Phase, also vor dem Rundenende ganz normal eine Flotte auf "Folgen" stellen und schon einmal einer Feindflotte zuordnen, die man bereits auf der map kennt. So entfällt das Abfangen, weil das dann automatisch geschieht in der Weise, dass entweder versucht wird, sich hinter die Flotte zu klemmen oder vor die Flotte in einen Sektor auf deren Route zu fliegen um dann der Flotte entgegenzufliegen.

Wenn du mehrere deiner eigenen Flotten auf Patrouille in angrenzenden Gebieten unterwegs hast, die alle die Feindflotte zu unterschiedlichen Zeiten oder evtl. sogar zeitgleich abfangen können, dann kannst du das den beiden befehlen. Wenn du beide Flotten zusammen gegen den Eindringling kämpfen lassen willst, hast du eine Option vom Programm, dass die schnellere Flotte auf die langsame wartet und ihr entgegenfliegt. So fängst du die gegnerische Flotte mit beiden ab, allerdings zum Zeitpunkt der langsameren Flotte. BotE weiß ja, dass bereits eine andere Flotte mit dem Abfangen beschäftigt ist und kann diese dann "warten" lassen. Sie klebt dann mitunter am Gegner, aber immer außerhalb der Schussreichweite bis die 2. Flotte eingetroffen ist.
Orco
Kapitän
Kapitän
Beiträge: 481
Registriert: Montag 29. Oktober 2007, 11:21

Re: Kontrollzonen

Beitrag von Orco »

ich dachte eher daran wie soll das programm es hand haben.
Also die berechnung ansich für alle spieler im spiel. Irgendwo muss man ja anfangen schiffe zu bewegen. Und irgend eine flotte muss zuerst kämpfen.
Soll immer nur ein schiff sich bewegen oder alle auf einmal?
Alle gleichzeitig stück für stück oder alle zum ziel und dann eine berechnung im nachhinein vollzogen werden.
Ich kann mir das nicht vorstellen wie du das system auf dieser ebene implementieren willst.
Eine flotte ansich betrachtet oder zwei kann ich mir schon vorstellen. Aber im spiel kommt es sicher dazu das auf der ganzen karte 30 50 flotten sich umherbewegen. Dieser vorgang soll ja auch nicht ewig dauern.
Benutzeravatar
Malle
Großadmiral
Großadmiral
Beiträge: 6948
Registriert: Montag 13. November 2006, 15:16

Re: Kontrollzonen

Beitrag von Malle »

Das wird ja mit den Ticks erledigt. Jedes Schiff bewegt sich Stück für Stück auf der Map, und zwar in der Geschwindigkeit pro Tick wie folgt: Speed/(Speed des schnellsten Schiffes auf der gesamten map). Wie in dem Speed 4 und Speed 1 Koloschiff-Beispiel.

Damit ist die Sache nach oben gedeckelt und relativ schnell herum, denn mehr als 4 Ticks wird es nicht geben, es sei denn, es gäbe Schiffe mit Speed 5 oder höher in der shiplist.

Dadurch wird es überschaubar und immer vor jedem Tick geschieht die vorausberechnende Überprüfung. Da die langsameren Schiffe bei einem Tick nicht immer in einem Sektormittelpunkt stehen, wird einfach ein Erreichen des Mittelpunktes während der Zeit zwischen vorangegangenem und jetzigem Tick als nunmehr Aufenthalt in diesem Sektor gesehen und von dort die Abfangaktion rückwirkend gestartet, indem im neuen Tick die Kontrollzone nun um eins verringert in ihrer Größe um den neuen Sektor gelegt wird.

So hast du auch bei den vielen verschiedenen Routen auf der map keine Probleme, weil du checkst nur ob sie im Moment den Kontrollsektor schneiden oder schneiden werden in den darauffolgenden, vorausberechneten Ticks. Wichtig ist immer dabei, dass man zu jedem Tick die 2 Sektoren kennt, in denen sich das Schiff gerade weg- und zubewegt. Einer davon muss während eines Ticks ein Kontrollsektor einer anderen Flotte sein. Das ganze dann auch vorausberechnet für die Ticks danach, wobei man in dem Fall annimmt, dass die vorgegebenen Routen aus der Strategiephase sich nicht ändern.
Orco
Kapitän
Kapitän
Beiträge: 481
Registriert: Montag 29. Oktober 2007, 11:21

Re: Kontrollzonen

Beitrag von Orco »

also ist malles tick tack sache ähnlich dem was ich kurz angerissen hate nur etwas komplizierter.

Wäre es nicht einfacher einfach die speed als "bewegungspunkte" zusehen?
Aber das ganze rückwärz. Also es wird gecheckt was ist das schnellste schiff. Sagen wir 4'er. Dann bewegen sich alle schiffe mit 4 1 feld. Nun wird gecheckt bei den abfangflotten ob schiffe in ihre sektoren geflogen sind die in ihrer reichweite liegen. Wenn ja fliegen diese dorthin und ein kampf wird ausgelöst. Auch wenn es 4 felder enfehrnt ist. Danach fliegen alle schiffe mit 3 1 feld, worunter nun auch die schiffe fallen die vorher 4 felder fliegen konnten. Und wieder wird gecheckt ob schiffe die abfangen können in reichweite eines schiffs ist und es fängt die schiffe ab, wenn es denn noch "bewegungspunkte" über hat. Wenn in den sektor in dem es steht ein schiff einfliegt kommt es natürlich auch zum kampf. Auch wenn es keine "bewegungspunkte" hat. Danach fliegen alle schiffe mit 2 1 feld, wieder abfang check. Und nun alle schiffe mit 1 feld. Und wir haben alle schiffe abgearbeitet.
Und wir haen vieleicht auch mehrere schiffe mit einer flotte abgefangen. Hinzukommt das man darauf achten muss das verschieden schnelle flotten in einer gruppe in ein feld einfliegen da sie sonst getrennt ankommen. Und so natürlich aufgerieben werden können.

Nun könnte man vor dem kampf noch ein check machen wieviel bewegungspunkte die jeweiligen schiffe über haben und einen luck wurf machen das die schiffe nicht kämpfen sondern sozusagen auf meiden stehen. Aber die nächste runde wird es schwer für die flotte da wieder weg zu kommen!

Und wiegesagt die abfang flotten haben eine sonder rolle und ziehen nicht immer nur 1 feld pro runde. Sondern können mehrere felder fliegen nachdem die anderen schiffe 1 feld geflogen sind.
Wichtig ist auch das mehrere abfangflotten sich zusammen tun können um einen eindringling abzufangen. So könnte man alle 2 felder 4 schiffe stationieren die 4 felder fliegen können. und hätte fast immer bei erfolgreichen abfangen 8 schiffe die abfangen.

Nur ist die frage ob die abfangenden schiffe sich bei keinem feindkontakt wieder auf den ursprungsort zurückbewegen. Dadurch könnten sie bewegungspunkte verlieren mit dehnen sie in der nächsten bewegungsphase vieleicht eine flotte abfangen könnte.
Benutzeravatar
Malle
Großadmiral
Großadmiral
Beiträge: 6948
Registriert: Montag 13. November 2006, 15:16

Re: Kontrollzonen

Beitrag von Malle »

Damit würdest du Abfangkämpfe erlauben, die eigentlich gar nicht stattfinden dürfen. Angenommen ein 4er Schiff bewegt sich am Rande eines 3er Abfangsschiffes im ersten Tick in ein äußeres Reichweitenfeld des 3ers, nun würde nach deiner Theorie im selben Tick das 3er Schiff mirakulös alles ignorieren und sofort da hin fliegen und es käme zum Kampf. Allerdings hätte das schnellere 4er Schiff nur eine Tangente geflogen, d.h. im nächsten Feld wäre es wieder außerhalb der Reichweite des 3er und schneller, daher hätte es nie zum Kampf kommen können.

Das funktioniert so nur, wenn du die (Abfang-)Reichweite als nur 1 Feld immer ansiehst pro Bewegung. Allerdings fehlt auch hierbei der Fall, dass ein schnelles 4er Schiff durchaus in der Lage gewesen wäre, ein von weit herkommendes 2er Schiff z.B. in der letzten Bewegungsrunde im äußersten Feld abzufangen. Sprich, du rechnest nicht vor und lässt BotE alle Flugrouten erstmal durchrechnen. Kann ja durchaus sein, dass man sein Patrouillenschiff einfach stehen lässt und nur Eindringlinge in seinem Planquadrat (Speed als Seitenlänge) abfangen lassen will. Dann will ich bei bekannter Flotte, die erst im letzten Bewegungspunkt in mein Planquadrat einfliegt, diese auch bei Bedarf noch abfangen wollen. Mit deinem Algo komme ich nie zu so einer Abfrage. Wie gesagt, nur wenn der Luckwurf aufs Scannen mir rechtzeitig ein Erkennen der Feindflotte und deren Route erlaubt so dass mein Abfangschiff rechtzeitig losfliegen kann.

An der Tickgeschichte und dem Ausrechnen der Schnittpunkte von Kontroll=Bewegungszonen und kompletten Flugrouten aller Flotten wird kein Weg dran vorbei sein, will man ein sinnvolles Abfangen/Patrouillieren erlauben. Ansonsten bliebe nur das manuelle "Folgen" im Strategiemodus, wo ich meine abfangende Flotte dort schon auf eine bekannte Feindflotte auf der map ansetzen kann. Dies würde dann so funktionieren, dass man auch dort je nach günstigerer Route entweder die Flotte von vorne abfängt, d.h. in einen Sektor fliegt, in den die Flotte auf ihrem BotE-bekannten Weg erst reinfliegt und dann entgegenfliegt, oder in einen Sektor fliegt, den sie gerade passiert hat um dann von hinten ihrem Weg zu folgen und versucht sie einzuholen.
Orco
Kapitän
Kapitän
Beiträge: 481
Registriert: Montag 29. Oktober 2007, 11:21

Re: Kontrollzonen

Beitrag von Orco »

ja das war mir auch klar das es so zu "unrealistischen" situationen kommt wo in sektoren gekämpft wird wo es eigentlich nicht möglich wäre. Und das einerseits schiffe abgefangen werden die eigentlich nicht abgefangen werden könnten andere aber dabei durchkommen.
Ich dachte mir nur zum wohle der vereinfachung könnte man über diese mängel hinwegsehen.
Und ich finde deinen vorschlag zwar recht akurat und sicher das "realitäts treuste" an, aber es verliert sich in zuvielen deteils und ist unnötig komplex.
Benutzeravatar
Malle
Großadmiral
Großadmiral
Beiträge: 6948
Registriert: Montag 13. November 2006, 15:16

Re: Kontrollzonen

Beitrag von Malle »

Ohne die nötige Komplexität sollte man den Befehl dann doch besser weglassen und rein aufs manuelle Folgen beschränken. Falls aber wider Erwarten irgendwann alles fertig wäre sonst und man noch Zeit hätte, würde sich das anbieten, so zu implementieren, vll. auch schon vorher wenn genügend Leute die Idee gut finden. So kompliziert ist es nun auch wieder nicht. Ist ja alles deterministisch und endlich.
Benutzeravatar
Sir Pustekuchen
Administrator
Administrator
Beiträge: 4183
Registriert: Dienstag 10. Januar 2006, 16:46
Kontaktdaten:

Re: Kontrollzonen

Beitrag von Sir Pustekuchen »

Ohoh, hier wirds ja richtig kompliziert. Ich habe jetzt mal alle Posts überflogen. Das mit den Ticks wird viel zu kompliziert. Angenommen es sind nur 500 Schiffe in einem BotE Spiel, dann müssen unzählige weitere Berechnungen durchgeführt werden. Ich finde einen Abfangen-Befehl kann man auch viel einfacher implementieren. Die Frage ist dann nur, ob es dafür einen eigenen Befehlsbutton geben soll, oder ob man so eine Art Kontrollzonen, wie sie Malle vorgeschlagen hat, einbaut.
Ausserdem sollte allen klar sein das abfangen nur für eigene sektoren gilt. Und da ist noch die frage ob die schiffe in eigenen sektoren stationiert sein müssten. Ich finde ja. Ausserdem dürften nur schiffe abfangen die sonst keinen bewegungsbefehl haben oder irgend einen anderen befehl.
Die Bedingungen aus dem Zitat sollten auf jedenfall gelten. Also nur stationierte Schiffe in eigenen Sektoren ohne speziellen Befehl können abfangen. Die Frage bleibt, ob dies dann automatisch geschieht oder ob ein extra Befehl gegben werden müsste.

Die Sache mit dem Abfangen könnte man dann relativ einfach lösen, ganz ohne zusätzliche Ticks und anderen Berechnungen:
Sobald ein Schiff einen Abfangenbefehl erhalten hat, beträgt die "bedrohte Zone" X Felder um den Sektor, indem sich das Schiff befindet. X ist dabei die Mapspeed des Schiffes. Während der Rundenberechnung werden alle Schiffsbewegungen ganz normal berechnet. Alle anderen Schiffe erreichen also schlußendlich irgendeinen Sektor. Sobald ein anderes Schiff in die bedrohte Zone des Abfangschiffes gerät, wird zufällig ermittelt ob das Abfangschiff automatisch in den Sektor des Eindringlings bewegt wird. Bei der anschließenden Kampfberechnung würden die Schiffe dann in einen ganz normalen Kampf verwickelt werden. Wie zufällig ermittelt wird, ob das Abfangschiff in den Sektor "verlegt" wird, weiß ich auch noch nicht. Crewerfahrung, Schiffgröße, Schiffstyp und Schiffsgeschwindigkeit könnten wichtige Parameter sein. Dieses Szenario ist eigentlich auch gar nicht so unrealistisch. Gut, die Sektoren während einer Schiffsbewegung werden nicht beachtet. Es kommt nur auf den Zielsektor der Bewegung an. Aber dies würde trotzdem funktionieren. Wenn ein Eindringling halt in einem Zug den kompletten bedrohten Bereich durchfliegen kann, so hat der Abfangjäger eben auch keine Chance diesen anzugreifen. Der Eindringling wird wohl nicht freiwillig vom Gas gehen. Doch sobald der Eindringling im bedrohten Bereich anhält, wird zufällig ermittelt, ob der Abfangjäger automatisch in den jeweiligen Sektor versetzt wird.
Nach einem Kampf befindet sich das Abfangschiff nicht in seinem ursprünglichen Sektor, sondern in dem, wo auch der Kampf stattgefunden hat. Dann muss man es entweder manuell zurückschicken, oder man läßt den Abfangenbefehl aktiv, sofern dies möglich ist. Man kann also nicht mehrere Sachen auf einmal abfangen.

Diese Implementierung wäre nicht so rechenintensiv, logisch, einigermaßen realistisch und schnell implementierbar. Nachher sollte man also aufpassen, dass keine Kolonieschiffe unbewacht an den Grenzen des Gegners terraformen. Ich glaube die Korsar-Spezialfähigkeit bringt einen ordentlichen Bonus auf das Abfangverhalten von Schiffen.
Benutzeravatar
Malle
Großadmiral
Großadmiral
Beiträge: 6948
Registriert: Montag 13. November 2006, 15:16

Re: Kontrollzonen

Beitrag von Malle »

Okay, das ist sinnvoll so. Mehrfach-Abfangen und Rückflug in den Startabfangsektor sind damit nicht möglich, aber bei 500 Schiffen/Flotten später kann man aus Perfomancegründen gut darauf verzichten ;). Evtl. kann man über die Verschmutzungsschiene seine Grenzsektoren halbwegs permanent auf Speed 1 drücken, womit kein Eindringling über die Kontrollzone mehr fliegen kann und man somit eine Art Festungswall aufbauen kann. Da muss aber Dijkstra noch angepasst werden dafür ;).
Benutzeravatar
Malle
Großadmiral
Großadmiral
Beiträge: 6948
Registriert: Montag 13. November 2006, 15:16

Re: Kontrollzonen

Beitrag von Malle »

Bei der Berechnung, wann welches Schiff wen abfängt, sollten neben Crewerfahrung auch Stärkeunterschiede eine Rolle spielen. Abfangflotten sollten generell, da sie den Initiativvorteil und eine gewisse Entscheidungsfreiheit haben, nur die Feindflotten angreifen, denen sie am ehesten gewachsen sind, d.h. gibt es mehrere Feindflotten, die in die Bedrohungszone einfliegen, sucht sich die Abfangflotte das stärkste gerade noch beherrschbare Feindziel, sprich Sektor, in dem es nachher zum Kampf kommt, aus. Danach wird diese Flotte, sollte sie als "beherrschbar" gelten, beziehungsweise dieser komplette Sektor als "tot" markiert, d.h. keine weitere Abfangflotte braucht sich um Feindflotten, die in diesen Sektor fliegen, zu kümmern, da die eine Flotte das ihrer Meinung nach schon regelt, d.h. die anderen Flotten gehen nach demselben Prinzip vor, bis es keine weiteren beherrschbaren Ziele und Zielsektoren gibt. Der Rest der Abfangflotte verteilt sich dann so gleichmäßig wie möglich (hier kommt es auf die geschickte Flottenzusammenfassung des Spielers an) auf die vorhandenen Zielsektoren um zusätzliche Unterstützung zu geben, wobei das Maß die relative Stärke der Abfang- zu den Feindflotten in den jeweiligen Sektoren ist. Durch das nachträgliche Verteilen wird in den meisten Fällen sichergestellt, dass man auch Raumüberlegenheit in der Tat hat. Man kann ja noch einen Modifikator einfügen und den Abfangenbefehl in "Vorsichtig" und "Aggressiv" unterteilen, wodurch sich bei der Berechnung der Überlegenheit die Grenzen etwas verschieben. Für Abfangflotten ist es dann außerordentlich sinnvoll, Schiffe verschiedenen Typs auch in eine Flotte zusammenzufassen, was sowieso wegen der unterschiedlichen Geschwindigkeiten sinnvoll ist, wenn man will, dass die Flotte so zusammenbleiben soll. Denn ansonsten berechnet der Algorithmus, dass ungünstige Eintyp-Flotten in die Schlacht ziehen und gewinnen würden, was sie auch vll. tun, allerdings unter höheren Verlusten als wenn sie im Verbund mit anderen Schiffstypen gekämpft hätten. So sollte man auf ausgewogene Verteilung achten, wenn dabei auch der Abfangradius zwangsläufig auch abnehmen kann.

Sollte nun der Fall eintreten, dass eine oder mehrere überlegene Feindflotten anfliegen und daneben noch eine oder mehrere unterlegene (Szenario: Überlegene Angriffstreitmacht "vergisst" auf ihre lahmen Transporter zu achten/warten und fliegt voraus), wird zuerst die unterlegene seziert nach den Regeln der Kunst oben und der Rest der Riesenflotte des Gegners entgegengeworfen (mit der Option des Rückzugs dann falls der Spieler doch nicht seine Flotte verheizen will, allerdings dann mit Verlusten). Abfangen funktioniert natürlich nur für die Flotten, die man auch sehen kann, d.h. bei fehlender Scanstärke im Wegpfad der einfliegenden Flotte passiert nichts. Sobald aber in einem vom Zielsektor verschiedenen Wegsektor die Scanstärke ausreicht, ist die Flotte abfangbar. Gezählt wird bei dem ganzen immer Speedweise, d.h. Flotten mit Speed 1 fangen an und dabei immer die stärkste Flotte zuerst, die sich ein Abfangsziel bzw. -sektor aussuchen darf.
Benutzeravatar
Sir Pustekuchen
Administrator
Administrator
Beiträge: 4183
Registriert: Dienstag 10. Januar 2006, 16:46
Kontaktdaten:

Re: Kontrollzonen

Beitrag von Sir Pustekuchen »

Na ob die Idee, man greift nur schwächere Ziele an, immer die beste ist, weiß ich noch nicht. Sie vereinfacht es dem Spieler natürlich enorm, da so seine Schiffe nicht automatisch in den Tod fliegen. Sie hat aber auch einige Nachteile. Der Abfangbefehl kann immer nur Schiffs- bzw- Flottenweise betrachtet werden. Hat er also einzelnen Schiffen den Abfangbefehl gegeben, dann würden diese Schiffe einzeln genommen nie ein etwas stärkeres Schiff angreifen. Zwei dieser Schiffe würden aber gewinnen, einzeln betrachtet greifen sie dennoch nicht an. Okay, wenn man es so will ist der Spieler gezwungen eine Abfangflotte zu erstellen. Diese könnte dann angreifen, aber halt nur gemeinsam. Damit könnte ich auch leben. Auf der anderen Seite könnte man natürlich die Bedingung weglassen. Was nun genau besser ist weiß ich auch nicht. Das eine Vereinfacht es dem Spieler etwas, das andere könnte den Abfangbefehl zu einem richtigen Risiko machen.
Benutzeravatar
Malle
Großadmiral
Großadmiral
Beiträge: 6948
Registriert: Montag 13. November 2006, 15:16

Re: Kontrollzonen

Beitrag von Malle »

Um den Grundsatz des schwächsten Zieles bei Übermacht und stärksten Zieles bei Überlegenheit werden wir wohl nicht drumrumkommen, sprich wir minimieren den Abstand zur eigenen Flottenstärke, denn da holen wir maximale Effizienz raus. Dadurch dass wir am Schluss noch die übriggebliebenen Abfangflotten (übrig bleiben im Sinne von es gibt kein Sektor mehr in Reichweite, der nicht abgedeckt ist, d.h. dessen Bedrohungswert noch positiv ist) gleichmäßig verteilen, kann eigentlich nichts schiefgehen.

Damit auch kleinere Flotten sich zusammenschließen können und eine zunächst größer erscheinende Gegnerflotte zusammen attackieren, dachte ich an die Unterscheidung Aggressives und Vorsichtiges Abfangen. Das könnte genau die beiden Fälle beinhalten. Da der Befehl ein eigenständiger Befehl ist und sowieso nur im eigenen Territorialsektoren funktioniert, geh ich davon aus, dass man selten einzelne Schiffe auf Abfangen stellt (und mit diesen dann große Flotten abwehren will) sondern mit dem Befehl entweder nur kleine nervige Scouts abfangen will (hier kommen die Kleinflotten ins Spiel mit 3-4 Jägern und Zerstörern) oder seine Grenze gegen den Einmarsch einer großen Invasionsflotte schützen will, so dass die Unterscheidung Aggressiv und Vorsichtig uns genau das liefert was wir brauchen. Bei Vorsichtig verlagert sich die Entscheidung zum Abfangen überlegener Feindflotten in die nächste vom Spieler besser zu kontrollierende Runde und weg von der computergesteuerten Zwischenrunde, die evtl. obskure Fehlentscheidungen trifft was das Abfangen angeht, mit dem Preis eben, dass man wenn's schlecht läuft, dem Gegner eine Runde Zeit gegeben hat zum Bombardieren eines wichtigen Systems oder gar genug Zeit zur 1-Runden-Blitzinvasion.
Bei Aggressiv würden alle Flotten im Umkreis sich auf dieses Ziel stürzen. Falls es mehrere gibt, dann das schwächste von allen Zielen in Reichweite, hier ist wichtig, dass bereits vorher in Sektoren geschickte eigene Abfangflotten zur Laufzeit quasi den Feindstärkewert reduzieren, so dass auch immer alle Abfangschiffe sich auf das immer schwächer werdende Ziel in Anführungszeichen stürzen und nicht sinnlos aufteilen, außer ihre Reichweite lässt nichts anderes zu, deshalb fangen wir ja auch bei Reichweite 1 an mit dem Verteilen, so dass die höherreichweitigen Abfangflotten eine vorher evtl. leicht zu starke Feindflotte nun doch gemeinsam mit den geringreichweitigen Flotten angreifen und sich nicht auf ne andere Flotte stürzen und damit die Kräfte nicht gebündelt werden.

Wichtig ist einfach nur, dass zuerst die Flotten mit geringster Reichweite durchgearbeitet werden und zwar stärkemäßig von oben nach unten und dabei die Feindflottenbedrohung (falls man schlechte Scanner hat, kann man dabei natürlich schnell baden gehen, aber es gibt ja noch das anschließende Restverteilen aller übrigen Flotten so dass man bei echter eigenen Übermacht auch seltenst wirklich zu wenig Schiffe in einen Sektor schickt) reduziert, so dass im nächsten Schritt der while Schleife das Bedrohungsfeld anders aussieht (weniger bedrohlich) und da wir ja immer auf die schwächste Übermacht draufhauen, liefert der Algo ein denk ich vernünftiges Aufteilen der Abfangflotten.

Eins fehlt noch: Vorsichtig bedeutet immer, dass nie ein stärkerer Gegner angegriffen wird, d.h. beim Abstandsminimieren wird nur nach links geguckt. Aggressives Abfangen läuft im Prinzip genau umgekehrt, d.h. die Flotte sucht sich immer den schwächsten gerade noch stärkeren Gegner raus. Nun haben wir noch einen Effekt zu berücksichtigen und das ist die Überlegenheitsbildung. Beim Vorsichtigen Abfangen haben wir damit keine Probleme aber beim aggressiven Abfangen kann es passieren, dass durch die relative Anpassung der Bedrohung mehrere Feindflotten mit mehreren unterlegenen eigenen Flotten angegriffen werden, obwohl diese kombiniert überlegen gewesen wären, dafür aber eine Flotte weniger angegriffen hätten. Daher müssen wir die while-Schleife ein wenig modifizieren. Sobald beim aggressiven Abfangen eine Flotte sich ein stärkeres Ziel ausgesucht hat (muss es nicht unbedingt, das aggressive Abfangen beinhaltet im Gegensatz zum vorsichtigen Abfangen natürlich auch die andere Seite beim Abstandminimieren, allerdings hat die stärkere Seite zunächst immer Vorrang) wird eine 2. While Schleife gestartet und darin werden alle Flotten wieder von der geringsten Reichweite ausgehend aber diesmal auch mit der geringsten Stärke durchgespielt und diese wie vorsichtiges Abfangen behandelt, d.h. es wird die Flotte gesucht, die gerade noch stärker ist als die verbliebene Übermacht des Gegners in dem betreffenden Sektor, so dass man diesen Sektor auch komplett abgedeckt hat. Diese Flotte wird dann aus der 1. While Schleife gestrichen da sie ja nun jetzt eine Aufgabe hat, nämlich die aggressiv abfangende Flotte überlegensheitstechnisch zu unterstützen. Sollte die 2. While Schleife ergebnislos enden, wird einfach die stärkste in Reichweite befindliche Flotte in den Sektor geschickt, der Bedrohungswert neu berechnet und die 2. Whileschleife von neuem abgelaufen. So wird bei einer richtig überlegenen Gegnerflotte auch jedes einzelne in Reichweite befindliche Schiff auf diese eine Flotte gehetzt, ganz automatisch.
Benutzeravatar
Sir Pustekuchen
Administrator
Administrator
Beiträge: 4183
Registriert: Dienstag 10. Januar 2006, 16:46
Kontaktdaten:

Re: Kontrollzonen

Beitrag von Sir Pustekuchen »

Beim Abfangen bin ich für nur EINEN Befehl. Alles andere macht es meiner Meinung nach nur zu kompliziert. Abfangen heißt eben Abfangen. Dazu müssten man nun nur ein paar einfache Regeln definieren, wie z.B. es werden nur schwächere Schiffe/Flotten angegriffen. Es kann nur aus eigenen Sektoren heraus, bzw. überhaupt nur in eigenen Sektoren abgefangen werden usw.

Das Abfangen muss für den Spieler logisch und verständlich sein. Seine Schiffe sollten dann das machen, was er auch erwartet. Ob man nun noch eine tatsächliche Wahrscheinlichkeit eines erfolgreichen Abfangens einbaut oder ob man das Abfangen immer gelingen lässt wäre auch noch eine interessante Frage.

Ich würde aber keine Unterscheidung zwischen vorsichtigem und aggressiven Abfangen einbauen. Vorsichtig wäre es ja im Prinzip, wenn er selbst versucht das gegnerische Schiff manuell abzufangen. Da weiß der Spieler auf was er sich einstellt. Aggressiv bedeutet einfach ein Abfangen, so wie ich es mir auch vorstelle. Ich positioniere eine kleine Abfangflotte an der Grenze meines Imperiums, stelle sie auf Abfangen und sie kümmert sich automatisch um den Rest. Dabei fliegt sie nicht sinnlos in den Tod, sondern vernichtet fleißig schwächerer feindliche Schiffchen.
Benutzeravatar
Malle
Großadmiral
Großadmiral
Beiträge: 6948
Registriert: Montag 13. November 2006, 15:16

Re: Abfangenbefehl

Beitrag von Malle »

Bin nur für eigenes Territorium, nicht aus dem Territorium heraus. Alles was in einen passend gefärbten Sektor einfliegt wird abgefangen. Wobei man auch hier wieder eine Unterscheidung treffen könnte und ein aggressiveres Abfangen erlauben könnte, aber wir wollens mal nicht übertreiben. Ein Spieler, der das ausnutzen will und am Gegner so vorbeifliegt, läuft auch Gefahr, dass genau das der andere Gegner vorausahnt und die Flotte passend manuell bewegt. Ein bisschen Unsicherheit und damit Spaßfaktor soll ja noch drinbleiben.

Ich wäre gegen eine Wahrscheinlichkeit, zumindest gegen eine wie sie in botf zur Anwendung kam, da wollte man zwar auch dass größere Flotten aggressiver abfangen, hat das aber denkbar schlecht mitnander verwurschtelt. Die Wahrscheinlichkeitsabfrage wird schon durch die Scanstärke in einzelnen Sektoren gewährleistet. Wenn ich irgendwo wenig Scouts oder Scanner habe, sehe ich die Flotte nicht, d.h. mein Bedrohungsfeld ist 0 oder sehr klein ergo wird der Algo zu wenig bis keine Schiffe hinschicken und das Abfangen war erfolglos bzw. kostet Opfer, es sei denn der nachfolgende Durchlauf mit der Restflottenverteilung teilt dem falsch berechneten Sektor genügend Restflotte zu automatisch. Man könnte beim Algo noch einen irgendwie gearteten Zufall walten lassen, der das endgültige Einfliegen in den Sektor erst noch bestätigen muss sozusagen. Geht dieser Zufall schief, d.h. die Flotte käme zu spät (die Gewichtung wäre dann wohl die Speeddifferenz der beiden Flotten und Sektorendifferenz zum Zielsektor), dann wird die Flotte in den Sektor fliegen aber auf 100% Meiden stehen, d.h. an keinem Gefecht teilnehmen. Einfach nur das Ziel verwerfen und stehenbleiben im Sektor wär auch ne Möglichkeit, allerdings denk ich sollte die Flotte wenigstens losfliegen. Man müsste diese Wahrscheinlichkeit auch für alle in einen Sektor einfliegenden Flotten berechnen, denn jede einzelne Flotte gibt ja ihre Scaninfos direkt weiter an die anderen, so dass am besten gleich pro Zielsektor einer Feindflotte ein Wahrscheinlichkeitswurf gemacht wird, welche Abfangflotten mit welcher Entfernung, Geschwindigkeit und Reichweite den Sektor noch erreichen können und die anderen damit andere Ziele wählen können. Das wird dann zwar etwas komplizierter aber immer noch beherrschbar.

Das ganze läuft also so ab, dass alle Sektoren, in die der Gegner einfliegt, neben ihrem Bedrohungswert noch ein Zeitfenster bekommen, d.h. bei der Zielauswahl der abfangenden Flotten wird es nur den Abfangflotten erlaubt sein, einzufliegen, die auch die zeitlichen Voraussetzungen erfüllen. So ein Zeitfenster kann z.B. 1/2, 1/3 oder 2 betragen, wobei 1/2 bedeutet dass nur Schiffe mit Entfernung 1 und mindestens Speed 2 oder Entfernung 2 und mindestens Speed 4 abfangen können und bei 2 können entsprechend alle deren Quotient kleiner 2 ist abfangen. Irgendeine schlaue Formel, die Gesamtscanstärken und Tarnlevels berücksichtigt, spuckt dann diesen Wert aus.

Man kann auch einen kombinierten Befehl konstruieren, man muss nur vor jeder Schwachzielauswahl à la vorsichtiges Abfangen eine "Aggressiv"-Schleife setzen, ob man nicht kombiniert einen evtl. vorhandenen stärkeren Gegner schlagen kann, d.h. fliegen 2 Ziele, eine sehr starke Feindflotte und eine sehr schwache, in verschiedene Sektoren des eigenen Gebietes, würde dann nicht nur alles auf die ganz schwache Flotte fliegen (=in den Zielsektor der ganz schwachen Flotte), sondern bevor die erste und stärkste Flotte mit geringster Reichweite ihr stärkstes schwächeres Ziel aussucht wird das nächstgelegene stärkere (zu starke) Ziel fiktiv ausgewählt und in einer Schleife die nächste eigene Flotte auch auf dieses Ziel fiktiv gesetzt und geschaut wie sich der fiktiv-neu-berechnete Bedrohungswert (des gesamten Sektors! also alle einfliegenden Feindflotten dort sind ein Ziel und müssen bedrohungstechnisch aufsummiert werden; später können wir ja mal Mehrfachabfangen hintereinander im gleichen Sektor angehen, aber das ist wirklich Zukunftsmusik) verändert. Ist er immer noch positiv, wird die nächste eigene Flotte (wir gehen ja pro Reichweite immer vom stärksten zur schwächsten Flotte) auch auf das Ziel gesetzt und das gleiche Spiel setzt sich bei immer noch positivem Bedrohungswert solange fort, auch mit Einbeziehung eigener Flotten mit höheren Reichweiten, bis evtl. ganz zum Schluss alle eigenen Flotten auf dieses Ziel fiktiv gesetzt wurden und wenn dann der Wert immer noch positiv ist, d.h. die Gegnerflotte insgesamt zu stark, wird das Ziel verworfen. Ansonsten bricht die Kette irgendwann vorher ab und die restlichen eigenen Flotten gehen wie gewohnt ihre Ziele durch wobei auch hier wieder die große Aggressivschleife jedesmal neu angeworfen wird, um größere Gegnerbrocken gemeinsam angreifen zu können.

So müsste es eigentlich mit einem Befehl gehen.
Benutzeravatar
Sir Pustekuchen
Administrator
Administrator
Beiträge: 4183
Registriert: Dienstag 10. Januar 2006, 16:46
Kontaktdaten:

Re: Abfangenbefehl

Beitrag von Sir Pustekuchen »

Ich bin auch gegen die Prozentregel. Doch würde ich die ganze Sache wirklich nicht so kompliziert anlegen. Die Frage stellt sich immer nach dem Aufwand -> Nutzen. Bei einem Abfangenbefehl sollten alle Schiffe die Möglichkeit des Abfanges besitzen, welche durch ihren Speed den Sektor noch erreichen können. Durch Zufall, also so wie es vom jetzigen Algo gerade abgearbeitet wird, fliegen die Feindschiffe in das Territorium ein. Jetzt versuchen immer alle Schiffe diese Schiffe abzufangen. Dies machen aber nur Schiffe, welche einen Abfangenbefehl haben und eine zulässige Speed. Wenn nun durch Zufall weitere andere Schiffe in einen anderen Sektor eingeflogen sind, dann versuchen es halt andere eigene Schiffe, welche die Vorausetzungen erfüllen und noch nicht am ersten Zug teilgenommen haben. Viel komplizierter würde ich es nicht machen. Es reicht so doch vollkommen aus. Noch einfacher wäre es sogar, wenn ein Schiff mehre Ziele in unterschiedlichen Sektoren abfangen könnte. Dann bräuchte man sich nämlich nicht einmal merken, ob das Schiff schon ein anderes abgefangen hat oder nicht. Dies wäre vlt. nicht ganz realistisch, würde den Abfangenbefehl aber enorm aufwerten.
Antworten

Zurück zu „Ships“