- Preparando nuestro entorno de programación -

Autor: Morior 16:08 / 15 Ene 2011 Comentarios : 0

Explico de forma lo más detallada posible acerca de cómo preparar nuestro equipo para poder empezar a programar nuestro videojuego aunque en estos primeros pasos lo que hacemos es preparar el entorno de trabajo. Como que no tengo tiempo de probar todos los programas y todas los caminos posibles lo que voy a hacer es basarme en mi propio método. Voy a ir detallando paso a paso todo lo que hago para poder instalar los programas y librerías necesarios como para poder empezar a programar, espero que os sea de ayuda y que lo podáis extrapolar a vuestro caso concreto.

Preparando nuestro entorno de trabajo con sdl y cpp

Este tutorial sigue al anterior tutorial de programación que puedes ver aquí

Lo primero que vamos a necesitar es descargar el programa con el cual vamos a trabajar, en mi caso utilizo Visual Studio porque es un buen programa que nos va a facilitar las cosas, ya tiene los compiladores necesarios y nos va a permitir trabajar cómodamente con el código. Pero sé que se puede trabajar con otros programas como eclipse, Netbeans, DevC++, etc... La versión que yo utilizo es Microsoft Visual Studio 2008 Express Editions with SP1. Por lo que he ido viendo, no hay mucha diferencia entre este programa y otras versiones de la misma firma así que supongo que podréis generar el código con cualquiera aunque, si queréis seguir al pié de la letra nuestros artículos podéis mirar de descargarlo desde la propia página oficial de Microsoft http://www.microsoft.com/express/Windows/ .

Lo siguiente que haremos es descargar la librería SDL y sus complementos, aquellos que vayamos a utilizar. Para ello podemos ir a la página oficial http://www.libsdl.org/ y descargar el archivo el SDL-devel-XXX y la versión más estable que veamos, lo descomprimimos y veremos que nos saldrá un archivo txt y un archivo SDL.dll, este último archivo es el que nos interesa, lo copiaremos y lo pegaremos en nuestro system32 de windows, la ruta es C:WINDOWSsystem32 esto es para xp, para otras configuraciones deberá haber una carpeta system, o algo parecido. Cuando nos hayamos descargado las bibliotecas axuliares posteriores tendremos que repetir el proceso con los dll de SDL.dll SDL_image.dll SDL_mixer.dll SDL_net.dll SDL_ttf.dll

El siguiente paso va a ser descargarse todas las bibliotecas que podremos utilizar algún día en nuestro programa, esto es, sdl que es la librería base, sdl mixer para sonidos, sdl image para grestionar gráficos, sedl net, para conectar la aplicación con algún servidor y sdl ttf que es para manejo de fuentes. Todo ello se puede descargar desde la página oficial http://www.libsdl.org/

Una vez tengamos todos los archivos zip de cada una de las librerías, nos vamos a la unidad C: de nuestro equipo y creamos una carpeta SDL y allí descomprimimos todos los ficheros. Luego crearemos dos carpetas que yo llamo include_absoluto, dll_absoluto y librerias_absoluto. Dentro de include_absoluto iremos poniendo cada una de las carpetas include que hay dentro de los archivos descomprimidos, dentro de dll_absoluto, todos los archivos dll y dentro de libreria_absoluto, todos los archivos lib de los archivos descomprimidos.

Por si en alguno de los pasos no habéis podido conseguir las librerías lo que he hecho es subirlas todas en un archivo rar a mi servidor y que os podéis descargar de aquí, aunque no tengo muy claro que mi versión sea la más actualizada aunque, funcionar funciona. Os podéis descargar el archivo del siguiente enlace www.planetzombies.com/libSDL/SDL.rar lo que tenéis que hacer luego es descomprimirlo en vuestra unidad C: y una vez allí seguimos con los pasos.

Ahora empezamos a crear ya los proyectos y a vincular las bibliotecas. Vamos a archivo > nuevo proyecto > proyecto vacío (Figura 1). Llamaremos a nuestro primer programa AnimacionPersonaje (nótese que separamos las palabras poniendo la primera letra en mayúscula, no es necesario que lo hagas así pero sí estará bien que te fijes unos estándares de programación y, si es posible, que te hagas un archivo de documentación así si alguien más tiene que acceder a tu código, o tu mismo en un tiempo futuro, te será más fácil comprenderlo). Veremos que se nos han creado 3 carpetas, las de código fuente, archivos de encabezado y archivos de recurso. Más adelante tendremos que añadir más y más carpetas a este proyecto para tenerlo bien organizado pero de momento nos quedamos con esto. Vamos a la carpeta archivo de código fuente y le damos botón derecho > agregar > nuevo elemento > archivo .cpp y lo llamaremos Principal. (Figura 2)

Luego vamos al menú Proyecto > propiedades de AnimacionPersonaje > C/C++ > Generación de código > biblioteca en tiempo de ejecución y seleccionamos la DLL multiproceso (/MD).

