Ticks?

volcanoFL

Mitglied
Hi, Markus Persson ('Notch') arbeitet in seinen Java-Spielen mit sog. "Ticks" als Zeiteinteilung; kann mir jemand sagen was das ist, wo das herkommt und ob man sowas braucht, wenn man Spiele entwickelt?

(Stand bei seinem LD48-Livestream auch immer im Debug-Fenster.)
 

ThreadPool

Bekanntes Mitglied
Hi, Markus Persson ('Notch') arbeitet in seinen Java-Spielen mit sog. "Ticks" als Zeiteinteilung; kann mir jemand sagen was das ist, wo das herkommt und ob man sowas braucht, wenn man Spiele entwickelt?

(Stand bei seinem LD48-Livestream auch immer im Debug-Fenster.)

Ticks sind oft definiert als eine Zeiteinteilung z.B. 1 Tick = 1 ms (1/100 Sek.), = 1 Mikrosekunde etc., oder auch komplette Durchläufe z.B. bei Simulationsprogrammen (wobei man da eher "Epochen" sieht). Jedenfalls benötigt man Zeitinformationen in der Spieleentwicklung, bspw. um die zeitliche Differenz zwischen zwei Frames zu messen, für Physikberechnungen (Dauer einer Aktion), Starts von Cut-Scenes etc. pp. Die Spieleentwickler hier können dir da sicher noch präziser weiterhelfen. :)
 

Evil-Devil

Top Contributor
Ticks sind wie schon beschrieben in aller Regel Zeiteinheiten bzw. Intervalle von Verarbeitungen.

Der Hauptvorteil bei Tickbasierter Verarbeitung ist imho die Möglichkeit der Priorisierung. Jede Berechnung während des Frames benötigt eine bestimmte Anzahl an Ticks. Wie viele genau hängt vom jeweiligen System ab. Hierbei können aber die jeweiligen Prozesse gewichtet werden. Zb. dauert das erzeugen eines Objektes in der Spielwelt 1 Tick. Die Weitergabe an nachfolgende Objekte vielleicht auch noch 1 Tick und so weiter.

Alles in allem ist das ein sehr umfangreiches Thema.

Bissl Literatur zu aktuellen Engines:
http://s09.idav.ucdavis.edu/talks/05-JP_id_Tech_5_Challenges.pdf
UDN - Three - UnrealScriptReference

Bei letzteren wird auch kurz auf die Ticks eingegangen wie sie in der UE3 genutzt werden.
 
M

Marco01_809

Gast
Notch benutzt in Minicraft Ticks so, dass es pro Sekunde 60 mal "tickt", dabei ruft er jedesmal von allen Entitys und WorldTiles die tick() auf, die die Logik des Mobs/Blocks durchführen. z.B. im WheatTile; wenn "tickTime % 60 = 0" (es also der 60. Tick in der Sekunde ist) wächst der Weizen weiter, Slimes hüpfen wenn noch zusätzlich Random-Bedingungen erfüllt sind u.s.w.
Unabhängig von den Ticks wird dann noch bis zu 500 mal in der Sekunde gerendert, also das Bild neu gezeichnet.
Wenn nicht genug Rechenleistung zur Verfügung steht brechen zuerst die fps ein, aber das Spiel läuft dank der Ticks nicht von der Logik her langsamer. Außer wenn die CPU selbst die 60 Ticks nicht schafft, aber dann sollte das Spiel längst unspielbar sein.
 
I

irgendjemand

Gast
1 Tick = 1 ms (1/100 Sek.), = 1 Mikrosekunde

da hast du in mathe aber ziemlich gepennt wenn

1ms

für dich

1/100 sec

bedeutet und du das dann Mikrosec bezeichnest ...

um mal deinen kleinen einheiten fehler zu korrigieren

1ms = 1 MILLIsec = 1/1000 sec ...
1µs = 1 MIKROsec = 1/1000 MILLIsec = 1/1000000 sec ...
 

ThreadPool

Bekanntes Mitglied
da hast du in mathe aber ziemlich gepennt wenn

1ms

für dich

1/100 sec

bedeutet und du das dann Mikrosec bezeichnest ...

um mal deinen kleinen einheiten fehler zu korrigieren

1ms = 1 MILLIsec = 1/1000 sec ...
1µs = 1 MIKROsec = 1/1000 MILLIsec = 1/1000000 sec ...

Eigentlich dachte ich das ich das korrgiert hätte, dann habe ich die Änderung wohl nicht gespeichert. Kann passieren *schulterzuck*. :)
 
I

irgendjemand

Gast
ja ... der physikalische zusammenhang und die definition von "zeit" im allgemeinen ...
die mathematischen grundlagen von 10er potenzen , und damit auch die verwendeten einheiten *z.b. Mega , Kilo , Milli , Mikro* sollten aber bereits in der 3ten oder 4ten klasse vermittelt werden ...
und ob ich dann extra bis zur 7ten warten muss nur um dann in physik zu lernen das 1sec definiert ist das es was weis ich wie vielfache der periodendauer des überganges eines bestimmten isotops von einem ladungszustand in den anderen ... nee ... dann würde ich doch schon auf mathe tippen ...
 

Fu3L

Top Contributor
sollten aber bereits in der 3ten oder 4ten klasse vermittelt werden ...

Sollten, aber werden sie nicht.. Zumindest heutzutage nicht ;) Zehnerpotenzen und Einheitenpräfixe lernt man heutzutage in Physik.
Ansonsten dürfte diese Kleinigkeit es nicht wert sein, weiter drüber zu diskutieren ;)
 
Zuletzt bearbeitet:

Neue Themen


Oben