¿No es ético hacer una IA de juego que sea secretamente no competitiva?

121

En varios juegos, la IA está diseñada para darle al jugador un momento fácil sin su conocimiento. Esto puede tener un 0% de probabilidad de golpear la primera vez que apareces, y el enemigo te permite acercarte sigilosamente al no dar la vuelta, o reducir la dificultad cuando el jugador está herido o ha reiniciado varias veces.

Me ofendería si al final de un juego de mesa o deporte me dijeran que un humano no había hecho todo lo posible.

¿Existe la misma ética para una IA?

editar Como en el título, mi principal preocupación era mantener oculta la desventaja para el jugador, por ejemplo, cuando se juega a un tirador es razonable esperar que el jugador sepa que la IA tiene un tiempo de reacción artificial y mala puntería, pero mi pregunta era sobre juegos que esconde cosas como los enemigos que no usan la mejor arma o que reducen su dificultad cuando el jugador está curado.

PStag
fuente
14
Siento que 1989, de Ron Gilbert, Why Adventure Games Suck es una lectura interesante incluso si estás trabajando en otro género. Principios como "the object of these games is to have fun", "the player needs to know that she is achieving"y "as a rule, adventure games should be able to be played from beginning to end without "dying" or saving the game if the player is very careful and very observant"deberían ser muy aplicables al diseño de IA, incluidos los que "permiten" que gane el jugador.
Tobia Tesan
35
"Me ofendería si al final de un juego de mesa o deporte me dijeran que un humano no había hecho todo lo posible". Pero eso solo es cierto para oponentes de aproximadamente la misma fuerza. La IA y los humanos son tan diferentes que es difícil compararlos. Tomemos ajedrez. Si me ofendiera, cada vez que un algoritmo de ajedrez informático no intentara lo mejor posible, perdería cada vez.
Trilarion
17
Debería reconsiderar qué respuesta es la buena ...
Olivier Dulac
55
La mayoría de las IA son irrealmente fáciles de superar. Por ejemplo, ¿por qué los enemigos en Mario tienen un patrón de movimiento preestablecido? ¡Eso los hace mucho más fáciles de vencer! Como jugador, la clave para mí no es si vencí a la IA más dura posible; es si fui desafiado lo suficiente y si aún podía ganar. Si el desafío es demasiado pequeño o demasiado grande, ya no es divertido.
jpaugh
3
No es exactamente AI, pero en el Buscaminas original (y la mayoría / todas las versiones posteriores), las minas no se generan hasta después de hacer clic en el primer cuadrado. Esto hace que sea literalmente imposible hacer clic en una mina en tu primer intento. Creo que esta es una demostración perfecta de una buena filosofía de diseño de juegos. Después de ese primer clic, si haces clic en una mina, pierdes, el juego ha terminado. Pero simplemente no es divertido perder en el primer clic antes de poder hacer algo. Ya sea que la diversión provenga de un desafío extremo u otra fuente (es decir, una historia), su primera prioridad siempre debe ser el disfrute del jugador.
CGriffin

Respuestas:

42

¿Qué quieres lograr con tu IA?

Si su juego está tratando de contar una historia , entonces es razonable que la IA se ajuste para que obtenga la historia que desea contar.

Si quieres que el jugador tenga una sensación de logro al superar un obstáculo o vencer a un oponente, haciendo que la IA que controla el juego elimine eso, necesitas que la IA sea realmente la amenaza que se presenta.


fuente
24
Aunque para muchos juegos de mesa es muy necesario que modifiques la IA, si no insertas algunos errores artificiales de vez en cuando, serían literalmente imbatibles.
Cubic
19
La buena IA del ajedrez ha estado más allá del nivel de gran maestro durante más de 20 años. Go bots ha ido más allá de lo profesional 'normal' desde hace 2 años, y creo que también han mejorado desde entonces, por no hablar de juegos comparativamente simples como Reversi, en los que los jugadores humanos no han sido competitivos durante casi 40 años. Más recientemente, incluso los juegos de acción como Counter Strike o Starcraft II tenían bots que funcionaban a niveles profesionales. Entonces sí, es un problema que deberías considerar.
Cubic
55
@Cubic: Y juegos como el ajedrez y el go son las raras excepciones. Si desea lanzar una imitación de un juego de estrategia popular como Puerto Rico o está publicando su propio TBS nuevo, no habrá una IA de nivel experto lista para usar en su juego, y usted Es poco probable que escriban uno. Diablos, incluso con el ajedrez, probablemente no vencerás a los expertos si escribes tu propia IA.
99
¿Escribir tu propia IA? Eso está perdiendo el punto. El ajedrez puede ser el último juego donde los humanos escribieron la IA que venció a los humanos. AlphaGo se basa en el aprendizaje por refuerzo , y no hay razón para suponer que RL no es adecuado para otros juegos de mesa.
MSalters
3
@MSalters: Sería genial si los últimos avances en IA condujeran a un mundo donde hay tomas que hacen que sea fácil para cualquiera producir una excelente IA de juego. Pero esa no es la palabra en la que estamos viviendo actualmente. Además, en el IIRC, la gente dijo lo mismo en la última media docena de avances en IA.
240

Las IA de los juegos casi siempre no son competitivas, porque si la IA realmente intentara con todas sus fuerzas ganar, a menudo sería inmejorable. Una IA no está sujeta a limitaciones humanas como los reflejos, la precisión, la percepción, la fatiga o la capacidad computacional. Entonces, cuando está jugando seriamente para ganar, ningún humano tendrá una oportunidad.

Tomemos como ejemplo el género de disparos en primera persona. La mayor parte de esta respuesta debería ser aplicable a la mayoría de los otros géneros. Hay excepciones. Las IA tienen dificultades para vencer a los humanos en juegos de estrategia muy complejos, por ejemplo. Muchos juegos de estrategia 4X en tiempo real y por turnos hacen muchas trampas para que los jugadores de IA sean desafiantes. Pero cubrir cada género de juego haría que el alcance de esta respuesta fuera demasiado grande. Así que centrémonos en el género FPS.

Una IA de juego perfecta te dispararía con una precisión perfecta en el primer cuadro donde un solo píxel de tu personaje es visible para ellos. A veces te encuentras con esto en el modo multijugador cuando juegas contra tramposos. Se llaman aimbots, y a nadie le gusta jugar contra ellos, porque es extremadamente frustrante.

