Spielerando

Variable Sprunghöhe

Bei variabler Sprunghöhe geht ein Sprung umso höher, je länger der Knopf gehalten wird. Der Sprung startet mit voller Geschwindigkeit, und sobald der Knopf losgelassen ist, bremst die Steigphase auf eine niedrige Geschwindigkeit ab. Antippen ergibt einen kurzen Hüpfer, langes Drücken einen vollen Sprung. Prüfe, ob der Knopf noch gedrückt ist, nicht wann er losgelassen wird.

Auch genannt: Sprung mit variabler Höhe, Jump Cut, Kurzer Hüpfer, Halten für höheren Sprung.

Ein gefalteter Papierfrosch springt auf einem blauen Papierfluss von einem Seerosenblatt ab und fliegt am Scheitel des höchsten von drei gestrichelten Bögen, blasse Papierfrösche markieren zwei flachere Sprünge auf nähere Blätter.
Creasewater, ein erfundenes Hüpfspiel aus gefaltetem Papier. Erfundenes Spiel, Bild mit KI erzeugt.

Das sagst du deiner KI

Kopiere es in Claude, Cursor oder ChatGPT. Gute Werte und die typischen Fehler stehen schon drin.

Baue „Variable Sprunghöhe“ in mein Spiel ein.

Das soll es bewirken: Ein Knopf gibt dem Spieler eine ganze Bandbreite an Sprüngen, vom kurzen Hüpfer bis zum vollen Satz, allein dadurch, wie lange er ihn hält. So hat er jeden Sprung selbst in der Hand.

Baue es genau nach diesem Automaten. Prüfe zuerst, ob er zu meinem Spiel passt, und bau ihn dann so:

```mermaid
stateDiagram-v2
  [*] --> ground
  ground: Am Boden
  full: Voller Anstieg
  slow: Langsamer Anstieg
  falling: Fällt
  ground --> full: drücken und halten
  ground --> slow: kurzes Antippen
  ground --> falling: läuft über die Kante
  full --> slow: Knopf los oder langsamer
  slow --> falling: höchster Punkt
  falling --> ground: landet
```

Nimm diese Startwerte:
- jumpSpeed: 12 units/s
- cutSpeed: 4 units/s
- gravity: 32 units/s²
- maxFallSpeed: 20 units/s

Achte auf diese typischen Fehler:
- Ein kurzes Antippen ergibt einen vollen Sprung: Sag deiner KI: Starte erst den Sprung, und kürze ihn dann im selben Schritt.
- Der Knopf ist schon oben, wenn der Sprung startet: Sag deiner KI: Prüfe in jedem Moment der Steigphase, ob der Knopf noch gedrückt ist. Mehr dazu bei Jump Buffering.
- Der kurze Hüpfer ändert sich mit der Bildrate: Sag deiner KI: Begrenze die Steigphase auf eine feste Geschwindigkeit, oder gib zusätzliche Schwerkraft dazu, die die vergangene Zeit berücksichtigt.
- Das Hochschleudern wird abgeschnitten: Sag deiner KI: Kürze nur eine Steigphase, die aus einem Sprung kommt.

Ändere nichts anderes im Spiel. Behaupte nichts, ohne es zu belegen: Modelliere, was dafür nötig ist, und zeig mir, worauf deine Lösung beruht und woran ich sehe, dass sie klappt. Wenn du etwas nicht zeigen kannst, sag, dass du es nicht weißt. Sag mir danach in einfachen Worten, wie ich es ausprobiere.

Oder spar dir das und schließ den MCP an: Dann findet deine KI das alles von selbst.MCP anschließen

Was es bewirkt

Ein Knopf gibt dem Spieler eine ganze Bandbreite an Sprüngen, vom kurzen Hüpfer bis zum vollen Satz, allein dadurch, wie lange er ihn hält. So hat er jeden Sprung selbst in der Hand.

So läuft es ab, als Diagramm

Alles, was es sein kann, und was es weiterbewegt. Genau danach baut deine KI.

