diciembre 30, 2006

Un YouTube de juegos caseros, con XNA


XNA es una de las ideas felices de Microsoft que más me ha sorprendido desde que supe de este proyecto.
Podríamos decir que XNA es un gran SDK enfocado a juegos y en el que podemos desarrollar tanto para Windows como para XBOX 360.
Como ya he comentado en otras ocasiones, el valor añadido que los usuarios le dan a un juego/plataforma cuando se le da la posibilidad de crear sus propios proyectos, es enorme. Tenemos ejemplos de Open Source que son muchos más útiles que su contrapartida "cerrada", o como comentaba el otro día, tenemos MODs de juegos que hacen del producto algo muchísimo más interesante que si se tratara del juego en sí, sin nada más. La posibilidad de hacer grandes cambios en un juego o en un programa (desde la IA, hasta los gráficos), da pie a que se den resultados que ni los propios creadores tenían pensado o ni siquiera pudieran sospechar.
Los ejemplos los hay a montones y sólo hay que acercarse a cualquier juego que te permita MODificarlo, para ver los resultados.
EL caso es que XNA es algo parecido a eso, pero a una escala mucho mayor. Tenemos a Microsoft que ha pensado en una plataforma (XBOX 360), en casi todos sus aspectos, a saber, no sólo es potente y no demasiado cara (comparada con PS3, aunque cara comparada con Wii), también tenemos XBOX Live! que le da una dimensión más a la consola, además también se ha pensado en los estudios, no se deja de lado a los desarrolladores a los que les ha dado la posibilidad de crear en un gran IDE de desarrollo como es Visual Studio 2005 (conocido por todos, con sus ventajas y sus defectos) y con este SDK que facilita la tarea enormemente. Ahora entra en juego XNA.
XNA, no es algo nuevo, desde que salió la XBOX 360 se viene hablando de ella y se ha intentando potenciar con más o menos éxito. Ahora Microsoft, que ya tiene cuatro millones de usuarios en su XBOX Live!, se ha visto preparada para darle un empujón más a XNA.
Qué tal si hablamos de una plataforma en la que tu haces tus juegos, los cuelgas al igual que en YouTube cuelgas tus videos, y la gente juega con ellos votándolos?, esa es la visión de Microsoft.
Las posibilidades que da esto son prácticamente ilimitadas, Microsoft quiere premiar a los mejores juegos poniéndolos a disposición de todos desde Xbox Live Arcade, dándoles beneficios en dinero, es decir, quiere potenciar el desarrollo Indie, quiere hacer de XBOX una plataforma con juegos gratis o muy baratos, creados por los propios usuarios y para los usuarios y fomentando una comunidad en donde los bajas, votas y comentas a modo de "YouTube for Games".
El modelo YouTube es tan revolucionario que hasta cuesta trabajo creer que salga a ganancias (teniendo en cuenta los costes del Ancho de Banda, por ejemplo), ha revolucionado de tal forma que ahora los más grandes también quieren usar este modelo, a su manera claro está, para poder ofrecer nuevas posibilidades y dar un nuevo valor añadido a sus productos.
Si esta aventura tiene éxito, ¿que otra plataforma puede imitar esto?, ¿acaso Sony puede hacer un SDK para el desarrollo Indie?, si hasta los propios desarrolladores van a sudar tinta china para sacarle el partido que se merece el procesador CELL... Ya decía Phil Morrison que nadie va a sacar el 100% del Cell pues bien, si eso ocurre desde luego que es culpa de Sony. Esto es como si yo vendo un coche que tiene 1000Cv de potencia pero justo después te digo que solo vas a poder usar 200Cv... ¿que diferencia hay con uno de 200Cv?, ninguna, así que no me lo vendas como uno mejor, tu coche da lo que da y lo demás es indemostrable (por mucho que tenga un motor increíble, en teoría).
Esa es la gran ventaja de Microsoft frente a Sony, de momento Microsoft a dado hechos, Sony solo problemas, retrasos, cancelaciones y dolores de cabeza. Desde mi punto de vista, tendrían que echar desde Phil para abajo y fichar a unos cuantos de Nintendo, lo mismo les iría mejor.

