seguipowers escribió:aun así no es un sistema que me llame mucho la atención, prefiero tener el juego descargado que los discos duros tampoco son tan caros, sale mucho mas barato tener un GRAN disco duro que una GRAN conexión
No tiene nada que ver con los contenidos locales ni con streaming de juegos ni nada de eso, por lo que poco importa si tienes comprado un título e instalado en tu PC, si vas a jugar online hay información que no tienes localmente, y esta tecnología/avance está enfocada a estos escenarios.
hsaoud escribió:Como siempre muchos que ni se han leído el paper original de DeLorean entran a debatir con la verdad absoluta en la mano. Que arte.
Tampoco entiendo muy bien por qué el redactor comenta una noticia del PS Now de Sony, cuando DeLorean es una solución platform-agnostic. Pero bueno, habrá que abrir debate.
En los juegos de red el servidor también existe este concepto predictivo. Lo tenéis en muchos shooters actuales y no os habéis dado cuenta ...
Para los que tienen curiosidad de verdad, el funcionamiento es "sencillo":
1. Lo que ocurre es que el jugador ejecuta una acción, por ejemplo moverse a la izquierda. Dicha acción se envía al servidor y el servidor con los datos de posición del jugador, cámaras etc. genera un render (en el caso de los testeos de DeLorean Doom 3 a 1024x768).
2. La cosa no queda ahí, sino que el servidor predice que si te estás moviendo hacia la derecha, seguirás haciéndolo, así que cambia tu posición en el servidor, la de las cámaras, recalcula las IA para dicho cambio y genera otro render para tu futuro movimiento.
3. El servidor genera tantos renders como predicciones haga.
4. Cuando acaba mete todos esos render en una estructura de datos, en la cual hay un mapa tileado con todos esos renders, el tiempo en el que supuestamente se mostrarían (en el futuro) y el comando necesario para que ese render se produzca (en este ejemplo, moverse a la izquierda).
5. El servidor comprime todos esos datos y los envía al cliente (que puede ser un móvil, tablet, PC, consola,... lo que sea)
6. El cliente descomprime los datos y compara su situación actual con las predicciones que ha hecho el servidor. Por ejemplo, si el último comando que ha ejecutado es moverse a la izquierda, elegirá uno de los renders que ha enviado el servidor (que están en el tile). Si no se encuentra, lo que hace es aplicar un factor de corrección
Hay que decir, porque es importantísimo decirlo, que Microsoft pone sobre la mesa que este proceso genera artefactos, pero que en la mayoría de los casos serán imperceptibles.
También es importante decir es que con un sistema normal de juego por streaming, los testers notaron lag molesto a partir de 128ms, sin embargo con DeLorean, con 256ms de lag no percibían lag, y con 386ms percibían lag, pero no demasiado molesto.
Fuente:
http://research.microsoft.com/pubs/226843/delorean_techreport2014.pdf
Muchísimas gracias por la explicación. me has ahorrado el tener que malexplicarlo. Todos los que vienen a postear aquí a la primera de cambio con solo leer la primera parte de la noticia, debería leerse este post informativo.
para los que no entiendan, y voy a intentar no estropear lo que ha comentado el compañero.
digamos que si tienes una secuencia de un juego que muestra el contenido de 9 celdas por segundo. con una latencia de 1 segundo, podrías jugar sin problemas a este juego.
123
4X6
789
X eres tú, y los números son tu entorno.
Si la ejecución es mas lenta que 1 segundo, entonces verías lag en los cambios de tu entorno y, por ejemplo, en una secuencia normal de 1 segundo que sea así
S-1 S-2 S-3 S-4 S-5 S-6 S-7
*23 231 312 123 *31 312 123
4X6 *X4 6X5 *X6 5X4 *X5 4X6
789 897 *78 789 897 978 *89
con una latencia de 2 segundos la verías así:
S-1 S-3 S-5 S-7 S-9 S11 S13
*23 312 *31 123 *12 231 *23
4X6 6X5 5X4 4X6 6X5 5X4 4X6
789 *78 897 *89 978 *97 789
contando cada grupo de 9 tiles como un frame, en el segundo caso estás perdiendo 1 frame de cada 2.
este DeLorean lo que hace es que, sabiendo tu información (posición, etc, pero para este caso, sería el número de secuencia), te enviará los frames que deberías ver en el siguiente frame (o incluso en los siguientes 2, 4, etc)
así, el sistema predictivo al conocer tu información, te envía directamente la información de, por ejemplo, Frame S-1 al S-5 original (por decir algo), y así si tienes una latencia de 5Segundos, podrías ver de forma fluída los 5 frames originales, sin skipping, y al llegar al 6 frame, el sistema te ha enviado los siguientes S-6 al S-10, con lo que tienes 5 segundos mas de visualización/acción fluída sin skipping.
el lag sería muy simple. si estás en la situación S-6, por poner un ejemplo, y en el ejemplo que he puesto solo puedes ir a la izquierda o a la derecha (por que es una secuencia que he generado para el ejemplo), tienes 3 posibles estados:
que te vayas a la izquierda, con lo que el siguiente frame sería el S-5
que te vayas a la derecha, con lo que el siguiente frame sería el S-7
que no te muevas, con lo que el frame sería el S-6
por tanto, lo que hace el sistema es enviarte, por ejemplo, los 3 posibles frames para tu actual posición, luego, podría en el mismo paquete de datos, enviarte los frames de la posición S-5, asumiendo que te has movido a la izquierda, y con esto enviarte las posibilidades de moverte en esa situación (que serían S-4, S-5 y S-6). lo mismo con el frame de la derecha, te enviaría las posiciones de ese momento (S-6, S-7 y S-8)
Por lo tanto, esto
NO QUIERE DECIR que el sistema prediga tus movimientos y "mueva el muñeco" por tí, que es lo que muchos de aquí se están imaginando que quiere decir esta noticia. Es mas simple como que te enviará la información por adelantado de donde podrías estar (atributos, vida, frame de juego, etc) de todas las posibles situaciones, y es tu acción la que decedirá cual de ellas es la que finalmente te quedarás (lo que se mostrará en pantalla)
y sobre el ancho de banda, es lógico. A ver, esto es para mejorar la latencia. Muchos pueden tener un buen caudal de datos de internet (ADSL, 3G, 4G, fibra, etc), pero eso no quiere decir que tengas una latencia baja. estamos utilizando ancho de banda para ganar en latencia, y es lógico. no es magia ni una actualización de la línea, sino que un sistema bastante ingenioso y práctico de ganar esto, utilizando los recursos que tienes (en este caso, ancho de banda).
espero no liar mas la explicación con este ejemplo.
Por favor, leer la noticia y tener un poco de visión para entender lo que se quiere explicar, que entiendo que muchas veces las noticias están redactadas como buenamente se puede hacer, con la poca información que pueda existir del tema, pero por lo mismo tenemos que tener la capacidad de poder ver mas allá de lo que a primera vista (y titular) se lee.