drücken und haltenkurzes Antippenläuft über die KanteKnopf los oder langsamerhöchster PunktlandetAm BodenVoller AnstiegLangsamer AnstiegFällt
So läuft es ab, als Diagramm
  • Am Boden → Voller Anstieg: drücken und halten
  • Am Boden → Langsamer Anstieg: kurzes Antippen
  • Am Boden → Fällt: läuft über die Kante
  • Voller Anstieg → Langsamer Anstieg: Knopf los oder langsamer
  • Langsamer Anstieg → Fällt: höchster Punkt
  • Fällt → Am Boden: landet

Gute Startwerte

WertStarte mitWas es ändert
jumpSpeed12 units/sWie kräftig sich die Figur abstößt. Zusammen mit der Schwerkraft bestimmt das die Höhe eines vollen Sprungs.
cutSpeed4 units/sWie schnell ein Sprung noch steigen darf, wenn der Knopf losgelassen ist. Das bestimmt den kürzesten Hüpfer.
gravity32 units/s²Wie schnell eine Steigphase abbremst, also wie lange der Spieler Zeit zum Entscheiden hat.
maxFallSpeed20 units/sDie höchste Geschwindigkeit, mit der die Figur fallen kann.

Was meistens schiefgeht

Ein kurzes Antippen ergibt einen vollen Sprung

Sieht sich das Spiel den Knopf an, bevor es den Sprung startet, bekommt ein Antippen, das im selben Augenblick gedrückt und losgelassen wird, die volle Höhe. Als das Spiel nachgesehen hat, stieg noch nichts.

Lösung: Sag deiner KI: Starte erst den Sprung, und kürze ihn dann im selben Schritt.

Der Knopf ist schon oben, wenn der Sprung startet

Ein gemerkter Sprung kann starten, nachdem der Knopf losgelassen wurde. Achtet das Spiel nur auf den Moment des Loslassens, kommt dieser Moment nie, und ein kurzer Druck ergibt einen vollen Sprung.

Lösung: Sag deiner KI: Prüfe in jedem Moment der Steigphase, ob der Knopf noch gedrückt ist. Mehr dazu bei Jump Buffering.

Der kurze Hüpfer ändert sich mit der Bildrate

Wird die Geschwindigkeit in jedem Schritt, in dem der Knopf oben ist, mit einem Faktor multipliziert, ist die Höhe bei verschiedenen Bildraten verschieden.

Lösung: Sag deiner KI: Begrenze die Steigphase auf eine feste Geschwindigkeit, oder gib zusätzliche Schwerkraft dazu, die die vergangene Zeit berücksichtigt.

Das Hochschleudern wird abgeschnitten

Eine Feder oder ein Treffer von unten schleudert die Figur schnell hoch, während der Knopf nicht gehalten wird, und das Kürzen der Steigphase stoppt das abrupt.

Lösung: Sag deiner KI: Kürze nur eine Steigphase, die aus einem Sprung kommt.

So prüfst du, ob es klappt

Passt gut zu

Häufige Fragen

wie macht man einen sprung mit variabler höhe

Starte mit voller Geschwindigkeit. Solange der Sprung steigt und der Knopf nicht gehalten wird, begrenzt du die Geschwindigkeit auf einen niedrigen Wert. Die Schwerkraft beendet die Steigphase dann früh, und ein Antippen ergibt einen kurzen Hüpfer.

was sage ich meiner ki um variable sprunghöhe einzubauen

Kopier das: Mach den Sprung umso höher, je länger der Knopf gehalten wird. Starte mit voller Geschwindigkeit, und prüfe in jedem Moment der Steigphase, ob der Knopf noch gedrückt ist, nicht nur den Moment des Loslassens. Ist er nicht gedrückt, begrenze die Geschwindigkeit nach oben auf einen niedrigen Wert.

warum ändert sich mein kurzer hüpfer mit der framerate

