Dedicado a mis proyectos en Gambas ,un lenguaje de programación parecido al Visual Basic + Java pero ampliamente mejorado y...¡¡para gnu/linux!!.La potencia del gnu/linux sumada a la facilidad del Basic



Consultas, Desarrollo de programas y petición de presupuestos:



lunes, 3 de diciembre de 2012

Máquina De Estados Finitos, aplicadas a juegos

Máquina De Estados Finitos, aplicadas a juegos:

Hormigas



Leyendo el libro de  AI for Game Developers, encontré un ejemplo sencillo de máquina de estados finitos ( finite state machine ) en C, y lo he adaptado, ampliado y añadido el modo gráfico con gambas3.

Según el siguiente esquema, cada hormiga trata de recoger granos llevarlo a su hormiguero, naciendo otra hormiga,  va beber agua y luego continua en la búsqueda de grano.




Este "comportamiento" se almacena en la clase "IA_Entity".

Aquí podéis ver una captura del programa en funcionamiento:




Código fuente de descarga: enlace

Támbien os dejo un pequeño video




Fuentes:
AI for Game Developers By David M Bourg, Glenn Seemann

Máquinas de estado infinito: http://www.etnassoft.com/biblioteca/maquinas-de-estados-finitos/

sábado, 1 de diciembre de 2012

Control de Personajes I.A. en juegos tipo Tycoon

  I.A. en juegos tipo Tycoon

Control de Personajes


Por ahora, solo es una prueba, de ver como funcionan las clases y se relacionan entre ellas, y desarrollar la "inteligencia artificial".   Me ha basado en el documento del juego Tycoon Universidad (Enlace)

Actualmente solo se puede cambiar el precio de las clases, y contratar a mas profesores, y podemos ver el saldo que nos queda.

La parte gráfica, solo muestra datos de los profesores y los alumnos.

Siguendo la explicación de Diseño de IA en juego tipo Tycoon, he realizado el código fuento, aqui podeis ver una captura de pantalla:



Y este es el código fuente: ControlPersonajes.0.0.1.tar.gz




I.A.: Sistemas Basados en Reglas

Inteligencia Artificial

Sistemas Basados en Reglas


Leyendo estos apuntes de Césari Matilde (enlace para descargalos), he visto un ejemplo sobre un nudo ferroviario (pag 25), con sus vías y semáforos, donde se aplica un sistema basado en reglas para el encendido (verde) y apagado (rojo) de semáforos según el estado de las vias (ocupadas ó libres).

He hecho un programa, para resolverlo, siguiendo el ejemplo.
Las reglas  ha aplicar y el código en gambas lo podeis ver en esta captura de pantalla:
Reglas del problema y la conversión en código usando clases

La aplicación funcionando:

Estado de semáforos, con las vías s1,s2 y s5 ocupadas.

Código fuente: descarga

Lo interesante del código es el uso de las clases reglas, para almacenar la información que tenemos del nudo ferroviario, y lo sencillo que resulta aplicar las reclas y "actualizar" el sistema de señales, ya que al usar objetos, todo esta referenciado. El programa está orientado a objetos (vias, señales superiores e inferiores y reglas)