Pero una IA tan perfecta es, de hecho, la más fácil de programar:

if (lineIsUnobstructed (this.position, player.position)) {
     rotateTowards (player.position);
     shoot();
}

Así que el juego perfecto es el comportamiento predeterminado. Las debilidades humanas como la falta de atención, la percepción limitada, la reacción tardía y la puntería inexacta son cosas que usted, como desarrollador de juegos, necesita programar intencionalmente. Y generalmente toma mucho tiempo modificar estos aspectos hasta que el comportamiento del enemigo sea plausible y proporcione la cantidad correcta de desafío para el jugador. ¿Cuánto desafío es "la cantidad correcta de desafío"? Pregunta muy interesante, pero no está dentro del alcance de esta pregunta.

También tenga en cuenta que la mayoría de los juegos para un solo jugador son inherentemente asimétricos por razones narrativas. Los jugadores y los oponentes de IA generalmente no tienen los mismos objetivos, tienen diferentes herramientas disponibles y a menudo ni siquiera están sujetos a la misma mecánica de juego. No es raro que el único personaje jugador se enfrente a docenas o cientos de oponentes en un solo nivel. Cuando cada oponente sería tan bueno como el jugador, esto sería imposible de hacer. Pero la mayoría de los juegos están vendiendo fantasías de poder. Se supone que el jugador es un héroe de acción rudo que puede derrotar por sí solo a un pequeño ejército. Esa suele ser la experiencia que el jugador espera cuando compra un juego de disparos en primera persona. Eso significa que para darle al jugador un desafío "justo", debes hacer que el enemigo individual sea relativamente débil y estúpido.

Ahora con respecto a la pregunta "¿Debería facilitar el juego cuando el jugador está perdiendo?" . Tal vez tal vez no. De hecho, muchos jugadores se sienten condescendientes cuando fallan repetidamente en un desafío y, de repente, el desafío se hace más fácil. Por lo tanto, es posible que desee evitar eso, al menos sin preguntarle al jugador si quiere ayuda.

Pero lo que muchos juegos hacen con mucho éxito es una técnica llamada bandas de goma . Ajusta la dificultad de futuros encuentros dependiendo del éxito del jugador en encuentros pasados. A veces incluso puedes hacer eso naturalmente dentro de la ficción del juego.

Philipp
fuente
55
La IA ciertamente "intenta es más difícil ganar", pero solo al nivel para el que fue programada. Un jugador de 6 años jugando "puede hacer todo lo posible para ganar", pero no vencerá a un jugador más avanzado. Puedo programar IA para simular una ardilla, y puede ser brillantemente perfecta (como una ardilla), pero no ser capaz de vencerte en el ajedrez. Eso no lo hace fallido AI.
Tim Holt
2
Puede tener una casilla de verificación "dificultad adaptativa" en el menú de configuración de configuración de dificultad. Podrías dejar que el jugador configure un rango de dificultad para que no sea totalmente adaptable y el jugador no siempre comenzará a perder si está jugando lo suficientemente bien.
Peter Cordes
3
@TimHolt Creo que se está haciendo una distinción entre programar la mejor IA, es decir, una IA que realmente se esfuerza tanto como sea factible computacionalmente para ganar, versus una IA tonta, que todavía se esfuerza igual de duro (es una computadora) , pero no necesariamente para ganar.
Nic Hartley
8
Creo que el argumento semántico sobre lo que significa que la IA "intente" no tiene sentido y es improductivo. Está claro cuál es la interpretación correcta en su contexto, y el punto se encuentra en esa interpretación. La reasignación del significado a palabras que el OP ya usó solo dará lugar a discusiones sobre el significado de una palabra (en este caso, un coloquialismo), en lugar de algo realmente perspicaz.
AlexanderJ93
99
@ AlexanderJ93 no lo hago. El capítulo 2 del libro de texto clásico de Norvig menciona explícitamente que definir una medida de rendimiento para un agente inteligente no es opcional, es decir, lo que el agente necesita maximizar. Claramente en los juegos lo que estás tratando de maximizar es: diversión .
Tobia Tesan
46

La IA de un juego es parte del diseño general de un juego. Al final del día, la IA que creas debe complementar el diseño del juego.

Si su juego está diseñado para crear un entorno competitivo y desafiante, una IA "perfecta" podría ser algo bueno. Al mismo tiempo, debes considerar algo muy importante:

Los humanos no son computadoras .

Incluso sin hacer trampa, en muchos juegos competitivos no es del todo difícil crear una IA que pueda vencer a cualquier humano sin esfuerzo. Las IA no tienen que leer las entradas de los jugadores para tener tiempos de reacción más rápidos que cualquier humano. Si el jugador realiza una acción que tiene alguna pista visual, la IA tiene el derecho bajo su regla de "jugar lo mejor que pueda" para usar incluso pequeñas diferencias visuales para reaccionar perfectamente a lo que está sucediendo.

Para que esto funcione, debes cambiar la naturaleza del juego en sí. Para el juego de persona a persona, es posible que todas las animaciones de liquidación para ataques rápidos se vean muy diferentes, ya que se tiene en cuenta el tiempo de reacción humano. Pero para las computadoras, tal juego es trivialmente fácil; Pueden reaccionar instantánea y perfectamente.

Entonces, en los juegos de lucha, si una computadora perfecta tiene un movimiento rápido y atacas con cualquier cosa que requiera más cuadros que su movimiento, la computadora te golpeará . Lo que fue un intrincado juego de adivinanzas en el que los jugadores tienen que predecir los movimientos de los demás se convierte en el humano que pierde ante la computadora.

Si quieres tener una IA perfecta, necesitas construir un juego donde la IA pueda jugar perfectamente y aún perder . Eso no es algo fácil, y no funcionaría en muchos géneros. Solo podría suceder si hay cosas a las que la IA tiene que reaccionar pero sin el tiempo suficiente para hacerlo. Esto sería como juegos RTS donde hay información oculta. Un juego verdaderamente perfecto requeriría un conocimiento perfecto, pero eso es inalcanzable. Por lo tanto, la computadora tendrá que conformarse con "perfecto, hasta donde yo sé, jugar". Y así, puede ser engañado.

