¿Cuál es una manera confiable y fácil de build una IA?

Posible duplicado:
Nuevo para crear AI: ¿por dónde empezar?

Estoy haciendo un juego de "Mario Like" y me preguntaba cómo funcionaría una IA en general. Estoy pensando en que podría ir al jugador y disparar siempre que el jugador esté a una cantidad x de distancia, pero esto me está confundiendo. No estoy pidiendo a nadie que escriba una IA, estoy preguntando dónde comenzar a build una o cualquier experiencia que tengas con la construcción de una IA.

Savlon ya ha vinculado una gran respuesta con varios enlaces en los comentarios.

Sin embargo, para una plataforma de Mario simple (¡oye!), No me preocuparía demasiado por la IA.

De hecho, realmente no necesitas ninguna IA real para crear un juego de plataforms bueno y sólido (¡no compliques demasiado!):

  • Para evitar que los PNJs mueran o desperdicien su "time" (o la potencia de procesamiento del sistema) antes de que el jugador esté allí, solo engendren con el jugador que esté cerca. De esta forma, no tienen que determinar si el jugador está cerca, qué deberían hacer, etc.
  • La mayoría del comportamiento enemigo clásico se puede realizar usando algunas reglas muy simples:
    • Deje que el enemigo camine hacia la izquierda. Si choca con algo, girará a la derecha.
    • Si el enemigo no se cae de las plataforms (tortuga roja en los juegos clásicos de Mario), entonces verifique si hay algo que pueda caminar delante de ellos. Si no hay, cambie la dirección.
    • Si el enemigo debe estar inactivo (plantas de pirañas), solo revisa qué tan distante está el jugador. No abandone el tubo siempre que esté más cerca que x unidades.
    • Para decidir en qué dirección disparar (hammer bros), solo determina en qué dirección se encuentra el jugador.
    • El comportamiento del jefe se puede controlar usando una lógica similar combinada con numbers (pseudo) aleatorios. Tenga en count que una gran parte del juego para la mayoría de las plataforms es el hecho de que tendrá que encontrar y recordar patrones (por ejemplo, cuando un jefe salta o cuando dispara) para vencer el juego y no recibir ningún golpe. Si agrega AI, esto no necesariamente será más desafiante o interesante. Es más probable que sea demasiado pnetworkingecible o los jugadores solo searchán algún resquicio para hacer que la IA se salga (no necesariamente, pero considero que este es un gran ejemplo de por qué no necesitarás una IA completa).
  • Las consoles clásicas no tenían el poder de procesamiento para las decisiones de IA en time real, como tal, esto es realmente poco común en este género de todos modos. Diría que prefieras los comportamientos fijos / codificados y concéntrate en el juego. Más adelante, si te apetece, puedes extender esto aún más y, al final, obtendrás esencialmente un comportamiento parecido a la IA sin escribir código explícito para ello.

Puede ser interesante tener en count:

La única participación de AI en un juego de plataforms clásico tipo Mario que conozco es el enfoque para escribir una IA de "saltar y correr" para esencialmente ejecutar un juego de esa velocidad (por ejemplo, para Infinite Mario , más información se puede encontrar en MarioAi.org ) Entonces estás "progtwigndo" al jugador, no a los enemigos. Tenga en count que no estoy hablando de algo así como el "modo guía" que presentó Nintendo con las últimas entregas de la serie. Estos son, hasta donde yo sé, solo arreglos de instrucciones / scripts que resuelven los niveles de una manera muy específica (ruta, time, etc.). Dato curioso: con una verdadera IA enemiga utilizando decisiones aleatorias, etc. algo así sería mucho más complicado de hacer (si es posible, dados los resources limitados y el jugador que no quiere esperar).