Doom Wiki
Advertisement
Doom Wiki


Si un monstruo camina hacia una puerta persiguiendo un objetivo, puede quedar atrapado en la pista de la puerta hasta que la dirección hacia su objetivo cambie significativamente.

Si un monstruo es empujado contra una cornisa al ser atacado, o está parado en el umbral de un ascensor que comienza a subir, puede quedar atrapado en el borde del sector elevado. El monstruo normalmente no puede girar, disparar un arma o usar ataques de proyectiles en esta situación (los ataques cuerpo a cuerpo, si los hay, a veces están disponibles). Bajar el ascensor por segunda vez, o atacar al monstruo de nuevo para que se caiga por completo de la cornisa, lo libera de su estado confinado.

Si un proyectil hace que un monstruo entre en contacto con una pared a alta velocidad, puede quedar atrapado en la pared. En el caso de un Alma perdida, el proyectil puede ser el mismo monstruo.

Causas[]

La lógica de la IA en Doom hizo que un monstruo intentara abrir una puerta o activar un ascensor si estaba obstruido por alguna pared en el camino hacia su objetivo (incluso una pista de puerta) y el sector perteneciente al sidedef obstructivo era una puerta o un ascensor. Así, si un jugador al que el monstruo estaba apuntando estaba en la dirección de una puerta, el monstruo se movería hacia el camino de la puerta, y cuando fuera bloqueado por él, trataría de abrir la puerta. Pero si la puerta ya estaba abierta, esto no cambiaría nada, y el monstruo se atascaría siempre y cuando el jugador al que estaba apuntando estuviera en el otro lado del plano de la puerta.

Esta lógica también hizo que los monstruos se atascaran en las paredes de un lado, o en los ascensores debido a las diferencias de altura. La razón es que la lógica bloqueó cualquier movimiento voluntario a través de un linedef si era unilateral o si las diferencias de altura eran demasiado grandes. Entonces, si el monstruo fuera colocado allí involuntariamente, por proyectiles (a veces por sí mismo, en el caso de las Almas Perdidas), o por el movimiento de la plataforma, sería incapaz de liberarse.

El movimiento de alta velocidad, como el ataque de Almas Perdidas, o la explosión de cohetes o barriles, a menudo causó que las posiciones calculadas de los objetos crucen líneas normalmente consideradas impasables, ya que la aritmética utilizada para calcular las posiciones de los objetos es inexacta. Si la posición calculada de un objeto cruzó la línea de una pared en cualquier cantidad, por pequeña que sea, el objeto podría quedar atascado en la pared si la línea se considerara normalmente intransitable.

Solución[]

Boom y sus derivados cercanos (por ejemplo, MBF) incluyen correcciones para estos errores, al hacer que los monstruos conozcan la diferencia entre los linedefs de puerta reales y las pistas de la puerta, al permitir que los monstruos crucen líneas de dos lados que bloquean el movimiento únicamente debido a la altura, si el movimiento conserva la altura del monstruo (es decir, si el movimiento es hacia un sector contiguo con la misma altura que el monstruo ya tiene), y permitiendo que los monstruos crucen líneas de 1 lado si el movimiento es hacia el lado que la pared enfrenta.

Video[]

Un Diablillo se queda atascado en una puerta abierta en Doom E3M5
Advertisement