El caso es que XNA, el modelo que quieren crear de "YouTube for Games" y XBOX tienen aun muchísimo recorrido. Todos los desarrolladores van a querer embarcarse en el carro de XBOX ya que si es más barato hacer juegos (gracias a las herramientas), es más sencillo (gracias a una arquitectura mucho más balanceada, aunque menos potente) y los resultados pueden ser espectaculares (véase Gears Of War) ¿qué mas se puede pedir?, pues que tengamos millones de desarrolladores potenciales que cuelguen sus juegos y tú puedas divertirte con ellos, solamente eso.
A todo este gran compendio de aciertos yo solo le veo una pequeña pega y es que Microsoft, está trivializando el desarrollo de los juegos. Al igual que crear una película, hacer un juego decente requiere de un esfuerzo, un tiempo, unos conocimientos y un presupuesto, que no están al alcance de todos, de hecho está al alcance de muy pocos. Por la misma razón que en YouTube solo encontramos vídeos más malos que buenos, muy pocos de creación propia, y aun muchos menos con un mínimo de calidad. Por esa misma razón, encontraremos muchos juegos muy malos, bastantes malos, y alguno (muy pocos) medianamente buenos o regulares. El sueño de XNA, de democratizar el desarrollo de un juego, es bonito, pero a mi modo de ver practicamente irrealizable.
No creo que encontremos demasiados juegos colgados desde el principio. Coger una cámara y grabar a tu hijo de dos años bailando es mucho mas fácil que hacer un come-cocos. Aun teniendo las herramientas de forma gratuita, habiendo gente con un gran talento, y teniendo la plataforma necesaria para dar a conocer tu trabajo, tengo serias dudas de que vayamos a ver algo decente a medio plazo.El crecimiento de YouTube ha sido enorme gracias a la facilidad de crear algo muy sencillo, en poco tiempo y con un coste casi nulo. No veo un "Youtube para juegos" con varios miles, ni siquiera cientos de juegos hasta dentro de bastante tiempo.
Espero estar equivocado.

diciembre 28, 2006

Juegos con Código Abierto


No es noticia que un estudio quiera alargar la vida de un juego de todas las formas posibles. Tenemos desde secuelas, hasta nuevos mapas, objetos, misiones, expansiones al poco tiempo de haber salido... etc.
La vida de un juego es en la mayoría de los casos de meses, raro es el caso como WoW (que merece un estudio a parte), en que un juego puede tener tantos seguidores durante un año o más.
Para los estudios, es una necesidad alargar la vida del juego a través del mecanismo que sea para poder amortizarlo al máximo. Normalmente ofreciendo renovar el juego en algún aspecto.

Desde mi punto de vista una de las formas más acertadas para alargar un poco el ciclo de vida de un juego es a través de las comunidades de jugadores que se crean alrededor de los buenos juegos. Los auténticos Fans pueden hacer de un juego un éxito total, un ejemplo es Half Life, un mod como Counter Strike ha conseguido tantas ventas para Half Life que ya forma parte de la distribución normal del mismo juego. OSea, que te compras el juego y el MOD ya te viene :).

Ejemplos los hay a montones, los jugadores de Oblivion para PC, habrán probado algunos de los muchos MODs que hay para este juegazo de antología. Desde mejoras en las texturas, hasta una revisión completa de cada una de las criaturas del juego (Obscuro). Prácticamente cada nuevo juego que sale, tiene MODs de los usuarios.
Conodísimo es el caso del Hot Coffe, para GTA San Andreas, el éxito o la polémica también se debió al enorme desconocimiento que tienen la mayoría de los medios de comunicación (sobre todo la televisión) sobre lo que hablan. Se llegó a confundir el Hot Coffee y las "sordidas" imágenes del jugador haciéndolo en un montón de posturas distintas ;) con las chicas que ibas encontrando por la calle , con el propio juego original. Tal fue la confusión, que al final tuvieron que salir los chicos de Rock Star Studios diciendo que su juego es otro, que eso que veían era un MOD. Mo le vino demasiado mal, de todas formas, la publicidad que se le hacía en todos los telediarios...
El mundo esta lleno de gente con una capacidad y una calidad en el trabajo que los estudios saben que cualquier juego que saquen puede ser mejorado con creces y en muy corto tiempo si abren la posibilidad a los MODs.
Normalmente todo esto se consigue a través de SDKs para cada uno de los juegos, creo que fue el Quake (ID) quienes fueron de los primeros en los que podías hacer mapas. Era muy divertido (yo hice mi fcultad :D)...
Todo esto viene a colación por que me he encontrado un SDK, muy interesante, en el que además viene el código fuente del CORE del juego en sí, se trata del SDK del Civilization IV.
Yo he re-jugado a este juego no hace demasiado y la verdad que es un grandísimo juegos de estrategia por turnos (para mi la auténtica estrategia es por turnos, el RTS me gusta, pero me estresa un poco :D).
Además me he encontrado esta noticia en la que se dice que se quiere liberar el código fuente del Second Life. Para mí, esto es un error, pues como saquen el código fuente entero (creo que será parte, no entero) el juego se va a ver inundado de Hacks y Cheats que van a cargarse la Segunda Vida.

