PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Strategie-KS-KI



Ru10r
14.01.2005, 17:13
Alohhhha @ all.
Ich wollte euch mal fragen wie ihr ne KI für n Strategiegame machen würdet.
Also sprich ich(etwas ratlos) bitte euch(hoffentlich nicht ratlos) um Hilfe.
Als 2-Spieler klappt es schon ganz gut.
Erst mal der grobe Aufbau:
Spieler 1,also du kann alle seiner (im Moment noch) 3 Einheiten (Elite,Schütze,Nahkämpfer) bewegen und anschließend schießen bzw. in den
Nahkampf gehen.
Das geht nur wenn man auf 3 Kästchen(Schuss) oder 1 Kästchen(Nahkampf)
Distanz zum Feind steht.
Die Einheiten bestehen immer aus 9 Mann sind also kleine Squads.Nun die Schadensberechnungen:
Nahkampf:Squadmitglieder Angreifer+Nahkampfwert Angreifer+2+Random 2-6
gegen Squadmitglieder Verteidiger+NahkampfwertVerteidiger+Random2-6
Gewinner tötet Random 2-4 gegnerische Leute des Squads
Schuss : (Squadmitglieder +Fernkampfwert):2 Ergebnis=getötete Feinde im
anvisierten Squad.
Jetzt die Werte:
Elite:Nahkampfwert 4 Fernkampfwert 4
Schütze:Nahkampfwert 1 Fernkampfwert 3
Nahkämpfer:Nahkampfwert 4 Fernkampfwert 0
Ich hoffe ihr habt da Prinzip verstanden und könnt mir ein Paar Ideen oder
sogar einen Skriptvorschlag posten. http://www.multimediaxis.de/images/smilies/old/sm_12.gif
Wenn ihr wollt kommt ihr auch in die Credits.

Phönix Tear
14.01.2005, 23:22
Tja, ich hab mit KI's schon meine erste Erfahrung gemacht und es hat sich herausgestellt, dass eine ordentliche KI extrem schwer zu machen ist (in deinem Fall).
Für mich ist das schwierigste immer die Wegberechnung. Ich hab bis jetzt nämlich noch keine Möglichkeit gefunden, die kein Random verwendet oder Kilometer lang ist...
Eigentlich musst du ja "nur" berechnen, welcher Feind wie nahe an dir drann steht und dann noch die Chance auf einen Sieg festlegen. Da wo es am besten geht, lässt du den Computer dann hinlaufen. Taktische Elemente sollten dabei natürlich nicht fehlen. (Außerdem vieleicht noch ein kleiner Random...)
Gute Vorschläge für eine KI kann ich dir leider nicht geben (ich kann dich nur entmutigen :rolleyes: )

Du musst einfach sehr, sehr lange herumpobieren. Am besten beginnst du mit was kleinem (also vieleicht nur eine Soldatenart (am besten die Schwertkämpfer)) und steigerst dich dann langsam hoch. (So würde ich es zumindest machen ;) )

mfg
Phönix Tear

Dhan
14.01.2005, 23:52
Wenns um Wege geht, teile die Karte in Sektoren auf die vom Terrain bzw. von den Hindernissen abhängen. Nun weißt man jedem Sektoren eine Art Route zu, d.h. wenn sich die Einheit in diesem Sektor befindet und die feindliche Einheit in einem anderen Sektor, dann sagt die Route des Sektors aus, in welchen Sektor sich die Einheit zu bewegen hat, jeder Sektor hat dann eine Art Waypoint an den sich die Einheit bewegt (vielleicht auch eine kleine Zone)
umso mehr Hindernisse die Karte hat, umso mehr Sektoren erfordert das. Bei speziellen Karten mit regelmäßigen Hindernissen, z.B. Häuserschluchten, kann man das dann wieder anders lösen aber für die meisten Maps dürfte eine Sektoreinteilung das Beste sein

zum Verhalten im Kampf: So wie ich das sehe, ist das hier recht simpel, Schützen versuchen, einen kleinen Abstand einzuhalten während Nahkämpfer vorstürmen, Nahkämpfer gehen also möglichst nah ran während Fernkämpfer schauen, wie groß der Abstand ist und ihn entweder verringern (wenn der Feind zu weit weg zum ballern ist) oder vergrößern (wenn er zu nah kommt), kompliziert is da nix dran
ansonsten, einfach im 2P-Modus zocken und die besten Strategien notieren

