Hilfe bei AI Movement



  • Ich programmiere derzeit zur Übung einen Flappy Bird Klon in OpenGL, allerdings mit dem Unterschied dass man selber die Röhren bewegt und der Vogel computergesteuert ist.
    Soweit funktioniert alles, nur die Bewegung für den Vogel macht mir zu schaffen. Derzeit generiert er jeden frame eine Zahl zwischen 1 und 10 und schaut ob eine bestimmte Zahl generiert wurde. Wenn ja dann "flappt" er einmal. Allerdings wird das Spiel dadurch sehr schwer, denn wenn der Vogel lange nach unten fällt und dann plötzlich flappt, dann wird er (wegen der menschlichen Reaktionszeit) zu 90% in der Röhre landen. Das ist nicht Sinn der Sache

    Wie könnte man die Bewegungen des Vogels verbessern?

    Danke schonmal im Vorraus 🙂



  • Was meinst du mit?

    D4RKS0UL23 schrieb:

    Derzeit generiert er jeden frame eine Zahl zwischen 1 und 10 und schaut ob eine bestimmte Zahl generiert wurde. Wenn ja dann "flappt" er einmal.

    Bedeutet das, er flappt zufällig bei jeden Frame?

    Wenn der Vogel vor dem nächsten Rohr steht, dann weiß er doch, auf welcher Höhe er selber ist und auf welcher Höhe die Öffnung ist.

    D.h. er weiß, er muss nun so schnell wie möglich um X Pixel nach Oben oder unten fliegen, um es zu schaffen.

    Er weiß außerdem, wie viel Frames er noch Zeit hat, bis wann er diesen Y-Höhenanpassungsvorgang abgeschlossen haben muss.

    Kannst du es nicht einfach so machen?:

    Prüfe bei jeden Frame:
    Wenn Öffnung über mir, dann fliege so schnell wie möglich nach oben.
    Fliege runter(Lass dich fallen), wenn Öffnung unter mir.
    Wenn Öffnung auf gleicher Höhe wie ich, dann drücke garnichts.