Feliz Navidad! :D


Pues eso, Feliz Navidad a todos ;), que deis muchos tiros (ya se sabe que con el PAD) o saltos o busquéis muchos tesoros :) en el formato que más os guste! :D... yo estoy aprovechando ahora que tengo un poco más de tiempo (Zelda).

Y a ver si Papa Noel, o Mama Noel o los Reyes Magos (lo que cada uno prefiera) se portan bien!

Saludos a todos.

diciembre 19, 2006

Rumor: PS3 para Marzo en Europa


Esta noticia es más típica de TNFGN, pero como me ha parecido importante, lo pongo aquí ;)... digamos que le ponemos el titulillo de Rumor, por que no es nada oficial...
Parece ser que la cosa está rondando entre el 2 o 9 de Marzo.
Por lo visto, preferen sacar la consola antes del final del presente año fiscal para Sony, que finaliza en la tercera semana de Marzo... teniendo en cuenta que es costumbre sacarlas en Viernes, el gato se lo llevan el 2 o el 9 de Marzo.
Normalmente a la rumorología de este calibre ;), no suelo hacerle demasiado caso, pero me parece que la fuente (Phil Harrison, botones presidente de Sony Worldwide Studios) es de fiar ;).
Ademas, para esas fechas se sacara un update para el firmware que afectará a las PS3 que se vendan por "estos lares".
aquí os dejo algunas de las cosillas que quiere actualizarle a la PS3:


* Multi-tasking (included will be audio/video conferencing while browsing the Cross Media Bar (aka XMB) and its features/gameplay).
* New XMB display options.
* New animations for audio playback.
* New photo album options.
* PlayStation Store auto-resume.
* PSP remote play advanced access option, so you can have access to your PS3’s content anywhere where there’s an internet connection.
Por fin fantasticas!!! buenas noticias de Sony, se me hace raro...;)

Raytracing en el motor de Quake 3

Hoy me he encontrado una cosa bastante impresionante, por lo "bonito" que se ve y por que no tenia ni idea que alguien estuviera haciendo esto.
El tema está en que la renderizacion es RayTracing, nada de técnicas de motores, de HDR y demás... nada, un rayo de renderización como toda la vida se ha hecho.
Obviamente la calidad en las sombras y demás es acojonante increible, fijaros en las sombras, en los reflejos y todo lo demás...
Dificilmente las cosas vayan a evolucionar por este camino, digamos... a medio plazo, pues la potencia de cálculo necesaria da miendo solo de pensarlo :)... pero es muy, muy interesante ver que hay gente por ahí que esta haciendo este tipo de cosas.
Recomendado echarle un vistazo a los video y a las fotos.

diciembre 14, 2006

El negocio del Futuro y del presente

Llevo observando un tiempo que las grandes empresas están haciendo movimientos hacia el negocio del entretenimiento de una forma muy decidida, vemos como Microsoft lanza su Windows Vista anunciando a bombo y platillo nuevos títulos en DX10, o incluso títulos exclusivos de WinVista (eso conlleva perdidas para el estudio, que paga Microsoft), vemos como Sony tira literalmente la casa por la ventana asumiendo perdidas gigantescas (a corto plazo) para ser una de las grandes, o a Nokia sacando su nueva N-Gage, con una estrategia totalmente distinta a la anterior generación de N-Gage, mejorando HW y haciéndose con juegos muy populares, y ahora vemos a Apple meter la cabeza con un IPOD para poder jugar... y es que el negocio del entretenimiento basado en los Vídeo Juegos es tan gigantesco, que si una empresa puede asumir los enormes costes iniciales, el beneficio puede llegar a ser muy muy grande.

Veamos los casos.
Microsoft:
Microsoft ha hecho una apuesta total por los video juegos , recientemente ha compra
do estudios , ha formado otros (nada menos que con Peter Jackson a la cabeza) y ha comprado empresas de publicidad para in-game Advertising. Además saben que una de las grandes bazas para Windows con respecto a otros sistemas operativos en el mercado es que tiene muchos juegos. Un "Linuxero" podrá decir lo que quiera en contra de Windows (y probablemente tenga bastante razón), un amante de Mc podrá decir que Windows es una burda y muy mala copia de MacOS, pero lo que seguro que ninguno de los dos puede discutir es que la cantidad de juegos que salen para PC Windows abruma cualquier intento de comparación con juegos para Mac o Linux.
Es un hecho objetivo (yo mismo he usado Linux y lo uso para cualquier tema de Red) y que seguramen
te más de un usuario habitual de Linux puede corroborar, que no es poco habitual usar Linux en el día a día, pero a la hora de jugar al PS6 o al FIFA o a lo que se quiera (exceptuando unos pocos casos de juegos OpenGL que salen para Linux también) tienes que poner un Windows o la consola, por que en otros SSOO no hay demasiado donde elegir.
Este es un hecho que no pasa inadvertido, y que crea un diferencial que además, Microsoft quiere alimentar.

