Makehuman, un par de consejos

Luego de algunos intentos infructuosos, he conseguido utilizar con cierto éxito los modelos de Makehuman. En mi caso, había experimentado ciertos problemas con la cabeza de los modelos: los ojos no estaban correctamente asignados al esqueleto luego de pasar por blender y ser exportados a FBX. La cabeza iba por un lado y los ojos por otro. La solución drástica es combinar cabeza y ojos en un solo objeto en Blender antes de exportar a Unity. Esto no es una buena opción si quieres animar los ojos.
Sin embargo, esta solución dejó de funcionar cuando empecé a utilizar la última versión de Makehuman. Sí, es un alfa y se supone que tenga problemas. Pues bien, el caso es que si combinaba la cabeza y los ojos, el resultado en Unity era una deformación total de la cabeza. Y estaba yo rascándome la mía cuando se me ocurrió probar a combinar los ojos con todo el cuerpo antes de dividir el modelo en secciones. Aún estoy tratando de adivinar qué era lo que estaba mal en el modelo anterior, pero la experiencia me dice que el proceso de exportar a Blender, y de ahí a FBX, introduce errores en los modelos.
Como siempre, mi consejo es que te busques un modelador, pero eso no siempre es posible. Así que lo mejor que puedo recomendar es hacer varias pruebas, en especial ahora que MH está en fase alfa (aunque tengo que decir que esta versión me funciona muy bien y estable). Si te lanzas a hacer modelos a montones y hay algún fallo, habrás desperdiciado tiempo por gusto.
Hablando de otras cosas, me he visto obligado a aprender un poco más de Blender. No creo que llegue a convertirme en modelador, pero he conseguido aprender un poco de texture painting, lo cual me sirve para pintarrejear los personajes y objetos con cierta facilidad, sin hacer unwrap. En mi caso, el efecto pintado a mano se convierte en embarrado a mano. De no ser por el dolor de muñeca, hubiese sido divertido. Tampoco creo que Blender sea una herramienta excelente e intuitiva en este aspecto, alguien debería mejorar eso y así los fans del software libre no se verían obligados a usar Substance Painter.

¿Podemos crear juegos AAA en Cuba?

En estos días un colega me mostró con muy contento su primer juego terminado: un clon de World of Tanks, con multiplayer y todo. Es su primer juego terminado y lo concluyó solo, o eso me parece, utilizando Unity, que es la herramienta más popular en Cuba entre los desarrolladores. Los arquitectos prefieren Unreal, pero eso es irrelevante para esta historia, así que los dejamos atrás. Casualmente, una hora después me encontré con otro colega y conversamos, entre otros temas, sobre el desarrollo de juegos aquí.
El, como todo el mundo, piensa que es imposible hacer un AAA. Las justificaciones son variadas. No es rentable, dicen algunos. Es muy complicado, dicen otros.
Quiero aclarar que me refiero al desarrollo de juegos por parte de un equipo independiente. No me atrevo a hacer predicciones acerca de la naciente industria, surgida del matrimonio de conveniencia entre la UCI y el ICAIC, porque no tengo una bola de cristal (solo de las normales). Si algún día decidirán hacer algo grande, no lo sé, aunque creo que no es su objetivo.
Como pueden imaginarse, yo soy de la opinión de que sí se puede (por favor, abstenerse de hacer bromas con la frasecita). Existe la gente con el talento, o con la capacidad de adquirirlo. Lo que no existe, parafraseando un chiste que no me atrevo a mencionar porque en esta época políticamente correcta todo ofende, es financiamiento. Son tiempos duros y nadie quiere trabajar gratis en el sueño de otro, y en muchos casos, ni siquiera en el suyo. La lucha del sustento diario es la prioridad entre los cubanos. De ahí que la primera idea que venga a la mente al escuchar sobre proyectos de juegos sea "¿Voy a ganar dinero con esto?" Y lo más importante, "¿Voy a ganar dinero con esto en un mes, o dos?".
Ahí está el segundo detalle. Los cubanos parecemos ser incapaces de planificar a largo plazo. A menos que seas del gobierno, que en ese caso es todo lo contrario, todo se planifica a largo plazo (en el 2030, tendremos internet a 10 megabits y la economía estará recuperada). Un proyecto de dos años suena como algo excesivamente largo, titánico, quimérico. Que al final de esa jornada haya una recompensa no es significativo. Está muy lejos en el futuro, y como les decía, los cubanos no vemos el futuro, somos miopes para cualquier período de tiempo más allá de un mes o dos.
Volviendo al tema, estoy seguro de que sí se puede. Al menos, se puede intentarlo, sin tener ese terror al fracaso que paraliza. Un proyecto AAA. Incluso aquí en Santiago, que como toda ciudad fuera de la Habana es subdesarrollada e incivilizada, es posible reunir un equipo.
El problema, vuelvo y repito, es pagarles para que se queden juntos y trabajen. Porque lo que sí es imposible es encontrar media docena de personas que estén de acuerdo en invertir su tiempo en un proyecto complejo a cambio de nada. Mientras no suceda eso, seguiremos teniendo proyectos pequeños y medianos, hechos para aprender, pero nada grande y serio, pensado para el mercado global.
Y ya que hablamos de proyectos, los que estén de acuerdo con que Elymuria vuelva a tener un proyecto de RPG, que lo expresen levantando la mano (los que no estén de acuerdo, perderán la estimulación del mes).

ECS, a la carga otra vez

Aprender a utilizar ECS es una de esas muchas cosas que tengo pendientes desde hace tiempo, sobre todo porque los proyectos en progreso ya estaban bastante avanzados y también por la dificultad para instalarlo. Se requiere una serie de paquetes que hay que descargar de internet (vía VPN) y eso acá se vuelve un poquito complicado.
Pero como tenía que reiniciar un proyecto (un pequeño prototipo de Elymuria) ahora que me estoy tomando lo de escribir con calma, decidí echarle un vistazo otra vez. Tengo que decir que media hora de estudio no arrojó nada en claro: aún no tengo mucha idea de cómo convertir mi proyecto de RPG a ECS puro. Para empezar, los GameObjects desaparecen y entran en juego otros conceptos. Sí, ya sé que es posible usar GameObjects con Hybrid ECS, pero si vas a romperte la cabeza estudiando, mejor que estudies la solución completa y no una a medias. Otro grandísimo problema es que los tutoriales que descargué hace unos meses ya están desactualizados. Como lo oyen. Eso es lo que significa preview packages, por si no lo sabían: el API del mes pasado puedes ser totalmente diferente este mes.
Hay detallitos adicionales, como por ejemplo, que debes tener cuidado con el Input, que se realiza en el hilo principal, mientras que tu código, gracias al nuevo sistema de Jobs, corre en otros hilos. Como para cagarse en el día en que naciste, oigan. Pero es como la moda: la gente dice que es lo mejor que se ha inventado y que todo va más rápido, por tanto, toca joderse y aprender, aunque solo pienses hacer un clon del Flappy Birds (no se tomen en serio esto, en realidad ECS brilla en ciertas situaciones específicas). Al final, todos sabemos que echándole ganas, se saca adelante cualquier cosa.
Pero bueno, concreto no tengo nada todavía, ni tendré a corto plazo. Los cambios de paradigma suelen ser difíciles en sus comienzos y también hay que considerar si vale la pena. Como decía, ECS está pensado para casos muy especiales donde se forman cuellos de botella, y de esos no he identificado ninguno por el momento. Quizás en batallas de varios personajes con un despliegue enorme de sistemas de partículas, algo que no puedo ni imaginarme.
En fin, ya veremos si se logra o no algún beneficio.