¿Cómo implementar el "tiempo de bala" en un juego multijugador?

29

Nunca antes había visto una característica así, pero debería proporcionar una interesante oportunidad de juego.

Entonces, sí, en un entorno multijugador / tiempo real (imagine FPS), ¿cómo podría implementar un efecto de cámara lenta / tiempo de bala?

Algo así como una ilusión para el jugador que actualmente está en cámara lenta. Entonces todos lo ven "en tiempo real", pero él ve que todo se ralentiza.

Actualizar

Una nota al margen: tenga en cuenta que un juego de FPS tiene que estar equilibrado para que sea divertido. Entonces, sí, esta función de tiempo de bala tiene que ser sólida, dando una pequeña ventaja al "jugador", mientras que no le quita a otros jugadores.

Además, existe la posibilidad de que dos jugadores puedan activar su tiempo de bala al mismo tiempo.

Además:

Voy a implementar esto en el futuro sin importar lo que haga falta. Y, la idea es construir un motor de juego completamente nuevo para todo esto. Si eso ofrece nuevas opciones, estoy más que interesado en escuchar las ideas.

Mientras tanto, aquí con mi equipo también estamos pensando en esto, cuando nuestra teoría sea elaborada, la compartiré aquí.

¿Es esto posible? Entonces, la pregunta sobre "¿es esto posible?" Ha sido respondida, ahora es el momento de encontrar la mejor solución.

Mantengo la "respuesta" hasta que surja algo excepcionalmente bueno, como una teoría prototipo con algo parecido al pseudocódigo que funciona.

Lo que dicen los físicos y filósofos:

Los enlaces son para su interés, porque los temas están cerrados.

https://physics.stackexchange.com/questions/17118/time-traveling-and-time-dilation-within-a-multiplayer-videogame

https://philosophy.stackexchange.com/questions/1704/seeing-everything-in-slow-motion-but-being-real-time

Las condiciones en las que pensé al escribir la pregunta en el sitio de física (copiado):

  1. El jugador bajo los efectos de la cámara lenta tiene la ventaja de realizar acciones más precisas (disparos, movimiento, etc.), debido a que ve todo a un ritmo mucho más lento.
  2. Sus acciones deberían afectar a los otros jugadores en tiempo real.
  3. Los jugadores que miran a nuestro jugador afectado, no ven ninguna diferencia, excepto que pueden experimentar las acciones que ha realizado (como, el jugador recibe un disparo / el afectado esquiva un cohete).
  4. Cuando el jugador sale de este efecto, simplemente continúa al mismo ritmo que de costumbre. (Si esto no es posible, entonces supongo que tendrá que sufrir hasta que el tiempo se sincronice)

Referencias sobre el tiempo de bala (cámara lenta):

Lamentablemente, la mayoría de las implementaciones son solo para un jugador

http://www.gamesradar.com/a-videogame-history-of-bullet-time/

sacudida
fuente
3
Esto ya se realizó con éxito en MMORPG The Matrix Online. Experimentó un tiempo de bala mientras luchaba con oponentes cuando entró en "Interlock" luchando con ellos. Esto se hizo con oponentes PvE y PvP. Todos los demás fuera de Interlock vieron "velocidad en tiempo real". Comentando en lugar de responder porque no tengo la experiencia o el conocimiento para explicar cómo lo hicieron, simplemente sé lo que ocurrió desde el punto de vista del jugador.
FallenAngelEyes
3
Esto también estuvo presente en FEAR Combat. En el modo multijugador, había un modo de juego llamado SloMoDeathmatch. Este es un juego gratuito si no recuerdo mal, así que si quieres probarlo descárgalo y mira si todavía quedan algunos servidores.
alextsc
3
No creo que afirmar que estás esperando el pseudocódigo va a ayudar a las respuestas. Una vez que el diseño que desea se solidifique lo suficiente, el código debería ser obvio.
Tetrad
1
Además, "No importa lo que haga falta" apesta a mala filosofía de diseño. Parece que solo deberías hacer eso una vez que hayas probado (a través de un prototipo o un ejemplo de trabajo en otro juego) el método que estás planeando usar antes de seguir adelante.
Tetrad
44
-1 para "Me quedo con la 'respuesta' hasta que surja algo excepcionalmente bueno, como un prototipo con algo parecido a un pseudocódigo funcional". No seas idiota.
Trevor Powell