Microsoft ha hecho un cambio fundamental en su WinVista para hacer un uso mucho más racional de los drivers de Video, no incluyendo en el CORE (o eso dicen) nada importante que tenga que ver con el interFaz o los gráficos. Han rehecho también DirectX... que le pese a quien le pese es una mejora enorme y muy bien hecha, y además han creado XNA que facilita enormemente la creacion de video juegos en XBOX 360 y la migración a PC.

Con todo esto, vamos a tener juegos en PC que van a ser realmente espectaculares, y que van a marcar un antes y un después...
Eso en cuanto a PC... pero y en cuanto a XBOX?
No creo que nadie me pueda discutir que la ganadora indiscutible, sin ningún tipo de duda es PS2 en la anterior generación, el número de PS2 vendidas (112 millones) hacen que XBOX palidezca (24 millones) y el número de dispositivos para PS2 de terceras partes es tan grande que "da hasta cosa" (micrófonos en plan Karaoke
, cámaras, juegos de baile, pulsadores, palos de golf... y mil cosas mas), hay de todo.
Me estaba el otro día comprando la Wii, y mientras lo hacia, entraron una pareja para comprar la PS2 con el BUZZ y unos minutos después, un niño c
on su madre a comprar otra PS2 con no recuerdo qué juego!, aun se venden y como churros! y no me extraña, la verdad.
Microsoft ha perdido bastante con XBOX , de hecho salió a perdidas enormes. Sin embargo, todo eso estaba mas que asumido ya que se suponía que era el paso anterior a lo actual, porque qué está pasando con
XBOX 360? pues que han hecho una consola tan buena que hasta cuesta trabajo creer.
Lleva una tarjeta gráfica que
tiene nada menos que un año, en ese mismo periodo de tiempo han salido dos familias de tarjetas para PC... pues bien ¿alguien ha visto Gears Of War? :) que más decir, es impresionante, se puede decir con tranquilidad que es, como mínimo, como lo mejor de PC actualmente.
No contentos con todo eso, además resulta que está a la altura de la PS3, que es un año más moderna pero que no le saca "un año" tecnológico ni mucho menos, de hecho hay quien dice que XBOX 360 corre más (yo no lo creo el, Cell es mucho Cell)... Resultado: 8 millones de consolas vendidas hasta la fecha y contando... no creo que bajen de los 10 millones a finales de las Navidades.
En este a
ño, XBOX 360 ha dejado de costar dinero a Microsoft, lo que significa que ya ganan dinero por consola vendida... y además, por si la cosa no fuera suficiente, está Live! (4 millones de usuarios pagando cada año), el que lo haya usado sabe que es un paso más allá para disfrutar la consola... pero Live! no es gratis... o sea que por ahí también le saca dinero.

Mejor hecho imposible, de verdad lo creo.
La única pega que le pongo a Microsoft es que no vaya a abrir su XBOX 360 tanto como seguramente lo hará So
ny con su PS3 y no veremos dispositivos de todos los gustos y colores como en PS3.

Sony:
Bueno, el tema de Sony es digno de estudio y de un artículo a parte. Ya he dicho en más de una ocasión que no se puede hacer peor. Sony no para de equivocarse, la PS3 le está costando carísima, no solo a nivel económico (muchísimo), sino a nivel corporativo, de imagen.
Para mí, So
ny hace un año era la mejor o una de las mejores empresas de tecnología. Ahora pienso que son unos chapuceros de cuidado.
Todo les ha salido mal, y seguramente no todo sea por culpa suya, pero no han sabido conectar con el usuario, ni transmitir buenas vibraciones. Prácticamente todas las noticias que llegan de Sony son regulares o malas... al menos de un tiempo a esta parte. Espero que la cosa cambie mucho cuando le pillen el truco a fabricarlas.
El caso es que la PS3 es cara, muy muy cara, a Sony le esta costando un mínimo de 805$ por unidad, las roturas de Stock hacen que pierdan continuamente clientes, IBM tiene problemas con su CELL... pero con todo y con eso siguen para adelante, sabiendo que ahora les cuenta dinero, pero que dentro de poco (un año o dos) van a ganar muchísimo.
Saben que la gente cambiará de opinión en cuanto vea los primeros juegazos en PS3 y entonces todos (yo incluido) diremos que vaya “maquinón”
que ha hecho Sony (estoy deseando que llegue el momento).
Nokia:
Pero quien es Nokia en este mundillo?, que hacen estos aquí?... pues es que Nokia es la empresa europea que
más dinero gana. Nokia ha sido una empresa que ha hecho hasta monitores de ordenador y que ha ido dejando los negocios menos lucrativos para centrarse en lo que saben hacer (moviles), sin embargo siguen empecinados en los Video juegos.