Pero incluso en tales juegos, la velocidad de las computadoras les da una ventaja en cualquier situación donde haya información bien entendida. Pueden micro perfectamente, posicionando cada unidad para obtener el máximo efecto. Etcétera.

Básicamente, la mayoría de los juegos hechos para humanos están hechos para humanos , no para computadoras.

Esta no es una cuestión de "ética". Se trata de para quién está hecho el juego y cuál es el propósito del oponente AI.

Nicol Bolas
fuente
44
Si la IA puede jugar perfectamente y aún perder, entonces un humano que juega perfectamente también puede perder. Eso tampoco es ideal. Más bien, quieres un juego que tenga suficiente complejidad y / o información oculta que determine que una estrategia perfecta es imposible o poco práctica. Esta es la razón por la cual los humanos aún superan a las computadoras en Chess and Go hasta hace poco; la computadora no puede analizar completamente todos los movimientos posibles y debe confiar en la heurística, al igual que el humano depende de la intuición.
Ray
3
@Ray: " Si la IA puede jugar perfectamente y aún perder, entonces un humano que juega perfectamente también puede perder. Eso tampoco es ideal " . "Perfecto" aquí "dentro de los límites del juego en cuestión". Le di RTS como ejemplo porque el género a menudo usa Fog of War, lo que le impide saberlo todo. Y sin un conocimiento perfecto, no puedes tener un juego genuinamente perfecto. Solo puedes tener un juego "perfecto" dentro de los límites de lo que sabes.
Nicol Bolas
2
@Ray Eso puede haber sido cierto hace diez años, pero ahora lo es menos: tenemos tablas de soluciones precalculadas para los 7 finales y menos juegos finales. Una vez que hay menos de 8 piezas, hay un mejor movimiento distinto en algún lugar de esas tablas de 170 TB.
TemporalWolf
3
Sin embargo, las IA de los juegos de estrategia son mucho peores que "perfectas hasta donde yo sé". Sí, tienen un micro perfecto, lo que los convierte en un desafío importante para la mayoría de los jugadores, pero también son muy exigentes con su guión y no responden bien a las estrategias poco ortodoxas. Por ejemplo, en Warcraft 3, podrías vencer a la IA más dura con un solo trabajador, porque la IA no puede manejar la carrera de la torre. Ignora al trabajador que construye la torre hasta que sea demasiado tarde, luego procede a desperdiciar sus unidades frente a esas torres, en lugar de tomar la base enemiga.
Dulkan
66
Mucho esto. Como anécdota, mis amigos y yo estábamos jugando un RTS (Rise of Nations) contra algunas computadoras sin problemas. Luego, mi amigo lo modificó para que el límite de población fuera de 200 a 2000, y la misma computadora nos sacrificó, incluso cuando éramos 3 de nosotros frente a una computadora. Los humanos tuvimos rendimientos decrecientes al controlar más unidades a la vez, mientras que la computadora no.
Lord Farquaad
26

Como prefacio, voy a correlacionar la ética con el engaño. Si te sientes engañado, sientes que te ha sucedido algo poco ético.

En pocas palabras, para que el comportamiento de su IA sea aceptable, haga que el comportamiento que imita sea creíble. Las personas no se sienten engañadas por un comportamiento creíble, se sienten engañadas por un comportamiento increíble / poco realista. Entonces sea creíble, y no tendrá la pregunta de ética.

Además, observe lo que significa AI cuando considere su pregunta: es IntelliGENCE Artificial , no IntelliGENT Artificial . La inteligencia es la capacidad de adquirir y aplicar conocimientos y habilidades. Inteligente es algo que normalmente tiene una alta inteligencia. En otras palabras, solo porque algo tiene inteligencia no significa que sea inteligente. Una ardilla tiene inteligencia, pero no es (según los estándares humanos) inteligente.

Por último, separe las decisiones que toma la IA de la mecánica real del juego, y no permita que la IA rompa las reglas. Ese último punto es quizás un poco más difícil de explicar, así que aquí hay un ejemplo ...

Un ejemplo con armas e IA

Su IA no está simulando un arma y cómo dispara, está simulando un ser pensante (o tal vez una máquina) detrás de esa arma.

El arma en sí se maneja mediante un código que calcula si un disparo golpea teniendo en cuenta el alcance, la precisión del arma, el patrón extendido sobre la distancia, la posición del tirador, si el tirador se está moviendo, la habilidad del tirador, etc. Nunca debe meterse con ese código como simula la realidad mecánica y física. Si haces esto, rompes la credibilidad.

¿Pero la cosa que sostiene el arma? Eso es administrado por AI. Se debe tener ninguna influencia en la forma en la pistola funciona realmente. Solo cómo se usa el arma.

Entonces, dado el comportamiento conocido del arma, pregúntese por qué la IA podría fallar en el primer disparo. Luego, haga que su comportamiento de IA refleje lo que haría fallar ese primer disparo. ¿Es porque está simulando un oponente de baja habilidad que dispara desde la cadera y no apunta? ¿Es porque la IA dispara el primer disparo por pánico mientras se mueve? ¿Es porque el oponente tiene un arma de baja calidad? ¿Es porque el oponente está muy lejos?

Si tu IA simula este tipo de cosas de "por qué", has creado una IA que se comporta de manera creíble cuando dispara y falla. Y nadie se sentirá engañado por ese tipo de IA.

Un escenario para armas y ejemplo de IA

Considera un escenario en el que te acercas sigilosamente y sorprendes a un oponente de IA. Saltan y te disparan salvajemente mientras corren hacia atrás, y tu código de disparo básicamente les dará una probabilidad muy baja de acertar en el primer disparo debido a esto. Y suponiendo que el jugador sepa lo que hace que los disparos sean inexactos, encontrará que esta falta es altamente creíble y aceptable.

Pero si lo desea, la IA podría decir: "Bien, necesito aumentar mis probabilidades de golpear. Qué puedo hacer ... Bien, puedo dejar de moverme. Puedo agacharme. Puedo apuntar mi arma usando miras en lugar de disparar desde la cadera." Y la IA luego comienza a cambiar la forma en que dispara, y el oponente comienza a mejorar. Eso es inteligencia moviéndose hacia lo inteligente.