eine komplexe KI hats da jedenfalls net nötig

tecnimsey
15.01.2005, 08:14
Moin ich hab noch ne Idee: Vielleicht setzt du ganz viele Events auf die Map und dann berechnest du für JEDES (weiss nicht ob du so viel Langeweile hast) die X-Y Koordinaten und machst dann ne Fork das wenn zum Beispiel ein Event näher am Spieler dran ist der Gegner in die Richtung geht. Weiss nicht ob es funzt aber ist auf jeden Fall ne Menge Arbeit! Doch Dhans Idee... naja nicht so umständlich wie meine musst du wissen, wie du es halten willst!
MFG Tecnimsey

Ru10r
15.01.2005, 09:44
Also verstanden habt ihrs.
Die Sektorenidee von Dhan probier ich später mal aus.
Aber ihr stellt euch die Maps zu komplex vor.Das sind im Moment noch 20*15
Maps ohne Bäume oder so.
@Dahn:Wie groß würdet du dann son Sektor machen wenns keine Hindnisse gibt ?

FabiF.de_renamed
15.01.2005, 09:51
Bei keinen Hindernissen benötigst du garkinen sektor, dennn mit dem einfachen befehl, step toward hero, kommt er ja nichst in die Quere, dann muss nurnoch geschaut werden in welchem umkreis er ist, und je typ sien zeugs macht... weiter unten in dem forum steht wie man ne KI macht, da hab ich ein code gepostet, da steht wie man schauen kann ob held in einem Bestimmten rastar vom gegner steht....

MFG FabiF.de

Ru10r
15.01.2005, 10:08
@ FabiF
Es gibt 1Squad Nahkämpfer 1Squad Fernkämpfer und 1 Squad Elite =3
Also ist nix mit step toward.Aber ich habs schon mal mit nur Herosquad
gemacht das hat auch super geklappt.
Es ist ein 3 gegnen 3 KS und man kann alle drei Squads bewegen aber der Computer soll sich halt (mehr oder weniger)logisch bewegen.Deine Leute stehen Links gegner Rechts.Ich liefer ein Bild nach.

Hoffe euch fällt was ein.

Dhan
15.01.2005, 10:57
Das Problem ist, wir kennen die logische Bewegungsweise nicht, wie gesagt, spiel das mal ausgiebig im 2P Modus und schau, welche Strategie am effektivsten ist, alle auf einen, verteilen etc

Mayaki
15.01.2005, 11:12
Das kommt immer darauf an was du machen willst...
Also wenn der Gegner nahe an dir drann ist soll er natürlich schon sich auf die zubewegen und nicht irgeneinen dummen zufallsschritt machen!
Das machst du in dem du die Koordinaten vergleichst und mit ein ander subtraierst (oh gott da blick ja keiner durch x.x) Dann entseht ein Radius um den Gegner und du kannst abfragen wo der Held steht ( Du musst aber immer GegnerX/Y mit HeroX/Y subtraieren also GegnerX - HeroX usw.)
Öhm okay... das ist etwas aufwendig aber mir fällt nichts anderer spontan ein...
Mayaki

Ru10r
15.01.2005, 13:54
@Mayaki
So hab ichs schon beim Schießen gemacht aber ich versuchs trotzdem mal.
@Dhan
Und was wenn ich die beste Strategie kenne ?

Geiu
15.01.2005, 14:00
@Dhan
Und was wenn ich die beste Strategie kenne ? Dann setzt du sie halt im Maker um, also wenn die effektivste Strategie bspw. alle auf einen wär dann machst du nen PP der alle auf einen Gegner zubewegt.

Ru10r
15.01.2005, 16:34
Ich versuchs mal und guck was rauskommt.
Was ich glaub noch net gesagt hab ist,dass das Spiel rundenbasiert is.
Wenn ihr noch Ideen oder Features habt:Her damit :) .

Dhan
15.01.2005, 17:55
Idee: Bau Einheiten mit denen man eine gescheite Strategie machen kann, also gewissermaßen Schere Stein Papier, langsame Nahkämpfer verlieren gegen schnelle Schützen, die gegen normale Kämpfer und die gegen die langsamen Nahkämpfer, mal als Beispiel. Nicht aufgrund der Berechnungen sondern aufgrund Attribute wie Panzerung, Ausweichrate, Geschwindigkeit, Fernkampfstärke, Nahkampfstärke
arbeite mit Deckungen und MGNester auf denen Einheiten Boni bekommen und mit Minen (die würde ich dann nicht von der KI legen lassen sondern stattdessen am Beginn schon auf der Karte positioniert sein, der Spieler kann trotzdem selber welche legen)

