lunes, 11 de abril de 2011

Gosu - Programación de video juegos 2D mas “fácil” que nunca

¿Siempre haz querido desarrollar tu propio juego 2D y te abruma la pesada curva de aprendizaje que eso implica?

Pues hay buenas noticias. Acabo de encontrar algo que puede ser la solución a este problema: Gosu

Gosu es una biblioteca (librería o como le quieras llamar) para desarrollo de juegos con C++ y/o Ruby. Funciona en Linux, Windows y Mac y se caracteriza por ser de mas alto nivel que la tradicional SDL que se había vuelto ya muy popular para este tipo de desarrollos.

Si quieren darse cuenta de que tan fácil puede ser crear aplicaciones sencillas con Gosu pueden visitar este sitio: http://ruby4kids.com/ruby4kids/public/web_page/14 donde se detalla un tutorial en video orientado a niños. En ese sitio se utiliza Gosu con Ruby y no con C++.

Aquí esta un pequeño ejemplo (con C++) del poco código necesario para crear una ventana vacía:

#include <Gosu/Gosu.hpp>
#include <Gosu/AutoLink.hpp>
#include <boost/scoped_ptr.hpp>
#include <boost/shared_ptr.hpp>
#include <boost/lexical_cast.hpp>
#include <cmath>
#include <cstdlib>
#include <list>
#include <vector>

class GameWindow : public Gosu::Window
{
public:
    GameWindow()
    : Window(640, 480, false)
    {
        setCaption(L"Gosu Tutorial Game");
    }

    void update()
    {
    }

    void draw()
    {
    }
};

int main(int argc, char* argv[])
{
    GameWindow window;
    window.show();
}

Espero que en un futuro próximo liberen una implementación para Python también.

Gosu se distribuye bajo licencia MIT y en el sitio de este proyecto (http://www.libgosu.org/) pueden encontrar ligas a tutoriales y ejemplos.