Bei 15 FPS flüssig laufen?

  • GM 8

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

  • Bei 15 FPS flüssig laufen?

    Tach,

    Ich habe gerade festgestellt, dass Far Cry 2 auf meinem Laptop laut Verpackung nicht flüssig laufen sollte.
    Jedoch tut es das, solange es über 15 Frames ist. Wenn ich im GM nun ein Spiel mache, dass als Frame-Vorgabe 15 hat,
    kommt nie(!) etwas "flüssiges" heraus. Es läuft immer ein bisschen zackig. Weiß einer von euch, wie man trotz dieser
    geringen FPS zahl ein Spiel im GM ruckelfrei darstellen kann? Das würde ziemlich viele Performanceprobleme lösen.
  • 15 FPS bedeutet dass 15 mal in der Sekunde das Bild im Bildschirm erneuert wird.
    Was du vl meinst, ist z.B: das "normale" laufen des Spielers in Far cry das unter 15 FPS genau so schnell ist wie z.B: auf 60 FPS.
    Beim Game Maker hingegen verlangsamt sich das Spieltempo zu einer "Zeitlupe."

    Moderne Spiele (wie Far Cry) benutzen Delta Timing. Dabei wird anhand der Frames und der verstrichenen Zeit berechnet, um wieviel sich der Spieler in die jeweilige Richtung bewegt hat.
    Dies kann man im GM auch so lösen. (einige wenige Spiele die ich gezockt habe tun dies auch.) Das Problem ist nur, dass delta Timing mit dem ganzem Step-Event konzept nicht wirklich zusammenpasst.
    z.B: müsstest du Allarme selber Scripten, da die GM-Internen Alarme nach Steps abgearbeitet werden. Nicht nach der berechneten Delta-Time.

    Im forum gab es da einige "examples" wie das funktioniert. Wenn ich was finde, editier ich das hier rein.

    /edit: [KLICK]
  • Moderne Spiele (wie Far Cry) benutzen Delta Timing.

    Das hat nichts mit modern zu tun, Delta Timing wird so ziemlich in jedem Spiel verwendet, abgesehen von GM-Spielen natürlich.

    Dabei wird anhand der Frames und der verstrichenen Zeit berechnet, um wieviel sich der Spieler in die jeweilige Richtung bewegt hat

    Nicht ganz richtig, es wird berechnet wie lange eine komplette Schleife dauert. Dieser Wert wird dann als Faktor für z.B. Bewegungen verwendet:

    Quellcode

    1. x += speed_x * delta;


    Das Problem ist nur, dass delta Timing mit dem ganzem Step-Event konzept nicht wirklich zusammenpasst.

    Doch das tut es. Man braucht einfach eine DLL mit der man Timingfunktionen bekommt, die eine ausreichende Auflösung haben. Entweder man schreibt sich die selber (ist nicht wirklich schwer) oder man sucht sich eine, wie z.B diese.

    © 2008 by Teamgrill Productions