Archive for the 'Tutoriales' Category

Uso de la librería UnRarLib con C++

En ocasiones es muy útil poder colocar los variados elementos que utilizan nuestros juegos dentro de un solo archivo, y mejor aún, comprimido. Muchísimos juegos hacen uso de esta opción, como por ejemplo el Quake, Half-Life, Unreal, etc.

En este tutorial explicaremos como utilizar la librería UnRarLib para estos fines, creando una interfaz que será similar a la clase ifstream y manejará recursos comprimidos y no comprimidos de modo transparente al usuario.

(Read the article)

Billboards

Billboard es una técnica para orientar caras hacia algún punto en particular, usualmente la cámara.

Esta técnica es muy popular en juegos y aplicaciones que requieren mostrar una gran cantidad de polígonos en pantalla. En muchas ocasiones algunos de los objetos 3d pueden ser reemplazados por sprites (impostors) de modo tal que la vista pueda ser engañada y el usuario no note el reemplazo.

impostor

Figura 1. A una cierta distancia el sprite parece ser un modelo 3d

(Read the article)

Introducción a DirectInput con C#

Este artículo explica como utilizar DirectInput por medio de Managed DirectX utilizando el lenguaje C#.

El subsistema DirectInput

DirectInput es el componente de DirectX que se encarga de gestionar eficientemente los dispositivos de entrada, como puede ser teclados, mice, joysticks y otros dispositivos de entrada no convencionales utilizados para controlar aplicaciones.

Si bien es posible interactuar con los dispositivos de entrada por medio del API Win32, con DirectInput es posible hacerlo de modo más rápido y eficiente. Además DirectInput ofrece ciertas capacidades no disponibles en el API Win32.

(Read the article)

Tutorial – Como hacer un Tetris

tetris-logoEste documento expone una guía de implementación de un juego tipo Tetris. Para su implementación se ha utilizado el lenguaje C++ y si bien se hace un uso de un motor de juegos específico, fácilmente se podría convertir el ejemplo para hacer uso de cualquier otra librería.

(Read the article)

Tutorial – Línea de Visión (Line of Sight)

lineofsightEste documento explica como implementar el algoritmo de línea de visión haciendo uso de un mapa de bloques accesible vía filas y columnas y con dos tipos de bloques (colisionables y no colisionables).

(Read the article)

Video tutorial del XNA Team – Como subir juegos XNA a nuestra XBOX 360

En este útil video tutorial, Phil Waymouth – miembro del XNA Team – nos explica como subir los juegos creados con el XNA Game Studio Express a nuestra XBOX 360 y como subscribirse al XNA Creators Club.

El algoritmo A*

La búsqueda de caminos es un problema que usualmente se resuelve por medio de algoritmos de búsqueda en grafos como ancho-primero, profundidad-primero, Dijkstra y A*.

En este tipo de problemas conocemos un estado inicial, un estado final (meta) y un conjunto de reglas mediante las cuales podemos realizar “movidas” para ir avanzando en un grafo compuesto por nodos. Eventualmente, avanzado por el grafo, llegaremos al nodo que corresponde a la meta habiendo finalizado la búsqueda y habiendo obtenido el conjunto de movidas que nos lleva de un punto a otro.

El algoritmo A* es uno de los preferidos para este tipo de aplicaciones por ser admisible (si existe una solución la encuentra) y optimal (encuentra la solución óptima, que en nuestro caso particular es el camino mas conveniente).

(Read the article)

Mapas isométricos en Flash

Este documento indica de que como debe implementarse un motor de mapas isométricos haciendo uso de primitivas 2d. El lenguaje de programación utilizado en los ejemplos de implementación es ActionScript 2.0.

Los mapas isométricos fueron utilizados clásicamente para emular un entorno tridimensional haciendo uso de primitivas 2d. Se caracterizan por emplear una proyección ortogonal, es decir que los elementos más lejanos – a diferencia de la proyección en perspectiva – poseen el mismo tamaño que los elementos más cercanos (algo muy bueno para los sprites, ya que los mismos no requieren ser reescalados).

(Read the article)

« Previous Page