jueves, 29 de agosto de 2013

Segundo Proyecto: Creando los placeholder

Vamos a ver y utilizar la herramienta que he creado para la creación de los placeholder de nuestro juego, que servirá para cualquier juego. Como os explique en esta entrada se trata de una hoja de calculo de openoffice con una macro que ha partir del rellenado de unas celdas se obtienen los archivos de inkscape para empezar a trabajar.

 

Rellenado los campos


PlaceHolder
Como podéis ver en la imagen no es mas que una simple hoja de calculo con una macro que he programado para que lea las distintas columnas y filas y cree archivos SVG de inkscape, sirviéndonos de base para trabajar sobre el programa, mientras algún artista o nosotros vamos creando los definitivos.

La primera columna es FileName, hay va el nombre del archivo, siempre terminado en .svg, la siguiente es el directorio donde queréis que se cree el archivo, en nuestro caso en Sprite, a continuación una descripción que nos servirá para recordar a que corresponde dicho archivo, después el alto y ancho de la imagen, un color escogido de una lista (puede que esto lo cambie mas adelante para dar mas posibilidades de colores) y por ultimo Shape es una lista de figuras básicas que rellenaran el archivo.

 

Ejecutando la macro


Una vez están rellena todas las filas con los archivos que queramos crear tenemos que ir a Herramientas > Ejecutar Macro… y se abrirá un dialogo para la selección de la macro que queramos ejecutar.


Siguiendo la imagen anterior se localiza la macro que he creado, se elige la función main y se pulsa ejecutar, casi de forma inmediata obtendremos en nuestra carpeta asset una nueva carpeta sprite y dentro todos los archivos SVG con los nombres tamaños y formas que habíamos seleccionado.

 

SVG2PNG.BAT


También comprobareis que hay un archivo de ejecución por lotes con un nombre muy sugerente. SFML 2 no puede entender los archivos SVG, aunque se podría hacer un parser y “traducir” el archivo, así que es necesario convertirlo en un archivo de mapa de bits que son los que podemos cargar en SFML 2.

Para convertirlos usaremos la línea de comandos de Inkscape. Este archivo, que podéis mirar si tenéis curiosidad, recorre todo la carpeta en la que se encuentra (asset) y convierte todo archivo SVG en un archivo PNG dentro de la carpeta bin/data, manteniendo la estructura de ficheros.

Una vez creados los archivos SVG con la hoja de calculo, ejecutad SVG2PNG.bat y se convertirán los archivos. Necesitareis tener instalado Inkscape en la localización por defecto.

Todas esta herramienta las iré mejorando según sean necesario.
Gracias por vuestro tiempo. No vemos en la siguiente entrada.

4 comentarios:

Unknown dijo...

Hola David,

Una pregunta que no tiene que ver con la entrada pero si con el blog:

Un juego en SFML2 y C++, ¿es portable a dispositivos moviles: android y iOS?

En iOS (iphone, ipad), tengo entendido que se usa Objective C pero desconozco si solo se puede hacer juegos bajo este lenguaje o si uno hecho en SFML2 y C++ funcionaría.

Un saludo.

Unknown dijo...

iOS puede usar C/C++ para programar aunque hay que hacer un enlace entre la capa de iOS y el programa de C/C++ en Objective C.

SFML 2 no puede directamente servir para iOS y Android, aunque creo que hay algunos usuarios de SFML que estan portando la funcionalidad a estos sistemas operativos. Visita los Foros de SFML para tener una mejor informacion.

Aun asi para programar para iOS necesitarias un Mac, pues solo Xcode tiene las SDK de desarrollo para este dispositivo.

Para Android prodias usar un PC, pero igualmente con Visual Studio no podrias pues usa GCC con las librerias propias de android.

Espero que te haya sido de ayuda. Saludos

Francisco dijo...

Interesante, en definitiva lo suyo sería trabajar con las librerias propias de iOS y android para juegos.

Para programar en iOS se necesitaría un Mac, pero tambien se podría instalar un mac OS virtualizado sobre windows y trabajar sobre el sistema operativo virtualizado, ¿no?

Unknown dijo...

Las librerias de iOS y Android son a najo nivel, es decir que tienes que enfrentarte a la programacion en OpenGL ES2 y construir todos los sistemas casi de cero.

Por eso hay gente interesada en portar SFML2 y otros SDK d juegos a iOS y Android, de forma que programando en Visual Studio sobre un PC, puedan luego coger ese mismo codigo y compilarlo en Xcode para tener la app de iOS.

Efectivamente puedes virtualizar un Mac, se supone que eso es ilegal, pues la licencia de apple dice que OS X solo puede ejecutarse con su hardware, pero quien se va ha enterar.

Total si tu app tiene exito siempre te puedes comprar un macMini (es lo que usabamos en Gameloft)