und, was auch wichtig sein kann, Munition, eine oft unterschätzte Sache (in den meisten Filmen scheinen die Soldaten alle nen unlimited ammo code zu kennen, in Full Metal Jacket isses noch am realistischsten)

jedenfalls, du solltest, wenn die Engine dann irgendwann funzt, mit größeren Maps beginnen öhm

ne Frage, was für ein Spiel soll das werden? Nur Arcade-Modus, also Maps für unabhängige Schlachten oder mit Kampagnen?
Mehr auf gleiche Menge Soldaten bezwingen oder mehr mit wenig Soldaten auf Taktik und Sonderdingens angewiesen sein gegen einen übermächtigen Gegner?

Ru10r
15.01.2005, 19:25
Ich hab das Mainproject wie zu Beginn beschrieben erst mal gestoppt. :\
Aber ich mache statdessen erst mal ein Strategie-KS mit einem
Hauptsquad(Hero),und 1-3 Nebensquads.
Der Gegner wird in den meisten Missionen(also gibt es sowas wie eine Kampange)in Überzahl sein und gewinnt,wenn der Hauptsquad ausgelöscht wird.
Man steuert alle Squads wobei das Hauptaugenmerk uaf den Herosquad liegt und die Nebensquads eher eine taktische Rolle haben.Also wir der Computer versuchen den Hauptsquad auszulöschen.Die Maps werden vermutlich bebaut sein und Dhans Idee mit Stein Schere Papier,die ich so ähnlich auch mal hatte.
@Dhan:
Danke für die vielen coolen Ideen.Ich weiß nicht ob ich alle umsetzt aber einige wie die mit den Werten werd ich sicher einbauen.
Aber ein paar berechnungen müssen auch sein.Zum Thema Boni:
Ich hatte schon mal Terrainboni oder Abzüge.Wie Wald oder Straße .
Aber auch die werd ich wieder einsetzten.
Schreibt mir weiter Ideen und Verbesserungsvorschläge,
Mfg Ru10r

tecnimsey
17.01.2005, 19:22
Du wolltest doch Bilder nachliefern oder?? lad sie am besten bei http://www.imageshack.us
hoch. Machst du eigentlich auch, dass es irgendwelche Ausrüstungsmöglichkeiten gibt? Ich meine jetzt für jede Einheit.

Ru10r
17.01.2005, 20:21
Ja,denk schon.
Z.B Photonenwerfer,die die Rüstung der Feinde durchbrechen
Rüstungsupgrades,die das oben genannte verhindern und viele andere Upgrades wie Nahkampfverstärker,oder abgeschwachte Versionen vom Photonenwerfer oder des Rüstungsupgrades.Und Gebäude sind auch geplant....
Wenn euch noch was nettes einfällt,schreibts rein.
Und was ich bisher noch garnicht erwähnt habe,die Story ist in der Zukunft angesiedelt also könnt ihr euch einfach was neues und Interessantes ausdenken.

tecnimsey
18.01.2005, 16:31
Mach doch noch n paar Fahrzeuge wie (Raum-)Schiffe Panzer oder sonstiges. Du hast doch noch das Regelbuch von Warhammer und da es eine Parodie von Warhammer ist kannst du ja mal was daraus suchen!

Ru10r
18.01.2005, 20:43
Coole Idee,glaub das probier ich mal.

Don_Alexandro
18.01.2005, 21:01
- unfaire Gegner wie z.B. Kampfhunde ( kommen nur in einer Einzigen Mission als 'Überaschung'!)

- Eine Mission in der sich die Gegner in einer Art 'Burg' verschanzt haben. Also eine Ruine oder ein Hügel mit viel Deckung und weiteren Boni.

Du hastwas von Warhammer gesagt. Heisst das etwa es wird Orks und Goblins etc geben? Wenn ja: Lass eine Horde Goblins irgend etwas wichtiges stehlen. Das muss dann zurückerobert werden ...

