Gilipollez artificial

Me he tomado ciertas licencias con respecto al título del artículo, proveniente de una conferencia a la que he asistido ésta tarde en mi universidad, y que resume parte de la temática de la misma, pues su nombre era “El arte de cometer errores: La estupidez artificial“. Dados los nuevos sistemas y métodos educativos que se están intentando implantar en España, se están realizando no pocos esfuerzos por parte del personal docente para incorporar alternativas fresquitas al rígido sistema educativo de ciertas carreras técnicas (en mi caso las que engloban la ingeniería informática, que posiblemente muchos hayáis sufrido). Ésta conferencia es fruto de ello, en la que se ha realizado una visión superficial aunque sugestiva de todo lo relacionado con los patrones de comportamiento de npcs en videojuegos y los fallos y aciertos más remarcables que la industria ha tenido en dicho campo.

Además de esa conferencia, de ésta iniciativa salieron unas jornadas que se realizaron el pasado mes de enero e incluso una asignatura de libre configuración que ahonda de una forma más comprensible por el gamer de a pie todo tipo de temas relacionados con el mundillo. Por todo ésto, aquí tenéis un breve resumen de la misma así como mis propias conclusiones y comentarios anexos. Open your mind, be water my friend & let´s rock.

La dilatada carrera del mundo de los videojuegos ha hecho evolucionar los métodos por los que se le otorgan comportamientos a las entidades con las que interactuamos en cada programa. El ejemplo más significativo que se mostró en la presentación es el de Pac-man, consistente en que los fantasmas no siguen constantemente la ruta más optimizada para poder alcanzar al jugador, sino que se implementa una posibilidad aleatoria de que a veces tire por otro camino del laberinto para “darle cuartelillo” al usuario. Si bien es una idea muy primitiva, en términos simples no ha variado en exceso el método. Posiblemente Gordon Freeman no hubiera sobrevivido al incidente de Black Mesa si los Headcrabs le huberan atacado en masa, o Mario hubiera sido devorado por una planta carnívora si las setas hicieran algo más que avanzar en una dirección fija cual Lemming, así que esa rebaja de la eficiencia de la máquina tiene su base en la propia jugabilidad, como ahora expondré.

“El caballo de Ironside”

La inteligencia artificial en los videojuegos es un tópico como puede ser que si te tocas el pito te quedas ciego. Es más que evidente que no podemos crear rutinas concretas para cualquiera de los infinitos casos que se pueden dar en juego, por lo que se dota a los personajes de una especie de “manual práctico del buen npc” que les enseña a actuar de cierta forma según qué sucesos externos se produzcan, pero claro, la policía no es tonta, y por mucho que Kasparov le ganara una vez a Deep Blue nunca podremos equipararnos a la potencia de cálculo y resolución automática que tiene un computador. Vamos, que si quisieran, los nazis del Call of duty nos podrían fundir a palos sin dejarnos ni salir ni de la barcaza, pero para no frustrar la experiencia del jugador y que no acabe tirando el pad a la pantalla como haría el “niño alemán loco”, se les “agilipolla” un poco. Sisi, para tenernos contentos, el software debe simular ser más tonto de la cuenta para que no nos agobiemos, ya sabéis, el rollo de la balanza entre reto y premio y todo eso.

El problema de ésto viene cuando se mezcla una IA simplificada con el concepto de bug (o glitch, que más que un error es una “reacción imprevista”), cuyo origen paso de comentar que seguro que hay posts enteros por ahí con esa historia de la cucaracha, que es una anécdota así como muy geek y cool. Los juegos cada vez poseen una complejidad mayor, por lo que los factores a tener en cuenta a la hora de su programación son incontables. Motores gráficos y de física complejísimos o cientos de entidades vagando por ahí cada una con su comportamiento imposibilitan predecir todo lo que puede ocurrir por la mastodóntica variedad de interacciones que se pueden producir, lo que da lugar a los (escalofríos) bugs y errores en la IA que provocan las situaciones más inverosímiles aunque por desgracia, cada vez más comunes.

En la conferencia no se han salvado por ejemplo las comunes paridas que suceden en juegos como Oblivion o Crysis, ambos los reyes en cuanto a interación con el entorno se refiere y claro, los programadores se ceban a meter cosas y mira tú lo que pasa, el llamado efecto “Estrella de la Muerte”, tanto rollo y tanto laser y la cagan por no tapar un boquetillo. Soldados que se quedan enconados dentro de un arbol, vehículos que echan a volar como un Delorean, final bosses que corren tras de tí en plan Benny Hill. Una locura.

Siendo un poco más técnicos, aparte de los propios errores en cuanto a reacción de los enemigos, siempre han existido varios tipos de errores gráficos que aunque ya no se dan tanto dada la gran evolución en éste apartado alguna vez que otra nos topamos con ellos. El Clipping es el fenómeno que se produce cuando un cuerpo sólido atraviesa un muro como si se tratara de un Stargate. Vamos, en los fps lo que pasaba al cargarte a un tío cerca de una pared, que la mitad del cadaver se quedaba metida dentro de ésta. Los motores físicos actuales y de reacción con el entorno parece que empiezan a dominar el asunto, y juegos como Half Life 2 o Fear mimaron ese aspecto y realizaron grandes avances.