Por supuesto, una versión muy inteligente de ese oponente no entrará en pánico e inmediatamente se dirigirá hacia la acción más efectiva. Podrían caer rápidamente sobre una rodilla y apuntarle con la vista, y aumentar considerablemente sus posibilidades de golpear.

Armas y AI Ejemplo de resumen / conclusión

Básicamente, lo que esto dice es para la IA que implica disparar a algo, el "nivel de habilidad" de la IA se centra en qué tan rápido puede avanzar para hacer todo lo posible para optimizar su precisión. La IA súper tonta nunca se da cuenta, siempre dispara desde la cadera mientras corre y se mueve. La inteligencia artificial inteligente hace más y más para optimizar la precisión. REALMENTE la inteligencia artificial inteligente hace todo lo posible para optimizar la precisión.

Tim Holt
fuente
19

Si. Una IA debe permanecer en el nivel en el que se estableció.

Una IA de ajedrez nos vencerá a todos cada vez, y depende de nosotros sintonizarlo con algo que encontremos agradable. Nunca quisiera que la IA se enmudezca cuando vea que va a ganar, o que aparezca una ventana emergente que diga "compañero en 25, ¿quieres que sea peor en el ajedrez?". Simplemente golpéame hasta que me canse de jugar a un nivel que está más allá de mí.

No pensemos que darle al oponente todas las reinas tiene algo que ver con la IA.

Carl
fuente
10
@ mr23ceec El ajedrez es infinitamente menos complejo que un juego de estrategia por turnos como Civilization. Cuantas más variables introduzcas, más difícil será para una IA competir. Cuando lleva edificios, tecnologías, mezclas de unidades, posición de mapas, etc., es demasiado difícil de manejar para una idea, que solo puede seguir un guión preprogramado. ¿Qué tiene oyu en el ajedrez? 64 espacios, 6 piezas diferentes con patrones de movimiento definidos. En Civ, hay más actividades después de 10 turnos. Nunca he oído hablar de ese juego general que mencionas, ni Google encuentra nada al respecto. ¿Te importaría compartir un enlace?
Dulkan
1
Me recuerda a Mark Rosewater's Tales from the Pit: i.imgur.com/AvQrRTO.jpg
corsiKa
3
Realmente no entiendo esta respuesta. Parece que estás diciendo que una dificultad dinámica AI no es ética, y que la dificultad AI debería ser reparada. Sin embargo, esa dificultad fija no tiene que ser óptima, y ​​aún debe haber diferentes preajustes de dificultad. Esto solo se convierte en un proceso de calibración manual para descubrir qué tan alto debo configurar mi IA de ChessBot para que me dé un desafío, pero aún así una oportunidad de ganar. ¿Por qué es menos conveniente el ajuste automático de dificultad que el ajuste manual? Sería más preciso y mucho menos tedioso.
Nuclear Wang
2
Muy de acuerdo con esta respuesta. La dificultad de la IA que cambia en secreto es el engaño, que no es ético. Si un jugador elige la dificultad 7 , siempre debe tener la dificultad 7 . Además, esta respuesta no es incompatible con la dificultad dinámica. Si un jugador elige la dificultad dinámica según el método X , siempre debe obtener eso y solo eso. Lo que compro un producto quiero ser el que controle lo que hacen mis productos comprados.
Jose Antonio Dura Olmos
1
Una cosa que probablemente vale la pena señalar es que el ajedrez es básicamente un juego "simétrico"; mecánicamente, la IA del ajedrez está jugando el mismo papel que el jugador humano. Eso tiene algún efecto sobre lo que deberíamos esperar de una IA.
12

Yo diría que no. Para mí, los juegos son, ante todo, productos de entretenimiento. Quieren ofrecer una experiencia a un público específico. Por lo tanto, todo depende de qué experiencia y para qué público desea hacer una experiencia. Tome un nuevo juego, por ejemplo, como Cuphead. Este juego está hecho para personas que quieren que el juego sea duro e implacable, etc. Ese tipo de jugador se sentiría mal si el juego no funcionara después de morir X veces (hasta ahora he muerto 255). Por otra parte, reducir automáticamente la dificultad para un público más informal podría ayudarlos a progresar en el juego y, en general, a pasar un mejor momento. En conclusión: "Conoce a tu audiencia".

Uri Popov
fuente
77
Algunos juegos que juego para un desafío. Algunos juegos que juego para una historia inmersiva y atornillan el desafío. Algunos juegos quiero los dos.
Wayne Werner
Incluso en Cuphead, los enemigos no están enfocados en rastrearlo y matarlo específicamente. En cambio, atacan en patrones predecibles que puedes memorizar.
Casey
11

Intenta ser competitivo en un deporte con tu cita o con tus hijos. En ambos casos, puedes terminar jugando ese deporte solo porque no lo has hecho divertido para ellos.

El término inteligencia artificial es un poco engañoso. Por defecto, la IA es ejecutada por la computadora que tiene un conocimiento completo de las reglas y el estado del juego, por lo que la IA sabría exactamente qué hacer y cuándo hacerlo para vencer al jugador.

Esto no es divertido.

La parte de inteligencia de la IA debe convertirse en tontería, lo suficiente como para desafiar a los jugadores y mantenerlos jugando.

Ese es un desafío y por eso existen los diseñadores de juegos.

Alexandre Vaillancourt
fuente
Puedes ser competitivo con los niños, no obtienen voto en los juegos que juegas.
PStag
3
@PStag De acuerdo, hay una manera correcta de hacerlo y una manera incorrecta. No haría mi mejor esfuerzo con mis hijos :)
Alexandre Vaillancourt
9

En última instancia, el papel de la inteligencia artificial es ayudar a producir una experiencia gratificante y digna de nota. El Dr. Ian Lane Davis habla sobre esto en algunas de sus entrevistas, que el papel de una IA es perder de manera convincente. Entrevista de PCAuthority (La mecánica que mencionas son ejemplos de que el juego no es convincente, sino que opta por una forma barata y fácil de proporcionar la victoria al jugador).

De la misma entrevista:

Tus oponentes de IA son herramientas para el drama y la tensión tanto como son agentes inteligentes.