Respuestas:

22

Ya se ha hecho antes. :) Echa un vistazo a los especialistas , un mod de vida media que tiene dos potenciadores de bala diferentes.

EDITAR para incluir la información de zzzzbov a continuación

La forma en que funcionaba el tiempo de bala en "The Specialists" desde la perspectiva del juego era que el jugador podía obtener potenciadores que darían cantidades limitadas de "tiempo de bala". Cuando se usa, una burbuja alrededor del jugador reduciría su física.

Los jugadores lejanos se moverían a velocidad normal, pero cualquier cosa en la burbuja (balas, jugadores, explosiones) se ralentizaría. El jugador que usó el poder se movería un poco más rápido, lo que les permitiría huir o usar acrobacias para esquivar las balas.

Cualquier otra persona atrapada en la burbuja del "tiempo de bala" todavía tiene la ventaja de poder ver lo que está por suceder, pero la diferencia de velocidad relativa entre un jugador atrapado y las balas sigue siendo la misma, por lo que la capacidad de reacción es prácticamente inexistente.

Spencer Rathbun
fuente
@Tom IIRC, es de código abierto, por lo que debería poder ver cómo lo hicieron.
Spencer Rathbun
Hmm, una búsqueda en Google no arrojó ningún resultado sobre el código fuente. (además de la gran cantidad de información sobre The Specialists: Source también se muestra). ¿Tienes un enlace o algo?
joltmode
@ Tom pensé que estaba en su sitio web, que debería estar vinculado en el artículo de Wikipedia. Si no, pueden haberlo desmontado, ya que se mudaron al motor HL2 hace unos años. Es posible que deba enviar un correo electrónico a los desarrolladores para obtener acceso. Por supuesto, yo también podría lavarme.
Spencer Rathbun
Su sitio web no está funcionando bien ..
joltmode
55
Iba a agregar la misma respuesta hasta que encontrara esta. La forma en que el tiempo de bala funcionaba en "The Specialists" desde la perspectiva del juego era que el jugador podía obtener potenciadores que le darían cantidades limitadas de "tiempo de bala". Cuando se usa, una burbuja alrededor del jugador reduciría su física. Los jugadores lejanos se moverían a velocidad normal, pero cualquier cosa en la burbuja (balas, jugadores, explosiones) se ralentizaría. El jugador que usó el poder se movería un poco más rápido, lo que les permitiría huir o usar acrobacias para esquivar las balas.
zzzzBov
12

No puedo pensar en ningún juego que tenga tiempo de bala en un solo jugador que lo haya transferido con éxito al modo multijugador de manera significativa. Puede haber algunos de ellos que lo resolvieron acelerando al jugador que lo usa, pero ese tipo de derrota el punto.

El tiempo de bala existe porque quieres hacer que el jugador se sienta como un rudo. Le estás dando al jugador una ventaja aparentemente injusta al simular una percepción de nivel superior. El resultado final de esto es que los jugadores pueden apuntar mientras hacen cosas interesantes como saltar de la cubierta, etc. Si solo aceleras al jugador mientras tienen habilitado el tiempo de bala, entonces les das menos tiempo para reaccionar, que es lo contrario de lo que quieres.

En un entorno multijugador síncrono, realmente no hay ninguna solución para el "tiempo de ralentización" activado por el usuario que simule la sensación de usarlo en un entorno de un solo jugador. Si el tiempo mismo se ralentiza, entonces la percepción de todos aumenta. Especialmente en un juego de PC donde la puntería del mouse es generalmente instantánea, todos obtendrían el beneficio de objetivos más lentos.

Ahora, si estabas empeñado en esto, mi sugerencia sería, en lugar de convertirlo en una función activada por el jugador, convertirlo en un "estado" de encuentro. Piensa como una película de John Woo donde es el bueno contra el malo y todo parece disminuir mientras se disparan el uno al otro. Entonces, cuando comience un "encuentro", encienda cámara lenta y podrá obtener algunos efectos interesantes. Chicos saltando y cosas rebotando de golpes de bala perdidos flotando en el aire, y todo eso. Por supuesto, esto solo funcionaría realmente para un juego 1 contra 1. No obtendrías el beneficio unilateral del tiempo de bala como en un juego de un solo jugador, pero podría ser una experiencia de juego interesante.