Dhan
18.01.2005, 22:36
Also wenn das System noch mehr erweitert wird, rate ich dir, Einheitstypen zu klassifizieren, also im Prinzip das, was du jetzt hast nur so, dass man mehrere Typen pro Klasse hat... hört sich kompliziert an, heißt aber nur, dass beispielsweise die Klasse Fernkämpfer eben net nur den Typ Fernkämpfer sondern die Typen Spacemarine-Fernkämpfer, Ork-Fernkämpfer, Tau-Ferkämpfer etc hat

das brauchst du nämlich später für die KI, die muss, um taktisch vorzugehen, die Klasse kennen

Ru10r
19.01.2005, 13:32
Ihr kennt euch ja alle mit Warhammer aus.Spielt ihr auch ?Allerdings mein ich eher Warhammer 40k also in der Zukunft.da hab ich auch schon ein bisschen was aberguckt.
Die veschanzidee find ich gut und guck mal ob ich die einbaue.
@Dhan
Es wird vermutlich mehrere Völker geben,aber wie die KI darauf reagieren soll weiß ich nicht.Das wär ja mal ne Menge an Forks.

Dhan
19.01.2005, 15:02
Ich spiel nix so wirklich, hab aber über die unterschiedlichsten Systeme Wissen

und 40k war mir scho klar, deswegen hab ich ja auch Tau geschrieben ^^

FabiF.de_renamed
19.01.2005, 15:09
COOL, ich spiel auch WARHAMMER 40K aber bin voll der Newbie, bin darin der größte looser, was spielst du??? ich spiel die Space mariens... NAJA gehört hier nicht her,
zu den Forks.... WOW das bekommt bestimmt ne auszeichnung für den längsten code.... ^^

MFG FabiF.de

Ru10r
19.01.2005, 15:20
@ Dhan
hätt ich mir denken können(müssen)
@ FabiF
Ich spiel auch Space und das schon seit einem Monat(!!!!!).
Zum Thema Code,weil ich das auch denke,werd ich die KI auch relativ klein halten,glaube ich
Wenn einer mal gelangweilt ist,kann er sich ja mal Skriptansätze überlegen.

Phönix Tear
19.01.2005, 19:34
Bei dem Script Ansatz ist dann ja nur die Frage, wie kompliziert du das haben willst... (Also nicht nur die KI). Wenn du viel auf Deckung und sowas machen willst, wird das sicherlich schwierig...

Ich hab 40k zwar nur etwa insgesammt 24 Stunden gespielt ( LAN :rolleyes: ) aber wenn es wirklich das Spiel ist, was ich denke das du denkst das es dieses sei (öhm... ^^°) dann wünsch ich dir schonmal viel Spaß beim zeichnen, da die Kampfanimationen nunmal das allerwichtigste sind.
Aber an sich eine tolle Idee das mal zu versuchen ;)

Ru10r
19.01.2005, 20:23
Schön dass ich auch mal gelobt werde ;) .
Wie würdet ihr machen,das der Gegner um ein Hidernis geht ??Also bei Step toward hero movement.
@ Phönix tear
Ich meinte eher als Tabletop

Daen vom Clan
20.01.2005, 13:00
Jo, das Tabletop ist nicht schlecht, auch wenn ich immer mehr ein Fan von Warhammer Fantasy war (Rules Bretonnia!) :)

Da die Regeln der einzelnen Codizis aber meiner Meinung nach zu kmplex sind und dein Spiel ja eher auf einem "Hero" - Schemata beruht, denn auf einem "Truppen"-Schemata, würde ich vielleicht empfehlen, eine Art Fähigkeitenmenü einzubauen, wie man es beispielsweise erstklassig bei Mordheim findet.
D.h. für jeden erschossenen Feind bekommt der Charakter Punkte, die er dann in gesteigertem Schaden investieren kann. Das wäre eine relativ einfache Berechnung.
Alternativ kannst du natürlich auch ein Geldsystem einführen, bei dem man sich für den Hauptcharakter neue Rüstung, Bolter usw kaufen kann.

Das macht das Spiel schnell spannender und taktischer, ohne großartig schwierige Scripte zu verlangen (da du die Schadensberechnung so oder so scripten musst, dann wären das nur ein paar kleine Angaben mehr ;) )

Ru10r
20.01.2005, 14:25
genau das hatte ich vor.
Mann kann neue Ausrüstung kaufen oder besonders gute Techniken in eigenen Labors erforschen lassen.

*edit*

Wie würdet ihrs machen das die KI bei Step-toward-Hero-movement um Hindernisse(ein Baum) geht?