En películas, libros, programas de televisión, lo que queremos como espectadores es que las probabilidades aumenten contra el protagonista, pero solo hasta cierto punto. Entonces queremos que ganen los buenos. Cuanto más se acercaba el enemigo a ganar, mayor era la recompensa.

El objetivo es siempre el entretenimiento.

Xtros
fuente
1
Toda esta pregunta me hace pensar en el Half-Life original. Siguen comunicándose en voz alta y revelan sus "planes" (flanqueando al jugador, etc.), que en ese momento impresionaron al jugador con la IA avanzada, mientras que, de hecho, es bastante estúpido. :)
JanErikGunnar
9

El objetivo de tu IA no debería ser ganar, sino proporcionar un juego agradable. Parte de ese disfrute está en ser desafiado. Mi enfoque de esto en Scrabble ha sido doble: en primer lugar, apuntar a obras que coincidan con el nivel de vocabulario del ser humano. La igualación de nivel mejorará en varios juegos, pero también puede hacer una estimación bastante buena sobre la marcha en los primeros juegos. En Scrabble necesitaría un léxico que se clasifica por edad de lectura, aunque como alternativa, usar un corpus grande para determinar la frecuencia de palabras en uso es una aproximación razonable. En segundo lugar, use construcciones de juego que imiten inicialmente las de los humanos; por ejemplo, una computadora generalmente haría muchas más jugadas paralelas que un jugador humano ocasional (supongo que no estamos jugando expertos de clase mundial). Sin embargo, a medida que aumenta la experiencia contra un oponente específico,entonces comienzas a usar algunos trucos contra ellos que no usan ellos mismos, pero esporádicamente, con la intención de proporcionar un ejemplo para que el humano emule y mejore su propio juego.

El éxito de tu IA se medirá según la frecuencia con la que el humano regrese para un partido de regreso. Su satisfacción con el código debe provenir de qué tan bien se las arregla para jugar como un humano en lugar de una máquina. Esto es algo que puede probarse organizando competencias en línea donde los humanos no saben si están jugando con otros humanos o máquinas. (Una prueba de Turing limitada)

Siempre me he referido a este estilo de codificación como "Estupidez Artificial" en lugar de AI :)

No considero esto nada ético. Por el contrario, creo que usar todos los recursos de un algoritmo de computadora para vencer a un humano no es ético, tanto como alguien que juega Scrabble en línea usando una computadora para encontrar las jugadas de mayor puntuación.

Otra forma de 'simplificar' un algoritmo es colocar limitaciones genuinas a nivel humano en las capacidades de su jugador de IA; nuevamente, utilizando Scrabble como ejemplo, en lugar de proporcionar un vocabulario fijo, puede hacer que su jugador de IA aprenda su vocabulario leyendo Internet. artículos y podría limitar su capacidad de memoria para que tuviera que tomar decisiones deliberadas sobre las palabras que valía la pena recordar. No hay absolutamente nada inmoral en esto y logra el objetivo de hacer que el juego sea más humano, por ejemplo, al eliminar la ventaja de la computadora de un conocimiento perfecto de qué palabras son palabras válidas del diccionario y qué palabras deben desafiarse cuando el oponente humano las juega. .

Graham Toal
fuente
5

Hay varias razones por las cuales los oponentes de la computadora necesitan ser tontos.

Philipp ya ha mencionado la parte de mantenerlo divertido, pero otro que vale la pena mencionar es equilibrar las ventajas injustas de los oponentes de la computadora.

No podemos hacer una verdadera IA que juegue como un jugador. Los oponentes de la computadora que enfrentamos hoy (incluso cuando se llama AI) no están analizando la imagen renderizada del juego para encontrar qué disparar, como un humano. Tampoco tienen que mover un objeto físico sobre la superficie de un escritorio para indicar que necesitan girar.

De hecho, la mayoría de los oponentes de la computadora tienen el mazo apilado a su favor. Saben la ubicación exacta de cada jugador, qué tan altos son, dónde está el punto ideal para disparar a la cabeza para este modelo de tipo / personaje enemigo, tienen un arma que pueden decir "dispara a esta coordenada" y es un golpe exacto, etc. Para que el juego sea justo, ahora debes aproximar las limitaciones de un humano.

Por lo tanto, una gran parte de esta "tontería" es necesaria simplemente para crear un juego justo para los oponentes que juegan con diferentes reglas.

Si ya lo está haciendo, es un pequeño paso a partir de ahí para aplicar algunas modificaciones más para el efecto de narración y hacer las cosas más entretenidas.

Otro aspecto es la línea de tiempo acelerada en la que se ejecutan la mayoría de los juegos. Hay juegos de cuatro horas en los que eres un francotirador. Lleva mucho más tiempo aprender a disparar con precisión un arma. Lleva más tiempo que eso rastrear a un animal a través de un bosque. Un buen juego encuentra el equilibrio adecuado entre hacer que el juego sea trivial para vencer y tener que asistir a años de academia de policía.

Entonces, depende de para quién y para qué es un juego, si estas opciones son buenas. Por ejemplo, muchos juegos grandes realmente no son un solo juego. Son más juegos combinados en uno solo, para atraer a la audiencia más amplia posible y ganar suficiente dinero para recuperar los enormes costos iniciales para un juego profesionalmente actuado / capturado por voz, expresado, anotado y texturizado.

Entonces tendrás jugadores que quieran competir con otros jugadores, a quienes solo les importa la mecánica de batalla. Tienes otros que solo quieren experimentar una historia interactiva, y encontrar las batallas entre ellos como una tarea, y nuevamente otros que están buscando principalmente un juego de artesanía o una gestión de recursos o simulación comercial.

Para encontrar el punto óptimo aquí, debes proporcionar un desafío para cada tipo de jugador, pero también debes mantenerlo lo suficientemente simple como para que los otros tipos de jugadores puedan ignorar esas mecánicas indeseables (para ellos) o completar el juego mientras lo haces. mal en ellos.

En los juegos para un jugador, esto a menudo se logra permitiendo apuntalar los déficits en una mecánica con una habilidad excepcional en otra (es decir, crear una armadura increíble y la lucha se vuelve más fácil), o al tener configuraciones de dificultad que te permiten activar / desactivar la partes que te molestan.

En el modo multijugador, eso no es realmente posible, por lo que emparejas jugadores con rango / equipo similar y ajustas la dificultad para todo el partido.

