¿Hay algún blog o libro blanco recomendado que hable acerca de hacer que la IA en un juego de rol se sienta más real? (Específicamente en combate por turnos).
Sé que algo debe estar ahí afuera, pero solo estoy encontrando documentos que hablan sobre algoritmos detrás de la IA. Estoy mirando más en la línea de "esto es lo que hace que un oponente de la computadora se sienta vivo". Tomar riesgos, ir con calma, retirarse, etc.
Tantas respuestas increíbles, y desearía poder aceptar varias de ellas. ¡Gracias a todos!
Respuestas:
Errores Nada es peor que un oponente de IA que puede dispararte en la cabeza desde quince millas de distancia, o siempre elige la estrategia ganadora perfecta. Rompe la inmersión y hace evidente que estás jugando una rutina. Los errores pueden hacer que la IA parezca más humana.
Muchos juegos de FPS obligan a la IA a fallar con sus primeros disparos, advirtiendo al jugador que la IA está allí, antes de matar.
Los juegos de estrategia a veces pueden seleccionar una estrategia subóptima, o al evaluar amenazas pueden ignorar a propósito alguna proporción de ellas.
Un juego de carreras en el que trabajé calculaba cuando el jugador estaba cerca, y luego tiraba un dado para hacer que los autos de IA que estaban frente a él se desviaran por la esquina o explotaran un neumático. Fue alabado por su IA realista.
Sin embargo, crear IA imperfecta sigue siendo un desafío. Tienes que cometer errores convincentes, a un ritmo convincente, en lugar de realizar una acción perfecta después de una acción perfecta hasta cometer un error ridículo. Eso puede ser incluso peor que jugar solo una IA perfecta. Por ejemplo, el programador que trabajaba en la IA de carreras anterior dedicó mucho tiempo a modelar cómo subvira un automóvil y qué aportes debe realizar la IA para causar un subviraje convincente. Como siempre, las pruebas de juego son vitales.
Aquí hay un buen artículo sobre lo que implica producir este tipo de errores: http://www.gamasutra.com/view/feature/3947/intelligent_mistakes_how_to_.php
fuente
Otros han hablado sobre IA, lógica, planificación y la importancia de cometer errores. Y todo esto es bueno y útil en el desarrollo de la IA.
Pero la pregunta era sobre qué hace que un oponente de la computadora se sienta vivo, y eso no se puede lograr a través de la IA. Simplemente no lo es. Los jugadores no juzgan a un personaje en un juego según sus elecciones de nivel estratégico; lo juzgan en base a cosas mucho más pequeñas.
Para hacer que un oponente de la computadora se sienta vivo, lo que necesita es un conjunto completo de animaciones y sonidos de alta calidad (voces, especialmente) para el oponente. El jugador no puede ver la IA. No puede escucharlo, no puede experimentarlo, no puede saber lo que piensa el oponente. La aparición de "este personaje es una entidad viviente" se presenta al jugador por completo a través de las animaciones que se reproducen en el personaje, y los sonidos que produce el personaje (que nuevamente, en su mayoría, serán voces).
Es importante que el personaje reaccione a los estímulos que lo rodean; mirar cosas cercanas, tocar objetos cercanos (cuando sea apropiado hacerlo), parecer sorprendido cuando se sorprende y mostrar otras emociones cuando sea apropiado.
Cuando se habla de estas cosas, es importante minimizar las repeticiones. Si el personaje usa la misma animación de "ataque" cada vez que ataca, nunca se sentirá vivo. Si reproduce una sola animación "inactiva" en bucle cuando no está haciendo nada más, no se va a sentir vivo. Si dice la misma voz broma dos veces (especialmente consecutivamente), eso rompe la ilusión de que el personaje está vivo.
Y eso es todo. Si el oponente que estás tratando de hacer parecer vivo está físicamente presente en tu juego, entonces tu éxito en hacer que parezca vivo estará determinado principalmente por los gráficos y el sonido que se muestran al jugador.
Si el oponente que estás tratando de hacer parecer "vivo" no está realmente presente en el juego, como es el caso en Chess y StarCraft, no dudes en ignorar esta respuesta; Su mejor opción es seguir las respuestas centradas en la inteligencia artificial.
fuente
Aquí hay una lista de algunos conceptos simples que pueden hacer que tu oponente sea más vívido:
Intención
Dale al jugador alguna forma de adivinar la 'intención' de la IA. Esto podría ser tan simple como hacer que griten "Cantidad sobre calidad" antes de intentar un ataque preciso en la cabeza, "Flanquearlo" mientras intentan ponerse detrás de usted o "Tomar al líder, nada más importa" antes de atacar al protagonista. También podría ser más complejo, por ejemplo, hacer que le den un poco de lenguaje de señas a sus compañeros de equipo y luego cambiar el comportamiento de esos compañeros de equipo.
Desesperación
A medida que el oponente se acerca a la muerte, puedes darle una sensación de desesperación. Cambiar sus tácticas en ciertos hitos de salud. Haga que sus etapas posteriores sean más aterradas, con un mayor riesgo de su parte (ir al granizo, en lugar de astillar lentamente). Comunique esto visualmente también (animaciones más exageradas, venas pulsantes, etc.).
Salir con una explosión.
Dales una muerte que haga que pelear con ellos sea algo que valga la pena repetir. Los gruñidos se desploman animadamente. Los jefes soliloquizan. Si se trata de un personaje orgulloso, haz que se nieguen a matarte e infligen el último daño a sí mismos. Entiendes la deriva.
fuente
Recomiendo este google IO talk, se trata de google doodle pacman. A las 18:00 aproximadamente comienzan a hablar sobre la personalidad de los fantasmas en pacman. Es realmente sorprendente lo simple que es poner a las personalidades en el camino simple de búsqueda.
Google I / O 2011: Los secretos de Google Pac-Man: un programa de juegos
Vale la pena ver todo el video. Realmente lo recomiendo
fuente
No conozco ninguno de esos blogs, pero dado que los juegos de rol tácticos por turnos son mi segundo género favorito después de roguelikes, te escribiré una publicación de blog. Desde mi experiencia, no fue una dificultad de la IA táctica en un juego de rol o RTS lo que a menudo me desanimó, sino todo lo contrario: la completa miopía de la IA y la ausencia de decisiones del equipo. Los humanos nunca jugarán así.
En aquel entonces, cuando todavía veía los JRPG como un pináculo del diseño del juego, una vez intenté hacer un "TRPG japonés típico" con un fuerte enfoque en el combate táctico por turnos como Final Fantasy Tactics. Como siempre, se convirtió en una demostración técnica para la búsqueda de caminos y la inteligencia artificial, por lo que compartiré mis pensamientos sobre el tema.
La mayoría de estos TRPG no se molestan mucho con la IA. La diversión del jugador no proviene de un desafío táctico o estratégico complejo, sino de la agricultura general y el abuso de la IA de una manera divertida. Por lo tanto, no importa mucho que sus IA hagan cosas que ningún humano haría jamás. Por lo general, es suficiente tener una IA estúpida y equilibrarla con el diseño del juego de manera que nunca necesite ver más de un movimiento por adelantado y solo use los mejores movimientos a corto plazo. Por supuesto, nunca se siente real, pero a quién le importa? Esto simplemente se siente mal, quiero creer que es posible crear diversión basada en acciones complejas de IA en lugar de cultivar y rodar. Tal vez innecesario, y también lento, pero posible.
Recordando las tácticas originales de Final Fantasy Tactics y su mod hardcore FFT 1.3, establecí los siguientes objetivos para una IA humana y divertida:
Pensé que abordaría el n. ° 1 con comportamientos emergentes, el n. ° 2 con diferentes personalidades y la opción de estrategia "semi-aleatoria" similar a la humana, el n. ° 3 manteniendo la codificación mínima al mínimo y una prueba cuidadosa.
Entonces, ¿cuáles son estos comportamientos de los que estoy hablando? ¿Es una secuencia de habilidades con guión para usar? ¿Una habilidad superior de una lista ponderada? No, lo que tenía en mente era una combinación de la inteligencia deseada , el tipo de personalidad y un rol derivado de las habilidades y armas disponibles actualmente. Puedes describir esta combinación como un "traficante de daños berserking estúpido" o un "sanador defensivo inteligente". Por lo tanto, las especializaciones de inteligencia artificial, como clases o profesiones, por ejemplo, una IA de arquero que usa arco para disparar flechas con algún conjunto de combinaciones de habilidades de arquero genéricas predefinidas como Take Aim o Arrow Shower, se vuelven lógicamente emergentes en lugar de codificadas.
Básicamente, es importante detectar y operar en estos roles: distribuidor de daños, empapador de daños, deshabilitador, escaramuzador, sanador, amortiguador / amortiguador, área de efecto; por lo general, un personaje realizará al menos dos de estos roles.
Para hacer una diversión táctica de esto, queremos que los comportamientos manejen varios casos sólidamente:
El caso más simple. Muchos duendes débiles emboscan a nuestros héroes. La amenaza percibida es obvia, los duendes intentarán abrumar al jugador con cada goblin que tenga una personalidad estúpida y enloquecida con algunas habilidades cuerpo a cuerpo primitivas, la debilidad percibida también es obvia, como cebar a los duendes a un solo personaje blindado y resistente al fuego, y luego lanzar una serie de disparos. AoE basados en hechizos en esa dirección general. Encuentra un empapador de daños, busca un AoE'er, especializa el empapador de daños para el tipo de daño de AoE'er, envía el remojo de daños a la masa de duendes, lanza un hechizo de AoE dañino cuando los duendes se agrupan.
Caso habitual para probar interacciones simples en equipo. El jugador se encuentra con un caballero, un arquero, un mago y un clérigo. La amenaza percibida ahora es más compleja, varias interacciones están disponibles. Ya puedes ver los posibles roles y sus combinaciones. El clérigo pulirá y sanará, el mago repartirá cosas mágicas complejas pero muy dañinas, el caballero cargará contra alguien o defenderá a un mago, el arquero ayudará al caballero disparando a aquellos que intentan huir de él o haciendo que su estrategia de defensa sea más completa, esto dependerá de la elección del caballero. Las personalidades para los enemigos pueden decidirse al azar convirtiendo el mismo encuentro en una experiencia única. El jugador tendrá que decidir cuál es la mejor estrategia con las unidades que tiene actualmente, y si AI intentara hacer lo mismo en el otro lado de la pantalla, sería interesante.
Caso complejo para probar las interacciones del equipo y la planificación estratégica. Hay una batalla en la que te enfrentas a una pandilla de cuatro asesinos (distribuidor inteligente de daños cuidadoso + escaramuza). Pocos en número, con apariencia amenazante, su amenaza percibida radica en un ataque hábil y mortal, y la debilidad percibida es que es fácil reducir la fuerza general con solo un asesino asesinado. Entonces, naturalmente, son inteligentes, usan habilidades que funcionan bien entre sí y pueden enfocar a los personajes más peligrosos del jugador de fuego; los heridos graves se retiran, sanan y se pulen para unirse a la batalla. Obviamente, el jugador intentará atacar a uno de ellos primero, y los asesinos tendrán que contrarrestar esta estrategia fácil, por lo que será menos dominante.
Estuche rígido para mucha estrategia. Hay varios escuadrones de enemigos con cada líder de escuadrón que decide los mejores movimientos tácticos locales, y luego se selecciona una mejor decisión estratégica global para beneficiar a todos los escuadrones.
Caso imposible Agregue un general para decidir una estrategia, y haga que los líderes de escuadrón la implementen de la mejor manera posible.
Ya hay muchas cartas, así que, para resumir, la implementación fue un desastre y nunca superé un "caso difícil", pero incluso entonces este enfoque de tácticas divertidas se sintió factible. Comencé con FSM pero tuve que abandonar ese enfoque rápidamente, se convirtió en un enredo de estados y transiciones imposibles de depurar. Después de un tiempo, me decidí por personajes basados en la percepción de habilidades semiautónomas como en el paradigma "sentido-pensar-actuar" con árboles de comportamiento para posibles acciones individuales, una estrategia global que afecta las posibles acciones del equipo basadas en posibles acciones individuales, también una versión bastarda de algo como la predicción estadística de N-Gram fue arrojada.
¿Cómo ha funcionado esto? Sorprendentemente bien, AI incluso leyó mi mente varias veces, pero me cansé y lo abandoné porque había más que suficientes defectos convincentes:
Supongo que mi enfoque fue mediocre en el mejor de los casos, si no es que completamente malo, y que la inteligencia artificial tenía errores y dolores en el trasero para desarrollarme aún más, pero incluso así me divertí mucho jugando contra eso, casi como si jugara con un niño distraído, lo que sigue siendo mejor que Tactics Ogre :)
fuente
No siempre hagas que responda a tu acción X con la acción Y. A medida que evalúas cada acción potencial, agrega un factor de error aleatorio para que la IA no siempre elija la misma opción, pero elige algo razonable.
Evaluar si un ataque tiene una probabilidad razonable de tener éxito o al menos hacer un daño significativo. Demasiados juegos simplemente tienen rutas de ataque programadas que un humano puede aprender y usar para emboscar a la IA una y otra vez.
fuente
Una cosa que veo que sugiere mucho es que la IA comunique sus "pensamientos" al jugador de alguna manera. Esto a menudo se hace en tiradores en primera persona al hacer que los enemigos (de manera poco realista) griten sus planes al jugador (es decir, "¡flanquearlo!", "¡Él está allí!", Etc.).
Al final del día, los jugadores saben que están jugando contra una IA, por lo que cualquier cosa inteligente que la IA haga sin informar primero al jugador se puede descartar como trampa.
fuente
A menudo, pensamos en "¿cómo creamos IA?"
Eso es saltarse la gran pregunta, "¿Qué es la IA?"
Esta charla de TED.com que vi hace algunos años compartió un enfoque muy inspirador para la definición de Inteligente Artificial.
Si quieres que tus jugadores sientan que los enemigos son "inteligentes", esto proporcionará una respuesta de alto nivel, y esencialmente una forma completamente nueva de pensar sobre la IA, que es la "capacidad de predecir"
http://www.ted.com/talks/jeff_hawkins_on_how_brain_science_will_change_computing.html
fuente
Para mí, "sentirse vivo" significa que el personaje actúa como lo pensarías en la vida real.
Las personas en la vida real tienen necesidades, motivaciones, miedos, defectos. Hablan, reaccionan entre sí si se trata de un grupo, huyen porque se preocupan por su propia vida.
Si son militares o entrenados, tienen tácticas.
Entonces, tal vez debería verificar en el campo del comportamiento humano, por lo que en ciencias humanas, no en ciencias de la computación.
fuente