¿Los desarrolladores de videojuegos de disparos programan las balas y sus caminos que se disparan desde usted y la CPU enemiga?

Es lo mismo para ti disparando o para el enemigo disparando.

Para las balas que no puedes ver, la mayoría de los juegos hacen un cálculo matemático simple: toma la dirección que enfrenta el tirador y toma esa dirección hacia afuera a lo largo de una línea, y comprueba si algo intersecta esa línea. Si es una pared, haz un sonido de rebote y ponle una marca de bala. Si es una persona / criatura, reciben daño.

Para las balas que puede ver (por ejemplo, cohetes, láseres, bolas de fuego, etc.), en realidad crean un objeto con física simplista que tiene una velocidad y una dirección, y usan la misma programación que el resto de la colisión. el juego lo hace, verificando la posición del objeto en cada cuadro para ver si ha golpeado algo.

El primer método (el cálculo de la línea) no es “técnicamente” realista, ya que en la vida real, la bala es un objeto distinto con física que lleva tiempo moverse en el espacio. Es solo que es tan rápido, nos parece instantáneo a los humanos. Y este cálculo de línea es mucho más simple para la computadora (cpu) en lugar de hacer un objeto físico y hacer que se mueva tan rápido que requeriría colisión de múltiples controles dentro de un solo cuadro.

Sin embargo, las simulaciones muy extremas, como Arma, calculan la bala como un objeto de física real, ya que se enorgullecen de proporcionar una simulación súper precisa, que en realidad tiene en cuenta el hecho de que una bala cae realmente hacia el suelo. largas distancias e incluso cómo el viento podría afectar el camino de la bala. Pusieron mucho esfuerzo en los métodos para hacer esto sin ralentizar demasiado la CPU. Además, la simulación es el foco del juego y no tienen tantos efectos llamativos como otros juegos de disparos, por lo que queda poder de procesamiento para manejar esto.

Respuesta corta: no

Respuesta larga: siempre no, pero!

Tenga en cuenta que hay, básicamente hablando, dos tipos de armas: las que hacen un daño instantáneo (como rifles, francotiradores, etc.) y las que realmente generan algo (como una granada, un cohete o cualquier cosa que sea visible )

En el primer caso, se dice que el arma es un InstantWeapon : el jugador traza una línea (transparente) que comienza desde el hocico de su arma y que sigue hacia adelante hasta que toca algo. Entonces sucede: si se toca a un jugador, se les aplica daño. De lo contrario … bueno, depende. Puedes dejar una calcomanía en la pared, por ejemplo.

En el segundo caso, el arma genera un objeto en el mundo que puede ser una granada, un misil, una bola de plasma o lo que sea. Estos objetos son visibles y cambian la dinámica del juego. Por ejemplo, pueden ser esquivados

Con InstantWeapons esto no sucede. Mientras disparas, el disparo alcanza ese punto instantáneamente.

Las otras respuestas (líneas instantáneas invisibles o misiles visibles afectados por el tiempo) son correctas. Algunos juegos de francotiradores incluso hacen todo lo posible e incluyen todo lo posible.

Pero incluso con líneas invisibles, puede “fingir”.

Mira, hay algunos juegos donde * juro * que estaban haciendo física de bala, si no lo supiera mejor. Creo que lo que están haciendo en cambio es que, si la línea pasa * muy cerca * de un oponente, escucharán una bala y tal vez verán un parpadeo, donde la línea pasa más cerca de ellos.

Esto te da la adrenalina de ser perdido de cerca por una bala, sin el procesamiento necesario para mover un objeto por el aire.

Veo dos formas de hacer esto: una detección de colisión cilíndrica (lenta) o simplemente haciendo tres rayos, uno ligeramente a la izquierda y otro a la derecha de la bala invisible real. Esto sería súper rápido y “suficientemente bueno”.

No sé si algún juego realmente hace esto. Pero muchas veces escuché ver una bala azotando y pensé “no, no pueden estar haciendo eso de la manera difícil, ¿verdad?”