Das Multiplizieren der Geschwindigkeit in jedem Schritt hängt davon ab, wie viele Schritte es gibt. Sag deiner KI, sie soll die Steigphase auf eine feste Geschwindigkeit begrenzen oder zusätzliche Schwerkraft dazugeben, die die vergangene Zeit berücksichtigt.

wie hoch sollte ein kurzer hüpfer im vergleich zum vollen sprung sein

Das ergibt sich aus den beiden Geschwindigkeiten, denn die Höhe wächst mit dem Quadrat der Geschwindigkeit. Eine niedrige Geschwindigkeit von einem Drittel der Absprunggeschwindigkeit ergibt etwa ein Neuntel der Höhe.

Woher es kommt

Frühestes Beispiel, das wir finden konnten: Super Mario Bros. (Nintendo) (1985). Jeremy Parishs Analyse von 2013 sagt, dass Höhe und Weite von Marios Sprung davon abhängen, wie lange der Knopf gehalten wird, und dass auch die Anfangsgeschwindigkeit sie verändert. Der Geschichtsteil der DiGRA-Arbeit von 2016 berichtet, dass das Spiel für die Kontrolle des Spielers über Sprunghöhe und -weite angeführt wird. Nichts hier Geöffnetes dokumentiert das Verhalten in einem früheren Spiel, aber eine systematische Prüfung früherer Spiele war nicht möglich.

  1. 1985 Super Mario Bros. (Nintendo): Jeremy Parishs Analyse von 2013 sagt, dass Höhe und Weite von Marios Sprung davon abhängen, wie lange der Knopf gehalten wird, und dass auch die Anfangsgeschwindigkeit sie verändert. Der Geschichtsteil der DiGRA-Arbeit von 2016 berichtet, dass das Spiel für die Kontrolle des Spielers über Sprunghöhe und -weite angeführt wird. Nichts hier Geöffnetes dokumentiert das Verhalten in einem früheren Spiel, aber eine systematische Prüfung früherer Spiele war nicht möglich. [Anatomy of Super Mario: X. Super-sized (Jeremy Parish, The Anatomy of Games, 2013-08-07; archived mirror)][You Say Jump, I Say How High? Operationalising the Game Feel of Jumping (Fasterholdt, Pichlmair, Holmgard, DiGRA/FDG 2016)]
  2. 1988 Super Mario Bros. / Duck Hunt instruction booklet (Nintendo of America): Das offizielle Handbuch sagt den Spielern, dass längeres Halten des Knopfs einen höheren Sprung ergibt. Das Handbuch selbst ließ sich nicht öffnen; der Wortlaut stammt von einer MarioWiki-Benutzerseite, die es zitiert und belegt, was ein schwacher Weg zu einem Primärdokument ist. [User:KamekSans/Projects/Lists of Jump Profiles/List of Jump Profiles (1981-1989) (Super Mario Wiki user page)]
  3. 2010 Adam Saltsman, 'Tuning Canabalt': Der technische Text eines Entwicklers erklärt einen Sprung mit gehaltenem Knopf, den ein Timer steuert, der auch von der Laufgeschwindigkeit abhängt. Es ist eine öffentliche Darstellung, wie sich ein solcher Sprung bauen lässt, mit der Begründung des Autors. [Tuning Canabalt (Adam Saltsman, Game Developer/Gamasutra blog, 2010-09-29)]
  4. 2010 Super Mario Bros. development notes, printed in Nintendo's 25th Anniversary Collection book: Undatierte Planungsnotizen aus der Zeit vor der Veröffentlichung wurden öffentlich, als Nintendo sie abdruckte, und ein Blogbeitrag auf GlitterBerri vom Dezember 2010 gibt sie wieder. In der englischen Übersetzung hängt die Sprunghöhe von Marios Geschwindigkeit beim Drücken des Knopfs ab. Das Blog sagt, das japanische Original erwähne auch die Knopfeingabe und enthalte ungeklärte Platzhalter. Diese Notizen zeigen die Planung, nicht das, was ausgeliefert wurde. [Mario Development Notes (GlitterBerri, 2010-12-19)]
  5. 2014 Yoann Pignole, 'Platformer controls: how to avoid limpness and rigidity feelings': Ein Blogbeitrag eines Entwicklers stellt einen festen Sprung einem gegenüber, der sich verkürzen lässt, argumentiert, dass der Unterschied in sprungorientierten Spielen zählt, und nennt Super Meat Boy, Mario und Sonic als Beispiele. [Platformer controls: how to avoid limpness and rigidity feelings (Yoann Pignole, Game Developer, 2014-01-03)]
  6. 2016 Kyle Pittman, 'Math for Game Programmers: Building a Better Jump' (GDC 2016 talk): Ein GDC-Vortrag über den Bau von Sprungbahnen aus Eingaben, die für Designer gedacht sind. Seine Sitzungsübersicht nennt eine Höhe, die mit der Spielereingabe variiert, unter den behandelten nicht-parabolischen Fällen. Gelesen wurde nur die Übersicht, nicht der Vortrag. [Math for Game Programmers: Building A Better Jump (Kyle Pittman, Minor Key Games, GDC Vault, GDC 2016)]

