viernes, 30 de septiembre de 2011

No volver a inventar la rueda sino seguir innovando.

Cuando se inicia el sueño de crear un juego, surge siempre las ganas de crear uno desde 0. Por lo menos ese fue mi caso... claramente no fue un error tener ese ideal desde un principio ya que me sirvió bastante para enteder la complejidad de tiene el desarrollo de este. Partí con Allegro una librería de c++ pero los dolores de cabeza que me dió lo tuve que dejar. De hecho nunca pude entender la filosofía de Allegro, luego me cambie a SDL esta ya es un poco más interactiva con el programador, se pueden cargar imagenes externas, reacciones por teclado, Sprites etc... Sin embargo requiere un gran esfuerzo realizar un juego en dicha librería como por ejemplo mover un personaje. Desde entonces empezó mi frustación al no poder realizar un juego y ver la complejidad que tiene poder realizar uno desde 0.


1011010101010101
0101010101010101           = 
1010101010101010





 Entonces mi pensamiento empezó a tener un vuelco en mi vida de programador y entender que existen muchas herramientas que te permiten ahorrar tiempo en el desarrollo de videojuegos. Como dice el título de este artículo "No volver a inventar la rueda sino seguir innovando", existen muchos métodos para crear juegos y muchos recursos que te permiten facilitar la vida al momento de programar pero si bien es cierto es importante saber la filosofia del desarrollo de un video-juego.

viernes, 23 de septiembre de 2011

Engines, Librerías para crear Juegos en Android

Android claramente es un medio para poder desarrollar juegos y poder distribuirlos fácilmente a tráves de Web Stores de Google. Ademas existe gran material para fácilitar la programación como tambien información y tutoriales de esta. Este artículo dará a conocer ciertas herramientas para poder comenzar un proyecto para Android. Si yá haz hecho aplicaciones en este Sistema operativo no te costará entender el proceso de creación . pero si no sabes nada pues lo primero que tienes que hacer es bajar el SDK de Android (el Kit de desarollo), luego configurar tu IDE  (entorno de programación) para crear tu aplicaciones. Es recomendable usar como IDE "Eclipse" ya que muchos tutoriales de basan en él pero también tienes otras alternativas como NetBeans.

Como dije anteriormente existe demasiadas herramientas para el desarrollo de juegos en Android. A continuación mostraré algunos links de Engines. Todos estos tienen un enfoque 2D la mayoria trabaja con Java nativamente, pero otros tienen soporte hasta para Phyton.

viernes, 16 de septiembre de 2011

Juegos de plataformas 2D Historia



   Los juegos 2D se caracterizan por no tener el eje z en su eje de
coordenadas. Así pues, el jugador se puede mover únicamente por el
escenario en x o en y. Es decir, hacia arriba o abajo o derecha e izquierda. La
profundidad no está implementada. Pueden subdividirse según la vista que se
utilice.




 Historia y evolución

   Los juegos de plataformas nacen en las antiguas recreativas de los salones arcade.
Uno de los que se consideran pioneros de los juegos de plataformas es Space Panic,
aparecido en 1980. Era un videojuego de recreativa que tenía plataformas, enemigos y
escaleras por las que moverse de plataforma en plataforma. El objetivo era el de cavar
huecos con una pala para que los enemigos quedasen atrapados. Hay expertos que
piensan que un juego de plataformas sin salto no puede ser considerado como tal, con
lo que consideran al posterior Donkey Kong de 1981 como el verdadero pionero de los
juegos de plataformas.


Diferentes opciones a la hora de programar juegos

  Cuando se inicia en este rubro de la programación de juegos, es complicado saber cuál es el camino correcto para desarrollar, que lenguaje usar, que framework que Api manejar ... etc. Sin duda existen muchas opciones pero cada una tiene un fin específico.
   Primero que todo debes ya tener definido tu juego y luego pensar cuantos recursos va a usar y ha que plataformas irá dirigido. Este artículo dará a conocer ciertas pistas para ver cuál es la mejor opción al momento de crear un Game.



   -Iniciadores del mundo de los videojuegos

Existe un programa llamado Game-Marker que permite crear juegos de manera bastante entretenida y didáctica, comienzas a entender ciertos conceptos básicos que tienes que tener en cuenta al momento de crear un juego. Sin embargo este programa esta ya muy estructurado y te delimita a hacer ciertas cosas. Si no tienes conocimientos en programación recomiendo inicializarte en GM pero no que te dediques a él .

   - Juegos 3d o 2d con recursos elevados.