Vamos a ver, con su N-Gage creo que lo que hicieron estaba adelantado a su tiempo (juegos en un teléfono, para poder jugar en red, escuchar musica y más..) aunque perdieron mucho dinero no obstante han continuado con NGage y tienen preparada una nueva familia , mucho más potente, con juegos mejores (y mejores, y mejores) y un chip gráfico mucho mejor ... será que les vale la pena?, pues debe ser que sí… por que después de haber sido un fracaso siguen dale que te pego…

Apple:
Y es que no podía ser menos :d Apple ha visto como su Ipod Video tenía mucho menos éxito del esperado, de
hecho han vendido "muy pocos" (comparado con el IPod). Una forma de alimentar esas posibles ventas va a ser que con el Ipod se pueda jugar, desde luego que a mi me parece muy buena idea, ya que tienes una pantalla medianamente grande, y que el video parece que no termina de despegar... usemos esa pantalla para poder jugar un poco :D... veremos por donde sale esta aventura de Apple.
Supongo que necesitará el apoyo de los estudios para hacer juegos lo suficientemente interesante (y adictivos) como para que valga la pena comprar el juego.
Vemos juegos en ITunes , eso a un estudio de juegos le interesa muchísimo pues es un médio de compras más que validado, con un gran exito y que puede funcionar a la perfección.

Así que vemos cuatro grandísimas empresas, perdiendo dinero a montones, pero aun así apostando fortísimo por el vídeo juego. Tendrá algo que ver los 7.000 millones de dólares vendidos solamente en USA en 2005? ¿alguien me discute que esto no es el negocio del futuro? (y del presente!).

diciembre 13, 2006

Parece que se divierten con la Wii

Dando vueltas por las paginas por las que me suelo mover, me he encontrado un post con un enlace a Flickr "The Wii Motion Pool" :)... es divertido ver como gente de todas las edades, desde pequeñajos de 6 o 7 años tanto niños como niñas, hasta gente mucho más mayor juegan a la Wii :).
Me ha resultado curioso que comentan que niños de apenas 8 años que no sabían poner ni su nombre con el teclado qwerty (virtual) que tiene la Wii, no tenían ningún problema en jugar a los bolos o a los juegos de Wii Sport...
Eso es, ni más ni menos lo que creo que Nintendo buscaba, y no se me ocurre un éxito mas claro.

diciembre 10, 2006

Publicidad en Counter Strike 1.6 el año que viene


Está claro que el mundo de la publicidad ha llegado a los vídeo juegos y ya no se irá. Es deseable esta situación?, yo creo que sí, que es muy bueno que los estudios tengan otras formas de ingresos. No creo que tardemos mucho en ver empresas especializadas en este nicho de negocio que está sin explorar.
Una prueba más de todo esto son las noticias que salen últimamente a la luz, por ejemplo ahora se sabe que CS 1.6 contendrá publicidad, eso será a partir del año que viene (que está a la vuelta de la esquina).
El publico potencial de esa publicidad es enorme teniendo en cuenta que CS es el juego Online más jugado de la historia de los vídeo Juegos.

diciembre 08, 2006

Finalmente, compré la Wii :)

