FANDOM


Un Tic en los juegos Doom puede ser o bien un Realtic o un Gametic

  • Un realtic tiene una duración de 1/35 de segundo (aproximadamente 28,571 milisegundos), medido por el temporizador del sistema en de tiempo real (reloj de pared) y es una velocidad de fotogramas (frame rate) diseñado para el juego.
  • Un gametic es una actualización de estado de un juego, que idealmente se puede completar en una realtic con tiempo de sobra. Sin embargo, a veces (sobre todo en los juegos multijugador sujetos a retrasos en la red) los gametics toman más tiempo, y entonces el juego se ralentizará.

Cada gametic corresponde a una estructura ticcmd_t. Estas estructuras representan el estado de los dispositivos de entrada (teclado, ratón y joystick) en un momento dado y se utilizan para actualizar el estado del juego. Este mecanismo proporciona una gran flexibilidad, ya que los ticcmd_ts se pueden pasar por la red para juegos multijugador y hacia / desde archivos en el disco para grabar y reproducir demos.

Técnica

En el código fuente de Doom, el ticcmd_t se define de la siguiente manera:

// The data sampled per tick (single player)
// and transmitted to other peers (multiplayer).
// Mainly movements/button commands per game tick,
// plus a checksum for internal state consistency.
typedef struct
{
     char forwardmove;   // *2048 for move
     char sidemove;      // *2048 for move
     short angleturn;    // <<16 for angle delta
     short consistancy;  // checks for net game
     byte chatchar;
     byte buttons;
} ticcmd_t;

La función G_BuildTiccmd en g_game.c rellena una estructura ticcmd_t basado en los estados de teclado, ratón y joystick. Utiliza el estado de los controles "run" y "strafe on" para interpretar correctamente los otros controles.

  • forwardmove y sidemove graban el total neto firmada de los diversos controles adelante / atrás y derecha / izquierda (cada total limitado a no más de 50 y no menos de -50).
  • angleturn registra el ángulo total neto girado de los controles de movimiento.
  • consistancy (sic, mal escrito, pero así está en el código fuente) normalmente es x-posición del jugador y se usa para confirmar que los juegos en red están sincronizados.
  • chatchar puede ser un personaje que se añade al área de mensajes entre jugadores en el display de avisos.
  • buttons codifica las siguientes acciones: ataque, uso, el cambio de armas (incluyendo nuevo número de arma), hacer una pausa y guardar el juego (incluyendo el número de ranura de partida guardada).

Trivia

  • El término tic es a la vez una contracción de "garrapata" en inglés (tick), a la vez que hace referencia al "tictac" del reloj.
El contenido de la comunidad está disponible bajo CC-BY-SA a menos que se indique lo contrario.