Probleme mit Path

  • Probleme mit Path

    Hallo an Alle

    So ich habe es jetzt geschafft das alle Geister vom Pac Man jetzt einen zufälligen Weg laufen. Was auch sehr gut klappt. Jetzt habe ich nur noch ein kleines Problem - Die Geister laufen jetzt nicht mehr richtig vertikal oder horizontal. Sie kappen die Ecken. Besser gesagt die Path - Berechnung beschreibt eine geschwungene Linie. Sieht zwar toll aus, aber in einen Labyrinth passt das nicht ganz. Zumal wenn ich die Bonuspunkte nehme, die Geister dann in den Wände hängen bleiben wenn sie gerade dabei sind die Ecke ab zu kürzen.
    Jetzt wer weis Rat wie ich dieses Beheben kann.
    Für die Path Berechnung benutze ich folgende Code:

    GML-Quellcode

    1. with (obj_Geist_01)
    2. {
    3. if (x<>obj_Hilfspunkt_01.x || y<>obj_Hilfspunkt_01.y)
    4. {
    5. mp_grid_path(global.Netz,Pfad_01,x,y,obj_Hilfspunkt_01.x,obj_Hilfspunkt_01.y,0);
    6. path_start(Pfad_01,4,0,0);
    7. }
    8. else
    9. {
    10. path_end();
    11. }
    12. }
    Alles anzeigen


    bei dem Befehl mp_grid_path(global.Netz,Pfad_01,x,y,obj_Hilfspunkt_01.x,obj_Hilfspunkt_01.y,x)bringt die letzte Einstellung nichts. Die habe ich schon ausprobiert.

    Gruß Drachen :rolleyes:
  • naja gibt es nicht irgendeine funktion, mit der man einstellen kann, ob der pfad abgerundet werden soll oder nicht? aja da wars:
    path_set_kind(ind,val) Sets the kind of connections of the path with the given index (0=straight, 1=smooth).

    © 2008 by Teamgrill Productions
  • Das lässt sich doch viel leichter ohne Path lösen, oder verstehe ich was falsch?
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Hallo mauge

    Wenn du eine besser Lösung weist, wie man die Geister etwas Intelligent ohne Pathberechnung durch ein Labyrinth laufen lassen kann. Dann lass hören. Bin für alles offen.
    Habe es vor der Pathberechnung mit zufälligen Richtungsänderung bei Wandberührung versucht. Die war auch sehr gut. Das einzige Problem darin war, sobald ich die Geister essen konnte und sie wieder in der Mitte des Labyrinth erschienen sind, blieben sie sehr lange in der Mitte. Was natürlich mit der Zeit sehr langweilig wird. Dies habe ich dann auch im einen letzten
    Beitrag erwähnt. Und bei hat man mich auf die Idee gebracht mit dem Path. Ja und den Rest kennst du ja.

    Aber wenn du einen besseren Vorschlag hast, bin ich ganz Ohr. Wie sicherlich vielen anderen auch .
    Gruss Drachen :rolleyes:
  • Also wenn zufällige Bewegungen an sich ok sind, würde ich den Geistern doch einfach ein wenig helfen, wenn sie in der Mitte sind. D.h. von dort aus kann man ihnen ja "ein wenig Intelligenz" einhauchen, bis sie draußen sind.

    Ok, dass sie sich während des ganzen Spiels intelligent bewegen sollen, hab' ich gar nicht mitbekommen. Dann ist deine Variante natürlich die Eleganteste. Hilft es eigentlich, wenn du den Geistern Masks gibst, die genau der Tile-Größe entsprechen?
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Normalerweise verwendet der GM bei Pixelkollisionen das jeweils aktive Sprite für die Berechnung. Man kann aber alternativ eine Mask einstellen, die dann stattdessen verwendet wird (also nur für Kollisionen, man sieht sie nirgendwo im Spiel!)
    “Computers are good at following instructions, but not at reading your mind.” (Donald Knuth)

    Ich schreibe mit Neo.
  • Die Idee, die wortwörtlich hinter der Maske steckt, ist folgende: evtl. kann das Objekt keine Kurven mehr fahren, wenn die Mask exakt die Tilegröße hat, z.B. 32x32. Ich weiß nicht, ob das funktioniert - einfach mal probieren.
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Hallo mauge

    Ich lade für dich Pac-Man hoch. Schau es dir an. Vielleicht weist du ja noch was, wie man das Problem beseitigen kann.
    Das Spiel ist soweit fertig. Es gibt hier und dort noch ein paar Fehler. Aber wie gesagt das grösste Problem ist für mich die Pathbewegung.
    Werde es mal mit der Maske probieren. Komme leider heute Abend nicht mehr dazu es zu testen.

    Und vielen Dank im voraus. :)

    Dies gilt natürlich auch für die anderen. Wenn jemand das Problem lösen kann als her damit. Freue mich auf jede Antwort.

    P.S.

    Das Spiel mit Space starten. Habe in der gepackte Datei noch die Schrift mit gegeben. Damit es korrekt dargestellt wird.
    Dateien
    • Pac-Man.rar

      (656,81 kB, 144 mal heruntergeladen, zuletzt: )
  • Hallo an mauge

    Habe es mal mit der Mask probiert, aber die Geister laufen immer noch so wie vorher. Naja, wenn es halt nicht geht, macht ja auch nichts. Das Spiel läuft ja so auch ohne Probleme. Werde jetzt versuchen die eins bis zwei Fehler, die im Spiel noch stecken, aus zu merzen. Danach gehe ich an ein neues Projekt. Werde versuchen Boulder Dash zu programmieren mit Leveleditor.
    Und an alle möchte ich mich auch bedanken für eure nützliche Tips.
    Gruß Drachen :)
  • Ich hab mir das jetzt mal angeschaut. Es ist schon offensichtlich, was du meinst, stört aber auch nicht weiter. Mir fällt da jetzt auch nichts weiter ein, da ich solche Dinge so noch nicht lösen musste. Allerdings ist mir noch eine andere Kleinigkeit aufgefallen: Man muss wirklich exakt im richtigen Moment drücken, wenn an einer Kreuzung die Richtung ändern will; zumindest muss man gedrückt halten. Ich würde es einfacher finden, wenn man den gewünschten Tastendruck vom Spieler speichert und bei der nächsten Möglichkeit ausführt.

    Achso, es gibt bei den D&D-Icons "Step Avoiding". Ich arbeite nicht mit D&D und weiß daher nicht, wie genau das funktioniert, aber es ist dazu da, Objekten auszuweichen. Vielleicht hilft dir das ja?!
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Hallo an Alle

    Habe mein Problem mit den Path gelöst. Habe einfach noch einmal die selbe Routine für die ängstlich Geister geschrieben, wie von den Geistern. Jetzt bleib kein ängstlicher Geist mehr in den Wände hängen.
    Hat zwar lange gedauert, aber Eile mit Weil wie man so schön sagt. Jetzt kann ich beruhigt an mein neues Projekt Boulder Dash gehen.

    Wenn ich damit Problem bekommen sollte, melde ich mich wieder.
    Bis die Tage euer Drachen. :) :) :thumbsup: :thumbsup: :thumbsup: :thumbsup:
  • Benutzer online 1

    1 Besucher