viernes, noviembre 28, 2014

Ya está aquí el esperado trailer de Star Wars

Y nos trae un poco (muy, muy poco) de todo: sables de luz sith, el Halcón Milenario en plena pela con cazas Tie y por supuesto, Alas-X. Volando a ras del suelo, que es lo que está de moda. Alucinante.
Habrá que esperar a un trailer más largo que estoy seguro saldrá el año próximo para poder ver a nuestros queridos personajes de la trilogía original. Y esperemos que J. J. Abrams haya hehco un buen trabajo. Les recomiendo este artículo en The Verge, con el cast y una breve referencia de cada uno.

martes, noviembre 25, 2014

No tengas miedo a tirar tu código

Luego de un fin de semana bastante productivo, he tenido que reiniciar el proyecto desde cero. Cometí el grave error de no probar si todo iba bien en Visual Studio, esperé demasiado y ahora tengo un montón de errores inexplicables que costaría mucho tiempo erradicar. Así que he tomado la decisión de pasarme compeltamente a AngelScript, algo que debí haber hecho desde el principio. Pensé que podía escribir las clases en C++ y registrarlas en el intérprete de AS, lo cual en realidad me habría tomado tiempo y trabajo adicional para registrar a mano todas las estructuras de datos.
Ahora, he reducido el programa en C++ a un mero lanzador con las funciones mínimas, que ejecuta el script del juego. O sea, todo lo que implementé el fin de semana: la cámara, la animación del personaje, tiene que ir a la basura y reescribirse en AngelScript, que es casi C++, pero no del todo.
Pero esto es algo que suele suceder. Todo programador tiene que estar dispuesto a reiniciar el trabajo y tirar a la basura el esfuerzo de días, o semanas. Por eso, no debemos dejar que el miedo a empezar de nuevo nos haga tomar esta decisión demasiado tarde.

lunes, noviembre 24, 2014

Urho3D 1.32 (y un plus)

Tal como esperaba, ha sido liberada la versión 1.32 de Urho3D; la lista de cambios es demasiado larga, tanto, que ni siquiera me voy a detener a comentar ninguno de ellos. Un pequeño paso hacia el objetivo de lograr un motor maduro, confiable y efectivo. En el anuncio podrán encontrar la descarga para las plataforma soportadas: Linux, Windows, OS X, iOS, Android y Raspberry Pi.
En los foros se ha mencionado la posibilidad de sacar una versión cada dos meses, pero tratándose de un proyecto libre, mantenido por voluntarios y con una comunidad aún naciente, yo no contaría con ello. En lo personal, prefiero seguir utilizando el código actualizado de github, aunque el estado actual permite hacer mucho.
Y hoy les traigo dos por el precio de uno: acabo de descubrir otro motor libre: Banshee, que al menos en el texto luce impresionante y apunta a ser un Unity3D libre (pueden leer aquí la presentación de su autor). Lamentablemente, muy verde aún y es el resultado de tres años de trabajo de un solo desarrollador. Lo seguiré con cuidado pero sin hacerme ilusiones, porque por lo general estos esfuerzos de un solo hombre no acaban bien a menos que consigan apoyo. El gato escaldado hasta del agua fría recela, y yo ya he sufrido unas cuantas decepciones.
 

viernes, noviembre 21, 2014

Definitivamente he abandonado la idea de usar Lua en el proyecto. Por alguna razón el cmake se esta limpiando el sistema excretor con las opciones de compilar el soporte de Lua o LuaJit. Pero los programadores de juegos deben ser criaturas adaptables, así que no queda otra que evolucionar y pasar a otra alternativa. En este caso, AngelScript.
La sintaxis es muy similar a la de C, por lo que no debería ser tan difícil vencer la inercia. Después de todo, ni siquiera dominaba a fondo Lua y en verdad hace unos cuantos meses que no lo utilizo, así que solo estaba dejándome llevar por la tendencia. He dedicado un par de días a indagar en el foro cómo registrar las clases e instancias de la aplicación anfitrión en el motor de scripting creado por Urho3D y creo que ya tengo cierta idea al respecto, por suerte no han faltado respuestas en ese hilo.
Me espera un fin de semana bastante atareado tratando de armar un prototipo un poco mejor estructurado que la aplicación de pruebas que he venido desarrollando. Ojalá la inspiración acompañe a los buenos deseos de trabajar.
Un detalle adicional: si estás pensando en integrar algún lenguaje scripting, o simplemente tienes ganas de experimentar, te dejo este curioso proyecto, que es un intérprete con una sintaxis basada en C++/C# (eso dice el autor). Nos vendrían bien más lenguajes script así, y más motores que los utilicen.