Tétrada
fuente
1
Posiblemente podría extenderse a más de 1 vs 1 al reducir la velocidad de las personas que pueden verse, luego, tan pronto como alguien más los vea, también disminuya la velocidad. De esa manera, todos los demás tienen una velocidad normal, hasta que se pelean.
George Duckett
Puede solucionar el problema del objetivo instantáneo limitando la velocidad de giro: el problema real es que en un sistema correcto nadie más debería verse afectado por el nuevo marco de referencia; el solo debería ver al jugador en tiempo de bala ser acelerado.
Jonathan Dickinson el
No ralentices a todos. Congele a los otros jugadores hasta que el tiempo de la bala casi se agote. Desea cronometrarlo de modo que cuando finalice el tiempo de viñeta, las líneas de tiempo se vuelvan a sincronizar nuevamente.
Martin Sojka
Esta es la única respuesta hasta ahora que cubre el punto relevante: no estás acelerando o desacelerando el tiempo. Estás disminuyendo la velocidad de la simulación para que los jugadores tengan más tiempo para reaccionar y planear movimientos que, si se hacen en tiempo real, pasarían rápidamente al control. Para que esto funcione desde el punto de vista del juego, todos los jugadores involucrados (ya sea mirando o participando en la acción) deben reducir la velocidad, y todos los jugadores no relacionados (los que no están cerca para presenciar la desaceleración) continuarán a velocidad normal. Si no ralentizas a todos los que pueden ver el evento, se verá estúpido.
MrCranky
Los videojuegos de Max Payne usan el "tiempo de bala" como una habilidad en el juego. Algunos de los juegos Jedi de Star Wars (Jedi Knight II seguro) también tienen "Force Speed", que te acelera al ralentizar a todos los demás (excepto otro usuario de Force Speed).
KeithS
8

Pensamientos generales

Este es un problema que se describe mejor utilizando la relatividad general; tomemos por ejemplo el hecho de que puede ver los efectos del tiempo de bala simplemente mirando a través de su telescopio a un satélite (la causa del infame neutrino que viaja más rápido que el problema de la luz) - ecuaciones que son solucionables existen bajo estas condiciones; lo que significa que es completamente posible.

Su juego deberá ser capaz de manejar marcos de referencia separados, por lo que sé, el efecto neto de esto sería ('jugador' es la persona con tiempo de bala activo):

  • Las personas que vean al jugador los verán moverse extremadamente rápido.
  • El jugador vería a las personas moverse extremadamente despacio.
  • El jugador se movería hacia el pasado / futuro en referencia a todos los demás.

Afortunadamente para ti, esto significa que un jugador en tiempo de bala tiene una ventaja sobre todos los demás; posiblemente no pueden apuntar a él, sin embargo, no sería convincente porque la persona promedio no esperaría ver una diferencia perceptible al observar la dilatación del tiempo.

Le recomiendo que publique esto en física (indique que es un juego, pero necesita un conocimiento teórico real) y pida ideas sobre cómo aproximaría el efecto en una simulación concurrente.

Una posible solución que consideraría es hacer que el mundo se ponga al día con el jugador (ya que se ha movido hacia el futuro) haciendo que todos experimenten una cantidad progresiva (mucho menos que el tiempo real de bala) del tiempo de bala dependiendo de muy lejos (en tiempo) son. De esta manera, podría aproximar las diferencias de tiempo sin tener que lidiar con el almacenamiento del estado pasado, etc. Necesitaría alguna forma de explicar este efecto, 'rebote de tiempo' o algo así, porque no es físicamente correcto.

Otra idea es abusar de las ecuaciones físicas más básicas ( s = d/t), cuando un jugador entra en el tiempo de bala todo se vuelve más pequeño, si reduce a la mitad el tamaño de todo desde su perspectiva, pero mantiene su velocidad igual de acuerdo con su marco de referencia original, (efectivamente doblarlo) la ecuación aún se equilibrará. Las secuencias de distorsión de deformación en las películas espaciales usan esta dilatación espacial para representar el efecto, por lo que las personas están acostumbradas a verlo.

Solución real

He pensado en esto aún más. Si observa cómo funciona el sistema de red Steamworks ( ¿alguien tiene un enlace? ), El servidor se adelanta constantemente en cierta medida; y cada cliente conoce el 'próximo' marco al que debe interpolar.

