Entrevista a Zak, el creador del ZakEngine
Estuve reunido con Zak, el creador del ZakEngine, un motor de juegos 2D programado en C++ pensado para ser fácil de aprender y utilizar. Veamos que nos contó acerca de este gran emprendimiento:
fL: Zak, contanos un poco que es ZakEngine y que se puede hacer con él.
Zak: El Zak Engine es un motor para ayudar en el desarrollo de videojuegos. En realidad es más un framework que un motor. Mi idea cuando inicie la programación del mismo fue que sea lo más fácil, intuitivo y rápido de usar posible.
Entre sus caracterÃsticas principales se encuentran manejo de sprites, sistemas de partÃculas, mapas de mosaicos, sonido, música y scripting. Próximamente estoy por agregar un módulo para manejo de widgets (controles de ventanas, botones, cajas de texto, etc).
fL: ¿Cuál fue tu objetivo al crearlo y que diferencias posee tu motor en comparación a otros como Allegro o entornos como BlitzBasic o DarkBasic?
Zak: Mi objetivo es facilitar el proceso del desarrollo de un videojuego tanto para los que se inician en el tema como para profesionales.
Las diferencias fundamentales con otros motores es su facilidad de uso. Es decir, en motores como Allegro que debe funcionar bajo muchas plataformas diferentes y es desarrollado por múltiples programadores, su complejidad en cuanto a la cantidad de clases y funciones que poseen lo hace mucho más complejo para un novato. Por otro lado, en el caso de BlitzBasic o DarkBasic son entornos con pseudo-lenguajes basados en el popular Basic mientras que el ZakEngine es una librerÃa de C++.
Desconozco estos dos últimos y, por tanto, no podrÃa decir cuán fácil o difÃcil es programar en estos ni cuán rápidos son.
fL: ¿Puede utilizarse otro lenguaje para programar con él? ¿Como Visual Basic o Delphi?
Zak: No lo pensé de esta manera, pero tal vez se pueda hacer. En el caso de que exista alguien que le interese dicha caracterÃstica, podrÃa intentar portarlo para que funcione en otros lenguajes.

fL: ¿Que conocimientos previos debe poseer la persona que quiera utilizarlo?
Zak: Debe tener conocimientos intermedios de C++: el manejo de clases y punteros es fundamental.
fL: ¿Es necesario pagar algo para poder usar ZakEngine?
Zak: No, en absoluto. El motor es gratuito para uso comercial y no comercial. El único requisito es mostrar el logo del mismo al principio de la aplicación tan solo como una cuestión de reconocimiento.
Pueden leer la licencia desde la página web o descargando el motor.
fL: ¿Bajo que licencia se encuentra publicado? ¿Es posible acceder a su código fuente?
Zak: Por el momento no tiene una licencia como GPL, LGPL, etc. Está basada en la licencia del ClockWorkEngine que me parecÃa más simple y concisa dado que por el momento al no poder acceder al código, no me preocupé en buscar una licencia adecuada. Mi idea es que cuando el motor se encuentre en una etapa más madura, liberar el código fuente tal vez bajo la licencia LGPL que otorga más libertades.
fL: ¿ZakEngine siempre será 2D o se planean agregar caracterÃsticas 3D en el futuro?
Zak: Lo estuve pensando y todavÃa no tomé una decisión al respecto. Probablemente salga una versión aparte del mismo en 3d, pero la idea es que quede lo más completo posible en 2D primero. Otra de las posibilidades es portarlo a C# utilizando XNA. Pero bueno, por el momento son solo posibilidades, no tomé ninguna decisión al respecto.
fL: ¿Qué tipos de juegos se pueden hacer con él?
Zak: Cualquier tipo de juegos 2D: desde puzzles, pasando por juegos estilo Pac-Man, side-scrollers estilo R-Type, hasta juegos de acción de plataformas.
fL: ¿Que librerÃas preinstaladas requiere poseer la PC donde el juego va a ser instalado?
Zak: Sólo requiere el DirectX 8.1 o DirectX 9 (Diciembre 2006 o superior) dependiendo por supuesto de con cuál de las dos librerÃas del motor esté compilado el juego dado que provee ambas configuraciones. Funcionó perfectamente en PCs con Windows XP con Sevice Pack 2. TodavÃa no fue testeado en Windows 98.

fL: ¿Qué debo tener instalado en mi computadora para programar con ZakEngine (Compiladores, editores, etc.)?
Zak: Para programar se debe tener el Visual C++ Express o Visual Studio 2005, Service Pack 1 los entornos de programación y el DirectX 9.0 SDK (Diciembre del 2006 o superior) si se va a utilizar la librerÃa compilada con dicha versión o DirectX 8.1 SDK si se va a utilizar la otra configuración.
Para editar los mapas de mosaicos podemos utilizar el AnaConda Map Editor. Para crear los bitmap fonts podemos usar la aplicación Bitmap Font Builder.
fL: ¿Todas estas herramientas son gratuitas?
Zak: Si, excepto el Visual Studio 2005, todas las demas herramientas son gratuitas. En el caso del Bitmap Font Builder es gratuito solo para proyectos no comerciales.
fL: ¿Cual es el sitio oficial del motor? ¿En donde puedo consultar si es que tengo dudas o problemas con su uso?
Zak: El sitio oficial es http://www.zakengine.com. Para cualquier consulta, en el mismo sitio hay un foro ( http://foro.zakengine.com/) donde podemos realizar consultas, reportar bugs o mostrar nuestros desarrollos libremente.
fL: Gracias, Zak.








