Estoy codificando un juego 4X bastante "simple" (si un juego 4X puede ser simple). Es de alcance independiente, y me pregunto si de todos modos se puede llegar a una IA pasable sin tener que pasar meses codificándola.
El juego tiene tres porciones principales de toma de decisiones; gasto de puntos de producción, gasto de puntos de movimiento y gasto de puntos tecnológicos (básicamente hay 3 'monedas' diferentes, la moneda no gastada al final del turno no se guarda)
- Gastar puntos de producción
- Mejora un planeta (aumenta su tecnología y producción)
- Construir barcos (3 tipos)
- Mueve barcos de planetas a planetas (cuestan puntos de movimiento)
- Mover para atacar
- Muévete para fortificar
- Tecnología de investigación (puede investigar parcialmente una tecnología, es decir, como en Master of Orion)
El plan para mí en este momento es un enfoque de fuerza bruta. Básicamente hay 4 amplias opciones para el jugador:
Actualizar planeta (s) a su producción y producción tecnológica
Conquista tantos planetas como sea posible
Asegura tantos planetas como sea posible
Llegar a cierta tecnología lo antes posible
Para cada decisión, recorreré las posibles opciones y obtendré una puntuación; y luego la IA elegirá la decisión con el puntaje más alto. En este momento no tengo idea de cómo "mezclar decisiones". Es decir, por ejemplo, la IA desea actualizar y conquistar planetas al mismo tiempo. Supongo que puedo tener otra lógica que haga una optimización de la fuerza bruta en una combinación de esas 4 decisiones ...
Al menos, ese es mi plan si no puedo pensar en nada mejor. ¿Hay alguna forma más rápida de hacer una IA pasable? No necesito una muy buena, para rivalizar con Deep Blue o algo así, solo algo que tenga la ilusión de inteligencia.
Esta es la primera vez que hago una IA en esta escala, así que no me atrevo a probar algo demasiado grandioso también. Hasta ahora tengo experiencias con FSM, DFS, BFS y A *
Respuestas:
Parece que podrías probar Minimax para "mezclar" tus decisiones. Hubo una charla en el Game AI Conf del año pasado por parte de los programadores detrás de Green Corp, y eso es lo que usaron para construir su IA. Les llevó mucho tiempo hacerlo bien, pero tienen un resultado decente.
fuente
Si es lo suficientemente bueno como para despertar interés (y tendrá que asumir que lo será, o puede dejarlo ahora mismo), y es compatible con la creación de redes, el mejor curso de acción para este tipo de cosas es:
Al hacerlo, la parte difícil será permitir que la IA sea programada y utilizada de esta manera, y simplemente "externalizará" la optimización de IA real para los jugadores.
¡Esto no solo te dará una IA mucho mejor, sino que también agregará mucho valor al juego en sí!
fuente