Sin embargo, todos estos son trucos bastante "por encima de la mesa". Cada jugador recibe la "última bala secreta de doble daño" y puede aprovecharla. La comprensión intuitiva de la mayoría de las personas acerca de la probabilidad de que una "probabilidad de éxito del 50%" sea realmente errónea, y se les ayudará diciéndoles los porcentajes "traducidos" a su "idioma". ¿Qué, como dices, sobre trucos "secretos"?

Bueno, si un juego fuera como el ajedrez, y te dijeran un conjunto de reglas, pero realmente eso era una mentira, eso sería hacer trampa.

Pero ninguno de los juegos en los artículos recientes que he leído sobre los trucos de los desarrolladores de juegos para hacerte sentir mejor era realmente así. La mayoría eran juegos con mucha historia, o juegos que son famosos por invocar un cierto estado de ánimo o sentimiento. Y en ese contexto, mostrar barras de salud 100% matemáticamente correctas hace que el juego sea mucho menos emocionante.

Es como un truco de magia: los jugadores esperan recibir una ilusión, así que creo que es justo dárselos. También es como un truco de magia en el que algunas personas aún querrán creer que hay magia real y se sentirán decepcionados cuando se enteren del truco.

uli testigo
fuente
4

Cuando un oponente humano no hace su mayor esfuerzo, te ofendes porque es condescendiente. La IA no puede ser condescendiente, pero podrías pensar que el desarrollador de la IA sí. Sin embargo, hay dos diferencias aquí:

  1. El desarrollador y el jugador nunca pueden ser igualados, a menos que sea un juego NP-duro que el desarrollador necesitaría un aprendizaje profundo para que una IA coincida con un humano, y en ese caso, la IA siempre está haciendo todo lo posible.
  2. A menos que el desarrollador haya creado el juego solo para ti, atiende a muchos jugadores (generalmente ciertos tipos de jugadores) y, por lo tanto, no puede hacer suposiciones sobre tu nivel de habilidad individual.

Esto también se aplica al diseño de niveles. Podrías pensar que es condescendiente si el desarrollador te muestra indicaciones obvias, pero eso solo hace que el juego sea aburrido. Del mismo modo, si es tan difícil que necesita reflejos de milisegundos, puede ser tan frustrante como aburrido.

Se reduce al mismo problema que siempre existe entre los humanos. Si jugaste un deporte llamado "baby soccer", no te ofendes con el inventor del juego, porque no te están siendo condescendientes en particular. Igualmente, el "fútbol de artillería" es igual en la dirección opuesta.

Tendría que haber un humano involucrado, por ejemplo, un oponente multijugador que le permita ganar, para que la ofensiva sea IMO equivalente.

Yousef Amar
fuente
4

Al crear un juego, debes apuntar a crear una experiencia , no una IA que sea técnica / mecánicamente "justa".

En algunos juegos, los jugadores pueden recibir algunos golpes más de lo normal cuando tienen muy poca salud. Esta mecánica se implementa a propósito para crear la experiencia de sobrevivir por poco a una pelea. Los diseñadores de juegos quieren que tengas esa descarga de adrenalina, incluso si recibiste un golpe o dos más de lo que deberías tener. No hay absolutamente nada poco ético en implementar algo similar en tu juego.

El mismo concepto se aplica a la IA en general. Puedes diseñar las reglas de tu juego, pero lo más importante, tienes el control total de la experiencia. Si hacer que la IA sea ajena a su movimiento cercano o hacer que pierdan sus primeros disparos mejora la experiencia de juego, entonces impleméntelos sin culpa.

Si la premisa / diseño de tu juego gira en torno a una IA implacable, querrás asegurarte de que sea una experiencia divertida y positiva para el jugador. Si no es así, puede ajustar otras mecánicas para hacerlo más atractivo. Algunos ejemplos en los que puedo pensar serían darle al jugador otras ventajas sobre la IA, como más salud, velocidad, daño o mejores armas. Esto compensaría la brecha de habilidades entre una IA implacable y el jugador.

Gigazelle
fuente
4

Necesitas dar un paso atrás y pedir un propósito.

En una competencia, el propósito es descubrir quién es mejor. Es por eso que no intentar lo mejor es el mismo tipo de trampa que los medicamentos para mejorar el rendimiento: arruina el propósito.

El objetivo de la IA en los juegos de computadora es entretener y desafiar al jugador. Una IA perfecta hará que el jugador sienta que realmente logró algo, por lo que debería ser difícil. Esto se puede hacer ajustando el nivel de dificultad para que sea correcto , no demasiado fácil ni demasiado difícil. O haciendo trampa, haciendo que la IA sea adaptativa, o mediante algunos de los muchos trucos que sabemos que los jugadores no notan.

No hay una cuestión moral aquí. El jugador no es más engañado que cuando mira una película con CGI o un mago de escena. Él espera que el juego lo entretenga, y siempre y cuando entregue, nadie fue engañado, incluso si algunos de los detalles no son completamente honestos. Pero tampoco lo es el mago, ni la película.

Tom
fuente
4

No, no es ético ni necesario.

De hecho, no hay "ética" involucrada aquí, solo diversión.

Dicho esto, no debería ser necesario que no sea nada competitivo, en el mundo ideal. Dale a la IA exactamente las mismas herramientas que tú, como el jugador tiene. Esto significa una clara separación en el código del juego. Por ejemplo, no debe saber nada sobre sus elementos / actores que usted, como humano, no puede saber.

Luego, vaya y codifique su IA para que pueda deducir todo lo que necesita saber sobre la situación actual al presenciarlo como lo haría usted como lo haría un jugador humano. La IA debería hacer su propia representación interna del mundo sobre lo que ve. Obviamente, en algún momento tienes que hacer enmiendas, es decir, sería absurdo que la IA tenga que hacer OCR en alguna representación textual en una IU simulada. Pero debería ser sencillo permitirle "ver" solo aquellos hechos sobre entidades en el juego que usted, como humano, también puede ver a través de la interfaz de usuario.

