Minecraft Wiki
Advertisement

Minecraft ist ein Tick-basiertes Computerspiel. Im Gegensatz zu einem rundenbasierten Computerspiel, bei dem der Spielverlauf durch das Beenden einer Spielrunde voranschreitet, schreitet er bei einem Tick-basierten Computerspiel in immer gleichen Zeitintervallen voran, den Ticks. Nach jedem Tick werden automatisch bestimmte Aktionen ausgelöst.

Zeitliche Ticks[]

Game-Ticks[]

Jedes Spiel definiert seinen Tick oder Game-Tick selbst. Er wird in der Regel von einem Chip-Takt (clock tick) abgeleitet. Im Spiel Minecraft erfolgt ein Game-Tick alle 1/20 (=0,05) Sekunden = 50 Millisekunden. Ein Tag-Nacht-Rhythmus dauert in Minecraft 20 Minuten. Auf einem Computer mit schnellem Prozessor entspricht das exakt 24000 Ticks. Auf einem langsamen Computer erfolgen in diesem Zeitraum jedoch weniger Ticks, sodass auf einem langsamen Computer Aktionen, die nach einer bestimmten Anzahl von Ticks erfolgen, langsamer ablaufen. Mit dem Befehl /debug kann man ein Debug-Protokoll erzeugen. Darin wird auch die Zeit in Millisekunden und die Anzahl der Ticks gemessen. Als Ergebnis wird angezeigt, wie viele Ticks durchschnittlich pro Sekunde erfolgt sind. Es müssten 20 sein. Beispiel:

Time span: 45146 ms
Tick span: 630 ticks
// This is approximately 13,95 ticks per second. It should be 20 ticks per second

Nach jedem Tick schreitet das Spiel etwas weiter voran: bewegliche Objekte ändern ihre Position, Kreaturen prüfen ihre Umgebung und passen ihr Verhalten an, Gesundheit und Hunger werden durch die Spieler-Umgebung beeinflusst etc.

Die Bildrate (engl. framerate, gemessen in fps, frames per second) steht in keinem Zusammenhang mit den Ticks. Während die Bildrate durch Einstellungen verändert werden kann, sind die Ticks idealerweise stets gleich lang - niemals schneller als 50 Millisekunden. Daher hat eine Veränderung der Bildrate keinen Einfluss auf die Spielmechanik. Ist der Rechner jedoch allgemein stark ausgelastet, leiden sowohl die Bildrate als auch die Ticks. Das Spiel vergleicht ständig die Systemzeit in Millisekunden mit der Tickzählung. Wenn die Abarbeitung der Aktionen pro Tick zu lange dauert, werden einige Ticks übersprungen. Im "Game Output" des Launchers wird das protokolliert:

 
[Server thread/WARN]: Can't keep up! Did the system time change, or is the server overloaded? Running 2339ms behind, skipping 46 tick(s)

Redstone-Ticks[]

Ein Redstone-Tick ist die Zeiteinheit, in der die Verbreitung von Redstone-Signalen gemessen wird. 1 Redstone-Tick = 2 Game-Ticks (also 2/20 = 0.1 Sekunden). Die meisten Redstone-Bauelemente haben eine Verzögerung von einem Redstone-Tick.

Örtliche Ticks[]

Zufällige Block-Ticks[]

Chunks bestehen aus 16 sogenannten Sektionen. Jede Chunk-Sektion ist ein Würfel aus 16 x 16 x 16 Blöcken. Bei jedem Game-Tick werden - unabhängig von der Sichtweite - in einem Umkreis von 15 Chunks um den Spieler in jeder Chunk-Sektion drei Positionen zufällig ausgewählt und erhalten einen Block-Tick. Luft und die meisten anderen Blöcke ignorieren diesen Tick, aber einige Blöcke können ihn für eine spontane Aktion nutzen:

Im Durchschnitt erhält ein Block alle 68,27 Sekunden einen zufälligen Block-Tick. Es kann aber auch mal fünf Minuten dauern, oder in unter einer Sekunde geschehen.

Mit dem Befehl /gamerule randomTickSpeed kann man die Anzahl der betroffenen Blöcke pro Tick erhöhen, wodurch pro Game-Tick mehr als drei Blöcke einen Block-Tick erhalten. Dadurch passieren die genannten Zufallsereignisse schneller, weil die Wahrscheinlichkeit steigt, dass ein bestimmter Block getroffen wird.

Angeforderte Block-Ticks[]

Doch nicht alle Block-Ticks werden dem Zufall überlassen. Blöcke können auch einen Block-Tick anfordern, wenn Aktionen nicht zufällig, sondern in festen Zeitabständen geschehen sollen. Block-Ticks werden von den Blöcken z.B. in Redstone-Schaltkreise angefordert, deren Signalverarbeitung weiter laufen soll, von gedrückten Knöpfen, die zurückspringen wollen, von fallenden Blöcken, die fallen wollen, von Feuer, das ständig seine Form verändern will oder von Korallenblöcken, die absterben wollen.

Angeforderte Flüssigkeit-Ticks[]

Wenn Wasser oder Lava einen Block-Tick anfordert, wird das als Flüssigkeit-Tick behandelt und getrennt von den Block-Ticks in den Chunkdaten gespeichert, wenn das Spiel während der Abarbeitung unterbrochen wird. Flüssigkeiten fordern einen Flüssigkeit-Tick an, wenn sie fließen wollen.

Geschichte[]

Versionsgeschichte der Java Edition
Vollversion 1.13 (18w16a)
  • Es wird zwischen Block-Ticks und Flüssigkeit-Ticks unterschieden
Advertisement