Super Mario Bros. ist hier der früheste dokumentierte Fall, kein gesicherter Ursprung. Aussage der Quelle: Fasterholdt, Pichlmair und Holmgard (2016) sagen, das Spiel 'is cited as the first game', das Kontrolle über Sprunghöhe und -weite erlaubt, und geben damit Tom Butlers Polygon-Feature 'The Rise of the Jump' von 2014 wieder, das sich nicht öffnen ließ. Das ist ihr Bericht über Butlers Darstellung, nicht die Aussage dieses Projekts. Parish stellt Mario den festen Bögen anderer Platformer gegenüber, gibt aber keine Liste geprüfter Spiele an. Keine hier geöffnete Quelle zeigt ein Spiel vor 1985 mit Sprüngen, deren Höhe von der Haltedauer abhängt, und keine schließt eines aus. Pac-Land (1984) wurde als Kandidat geprüft, weil es als Vorgänger auftauchte, aber sein Wikipedia-Artikel sagt nichts über das Halten des Sprungknopfs. Die Designabsicht ist nicht dokumentiert: Das hier gelesene Iwata-Asks-Kapitel über die ursprünglichen Entwickler behandelt die Verlegung des Sprungs vom Steuerkreuz auf einen Knopf, aber nicht die Höhe über die Haltedauer, und eine Aussage von Miyamoto oder Tezuka zur variablen Höhe wurde nicht gefunden. Die GlitterBerri-Notizen knüpfen die Höhe an die Geschwindigkeit, was eine verwandte, aber andere Abhängigkeit ist als die Haltedauer, daher sollten sie nicht für sich allein als Beleg für die Haltemechanik gelesen werden. Parish nennt keine schriftlichen Quellen für seine Beschreibung; sie liest sich wie eine direkte Spielanalyse, was für ein beobachtbares Verhalten vertretbar ist. Steve Swinks Game Feel analysiert laut der Arbeit von 2016 den Sprung von Super Mario Bros., aber das Buch ließ sich nicht öffnen, daher wird es nicht verwendet. Seitenzahlen des Handbuchs sind weggelassen, weil die Ergebnisse voneinander abwichen. Auch der Scheitelpunkt des Sprungs in Celeste ist relevant, aber Thorsons Beschreibung davon nennt ein numerisches Schwerkraftverhältnis, daher bleibt er wegen der Regel gegen Konstanten außen vor.

Spiele nennen wir nur als Verweis. Namen und Marken gehören ihren Inhabern, und nichts hier ist von ihnen unterstützt.

Was geprüft wurde

Das unterscheidet den Blueprint von einem Katalogeintrag: Die Werte auf dieser Seite kommen aus Code, der läuft.

Deine KI bekommt den Code

Fertiger Beispielcode kommt über die Spielerando-Verbindung, damit deine KI ihn sofort nutzen kann. So verbindest du es