una tutorial proyectos programas programar para inteligencia implementación funciona desarrolladores crear conceptos como artificial java language-agnostic artificial-intelligence machine-learning

java - tutorial - programas para crear inteligencia artificial



Zona de juegos para la inteligencia artificial (10)

Echa un vistazo a Mario AI . Tienes que programar una IA para controlar Mario. Hay una competencia y algunos documentos asociados con ella. Muy fácil de configurar y ejecutar con Java o cualquier lenguaje JVM.

En la escuela, uno de mis profesores había creado un juego en 3D (no solo un motor), donde todos los jugadores estaban completamente controlados por la IA, y era nuestra tarea programar la IA de un solo jugador. Básicamente se nos proporcionó una API para interactuar con el mundo del juego.

Nuestras implementaciones de AI se incluyeron en el juego juntas, y vimos como nuestros programas iban a luchar entre sí.

Era como el fútbol robot , pero virtual, con muchas armas grandes y sin balón de fútbol.

Ahora estoy buscando algo similar (y de código abierto ) para jugar. (Preferiblemente en Java, pero estoy abierto a cualquier idioma.) No estoy buscando un motor de juego, o un marco ... Estoy buscando un juego completo que simplemente carece de código AI ... preferiblemente configurado para este tipo de ejercicio. Sugerencias?


Echa un vistazo a ORTS .


El juego de tu prof me recuerda mucho al viejo juego de macintosh Assassin , que desperdició muchas de mis horas extracurriculares en el día. Fue un juego interesante basado en turnos en el que los jugadores ingresan sus movimientos al comienzo de cada turno, y luego sus movimientos se ejecutan simultáneamente. Las IA del juego eran algo tontas, y siempre deseé poder rebuscar y mejorar, pero nunca encontré una versión de código abierto del juego.


Es posible que desee comprobar AIIDE en 2010, donde se celebrará una competencia de Starcraft Broodwar AI . Puede descargar el software, la API y los proxies para permitirle conectar su IA de cosecha propia a la simulación de Broodwar.

A diferencia de otras plataformas como 3D Robocup, el motor Broodwar manejará la física y probablemente le permitirá enfocar la mayor parte de su tiempo en aspectos de mayor nivel como la planificación de rutas, la estrategia, la asignación de recursos, etc. También hay formas básicas de IA que puedes utilizar marcadores de posición mientras trabajas en tu mejora específica, por ejemplo, una IA cuerpo a cuerpo.


Esto suena muy similar a Robocode .

Robocode es un juego de programación, donde el objetivo es desarrollar un tanque de batalla robot para luchar contra otros tanques en Java o .NET. Las batallas de robots se están ejecutando en tiempo real y en pantalla.


Mi clase de IA usó el código abierto BZFlag , que resultó ser bastante entretenido e informativo.


Puede considerar Open NERO ("(Preferiblemente en Java, pero estoy abierto a cualquier idioma))" pero está escrito en Python. Si ninguna de las sugerencias de Java le atrae, eche un vistazo aquí:

http://code.google.com/p/opennero/

No "falta" código AI, lo contiene. Quizás mirar una implementación de AI en Python te daría algo de inspiración para tus esfuerzos de Java.

Editar: Para abordar el comentario de vidstige, puedes intentar esto: http://aichallenge.org/ - Programando hormigas para recolectar comida y luchar contra el enemigo. Parece que hay una implementación de Java allí.


Puedes comenzar con este juego

Algunos AI ya están implementados para que pueda tomar el ejemplo


Sé que indirectamente hizo referencia a RoboCup en su pregunta, pero creo que vale la pena mencionar aquí el encabezado. Hay versiones 2D y 3D:

La liga 2D es más abstracta con comandos como mover, atrapar, patear.

La liga 3D es más compleja ya que tienes que controlar los ángulos de cada bisagra en el cuerpo de un robot 3D (22 de ellos con el modelo Nao).

Ambos son ejercicios igualmente válidos para AI. Probablemente depende de qué área de IA quieras jugar.

Ambos se pueden programar desde cualquier idioma / plataforma que admita socket TCP. Encontrará un código de muestra en Java en línea para que pueda comenzar. He estado manteniendo una lista de bibliotecas existentes para 3D RoboCup en SimSpark Wiki aquí .

Si desea usar .NET para la liga 3D, puede usar la biblioteca TinMan que creé.


Torcs es un motor de juegos de carreras que te permite construir tus propios controladores en C ++.