Schlachtnebel

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

  • Schlachtnebel

    Hi Leutz

    Ich habe da eine Frage:
    Ist es im GM möglich dass ich einen Schlachtnebel erstelle?
    Wenn ja, könnt ihr mir ein Bsp. hinterlassen?
    Ich arbeite auf der reg. 6. Version.
    Sie wollen den Besten
    :evil: Hier bin ich

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von airstrike ()

  • Naja theoretisch könntest du anfangs den ganzen Level mit schwarzen Quadratobjekten namens Nebel belegen und dann diesen Code in das Step-Event deines Playerobjektes schreiben:

    Quellcode

    1. nebel_id=instance_nearest(x,y,Nebel); //such das nächste Nebelobjekt
    2. while (distance_to_object(nebel_id)<150) // solange das näher als 150 ist...
    3. { // wird diese Schleife ausgeführt
    4. with (nebel_id) instance_destroy(); // Das Nebelobjekt wird gelöscht.
    5. nebel_id=instance_nearest(x,y,Nebel); // das neue nächste Nebelobjekt wird gesucht
    6. }


    EDIT: Hab's grad ausprobiert: Wenn du

    Quellcode

    1. for (i_x=0; i_x<=room_width; i_x+=32) // durchläuft alle x-Werte des Raumes im Rasterabstand 32
    2. {
    3. for (i_y=0; i_y<=room_height; i_y+=32)// durchläuft alle y-Werte des Raumes im Rasterabstand 32
    4. {instance_create(i_x,i_y,nebel);} //erstellt an jedem Rasterpunkt ein Nebelobjekt
    5. }

    in den Room_Creation-Event schreibst, dann musst du an deinen Leveln selber gar nichts mehr ändern. In diesem Beispiel ist die Größe für die Nebelquadrate 32x32. Wenn man sie kleiner macht, dann wird die Abstufung feiner, aber wahrscheinlich geht auch die Framerate runter...
    Bei meinem Rechner (Athlon XP 1800) funktionierts bei einer Roomgröße von 1600x1600 mit 32x32 ruckelfrei, bei 16x16 wirds unspielbar langsam...
    Einige meiner Spiele:

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von interceptor ()

  • Die version mit den Objekten scheint mir schon sehr rechenintensiv. Währ ein einzelnes Objekt das den Fog of War handelt nicht sinnvoller? Im endeffekt bräuchte man ein Array, das True oder False entwelt je nach dem ob das Feld gerade sichtbar ist oder nicht.

    Weiters ist dein Ansatz zwar richtig aber nicht wirklich Fog of War. Soweit ich es verstanden habe verschinden bei dir die Nebelelemente entgültig. Das sollte aber nur beim Aufdecken der Karte der Fall sein (so die Bei Dune 2 früher oder Warcraft 2 mit abgeschalteten Fog of War). Fog of war soll überall dort entstehen wo die Karte bereits aufgedeckt ist aber sich keine eigenen Einheiten befinden um zu sehen wer sich dort noch alles herumtreibt (Feinde oder Schafe die man zu tode klicken kann :3 ) . Kann man auch handeln indem man dem Array 3 verschiedene Stadien verpasst.

    - Unentdeckt
    - Vernebelt
    - Sichtbar

    Wenn eine gegnerische einheit sich jetzt zum beispiel auf der Position x/y befindet fragt sie ab ob

    Quellcode

    1. if(FogOfWarArray[floor(x/32),floor(y/32)] != C_SICHTBAR)
    2. {
    3. //unsichtbar
    4. }
    5. else
    6. {
    7. //sichtbar
    8. }


    Jetzt einfach jede Runde überürfen wo eigene eineheiten herumgurksen und einfach in den Entsprechenden Feldern samt umgebung (spricht Sichtradius) die Werte ändern. So hätte ichs hald gelöst.
    ...
  • Tut mir leid, aber ich glaube, dass uns das nicht sonderlich weiterhilft. Die Frage ist ja nicht, wie man Nebel vernünftig darstellen kann, sondern wie man einen zurückweichenden Schlachtennebel, wie er in Strategiespielen üblich ist umsetzen kann. An dieser Stelle frag ich jetzt nochmal gezielt Shoba, ob er sich nicht mal an einer Umsetzung seiner Idee versuchen will. Wie wärs?
    Einige meiner Spiele:
  • Muß mal schauen ob ich ein kleines Demo zusammenmurksen kann. Blöderweise wurde gerade mein Urlaub auf die Hälfte reduziert und ich hab so schon kaum zeit an meinem Projekt weiterzu proggen. Wenn sichs ausgeht schau ich mal ob ich meine 'Vision' zusammenstellen kann.
    ...