Ayer recogí mi Wii (250E) + Zelda (59.95E) , la puse en mi TV (que es un poco cutre, pero bueno), Y la verdad, que muy bien.
Como es sabido por todos, la Wii no es una consola como XBOX 360, PS3, o un PC con dos tarjetones de vídeo... los gráficos no son lo suyo, y precisamente por eso me la he comprado. Yo no necesito comprarme una consola (de momento) para ver buenos gráficos y echar un rato totalmente inmerso en el juego, con sonido 5.1, y una calidad de imagen que tira de espaldas, para eso ya tengo el PC (en mi caso), pero Wii es otro concepto, y pongo un ejemplo muy simple: mi novia se puso a jugar y en menos de 5 minutos ya sabía como iba todo, no tuve que explicarle absolutamente nada, simplemente es sencilla y a ella le pareció divertida a rabiar.
Un amiguete mio, se compró otra y estuvimos jugando con dos mandos al tenis, al béisbol, al boxeo (mi segundo mando viene de camino...).
En general la detección de movimientos sorprende, aunque no es del todo fina y precisa, pero lo suficiente como para poder jugar bien. El Boxeo, por ejemplo, no responde bien del todo a los movimientos (supongo que habrá que aprendérselos mejor), pero en un par de asaltos yo ya estaba sudando ;), el golf me encantó, aunque de nuevo la detección no era muy exacta, pero para mí el mejor es el de Tenis: sencillo y con una cantidad de posibles golpes impresionante.
Hoy por hoy no hay ninguna consola (a parte de PS2 + Eye toy o Buzz o cosas así) que se parezca a este tipo de diversión, nada "inmersivo" desde el punto de vista gráfico y el sonido, pero absolutamente divertido en la jugabilidad.
En cuanto al Zelda, he jugado como 10 minutos y no he continuado, cuando tenga una buena visión o me lo haya hecho (que será dentro de bastante pues no cuento con demasiado tiempo para jugar) ya os contaré desde mi punto de vista muy personal, qué me han parecido los aspectos más técnicos del juego, cosas como gráficos, sonido, IA y demás aspectos, no una review que hay montones y en las que la gran mayoría le dan entre un 9 y un 10... y seguro que dan más y mejor información que yo.
Además un amiguete viene de USA este fin de semana y me trae la segunda tarjeta de Video, que espero que con la mía, den mucho más rendimiento y pueda jugar sin demasiados problemas a Spliter Cell y demás a 1600 y en buenos detalles... ya contaré que tal la experiencia SLI.
En fin, esa es la Navidad de me espera ;)... intentaré aprovecharla.

diciembre 05, 2006

Nuevo Video de Crysis, DX10

Seguramente muchos de vosotros ya lo habrán visto, yo lo he bajado esta mañana y, sinceramente, lo he tenido que reproducir como tres veces... la potencia que requerirá estos gráficos y los prototipos con los que hayan contado para el desarrollo han tenido que ser descomunales!...
En fin, esto es lo que nos espera en PC como para Abril del 2008, paciencia mientras tanto ;).
El vídeo es bastante grande, pero vale la pena verlo.

Diseño de un juego en Red

Hace poco me pidieron que posteara algún artículo sobre el juego en Red, y como me pareció buena idea, me puse en ello poco a poco.

El resultado han sido dos artículos,un poco técnicos, pero no demasiado… en el que explico cuales son las técnicas más habituales en la programación de los juegos en Red.

Técnicas de programación de juegos en Red:

Para poder empezar con un sentido, creo que antes de nada podría intentar clasificar los distintos tipos de juegos en red, pues las soluciones posibles buscadas para cada uno de ellos no son las mismas.

Por un lado tendríamos una clasificación por tipos de red, es decir juegos en LAN o juegos en WAN, y por otro lado tendríamos una clasificación por tipos de juegos, esto es FPS, RTS, o MMG (Massively Multiplayer Games), como veis me he ceñido a solamente tres tipos de juegos.

Con esta clasificación no quiero decir que, necesariamente, las soluciones tengan que ser distintas para LAN (redes locales) que para WAN (Internet) o para cada uno de los tipos de juegos, pero lo que si es verdad es que esos dos tipos de redes son muy distintos y las características de nuestra solución deberán ser tales que sean aplicables para ambos o para una sola de estas redes.

En el caso de la LAN tendremos una red bastante rápida, eso es, con gran ancho de banda(BW) y con un retardo (LAG) muy pequeño. En este tipo de redes solemos tener muy pocos problemas de sincronismo, y el número de jugadores es, por lo general, no superior a la centena (en el peor de los casos). Pero ¿que pasa cuando estamos en una WAN en la que hay un retardo mucho más alto y el ancho de banda es mucho menor?

Por otro lado, tenemos el tipo de juego al que se le quiere aplicar la solución, no es lo mismo de exigente un RTS sobre LAN, que un FPS sobre WAN (mucho más exigente), además estas dos soluciones son completamente distintas a un MMG, que siempre es sobre WAN (las técnicas para MMGs las comentaré en el segundo artículo).

Con todo esto ya tenemos el contexto claro.

El problema del sincronismo:

El problema principal con el sincronismo se debe a que es necesario que cada uno de los jugadores vea exactamente la misma escena en el mismo instante de tiempo en sus monitores, aun teniendo cada uno de ellos retardos con el servidor totalmente dispares.

Examinemos con detenimiento el problema:

