Frameworks de programación de videojuegos para C++  (A.K.A. alternativas a GLUT)

Frameworks de programación de videojuegos para C++ (A.K.A. alternativas a GLUT)

Me gusta programar en C++, siento que tengo todo el poder así, y si alguien me preguntara qué lenguaje es bueno para programar videojuegos, yo lo recomendaría.

Claro que no es tan fácil como Python o ActionScript, y se necesita más práctica para tomar las riendas del lenguaje y entender bien lo que estás haciendo. Además, para poder programar contenido gráfico (¡como videojuegos!), es necesario hacer muchas otras cosas primero; como acceder al sistema operativo para crear la ventana de tu aplicación, manejar el teclado y el mouse, revisar el estado de la ventana, inicializar los gráficos ya sea para OpenGL, DirectX, o incluso WinAPI. Pero no a todos les gusta meterse a los fierros. Afortunadamente, existen muchas bibliotecas y frameworks para C++ que ayudan con esto.

Vamos al grano, este post va dirigido a quienes quieran aventurarse a hacer juegos en C++, ya conocen el lenguaje, pero no saben cómo usarlo para crear un juego. Hay varias opciones, y a continuación presento algunas. NOTA: Este no es un post sobre engines como Unreal, Havok, Unity, Ogre, etc. Ésa es una historia distinta.

Ya que no he experimentado mucho con DirectX, mostraré algunas alternativas para programar en C++ usando OpenGL para los gráficos.

Leer más

Löve + Box2D (Parte 2)

Löve + Box2D (Parte 2)

En esta segunda parte del tutorial veremos como crear un mapa de tiles que funcionará como el mundo del juego, y de paso aprenderemos más sobre las funciones principales de Löve. Para comenzar necesitamos crear las imágenes que serán los tiles de nuestro juego. Si no se sienten con ganas de buscar o hacer las imágenes, aquí adjunto 4 tiles sencillos que cumplirán con el propósito.

Leer más…

Post mortem: Captain Badazz

Post mortem: Captain Badazz

Antes de leer te recomiendo probar el juego aquí.

Captain Badazz es un juego de plataformas al estilo de Megaman que desarrollé junto con un programador, el desarrollo lo empezamos por ahí de junio del 2010. El programador y yo nos conocimos mediante una página en común (tigsource.com) en donde yo buscaba un programador para crear un juego entre los dos, yo creando todo lo visual y el haciendo toda la programación, el lenguaje de programación fue AS3 usando la biblioteca flixel.

Leer más

Cocos2D: Desarrollando juegos para iOS (Parte 1)

Cocos2D: Desarrollando juegos para iOS (Parte 1)

Aprovechando que llevo un rato usando Objective-C y desarrollando para iOS, iniciaré una serie de tutoriales que podrán servir de ayuda para desarrollar un juego 2D para iphone. Tenemos muchas opciones para poder desarrollar juegos en esta plataforma. Unos claros ejemplos son : GameSalad, Sparrow, Cocos2D, Shiva 3D, Unity, iTorque2D,oolon engine ,flixel entre otros.

Para esta ocasión elegí usar cocos2D, considero que es una buena opción ya que el sitio cuenta con una documentación decente y porque me atrae aprenderlo. Cocos2D es un framework para desarrollar juegos en 2D o alguna aplicación gráfica y está basada en su equivalente para python. Este framework es flexible, open source y fácil de usar.

Leer más

Los videojuegos pueden cambiar el mundo…

Los videojuegos pueden cambiar el mundo…

Hace poco me encontraba navegando en Internet cuando me encontré con el siguiente comentario que me golpeó como un cubetazo de agua helada:

Los programas informáticos de entretenimiento, también conocidos como videojuegos, son una lacra no sólo para la educación, si no también para la cultura y el arte[...]

Comentario original

Lamentablemente esta es la mentalidad de muchas personas respecto a la industria del videojuego. No sólo se demerita todo lo que involucra la creación y desarrollo de un videojuego, sino que se ignora por completo cualquier atributo positivo que pudieran llegar a tener. Con el objetivo de combatir este tipo de pensamiento, adentrémonos en los videojuegos desde los puntos de vista que aborda el comentario anterior.

Leer más…

Graphics are about to make you their bitch

Era un martes 5 de mayo, el año era 1992 y el reloj marcaba las 4:00 AM, o al menos eso cuenta la leyenda, cuando la versión shareware de Wolfenstein 3D fue liberada al mundo. A la postre muchas son las cosas que puede comentarse sobre Wolfenstein 3D, no obstante en aquella época de lo que más se hablaba era de su calidad gráfica, pues con su “realismo” y ritmo trepidante logro cautivar a miles.

A diferencia de otros baluartes de la computación gráfica el impacto generado por id con Wolfenstein 3D y Doom no se limitó al aspecto gráfico. Sino que ofreció opciones hasta entonces impensables, como la posibilidad de crear niveles, competir en red y todas las facilidades para modificar el juego mismo. Pese a ello, el aspecto que ha trascendido hasta nuestro días, fue la interminable carrera por las mejores gráficas que desde entonces se inicio. Resulta quimérico intentar hacer augurios de que habría sucedido ante la hipotética no existencia de la explosión gráfica iniciada por id y Carmack. Indudablemente alguien más lo habría hecho, no obstante es más nebuloso saber como se habrían desarrollado las cosas.

Leer más

Löve + Box2D (Parte 1)

Esta es la primera parte de una serie de artículos cuyo objetivo es el de mostrar, de forma práctica,  las bases para comenzar a desarrollar  un videojuego en 2D utilizando el framework Löve. Personalmente llevo poco tiempo aprendiendo a usarlo, así que lo que pretendo más que nada con estos artículos,  es plasmar las etapas por las cuales pasé en un inicio y la solución a algunos problemas con los que me topé. Cualquier comentario o corrección son bienvenidos.

Löve es un framework para desarrollar videojuegos en 2D con el lenguaje de programación Lua. Debido  a que Lua fue diseñado para trabajar fácilmente junto con otros lenguajes (C, C++ por ejemplo) se ha hecho muy popular como  lenguaje de scripting en la industria de los videojuegos. Un ejemplo es World of Warcraft, que lo utiliza para el desarrollo de contenido generado por el usuario con los famosos add ons. Para esta serie de tutoriales no se requiere conocimiento previo de este lenguaje, únicamente experiencia con algún otro lenguaje. Para más información sobre Lua pueden acceder al sitio oficial.

Leer más…