ich programmiere gerade aus Spaß mit SFML ein kleines Panzerspiel. Die Panzer werden über Neuronale Netze gesteuert.
Damit die Netze schneller lernen, will ich den Spielablauf auch mal beschleunigen, um die Veränderungen schneller einschätzen zu können. Alle Berechnungen erfolgen in Abhängigkeit der Framezeit. Um das Spiel zu beschleunigen multipliziere ich also einfach die Framezeit mit einem Beschleunigungsfaktor:
- Code: Ansicht erweitern :: Alles auswählen
const double ElapsedTime = myApp.GetFrameTime() * myGameSpeed;
Update(ElapsedTime);
Draw(ElapsedTime);
Wenn ich das Spiel aber beschleunige, so kommt es mir vor als würden die Berechnungen nicht mehr stimmen. Das heißt die gleiche Situation hat mit unterschiedlichen Faktoren evtl. auch unterschiedliche Ergebnisse. Ich bin mir da allerdings nicht sicher, ob das wirklich so ist. Es kommt mir einfach so vor, da die Ergebnisse plötzlich eine Veränderung erfahren. So sinkt z.B. bei höheren Beschleunigungsfaktoren plözulich die Trefferquote meiner Panzer drastisch.
Woran kann das wohl liegen und wie kann ich es beheben? Ich hab mir schon gedacht, dass evtl. die Auflösung von SFML nicht genau genug ist und es zu Abweichungen kommt. Kann das sein?
Bin für Ideen, Anregungen, Vorschläge und Tipps sehr dankbar!
Viele Grüße
Patrick