El Popping consistía en la generación espontánea del entorno debido a las limitaciones gráficas de la máquina. La generación de terreno debía limitarse con un radio con el jugador como centro para no sobrecargar el sistema con tanta información poligonal y de texturas, así que a medida que tú ibas avanzando, se iba construyendo el paisaje, sin contar los propios errores y fallos que hacían transparente un cuerpo que no lo era y podíamos verle las partes pudientes a Lara Croft, aunque éste error de programación deriva un poco de las ideas aquí expuestas. Los últimos años han supuesto el boom en la arquitectura de tarjetas gráficas, por lo que al ir sobrados ahora en cuanto a memoria de vídeo y capacidad de cálculo se puede hacer visible todo lo que el jugador puede ver, y para muestra más bestia, el Crysis, que lo ves todo todo. Vamos, que te subes a un monte de la isla y puedes decir lo que dice todo el mundo cuando llegas a un sitio muy alto: “Desde aquí creo que se ve mi casa, mira, mira”.

“Que va tío, yo controlo”

Otro error que ha caído en el olvido es el Flickering, parpadeo de sprites cuando la pantalla se saturaba de éstos, pero al igual que el popping, cada vez se ve menos dados los avances antes comentados. Por todo ésto sin duda los errores a pulir se centran en el ámbito de la inteligencia de los npcs y la variedad de acciones que éste pueda realizar ante un mismo evento, ya que los motores gráficos y de física están alcanzando un grado de perfección y realismo que si llegara tal conocimiento a manos de Peter Molyneux podria acabar dominando el mundo.

Los avances en el sector nos hacen pensar que no existe un techo tecnológico que delimite los progresos que contínuamente se están realizando. Cada vez los juegos tienen mejores gráficos y mayor libertad de movimientos, con el ya comentado exponencial crecimiento de errores. Nos acercamos peligrosamente a unos juegos fotorealistas que imposibiliten distinguir lo que es real de lo que no, momento que estará posiblemente ligado a la realidad virtual y la inteligencia artificial en su sentido más empírico. Todos los rollos actuales como el control de la Wii, el stylus de la DS y demás cachivaches interactivos no son más que el primer paso hacia una interactividad total con el usuario. Los comportamientos artificiales cada vez utilizan algoritmos más complejos de resolución de problemas, e incluso se están llegando a investigar e implementar métodos para que en cierta forma la máquina aprenda de sus errores y del comportamiento del jugador, adaptándose a las necesidades que el software le pida de dificultad.

A mí me acojona un poco el asundo, pero sin duda si los últimos 20 años en el mundo del videojuego han supuesto un salto cuántico en cuanto a complejidad, ni me imagino dentro de otros 20. Eso sí, como para entonces exista un Nintendogs o un Brain Training virtual, me voy a cagar en la madre que los parió.

Anuncios

6 comentarios

  1. Creo que tus temores serán reales, y tendremos algún “Cuida a tu abuelita” o cosas de esas virtuales. X-D

    ¡Ah!, y un artículo interesante este, yo siempre he pensado que los rivales de algunos juegos hacían trampas y como tienen la ventaja de saber que movimiento haces, ya que la maquina tiene que saber que haces para que tu personaje se mueva para donde tu dices, había veces que me parecía que usaba esa ventaja para ganarte, quizas fueran bugs o mala leshe de los programadores, pero tenía la pinta de eso. X-D

  2. Curioso, yo también he llegao a pensar como el Jumafas cuando no me pasaba alguna fase díficil, en plan “la cacharra esta tiene ventaja ¬¬”. Por otro lado y comparándolo con lo que dices del COD, jugando al Soldier of fortune también pensé en lo poco realista que era el juego, ya que los alemanes nunca te acribillaban el meollo al desembarcar :P.

    Con respecto al último parrafito, conozco al padre gilipollas de un colega que me decía “no me gustarán los videojuegos hasta que un disparo del har laif me suelte una descarga en la zona del cuerpo dañada”…Ese momento está más cerca, y lo mejor de todo es que quizás no esté muerto por entonces, cosa que dudaba hace algunos años :D.

    Buen texto :).

  3. Jumafas, hay un caso particular en el que se nota en demasía la autoregulación del nivel de dificultad del adversario controlado por la cpu, y es en ciertos juegos de conducción, sin ir más lejos los NFS. En los duelos 1 vs 1 del most wanted, daba la sensación de que si el contrario te adelantaba reducía la velocidad media, mientras que si le dejabas atrás realizaba un trazado perfecto, llegando a puntos incluso en los que el vehículo contrario alcanzaba unas velocidades que sobrepasa su límite, todo con tal de hacer más “emocionante” la partida.

    Gamboi, respecto a lo del padre de tu colega dile que cosas así ya se comercializan. Hay ciertos “gadgets” en los que metes tu cosita por un agujerito, y según lo bien que trates a una señorita virtual, dicho cacharro te dará cierta cantidad de gustirrinín. Dile que con un potenciómetro y un par de terminales se pueden hacer milagros con el trasto ese.

  4. El Rosso, lo de los juegos de coches es algo clásico, recuerdo el Outrun de la Game Gear, que tanto si tu como la CPU se quedaba poor detras su velocidad aumentaba bastante hasta que se pusiera por delante, que entonces el otro coche era el que corría más.
    Pero yo me refiero a otros juegos, sobre todo me pasa con los de tenis, en los que el rival parece que siempre sabe donde vas a tirar antes de que golpees. :)

  5. lol
    entonces tu eres de informatica malaguito

    weno felicidades por el blog! te añado a mi rss y seguramente a mis links ^^

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s