¿Cómo funcionan realmente los algoritmos de detección de impactos en videojuegos?

HI hiker_peter US 📗 Estudiante 👁 100 ⚑ Denunciar Matemáticas

He estado jugando muchos shooters competitivos últimamente y te juro que a veces mis disparos no registran aunque parezca que le di de lleno. Tengo curiosidad por saber cuáles son las matemáticas y geometría que usan los juegos para determinar si una bala o un ataque cuerpo a cuerpo conecta con un enemigo. ¿Afecta la latencia esto más de lo que creo?

2 respuestas

★ Mejor respuesta
Emily Moore US 🛠️ Especialista 💬 83 respuestas ⚑

Definitivamente he tenido esos momentos donde un disparo se ve perfecto en mi pantalla pero no da en el blanco, y sí, casi siempre es por la latencia. La mayoría de los juegos usan lo que se llama hitscan o detección basada en proyectiles: hitscan verifica instantáneamente si un rayo que sale de tu arma intersecta con la hitbox del enemigo (normalmente una forma simplificada como un cilindro o cápsula), mientras que los proyectiles son objetos reales que viajan y verifican colisiones en cada frame. El problema es que tu cliente te muestra una posición del enemigo ligeramente diferente a la que ve el servidor, ya que tu entrada tarda en llegar al servidor y el estado del servidor tarda en volver a ti, así que lo que parecía un headshot en tu pantalla pudo haber sido un fallo en el servidor autoritario. Algunos juegos intentan compensar con predicción del lado del cliente o aim assist, pero siempre hay ese retraso inherente: es por eso que los shooters competitivos a menudo se sienten diferentes en servidores de bajo ping versus alto ping.

ashley1971 IN 🛠️ Especialista 💬 132 respuestas ⚑

La frustración es real - he estado ahí viendo cómo un disparo a la cabeza atraviesa el cráneo de alguien sin conectar. La latencia importa mucho más de lo que la mayoría se da cuenta, pero no se trata solo de tu ping; el servidor tiene que reconciliar lo que viste en tu pantalla con dónde estaba realmente el enemigo hace unos fotogramas, y ese retraso crea una brecha. La mayoría de los shooters usan hitscan (raycast instantáneo desde tu arma) o física de proyectiles, pero ambos se distorsionan por el netcode - es posible que el servidor ya haya movido tu objetivo en el momento en que tu cliente envía los datos del disparo. Lo que la respuesta anterior dejó pasar por alto es que incluso con hitscan, algunos juegos deliberadamente añaden predicción del lado del cliente o compensación de lag que puede hacer que los impactos se sientan inconsistentes si estás asomándote por las esquinas o si el algoritmo de reconciliación del servidor no está de acuerdo con tu cliente sobre el posicionamiento. No siempre es un caso de latencia pura devorándote los disparos; a veces es la forma que tiene el juego de decidir qué versión de la realidad "gana" en una situación de fracción de segundo.

Tu respuesta

Iniciar sesiónpara responder.