IA en Batch

Iniciado por Mr. Bit, 2 Julio 2021, 22:31 PM

0 Miembros y 1 Visitante están viendo este tema.

Mr. Bit

Buenas! Este post es más una duda que un aporte, como la mayoría que hago jajaj. Resulta que me preguntaba si era posible crear IA en Batch. Con unos amigos hemos estado trabajando en un mini juego de futbol en Batch, y necesitamos que se creen situaciones aleatorias, basicamente que se controlen partes de un partido por la maquina. ¿Es esto posible en Batch? Y en caso de serlo, ¿cómo sería el proceso? Gracias desde ya!

engel lex

ojo 2 cosas....

1- batch no es un lenguaje de programación, es un lenguaje de ejecución de programas por lotes
2- en tal caso no sería IA en el stricto sentido, quieres que el juego tenga algún tipo de inteligencia para responder como en muchos juegos, usualmente es en algoritmos...


dicho esto

si, podrías en batch crear mas o menos un algoritmo para que reaccione al jugador y pelota... es cosa que establezcas mas o menos que debe hacer cada jugador en la cancha en cada momento y que haga eso
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

explorer

Estoy de acuerdo con @engel lex: hoy se abusa del término IA para referirse a cualquier mecánica que sea capaz de mover un NPC (No Player Character -jugador no humano-).

El concepto de IA ha cambiado en las últimas décadas, pero hoy en día, aplicado a los vídeo juegos podríamos resumirlo en lo siguiente:

1- Un NPC debe tener "conocimiento" del "entorno" en donde se mueve o vive. Ese "conocimiento" puede ser, por ejemplo, sus coordenadas espaciales dentro del "entorno", así como las coordenadas espaciales del jugador humano o de sus compañeros NPC. El "entorno" es el medio ambiente donde se desarrolla el juego. El NPC puede tener un conocimiento limitado (restringido en el espacio o en el tiempo, por ejemplo, no ver al jugador hasta que esté muy cerca).

2- Una IA debe mantener un conjunto de "estados" internos, y estar en uno de ellos. Podría estar a la "espera", acechando, a que se cumplan ciertas condiciones, o podría estar a la "caza" del jugador. Podría "atacar" o "huir".

3- La IA cambia de "estado" en función de: a) el estado anterior y b) el "conocimiento" del "entorno". Un NPC puede pasar del modo de "espera" a "ataque" si a) está en modo de "espera" y b) la distancia al jugador se reduce a un cierto límite.

4- En función del "estado" en que se encuentra el NPC, ésta modifica el "entorno". Por ejemplo, si está en modo "ataque", modificar el entorno puede ser moverse hacia el jugador, cambiando sus coordenadas.

Este tipo de "retroalimentación" entre el "entorno" y el NPC, y el cambio de "estado" del propio NPC es la que permite que podamos llamar al sistema una "IA mínima" para vídeo juegos.

Las otras técnicas modernas de IA, como las redes neuronales, aprendizaje automático, etc., se podrían también meter, en la parte de "cambio de estado", es decir, ayudan al NPC a decidir su nuevo estado.

Un ejemplo de aprendizaje automático es la del Q-learning, para encontrar el camino de menor coste (o camino más corto) para salir de un laberinto, edificio o ir hacia el enemigo.

El lenguaje que utilices no importa, salvo que algunos lenguajes facilitan mucho más la gestión de estructuras de datos de varias dimensiones.