Tick

De Minecraft Wiki
Aller à : navigation, rechercher

Comme de très nombreux jeux vidéo, Minecraft est régi par une grande boucle de programme. À l'image des roues crantées d'une horloge qui sont toutes synchronisées avec leur balancier, l'ensemble des tâches destinées à faire évoluer le jeu sont synchronisées avec cette boucle de programme.

Un cycle de cette boucle de jeu est appelé tick.

Tick de jeu[modifier | modifier le wikicode]

Nombre
de ticks
écoulés
Avancement
de la journée
dans Minecraft
Durée réelle
0 tick 0 s 0 s
1 tick 3,6 s 0,05 s
20 ticks 1 min 12 s 1 s
1 000 ticks 1 h 50 s
1 200 ticks 1 h 12 min 1 min
12 000 ticks 12 h 10 min
24 000 ticks 1 jour 20 min

La boucle principale de Minecraft est lancée 20 fois par seconde et s'exécute donc tous les cinq centièmes de seconde (1/20ème de seconde). Une journée dans le jeu dure exactement 24 000 ticks ou 20 minutes (24000 × 0,05 seconde = 1200 secondes). Le tableau ci-contre présente quelques valeurs permettant de convertir le nombre de ticks en durée écoulée dans Minecraft et en réalité (voir aussi l’article Cycle jour/nuit).


Dans le cas où l'ordinateur exécutant le jeu n'est pas suffisamment puissant pour opérer à cette vitesse, il y aura moins de ticks par seconde. La majorité des actions s'exécutant en fonction de ces ticks, les choses peuvent prendre plus de temps sur un ordinateur trop lent (comme la pousse des cultures par exemple).

À chaque tick, de très nombreux aspects du jeu sont mis à jour (la position des objets animés, le comportement des créatures, les niveau de vie, de saturation et de faim du joueur, etc.).

D'autres aspects du jeu, comme le rendu graphique, sont indépendants des ticks, et sont gérés à part dans une boucle asynchrone. Le rendu graphique est effectué une fois le tick effectué. C’est pourquoi on peut observer une variation du nombre d’images par seconde (FPS) tout en conservant un nombre de ticks par seconde (TPS) constant (si la synchronisation verticale est désactivée). Cela empêche les performances vidéo d'affecter la mécanique de jeu et vice versa.

La commande /time set <nombre de ticks> permet de régler manuellement l'heure dans le jeu. Ainsi :

  • /time set 0 correspond au matin
  • /time set 6000 correspond à midi
  • /time set 12000 correspond au soir
  • /time set 18000 correspond à minuit

Notez qu'un serveur multijoueur peut être « lent » lors du premier démarrage, ce qui est dû en partie au compilateur Java qui prend plus de temps par défaut à compiler le code Java à l'exécution.

Mise à jour des blocs[modifier | modifier le wikicode]

7
6
5
4
3
2
1
7 6 5 4 3 2 1
1 2 3 4 5 6 7
1
2
3
4
5
6
7
Vue du dessus des tronçons mis à jour par rapport à la position du joueur.

Mise à jour des tronçons[modifier | modifier le wikicode]

À chaque tick de jeu, chaque tronçon (chunk) inclus dans la distance de rendu et dans les 128 blocs de distance autour du joueur est mis à jour.

Ces mises à jour peuvent avoir différents effets :

  • s’il y a de l’orage, la foudre peut s’abattre quelque part dans le tronçon (1 chance sur 100 000)
  • 1 chance sur 16 qu’une colonne du tronçon soit choisie, et, sur le bloc le plus élevé de cette colonne :
  • un certain nombre de blocs compris dans le tronçon seront mis à jour, comme décrit ci-dessous.

Mise à jour des blocs[modifier | modifier le wikicode]

À savoir :

Un tronçon est un ensemble de 16×256×16 blocs (256 étant l’altitude).

Un tronçon est constitué de 16 sections cubiques de 16×16×16 blocs les unes sur les autres.

À chaque tick, dans un rayon de 7 tronçons autour du joueur (15×15 tronçons centrés sur le joueur, soit 225 tronçons), 3 positions de bloc (ou le nombre défini par la règle de jeu randomTickSpeed) sont choisies aléatoirement dans chaque section (225×16, soit 3 600 sections). Lorsqu'un bloc se trouve à l'une de ces positions, il reçoit un tick de bloc. Ce tick est ignoré par la plupart des blocs car ils ne peuvent pas être mis à jour (comme le bloc de pierre par exemple), mais il déclenche pour certains autres blocs une action spontanée :

La particularité de cette mécanique repose sur son caractère aléatoire. Il n'y a aucun moyen de prédire quand un bloc va recevoir son prochain tick et être mis à jour. Ceci explique pourquoi, dans un champ de blé, la dernière graine plantée peut arriver à maturité avant la première graine plantée ! En moyenne, un bloc est mis à jour toutes les 68,27 secondes, la médiane étant à 47 secondes (c’est-à-dire 1 chance sur 2 que ce soit moins de 47 secondes, et 1 chance sur 2 que ce soit plus de 47 secondes). Il y a 1 % de chances que cette durée atteigne 5 minutes ou plus. Pour davantage de détails mathématiques concernant ces statistiques, consulter les articles Loi binomiale et Loi de Poisson de Wikipédia.

Dans Minecraft, la limite maximale est de 65 536 mises à jour de blocs en un tick de jeu.

D’autres blocs peuvent générer une requête de tick. Ces ticks « programmés » permettent à certains blocs d’agir de façon prédéterminée. Par exemple, les répéteurs vont programmer un tick pour prévoir un changement d’état, ou l’eau qui va programmer un tick lorsqu’elle a besoin de se déverser. Un tick programmé et un tick aléatoire peuvent avoir des effets différents sur un même bloc.

Correspondance avec le tick de redstone[modifier | modifier le wikicode]

Certains composants, comme le répéteur, imposent au signal de redstone, des délais appelés ticks de redstone. Ces délais ne doivent pas être confondus avec les ticks du jeu. Il n'ont d'ailleurs pas la même durée :

Réglage du répéteur (ticks de redstone) 1 2 3 4
Correspondance en ticks du jeu 2 4 6 8
Durée en secondes 0,1 0,2 0,3 0,4

Voir aussi[modifier | modifier le wikicode]

Promotional Content