Ki für Bot...

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

  • Ki für Bot...

    Hi Leute...Habe die Sufu benutzt aber nicht direkt was gefunden was zu mir passen könnte...
    also ich möchte so ein Spiel machen dass ein ähnliches Spielprinzip wie travian,Rome,Mediveal.... machen.
    also dass gegner dich angreifen können....und das auch tun werden oder verteidigung bauen u.s.w truppen und so...^^
    Und nun weiss ich nicht wie ich es hinbekomme hab schon alles probiert! :fresse:
    Bitte um Hilfe, :headtouch:
    Lg,
    POD
    Der Gedanke ist die stärkste Waffe!
  • Wenn du uns eine konkrete Frage oder Code vorsetzt...
    Aber hier wird niemand aus dem Nichts heraus eine Travian-KI bauen, noch dazu
    ohne zu wissen, was sie überhaupt tun soll. Im Klartext:

    Gib uns bitte mehr Inforamtionen.

    Magical dream time!
  • achso..
    also ich meine einen Bot gegen den man spielt und der unabhänig von dir sachen baut...
    Wie z.b bei Travian. Da baut jetzt z.b der Nachbar von dir eine Kaserne..aber du weist nicht was er baut.
    Ich möchte auch dass er Einheiten bauen kann und mich dann angreifen kann der Bot...
    Ich habe keinen konkreten Code leider :(

    Hoffentlich verstehst jetzt was ich meine
    Der Gedanke ist die stärkste Waffe!
  • Ja und wo ist jetzt dein Problem? Versuch doch erstmal selber das zusammenzubauen und dieser "habe schon alles versucht"-Satz, den glaub ich dir nicht. Denn du kannst einfach die Instanzen des Spielers abfragen und dann den Bot dementsprechend programmieren...Eins ist klar: Wir bauen dir hier kein Spiel zusammen.

    mfg Critical
  • Ich habe schonmal im voraus gedacht...
    Das ich später keine Schwierigkeiten bekomme!

    Ich habe keinerlei Ahnung WIE man ein Bot programmiert.

    wenn man die Instanzen von mir speichert macht der dann nicht den selben ablauf??


    Mfg
    Der Gedanke ist die stärkste Waffe!
  • Ähm...
    Warum bitte

    1) gibst du uns nicht mal ein paar genauere Infos (Code, Objekt-Info, D&D Aktionen etc.)?

    2) suchst du dir auf deinem Wissensstand was so schwieriges wie die Programmierung eines Bots aus?

    3) liest du dir für sowas banales wie Instanzabfragung nicht mal die Hilfe durch? ("instance_count()")

    4) Kommst du nicht endlich mal auf den Punkt und sagst uns, wo GENAU dein Problem liegt?
  • Mal eine Frage:
    Dass ich euch nicht weiterbelästige...
    Woher habt ihr denn das Wissen (Quellen)
    Den ich möchte dieses Spiel ausschließelich dafür machen dass ich weiß wie man ein bot macht!

    Ich möchte dass der gegner eine kaserne baut ohne dass ich es mitbekomm und er keinen geregelten ablauf hat...
    Ich weiß nicht wie ich es erklären soll!...

    Gruß
    Der Gedanke ist die stärkste Waffe!
  • Man es gibt keine Funktion, die

    GML-Quellcode

    1. ErstellNenBotMitKIDerNeKaserneBautWennIchNenDefenseTowerBaue();

    heißt. Das musst du dir alles selbst programmieren und dann bei technischen Fragen: Code funzt nicht, Bot macht in dem Zeitpunkt nicht das, was ich will - einfach mal hier im Forum dein Problem beschreiben. Das Problem bei dir hier im Moment ist, dass es einfach für jedes Spiel eine andere KI gibt und die muss man eben komplett selbst programmieren, dafür gibt es keine wirklichen Tutorials. Außer, dass vllt funktionen erklärt werden.

    Also fang erstmal an, dass der Bot ne Instanz erstellt, wenn du eine bestimmte Instanz erstellst und wenn du nicht mal das hinbekommst, dann versuch dich an was leichterem. D&D und KI das funktioniert auch nicht wirklich und man verliert sehr schnell den überblick. Denn der Bot hat sehr viele if-Abfragen und die schreib ich mir lieber in GML:

    GML-Quellcode

    1. //Vielleicht leicht übertriebenes Beispiel
    2. if(...)
    3. {
    4. if(...)
    5. {
    6. SonstigeFunktionen();
    7. VariablenUndBefehle();
    8. }
    9. }
    10. else
    11. {
    12. if(...)
    13. {
    14. FunktionB();
    15. VariableB=WertB;
    16. }
    17. }
    Alles anzeigen


    als das in D&D:




    Hier D&D Icons






    Hier noch mehr D&D Icons! o_O


    Edit: Tabeinzüge gehen schon wieder nicht. o_O
    mfg Critical
  • Naja... ich versuchs einfach mal:
    Also, mach im Create Event vom Controller Objekt:

    GML-Quellcode

    1. global.gebaut = 0;

    Dann mach im Event, wo der Player einen Defense Tower baut:

    GML-Quellcode

    1. global.gebaut = 1;
    2. /* instance_create(mouse_x,mouse_y,obj_defense_tower); */

    Und im Step Event vom Gegner:

    GML-Quellcode

    1. if global.gebaut = 1 { instance_create(200,200,obj_kaserne); /* '200' kannst du natürlich ersetzen. ;) */ global.gebaut = 0; }

    Das müsste klappen! ;)
    fabse64 -> haiyyu
  • Also ganz ehrlich, nichts gegen dich, soll auch kein Klugscheissen sein, aber meiner Meinung nach solltest du wirklich mit was Einfachem anfangen und dich vorallem mit gml vertraut machen.
    Wie ich es zumindest erfahren habe, gelangst du irgendwann an einen Punkt, an welchem du dich sicher im Programmieren fühlen wirst, die Fragen, die du dir jetzt stellt, plötzlich ganz einfach und logisch erscheinen. Denn wenn du einen KI-Bot machen möchtest, aber nicht mal weist, wo bzw wie anfangen, dann bist du einfach noch nicht bereit dafür. Also hol dir am besten ein ganz einfaches Spielbeispiel(zb ein Platformer) und bau den immer weiter aus, so gelangst du laufend zu neuen Kentnissen und kannst dich an was "Richtiges" wagen.

    Vielleicht könnte man das mit der KI etwa so lösen:
    Man hat einen KI-Kontroller, der sozusagen den Spieler ersetzt.
    Dieser speichert alle seiner möglichen zu bauenden Gebäude/Einheiten mit einem Wert, der immer aktualisiert angibt, wie sehr so ein Gebäude/Einheit gebraucht wird. Erstellt wird dann immer und immerzu das Gebäude/Einheit mit der höchsten Priorität.
    Wenn dies geschieht, wird die Priorität von diesem Objekt(Gebäude/Einheit) reduziert und je nach dem, wie hoch diese war, steht entsprechend ein anderes Objekt an erster Stelle.
    So wird auch durchgehend überprüft, was fehlt an Rohstoffen was ist zuviel etc. und daraus addieren/subtrahieren sich ebenfalls neue Prioritätswerte für die einzelnen Objekte. Wieviel bei welchen Objekten abgezogen wird, könnte man ausserhalb festlegen und so verschiede "Strategie-Profile" definiert werden(zB. viele Abwehrtürme bauen, oder viele Panzer produzieren etc).
    Auch wenn eigene Einheiten verloren gehen oder man feindliche zerstört, würde das die Prioritäten der Einheitenproduktion ändern zB. von Panzern auf Flugzeuge, da der Gegner die eigenen Panzer zerstört hat.

    Das ganze müsste natürlich gut durchdacht werden und ist von einem D&D-Einsteiger definitiv nicht zu lösen(vielleicht schon..^^)

    So, hoffe, das tönt nicht zu geschwollen, wollte nur meine mikrigen Erfahrunen und meine Idee zu Bildschirm bringen.. ;)
    "das war meine letzte flamewar PM an dich ."
  • @pick of destiny

    Du darfst dir eine KI nicht "intelligent" im eigentliche SInne vorstellen. Es sieht nur aus als ob. Also das heisst, du fragst die ganze Zeit bestimmte Dinge ab. Ähnlich wie unser Gehirn (daher auch künstliche Intelligenz): Wenn... dann..., Wenn... dann... .

    Aber ganz ehrlich: Mit Drag&Drop kannst du keine vernünftige KI erstellen. Klar, die ein oder andere ist sicher möglich, dennoch solltest du (falls du schon bereit bist) das Ganze mit GML lösen. ;)
  • Es kommt ja immer drauf an, was der Bot(abgeleitet vom Begriff robot) können soll.

    Es gibt ja für alle möglichen Spiele Bots.

    Z.B.: Für Rennspiele ( Der Bot soll fahren können und vllt. Items benutzen)

    Für Shooter(Der Bot soll schießen können,vllt. rennen und verstecken)

    Dies muss man natürlich alles selber coden/proggen.

    In deinem Fall wäre es am besten wie bei einem RTS(álias Age of Empires,etc.) den Bot aufzubauen.

    Und dieser ist garnicht mal so schwer.

    Und das grundgerüst(Haupbasis,Eigende verschiedene Truppen bauen,Sammeln,Kämpfe,etc.(Bot kann das selber))kann man sehr leicht aufbauen.

    Sogar wenn man den Nerv dafür hat zu 100% in Drag & Drop.

    Du musst halt viel mit If und so rumexperiementieren.

    Vielleicht wenn ich bald mal Zeit habe könnte ich dir ein example basteln.

    Aber soweit ich weiß gibt es auch ein Example für RTS , müsstest du mal bei Google suchen.

    RTS gamemaker , RTS game maker , game maker RTS, Rts example game maker, RTS example gamemaker,....

    Das könnte man eingeben ;)

    Hoffe ich konnte helfen !
  • Dieses RTS kenne ich nicht und ich habe auch noch nie ein Strategiespiel gemacht. Aber gerade in einem solchen Spiel kann ich mir gut vorstellen, wie beim Bot immer abgefragt wird, was und wie viel davon der Spieler aufgebaut hat und handelt dann so.
    z.B. if (differenzkrieger >= 5) {instance_create(objBuildKrieger)}

    Irgendwie so was. Aber in Drag&Drop? Also da brauchst du, wie Prustel schon sagte, viel Geduld. :D
  • Ich würde es so machen, dass die Truppen in Offensiv- und Defensivinfanterie bzw. -kavallerie aufgeteilt ist. Die Anzahl der Defensivsoldaten wird mit der Ausbaustufe der Stadtmauer verrechnet und anhand dieser Zahl baut der Gegnerische Bot dann Off-Truppen. Selbiges auch andersrum: Anhand der Anzahl der Offtruppen werden entsprechend viele Deftruppen gebaut bzw. die Mauer ausgebaut.