jueves, noviembre 20, 2014

C# llega también a Unigine

C# sigue imparable en su PDM (Plan de Dominación Mundial), o al menos en su plan de dominar a todos los motores de juegos. Aunque Unigine tiene su propio lenguaje script basado en C, muy fácil de aprender y según ellos uno de los más rápidos, ahora ofrecen también la posibilidad de programar usando C#. Una de las ventajas es que ahora podremos usar Visual Studio para desarrollar juegos con Unigine.
Entre las funcionalidades disponibles la más importante, me parece, es la posibilidad de ejecutar código de UnigineScript desde C# y viceversa.

miércoles, noviembre 19, 2014

Mi novela, oficialmente en la Feria del Libro de la Habana

Aunque mi editora me lo había confirmado, por otra vía me llega la reafirmación de que mi novela La piedra ardiente, será presentada en la Feria del Libro 2015, en la Habana. La editorial Gente Nueva ha presentado la lista de títulos de la Colección Ambar, que agrupa policiales, ciencia ficción y fantasía, que en esta ocasión presenta nada menos que nueve títulos. Comparto escenario con un team de lujo: escritores ya establecidos (y excelentes), como Michel Encinosa, Yoss, Jesús Minsal, Erick Mota, Eric Flores, etc. La competencia será dura, pero la capital es tal vez la única plaza fuerte de la lectura en Cuba, y sumado al ambiente de Feria que incita al derroche, confío que podré conseguir buenas ventas.
No está confirmado que esté invitado, aunque mis amigos dicen que sí, que es muy posible que esté presente en el lanzamiento. A propósito, me parece que la portada es la de la derecha en la segunda fila (yo mismo ni siquiera he visto la portada de mi libro).

viernes, noviembre 14, 2014

Okam Studios lo consiguió

Hace unos días mencioné que Okam Studios tenía un proyecto en Kickstarter, y les pedía a los que pudieran que diesen su aporte, pues ya le faltaba muy poco para expirar y aún no lograban el financiamiento mínimo solicitado. Por suerte, alcanzaron el límite a tiempo, así que el proyecto va.
Me alegra que lo hayan conseguido, en primer lugar porque esto repercutirá en el desarrollo del motor libre Godot, y en segundo, porque es bueno ver a los desarrolladores latinos salir adelante. Le deseo mucho éxito a esta compañía y que esta aventura interactiva  llegue a buen término.

miércoles, noviembre 12, 2014

Crear árboles

No, no es que me haya metido a ecologista. Ayer (y hoy) medediqué a la tarea de probar algunas herramientas para crear árboles, supuestamente con poco esfuerzo.
Mi primer intento fue con lo que tenía más a mano: el addon Sapling de Blender. No logré entenderme con él, por alguna razón, una vez que selecciono un objeto ya no logro ver el panel de parámetros del addon. Los árboles creados tienen un número excesivo de polígonos y el método para generarlos no me gusta mucho, sobre todo la ubicación de las hojas.
Gracias a la sugerencia de un amigo encontré el tree[d]. Al parecer el desarrollador lo abandonó, pues la última versión es vieja y hay que bajarla de un caché. En la página (supuestamente) oficial ya no se hace mención a él. Extremadamente sencillo, con buenos resultados, aunque no me gusta el aspecto cuando se integran en Urho3D.
Al final, acabé echándole un vistazo a NgPlant. Muy potente, multiplataforma, pero complejo y tedioso de usar. Casi todos los generadores parten de un árbol pre-generado, pero en NgPlant hay que hacerlo desde cero, rama por rama, afinando los parámetros para cada una.
Después de invertir varias horas en esto, llegué a la conclusión de que los artistas están para algo. De todas formas, acabarás perdiendo horas de trabajo que deberías usar en programar y el resultado no será perfecto. A menos que seas un genio que se le de bien modelar y programar.

viernes, noviembre 07, 2014

Los desarrolladores de Godot tienen un juego en Kickstarter

Y necesitan ayuda. Pueden ver el proyecto aquí, y le quedan unas pocas horas. El juego en sí no es libre, pero sin dudas repercutirá en el desarrollo del motor Godot, por lo que creo que vale la pena tirarles un cabo.

jueves, noviembre 06, 2014

