CS2D - Nebel/ Sicht

  • GM 6

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

  • CS2D - Nebel/ Sicht

    Hey leutz
    Ich habe schon mal das thema angesprochen, leider bin ich bis jetzt nicht weiter gekommen... ;(
    ... ich versuche eine ki oder einen spieler zu "bauen" der nicht um ecken oder durch wänden sehen kann...
    *bild
    Wie ich mir das vorstelle weiss ich leider auch nicht :(
    ich hoffe ihr kennt cs2d da ist mir das zu ersten mal aufgefallen
    Ich dachte mir das man sowas vlt. mit dem Licht! machen könnte... hat jemand eine idee?
    gruß BigBadBoy ;)
    Bilder
    • vision.png

      5,13 kB, 320×240, 209 mal angesehen
    Yes:evil:! It's me:whistling:'

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

  • Der witz an der sache ist, der bot weiss IMMER wo der Spieler ist. Die kunst ist es ihn so zu programmieren das der spieler es nicht bemerkt.

    Lass den Bot doch einfach nicht in die richtung des spielers schauen wenn er keine freie sicht (collision_line) zum spieler hat und er schaut in die richtung in der er geht. hat er eine dann lass den bot den spieler anschauen.
  • colision line ist richtig

    Ja so hatte ich es auch mal gemacht. Das funst ganz gut. Das must du noch mit dre anweisung if Distnace_objekt(spiel) kombinieren. Denn der Bot schaut auch dann zu dir wenn er dich auf 1000 meter sieht.
    Wenn der bot dann feuern soll wenn er dich sieht macht er das auch dem entsprechen auch auf große entfernung auch wenn du ihn nicht mal sieht. Darum must du noch angeben wie nach er sein muss und dann die collisionsline abfrage.
    Ach und bei colliion line (die objekt angabe) muss die algmeine wand sein. zb obj_solid. oder wie auch immer alles wände mit einem haupt wand objekt verknüpft sind
    Meine Signatur hat kein Visum für das GM Forum erhalten.
  • Hui!
    Hört sich gut an! Das ist auf jedenfall ne gute Idee!
    Wie ist denn jetzt der genaue code? Oder besser gefragt... wie kann ich das schreiben?
    Machen wirs mal ganz einfach sobalt man gesehen wird! BAMM! Game over!
    und noch ne kleine frage... ist ganz gut aber... kann man das auch in die Richtung machen in die der gegner schaut machen? also... xD
    ich meine das er dich nicht umgedreht sehen kann... 8|
    Yes:evil:! It's me:whistling:'
  • Das mit der Richtung dürfte nicht schwer sein.

    Du scheckst die Richtung (direction), und die Richtung zum Spieler Objekt (directon_to_object), diese Dürfen dann x und y abweichen, um eine gewisse Breite zu griegen. Ist dies erfüllt, wird mit distance_to_pointn wie schon gesagt, die Distanz gecheckt.

    Könnte so aussehen (nicht getstet):

    GML-Quellcode

    1. {
    2. dirtpla = direction_to_object(o_player);
    3. if ( dirtplay <= direction+30 || dirtplay >= direction-30)
    4. if (distance_to_point(o_player.x,o_player) < 51)
    5. <tue dies>
    6. }
  • Hier ist mein altes Topdown

    Da ist das so gelöst wie es bei dir sein soll.
    Die gegnerfeur erst wenn du bestimmte distance hat und auch nur wenn sie dich sehen
    topdown.zip
    Meine Signatur hat kein Visum für das GM Forum erhalten.
  • ansonsten könnte man für ein Sichfeld sicherlich collision_triangle (gibt es das überhaupt? sollte oder?) benutzen mit dem 1. Punkt auf dem Player und dann mit 2. punkt=x+lengthdir_x(deineDistanz,direction+30) und y+lengthdir_y(deineDistanz,direction+30) und bei punkt3 das gleiche mir direction -30.

    Somit hättest du einen 60° Winkel in dem er schauen kann.
    Wenn da eine kollision stattfindet, kannst du zusätzlich noch eine collision_line Abfrage machen ob die Sicht evtl. durch Wände blockiert ist.
    Wenn dies nicht der fall ist, lass ihn schiessen oder so.

    Ansonsten wär es glaube ich noch eine Möglichkeit die Direction direkt anzusprechen und z.B.

    GML-Quellcode

    1. target=instance_nearest(x,y,obj_player);
    2. if(abs(point_direction(x,y,target.x,target.y)-direction)<=30)&&
    3. (!collision_line(x,y,target.x,target.y,obj_solid,1,1))&&
    4. (point_distance(x,y,target.x,target.y)<=200)
    5. {
    6. schiessen;
    7. }
    So far, Schattenphoenix~
    _____________________________________________________________________________
    "Who needs a stairway to heaven...
    If there is an elevator to hell... ?
    "
    - Vergessen
    "Auch ein perfektes Chaos ist etwas vollkommenes."
    - Jean Genet
  • "tut mir sorry für den doppelpost" aber... ich kann den vorherigen nicht mehr ändern (warum? - ka^^')
    An x-sascha gibts dein tut auch in gm6? das ist gmk :( hab ich leider nicht :|
    Yes:evil:! It's me:whistling:'
  • Such mal hier rum, dann solltest du unter umständen den "Lateral GM" finden, der kann GMK, GM6 und die GM5(kA wie die heissen) öffnen und auch als andere wieder speichern.

    =>

    Er kann die GMK zur GM6 machen ;)

    Hab ihn selber grad nich griffbereit, geistert hier aber sicher rum.
    So far, Schattenphoenix~
    _____________________________________________________________________________
    "Who needs a stairway to heaven...
    If there is an elevator to hell... ?
    "
    - Vergessen
    "Auch ein perfektes Chaos ist etwas vollkommenes."
    - Jean Genet
  • BigBadBoy schrieb:

    hmmm
    das gibts nirgends...
    ich finde zwar n paar leute die drüber quasseln aber nirgends n dl oder sowas =/ 8|

    Oh man, kennste Google?

    http://www.ismavatar.com/lgm
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Kannst du englisch :whistling: ?

    Da wird doch alles gut erklärt... es ist keine exe es ist eine jar Datei (Java). Du brauchst also auch das Java Runtime dingen, (Java SE)... da auf der Seite ist der Doanload link. Dann benutzte Firefox und kein IE, steht da halt.

    Rest sollte sich klären oder?

    Mfg.,
    Metalknight
  • BigBadBoy schrieb:

    aber ich finde da keinen dl bzw. eine exe oder ähnliches....
    Nee, du bist einfach nur zu faul oder zu blöd zum Suchen, sorry...

    LateralGM
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Da man keine Beiträge hier editieren kann:
    ich kann mauge nur recht geben, in der Navi der Seite steht doch "DOWNLOAD", nicht zu übersehen!
    Und wenn man halbwegs englisch kann, weiß man auch was zu tun ist >.>