Sprünge
Da es anscheinend ein komplizierteres, aber doch grundsätzliches Thema ist, möchte ich versuchen es zusammenzufassen.
In der Welt der Games wird manchmal an der Gravitation gedreht, manchmal kann man in der Luft einen 2. Sprung oder gar 3. Sprung machen und manchmal kann man sogar aus dem Wasser springen (meiner Meinung nach die größte Lüge der Spielgeschichte!).
Aber egal, wie man es dreht.
Wenn es sich nicht anfühlt, wie in der realen Welt mit den realen physikalischen Kräften, dann kann es schnell das Spielerlebnis beeinträchtigen.
Reale Wurfparabel (ohne Luftwiederstand) und typischer Sprungverlauf:
Man könnte jetzt, wie ein n00b (ich vor 30min) vorgehen und erst die Gravitation definieren und dann die Geschwindigkeit des Charakters. Aber das geht besser:
Bam!
Mit ein wenig umwandeln, kommt man zu der Möglichkeit sich anhand der maximal erreichten Höhe h und einem 2. Wert nach Wahl, den Rest vom PC rechnen zu lassen. Damit kann man zB bei Plattform-Spielen sich an der Höhe der zu erreichenden Ziele orientieren und muss nicht ständig an der Gravitation oder Beschleunigung schrauben. Hier noch ein paar mögliche Rechenwege:
Kommen wir zum lustigeren Part: die unrealistischen, aber dafür „fühlbar“ bessere Sprünge.
Der klassische SuperMario (wiedermal) hat einen manipulierten Sprung. Denn sobald er seinen Sprung-peak erreicht hat, verdreifacht sich die Gravitation und er fällt in einer steileren Kurve herunter. Das verleiht ihm ein einzigartiges Steuergefühl und verbessert die Präzision für sein typisches Auf-Gegner-Draufhüpfen.
Um das zu bewerkstelligen, lässt man den Player wie gehabt Höhe aufbauen, bis die Y-Beschleunigung vom positiven Wert, in den negativen Bereich wechselt. An dieser Stelle wird die Gravitation erhöht und der Player stampfen auf dem Boden auf.
Dann gibt es noch den Sprung mit der variablen Höhe, der die Sprungkraft an die Dauer des Knopfdrückens anpasst. Sobald man also die Sprungtaste loslässt, hört der Player rasch auf zu Beschleunigen und gelangt früher in die 2. Hälfte des Sprungs (den Fall). Auf der Grafik erkennt man, dass der Knopf nur bis zur ersten Markierung auf der X-Achse gedrückt wurde. Sofort setzt eine Abflachung des Sprungs an und geht in die 2. Phase (negative Y-Beschleunigung).
Doppelsprünge werden genauso gehandhabt, wie normale Sprünge. Man sollte dafür jedoch die Werte vom ersten Sprung noch gespeichert haben. Sonst kann es passieren, dass es zum senkrechten Sprung wird.
Hier noch etwas Pseudocode für die Empfehlung die Beschleunigung konstant zu halten:
Tipp: Horizontale und vertikale Bewegung getrennt halten. Bsp: Beim Springen, während der Player läuft, will man keinen rein vertikalen Sprung, sondern die vertikale Beschleunigung nur zur horizontalen HINZUFÜGEN.
G-1
Leben und
Lebensanzeigen
G-2
Strafen
und Belohnungen
G-3
Wertschöpfung
G-4
Randomness
G-5
Zeitintensität
G-6
Sprünge