miércoles, abril 30, 2014

Exportando correctamente a DAE desde Blender

Hoy he dedicado un buen tiempo a darle un repaso a los modelos de DNT y exportarlos, luego de una sesión de trabajo previo para ajustar las rutas a las texturas y sus nombres (DNT reparte los blend originales y las texturas en carpetas separadas, y la mayoría de las texturas se llaman igual: texture.png). Por supuesto, que solo he retocado una ínfima parte de los modelos disponibles, solo los estrictamente necesarios para hacer un prototipo básico en Torque3D y ver su apariencia. Es que en estos días le he estado dando vueltas a la idea de hacer un fork de DNT, o más bien un reboot, ya que se requiere una reescritura completa del juego, simplificar el diseño y quizás cambiara combate en tiempo real. Sin emabrgo esto es un plan a muy largo plazo, porque sin PC en casa me sería muy difícil avanzar como debe ser.
Por suerte, durante el tedioso proceso he logrado aprender un par de cosas del exportador de COLLADA de Blender. Dominar a fondo las opciones nos puede ahorrar muchísimo tiempo, por ejemplo, el exportador puede copiar las texturas a la carpeta de destino. Sin embargo, me sucedía que las texturas eran renombradas a texture.png o Untitled.png. Eso se debe a que el exportador toma el nombre de aquí:
Al crear una textura, este valor suele tomar el nombre del archivo. En mi caso, como solo modificaba el valor de abajo, el primero conservaba su valor anterior. Si lo borraba manualmente, se sustituía por Untitled. El procedimiento correcto para ajustar las rutas era eliminar por completo la imagen y crearla nuevamente.

El segundo detalle nos asegura que se copien correctamente todas las texturas usadas en el material. De no activar esta casilla, se copiará solamente la difusa, ignorando los mapas normales o cualquier otro. Quizás incluso no las incluya en la información del material en el archivo DAE, esto último no lo comprobé.
Con estos dos detalles ya podía exportar directamente al directorio de destino dentro del proyecto si quería hacerlo y evitarme el engorroso paso de copiar las texturas a mano.

Pueden ver el resultado en estas imágenes:
 



lunes, abril 28, 2014

viernes, abril 25, 2014

El misterio de los cuadros desaparecidos

