viernes, mayo 29, 2015

Encuesta

En cierta ocasión mencioné la rara discrepancia entre las estadísticas de visita de Blogger y StatCounter. Resulta muy raro que un día al mes, alrededor del 23-24, haya un pico de casi 300 visitas, de las cuales StatCounter ni se entera. Las visitas diarias según Blogger se mantienen entre 20-30, pero StatCounter solo ve 9-10, de las cuales 1 o 2 es un visitante que repite.
Por tanto, les solicito por favor que me ayuden respondiendo la encuesta que ven a la derecha. He tratado de cubrir todas las opciones posibles, no sé si alguien lee esto en una forma que no sea a través de la web o vía agregador de noticias. En esencia, lo que quiero es saber cuántas personas realmente pasan por aquí de vez en cuando o se mantienen al día.
Gracias por su ayuda.

jueves, mayo 28, 2015

Ensalada de programación

En esta semana he estado saltando de una cosa a otra, en mis ratos libres. Me han asignado dar clases, que no sería tan malo si fuese en un hotel de playa todo incluido, y además me pagaran por ello. A pesar de eso, me las he arreglado para trabajar un poco en varias tareas pendientes.
El martes logré implementar un sistema de ciclo día/noche, nada excepcional, solo porté mi idea anterior de Urho3D a Unity3D, con un breve vistazo a algunos tutoriales, para confirmar si iba bien encaminado. La verdad, ni idea de si voy bien. Pero al menos ya sé que puedo encender las luces por la noche y cambiar la luz solar. En el proceso, descubrí, con ayuda del modelador principal, que las point lights no producen sombra en deferred rendering si la cámara está en vista ortográfica. Vaya mierda.
Ayer me di a la tarea de portar el editor de diálogos a Windows. tuve que pasarme a Qt 5 porque Qt 4 no es compatible con Visual Studio 2012. Después resultó que sí podía haber utilizado la 4.8, porque el paquete incluye Qt Creator, y el añadido para generar proyectos no funciona si lo que tienes es VS Express. Vaya mierda, si no puedes pagar, no puedes desarrollar con Qt y VS. Ahí me encontré con el pequeño inconveniente de que no encuentro como reutilizar el código y el diseño de interfaz. Lo preocupante es esto último, parece que tendré que rehacer el UI desde cero. He tratado de ver el lado positivo: así me lo pienso mejor y rediseño la interfaz, que se estaba haciendo compleja. La otra opción es mandar Qt al carajo y asesinar y violar a alguien.
Incluso, logré dedicar unos minutos en casa a estudiar el parseo de XML con System.Xml. Se recomienda evitarlo, pero para Mono.xml no aparece documentación, y una mirada al código fuente no me aclaró nada. Habrá que cargar con el megabyte extra que representa System.Xml, espero que eso no le moleste a nadie. De hecho, no les ha molestado que The Witcher 3 pida 6Gb de RAM y un tarjetón, así que tendrán que disculparme si uso System.Xml y el ejecutable del juego se lleva un poco más. La cosa no es tan difícil, debería poder implementar la carga de diálogos pronto. Mostrarlo ya son otros veinte pesos.

viernes, mayo 22, 2015

The Witcher 3

El desarrollo se está haciendo notar de cierta forma en Cuba. A pesar de ser una cantidad respetable gigas, ya está aquí The Witcher 3. La última aventura del brujo Geralt de Rivia no ha tardado ni dos días en descargarse y llegar desde la capital del país hasta el Oriente, siempre atrasado en todo. Será el famoso cable, o la bajada de los precios de internet, o la relativa abundancia de conexiones más rápidas.
Lo jodido del caso es que no puedo jugarlo, me quedo bastante corto en especificaciones: ni CPU, ni RAM, ni tarjeta de video. Lo mismo me sucede con el último Dragon Age, del cual he tenido que pasar. En este momento, mi tarjeta está alquilada (necesito el dinero) hasta el mes próximo, lo demás sí que no tendrá solución a corto plazo. Supongo que la tarjeta ayude, si antes desactivo el HairWorks de Nvidia, que está causando una verdadera bronca de barrio entre las dos compañías, porque AMD dice que los verdes sabotearon el rendimiento del juego en sus tarjetas con premeditación y alevosía.
Obviamente, los middlewares ligados a un fabricante de hardware son como un caballo de Troya y les recomiendo huir de ellos. A menos que te paguen mucho, claro.

jueves, mayo 21, 2015

La "nortificación"