Digamos, por ejemplo, que el servidor está 20ms por delante de todos los jugadores. Cuando un jugador ingresa al tiempo de bala, cambie su intervalo de actualización a 40 ms (su simulación se ejecutará en pasos de tiempo de 40 ms y el servidor pondrá en cola sus acciones 40 ms en el futuro), lo que básicamente empujará hacia el futuro en referencia a otros jugadores: además para hacerlo moverse más rápido desde su referencia y hacer que se muevan más lento desde el suyo. Una vez que deja el tiempo de bala, dale a todos los demás una ventaja de 5 ms sobre él para que puedan jugar 'ponerse al día' (este es tu time rebound, coincidentemente, los jugadores inteligentes tendrán tiempo de bala durante estos períodos de recuperación). Puede parecer un poco mejor si asigna una parábola a su paso de tiempo; esto hará que las cosas se desaceleren, se detengan y luego se aceleren gradualmente nuevamente.

Descargo de responsabilidad: no soy físico, pero tengo un conocimiento práctico de la relatividad.

Jonathan Dickinson
fuente
4

Quería agregar $ 0.02, ya que implementé un modo prototipo de tiempo de bala que funcionaba en juegos multijugador para Heroes Over Europe .

En un jugador, presionar un botón en el momento adecuado ralentizaría el tiempo y acercaría el objetivo deseado. No quería ralentizar el tiempo globalmente en el modo multijugador para replicar la función (¡ya que el juego era compatible con 16 jugadores simultáneos!), Así que utilicé un método de "burbuja".

Específicamente, cuando se activó el modo de tiempo de bala, se creó una esfera alrededor del avión objetivo. La velocidad del paso del tiempo cambió dependiendo de la distancia al centro de la esfera; tiempo degradado linealmente desde su superficie a un valor mínimo en algún lugar cerca del centro. La tasa también cambió en función de cuánto tiempo había existido la esfera y cuánto tiempo le quedaba antes de "evaporarse".

Esto se sincronizó a través de máquinas enviando un paquete que definía una hora de inicio futura para la burbuja; Esto permitió que el efecto permaneciera sincronizado a pesar de la latencia. (Del mismo modo, cuando el efecto debía terminar antes, un paquete declararía el momento futuro en el que debía terminar).

La velocidad del paso del tiempo siempre se definió funcionalmente: dada la definición de una esfera, el tiempo actual y una posición, era posible determinar qué tan rápido fluía el tiempo.

Para que el efecto funcione, varios sistemas de juego tuvieron que adaptarse a esta definición de tiempo "funcional". Los aviones, las balas, los misiles y otros efectos utilizaron un individuo dtque se resolvió llamando a la función apropiada. La mayor parte del trabajo para lograr que el prototipo funcione se gastó aquí.

El resultado funcionó razonablemente bien: un jugador objetivo del tiempo de bala reduciría notablemente la velocidad y tendría una (pequeña) oportunidad de salir de la mira de su agresor y alejarse de una lluvia de balas de cámara lenta. Los jugadores cercanos podían ver aviones y balas esquivándose unos a otros en cámara lenta, pero por lo demás no se vieron afectados.

Tenga en cuenta que el jugador que disparó también se ralentizó, pero no estaba estrictamente en desventaja: tenía una vista ampliada de su objetivo y podía afectar las muertes de un disparo en su presa. Otro jugador podría intentar matarte (¡o matar robar!) En este estado, pero su avión (y sus balas) se verían afectados al entrar en la burbuja, dándote tiempo para escapar.

Desafortunadamente, aunque funcionó, nunca tuvimos tiempo de completar y pulir la función para multijugador, por lo que se eliminó. (Un jugador aún conserva la característica, como "Ace Kill").

Blair Holloway
fuente
2

Realmente no es tiempo de bala, pero podría ser divertido:

¿Qué pasa con algo similar a la forma en que Braid hace la cosa de ralentización del tiempo? Es decir, cuanto más cerca de la persona que está experimentando el tiempo de bala, más despacio van las cosas ... y si estás fuera de la esfera de influencia, el tiempo fluye normalmente.

