Archivos de: abril 2010

Engine IV: Tiled Map Editor

En el anterior artículo explicamos la forma de almacenar un mapa y de como se representa este mapa, obviamente no vamos a rellenar el array que representa nuestro mapa a base de crear el array en el programa esto sería una tarea titánica. Se podría crear un archivo con los valores y cargarlo, pero seguiría siendo muy complicado Es por eso que vamos a usar un Editor de mapas, el Tiled Map Editor, es [...]

bosque.tmx - Tiled_001

Engine III: Juegos basados en tiles

Nuestro engine va a hacer programado para juegos basados en la técnica del tilemapping, supongo que muchos ya sabrás en que consiste esta técnica, pero este artículo es para el que no lo sepa y para explicar que tipo de “tiles” vamos a usar. El tilemapping consiste en dividir los mapas de nuestro juego en pequeños “tiles” (casillas) todas iguales, cada casilla puede tener un gráfico distinto y a partir de unir estas casillas [...]

No image

Engine II: El archivo principal

Bien lo primero que necesitamos es crear un archivo de entrada, es decir, un archivo que nos permita ejecutar el motor y hacerlo funcionar. Se encargue de crear la venta y de hacer el loop de Pygame, todo esto son conceptos básicos de Pygame que ya explique en el tutorial de pygame. Nuestra forma de trabajar va a ser que los nuevos archivos se crea a partir de la plantilla que ya puse en [...]

No image

Engine I: Preparándonos para trabajar

Para un proyecto de tal magnitud lo primero que necesitamos es organizarnos bien y planificarlo todo, porque si no luego a medida que el programa crece todo se complica y se vuelve lioso, en esta primer artículo vamos a ver las herramientas que necesitaremos, crear un directorio base y archivos necesarios. Antes de empezar Yo voy a programar nuestro engine en un entorno Linux, todo lo aquí explicable puede ser perfectamente aplicable a otros [...]

No image

Haciendo un engine para juegos

Estos días he estado programando una especie de engine para juegos con Python y Pygame, me pareció una buena idea escribir aquí una serie de artículos dedicado a lo que voy haciendo y las dificultades con las que me voy encontrando. Digo desde ya que yo no tengo experiencia programando este tipo de cosas y que lo que voy a exponer aquí posiblemente no sea la mejor forma de hacerlo, por eso espero que [...]

No image

Usando Pilas Binarias en Pathfinding A*

Este artículo es un anexo al artículo principal, “A* Pathfinding. Camino óptimo” . Deberías leer ese artículo, o comprender el A* a fondo, antes de leer este artículo. Una de las partes más lentas del algoritmo A*, es encontrar el cuadro o nodo de la lista abierta con la menor puntación F. Dependiendo del tamaño de tu mapa, podrías tener docenas, cientos o incluso miles de nodos donde buscar en cualquier momento mientras usas [...]

No image

Pathfinding A* de 2 niveles

En mi artículo principal de A* Pathfinding, describí el A* en términos generales, también describí cómo crear una única función de uso general. Sin embargo, crear solo una función de pathfinding puede ser innecesariamente limitado. Considera la siguiente situación en un RPG, donde un guerrero quiere encontrar el camino tras el muro cercano: Con esta clase de mapa, podrías situar los nodos de muchas maneras, y usar también, cantidad de densidades. En este ejemplo, [...]

No image

Heurística para el Pathfinding A*

Como habrás visto en el artículo de Pathfinding, hay varias maneras en las que puedes calcular la heurística en A*. Se describen unas pocas aquí. También deberías leer el enlace que aparece al final. Método Manhattan Este es el método usado en el artículo principal. Su principal ventaja es que normalmente alcanzas el objetivo más rápido que en la mayoría de alternativas. Su mayor inconveniente es que está sobrecargado en comparación con G y [...]

No image

Pathfinding A* en Python. Parte III

Aquí está la ultima parte del Pathfinding con Python, después de hacer nuestro algoritmo le he hecho una interfaz gráfica en Pygame. Es un juego que es una mezcla de RPG y estrategia. RPG porque tienes los gráficos, movimientos y estilo de este y de Estrategia porque la mecánica es la que utilizaría un juego de estos. El juego ha sido hecho usando el algoritmo que preparamos en la parte 1 y 2, se [...]

No image

Pathfinding A* en Python. Parte II

En el anterior artículo creamos un mapa y lo convertimos en una array. En este artículo crearemos la parte del código que encuentra el camino más corto entre los dos puntos. La clase Nodo Lo primero que necesitamos siguiendo la teoría es tener la forma de crear un nodo. Cada nodo debe de contener la siguiente información. Posición – Coordenadas del nodo. Padre. Almacena el nodo padre. Valor de H. Distancia con el punto [...]

No image