Ranking de motores de juegos, según su facilidad de uso

Desde mi punto de vista, claro. Es algo que tienen que tener en cuenta, ya que no soy un programador estrella ni nada que se le parezca. Este benchmark se basa en evaluar qué tan rápido puedo implementar una vista isométrica en el motor. He obviado detalles como el esfuerzo necesario para crear el escenario.

1- Urho3D: a pesar de ser muy verde y tener muy poca documentación, me ha resultado increíblemente fácil implementar el prototipo casi completo. El zoom que siempre tuve que descartar aquí viene ya integrado en la clase Camera. El desplazamiento del personaje está documentado en un ejemplo, usando navigation mesh, así que ni siquiera tengo que preocuparme por implementar un algoritmo de búsqueda de camino.
2- Ogre3D: lo conseguí tras un par de días de trabajo y revisando un ejemplo completamente diferente (cámara en 3ra persona). No funcionaba del todo bien, no conseguí implementar el zoom por mi pésimo dominio de las matemáticas.
3- Unity3D: unas horas de trabajo y búsqueda en Internet. No logré implementar el zoom, en la versión 4.5 no logré hacer funcionar correctamente el desplazamiento del personaje (que funcionaba perfecto en la 3).
4- Unigine: completamente imposible. No existe documentación y en el foro (antes de que me cancelaran la cuenta) no conseguí una respuesta adecuada para un novato.

5- REDKit: me metí en esto porque andaba pidiendo empleo en CD Projekt Red. Ejecuté el motor un par de veces y no logré entender nada.
6- CrystalSpace: los programas en CS ni siquiera parecen escritos en C++. No logré comprender el motor ni echar a andar un demo sencillo.

Como ven, en el hit parade hay tanto herramientas libres como comerciales, así que si están evaluando opciones, quizás esto les sirva de algo.

martes, noviembre 04, 2014

¿Y dónde está Torque3D?

La respuesta es sencilla: en el mismo lugar que hace varios meses, en la 3.5.1. Me aburrí de esperar la versión 4, porque el calendario de dos lanzamientos al año no se ha cumplido, incluso se hablaba de una 3.6 que aún podría salir este año (atrasando la cuarta entrega mucho más, hacia el 2015). Hay funcionalidades interesantes que mencioné aquí que están en progreso, pero lo esencial, que es la complejidad del motor, su falta de documentación y que la supuesta portabilidad no funciona tan fácil, no será solucionado en un plazo razonable, digamos de seis a diez meses.
Para el que ha logrado entenderlo y hacerlo funcionar en Windows y Linux, Torque3D podría ser un motor bastante bueno y capaz de resolver todas las necesidades. La comunidad no es tan grande como la de Ogre o Irrlicht, pero algunos de ellos son expertos con experiencia que data de la época en que era un motor comercial. Tampoco es que la de Urho3D sea mayor, pero al menos le veo muchas posibilidades de crecer a mediano plazo.
Si estos detalles fuesen solucionados, Torque3D podría convertirse en una opción seria para los que se inician en el desarrollo de juegos y que no pueden pagar una licencia comercial, ¡que los habemos y muchos! Si no, se mantendrá como ese pequeño reducto ocupado por afortunados que han logrado dominarlo, que crecerá con unos escasos miembros y proyectos indie de poca relevancia.

lunes, noviembre 03, 2014

Star Wars Episodio VII ha culminado su filmación

Las tareas de filmación han concluido para lo que será la próxima película de Star Wars: el Episodio VII. J.J. Abrams ha publicado una carta de despedida a los actores y el resto del personal involucrado en el proceso, agradeciendo su profesionalismo y pasión, y todo el blah, blah de rigor (sois unos cracks, de esta nos forramos, mola mucho trabajar con ustedes).
La peli en cuestión podremos verla el año próximo, en Diciembre, así que toca armarse de paciencia. Hay que ver si esta nueva entrega es capaz de suscitar la misma emoción que la Trilogía Original, porque la Nueva... cosechó más críticas y decepciones entre los fans de toda la vida que éxito. Muchas cosas no eran como esperábamos; parece que con el ánimo de sorprender, Lucas no tuvo reparos en contradecirse a sí mismo cada vez que tuvo un chance. El resultado: un WTF! en toda regla. Por tanto, no es nuestra culpa si no esperamos el Episodio VII con las mismas ansias, a pesar de que será el reencuentro con personajes queridos como Han, Luke, Leia, y el Halcón.