Empezando con IA – Inteligencia Artificial en videojuegos

Bienvenidos a Vertutoriales.com en esta ocasión os voy a introducir a la inteligencia artificial para videojuegos.

Lo que nos planteamos es cambiar un sistema de probabilidades que se implementó para el prototipo inicial para El aprendiz de mago -un juego de duelos entre magos- y que uno de los jugadores siempre va a ser la máquina.

Es para esta máquina la que hay que realizar los cambios. Pero como decía, lo que tiene actualmente es un sistema que se basa en randoms.

Son 2 ramdoms, es decir, 2 tiradas aleatorias.

Valores aleatorios en IA

Aunque la Inteligencia Artificial ha de tener unos condicionantes, el utilizar valores aleatorios le da un punto de sorpresa al oponente, realizando acciones que no se espera, aunque en este caso, el sistema inicial del prototipo no es optimo cuando se escale.

El problema es que se lanza inicialmente para seleccionar un hechizo de forma totalmente aleatoria hasta el nivel del PNJ (la máquina) en este caso, el PNJ es de nivel 3, por lo que solo podrá salir un hechizo como máximo de nivel 3, pudiendo salir en igual proporción de nivel 1.

Además lanzo una probabilidad de acierto, hasta el nivel del mago, en este caso, pues del 30%, ya que es un mago de nivel 3.

Esto para un primer enfrentamiento está bien, de hecho tras varias pruebas, el primero oponente es digno para enfrentarlo, pero por una lógica aplastante, según suba el nivel, cuando estemos en nivel 10 de oponente, estaríamos hablando que aparte de poder lanzar hechizos brutales, tendría una probabilidad del 100×100. Nunca fallaría, eso nos deja un margen de error 0 al jugador, ya que es posible que incluso no tenga oportunidad alguna.

Es por eso que el sistema actual de IA ha de cambiarse

Inteligencia Artificial por condicionales

Realmente una IA tiene que tener unos valores para poder decidir que realizar, es como una persona que ha de decidir según la información que gestiona. Toma la mayor información posible y desde esa perspectiva toma una decisión.

En este caso hablamos de lo mismo, tenemos que tener en cuenta que en un asalto, los parámetros a manejar son:

  • El tiempo restante de asalto.
  • Puntos de vida del oponente
  • Puntos de vida propios
  • Tiempo total del combate

Sin tiempo no voy a intentar lanzar un hechizo más complicado del que realmente pueda realizar. Si mi oponente me saca ventaja en puntos de vida, es posible que sea más interesante jugar a la defensiva, aunque si les queda pocos y tengo algún hechizo para derribarlo de un golpe, no tiene sentido curarme puntos de vida…

Estos razonamientos obvios para un ser humano, para la máquina no lo son y hay que dárselo detallado para que sepa interpretar la información y tomar la decisión mejor.

Todo esto es lo que explico en el vídeo más en profundidad.

Espero que os guste. Si tenéis alguna duda o queréis simplemente comentar lo que veis, debajo tenéis la caja de comentarios.

Salud!


Carlos Dk

Apasionado por la enseñanza y el SEO

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.