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
Leider sind viele wichtige Aspekte bisher nicht genannt worden.Hi zusammen,
in der Spieleentwicklung begegnet einem eigentlich ständig das Credo, man solle zeitbasierte Frame-Updates verwenden, statt statischen Updates. Das sei professioneller und angenehmer für den User.
Ich habe in den letzten Jahren viele Spiele entwickelt, beruflich und in meiner Freizeit, und ich habe immer wieder die Erfahrung gemacht, dass statische Updates mehr Vor- als Nachteile haben:
- Als Nutzer sehe ich keinen Usability-Unterschied ob das Spiel nun für einen Moment etwas langsamer läuft, oder ob ich durch Ruckler Reaktionszeit verpasse
Ich überlege deshalb, in Zukunft vollständig auf zeit-basierte Updates zu verzichten, es sei denn, ich stelle vorher fest, dass im speziellen Fall zeitbasierte Updates mehr Sinn machen. Ich muss dazu sagen, dass es in meinem Fall vor allem um Flash-Games geht, die haben nämlich eine fest eingestellte Frame-Rate, die nicht überschritten wird, auch wenn der Rechner mehr leisten könnte. FPS Bremsen kann man aber natürlich auch in anderen Sprachen einbauen..
Wie seht ihr das?
Ist es nicht. Gegenbeispiele gibt es hier alle paar Wochen ("warum bewegt sich nichts, wenn mein Spiel hohe FPS hat?" oder "warum bewegen sich meine Spielfiguren unterschiedlich schnell auf verschiedenen Rechnern?").
@Jonathan_Klein im Prinzip hast du recht, aber je nach Situation können sich die Instabilitäten schon bemerkbarmachen, indem z.B. der Sprung immer unterschiedlich lang ist (was ggf. schon nervig sein kann, wenn die Unterschiede sehr deutlich sind).
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
@BlueCobold, dann sag mir bitte wie dein Ansatz ausschaut, wenn wir folgendes Szenario haben:
2D Spiel. Beim Tastendruck auf die Pfeiltasten wird eine Beschleunigung in diese Richtung angelegt. Der Spieler drückt nun für 1 Sek auf links drückt, dann 1 Sec auf Oben, 1 Sec auf Rechts und schießlich 1 Sec auf Unten.
Wie würdest du das bei deinem Ansatz machen? Ggf fehlt mir einfach die Vorstellungskraft wie du das geschlossen lösen willst, ohne dass sich die Beschleunigung ändert (Weil für mich ergibt sich da: 1. sec a = (-1,0), 2. sec a=(0,1), 3. sec a=(1,0), 4 sec a=(0,-1)).
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »BlueCobold« (16.02.2011, 19:45)
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Dieser Beitrag wurde bereits 9 mal editiert, zuletzt von »BlueCobold« (16.02.2011, 21:05)
Auf einem ähnlichen Prinzip funktionieren meine Umsetzungen auch, allerdings ohne ein Intervall zwischen 0 und 1, sondern mit einer Startzeit und nach oben offenen Zeitspanne. Vorteile sind numerische Stabilität, frei Skalierbarkeit (auch negativ) der Zeit-Achse bei gleicher FPS-Anzahl und vor allem Zeit-Determinismus, unabhängig von irgendwelchen FPS.
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »BlueCobold« (16.02.2011, 21:03)
Werbeanzeige