jueves, junio 27, 2013
|
Prácticamente de forma unánime la mayoría de los medios (eliax incluído) ha dado como ganador de este primer temprano round de la guerra entre la próxima generación de consolas de videojuegos, al PlayStation 4 de Sony, debido a un par de maniobras que verdaderamente destruyeron la buena vibra que llevaba el Xbox One de Microsoft desde su anuncio inicial (pueden leer más al respecto aquí).
Sin embargo, Microsoft aun tiene un As bajo la manga que en esta temprana etapa del juego nadie podrá notar, sino que solo imaginar, y que tiene mucho que ver con una funcionalidad del Xbox One que Microsoft mencionó, pero que pocos entendieron, y de eso quiero hablarles hoy. Hoy hablaremos del componente de la Nube del Xbox One... Hoy dia la palabra "Nube" se tira a prácticamente cualquier tema, tanto así que quizás por eso muchos han subestimado este componente de la nube del Xbox One, pensando que es simplemente otra forma de decir "juegos en la red" o "llevar tus puntuaciones y logros en los servidores de Microsoft", o algo por el estilo. Pero no tiene nada que ver con eso. Esto va muchísimo más allá... Esto tiene en realidad que ver con una predicción que hice hace un par de años, en un artículo titulado "Editorial eliax: La Era del Procesamiento Distribuído en consumidores", solo que con un componente externo al Xbox One en este caso. La idea de Microsoft con integrar una versión especial de su nube empresarial Azure con el Xbox One es literalmente extender el poder de procesamiento del Xbox One a la nube. Por literalmente me refiero a que el poder de esta consola será superior cuando esta esté conectada a Internet con juegos que tomen ventaja de la nube. Es como un procesador externo que ayuda a los núcleos interno del Xbox One para que trabaja más ligeramente. Y no se preocupen si por el momento esto es un asunto, nebuloso, pues a continuación les explico a qué nos referimos con extender el poder de procesamiento del Xbox One a la nube... La idea es bastante sencilla: En vez de tirarle toda la carga del juego al CPU (procesador central, el cual contiene 8 núcleos en este caso), ¿por qué no dividir la carga entre este procesador, y procesadores remotos conectados a Internet? Sin embargo, la implementación es mucho más compleja, pero de eso se encarga Microsoft con sus APIs (interfaces de programación) para programadores. Una de las cosas que hace complejo el tema a la hora de implementarlo es el hecho de que no es trivial dividir el trabajo del CPU para que parte de su trabajo se ejecute remotamente. Tanto así que en la implementación de Microsoft los programadores son los que tienen que decidir explícitamente cuáles tareas se ejecutarán remotamente y cuáles localmente, con la observación de que Microsoft requiere que cualquier juego que utilice la nube, pueda tambien funcionar sin la nube, haciendo todo el procesamiento local dentro del Xbox One. Otro nivel de complejidad es el retraso en el tiempo que toma el enviar código y datos remotamente a Microsoft, para que estos sean procesados, y después el Xbox One recibir los resultados, lo que nos lleva a la observación de que esto no es una solución universal para todos los juegos, sino para casos bien especializados. Por ejemplo, esto no puede utilizarse para renderizar (dibujar) los luchadores en una juego de lucha libre, ya que el tiempo de retraso en el procesamiento de los datos haría del juego algo muy incómodo para jugar, reflejándose por ejemplo en que tomarían unos largos milisegundos para que los personajes en pantalla hagan los movimientos que tu les ha dicho que hagan con el control de juegos. Sin embargo, existe todo un mundo de escenarios en donde esto es muy práctico, y en donde mejorará la experiencia del usuario, y la calidad de los juegos. Por ejemplo, en cualquier juego de mundos "inmersivos" tridimensionales (como Call of Duty, Assassins's Creed, etc), uno de los componentes primordiales del juego son los escenarios virtuales en donde se desenvuelve el personaje en pantalla. Esos mundos, aunque son renderizados en tiempo real en la consola, lo cierto es que tienen un gran componente de pre-computación (que ocurre por lo general al inicio del nivel, o mientras el juego transcurre en un proceso de fondo) para calcular sombras, vértices, partes ocultas, efectos especiales, etc, que pueden perfectamente ser enviados a servidores remotos ya que no dependen de la acción en tiempo real, dejando a la consola responsable solo de el paso final de renderización de la escena. En casos como esto, esto traería varios beneficios al Xbox One, como por ejemplo: 1. Permitiría que el jugador espere menos entre un nivel y otro. 2. Permitiría dedicar el poder sobrante para implementar más enemigos en pantalla. 3. El poder sobrante también podría utilizarse para implementar mejores algoritmos de Inteligencia Artificial, permitiendo crear juegos más realistas. 4. Se podrían crear mundos virtualmente infinitos que se descargarían casi en tiempo real desde la nube de Microsoft, mientras el jugador juega, permitiendo jugar muchísimos más niveles que los que cabrían en un disco, o en una descarga inicial desde el Internet (no confundir esto con "DLC", o Contenido Descargable). 5. Se podría modificar el juego en tiempo real, con nuevos enemigos que serían programados quizás por otros jugadores en otras instancias del juego, o incluso se podrían interconectar los juegos unos con otros, en donde gran parte de la computación ocurriría en los servidores de Microsoft. Como ven, esto ya se está viendo bueno, aunque todo dependerá de que los programadores hagan uso de esto, ya que esto conlleva un nivel más de complejidad, en donde ahora los juegos deben ser diseñados de forma tal que si la nube está disponible, tome ventaja de ella, pero sino, que entonces ofrezca una experiencia más "por defecto" o 'básica" a los jugadores. Así mismo, estoy seguro que algunos (particularmente, si tienen un trasfondo técnico) se estarán preguntando ¿pero no puede Sony hacer lo mismo? Y la respuesta es que sí. Incluso, lo podrían hacer hasta con el PlayStation 3 si así lo decidieran, pero el tema es que no lo han hecho, por lo que en este momento si una empresa que hace un juego quiere hacer algo similar a todo esto, la única forma que tiene de hacerlo es creando si propia nube con miles de servidores para sus propios juegos. En el caso de Microsoft, esta ya está preparando un cuarto de millón de servidores en su nube que estarán disponibles a cualquier programador de juegos del Xbox One, con un API ya estandarizado. Para Sony hacer algo similar, tendría que implementar toda esta infraestructura, y aparte de ello ofrecer los APIs estandarizados para los desarrolladores de juegos. Y eso conlleva tiempo, aunque no me sorprendería si Sony en estos precisos momentos tenga un equipo de programadores creando las bases para sacar algo similar quizás el próximo año (y no llegaría tarde, ya que esta funcionalidad no creo será explotada a su máximo potencial por los desarrolladores del Xbox One hasta al menos uno o dos años después del lanzamiento este año, como siempre ocurre con estas tecnologías). En resumen, esta es una de esas cosas que por el momento muchos quizás no entienden, pero que a la larga podría darle una ventaja en calidad de juegos y experiencia de usuarios al Xbox One. Pero por ahora, a Microsoft que se concentre en mejorar su imagen dañada en estos días pasados, y que quizás pondere bajar un poco el precio del Xbox One para competir mejor contra lo que será una feroz batalla contra el PlayStation 4, cuyo precio por el momento aparenta haber hecho que muchos se decidan por esta, particularmente dado el caso de que aunque no viene con algo equivalente al Kinect por defecto, su hardware interno aparenta ser más potente, y aunque eso quizás no importe mucho al inicio, sí hará que muchos se inclinen hacia el PS4 como la consola "mejor", aun ese no sea realmente el caso... autor: josé elías |
66 comentarios |
Opinión / Análisis , Predicciones , Video-juegos , Windows / Microsoft |
Comentarios
Añadir Comentario |
"No jugamos a ser dioses, la raza humana tiene que desarrollar este tipo de cosas, esta dentro de su misma evolución. Hay quienes se oponen, y sin duda creo que el avance de estas técnicas puede desarrollar cosas malas pero a la vez son necesarias ya que este planeta no es eterno, algún dia tendremos que mudarnos a otros mundos utilizando esta tecnología para poder crearnos en base a las necesidades del ambiente."
en camino a la singularidad...
©2005-2024 josé c. elías
todos los derechos reservados
como compartir los artículos de eliax
Seguir a @eliax
Mira lo que es GAIKAI, sony compro toda la empresa para ofrecer todo lo que estas describiendo de la nube de Xbox One (entre otras cosas adicionales). Eso lo anuncio Sony cuando revelaron el PS4 en Febrero pasado.
Sony adquirio dicha empresa el año pasado.