Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

41

08.08.2010, 10:52

Ist die Framerate sehr hoch, kann man z.B. bei der Kollisionserkennung Probleme bekommen, weil das Objekt im ersten Schritt vor der Mauer ist und im nächsten schon komplett dahinter. Oder weil ein Counter runter läuft, wann der Spieler das nächste mal zuschlagen darf, der Schritt aber so groß ist, dass er in dieser Zeit 2 mal hätte zuschlagen müssen.

Du meinst wohl eher, wenn die Framerate sehr niedrig ist. Dennoch wäre das dann ein Fehl-Design der Engine, denn auch bei 1 FPS sollten alle Events korrekt berechnet werden, nur werden eben nicht alle angezeigt. Man sollte Spiele immer so konzipieren, dass ein Lag oder eine Unterbrechung der Berechnungen keinen Unsinn bewirkt. Das ist natürlich etwas aufwendiger, aber besser als dass der Spieler durch gewollte Lags cheaten könnte oder Dinge durch Wände hindurchfliegen, etc.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

CBenni::O

1x Contest-Sieger

Beiträge: 1 145

Wohnort: Stuttgart

  • Private Nachricht senden

42

08.08.2010, 11:22

Deshalb sollte man ja die Framerate nach unten begrenzen...

es reicht ja schon, wenn man für die Frametime einen maximal- und minimalwert einführt...

mfg CBenni::O
Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.
42!
Aufräumen kann jeder, nur das Genie überblickt das Chaos!
Metal will never die!
1. Sppro Gamecontest - mein Beitrag

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

43

08.08.2010, 11:43

die fps kann man nicht nach unten hin begrenzen^^
man sollte die framerate und die frametime nach oben hin begrenzen(z.b. 60 fps, frametime maximal 0.1)
so gibt es keine zu kleine oder zu große bewegungen. in multiplayergames kann man die frametime natürlich nicht nach oben hin begrenzen. in solchen fällen ist der server für die genaue berechnung und korrektur der clients verantwortlich.(bei einer zu langen frametime fragt der client nach den richtigen positionen, dann springt man zwar hin und her aber bei weniger als 30fps hat man sowieso andere probleme)
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

44

08.08.2010, 14:46


Du meinst wohl eher, wenn die Framerate sehr niedrig ist. Dennoch wäre das dann ein Fehl-Design der Engine, denn auch bei 1 FPS sollten alle Events korrekt berechnet werden, nur werden eben nicht alle angezeigt. Man sollte Spiele immer so konzipieren, dass ein Lag oder eine Unterbrechung der Berechnungen keinen Unsinn bewirkt. Das ist natürlich etwas aufwendiger, aber besser als dass der Spieler durch gewollte Lags cheaten könnte oder Dinge durch Wände hindurchfliegen, etc.


Jep, beim ersten mal meinte ich natürlich sehr niedrig.
Aber gut, selbst wenn man es hinkriegt, dass die Physik und alles auch mit echt miesen Frameraten zurecht kommt (1FPS geht ja noch fast, aber wenn z.B. im Hintergrund ICQ aufpoppt bleibt das System gerne mal 10 sek hängen oder so) ist es für die Spieler trotzdem noch doof, wenn das Spiel weiterläuft, ohne dass er angemessen reagieren konnte. Und ja, man kann nicht wirklich die Framerate nach unten hin begrenzen, aber man kann das Spiel in solchen Fällen z.B. langsamer laufen lassen oder anhalten. Ich würde so ein Limit vielleicht auch erst bei 1 Sek oder so ansetzen, damit es wirklich nur bei Aussetzern zum tragen kommt. Aber ich hatte es schon in dem ein oder anderen Spiel, das es im Kampf gestockt hat, ich 10 Sek nichts machen konnte und als es weiter ging, lag ich tot am Boden. Mir wäre es da schon lieber, das Spiel hätte pausiert oder so.
Lieber dumm fragen, als dumm bleiben!

Mastermind

unregistriert

45

08.08.2010, 14:51