Una de las cosas que me disgustó de Torque3D al principio fue su mal rendimiento. Una escena con unos pocos edificios sobre un terreno apenas alcanzaba los 70 cuadros por segundo. Bastaba a agregar un bosque medianamente denso para que cayera a 4 cuadros. Vale, habrá que considerar a al renderer de Torque como el peor de todos los motores de juegos.
Tampoco es que mi nueva AMD R7 250 fuera la gran cosa, hasta el momento el rendimiento no era para tirar cohetes, The Witcher 2 apenas alcanzaba los 30 cuadros. Debí comprar la 7770, me dije. Pero bueno, escoger es un lujo que los cubanos no pueden darse a menudo. Y teniendo en cuenta que el CPU que uso es un Celeron (dual core, pero Celeron al fin), no cabía esperar sobrepasar la barrera de los 70 cuadros en Torque, o de los 40 en cualquier juego.
Pero esta semana me decidí a dar el salto a Windows 7 y a Fedora 20. Ya les conté cómo resultó lo segundo, en cambio, al instalar el Catalyst 13.12 en Windows 7, me encontré que de pronto los proyectos de Torque superaban con facilidad los 90 cuadros por segundo. El Regnum y DotA 2 también habían ganado un notable aumento; ya la R7 250 se sentía un poco más como lo que yo esperaba y no como una mala tarjeta de bajo costo.
Al parecer, el driver incluido en el CD del fabricante no estaba bien optimizado, hablando claro, era una reverenda mierda, y me había estado escamoteando algunas decenas de cuadros en cada segundo.
En cuanto a Linux, y tengo que decir que Linux Mint 16 se ha instalado de maravilla y encima le he puesto el Catalyst 14.4 sin el más mínimo esfuerzo, no tengo muchos puntos de comparación, pues carezco de una herramienta como el Fraps, para contar los cuadros. Sin embargo, el Unigine Heaven se mantiene estable en los 29 cuadros por segundo a 1360x768 (sí, una resolución rara, manténganse alejados de los monitores de 18.5") con teselación normal. Nada mal, creo yo, para una tarjeta gráfica de $100, que ahora sí puedo recomendar si andan escasos de presupuesto.

jueves, abril 24, 2014

Fedora 20

Ya me he instalado Fedora 20. Estaba cansado de los problemas del Catalyst 13.9 beta, que nunca llegó a ser actualizado más allá. No me explico cuándo se darán cuenta los responsables de distribuciones que los controladores de video son un componente crítico que no debe ser dejado en manos de la buena voluntad de un miembro de la comunidad. Se supone que para eso están los repos "non-free".
Y también me estoy despidiendo de ella. Debí imaginarme que luego de pasar tanto trabajo durante la instalación, las cosas no iban a ir nada bien. Fue un proceso que duró toda la mañana del lunes, en vez de una hora como esperaba. El Live-DVD que sustituyó a la instalación anterior era lento, daba montones de errores, o ni siquiera arrancaba. Sin embargo, lo peor no fue eso. Al intentar la instalación del Catalyst, resultó que éste no funcionaba: algún fallo al detectar los headers del kernel, a pesar de que estaban ahí. Mala suerte, a probar con uno más viejo.  
Pero no llegaría a probar con más ninguno,  a pesar de que el instalador no llegó a instalar ni cambiar nada (o eso creo yo), luego de reiniciar me encuentro que no tengo entorno gráfico. Intenté preguntar en el foro, pero al parecer el moderador estaba cansado de mis consultas acerca de cómo instalar el AMD Catalyst y cerró el hilo por considerarlo repetido. Así que adiós Fedora, tal vez vuelva con la versión 21, y bienvenido Mint 16, si es que llego a instalarlo, porque últimamente la tasa de fallos en las distros es increíblemente alta. Antes era más confiable, creo yo. Bueno, será el precio del desarrollo.

martes, abril 22, 2014

Raising steam, de Sir Terry

Al parecer se me había olvidado lo difícil que es leer a Sir Terry Prattchet en su idioma original, así que decidí no esperar por la traducción oficial al español de Raising steam. No les recomiendo que lo hagan a menos que su inglés sea muy avanzado (que conste que el mío no lo es).
El motor de vapor ha llegado a Ank-Morpork, y con él, el ferrocarril, de la mano del joven inventor Dick Simnel. Nadie mejor que Moist von Lipwig para representar los intereses de la ciudad (o sea, Vetinari) en esta moderna empresa, financiada por Harry El Rey de Río de Oro, que quiere dar a sus negocios un giro hacia una vertiente menos... olorosa. El mundo aún no está listo para el ferrocarril, pero lo habitual es que el mundo no esté listo para nada, por lo que Moist, Simnel y Harry se lanzan a conectar el mundo con vías férreas. Por supuesto que habrá detractores, como siempre, esta vez serán los enanos más fundamentalistas quienes tratarán de impedir el avance del progreso.
Las novelas de Moist von Lipwig son unas de mis favoritas en la saga de Mundodisco, junto a las de la Guardia, les insisto otra vez en que lean El correo (o Cartas en el asunto, su otro título en español, o Going postal, si quieren poner a prueba su inglés) y a pesar de haberme perdido una buena parte de la esencia del texto, no me ha decepcionado. Como siempre, von Lipwig no deja dudas de que es el hombre de las tareas imposibles, y Sir Terry de que es uno de esos autores que se merecen un lugar junto a Shakespeare y Cervantes en esa especiel de Salón de la Fama de la literatura.

viernes, abril 11, 2014

Resumen de viernes

Esta semana he logrado sacudirme la vagancia y dejar el DOTA 2 paa dedicar un poco de tiempo al cacharreo. Luego de encontrarme con que Unity3d ya no es una opción tan adecuada, tenía que valorar seriament eotras opciones, de ser posible, libres. Así que me quedaba muy poco donde escoger, apenas tres opciones: Urho3d, Godot y Torque3D. No logré entenderme bien con los dos primeros, aunque tengo que decir que Godot se merece un vistazo a fondo, si tienen tiempo no dejen de valorarlo. Urho3d me dio ciertos problemas importando los modelos, y el editor deja mucho que desear. También dediqué toda una mañana a estudiar el estado de Collada y descubrir que realmente no está tan mal, el gran problema es que el exportador de Blender no maneja las animaciones correctamente. Epic fail para esta herramienta, que queda descartada para el modelado orgánico y animación.
Me quedaba estudiar a fondo Torque3D. En innumerables ocasiones me he quejado de la arquitectura cliente/servidor de este motor, de las escasas plataformas que soporta... en fin, que eran muchos los pretextos para esquivar el esfuerzo. No obstante, hay cosas que son ineludibles y en este caso tuve que dejarme de remilgos y poner manos a la obra. Luego de un par de días he logrado entender un par de cosas, aunque sigo sin estar conforme, pero como cualquier otro motor de juegos, Torque es algo que puedes aprender, que es susceptible de mejorar y que está a años luz de la competencia.



El truco está en hacer los tutoriales varias veces, hasta que logres grabar dónde queda cada cosa, y meter un cambio aquí y otro allá, para ver qué sucede. No tener PC en casa me ha atrasado terriblemente en el aprendizaje de Torque, pero todo irá saliendo poco a poco. Sin embargo, dejo de recomendar que aprendas Unity3D, y si además puedes pagarte una licencia no lo pienses dos veces. Hay buena demanda de desarrolladores experimentados con ese motor. Pero si lo que buscas es un motor libre, o quizás solo gratis, para empezar a desarrollar desde ya, definitivamente Torque debería ser tu primera opción.

miércoles, abril 09, 2014

unity3d.com bloqueado para Cuba

Al parecer, hace poco Unity Technologies decidió que debía acogerse también a las leyes del embargo estadounidense, así que cuando visitas el sitio desde Cuba lo que ves es esto:


La medida debe ser reciente, porque hasta hace un mes o dos se podía entrar perfectamente. De esto se desprende que los desarrolladores cubanos ni siquiera deberíamos soñar con obtener una licencia Pro de este motor.

lunes, abril 07, 2014

Nueva ley de inversión extranjera y estudios de desarrollo de videojuegos

Voy a hablar de un tema del cual no sé casi nada: Economía (atención, nunca hagan esto, podrían decir cualquier disparate). Hace poco se aprobó una nueva Ley de Inversión Extranjera, todo un acontecimiento en Cuba. La ley anterior databa de los 90, cuando la inversión se consideraba un mal necesario, una ponzoña capitalista que había que mantener limitada para que no enturbiase el luminoso futuro socialista. No vamos a hablar de ella, ni de la actual tampoco, baste decir que ahora los impuestos son menores, hay un período de gracia de 8 años sin impuestos sobre utilidades, no hay impuestos sobre la fuerza de trabajo; los cubanos radicados en Cuba no podemos invertir (y no está claro si a los radicados fuera se les permitirá) pero sí podemos crear cooperativas que pueden asociarse a inversionistas extranjeros.
La gran ventaja del trabajador cubano es que si tratas directamente con él, los salarios son muy bajos, 300 dólares es prácticamente una fortuna. Eso lo saben muy bien algunos avispados empresarios que contratan muchos trabajos aquí "por la izquierda", sin intervención del gobierno, que de estar involucrado le cobraría al infeliz empresario un dineral y le pagaría al trabajador cubano unos 20 o 30 dólares. Con la nueva ley, aún existe una agencia que se encargará de intermediar entre el trabajador cubano y el inversionista, pero creo que esta agencia no tendrá como objetivo principal lucrar a costa de sus gestiones y quedarse la mayor parte del salario.
Vayamos al tema que nos interesa, un distribuidor podría contratar el desarrollo de un juego en Cuba por una fracción del costo en Europa o USA, quizás incluso más barato que en China o India. La nueva ley abre las puertas a asociaciones que podrían ser muy provechosas. Sin embargo, hay algunos inconvenientes. Para empezar, el desarrollo de juegos en Cuba está en pañales, hay muy pocas personas que sepan realmente algo del tema con experiencia en productos reales. Estas personas casi nunca están en la misma ciudad (aquí solo he logrado reunir dos o tres), y en un país desconectado eso es un escollo insalvable: es muy difícil que se formen grupos de personas afines que emprendan proyectos. El asunto de la desconexión afecta en otro sentido: la falta de documentación. Cualquier joven del resto del mundo que desee iniciarse en el mundo del desarrollo de videojuegos acude a Internet, se descarga Unity y una buena tanda de videotutoriales. Las dudas que surgen por el camino se resuelven googleando o preguntando en los foros. El joven cubano tendría que esperar que algún amigo le haga el favor de bajarle el motor, con mucha calma, la documentación, con mucha calma, los foros... bueno, eso ya es imposible. En fin, que tenemos una cantera de potenciales talentos echándose a perder. Estas mentes brillantes necesitan al menos un año de entrenamiento antes de poder embarcarse en un proyecto de consideración. Mantener a este equipo en contacto con el inversionista extranjero sería muy caro, ilegal, o ambas cosas a la vez.
Por supuesto que todas estas desventajas no son obstáculos imposibles, de un modo u otro se podrían solventar, en especial con mucha buena voluntad por parte del inversionista. Pero mi opinión es que la situación actual no es la adecuada. Sobre todo recomendaría esperar por la demorada unificación monetaria (el por qué tenemos dos monedas y una de ellas vale lo mismo que el dólar americano a pesar de que la economía local es un desastre requiere toda una disertación) y tal vez un par de años para que llegue internet a las casas y otros cambios necesarios. En cambio, no estaría de más que si estás interesado en invertir, vayas creando tus contactos desde ahora y preparándolos para futuros proyectos.

viernes, abril 04, 2014

Ya está, tenemos Unreal Engine 4.1 con Linux

El más grande ha caído también, como ya se esperaba, Epic ha presentado un preview de la versión 4.1 del padre de todos los motores de juegos, con la novedad de soportar despliegue de aplicaciones para Linux y SteamOS. Y valga la redundancia. Así que no sean rácanos y paguen la suscripción, que ya no hay justificación para no usar Unreal Engine.
De paso, no sé si lo mencioné, pero ya está The Witcher 2 para Linux en Steam. Pero antes de que vayan corriendo a comprarlo, tengo entendido que son solo los datos, falta el ejecutable. O sea, que es como si no hubiera nada. Lo interesante del asunto es que CDPRED parece estarse tomando en serio lo del soporte Linux a pesar de no haberse pronunciado ni oficial ni privadamente acerca del asunto.

jueves, abril 03, 2014

¿El juego gratis mató al juego libre?

Debe ser que me estoy poniendo viejo (o más viejo, porque ya lo era hace unos años). O será que la vida acá te cae encima y te aplasta con las necesidades del día a día. Y por todas esas razones tal vez no sigo la farándula gamer libre como antes, desde que Linux Game Tome desapareció y Linux Juegos se fue apagando (aunque resucitó en algún momento, convertido en otra cosa), dejando solo a FreeGamedev como fuente de noticias. Y como no la sigo, tal vez esa sea la causa de cierto bad feeling que siento de que los juegos libres ya no son lo que eran. Muy pocos proyectos grandes y emblemáticos, como FreedroidRPG o Wesnoth, muy pocos proyectos en general, grandes o no.
Esta es la época de los juegos gratis, quién lo diría hace diez años. En el 2005 los desarrolladores preferían tener sarna en los testículos que regalar un juego. Si la esencia de los juegos libres era ser de costo cero, parece que con esta oleada de juegos gratis y casi gratis ya no es necesario. Al fin y al cabo, ver el código fuente no es algo tan importante para el 99% de los jugadores.
Lo mismo sucede con los motores. Lo gratis se ha impuesto sobre lo libre, y estos últimos tampoco es que opongan mucha resistencia, siguen ahí, anclados al pasado, creciendo solo por la inercia de una comunidad que ya está montada en el caballo y a la que solo le queda arrearlo, hasta que un día se percaten que es una pérdida de tiempo. Es hora de lanzar Ogre/Irrlicht/CS por la ventana y pasarse a Unity3D. O a Torque/Godot, si quieres mantenerte fiel a tus convicciones.
Por lo demás, no vale la pena llorar sobre la leche derramada, a menos que donde vivas la leche esté tan cara como acá, que una gota perdida te hace dar gritos de dolor. Nuevos tiempos, nuevas modas, si los aprovechamos o no es asunto de cada cual.