Programmierwunder Starcraft

    • GM 8

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

    • Programmierwunder Starcraft

      Hallo Community

      Ich arbeite schon seit einer ganzen Weile an einem RTS game bzw der Engine dafür.
      Es ist nicht mein erster versuch, ich schaff es aber einfach nicht es richtig ordentlich aussehen zu lassen.
      hauptsächlich das motion System macht Probleme.
      ich meine es soll realischtisch wirken außerdem auch auf weiten strecken meistens sein Ziel finden.
      Wer Starcraft kennt weiss vieleicht was ich meine. Die Bewegungen sehen immer so "smooth" aus (mir fällt grad kein Deutsches Wort das besser past dafür ein xD).
      Gibt es da irgendwelche Tricks wie man sowas im GM realisieren kann?
      Ich hab mit den build-in Funktionen für sowas experimentiert.
      potential step funktioniert halbwegs gut, es wird fast immer das Ziel gefunden allerdings sieht es nicht grade gut aus auserdem funktioniert das Schlüpfen zwischen 2 anderen Objekten nicht.
      Also das es glatt durchgeht.
      Letzeres funktioniert ganz gut bei Gridpath motion. jedoch ist da das problem dass einmal der pfad berechnet wird und dann nichtmehr. Somit gleitet das Object durch andere sich bewegende einheiten -.-
      Ständig neue Pfade zu berechnen klappt auch nicht, dann beginnt das Objekt seltsame Pfade zu beschreiten (aus irgendeinem Grund wird nie der selbe Pfad berechnet


      Weis einer wie man sowas besser realisieren kann (ich hab meiner meinung nach alles probiert xD)?
      Was habt ihr als Motion System für ein RTS verwendet.
      Ideal wäre wenn einer einen Skript hat mit dem sowas besser funktioniert.
      Mein RTS ist Top down view.

      Willst du auf diese Drachen und -eier klicken?
      Sie werden sich freuen ;)
    • Ich hab mich mit solchen Dingen nur grob beschäftigt und stieß dabei früher auf den A* Algorithmus. Ich weiß nicht, ob du den bereits kennst, aber hier der wiki Artikel dazu.. Dieser Algorithmus berechnet die kürzeste Strecke zu einem Zielpunkt.
      lg
      In meiner psychisch soziologischen Konstellation, manifestiert sich die absolute Dominanz positiver Impressionen meines Individuums.
      Kurz: Ich bin geil!

    • Hmh, doch ich kenn den. Den benutzt der GM schon von allein im grid motion system.

      Wie schon erwähnt funktioniert das system nicht so sonderlich gut. Mit einem eigenen Skript wäre es das selbe denk ich.
      Was ich bräuchte wäre eine verbesserte version des A* algorithmus das jeden step neu brerechnet wird um beweglichen objekten auszuweichen. Und zwar ohne die ganze Zeit einen komplett neuen Pfad zu berechnen.
      Eine lösung wäre diese idee, nur hab ich keine Ahnung wie ich das realisieren könnte :/ Hab noch nicht so viel erfahrung:

      Es wird einmal ein Pfad brechnet das allen Objekten ausweicht und dann in jedem step wird überprüft ob der Pfad doch mit etwas kollidiert. wenn ja wird praktisch eine beule in den Pfad errechnet die das Object umrundet, und das ganze möglichts so "smooth" das es keine Ecken gibt.

      Willst du auf diese Drachen und -eier klicken?
      Sie werden sich freuen ;)
    • Ich geb dir mal einen Tipp der dir das erleichtert. Sagen wir mal der Offset der Figuren die sich bewegen verändert sich einfach während der Bewegung. So könntest du mit dem berechneten Pfad arbeiten und dann nur mehr den Offset der Figur ändern, falls sie auf andere trifft.

      © 2008 by Teamgrill Productions
    • @MasterXY

      Meints du den Offset des Sprites?
      Ich werds versuchen. Eventuell mit einem eigenen Step avoiding code das eben nur die Position des Sprites verändert, nicht des ganzes Objekt. Sonst beginnt das objekt zu zittern weil es jeden step wieder auf den Pfad gedrückt wird.


      Das mit dem D* Algorithmus hört sich sehr cool an. Allerdings viel komplizierter als der A*algorithmus.
      Ich hab keinen Schimmer wie ich sowas angehen soll, also es in GML zu Programmieren :/
      Google hat diesmal leider wenig geholfen. Dieser Tread hier ist zufällig der einzige im Web indem "Gamemaker" und "D* Algorithmus" vorkommt :/

      Willst du auf diese Drachen und -eier klicken?
      Sie werden sich freuen ;)
    • hm, in beiden Fällen funktionieren Kollisionen aber nicht mehr :/
      Und das werd ich später noch brauchen denk ich :/


      Das mit dem D* Algorithmus wäre sehr gut. Hab jetzt verstanden wies gehen sollte aber ich weis immer noch nicht wie ich das im GM realisieren sollte.

      Der Algorithmus scheint nicht allzu gebräuchlich zu sein. Habs nicht mal in einer anderen Programmiersprache gefunden :/

      Willst du auf diese Drachen und -eier klicken?
      Sie werden sich freuen ;)
    • hm, weis nicht so ganz ob mir das helfen kann.
      Hab mich jetzt in das Thema Grids eingelesen. Damit müsste es eigentlich gehen. Aber umsetztung wird schwierig :/

      naja, werd mir das Problem nochmal vornehmen wenn der Rest der Engine fertig ist (fast soweit).

      Willst du auf diese Drachen und -eier klicken?
      Sie werden sich freuen ;)
    • ALos ich weis nicht ob dir das hiflt. Aber lad dir mal diese Alte RTS Version von Mir runter. ps ist schon älter und in 3d.
      Diverse einheiten Panzer Artilerie Hubschreuber und Transport hubschreuber der eine Panzer herbei fliegt.

      Naja wie auch immer. Schau dir die Weg findung an und sag ob es so hin kommt wie du es brauchst.
      Wenn ja schreib einfach und ick geb dir mal nen Code dafür.
      Aber nicht wundern das spiel ist ne Reine Baustelle. Nur nicht die Mitlere Maus taste drücken. Fehler Meldung :)

      Download von RTS_TEST_01


      oder
      studio-mave-games.de/RTS_test_01.rar
      Meine Signatur hat kein Visum für das GM Forum erhalten.
    • hm, sieht nicht schlecht aus.
      Das motion system sieht nicht schlecht aus.
      Mir gefällt es wie sich die Einheiten in eine Reihe aufstellen wenn man sie bewegt.
      die bewegung an sich ähnelt aber eher meiner jetztigen Version.

      Könntest du mir veraten wie du das mit der zielsuche (also um die Einheiten in eine Reihe zu kriegen) gemacht hast?
      Bei mir funktioniert das einfach durch Objekte die durch position_free() sich eine Platz suchen und dort das Ziel für die Einheit setzen.

      Die Bewegung werd ich vieleicht mit diesem Algorithmus lösen.
      Mit ein wenig Mühe werd ich das Schon hinkriegen (denk ich zumindest, hab noch nie einen Algorithmus (in dieser art) verwendet).



      Danke für die nette Hilfe Leute ;DD

      Willst du auf diese Drachen und -eier klicken?
      Sie werden sich freuen ;)
    • würde mich auch interresieren, da bei mir die einheiten immer zu dem punkt laufen und wenn dann eine auf dem punkt steht alle ausenrum laufen.

      Wie macht ihr das??
      Ich will wie mein Opa im Schlaf sterben, nicht heulend und schreiend wie sein Beifahrer.





      I am a in the GM Quiz! :heul: :vogel:

      :gmlove:

      xD
    • Die Ziel findung ist vergleichsweise einfach find ich.

      Da gibt es verschidene Möglichkeiten.

      Entweder man lässt den Platz jeder einzelnen Einheit berechnen so das eine Formation entsteht (schau dazu ins Hilfe Forum, da gibst einen Tread darüber).

      Oder (und das ist in meinem RTS so) man erstellt ein Objekt das target heißt.
      Dann wenn Sich die Einheiten bewegen sollen wird das Objekt creiert, mit Code lässt man es genau so groß (oder etwas größer) als die Einheit werden die sich bewegen soll (die Sprite des targets sollte rund sein, außerdem ist das Objekt invisible) an die Stelle wo das Ziel liegt. Mit einem With-statement lässt man dann das Target sich einen neuen Standort suchen, per lengthdir und position-free.

      In dem man den faktor wie groß das target-Objekt im Vergleich zur Einheit ist, variiert kann man ein gutes system erzielen.

      Falls du den Code brauchst, kann ich ihn dir geben :)

      Willst du auf diese Drachen und -eier klicken?
      Sie werden sich freuen ;)
    • wäre nett wenn du mir den code mal geben könntest :D

      wäre interresant anzusehen stellen sich die einheiten dann auch hintereinander auf?

      Deinem Post nach schon or?
      Ich will wie mein Opa im Schlaf sterben, nicht heulend und schreiend wie sein Beifahrer.





      I am a in the GM Quiz! :heul: :vogel:

      :gmlove:

      xD