Ver por etiquetas
Todas las etiquetas »
IA (RSS)
En este webcast conoceremos de la mano del autor del videojuego " Kaotik Puzzle ", Silvino Esquiva, el caso de éxito de la producción de un videojuego Indie, y su comercialización en XBOX Live. Silvino nos enseñará la arquitectura utilizada, las líneas generales del desarrollo, y sobretodo el motor de IA , punto donde destaca especialmente este entretenido videojuego. Silvino Esquiva es un experimentado Modelador 3D, que además demuestra...
La teoría de grafos es un campo muy ámplio, que daría contenido para escribir no un post, sinó varios libros! Pero aquí os enseño algunos expermientos que he hecho para su aplicación en programación de videojuegos. En un juego estilo Command & Conquer se podría usar un grafo para saber si el jugador tiene permitido contruir la unidad "soldado". Como recordaréis, este juego permite construir unidades si antes cumples...
Sí... esta es la parte 3 de 2... y es que en la anterior escribí una implementación de "obstacle avoidance", pero claro, los obstáculos eran siempre circulares. En esta nueva versión, además de circulares, los obstáculos pueden ser líneas, con lo cual se puede dibujar prácticamente cualquier forma geométrica. Esto es lo que vamos a conseguir con esta nueva versión del ejemplo: Os dejo el código para que...
Pues sí... hoy hablaremos de futbol! Hoy he descubierto (a pesar de que hace años que existe) la Robocup , algo más que una competición a nivel mundial entre robots futbolistas. Entre sus objetivos, a parte de fomentar la educación e investigación en IA (minucias...) destacan que quieren ganar el mundial de fútbol de la FIFA participando en la competición con las reglas oficiales y jugando como un equipo más contra otros equipos humanos...
En el episodio anterior hablé de algunos steering behaviors básicos. Hoy hablaré de un Steering que puede solaparse a cualquiera de los anteriores, consiguiendo efectos de IA más avanzados: el Obstacle Avoidance. La idea es que podamos aplicar este comportamiento a cualquiera de los steering behaviors que ya tenemos desarrollados, de forma que cualquiera de nuestros agentes evite las colisiones con los obstáculos existentes en el "mundo" en que se desenvuelve...
Los Steering Behaviors son formas de comportamiento autónomas para agentes de un videojuego. El concepto y definición de los mismos proviene de Craig Reynolds . En esta serie de artículos propondré una implementación para algunos de estos steering behaviors, intentando hacerlo con un diseño lo más desacoplado, flexible y extensible posible. Todo ello intenentando superar mi primera aventura en el ámbito en este post anterior . En este "episodio"...
En la primera parte vimos como una máquina de estados finitos permitía a una entidad de nuestro juego realizar una serie de acciones teniendo en cuenta algunos factores internos (hambre, cansancio, ganas de usar el WC...). Ahora veremos una versión mejorada de esta FSM, en la que entra en juego otra entidad, y la interacción entre ambas. Ahora pasaremos a tener la entidad Madre, además de la entidad Boy. Para que ambas FSM interactúen utilizaremos un sistema...
Las Finite State Machines son uno de los medios mas utilizados desde tiempos inmemoriales en el desarrollo de videojuegos, con especial interés en la parte de Inteligencia Artificial. Si hablamos de IA en el más puro sentido académico... una FSM, por su propia definición, no sería inteligencia... pero sí permite simular inteligencia. En los videojuegos, al fin y al cabo, lo que queremos es que el jugador crea que está jugando contra una inteligencia...
Los comportamientos de navegación, aplicados a la programación de juegos, se refieren a la capacidad de los agentes de desplazarse de forma autónoma, es decir, que el comportamiento de los mismos no está previamente calculado, sino que es generado según las condiciones del entorno en cada momento, de forma espontánea. El código de estos ejemplos es relativamente sencillo, pero dado que no he encontrado ninguna implementación en XNA de este tipo...
¿Quién no ha jugado alguna vez al Age of Empires? En ese juego, puedes seleccionar un grupo de unidades, y hacer que estas se muevan de forma colectiva hacia el destino que les indiques. Eso es lo que conocemos como técnicas de flocking, cuyo orígen viene de la naturaleza con los animales: bandas de pájaros, manadas, etc. La implementación de la técnica siempre será igual o muy parecida a la proporcionada en este ejemplo, por lo que casi podemos...
Mario AI Competition 2009 es un concurso consiste en programar el mejor agente (o mario basado en IA) de una versión del popular Super Mario Bros, concretamente, el Infinte Mario Bros , desarrollado en Java. Os dejo el vídeo de uno de los participantes (ha utilizado el algoritmo A* Pathfinding y alrededor de 40 horas en la implementación y pruebas). Impresiona ver el nivelazo de este Mario...