Ok donc c'est une question de niveau très débutant mais j'ai besoin de savoir, à quoi fait référence le terme "tick" dans le contexte du développement de jeux? Est-ce la même chose que FPS? Merci!
Ok donc c'est une question de niveau très débutant mais j'ai besoin de savoir, à quoi fait référence le terme "tick" dans le contexte du développement de jeux? Est-ce la même chose que FPS? Merci!
Réponses:
Une tique est une unité de mesure du temps, en particulier, elle se réfère à une seule instance d'une action répétée (généralement une action large) dans un jeu, ou à la période de temps que l'action consomme.
Les tiques sont répétées et (surtout) régulières; le terme vient de l'un des sons émis par une horloge ("tick" et "tock").
En règle générale, un tick est une itération d'une boucle, telle que la boucle logique principale du jeu. On peut dire, par exemple, que la logique du jeu "coche" une fois une trame, ou que "pendant la coche, les positions des personnages sont mises à jour".
Cependant, il peut également se référer à des périodes plus granulaires; on peut dire que "le tick AI dans le jeu est limité à 5 ms de temps de traitement".
Le FPS est une mesure du nombre d'images (généralement des images de rendu) qu'un jeu traite en une seconde. Les ticks et les FPS ne sont pas nécessairement liés, mais parfois les gens appellent une seule exécution de la boucle logique du jeu un "cadre logique", auquel cas le taux FPS (logique) serait le nombre de ticks traités par seconde. Ceci est particulièrement courant pour les jeux qui appliquent des fréquences d'images fixes pour la logique ou la physique du jeu pour une raison quelconque.
La plupart des jeux sont implémentés en boucle. Quelque chose comme
def main
setup(a, bunch, of, stuff)
load(a, bunch, of, stuff)
while true do {
// <- A tick starts here
read(a, bunch, of, inputs)
call(a, bunch, of, stuff)
do(a, bunch, of, stuff)
update(a, bunch, of, stuff)
// <- A tick ends here
}
clean(a, bunch, of, stuff)
save(a, bunch, of, stuff)
end
C'est une façon assez standard de faire les choses, et bien que le rendu et les éléments de l'interface utilisateur puissent être gérés dans un thread séparé, la logique du jeu (appuyez sur w pour déplacer votre vaisseau vers l'avant) se produit à l'intérieur de cette coche.
Ceci est également appelé "frame" et est généralement considéré comme une fréquence d'images (à ne pas confondre avec les éléments graphiques). Tick est devenu un synonyme populaire pour aider à différencier les deux.
En tant que programmeur, votre objectif est d'avoir un taux de trame (tick) constant et stable, peu importe quoi. Cela permet de garder les réponses dans votre jeu fluides et rationnelles, tout en permettant à un modèle (programmation et non graphique) de traiter les choses de manière informatisée. Les temps de tick ne sont pas constants d'un jeu à l'autre et il n'y a pas de nombre magique. Certains jeux sont à 100 images par seconde, d'autres à 1 tick toutes les 3 secondes.
Un "tick" peut se référer à deux choses différentes. Cela pourrait faire référence à une coche de cadre, comme vous l'avez dit, si tous les graphiques visibles à l'écran étaient mis à jour. Cependant, le terme "tick" peut également faire référence à un tick de boucle de jeu. Ce type de tick est l'endroit où votre code est exécuté. Habituellement, vos ticks sont dans un contexte de boucle des mêmes ticks répétitifs qui se poursuivront jusqu'à la fin du jeu.
Un tick se réfère généralement à une itération de la boucle de jeu dans laquelle toute la logique est calculée, donc les jeux ont généralement plusieurs ticks par seconde.
Cependant, de nombreux jeux exécutent à la fois les graphiques et la boucle de jeu sur le même thread, car les graphiques ne prennent généralement pas si longtemps à s'afficher de sorte que la logique est interrompue, ou vice versa (bien que les développeurs mettent en place des contrôles pour des situations comme celle-ci, comme en prenant la différence de temps entre la dernière et la dernière image et en ajustant la vitesse de déplacement en conséquence).
FPS signifie F rames P er S econd, donc pour de nombreux jeux, oui, techniquement parlant, chaque trame est un tick.
physics engine update frame
est trop long pour que les joueurs occasionnels s'en souviennent / comprennent.