Foros - Stratos

Programadores => Inteligencia Artificial => Mensaje iniciado por: JMAA en 05 de Julio de 2006, 11:22:17 AM

Título: Dificultades e IA
Publicado por: JMAA en 05 de Julio de 2006, 11:22:17 AM
Tengo una preguntilla que me he estado pasando por la cabeza desde hace tiempo... ¿cómo puede variar la IA del ordenador según en qué dificultad esté el juego? O sea, no me refiero a que si son más tontos o más listos, me refiero a qué características pueden tener respecto a su actitud.
Título: Re: Dificultades e IA
Publicado por: Vicente en 05 de Julio de 2006, 11:34:03 AM
Cita de: "JtR666"Tengo una preguntilla que me he estado pasando por la cabeza desde hace tiempo... ¿cómo puede variar la IA del ordenador según en qué dificultad esté el juego? O sea, no me refiero a que si son más tontos o más listos, me refiero a qué características pueden tener respecto a su actitud.

Pues tienes varias alternativas:

- diseñas a mano la inteligencia para cada nivel
- le dejas menos tiempo a los niveles bajos
- cortas algoritmos en los niveles bajos

Un saludo,

Vicente
Título: Dificultades e IA
Publicado por: JMAA en 05 de Julio de 2006, 02:04:46 PM
Hombre, pues gracias, lo tendré en cuenta.
Título: Dificultades e IA
Publicado por: FANatiko en 05 de Julio de 2006, 03:12:23 PM
Una opcion es que diseñes los algoritmos teniendo en cuenta algunas variables "potenciometro". P.ej, el tiempo que comenta Vicente o añadas menos "sal" (lease, aleatoriedad) en los niveles menos dificiles.

A parte, en los niveles "faciles" igual los enemigos haran menos daño o iran a menos velocidad.

Recuerdo que p.ej Half Life los enemigos hacian mas o menos lo mismo, solo que tienes mas o menos armas... o Silent Hill, donde en nivel facil eres "el corte ingles".

Igual la IA no la tienes que cambiar mucho para cada nivel de dificultad... a menos que sea un FPS "multiplayer" (rollo con bots que tienen que buscar y matar al jugador y no guardar un sitio).

Sino, siempre te queda la opcion "hacer trampas" ... la IA ve TODO el mapa, sabe donde ir y donde esta el player, cuanto mas use la IA esas cosas, mas dificil sera de vencer... pero no debe ser invencible, o entonces no hay juego.
Título: Dificultades e IA
Publicado por: JMAA en 05 de Julio de 2006, 05:09:47 PM
Si, entiendo, entonces en un juego de estrategia basado por turnos (pongamos un ejemplo... Civilization) se supone que en el nivel más facil, la IA no ve ni tres en burro con la niebla en medio, va más lento, es más pacífico que belicoso... Digo yo, vamos.
Título: Dificultades e IA
Publicado por: Vicente en 05 de Julio de 2006, 07:26:22 PM
En uno de estrategia por turnos le dejas pensar menos y se acabo ;)

Un saludo!

Vicente

P.D.: pregunta en los foros del Galactic Civilizations sobre el tema, esos tios le dan mucho énfasis a la IA, y son muy majos.
Título: Dificultades e IA
Publicado por: JMAA en 05 de Julio de 2006, 08:42:13 PM
Muchas gracias. Veré que puedo hacer.
Título: Dificultades e IA
Publicado por: Warchief en 05 de Julio de 2006, 09:01:38 PM
No hay que olvidar que la trampa más usada es dar más recursos al jugador controlado por IA (léase warcraft, heroes of might and magic, etc).
Título: Dificultades e IA
Publicado por: Vicente en 05 de Julio de 2006, 09:20:22 PM
Para limitarlo por tiempo por cierto, los algoritmos iterativos son muy buenos:

- busca hasta el nivel X
- Mira si te queda tiempo
- Si queda tiempo, X++ y vuelta al principio

Un saludo!

Vicente
Título: Dificultades e IA
Publicado por: JMAA en 05 de Julio de 2006, 09:46:19 PM
Los turnos me parece que no tienen tiempo en los juegos de estrategia por turnos como Civilization. Sin embargo, puede que eso sirva para que los CPU's actuen más rápido o no.

De todas formas, estoy programando en BlitzBasic. ¿Alguna sugerencia?

EDIT: He estado hablando con la gente de Galactic Civilizations en el IRC, y me parece que me es suficiente con lo que me acaban de decir: necesito varios Decision Making's, planeamiento a gran escala... en fin, lo necesario. Y acabo de aprender una cosa: si el CPU es más "tonto", entonces no podrá acceder a ciertas subrutinas avanzadas.