Publicado hace 17 años por jmslay a theneedforgaming.blogspot.com

Las cónsolas de nueva generación tienen una capacidad de proceso mucho mayor que las anteriores, por eso son capaces de realizar más tareas al mismo tiempo y además, dedicarle más tiempo a cada tarea. El resultado son unos gráficos, una física y una IA que está muy por encima de lo acostubrado. En este artículo podemos ver cuales son los secretos de la IA en los juegos, y por que en la nueva generación vamos a ver IA mucho más potente y más profunda.

Comentarios

Carme

procura variar de fuentes (http://meneame.net/faq-es.php)

D

Los métodos iterativos son los que refinan una solución mediante aproximaciones sucesivas (ejemplos: simplex, gradiente, algoritmos genéticos, newton, bisección...) , A* no hace eso...
Lo que hace es ir construyendo una ruta (o varias), escogiendo como siguiente nodo el que haga la ruta parcial más favorable (según el coste de la ruta y el estimado restante) que no estará completa hasta que no haya llegado a la solución (y esta será óptima si la heurística cumple los requisitos para ser válida para A*).
Así que haz el favor de no hablar sobre lo que no sabes (o ten la decencia de retractarte luego), que puedes confundir a mucha gente.

D

Hablas demasiado de A* para no saber cómo funciona
"Podríamos decir que calculamos un camino (sea del coste que sea) y lo vamos refinando según iteraciones (no es exactamente así, pero podemos darlo por bueno para esta explicaciónJ)" - No es que no sea "exactamente" así, es que no se parece en nada lol

"con A* podemos encontrar un camino “no óptimo” hasta la meta" - Falso, si la heurística es pesimista (da un valor menor que el real, como suelen ser todas las heurísticas de pathfinding), siempre da el camino óptimo.

http://en.wikipedia.org/wiki/A

j

Bueno eso de que no se parece en nada en ciertamente discutible. Si que es iterativo, miraló en el propio enlace que has enviado de WikiPedia, para cada nodo se expanden los nodos vecinos, y se vuelven a calcular

Hago un Copy&Paste del párrafo entero, pues creo que no has entendido el mensaje del mismo:
En este conocidísimo algoritmo se tienen en cuenta factores como los objetos que hay intermedios, el inicio, la meta y el coste que tiene llegar por cada uno de los caminos calculados (no se tienen que calcular obligatoriamente todos los posibles, por restricciones de tiempo). Podríamos decir que calculamos un camino (sea del coste que sea) y lo vamos refinando según iteraciones (no es exactamente así, pero podemos darlo por bueno para esta explicaciónJ) hasta encontrar el mejor. Esto quiere decir que con A* podemos encontrar un camino “no óptimo” hasta la meta, de forma muy rápida y después pulirlo hasta que nos guste el coste o simplemente no tengamos mas tiempo de calculo.

Si lees el artículo entero veras que lo que estoy diciendo es que, al no tener todo el tiempo disponible, calculamos un camino no optimo, intentamos calcular el optimo con A* (digamos una solucion de las parciales) y antes de que termine A* (ese es el quid) nos salimos (por no tener mas tiempo) y nos quedamos con ese camino.
Fijate que digo: con A* PODEMOS encontrar un camino no optimo a la meta. Eso es totalmente cierto!, pues si no acabamos las iteraciones en el bucle While, lo cierto es que puede no ser Optimo.
A eso es a lo que me refería.
Saludos,
PD: Obviamente es mejorable.

Es por eso que digo que

j

Pido disculpas por el "Autobombo"... pues como dice en el FAQ no esta bien visto y es totalmente lógico.
Creo que está claro que ha sido por desconocimiento, pues qué menos que cambiar de NICK si fuera mal intencionado o por ganar visitas.

Saludos,