Schlachtnebel
Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen
-
-
Was meinst Du mit "Schlachtnebel"?!Ein Nebeleffekt den Du auf nem Schlachtfeld haben willst oder wie?
-
ich vermute er meint einen sogenannten Fog of War, wie bei Command & Conquer und Warcraft.
-
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
- nebel_id=instance_nearest(x,y,Nebel); //such das nächste Nebelobjekt
- while (distance_to_object(nebel_id)<150) // solange das näher als 150 ist...
- { // wird diese Schleife ausgeführt
- with (nebel_id) instance_destroy(); // Das Nebelobjekt wird gelöscht.
- nebel_id=instance_nearest(x,y,Nebel); // das neue nächste Nebelobjekt wird gesucht
- }
EDIT: Hab's grad ausprobiert: Wenn du
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...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
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.... -
danke
ihr habt mir echt weitergeolfen
edit:
Gibt es auch eine methode die weniger leistung benötigt?Sie wollen den Besten
Hier bin ich
-
Ja; würd mich auch interessieren.
Einen simplen Pseudo-Nebel, den man zB. für ein Game verwenden könnte (ohne, dass sich alles aufhängt)... -
das hier sollte wenieger verbrauchen glaube ich
du must dann nur nebel malen und dann im spiel etwas tranzparent machenDie Schönheit liegt im Auge des Betrachters :D -
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?
-
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....
-
Hey Shoba,
wie sieht's aus mit dem schlachtnebel?
hast noch zeit oder nicht? wäre toll wenn du noch etwas machen könntes!
thx im vorausSie wollen den Besten
Hier bin ich