... por ejemplo, si el jugador A pasa tiempo de bala, coloca una esfera graduada de "tiempo lento" a su alrededor para que pueda apuntar correctamente, pero no necesariamente moverse más rápido, entonces el jugador B disparando balas contra él tendría que predecir en exceso dónde golpeará la bala, ya que se ralentizará cuanto más se acerque a él.

Sin embargo, cuanto más pienso en esto, menos creo que funcione, porque podría hacer que el Jugador A sea un objetivo fácil (ya que su cabeza se ralentizaría), pero de todos modos sería interesante verlo en 3D.

Seb
fuente
1
De hecho, es interesante, pero si las balas se ralentizan a medida que se acercan al jugador, debería poder esquivarlas.
joltmode
Sí, pero al igual que en Braid, el jugador también disminuye la velocidad, es decir, la velocidad de giro de los jugadores podría ser rápida, por lo que el bloqueo o los escudos serían más fáciles de desplegar para evitar balas, pero el movimiento real de volar por el aire para salir del camino de las balas sería más lento ...
Seb
2

Sé que esta es una vieja pregunta, pero tuve dificultades para no mencionar el problema con la mayoría de las respuestas relacionadas con la relatividad

Implementado con los efectos descritos en la pregunta, el tiempo de bala en el modo multijugador no es posible.

La razón de con es cómo funciona la relatividad; algunos de ustedes lo han mencionado y obviamente entienden la relatividad, pero el problema es que sus modelos están configurados incorrectamente.

Muchas personas han usado la "referencia del jugador A frente al jugador B" en sus respuestas, pero lamentablemente ninguna de esas cosas existe realmente. Sí, tienes jugadores, tal vez incluso muchos de ellos, y sí, pueden controlar e interactuar con su mundo y tener su propia perspectiva del juego, pero la perspectiva no es un punto de referencia en el tiempo: es solo un espacio XYZ proyectado en el XY avión.

Solo hay un punto de referencia de tiempo y ese es el servidor (o host). Solo hay una visión del estado físico del mundo y, por lo tanto, solo un punto de referencia. Lo que los jugadores ven en su pantalla son diferentes vistas gráficas de la misma simulación física.

Hacer que un jugador vea una simulación ejecutada a una velocidad y que otra vea la misma simulación a otra velocidad y no tenga una desincronización simplemente no es posible. En alguna parte, algo tiene que ceder.

Cualquier esfuerzo para tener simulaciones múltiples o hacer que el servidor se ejecute antes que los clientes simplemente no tiene sentido. El efecto tal como se describe en la publicación simplemente no se puede hacer sin forzar el punto de referencia único o dejar que las ideas se desvíen y decirles a los jugadores que sus acciones realmente no sucedieron después del hecho.

Creo que la mejor solución es similar a una ya dada, que es tener un efecto similar a una trenza donde tu velocidad cambia en una burbuja alrededor del jugador. Dicho esto, el jugador no disminuirá la velocidad y la burbuja siempre se colocará y se moverá con él en el centro. Esto hace que el jugador se mueva a toda velocidad mientras que los más cercanos a él se sienten más lentos. Obtiene su ventaja de poder y las personas lejos de esa área no sienten efecto. Los que están cerca se ralentizan, pero sería obvio que alguien está usando el poder (sugeriría resaltar de alguna manera al jugador que lo está usando para que los jugadores oponentes entiendan completamente lo que está sucediendo y por qué).

Andrés
fuente
1

Sería muy incómodo. Sin siquiera mirar el problema de la dilatación del tiempo, imagina que eres el jugador que solo pasó 4 segundos en tiempo de bala, mientras que todos los demás en el juego pasaron 2 segundos en tiempo real. Dado que el mismo tiempo pasó para todos en realidad, de alguna manera tendrías que "recuperar" esos dos segundos en el juego. Entonces, en algún momento, deberías "omitir" 2 segundos de tiempo de juego, o pasar un poco de tiempo corriendo más rápido de lo normal, o algo más que probablemente haría que el tiempo de bala sea un desperdicio.

Además, está todo sobre tener que enviar lo que haces a los 2 segundos de tu tiempo en el tiempo 1 segundo a todos los demás.

John Calsbeek
fuente
1

Lanza mini eventos rápidos como el tiempo al jugador para esquivar las balas o realizar un seguimiento automático de los objetivos enemigos, mientras haces que los movimientos de tu jugador se vean borrosos o "escalonados" para los otros jugadores (para que no se rasquen la cabeza por qué sus balas no son No golpear). Esa parece ser la traducción más simple y práctica que podrías hacer para el modo multijugador.

