Ok, esta es una pregunta de nivel muy principiante, pero necesito saber esto, ¿a qué se refiere el término "tic" en el contexto del desarrollo del juego? ¿Es lo mismo que FPS? ¡Gracias!
Ok, esta es una pregunta de nivel muy principiante, pero necesito saber esto, ¿a qué se refiere el término "tic" en el contexto del desarrollo del juego? ¿Es lo mismo que FPS? ¡Gracias!
Respuestas:
Una marca es una unidad de medida del tiempo, específicamente se refiere a una sola instancia de una acción repetida (generalmente una acción amplia) en un juego, o el período de tiempo que consume esa acción.
Las garrapatas se repiten y (en su mayoría) son regulares; El término proviene de uno de los sonidos que hace un reloj ("tic" y "tock").
Por lo general, una marca es una iteración de un bucle, como el bucle lógico del juego principal. Se puede decir, por ejemplo, que la lógica del juego "hace tictac" una vez por cuadro, o que "durante el tic, las posiciones de los personajes se actualizan".
Sin embargo, también puede referirse a períodos más granulares; se puede decir que "la marca de IA en el juego está limitada a 5 ms de tiempo de procesamiento".
FPS es una medida de la cantidad de cuadros (generalmente cuadros de procesamiento) que un juego procesa en un segundo. Los ticks y los FPS no están necesariamente relacionados, sin embargo, a veces las personas llaman a una sola ejecución del ciclo lógico del juego un "marco lógico", en cuyo caso la tasa de FPS (lógica) sería el número de tics procesados por segundo. Esto es particularmente común para juegos que imponen velocidades de cuadro fijas para la lógica o la física del juego por cualquier razón.
La mayoría de los juegos se implementan en un bucle. Algo como
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
Es una forma bastante estándar de hacer las cosas, y aunque los elementos de representación y UI pueden manejarse en un hilo separado, la lógica del juego real (presione w mover su nave hacia adelante), ocurre dentro de este tic.
Esto también se llama un "marco" y generalmente se lo denomina velocidad de fotogramas (no debe confundirse con el material gráfico). Tick se ha convertido en un sinónimo popular para ayudar a diferenciar a los dos.
Como programador, su objetivo es tener una velocidad de cuadro (tick) constante y estable, pase lo que pase. Esto mantiene las respuestas en su juego suaves y racionales, al tiempo que permite que un modelo (programación, no gráficos) procese las cosas de una manera amigable para la computadora. Los tiempos de marca no son constantes en todos los juegos y no hay un número mágico. Algunos juegos tienen 100 cuadros por segundo, otros son 1 marca cada 3 segundos.
Una "marca" puede referirse a dos cosas diferentes. Podría referirse a un tic de cuadro como usted dijo donde se actualizan todos los gráficos visibles en la pantalla. Sin embargo, el término "tic" también puede referirse a un tic del bucle del juego. Ese tipo de tick es donde se ejecuta su código. Por lo general, sus ticks están en un contexto de un ciclo de los mismos tics repetidos que continuarán hasta que el juego se detenga.
Una marca generalmente se refiere a una iteración del ciclo del juego en la que se calcula toda la lógica, por lo que los juegos generalmente tienen múltiples marcas por segundo.
Sin embargo, muchos juegos ejecutan tanto los gráficos como el bucle del juego en el mismo hilo porque los gráficos generalmente no tardan tanto en mostrarse para que la lógica se interrumpa, o viceversa (aunque los desarrolladores establecen controles para situaciones como esa, como tomando la diferencia de tiempo entre el último cuadro y el actual y ajustando la velocidad de movimiento en consecuencia).
FPS significa F rames P er S econd, por lo que para muchos juegos, sí, técnicamente hablando, cada cuadro es una marca.
physics engine update frame
es demasiado largo para que los jugadores casuales lo recuerden / entiendan.