Luego vamos al menú Proyecto > propiedades de AnimacionPersonaje > vinculador > entrada > dependencias adicionales y agregamos todas las librerías que vamos a utilizar en el proyecto que son sdl.lib sdlmain.lib sdl_image.lib sdl_mixer.lib sdl_net.lib sdl_ttf.lib (Figura 3)

Luego vamos al menú Proyecto > propiedades de AnimacionPersonaje > vinculador > sistema > subsistema y seleccionamos Windows(/SUBSYSTEM:WINDOWS) (esto a veces no es necesaria aunque a mí me dio problemas y lo puse así, más adelante cambiaremos esta configuración para hacer nuestros primeros programas).

Luego vamos al menú Herramientas > Opciones > Proyectos y soluciones > Directorios de VC++ > y miramos donde pone mostrar directorios para: Y ahí tendremos que hacer tres cosas. Primero buscar el Archivos de inclusión y añadir una nueva carpeta que sea aquella que nos hemos descargado del SDL.rar Tenemos que ir a buscar la carpeta include_absoluto y añadirla aquí. Luego vamos a mostrar directorios para: y buscamos archivos de biblioteca y ahí incluimos las otras dos carpetas dll_absoluto y librerias_absoluto.

En principio ya tenemos todos los pasos para poder empezar a programar, por último lo que haremos es hacer un primer programa. No hace falta que sepas nada de programación, de momento, por eso es un curso de programación desde cero. Nuestro primer programa será simplemente abrir una ventana y poder cerrarla con la tecla escape. Copia y pega el siguiente código en el archivo Principal.cpp que hemos creado antes y pulsa f5 (compilar). Visual Studio empezará a compilar todos los archivos y, si todo ha salido correcto tendrás tu primer programa, una ventana negra titulada, Animación personaje, una ventana en negro que podrás quitar apretando esc.

#include <stdio.h> //Cabecera basica

//-------------- LIBRERIA SDL -----------------
#include <SDL.h>
#include <SDL_mixer.h>
#include <SDL_image.h>

#define FRECUENCIA_VOCES 16000

SDL_Surface * empezar_sdl (const char * titulo)
{
SDL_Surface * screen;

if (SDL_Init (SDL_INIT_VIDEO))
{
printf ("error: %sn", SDL_GetError ());
return NULL;
}

// Esto es la superficie de la pantalla ya hablaremos de esto
screen = SDL_SetVideoMode(1000, 400, 24, SDL_HWSURFACE|SDL_DOUBLEBUF);

if (screen == NULL)
{
printf ("error: %sn", SDL_GetError ());
exit(1);
return NULL;
}

// Comprobamos que sea compatible el modo de video

if(SDL_VideoModeOK(1000, 700, 24, SDL_HWSURFACE|SDL_DOUBLEBUF) == 0) {

printf("Modo no soportado: %sn",SDL_GetError());
exit(1);

}

SDL_FillRect (screen, NULL, SDL_MapRGB (screen->format, 0, 255, 0));
SDL_WM_SetCaption (titulo, NULL);

//iniciamos el modo de video
if(Mix_OpenAudio(FRECUENCIA_VOCES, MIX_DEFAULT_FORMAT,
MIX_DEFAULT_CHANNELS, 4096) < 0) {

printf("Subsistema de Audio no disponible");
exit(1);
}

return screen;
}

int main( int argc, char* args[])
{
//Zona de declaración de variables
SDL_Surface *pantalla;
SDL_Event evento;

//---------------------------------------------------------
// Inicializacion de variables, el programa principal
// solo printa la pantalla en negro y se saldra con ESC
//---------------------------------------------------------
pantalla = empezar_sdl ("Animacion personaje");

// GAME LOOP
for(int x = 0, y = 0 ; ; ){

while(SDL_PollEvent(&evento)){

if(evento.type == SDL_KEYDOWN) {

if(evento.key.keysym.sym == SDLK_ESCAPE)
return 0;
}

if(evento.type == SDL_QUIT){
return 0;
}
}
}

}


He hecho la instalación en dos equipos y me ha funcionado bien, pero la semana que viene repetiré el proceso en otro ordenador para asegurarlo. Si alguien tiene alguna duda o problema puede dejar un comentario.

PD: Agradecer no cuesta nada, si estos tutoriales te son de ayuda, ayúdame también a mí sacando el juego (PlanetZombies adelante), regístrate y pruébalo, es gratis, o habla con amigos del juego a ver si les interesan. El próximo día explicaré el código que hoy hemos publicado.

Categorias: programacion,

Etiquetas: cpp, informatica, crear videojuego, sdl,


Comentarios


Publicar un comentario


Para publicar un comentario tienes que estar Registrado o Logueado

Juego creado por Morior 2011. Dibujos a cargo de Daniel Rodríguez Fernández