Me imagino que cualquier otra solución implica que se cambie algún elemento físico del juego para uno o más jugadores que no se aplica en paralelo para los demás.

Hámster
fuente
0

Simplemente ralentiza a todos los demás, excepto al jugador que experimenta el tiempo de bala. Puede hacer esto simplemente disminuyendo la sensibilidad de su mouse.

Derek
fuente
¿Y cómo se traduciría esto en un "juego equilibrado"? : D
joltmode
Está equilibrado, en lugar de que el jugador acelere, el mundo circundante se ralentiza. El jugador tendría la misma ventaja si acelerara, pero de esta manera es más plausible.
Derek
0

Digamos que tenemos al jugador A en tiempo de bala y al jugador B en tiempo real. Y hacen lo siguiente desde el punto de vista del jugador B:

  • Tiempo 0s - Tiempo de viñeta activado por el jugador A
  • Tiempo 2s - El jugador A dispara al jugador B
  • Tiempo 3s - El jugador B dispara al jugador A

Ahora, desde el punto de vista del jugador A, esto tomará el doble de tiempo, ya que el mundo se mueve más lento para él:

  • Tiempo 0s - Tiempo de viñeta activado por el jugador A
  • Tiempo 4s - El jugador A dispara al jugador B
  • Tiempo 6s - El jugador B dispara al jugador A

Finalmente, el servidor tiene los siguientes eventos:

  • Tiempo 0s: el jugador A activa el tiempo de bala
  • Tiempo 3s: el jugador B dispara al jugador A (B inicia esta acción para que siga su línea de tiempo)
  • Tiempo 4s: el jugador A dispara al jugador B (A inicia esta acción)

Entonces, tenemos dos problemas iniciales. La primera es que A ahora tiene 3 segundos de tiempo de juego detrás de todos los demás. Esta podría ser una mecánica de juego interesante si tuviera un concepto que significara que tenía que pagar esta deuda. Imagine un juego de disparos basado en la cobertura en el que puede activar el tiempo de bala para atravesar el campo abierto, pero una vez que esté seguro bajo cobertura, debe permanecer quieto hasta que el resto del mundo lo alcance (los tres segundos de tiempo que perdió se repiten )

El segundo problema es mucho más grande. El servidor necesita reorganizar los eventos cronológicamente para cada jugador y determinar el resultado. En primer lugar, B dispara a A: esto sucede tres segundos en el juego, y A lo ve a los 6 segundos, hasta ahora no hay problema. A los 4 segundos, el jugador A dispara a B. En la línea de tiempo de B esto sucedió hace dos segundos. Entonces, ¿qué hacemos con los dos segundos de juego que ya pasó para él, incluido su tiro a A?

Podríamos anularlo, básicamente decir: "Sé que el jugador B cree que le disparó a ese tipo, pero resulta que ya estaba muerto, así que pretendamos que eso nunca sucedió". Esta sería una experiencia horrible, muy similar al retraso, pero resolvería el problema. .

Podríamos hacer el evangelio de ambas líneas de tiempo: use el punto de vista de los servidores como toda la verdad y preocúpese por la línea de tiempo de cada persona de forma independiente. A los 3 segundos, B dispara a A y lo mata. A los 4 segundos, A dispara a B y lo mata. Ambos jugadores mueren por disparos que no vieron. No suena bien, pero tal vez hay una buena manera de hacerlo después de dar a todos los jugadores un breve curso en el loco mundo de la relatividad.

Podríamos tener un sistema pseudo-en tiempo real, un juego basado en turnos en el que primero planificas tus movimientos y luego activas un cálculo simultáneo de eventos. Una buena solución que soluciona todos los problemas además de no ser el tipo de juego que quieres escribir.

Larga historia corta no creo que hay una buena manera de poner en práctica el tiempo bala tratarla en el sentido clásico siendo el efecto sobre la persona que lo usa - que se mueven más rápido, que ven el mundo como más lento, todo el mundo lleva a cabo de forma normal. Si lo revertimos y todos los demás se ven empujados al punto de vista del temporizador de bala y se ven a sí mismos moviéndose más lentamente y sus controles se vuelven lentos, entonces todo sucede en sincronización y no hay problemas. ¿Pero es realmente ese momento de bala? Si bien puede parecerle a un observador externo (y en repeticiones de partidos) ninguno de los participantes obtendría el efecto que esperaban.