Obviamente, la IA solo puede dar los mismos comandos a sus entidades que tú y, en cualquier otro aspecto, también está sujeto a las mismas reglas. Lo ideal sería ejecutarlo a través del mismo código de red que su cliente de juegos también usa (con la restricción adicional de asegurarse de que no llegue a "saber" acerca de las cosas que su cliente (dirigido a humanos) había entregado a través de la red, pero aún no se muestra a través de la interfaz de usuario.

Te garantizo que esto hará que la IA bastante complicado de implementar que embrutecimiento hacia abajo es el menor problema. Y si logras programarlo para que pueda jugar de una manera significativa, que será probablemente se sentirá increíble.

Eso también te dará todas las herramientas para ajustar la IA a un nivel que sea divertido para el jugador. Dele un tiempo de reacción artificial, hágalo para que olvide cosas o recuerde información errónea (por ejemplo, una ligera ofuscación o fluctuación aleatoria de sus valores de derechos "recordados"). Jugar contra una IA que comete errores realistas resolvería su problema, ya que la IA puede ser muy competitiva y, a través de sus errores, aún ser superable.

Vi tal enfoque una vez, en el juego Angband (descendiente de Moria, en el género Nethack), hace muchos años. Como ese juego es para un solo jugador, no era una IA que jugaba contra un humano, sino una que simulaba el juego humano. El mantenedor en aquel entonces ("Ben" y, si recuerdo bien) realmente hizo lo que describí; Simuló todas las estructuras de datos del juego real en un segundo conjunto de datos para la IA. La IA solo "sabía" cosas que realmente había presenciado (incluidos los atributos de monstruos y demás). Muy impresionante.

Y no hace falta decir que nunca volví a ver un enfoque así, al menos no para poder reconocerlo: toda la "IA" en cualquier juego de computadora siempre fue estúpidamente estúpida y poco inteligente, predecible, las reglas muy obvias, con aplicación forzada hacer trampa para darle una oportunidad contra los jugadores, y peor.

TL; DR: en el mundo ideal, la pregunta no debería ocurrir; En el mundo real, conseguir que una IA divertida funcione es un desafío suficiente (para el programador).

AnoE
fuente
2

En esencia, la calidad absoluta de la IA como oponente realmente depende del tipo de juego, la cantidad de tiempo dedicado al desarrollo de la IA en el juego y la potencia de la CPU / ciclos asignados detrás de la IA.

En un juego de mesa simple, como el ajedrez, la IA con computadora doméstica siempre ganaría porque puede hacer que los movimientos sean mejores que los humanos y los algoritmos para hacerlo son muy conocidos.

Respectivamente, en los juegos de arcade (la mayoría de los juegos de FPS), una IA puede tener un objetivo perfecto (suponiendo cosas como la velocidad del proyectil >>> velocidad del jugador) y una "visión" perfecta, en cuyo caso también puede terminar con una situación en la que la IA simplemente borrará el jugador fuera del juego, suponiendo que los recursos dentro del juego estén incluso entre AI y el jugador. Por otro lado, por ejemplo, conecta el reconocimiento de visión a una IA FPS y pronto te encontrarás con problemas de procesamiento reales y el jugador de repente es el favorito (¡por ahora!).

En RTS, la IA que se ejecuta en una PC normal puede ser superior o inferior independientemente de si sigue o no las reglas. Las complejidades del juego deciden si equilibrar la IA requiere discapacidad o si tiene que "hacer trampa" para proporcionar un desafío decente. Lo mismo ocurre con los 'juegos de mesa complejos' (juegos de estrategia basados ​​en turnos como Civilizaciones, pero también Go [por un tiempo en la PC de casa]) y ciertos otros géneros, como los simuladores de vuelo y carreras, donde las superioridades de la IA: reacción casi instantánea veces, la combinación numérica superior, la memoria perfecta y el pleno conocimiento del entorno circundante pueden verse eclipsados ​​por las complejidades de la mecánica del juego.

El hecho es que el juego limpio AI de juego estándar que se ejecuta en una computadora hogareña con limitaciones similares a las humanas (por ejemplo, AI ve / escucha lo que vería / escucharía) casi siempre perderá para el jugador más allá de los simples juegos de mesa (por ahora !). Por otro lado, simplifique las reglas, agregue conocimiento adicional en el juego (por ejemplo, la IA conoce el entorno, incluido dónde se encuentra, todo el tiempo), el poder decisivo y el tiempo de desarrollo de la IA y el ser humano podría terminar perdiendo el juego.

En general, la cuestión de la ética es, en mi opinión, bastante irrelevante y engañosa. El punto de jugar un juego de computadora contra IA no es ganar o perder, sino disfrutar de la experiencia. Y para este fin, en términos de equilibrio, agregar IA / handicaps / bonificaciones de jugador es generalmente mucho más fácil de hacer que hacer IA de diferentes niveles.

Geenimetsuri
fuente
2

de Wiktionary:

errar es humano

Para mí, uno de los rasgos más deseables (y más difíciles de lograr) de una IA de juego adecuada es la capacidad de cometer errores como lo hacemos nosotros (los humanos).

Porque erramos, por defecto. Las IA no lo hacen, por defecto. Imitar IA de juegos con esta "calidad" inherentemente humana contribuiría en gran medida a evitar esa sensación de ser "engañado" (de cualquier manera, ganando o perdiendo).

Esto también sería un rasgo que una IA adecuada necesitaría dominar para poder pasar la prueba de Turing: uno no creería que una inteligencia es de origen humano si no fuera capaz de mostrar la "capacidad" de hacer "humano" (o errores humanos).

logiceano
fuente
2

Hay más formas en que una IA enemiga te lo pone más fácil.

Animación burlona después de que anota un golpe. Esto le permite al jugador terminar la animación de aturdimiento y prepararse para un ataque propio. Sería muy fácil desactivar las burlas y luego aturdir al jugador.

Usando repetidamente ataques que pueden ser contrarrestados (o esquivados y dejando al enemigo abierto para daño). En los juegos de disparos basados ​​en la cobertura, este es el enemigo que sale de la cubierta para permitirte golpearlos. Un ai competitivo no seleccionará ese tipo de ataques. De acuerdo, esto se puede arreglar con la trama .

Telegrafía se mueve (la cuerda) para que el jugador tenga la oportunidad de reaccionar. Esta animación de cuerda es una parte muy importante de la dificultad para escalar, especialmente en el combate basado en la reacción.

Es muy fácil hacer que un enemigo sea difícil de jugar. Pero es muy difícil convertirlo en un enemigo desafiante pero divertido. Parte de eso es hacer que el enemigo haga cosas tontas y que el jugador tenga un movimiento ganador.

monstruo de trinquete
fuente
2

No, en general no lo es: como desarrollador de juegos, estás creando una experiencia interactiva, y la forma en que debe comportarse tu IA está determinada por el tipo de experiencia que intentas crear. Como contraejemplo, considere una situación en la que pueda implementar una IA que sería invencible por cualquier humano en el planeta. ¿Deberías hacerlo? ¿Sería poco ético "tonificar" la IA para que el juego sea realmente jugable? Una cosa poco ética sería aprovecharse de sus jugadores; pero esto: este es solo el diseño de juego habitual.
Déjame abrir una lata de gusanos para ti: visita este hilo de Twitter .

PS Note, sin embargo, que algunos jugadores no verán las cosas de esta manera. Incluso podrían enojarse. Pero esto se deriva de su malentendido de cómo funcionan el desarrollo de juegos y la IA. Esto no hace que la práctica sea poco ética.

Filip Milovanović
fuente
1

Yo diría que más bien depende del jugador.

Personalmente, estoy acostumbrado a que los bots sean significativamente más estúpidos o injustamente hábiles (a veces incluso ambos). Me resulta difícil recordar un juego en el que los bots tenían dificultades "justas" y no espero que lo sean, porque sé cuán limitados son.

También muchos de estos "ajustes" se notarían al final si el juego se vuelve lo suficientemente popular.

Yo diría que aún es mejor informar a los jugadores sobre "cambios en la dificultad" y conozco los juegos que lo hacen.

ZeroUnderscoreOu
fuente
0

Respuesta alternativa que trata más sobre diseño, motivada por la edición de su pregunta.

Usted declaró en su edición ...

... mi principal preocupación era mantener el hándicap oculto al jugador, por ejemplo, cuando juego un tirador es razonable esperar que el jugador sepa que la IA tiene un tiempo de reacción artificial y poca puntería, pero mi pregunta era sobre juegos que ocultan cosas como como enemigos que no usan la mejor arma o reducen su dificultad cuando el jugador está inutilizado.

¿Cuál es el verdadero problema aquí?

La verdadera pregunta aquí es sobre diseño, no ética. El mal diseño es lo que hace que algo parezca "poco ético". Estás tratando de resolver aquí es equilibrar la habilidad del jugador contra el desafío del oponente del juego.

Un juego que deliberadamente ha "perjudicado" el desafío de equilibrar con la habilidad del jugador con un enfoque de diseño demasiado simplista para tratar de equilibrar la habilidad del jugador y el desafío del oponente. Por lo tanto, no es poco ético hacer esto, es solo un mal diseño.

Digamos que el jugador se encuentra con un oponente grande y fuerte que es demasiado difícil para ellos. Eso significa que o el jugador se ha adentrado en el juego en un área que es demasiado para ellos (piense en Casadores si se dirige al norte de Goodsprings en Fallout: NV), o el diseñador lo ha enfrentado a oponentes desafiantes cuando saben El jugador no está listo.

¿Cómo se resuelve esto desde la perspectiva del diseño? Sencillo. No enfrentas al jugador contra un oponente que es demasiado difícil para ellos. Y diseñas una diferenciación clara entre oponentes, y parte de esa diferenciación es la habilidad del oponente. Y haces que tu juego progrese de tal manera que sea más difícil (pero no imposible) que un jugador se sobrepase demasiado rápido.

Esto es básicamente de lo que se trata la idea de Flow en el diseño del juego.

Un ejemplo con tres ogros.

Imagina que tienes 3 tipos de ogros en tu juego: un pequeño ogro débil que te golpea con un palo, un ogro de nivel medio con una rama más grande y un ogro enorme que tiene un gran tronco.

Si eres un jugador nuevo que no ha ganado nueva salud, armadura, etc., el pequeño ogro tendría que golpearte 4-5 veces para matarte. Pero una vez que estás en un nivel superior, no puede hacerte nada.

El ogro de nivel medio puede matarte como principiante en 1-2 golpes, pero si eres de nivel superior, se necesita 4-5.

El gran ogro puede matarte como principiante en 1 golpe, o 4-5 golpes si tienes un nivel superior.

Todos los ogros siempre determinan si golpean de la misma manera. Cómo determinan si golpean nunca cambia. No hay tiempo de reacción artificialmente bajo (o alto), no hay daño artificialmente bajo (o alto). Simplemente son lo que son.

La solución

Si el jugador tiene un nivel bajo, colócalo solo contra pequeños ogros. Tal vez darles un ogro de nivel medio de vez en cuando como un desafío. O varios pequeños ogros juntos. Nunca los enfrentes a un gran grupo de pequeños ogros, múltiples medios o un gigante, ya que morirán.

Si son de nivel medio, colóquelos contra ogros de nivel medio con algunos ogros de bajo nivel solo por "diversión". Tal vez tenga un enjambre de pequeños para hacerlo más interesante. Nunca los pongas contra un grupo de ogros de nivel medio o un ogro gigante, ya que morirán.

Solo el nivel alto sube contra el ogro gigante. Tal vez les dé algunos ogros de nivel medio de vez en cuando, o un ogro gigante con un enjambre de pequeños, o algo más para impulsar el desafío. Nunca los enfrentes a un grupo de ogros gigantes, ya que morirán.

Con este enfoque, nunca tienes que "perjudicar" nada, porque el jugador nunca verá cosas que necesiten debilitarse.

Y si un jugador de bajo nivel realmente está dispuesto a profundizar tanto en el juego donde se encuentra con ogros gigantes, déjelos morir, se lo merecen.

Tim Holt
fuente
Gracias por su respuesta, pero dentro de su ejemplo de orge que parece no abordar la edición a la que se refiere, mostrar al jugador un gran ogro que no pueden superar y dejar que falle es transparente. El jugador solo vencerá a los ogros grandes cuando estén en el nivel correcto. Sería secreto, por ejemplo, si en lugar de que el jugador subiera de nivel, se vuelven más fuertes sin que el jugador sepa que el jugador asume que acaba de convertirse en un jugador más hábil.
PStag