Ist die Framerate sehr hoch, kann man z.B. bei der Kollisionserkennung Probleme bekommen, weil das Objekt im ersten Schritt vor der Mauer ist und im nächsten schon komplett dahinter. Oder weil ein Counter runter läuft, wann der Spieler das nächste mal zuschlagen darf, der Schritt aber so groß ist, dass er in dieser Zeit 2 mal hätte zuschlagen müssen.

Du meinst wohl eher, wenn die Framerate sehr niedrig ist. Dennoch wäre das dann ein Fehl-Design der Engine, denn auch bei 1 FPS sollten alle Events korrekt berechnet werden, nur werden eben nicht alle angezeigt. Man sollte Spiele immer so konzipieren, dass ein Lag oder eine Unterbrechung der Berechnungen keinen Unsinn bewirkt. Das ist natürlich etwas aufwendiger, aber besser als dass der Spieler durch gewollte Lags cheaten könnte oder Dinge durch Wände hindurchfliegen, etc.


Zeig mir die echtzeitfähige Physikengine, die mit beliebig großen Timesteps (1/Framerate für beliebig kleine Framerate) zurecht kommt. Ich bin gespannt.

idontknow

unregistriert

46

08.08.2010, 15:13

"etwas aufwändiger" ist gut :O. Gerade bei MP spielen ist das denke ich eine enorme Leistung das möglichst perfekt zu programmieren, sodass Lags keine Auswirkung auf das Spielgeschehen haben.

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

47

08.08.2010, 15:41

gerade bei sehr aufwendiger physik kann das sehr gefährlich sein und das spiel sogar dazu bringen sich aufzuhängen.
grund: für die berechnung muss man kleine schritte machen. bei einer langen frametime müssen mehr schritte gemacht werden was dafür sorgen kann, dass die nächste frametime noch länger wird, dann müssen noch mehr schritte gemacht werden und die frametime wird noch länger usw.
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

BurningWave

Alter Hase

Beiträge: 1 106

Wohnort: Filderstadt/Konstanz

Beruf: Student

  • Private Nachricht senden

48

08.08.2010, 15:56

Dann sollte man das Spiel eben pausieren und alle Rechnungen unterbrechen, wenn die Framerate unter einen bestimmten Wert sinkt (z.B. wenn das Fenster in den Hintergrund rückt), falls nicht genug Leistung vorhanden ist, so dass das Spiel "im normalen Betrieb" über der Minimalframerate läuft, könnte man das Spiel auch einfach beenden, da es dann sowieso nicht spielbar wäre...

Mastermind

unregistriert

49

08.08.2010, 17:04

gerade bei sehr aufwendiger physik kann das sehr gefährlich sein und das spiel sogar dazu bringen sich aufzuhängen.
grund: für die berechnung muss man kleine schritte machen. bei einer langen frametime müssen mehr schritte gemacht werden was dafür sorgen kann, dass die nächste frametime noch länger wird, dann müssen noch mehr schritte gemacht werden und die frametime wird noch länger usw.


Wenn die Simulation eines Zeitraums länger dauert als der simulierte Zeitraum ist das die Definition von nicht echtzeitfähig. Deshalb habe ich meine Frage von vornherein auf echtzeitfähige Engines beschränkt.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

50

08.08.2010, 17:09

Macht doch wie Ihr wollt. Allerdings will ich *kein* Spiel spielen, wo man wegen (selbst erzeugter) Lags durch Wände laufen oder durch Geschosse hindurchwandern kann, wann immer ich will. Wenn Ihr das mögt oder ihr die damit verbundenen Probleme und Algorithmen nicht implementieren wollt, dann ist das Euer Bier. Üblich ist es aber nicht, dass man einfach nur schreit: "Oh mein Gott, wie soll das gehen?", sondern da zerbrechen sich im Normalfall clevere Leute den Kopf.

Meine Spiele wird man jedenfalls nicht mit niedriger Framerate problemlos wie im God-Mode durchzocken können.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Werbeanzeige