1). Supongamos que estamos en un juego en el que el jugador(j1) en el instante t0, está en una posición dada en el monitor y el jugador (j1) desea avanzar, para ello j1 pulsará la tecla de avance. Lo que ocurre en ese instante es que un mensaje (m1) sale del ordenador de j1, en el instante t0, para informar del movimiento del jugador j1 al resto de jugadores de la partida (ya se que es un poco lió… podéis verlo mucho mejor en el gráfico).

2). Supongamos que ese mensaje llega al servidor en el instante t1 (t1 = t1+tr1, donde tr1 es el tiempo de transporte, o tiempo que tarda el mensaje (m1) en llegar al servidor desde el ordenador j1), el servidor gestiona el mensaje, lo procesa y lo envía cada uno de los clientes (incluido j1).

3). Supongamos que el mensaje llega a todos los clientes en el instante t2 (t2=t1+tr2+tp1, donde tr2 es el tiempo de transporte del mensaje desde el servidor hasta el resto de jugadores, y tp1 es el tiempo de procesado del mensaje (m1) en el servidor). Fijaros que estamos suponiendo que se tarda lo mismo en llegar a todos los ordenadores a la vez, cosa que en realidad no es cierta, pero que podemos suponer sin perdida de generalidad, para este caso.

Para cuando los mensajes lleguen a los clientes (en t2), está claro que el jugador que ha iniciado la cadena de mensajes (j1) ya habrá pasado por la posición a la que quería llegar, de hecho es muy probable que este en otra posición bien distinta, por tanto, lo que ven los jugadores es una posición errónea, es más, cuando el mensaje llegue a j1 de nuevo (pues el mensaje de j1 llegará de nuevo a sí mismo a través del servidor) y vea que hay una discordancia entre la posición que dice el servidor en la que está y su actual posición, intentará corregirla (o no, depende de la implementación), con lo que la confusión aumenta aun más.

Como se puede observar, un problema de estas características, que viene dado por el transporte de los paquetes, es inherente a los juegos en red, es decir, no podremos en ningún caso evitar el problema, lo que si podemos es paliar los efectos (que no las causas) e intentar que los jugadores tengan la mejor experiencia posible. Para paliar estos efectos podremos usar distintas técnicas, como son Predicción y Extrapolación.

Para poder explicar bien estas técnicas necesitaremos saber, antes de nada, qué es el determinismo en los juegos.

Decimos que una un juego es determinista si una situación en un instante I1, llegaremos siempre la misma situación resultado en el instante I2, si usamos el mismo método y siempre que se den exactamente las mismas condiciones.

Para conseguir el determinismo en los juegos, básicamente tendremos que quitar cualquier variable de aleatoriedad. Para ello, un método usado normalmente es el cálculo y negociación de una tabla de números aleatorios a priori antes de empezar la partida.

Todos los jugadores en red tendrán la misma tabla, que será usada cada vez que en el juego se requiera un número aleatorio. Esta tabla permite que dada una situación, cuando tenemos que decidir algo que requiera cierta "aleatoriedad", siempre llegaremos a la misma situación resultante si usamos el mismo número en la tabla.

Este mecanismo nos permite dos cosas muy importantes, por un lado evitamos tener que calcular los números aleatorios en tiempo de ejecución (lo que nos ahorra bastantes ciclos) y por otro lado hemos descartado la aleatoriedad en nuestra partida.

Una vez que sabemos esas cosas podemos continuar con las técnicas de sincronismo de las partidas en red

Técnicas de sincronismo: Predicción y Extrapolación.

El jugador j1 conoce su posición real, y además conoce lo que quiere hacer y el tiempo que tarda (de media) un mensaje en llegar desde su ordenador al servidor... ese tiempo será (t0-t1), que se calcula básicamente haciendo un ping entre ambos ordenadores o de una forma mucho más compleja que no explicare aquí por ser un poco “espesa”, para nuestro caso nos sirve el Ping.

Pues bien, como el ordenador que controla j1 sabe lo que quiere hacer, donde está y a donde quiere llegar, y además conoce el tiempo que tomará al servidor transmitir esta nueva posición, se puede presentar en el monitor de j1 el cambio de posición, con ese retardo calculado, para que la situación que ve j1 sea justamente la que está llegando al resto de los jugadores de la partida.

Pero con esta solución tenemos solamente parte del problema solucionado. Es decir, hemos paliado el problema al meter un retardo en la representación igual al retardo necesario para que el mensaje m1 llegue del origen al resto de jugadores, pero esto degradaría enormemente la experiencia de juego, pues para el refresco de cada posición se tendría que esperar un tiempo de retardo!... sin embargo, cuando jugamos nosotros no notamos esta degradación, ¿Qué pasa entonces?.

