Vamos a dedicar una serie de artículos a hablar de la Biblioteca de plantillas estándar (STL) de C++. Esta poderosa herramienta usada por casi todo los programadores de C++ de la que hay muy poca documentación disponible en nuestro idioma. La STL es una colección de estructuras de datos y algoritmos de uso común. Esta basada en plantillas utilizando programación genérica. Está diseñada para ser eficiente, evita el uso de funciones virtuales en favor [...]
En la primera parte vimos un algoritmo de persecución y evasión bastante simple, pero efectivo. En este artículo vamos a ver otro que es algo mejor que el anterior. Persiguiendo en la línea de visión Este algoritmo consiste en que el depredador persigue a la presa en línea recta desde su posición hasta la presa. En teoría el movimiento en línea recta es el camino mas corto entre dos puntos, a menos que haya [...]
En este artículo nos centraremos en el problema omnipresente de la persecución y la evasión. Ya sea que esté desarrollando un juego de acción espacial, una simulación, estrategia o un juego de rol, es probable que necesites que los personajes no jugadores de la IA tengan que perseguir o huir del jugador. En un juego arcade la situación podría implicar tener naves enemigas que deben perseguir o evadir al jugador o un misil guiado [...]
En el artículo anterior vimos una introducción a la diferentes técnicas de inteligencia artificial aplicadas a los videojuegos y en sucesivos artículos intentaremos tratar cada uno de estos temas más a fondo, pero he encontrado un pdf bastante completo que explica las bases de todas estas técnicas y que puede servir como complemente al artículo de introducción anterior. En el explica los algoritmos de IA más comunes separándolos en básicos y avanzado, anteriormente nosotros [...]
En el sentido más amplio la mayoría de los juegos incorporan algún tipo de inteligencia artificial (IA). Los desarrolladores han usado durante años la IA para dar vida a personajes aparentemente inteligentes en innumerables juegos. Desde los los fantasmas del clásico Pacman, los bots del juego en primera persona Unreal y muchos más de diferentes estilos. La gran variedad de géneros y personajes distintos requiere una interpretación bastante amplia de lo que se considera [...]
En teoría de juegos, Minimax es un método de decisión para minimizar la pérdida máxima esperada en juegos con adversario y con información perfecta. Este cálculo se hace de forma recursiva. El funcionamiento de Minimax puede resumirse como elegir el mejor movimiento para ti mismo suponiendo que tu contrincante escogerá el peor para ti. La receta del algoritmo Minimax: 1. Generación del árbol de juego. Se generarán todos los nodos hasta llegar a un [...]
Vamos a hablar sobre la teoría de los juegos basados en tiles y qué es necesario para desarrollarlos. ¿Qué es el tilemapping? Bueno, asi a lo simple el tilemapping es dividir el terreno (o mapa) de juego en casillas iguales, a las que se les llama“tiles”. Cada una de estas casillas puede tener un gráfico distinto, y juntando muchas casillas se consigue un mapa complejo de una manera sencilla. Un ejemplo: Hundir la Flota [...]
En este tutorial vamos a hablar algo más acerca de los superficies y el “Blit”. Ya que al final todo juego 2D se basa en copiar superficies (por lo menos la parte gráfica). En realidad el “Blittelado” es algo más complejo que copiar y pegar de una superficie a otra, a lo mejor las superficies no tienen el mismo formato de pixel y hay que convertirlos, por lo general esto será trasparente para el [...]
Ahora que sabemos lo básico vamos a entrar en materia diferenciando los gráficos 2D y 3D y explicando los conceptos básicos de como trabajan las bibliotecas 2D. Diferencias entre 3D y 2D Una biblioteca 3D se basa en polígonos. Estos polígonos están formados por vértices que tiene una serie de coordenadas para definirlos. Lo que hace nuestra biblioteca 3D es proyectar estos polígonos sobre un plano, en nuestro caso ese plano es la pantalla. [...]
Un problema bastante común para los que se inician en la programación de videojuegos es el paso de programar en la consola a hacer aplicaciones gráficas, saben que tienen que usar bibliotecas gráficas como DirectX, OpenGL, SDL, Pygame, Allegro, etc. Pero no saben como empezar con todo esto y como funciona. En la red hay documentación, pero está bastante dispersa y no sigue una línea voy a intentar cogiendo un poco de aquí y [...]