Rundenstrategie, aber wie?

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

  • Rundenstrategie, aber wie?

    Hi, Leute!
    Seit kurzem Tüftle ich wieder an nem kleinem Spiel rum, hab aber einige Probleme.
    Ich möchte gerne einen Jagged Alliance-Klon erstelllen, weiß jedoch nicht wie ich das mit der Rundenstrategie hinbekomme. Könntet ihr bitte ein paar Tipps oder vielleicht sogar ein Example posten? Wäre echt cool!
    Danke schon einmal im Vorraus!
    Seien wir realistisch, versuchen wir das Unmögliche. (Ernesto Ché Guevara)
  • Ich hab mal so etwas änliches begonnen.

    Du must ein beliebiges Objekt in deinen Raum stellen (nenne es Z.B. obj_global).
    Diesem gibst du folgenden Script in den Create Event:

    GML-Quellcode

    1. deinObjektdasErscheinenSoll.alarm[0] = 30; //Hier setzt du deine Anzahl Steps ein --> Raumgeschwindigkeit (room speed) ist normalerweise auf 30, also sind 30 Steps = 1 Sekunde.


    So wird der alarm[0] des Objektes ausgelöst. Dieses Objekt kannst du Z.B. dann erstellen lassen.
    Wenn du möchtest, dass nach ZB. 2 Minuten die nächste Runde beginnt, dann mach folgendes:

    Du gibst dem obj_global einen Zweiten Alarm, diesmal den hier: alarm[1].
    Du kannst diesen Script in den Create Event schreiben...
    Diesen kannst du auf 2 Minuten stellen dh. du musst 2 Minuten (120 Sekunden) * 30 Steps (1 Sekunde), also 3600 setzen.

    GML-Quellcode

    1. alarm[1] = 3600; //3600 entspricht 2 Minuten

    Dann kanst du beim alarm[1] Z.B. eine Meldung ausgeben, oder das Spiel beenden, oder den Raum wechseln, oder was du willst.
    Wenn du willst, dass Gegner einer bestimmten Strecke folgen brauchst du "Patches" (Pfade).


    Ich weiss nicht genau, was du möchtest, ich hoffe ich konnte ein wenig helfen.
    Ansonsten müsstetst du genauer beschreiben, was du möchtest.


    Mfg
    Das Problem zu erkennen ist wichtiger,
    als die Lösung zu erkennen,
    denn die genaue Darstellung des Problems führt zur Lösung.
    ( Albert Einstein )


    I am an according to the gml n00b test!
  • Anderes Programmier Schema

    Also da kann ich dir das Programmier verhalten von Delphi empfehlen. da Delphi kein echtzeit programm ist. Passiert nur was wenn man buttons drückt. Damit will ich sagen da einfach alles Aktionen und handlungen mit dem Butten "Runde Beenden" durch gerechnet werden und auch gegen reaktion. Hin zu muss ich sagen Rundenbasierte spiel sind glaube ich mit das schwerst was es gibt. Ich selber hab sowas noch nich versucht. Aber zu meinen Delphi hab ich nen Fußballmanger programmiert. Und an ende eines Spieltages "Runde Beenden" musten alles aktionen und transaktionen durhcgerechnet werden.
    Ich hoffe ich konnte dir mit diesem Schema etwas helfen.
    Meine Signatur hat kein Visum für das GM Forum erhalten.
  • @ xx-XtremeX-xx: Das ist nicht rundenbasierend.
    @ x-sascha: Alles läuft über Ereignisse ab, auch der Game Maker macht das so. Nur hat der ein mehrere aneinander gehangene Ereignisse, die jede 1/room_speed Sekunde eintreffen.
    @ Topic: Rundenbasierend bedeutet, dass immer nur ein Spieler oder ein Computer ziehen kann. Um sowas zu erreichen, machst du dir am besten eine globale Variable, die sagt, welcher Spieler/Computer-Gegner dran ist. Wenn du die Aktionen auswertest, musst du vorher abfragen, ob das Objekt demjenigen gehört und erst dann kann man es bewegen oder ein Ziel angreifen etc. Und dann, wie x-sascha schon gesagt hast, macht du einen "Runde beenden"-Button, der dann die Spielervariable auf den nächsten Wert setzt.
    Ist alles eine Frage der Übung. :)
  • Diese Frage gab es schon weit häufiger als ein Mal, was ich ziemlich genau weiß, da ich sie auch schonmal gestellt habe ;)
    Gib in die Suche einfach mal Rundenbasiert bzw. nur Runden ein dann wirst du ne Menge dazu finden.
    Der einfachste Weg wurde aber Tatsächlich schon genannt: globale Variable(n) festlegen Und dann abfragen wer von beiden/allen dran ist.
  • Ich hätte aber zudem gerne gewust was für eine art Rundenspiel das werden soll.
    Er sowas wie Panzer General. alosmit Hex feldern oder
    sowas wie Heros of Might and Magic wo man die Kämpfe Runden bassiert macht. Alos Reiter greift an. Nächster zu. Riter macht Kombo usw und sofort
    Meine Signatur hat kein Visum für das GM Forum erhalten.
  • Er hat ja angegeben, dass es ein Jagged Alliance-Klon sein soll.

    Also:
    Einzelne Charaktere bewegen sich auf quadratischen Feldern (im ersten Teil war's ein normales Raster, im zweiten ISO - macht aber ja keinen so großen Unterschied). Die Charaktere haben dabei Action-Points. Das heißt man kann sonst wo hinklicken und so weit wie die Action-Points reichen, latscht der Charakter über die beste Route in diese Richtung. Man kann aber frei bewegen und/oder schießen. Also etwa für 9 AP gehen, für 5 AP schießen und dann für 4 AP hinlegen oder sowas. Ist im Grunde nicht so schwer zu machen. Halt die Routenplanung ist in meinen Augen das größte Problem (und entsprechend die KI, die das ja auf noch höherer Ebene braucht).
  • Ich glaub die weg findung kann er aus der RegDemo6.1 heraus nehmen. aus dem Maze beispiel. das war auch meine basis für fast alles, Nur mit der entfernung könnte das scher werden. Man könnte das mit disten machen. aber da könnte man ja bescheißen. Wenn man ein Um ein gebäude laufen müst. rechnet es ja nicht denn umweg mit und nimmt das ziel an weil es ja in reichweite ist. Wenn ichnciht selber was machen würde. würd ich das sleber gern mal probieren. ob man da ein basic hin bekommt. mal schauen. weg findung ist ja imer so ne sache.
    Meine Signatur hat kein Visum für das GM Forum erhalten.
  • Für Wegfindung übers Raster gibts ja extra Funktionen, die den A* - Algorithmus verwenden... Das dürfte das kleinste Problem werden..
    "das war meine letzte flamewar PM an dich ."
  • Auch wenn noch berücksichtigt werden soll, dass man sich durch's dickicht langsamer bewegt als über die Straße? Okay, aber sagen wir mal solche Sachen wie verschiedene Geschwindigkeiten je nach Terrain und überspringbare Hindernisse sind nicht dabei - dann dürfte es eigentlich mit dem normalen Algorithmus machbar sein. Aber beim richtigen JA-System wird, wenn ich mich nicht irre, berechnet wieviele AP welche Route braucht und nicht einfach nur, was der geometrisch kürzeste Weg ist. Btw: Ich weiß auch nicht ob der GM-Interne Algorithmus einfach auf eine ISO-Engine anwendbar ist, wo die Felder in der Höhe kürzer sind als in der Breite (wir wissen ja noch nichtmal welche Perspektive es hier sein soll - ich vermute aber mal ganz simples Top-Down).
  • Da stimme4 ich F4llout zu. Da schwieriege wird nicht die wegfindung sein. da dies im Raster ja immer einfach ist.
    Das schwierige wird sein das mit den AP (Aktionspunkten).
    Aber dazu ist mir was eingefallen.
    Denn man kann doch gut sagen, man bekommt eigentlich alles hin wenn man nur weis wie.
    Nur so zum bsp. Eine wegfindung für einen Einheitentyp bei mir nutzt keinen forgefertigten Code wie "mp_step" oder "path". sonden nen eigenen Code.
    Also muss man halt etwas um die Ecke denken dann bekommt man Dinge hin die auf den ersten Blick nicht möglich sind.
    Aber nun zu meiner variante mit der AP's

    Sagen wir man kann pro AP ein feld weiter laufen. das müst heißen das man das dritte feld was zuwweit ist. garnicht erst anwählen könnte.
    wenn man also das 2 Feld anklickt. soll ein paht (weg) zum ziel feld erstellt werden. nun müste man abfragen. wie viele Felder von diesem pfad berühet werden.
    Wenn es mehr als 2 sind ist die wahl, inakzeptabel da es nur 2 AP's gibt und mehr als 2 Felder schon zu weit weg sind um eine aktion aus zu führen.


    Hab hie mal ein schema dargestellt welche erklärt was ich meine. Es gibt vorteile und nachteile an dieser variant.
    Vorteil.
    -Man kann die wege gezielt bauen wo man lang gene kann.
    -Mit einem bestimmten befehl den ich auch mal verdenent habe sind nur bereiche zum laufen wo dieses objekt ist. also wie ein Karren auf einem weg wie bei anno 1602 oder so.
    Nachteil. jedes raster ist ein objekt. zwar immer das selbe welches für sich rechnet.
    Meine Signatur hat kein Visum für das GM Forum erhalten.