Game Engines & Coding 1 · WiSe 2026/27
Die Spielschleife, unsere Arbeitsweise und das erste Objekt, das sich bewegt.
allknivesnobagel.com
/teaching/gec1
Eine interaktive Spielwelt in Unity. Klein ist erlaubt: Ein einziger Raum reicht.
Jeder Durchlauf ist ein Frame, viele davon pro Sekunde.
Eure Skripte laufen im zweiten Schritt. Unity ruft dafür in jedem Frame Update auf: bei jedem eingeschalteten Skript auf einem aktiven GameObject, das diese Methode hat.
Ein GameObject ist zunächst leer. Was es kann, bestimmen seine Komponenten.
Jede Component ist ein Baustein mit eigenen Einstellungen im Inspector. Auch ein Skript ist eine Komponente.
Ein Commit ist ein Speicherpunkt. Geht etwas kaputt, springt ihr dorthin zurück.
Werkzeug, Modell, Zweck, Dateien. Das Verzeichnis ist Pflicht, auch ohne KI-Nutzung.
Dreizehn Tage ohne Kurs. Bringt jedes Mal etwas mit, das läuft, und eine Frage.
Ein Würfel, ein Skript, eine Zeile in Update.
void Update()
{
transform.Translate(0, 0.05f, 0);
}
Ein Spiel läuft in Frames: In jedem Frame ruft die Engine Update() auf. Zwei Würfel steigen nach oben, beide im selben Spiel. Der eine rechnet „pro Frame 0,05 weiter“ (transform.Translate(0, 0.05f, 0); ohne deltaTime), der andere „3 pro Sekunde mal deltaTime“ (transform.Translate(0, 3f * Time.deltaTime, 0); mit deltaTime). deltaTime ist die Zeit seit dem letzten Frame in Sekunden: bei 60 Frames pro Sekunde etwa 0,0167, bei 15 etwa 0,0667. Das Diagramm zeigt den Weg über der Zeit. Jeder Frame ist eine Stufe der Treppe und ein Strich auf der Frame-Leiste unter der Zeitachse; der Abstand zweier Striche ist deltaTime. Eine gestrichelte Linie zeigt das Soll: 3 Einheiten pro Sekunde. Bei 60 Frames pro Sekunde liegen beide Treppen auf dieser Linie. Bei 15 Frames pro Sekunde schafft der Würfel ohne deltaTime nur ein Viertel des Wegs (seine Treppe ist flacher), bei 144 Frames das 2,4-Fache (steiler). Der Würfel mit deltaTime bleibt bei jeder Bildrate auf der Linie: wenige Frames heißt große Stufen, viele Frames kleine. Ein Ruckler (ein Frame dauert eine halbe Sekunde) lässt den Würfel ohne deltaTime zurückfallen; der mit deltaTime springt in einer Stufe 1,5 Einheiten hoch und ist wieder auf der Linie. Merksatz: Ohne deltaTime gilt die Bewegung pro Frame, mit deltaTime pro Sekunde.
tempo = 3;
// in Update()
y += tempo
* Time
.deltaTime;
void Update()
{
transform.Translate(0, 3f * Time.deltaTime, 0);
}
Ohne deltaTime gilt Bewegung pro Frame, mit deltaTime pro Sekunde.
deltaTime ist die Zeit seit dem letzten Frame. Wer damit multipliziert, bewegt Objekte pro Sekunde statt pro Frame.
„Erkläre Zeile für Zeile, was dieses Skript in jedem Frame tut. Ändere nichts.“