¿Cómo diseñarías un NPC de IA que razonara y planificara activamente sus acciones?

Necesita dos cosas: una lista de necesidades (preferencia hacia un sistema jerárquico o prioritario) y una forma de vincular acciones a esas necesidades.

Dependiendo del dominio del problema y la potencia de CPU disponible, tiene algunas formas de abordar esto. Gran parte se reduce a qué API está exponiendo a la IA (qué datos puede recopilar automáticamente y qué puede hacer) y cuánto tiempo de simulación obtiene por tick (piense en la IA del ajedrez).

Esto supone que no hay una base de conocimiento real y que la IA necesita aprender todo: “Oh, mira, tengo poca salud. Tocaré cada objeto en el juego y veré si alguno me cura y luego recordaré ese tipo de objeto “. Lo que suena interesante, pero francamente sería extremadamente aburrido hasta que esté muy entrenado, en cuyo punto el usuario final no puede distinguir entre un entrenado AI / red neuronal y algunos bot muy programados.

De vuelta al tema.

El mayor desafío es reducir el razonamiento: qué debo hacer y cómo saber cuándo aprovechar las oportunidades que no son mi máxima prioridad. Entonces, necesita el concepto de localidad de oportunidad: ¿se aleja un paso para obtener un paquete de salud? Incluso si estás al 99%. ¿Qué tal 10 pasos? O al 90%. De nuevo – prioridades. Debes dar a la IA razones para hacer cosas.

La solución típica es relacionar las unidades de datos. Metaetiqueta objetos con lo que proporciona / toma / hace. Construyes un accesor de amenaza para los enemigos. Si realmente quieres una IA inteligente, llegas al punto en que puede descubrir cuándo podrás dispararla y luego se asegura de que no esté allí cuando eso suceda.

La verdadera planificación es difícil, pero el desglose de tareas es más fácil; nuevamente, la planificación de alto nivel. ¡Quiero XP! Genial, así que muérete bien. Haga un análisis de riesgo / recompensa y la IA descubrirá a dónde ir. Incluya el tiempo de molienda y el tiempo de viaje y descubrirá la forma más eficiente de hacerlo y volverá a tiempo para la cena / batalla.

Muchas opciones Solo póngalo en capas según sea necesario hasta que sus muchachos se sientan vivos.

Nota: RPG Game Design generalmente se refiere a juegos de rol de papel y lápiz, no a juegos de computadora. No sabría si no fuera la “IA”.

El árbol de diálogo es y será el camino para la próxima década más o menos. Chat bot AI es más diversión y juguetes, Cortana y sus competidores siguen siendo malinterpretados por los usuarios y dicen cosas al azar, e incluso IBM Whatson, diseñado para ser una herramienta muy avanzada para la investigación, es obviamente un bot cuando hablas con él. Una IA difícilmente puede pretender ser una persona sana y no idiota durante 2 oraciones y eso es en el mundo de los chats en línea simplificados en los que puede salirse con la suya respondiendo “LOL, OK” a todo lo que no entiende y tirando libremente Las referencias relacionadas con la cultura popular se consideran inteligentes. Un general de NPC, supervillano o mago, en el mejor de los casos, sonaría como un idiota o esquizofrénico que a veces reacciona a lo que dices, pero generalmente solo habla con sus voces. Olvídate de la IA para ese propósito. Si te gusta la IA del chat, crea una para divertirte en el chat no relacionado. Si realmente quieres poner un robot de chat AI en un juego de rol, ponlo en un NPC loco o en una máquina rota con algunos disparadores de eventos en menciones específicas.

De lo contrario, árbol de diálogo.

Yo usaría un planificador .

Los dos planificadores más comunes utilizados en Game AI son el Planificador de acción orientado a objetivos (GOAP) y el Planificador jerárquico de nodo de árbol. (Planificador HTN)

Es más probable que use el Planificador HTN porque es más sencillo configurar y crear planes para, mucho más predecible, mucho más amable con los diseñadores, y también he usado uno antes.


Por supuesto, todos sus planes potenciales todavía están escritos, pero al menos está creando un comportamiento lógico que parece tener la apariencia de llevar a cabo un plan. Eso es realmente lo que quieres.


Si quieres una IA de juego que pueda razonar y crear nuevos planes sobre la marcha … demasiado mal. Eso es un sueño … y realmente es un sueño de pesadilla en el que nunca se puede dar a los desarrolladores de juegos lo que quieren y terminan arrancando todo el sistema para crear secuencias de comandos.