Claramente hacer juegos 3d es el sueño para muchos, sin embargo el esfuerzo que este conyeva nos termina frustrando. Pero hoy en día existen herramientas bastante interactivas para un desarrollador. Unity un motor gráfico que te permite hacer lo que se te antoje sin tener que profuncizar mucho en la programación u Ogre otro motor freeware. Sin embargo si quiere empesar más de 0 recomiendo XNA game developer, es un framework basado en la Api Directx . el unico problema de este metodo de desarrollo es que es poco portable ,ya que solamente puede ser ejecutado en plataformas Windows.

domingo, 11 de septiembre de 2011

APIs Gráficas

 Una API (Application Programming Interface) o Interfaz de Programación de Aplicaciones, es un conjunto de funciones que realizan tareas específicas facilitando la vida al programador. Al hablar de API grafica nos referimos a un set de funciones para inicializar por ejemplo modos gráficos, realizar copiado de datos de la memoria del computador a la tarjeta de video (blitting), etc. Existen APIs especificas para cada tipo de tarea que queramos realizar.
Actualmente las APIs Gráficas más usadas son OpenGL y DirectX.

 OpenGL (Open Graphics Library) es una API multiplataforma creada por Silicon Graphics en 1992, que maneja solo el aspecto gráfico de un sistema, dejando afuera el sonido, música, control de teclado, mouse, joysticks, gamepads, etc., los que deben ser controlados con otras APIs especializadas. Existe una biblioteca multiplataforma para el manejo de audio tridimensional llamada OpenAL (Open Audio Library).


sábado, 10 de septiembre de 2011

Programación orientada a objetos en los juegos (POO)

Claramente para programar un juego se necesitan saber ciertas bases de lenguajes de programación. Este artículo no explicará lo que es la POO(ya que existen mile de tutoriales de Poo en internet) pero si mostraremos una forma de como es aplicable en un juego de video. Daremos el ejemplo de un típico juego 2d ... Super Mario ! . Supongamos que trabajamos para nintendo y debemos desarrollar un Remake de Mario. Primero que todo pensaremos en el diseño, su estructura y los diferentes pasos a seguir. Todo juego tiene personajes, enemigos, objetos, armas, etc... todas estas categorias las transformaremos en Clases. Partiremos por la clase Mario, le asignaremos los atributos y metodos básicos de mario como por ejemplo , su tamaño, colo, sus acciones (moverse, saltar , etc..) entonces ya tenemos a la Clase Mario diseñada y estructurada. Pero que pasará si queremos que mario expulse fuego porque se comio una flor? pues haremos otra Clase MarioFire y esta tiene que heredar todos los atributos y métodos de la clase Mario con extends. Ese es un principio básico de la POO, heredar clases. Entonces MarioFire solo le cambiaremos el color y algún método para que cuando se le asigne un botón este tire fuego. Ahora haremos la clase Enemigo, solo le colocaremos atributos muy básicos al igual que los métodos... Enemigo será la base por conciguiente haremos un personaje malvado mas definido como por ejemplo un koopa , heredaremos todos los atributos y métodos de la clase Enemigo y haremos una nueva clase EnemigoKoopa y está tendra definida cosas mas específicas , como por ejemplo, al ser pisado de transforme en un caparazón, su tamaño, su forma, etc...


lunes, 5 de septiembre de 2011

Moto-truck Demo de juego hecho en As3 ( 2Dbox)

 Después de algunos artículos ya publicados he querido presentar mi primera demostración sobre
un juego con la librería 2dbox - El proyecto se llama Moto-truck y es el típico juego de motos en donde tienes que subir montañas. Como pueden apreciar es bastante entretenido este juego, permite acelerar, frenar, saltar, etc. interactuando con la gravedad de una forma bastante real (en una visión 2d). Sin embargo el código de este juego es bastante complejo, claramente hay que ya tener un estudio previo sobre las funciones de esta libreria y la utilización en un entorno Flash. Disfruta la presentación demo de este entretenido juego.
Para mas información sobre como crear juegos en 2d-box visita el blog de Emanuele Feronato. Sin duda el mejor blog que habla de este tema.

viernes, 2 de septiembre de 2011

2d-Box Librería de Física para As3 Tutorial

 Simular la realidad en juegos es fundamental para el éxito de estos. 2D-Box es una librería bastante útil para estos casos. Sin embargo existen muy poca documentación en Español sobre esta gran herramienta y si las hay son complejas o están sin terminar.  Básicamente haré una traducción mas simple del tutorial de Emanele Feronato.
 ¿Qué logramos con esta libreria?
Mostraré una serie de capturas de juegos basados en 2dbox son bastante conocidos y ya verán porque le doy importancia a 2dbox.




 Básicamente 2dbox permite interactuar, gravedad, colisiones, distancia, densidad. Conceptos fundamentales en la Física de los cuerpos.