Martin Harris
fuente
Se hizo y el efecto fue real y te hizo sentir como un dios durante unos segundos (el especialista, max payne 3).
Katu
-1

No, no es posible. Imagina que un jugador gira a cámara lenta, ¿qué verían los otros jugadores? Querrías que vean al jugador del tiempo bala moverse normalmente pero con reflejos de relámpagos, ¿verdad? Pero desafortunadamente, todos los que jueguen jugarán en el mismo tiempo real. Por lo tanto, la única forma de hacerlo sería ralentizar todo el juego, deshacerse de cualquier ventaja que brinde, ya que todos estarían en tiempo de bala. También sería bastante molesto hacer que el juego se ralentice todo el tiempo cuando alguien presiona ese botón.

Hay soluciones que darían como resultado que los jugadores tengan una ventaja similar (una de poder moverse más rápido, etc.), por ejemplo, ralentizando a todos los demás y permitiéndole moverse normalmente (luego, en una repetición, podría acelerarlos a la normalidad y reaccionar rápido) pero no creo que eso sea realmente lo que quieres.

Sir Yakalot
fuente
1
Ya se ha hecho antes, por lo que decir que no es posible es una falacia evidente.
zzzzBov
@zzzBov es literalmente imposible implementar el tiempo de bala en un juego multijugador en su forma real. Primero deberías ralentizar todo el juego, luego ralentizar el tiempo real para todos los demás jugadores en el mundo real. Solo piensa en ello. Como solución alternativa, necesitaría implementar algunas cosas de pausa / recuperación, pero en su forma real no es posible.
SirYakalot
Tienes razón, la forma más verdadera de tiempo de bala donde un usuario corre a velocidad normal y otro en tiempo de bala no es posible, sin embargo, OP fue después de "... [implementar] un efecto de cámara lenta / tiempo de bala", que ha sido hecho antes.
zzzzBov
@zzzBov "Algo así como una ilusión para el jugador que actualmente está en cámara lenta. Entonces todos lo ven" en tiempo real ", pero él ve que todo se ralentizó". Citado de la pregunta original. Está pidiendo específicamente que un usuario corra a velocidad normal y otro en tiempo de bala. Eso es casi palabra por palabra lo que pidió, de hecho.
Trevor Powell
El hecho de que esto ya se haya implementado en MP-game (El especialista, Max payne 3 entre otros) hace años, hace que esta respuesta no sea válida.
Katu
-1

FEAR tenía tiempo de bala en el modo multijugador, pero se aplicaba a todo el equipo y ralentizaba a todos en el otro equipo.

El tiempo de bala en el modo multijugador en tiempo real sin realmente ralentizar a los demás desincronizaría a los clientes, el jugador de cámara lenta reaccionaría a los eventos que los otros jugadores hicieron hace mucho tiempo mientras reaccionarían a los eventos actuales.

Iivok
fuente
1
Si bien es una solución; No me gusta, la única persona que debería verse afectada es el jugador en tiempo de bala, solo porque los satélites lo observen moviéndose más lento no significa que se mueva más lento en su propio marco de referencia.
Jonathan Dickinson el
Lo siento, mi edición anterior sonaba un poco juvenil. Sin embargo, el "tiempo de bala en tiempo real" parecía una contradicción.
Hamster
-2

Tal vez debería organizar el equipo necesario para disparar al jugador en la PC que activó el tiempo de bala en el espacio a velocidades cercanas a la velocidad de la luz.

Esto resolvería todos sus problemas, pero puede generar un ping / latencia más alto.

Jake
fuente
-3

bueno, no sería un problema si todos se mueven más lento de lo habitual pero no demasiado lento y el que lo activa se mueve más rápido como sumergir todo el juego bajo el agua o llevarlo al espacio exterior con el que se activa moviéndose tan pacíficamente como siempre

Aems
fuente
1
No hay nada de malo en responder viejas preguntas. Sin embargo, uno aún debe esforzarse por hacer que las respuestas sean buenas , y esta realmente no ofrece mucho en el camino de una solución completa, ni cubre realmente el terreno que no está cubierto por las respuestas existentes.
Josh