Bien, fijaos que hemos empezado diciendo que el jugador j1 quiere hacer un movimiento y ese cambio de posición es el que se le manda al servidor... supongamos que en vez de estar molestando al servidor a cada movimiento, con cada nueva posición (muchas nuevas posiciones en cada segundo), ¿que tal si solamente le enviamos el diferencial cuando valga la pena informar de él?. Es decir, si estamos avanzando y anteriormente estábamos avanzando, ¿que necesidad hay de decirle al servidor que continuamos en esa dirección?, será mucho más efectivo si ahorramos ancho de banda y en vez de enviar cada nueva posición, simplemente enviamos, cada cambio en el estado.

Si el jugador j1 iba hacia la derecha y ahora quiere ir hacia arriba, eso sí que se manda, pero si se estuvo tres segundos hacia la derecha, no hay necesidad de estar enviando cada nueva posición al servidor dentro de esos tres segundos.

Detrás de esta idea está la técnica llamada "de Extrapolación".

Cada uno de los clientes (jugadores en la partida) “extrapola” la posición del resto de jugadores, es decir, se la inventa!, y la compara con lo que le llegue por red (que a menudo le llegam posiciones referentes a un instante pasado), si la comparación da positivo, es decir que se inventó bien la posición, entonces no hace nada, pero si resulta que se inventó mal la posición, la refrescará en la situación de partida y ya está. El resultado de una extrapolación fallida son esos “saltos” que vemos que algunas veces dan los jugadores contrarios (lo que se suele llamar “lagazo”).

Los algoritmos de extrapolación de la posición son variados y algunos realmente complejos, como veis, del buen hacer de este algoritmo dependerá muchísimo la calidad del juego en red.

Otras técnicas más específicas para juegos en los que hay escenarios muy grandes y el número de jugadores es extraordinariamente alto (como por ejemplo, WoW) lo comentaré en un segundo artículo (por no aburrir, más que nada ;)).

diciembre 04, 2006

Las partidas de Video Juegos serán retransmitidas por TV

Pues sí, tarde o temprano tenía que llegar. A mi me parece que incluso tarde, por que no es la primera vez que se escucha aunque, que yo sepa, es la primera vez que una cadena seria como CBS Sports le dedica un programa para retransmitir partidas de vídeo juegos.
No es demasiado difícil imaginar partidas retransmitidas por televisión y siendo seguidas por decenas de miles de personas (seguramente más), en una gran final.
Esto que parece una utopía, sería de vital importancia para la industria del video-juego, en donde veríamos publicidad in-game siendo retransmitida por televisión al igual que hay publicidad en los estadios de fútbol, y los estudio cobrando beneficios de esa publicidad por ser retransmitida.
Este tipo de cosas, podrían ayudar enormemente el desarrollo de juegos muchos más caros de crear, no solamente costeados por las ventas, sino también por la publicidad (que recordemos, es una gran la fuente de ingresos para muchísimos negocios, algunos enormes... véase Google!).
De esto ya hablamos en su momento en el artículo: "los estudios necesitan nuevas formas de ingresos?" por lo que me ha parecido interesante postear esta noticia aquí y no en TheNeedForGamingNews.

diciembre 03, 2006

Reserva de Wii

Ayer, después de mucho cabilar sobre el asunto durante las semana pasada, me decidí a comprar una Wii. Fué un amiguete (gracias Iván!) quien me reservó una Wii para el día del estreno (cosa que yo siempre digo que no se haga), más que nada por que Nintendo me da confianza y no creo que vayan a sacar un producto poco probado o con demasiados fallos.
Esta mañana me he conectado y he indagado un poco, tirando del hilo de varias noticias que me he ido encontrado, para investigar sobre posibles problemas de la Wii.
Por un lado estaba totalmente convencido (aunque debo confesar que no llegué a mirarlo) de que la Wii tenia cable VGA. Craso error, lo cierto es que la Wii tiene un D-Cable pero en Japón... ya se sabe que los fabricantes japoneses cuidan mucho su propio mercado (y bien que hacen!), el caso es que en España saldrán RGB, composite y video compuesto que es el que incluye la consola y a la vez el más básico de los tres (si quieres ver las cosas en 480p, tendras que comprar algunos de los cables por el módico precio de 20€)... El caso es que este es un problema que no esperaba y estoy reconsiderando seriamente el anular la reserva (pues lo que quiero es poder jugar en mi monitor del PC, que esta bastante bien...).
En fin, que aún estoy pensado que hacer... alguno me recomienda una solución (no demasiado cara para este "contratiempo"?).