Echale un vistazo al mapa de Canción de hielo y Fuego. También mira el de El Señor de los Anillos. ¿Notas algo en común? Obvio, el título del post lo dice todo: están al norte del planeta (el que sea). No quiero ser absoluto y decir que es una tendencia de todos los escritores, pero a mí también me sucedió. El Medio Mundo es un continente situado en el hemisfero norte de Elymuria. No sé por qué, resulta chocante imaginarse un continente en el hemisferio sur.
Cuando inicié la tercera novela, con mundo nuevo (y mejorado), arranqué por el worldbuilding. Me había prometido no cometer los mismos errores, no señor. ¡Esta vez serían errores nuevos! Ya estaba hecho el mapa, y como siempre, estaba al norte. Con las clásicas praderas congeladas al norte, hogar de los gigantes, y países bárbaros, también al norte, aunque un poco menos que los gigantes. Tal parece que los bárbaros solo pueden provenir de países fríos. Y entonces vino la pregunta: ¿por qué siempre al norte? En cualquier momento me acusan de discrimar al sur y a los pueblos oprimidos.
No había más remedio que rehacer el mapa y corregir las referencias a los puntos cardinales en las pocas páginas que había escrito. Mandé los gigantes al sur. Los bárbaros se quedaron al norte, pero esta vez son un pueblo nómada que habita praderas áridas semidesérticas y zonas montañosas. Nadie pareció molestarse por el cambio.

lunes, mayo 18, 2015

Urho3D 1.4

El viernes se liberó Urho3D 1.4, cuya novedad más importante es el soporte para DirectX 11 y OpenGL 3.2, que ya se venía echando en falta. Una cosa es proveer compatibilidad hacia atrás, y otra es quedarte atrás. Supongo que también vala la pena mencionar el soporte experimental para Emscripten y crowd navigation, sobre todo esto último que suena muy bien en la lista de funcionalidades de cualquier motor o juego. Hay un montón de arreglos y adiciones menores, como es habitual (y necesario).
Esperemos que la próxima versión no se haga esperar tanto y que Urho3D siga mejorando. En especial, sería recomendable que implementasen algún mecanismo de despliegue, como el One Click Deploy de Godot.
Aunque ya no lo uso, periódicamente le echo un vistazo al foro para ver cómo van las cosas, y no dejo de recomendarlo para los que quieran empezar un proyecto 100% libre. Sin embargo, calculo que Urho3D solo alcanzará su verdadero potencial en un año o año y medio. Hay muchas otras cosas muy necesarias que le faltan, como un buen editor de terrenos y de UI layout integrados. 

viernes, mayo 15, 2015

Un curioso cheque

Acabo de recoger en la Casa del Joven Creador (aunque no sea un "joven creador")  un cheque de pago por mi presentación de la novela en la Feria del Libro, aquí en mi ciudad. A diferencia de la Habana, algunas de las presentaciones de Santiago están a cargo de la Asociación Hermanos Saíz, que sí paga por las presentaciones. Una bagatela, pero que me viene muy bien para comer tres o cuatro días, pues como siempre digo, acepta lo que te den, porque es mejor poco que nada.
Lo curioso del cheque está en su parte trasera, donde dice:

Pago al sector privado 
"Novela de caballería"

O sea, que para los burócratas de la AHS, yo soy un escritor de novelas de caballería. Lo cual, supongo, me convierte en una especie de émulo del ilustre Cervantes, el Discapacitado de Lepanto (eso de manco suena muy feo, discapacitado es más políticamente correcto).
A este humilde mercenario de las letras, le da lo mismo que lo cataloguen como escritor de caballería, ensayos, o novelas rosas, siempre y cuando me paguen, claro.

jueves, mayo 14, 2015

Segundo tutorial de Unity3d: personajes modulares

Ya está publicado el segundo tutorial, que detalla una solución para construir personajes a partir de mallas separadas en Unity3d.  El código es básico y debería ser fácil de adaptar a cualquier proyecto, el resto de las instrucciones en inglés se reducen a esto:
  1. Modelar el personaje dividido en las secciones necesarias, con un esqueleto común.
  2. Exportar cada sección por separado, pero incluyendo el esqueleto.
  3. Exportar el esqueleto sin geometría.
  4. Crea un prefab o GameObject con el esqueleto y el Animator, que será la base para la jerarquía de objetos del parsonaje.
 Advierto que el código funciona, pero podría ser mejorado, se agradecen sugerencias de desarrolladores experimentados.