Redshirts

¡Como pasa el tiempo! Hace un poco más de un año, esta novela estaba nominada (y premiada) en los Hugo, y mi hija aún hablaba usando una jerigonza incomprensible. Ahora ya mi bebé puede hilvanar metáforas como esta: "Papi, tus orejas tienen bigotes". Es evidente que será escritora como su padre. Y Redshirts ha sido traducida al español.
He sido fan de Scalzi desde siempre. Bueno, desde que lo leí por primera vez. Me dolió quedarme sin libros suyos, pero sabía que en algún momento vendrían más. Solo tenía que sentarme a esperar... o lo que fuese, el tiempo pasa igual, esperemos o no. Y aquí estoy, disfrutando de esta novela tan genial, escrita con ese estilo humorístico que me atrae tanto, soy capaz de dejar cualquier clásico por un libro que divierta.
Y es que John Scalzi está en mi top 10 de escritores para reír, junto a Christopher Moore y el desaparecido Terry Pratchett, sin olvidar a Kevin Hearne y Jim Butcher, adiciones recientes a la lista con su fantasía urbana, que no deja de tener sus momentos hilarantes.
Y para más alegría, parece que en algún futuro próximo tendremos a La vieja guardia en la televisión.

112 aniversario del primer vuelo de los Wright

Un día como hoy de 1903, hace ya 112 años, los hermanos Wright realizaron su primer vuelo con motor a bordo del aparato bautizado como Flyer, en Kitty Hawk . El proceso de investigación previo involucró pruebas serias para solucionar problemas que afectaban a los planeadores de la época, incluyendo el uso de un túnel aerodinámico (técnica que se usa aún), y además originó el sistema de viraje por alabeo para controlar el aeroplano. Aprender a pilotar el artefacto no carece de valor, pues las réplicas posteriores han probado ser notoriamente difíciles de volar incluso para pilotos experimentados.
Es por ello que los Wright, inventores, dueños de una fábrica de bicicletas, son considerados los pioneros de la aviación.
Sin embargo, el mérito del primer vuelo se los disputa un brasileño de ascendencia francesa: el ingeniero Alberto Santos Dumont, debido a ciertos detalles técnicos. Para empezar, se dice que el Flyer requirió de una catapulta para despegar (algo que se omite mencionar casi siempre), pues su motor no era lo suficientemente potente para conseguirlo por sí mismo. El 14-bis de Santos Dumont despegó por su propio motor y también recorrió un circuito preestablecido de 60 metros, a 2-3 metros de altura, supervisado por especialistas, en octubre de 1906. Menos de un mes después el brasileño repetiría su hazaña, esta vez volando 220 metros, a 6 metros de altura.
Unos pocos años depués, el aeroplano había avanzado tanto que se utilizó como arma en la I Guerra Mundial, aunque el uso militar de artefactos voladores se remonta a mucho antes, con el uso de papalotes tripulados en la antigua China, y globos aerostáticos. De hecho, el primer combate aéreo registrado se realizó entre un globo francés y uno prusiano, si no recuerdo mal.

Cuba sigue retrocediendo en las TIC

Según un informe de la UIT, Cuba ha caído del puesto  119 al 129 en el sector de las TIC. Este descenso de 10 puestos cuando ya estás por debajo del lugar 100 parece insignificante, pero lo doloroso del asunto es que ya somos los últimos en Latinoamérica.
O sea, que del 2010 hasta acá, que es la fecha con al que se compara el valor actual, Cuba ha ido en cualquier dirección, excepto hacia adelante. Corrección, realmente ha ido en una sola dirección: hacia atrás. Por suerte, las cosas no están tan mal, porque aún podemos decir que... ¡vamos por delante de la India!
Además, con la ayuda de nuestros amigos chinos, que a diferencia de Google (que es un agente del imperialismo que nos quiere joder), solo quieren vaciarnos la billetera, estamos trabajando para revertir esa situación.  

The Witcher 3, mejor juego del año en los Game Awards

Como era de esperarse, nuestro brujo favorito se llevó lo mejor en los Game Awards 2015: mejor juego y desarrollador del año. Felicidades a CD Projekt RED, uno de mis estudios favoritos, por este merecido premio.

Al fin, gané otra partida de Freeciv

De vez en cuando suelo retomar Freeciv, para despejar un poco. En esta semana inicié un par de juegos, pero los perdí todos. Cometí el clásico error de no expandirme lo suficiente, aquí el espacio vital es prioritario, cuando lo descuido invariablemente pierdo en menos de una hora.

 En esta ocasión me tomé el trabajo de expandirme mucho más, auqnue tuve un arranque malo: buscando defensa ubiqué la capital en una montaña (Core Dump) y su población nunca aumentó. Así que me vi obligado a crecer con una sola ciudad, no dos.
Por supuesto, no llegué a expandirme tanto como la IA, que sí cubre el mapa con una velocidad tremenda. Me queda pendiente para la próxima superar las 30 ciudades.



Otra ventaja en esta partida fue que desde muy temprano logré aliarme con dos jugadores de la IA. El tercero quedaba separado físicamente por el mar, y enfrentado a una alianza de tres. Mis aliados solo me abandonaroin cuando empecé a construir la nave espacial, pero ya en ese momento tenía un nivel tecnológico suficiente para acosarlos con misiles nucleares.
La mayor parte jugué con Monarquía, esperando tener que combatir en cualquier momento, pero después me pasé a Democracia para aumentar mi producción científica. La Democracia suele ser muy útil si no estás en peligro, pero se vuelve un engorro en tiempo de guerra porque las ciudades apenas soportan dos o tres unidades militares, en ese caso es recomendable regresar a la vieja Monarquía hasta que pasen los malos tiempos.
Creo que con esta ya serían dos veces que logro ganarle la partida a la IA.

Gracias Bethesda, por seguir cagando Fallout

El viernes un amigo me avisó que tenía Fallout 4,tuve que moverme muy rápido y llevar mi disco duro en el bolsillo (donde dio vueltas por la ciudad conmigo hasta la madrugada) para copiarlo. Luego de algunos contratiempos relacionados con el espacio libre, logré comenzar a jugarlo el sábado a mediodía.
Al principio todo iba bien. Ponerle voz al personaje en los diálogos fue un acierto, siempre pensé que eso le daba un toque de personalidad al juego. Y entonces llegó la hora de subir de nivel y fue algo así como ¿qué cojones es esto? ¡Se han cargado el sistema de habilidades completo! Pues sí, como lo leen.
Todo el sistema que veníamos usando desde Fallout 1, y que fue ligeramente retocado en Fallout 3, ha sido convertido a otra cosa, lo cual es una mierda más grande que un tanque Abrams. Ahora tenemos SPECIAL y perks. O subes lo primero, para afectar un mayor número de cosas, o subes lo segundo, para afectar detalles puntuales. O sea, que Bethesda le ha quitado al Fallout un poco más de lo que lo hacía Fallout, que para empezar, ya no era mucho. A este paso, hasta el SPECIAL desaparecerá en el Fallout 5.
Pero como lo hace Bethesda, que son unos tíos muy guays que hacen buenos RPGs, no está tan mal. Pues sí está mal, volvemos al asunto de rediseñar un juego solo porque sí, y porque me sale de los testículos sacar algo diferente a toda costa. Es el afán de ser innovativo sí o sí.
Y no es que el juego esté mal, es que simplemente, le han quitado tanto que ya no es Fallout, por dondequiera que lo mires. Es más bien su versión homeopática.



Dragon Age: Inquisition

Ya sé que este juego es historia antigua, pero en los últimos tiempos se me está haciendo difícil conseguir los juegos grandes, porque no tengo un disco externo para copiarlos. Así que lo normal es que los deje pasar, con tal de no caer en casa de un amigo y robarle media hora o más de su tiempo. En este caso, también me preocupaba que mis 4Gb de RAM no fuesen suficientes.
Si bien Dragon Age 2 fue un poco decepcionante, uno siempre tiene la esperanza de que Bioware se ponga las pilas y levante. También depende mucho del punto de vista del jugador, así que no me atreveré a decir cuál de los dos es mejor. Mi experiencia con Inquisition fue más bien regular. La mecánica de juego ha sido retocada, pues ya sabemos que es caquita sacar un juego idéntico al anterior, aunque la mecánica sea de 5 estrellas. Por suerte, no ha sido retorcida lo suficiente como para hacerla odiosa y se aprecian las buenas ideas heredadas desde Origins. Lo malo es que en esta ocasión tendremos algunas habilidades adicionales que sobrepasan las 10, así que en algún momento tendremos que sacrificar algunas en favor de otras.
Hay detalles de diseño que no comparto, como ese sistema de progresión aparte del sistema tradicional de niveles, que son los Inquisition Perks. Pero bueno, es decisión de ellos y no mía. Se agradece que el sistema de fabricación de objetos no tenga ninguna innovación rara, aquí vamos al directo: recoges ingredientes por ahí (y necesitarás muchísimos) y cada uno proporciona bonificaciones de acuerdo al slot donde los pongas, lo cual permite diferentes variaciones de un mismo tipo de ítem.
La historia no es nada del otro mundo, parece que el grupo de guionistas estelares se los quedó el equipo de Mass Effect y, como el cepillo de dientes, no los prestan a nadie. No llega al punto de ser aburrida y tiene sus puntos épicos gracias al buen manejo de las cinemáticas intermedias, que son las justas y necesarias. Pero ya les digo, a veces juego por el simple hecho de hacer experiencia y niveles, y lo que está sucediendo a mi alrededor me importa un comino. Si de paso estoy salvando tu pueblo de una invasión de templarios rojos, pues bien tío, me alegro por ti.
Dragon Age: Inquisition estrena nuevo motor: Frostbite. Mi hardware no es excepcional (daría mi reino por una tarjeta de video decente, pero como no tengo reino, estoy jodido), así que poco puedo decir acerca de la calidad, pero hasta donde puedo ver, el modelado es bueno, con excelentes texturas. Bioware siempre ha podido presumir de buenos artistas 3D. No sé si será mi escasa RAM, pero los tiempos de carga de los escenarios dan para tomarse una siesta. Eso sí, hay que reconocer que son enormes y algunos de ellos te harán caminar durante horas, no por grandes, sino por complicados.
No suelo puntuar los juegos, como ya dije, es algo muy subjetivo. Prefiero decir que este juego me ha gustado, aunque sin llegar al nivel del Witcher 2 o 3. Eso sí, no deberías dejar de probarlo si aún no lo has hecho, porque buenos RPG salen muy pocos cada año y DA: Inquisition es un buen RPG.

Contrasta tu información antes de publicar

¡En especial si eres un canal de noticias! Hace varios días se publicó en la página web de TeleSur un artículo donde se presentaba una supuesta caravana del Estado Islámico escoltada por un helicóptero Apache. El artículo contenía un video (que no vi, por mis limitaciones de ancho de banda) y una foto. Se hicieron eco del mismo un montón de otros sitios de noticias, como pueden ver en esta imagen:
Hoy un amigo que es mucho más observador que yo, y además trabaja en tratamiento y mejora de imágenes, me señaló que dicha foto es más falsa que un billete de tres dólares. Solo les daré una pista: el aparato vuela a menos de veinte metros de altura, ¡y no hay una nube de polvo! En el video, los vehículos son otros, según comentarios en la web son del ejército iraquí, y el helicóptero es un Mi-26 o 35 ruso. O sea, que la imagen no coincide con el video, y es imposible que coincida porque es falsa.
Mi amigo lo señaló en los comentarios y dicho artículo fue eliminado de la web de TeleSur y Cubadebate (bravo por ellos), aunque no se retractaron y tampoco se tomaron la molestia de avisar al Noticiero de la TV cubana, que pasó esta noticia como verdadera.
Que un simple bloguero pifie de tal modo es perdonable, pero que un medio como TeleSur, que tiene en su nómina a un montón de personas bien pagadas, coja de las redes sociales un video y una imagen y los dé por válidos sin un mínimo de comprobación, es imperdonable. En especial para ellos, que a diario nos disparan un anuncio de que necesitamos información veraz y "un análisis profundo".

Urho3D 1.5

Hace unos días fue publicada la versión 1.5 de Urho3D. El salto de 4 a 5 se debe a que esta versión no es compatible con la anterior, aunque los cambios significativos son pocos: localización y muchas optimizaciones SSE. Aunque en estos días tengo abandonado este motor de juegos libre, quizás le dedique un tiempo dentro de un mes o dos, si se dan ciertos planes.
Por su parte, Godot sigue en espera de Vulkan para desarrollar su nuevo renderizador 3D.

Wing Commander

Durante el viaje a la Habana tuve la oportunidad de visitar a un colega, desarrollador de juegos y que logró colarse tambień en el curso. En su abundante colección de clásicos viejos y no tan viejos pude encontrar joyitas como esta:


Wing Commander es una película de 1999 (que vendría siendo como la Edad de Hierro del cine) dirigida por Chris Robert, creador de la saga de juegos del mismo nombre y responsable máximo de Star Citizen. La misma fue muy mal acogida por la crítica y tampoco consiguió mucho éxito de taquilla, aunque en mi opinión, he visto cosas peores, léase Jupiter Ascending. Tiene su inevitable colección de errores científicos, por ejemplo preocuparse por el sonido en medio del espacio como si se tratase de un submarino, y una buena dosis de tecno-cháchara sin sentido.
A pesar de todos estos problemas, la peli divierte a veces y es una pieza de coleccionista, lo único que lamento es que esta copia, como casi todas las otras que conseguí están dobladas al español. Ojalá no me vea obligado a borrarla por falta de espacio.

Curso de diseño de juegos

No me atreví a confirmarlo antes de irme, hace una semana, porque mi traslado a la capital fue, como todollo que tiene que ver con viajes en Cuba, tortuoso y pendiente de un hilo todo el tiempo. Pero al fin estoy de regreso, luego de cinco días muy ocupados, tomando un curso de Diseño de videojuegos, impartido por el profesor español Salvador Gómez.
O sea, que ya tengo al menos una mínima preparación formal como diseñador de videojuegos. Como les decía, fueron cinco días muy cargados, donde treinta o cuarenta personas disfrutamos de las excelentes conferencias del profesor Salvador. Y gratis. De hecho, tuve apoyo para el pasaje y la estancia, que si no recuerdo mal provino de un programa español para el desarrollo o algo así.
Aunque el tiempo no alcanzó para confraternizar mucho con el resto de los alumnos, siempre se conoce a alguien nuevo. Tuve la suerte además de que el grupo casi completo del proyecto estaba allí, y logramos, a pesar de las dificultades técnicas, presentarlo el último día. Las opiniones fueron favorables y creo que tenemos un par de candidatos a integrarse, que están interesados en ganar experiencia real en el desarrollo de juegos.
Fue un buen momento para comprobar de primera mano qué se está haciendo en Cuba, que es mucho, y qué falta por hacer, que es mucho más. Vimos el trabajo de los indies y de las instituciones como el ICAIC o la UCI, con buenas propuestas por ambos bandos, pero en especial hay que destacar el trabajo independiente, pensado con criterio comercial y realizado contra viento y marea, o mejor decir contra intolerancia, indiferencia y vacío legal.
Ahora me toca llevar ala práctica todo lo aprendido, a ver si he sido un buen o mal alumno.

Age of Decadence alcanza las 10 mil copias vendidas en una semana

Age of Decadence es un RPG isométrico por turnos, basado en un universo post-apocaliptico fantástico inspirado en el Imperio Romano. Ha sido desarrollado por Iron Tower Studios, y siempre tuve cierto interés en él porque utilizaron Torque 3D. El demo era bastante corto y sabía a poco, a demasiado poco tal vez.
Hoy leo en NMA que han logrado vender 10 mil copias en su primera semana, y un total de 25 mil desde la fecha de su lanzamiento. Al menos la página oficial de Torque no refleja nada al respecto, aunque quizás en los foros sí se haya hablado al respecto. Los planes son publicar contenido adicional, etc. Por mi parte, me siento alegre de que lo hayan conseguido y espero que las ventas continúen, nos viene bien tener más estudios independientes lanzando títulos diferentes.
Para los que quieran dar su aporte a la subsistencia de esta empresa, pueden comprar el juego en Steam, o en GOG.

Ultimas lecturas

Con tanto abandono me he pasado por alto mis últimas lecturas, que han sido tantas que no caben en el post (y además, he olvidado algunas, cosas de la edad). Pero mejor tarde que nunca.
Para empezar, descubrí que uno de mis autores españoles favoritos: Javier Negrete, había convertido Tramórea en una saga de 4 libros. Era un buen momento para releerme el primero y seguir con los demás, una tarea que me tuvo ocupado durante una semana o más. Solo tengo una palabra para esta serie: genial. Ya están tardando mucho que comprársela y leerla.
Ya que tenía que prepararme para una conferencia donde pienso hablar acerca de autores fuera del ámbito angloamericano, estoy en proceso de actualizarme con Laura Gallego. Buena fantasía, escrita por una mujer, para variar, aunque aún es muy temprano para sacar conclusiones, pues apenas voy terminando el primero de cuatro libros.
Nos regresamos a la Meca de la literatura fantástica, donde cada día descubro más y más autores nuevos. Gracias a las recomendaciones de un blog conocí a Brent Weeks y Jim Butcher. El primero tiene una trilogía magnífica, el segundo una serie de una decena de títulos de Harry Dresden, el mago. Es un estilo que se denomina "fantasía urbana", y al cual también pertenece la serie del Druida de Hierro, de Kevin Hearne. El humor de Butcher y Hearne me encanta.
Y por supuesto, la cultura implica leer otras cosas, así que me he dado una vuelta por autores clásicos  como John Grisham y Mario Puzzo. En fin, la cola de cosas por leer es enorme, y sigue creciendo, algo que me alegra.

Reporte de progreso

Para los pocos amigos que pasan por aquí de vez en cuando, he estado ausente en estos días por cuestiones de cambio de trabajo y nuevas tareas, bastante estresantes. Incluso el ritmo de avance se ha ralentizado por esta causa, pero algo he podido hacer, a pesar de los pesares.
Las buenas noticias: he logrado implementar algunas cosillas y el demo debería estar listo para enero. Ayer trabajé en pulir las corrutinas para la IA, tenía un pequeño error: no se deben ejecutar desde Update(). No es nada complicado, pero hay que comprender algunas cosas, por ejemplo, que las corrutinas parecen ser hilos, pero no lo son. Es como un Update(), pero que puede salir y regresar al mismo punto de donde salió. O algo así.
Existe un paquete de IA que es gratis, RAIN, pero de momento quiero aprender a hacer las cosas por mí mismo, quizás luego lo utilice.
Otra cosa que vale la pena mencionar: he iniciado la implementación de la salva y carga de la partida. no parece ser complicado, solo trabajoso. Las funciones de serialización de Unity3d son muy cómodas y si no ando muy errado, es muy fácil tirar algo a un archivo y después recuperarlo, sin siquiera preocuparse por su longitud, o cosas así. El problema es cargar las mismas cosas que salvaste, en el mismo orden. Y en un juego hay muchas cosas que cargar.
Por el momento, sigo sin acceso a los foros oficiales, aunque las leyes norteamericanas están cambiando, las empresas no se están poniendo al día. Creo que sí puedo entrar en la sección Learn, que antes me estaba vedada, pero no puedo iniciar sesión todavía. Me pregunto cuántos años nos tomará.

Al fin, alguien menciona Cyberpunk 2077

Llevamos ya tres años esperándolo, pero probablemente sabemos lo mismo que cuando vimos el trailer: nada. Y al fin, uno de los involucrados suelta la lengua. Parece que toca dejar atrás The Witcher 3 y concentrarse en crear hype, y vaya si lo están creando. Jose Teixeira, artista visual de CD Projekt RED ha dicho que Cyberpunk 2077 será más grande que The Witcher 3.
Teixeira no ha dado pistas sobre una posible fecha de lanzamiento, porque básicamente se ha limitado a expresar de varias formas "va a ser la rehostia, tío". Considerando que este año está casi liquidado, yo diría que a mediados del próximo quizás oigamos hablar un poco más de este RPG.

Empleos en CD Projekt RED

Me encuentro en la sección de empleos del sitio de CD Projekt Red una curiosa oferta: resulta que necesitan un programador senior de Unity3d. Dicho programador trabajarían en The Witcher Battle Arena, o al menos así está etiquetada la oferta. Y resulta raro porque el estudio ya tiene su propio motor, así que supongo que se deba a que el RED Engine haya descartado el soporte de dispositivos móviles en favor de conseguir más calidad y rendimiento en las consolas y PCs.
Y otra oferta curiosa es esta: necesitan un encargado de capturas de pantalla. Como lo oyen. Su tarea consiste solamente en eso: hacer las capturas de pantalla que luego veremos en revistas y web. Y por eso los juegos cuestan tan caros.

Sistema de acciones

En estos días la "ofensiva revolucionaria" ha sido contra el sistema de objetos, habilidades y acciones. Aunque los dos primeros no van muy bien, por lo menos he iniciado el trabajo que sirve de cimiento para el combate. Ya las acciones están ahí.
Una acción es un ataque o habilidad ejecutada sobre un objetivo. No hay muchos tipos de acciones, ni muchos tipos de objetivos, pero la ejecución de algunas puede ser complicada. Por ejemplo: un ataque con espada depende de ciertos cálculos para saber si es exitoso (ahí hay que acudir a los niveles de habilidad de cada involucrado), luego habrá que calcular el daño efectivo realizado para cada tipo de daño (que es restar la protección de la armadura del valor total de la fórmula ataque+nivel habilidad correspondiente).
Todo este proceso me parecía un poco complejo y mal diseñado, sin embargo, luego de preguntar, resulta que no voy muy desencaminado. Quizás debería implementar derivadas de la clase Acción y especializar, evitando una megaclase llena de código genérico, pero más nada.
Por tanto, creo que podría tener un sistema de combate semi-funcional en unas semanas, lo cual es mi objetivo. En definitiva, lo más divertido de jugar es poder repartir hostias.

Hasta Camerún se nos va delante

Ah, Camerún. Para los que olvidaron las clases de Geografía (o que de plano nunca lo supieron) Camerún es un país de Africa. Está por ahí en algún lugar entre el desierto del Sahara, que es todo el espacio al norte del continente, y la punta sur, que es Sudáfrica(sí que no se complicaron al bautizarla). Muy conocido en el año 90 por ganarle a Argentina en el mundial de fútbol.
Por pura coincidencia, aunque yo creo que lo hicieron a propósito, para fastidiarme, me entero hoy de que un grupo de 20 jóvenes cameruneses que se hacen llamar Kiro'o Games han lanzado su campaña de crowdfunding para financiar un RPG de acción: Aurion: Legacy of the Kori-Odan. Kiro'o Games se considera uno de los pocos, o quizás el único grupo de desarrollo de juegos en su país. Y lo que me fastidia es que hasta un país de Africa pueda meterse en el desarrollo de juegos, mientras que a los cubanos nos cuesta.
Aunque talento hay de sobra, las condiciones de conectividad nula dificultan el proceso de crear cualquier cosa más complicada que un juego de plataformas. No solo eso, sino que conseguir documentación y tutoriales se dificulta. En fin, que desarrollar sin internet. incluso sin una conexión con un mínimo de calidad, es bastante molesto. Resulta increíble, y mucha gente lo señala una y otra vez, que países de Africa, y hasta Haití, tengan niveles de conectividad superiores a Cuba, a pesar de que dos o tres insistan en señalar "sí, pero se mueren de hambre, de enfermedades, etc, y tú aquí tienes salud gratis". Sí señores, tenemos salud gratis, pero también queremos internet a precio asequible, como el resto del mundo (exceptuando a Corea del Norte, claro).

Despiertan los desarrolladores de juegos en Cuba

Un artículo llamó mi atención ayer en un sitio que podríamos llamar "alternativo". O sea, que no responde a las políticas editoriales del gobierno, lo cual no viene al caso ahora, poues lo importante es el texto en sí. La noticia, y no podemos calificarla de otra forma, es que un grupo privado se ha embarcado en la tarea de comercializar su juego dentro de Cuba. Isla Gráfica, que así se hacen llamar, presentó un demo de Yeli en la Feria Arte en la Rampa, dicho demo fue distribuido gratis, pero además vendieron merchandise relacionado con el juego, práctica habitual como deben saber los lectores no cubanos que pasan por acá, pero algo completamente novedoso en nuestro país.
Los planes no se quedan ahí, pues la idea, según nos cuenta Yoel Brito, el jefe de esta aventura, es lograr los micropagos vía SMS. Estamos hablando de acceder a mecanismos que ni siquiera las entidades estatales utilizan, por parte de una entidad privada, algo que en nuestro contexto era casi impensable.
Para entender esto, hace falta considerar que en Cuba, los emprendedores nunca fueron vistos con buenos ojos. El negocio privado fue casi erradicado a finales de los 60: todo pasó a manos del estado. Sobrevivieron muy pocas cosas y no entraré en detalles, mayormente porque no viví esa época y mis conocimientos son escasos.
Y es que un emprendedor es una persona que no depende del estado para mantenerse, así que puede darse el lujo de ir a su aire, un pecadillo molesto en un país donde el gobierno prefiere tener alguna palanca para "presionarte", de ser necesario. No puedes exigirle a alguien que tiene su propio negocio que acuda al desfile del 1ro de Mayo, o algo así. Incluso, los emprendedores casi siempre acaban teniendo más dinero que los trabajadores mejor pagados.
Lo más aproximado serían los artistas exitosos, pero éstos siempre están afiliados a alguna organización dirigida por alguien de (aparente) inquebrantable lealtad al régimen.
Hasta hace unos años, los negocios privados estuvieron separados de las empresas y organismos estatales por una barrera de leyes y decretos que establecían rígidamente los servicios que podían prestar y limitaban cuánto podía pagar una entidad del estado a un particular. Ahora, la barrera se está levantando poco a poco, pero cuesta mucho trabajo eliminar la barrera mental. En un país donde hay que esperar las decisiones de arriba, los jefes no suelen tomar riesgos. Así que estamos en una especie de podemos ser amiguitos, pero mejor no, por si acaso papá cambia de idea.
Los desarrolladores cubanos nunca hemos estado de espaldas a la creación de juegos, al contrario. Pero es un mercado que las empresas no han querido explotar, ni siquiera con fines propagandísticos. Exceptuando el penoso Gesta Final, un juego del que no he oído buenas opiniones. Se ha fomentado el juego educativo, pero no su distribución más allá de las escuelas. Y el hecho de que tales productos no estén regados en todas las PCs domésticas, me hace pensar que despiertan muy poco interés en los niños.
Por tanto, durante años, el país ha estado desperdiciando talento que podría haber ingresado millones de dólares al país. Quizás lo que asusta sea precisamente eso: que dichas personas tengan la capacidad de ganar cientos de miles de dólares. Habrá que ver lo que nos depara el futuro. Mientras tanto, mis felcitaciones a isla Gráfica, por abrirnos camino.

Manejando los NPC

Dede hace un tiempo he estado buscando una forma de manejar los NPCs en las escenas de una forma fácil para el artista. A pesar de todas las funcionalidades que ofrece Unity3d, no lo he conseguido, he tenido que volver al antiguo método de usar XML para crear una definición de la entidad. El problema parece ser que Unity3d no permite serializar tipos de datos polimórficos, o sea, clases. Es posible tener una clase con un miembro público y de algún tipo primitivo, como string, y asignarle un valor en el editor que podremos consultar luego durante la prueba o la ejecución del build.
Así que me decanté por tomar un poco de ambas soluciones: una variable con un archivo XML que contiene los atributos que definen al NPC: sus estadísticas, habilidades e inventario inicial, y que me deja espacio para agregar muchísimas cosas más. La clase base de las entidades se encarga de inicializar todos los valores derivados luego de cargar la definición desde el archivo.
Han sido unos días un poco cargados de trabajo en una PC que no es apta para el desarrollo de juegos, por lo que me tomaré un breve descanso mientras el proyecto va a la Habana y regresa con las escenas retocadas. Las cosas se están poniendo complicadas a medida que avanzo, cuando las funcionalidades dejan de ser básicas (mover la cámara, desplazar el personaje) y se van metiendo en el terreno de lo complejo. Entonces es que empieza a sonar la alerta de locura.

Y por esto los juegos cuestan tanto

Vale la pena leer este post en Polygon, el cual detalla, según el punto de vista de la diseñadora de juegos Kim Swift, el costo de producir el modelo de un personaje: un guerrero cuerpo a cuerpo. El valor, en mi opinión, es extremadamente exagerado, aún para los grandes estudios.
Usando como base los datos de salario promedio en la industria, el desglose se inicia con el diseño conceptual, el cual puede tomar quince días, y el artista cobra unos $3000 USD. Otro artista trabajaría en la animación del arma, con un salrio y tiempo similares. Pero no sería el único, pues el modelo pasaría por las manos del modelador de personajes, el animador técnico, el diseñador de combates, otro animador, un programador, un ingeniero de audio y el doblador. El proceso total no sería menos de tres meses.
Un estimado conservador sitúa el costo en $46500, sumando los gastos de renta de oficina, software, etc, se monta en los $80 mil.
No es por presumir, pero todo ese proceso podría hacerse por apenas $300 USD, en un mes. Probablemente, se podría hacer un juego completo con 80 mil. Los personajes que estamos usando en el proyecto se modelaron y animaron en aproximadamente veinte días. El arte conceptual tomó una semana porque el dibujante estaba ocupado en otras cosas y no tenía interés, pero con toda seguridad podría haber coloreado el boceto en dos días. El proceso técnico de incorporar las animaciones al juego quizás sea un poco más complicado y ahora mismo no tenemos a nadie especializado en eso, así que lo he estado haciendo yo, pero no debería tomar más de una semana.
En fin, que podríamos reducir esos tres meses a uno y medio, con un costo que no superaría los $600 USD. Una pena que no existan las condiciones para crear una compañía desarrolladora de juegos en Cuba en este momento.

Unity3d ofrece soporte experimental para Linux

Ayer Unity3d anunció oficialmente la disponibilidad de un build experimental nativo para Linux, basado en la versión actual 5.1. O sea, que ahora podemos usar el editor en nuestro Linux (Ubuntu 12.04), anteriormente el soporte para dicha plataforma se reducía a generar un build del proyecto que corre en Linux. De todos los motores comerciales, solo Unigine ofrece editor nativo para todas las plataformas, y no estoy muy seguro hasta dónde llegó Crytek en ese apartado. Unreal puede ser compilado, pero es una especie de arréglatelas como puedas y si te escachas no preguntes.
En general, Linux es la asignatura pendiente de los motores comerciales, lo que nos obliga a los desarrolladores que preferimos el pingüino a utilizar Windows más tiempo de lo que es saludable. El lado malo de este anuncio es "experimental", lo que quiere decir que están siguiendo la acogida de este build para ver si es factible mantener su desarrollo. Caso contrario, cortarán el agua y la luz. A juzgar por la cantidad de bugs reportados en el foro, les espera muchísimo trabajo, pero eso también indica que algún interés ha despertado esta nueva versión.

Ha muerto Daniel Rabinovich

Daniel Rabinovich, miembro de Les Luthiers el famoso grupo humorístico argentino, ha fallecido a los 72 años, luego de varios meses de enfermedad. Aunque era notario de profesión, también fue percusionista y bolerista aficionado.
Una pérdida sensible para el mundo del humor, sin duda alguna le extrañaremos.

Yo y la Xbox 360

Ayer jugué con una Xbox por primera vez en mi vida. Sí, aunque parezca increíble, en mis 40 años he tenido muy poco contacto con las consolas. Creo haber tocado algún Nintendo 64, las viejísimas Atari que habían en los parques de diversiones cuando era niño, y poco más. Nunca antes toqué una consola "moderna", o sea, Playstation 1 o posterior. No faltará quien diga por ahí: pues anda, que yo tampoco lo he hecho. Pero es muy diferente cuando no lo haces porque es tu elección, a cuando pasa porque no puedes, que es mi situación (y el de millones de cubanos).
El caso es que tenía curiosidad por probar el port de algún juego que no fuese el clásico primera/tercera persona diseñado para ser consolizado. En concreto, mi interés es probar el Wasteland 2, pero no parece haber llegado a Santiago de Cuba, así que me tuve que conformar con Diablo 3. La experiencia fue mejor de lo que esperaba, controlar el juego con el mando de Xbox no me fue tan complicado, y desde el primer momento estaba repartiendo golpes como un campeón, e incluso sobreviví situaciones complicadas cuando mi colega dueño del aparato me daba por liquidado.
¿Es mejor que el teclado y el ratón? Pues no sabría decirlo. Hay cierta comodidad en el uso del mando, que debería ir creciendo con más tiempo de uso, pero supongo que cada método tiene sus ventajas y sus partidarios. Quizás la desventaja mayor es que en juegos con muchas acciones, como un RPG estilo Dragon Age, se puede volver un lío asociar cada acción con un botón que puede estar justo bajo un dedo de tu mano derecha (los A/B/etc) o en el disparador izquierdo, una teoría que pienso probar en cuanto pueda molestar otra vez a mi amigo, o pagarme una hora de juego en alguna de esas salas de juego que ahora son ilegales acá. Ya les contaré.

Urho3d incorpora internacionalización

O localización, como prefieran llamarle. O sea, que pueden incluir varios idiomas en su proyecto. Vi esta nueva funcionalidad en un pull que hice hace una semana, pues, aunque ya no lo utilizo a diario, sigo este motor de cerca para ver cómo evoluciona.
Por supuesto, aún se echan de menos funcionalidades importantes como un editor de terrenos y uno de interfaz, lo cual lastra de mala manera el desarrollo de proyectos de cierta envergadura. Es una pena que los dos mejores motores libres sigan arrastrando este problema, aunque Godot se está reservando en el apartado 3D para cuando Vulkan llegue a  instalarse en nuestras PCs. O sea, que de un día para otro podríamos ver una maratón de programación en Godot, donde nos lloverían las largamente esperadas mejoras del renderizador 3d (nos prometen Physically Based Rendering y Global Illumination). Pero no será pronto.
Por su parte, Urho3D sigue trabajando sobre las APIs ya establecidas, habrá que ver cuando llegue Vulkan si el equipo de desarrollo decide migrar o mantenerse en terreno viejo, pero conocido.

Bethesda es feliz

Ya Bethesda es feliz: tiene todos los títulos de Fallout en la mano. Se ha puesto a la venta la Antología Fallout, que incluye desde el 1 hasta el New Vegas Ultimate Edition. No recuerdo si he detallado a fondo el culebrón aquí, pero por si acaso, les doy el resumen: en el capítulo anterior...
Fallout saga pertenecía inicialmente a Interplay. Está inspirada mayormente por Wasteland, de hecho, se quería hacer un Wasteland 2, pero en ese momento, Interplay no tenía los derechos, así que hicieron una especie de reboot y le cambiaron el nombre. Interplay pasó a manos de Hervé Caen, que la llevó a la bancarrota, incluso canceló Van Buren (nombre código del Fallout 3 de verdad, no la mierda que vino después) cuando ya estaba bien avanzado.
Caen no encontró mejor solución que vender los derechos de Fallout a Bethesda, lo que equivale a vender la gallina de los huevos de oro solo porque no puedes inclinarte a recoger los huevos. El acuerdo parecía firmado a punta de pistola: Bethesda conseguía la franquicia, Interplay conservaba el derecho de hacer un MMORPG basado en el universo Fallout y el derecho de vender Fallout 1/2/Tactics, siempre y cuando Bethesda aprobase la promoción, el embalaje, etc. De incumplir estas condiciones, Interplay perdería lo poco que le quedaba de la franquicia. Por supuesto, Interplay nunca consiguió terminar el juego online a tiempo, y también hubo una disputa acerca de la venta de un paquete con Fallout 1 y 2, si no recuerdo mal. Caen se había metido él solito en la trampa, solo era cuestión de tiempo que se cerrase.
Y aquí empieza el capíulo de hoy. Ahora Bethesdaes la dueña absoluta de la franquicia: desde el 1 hasta lo que venga después. Deben estar que se revuelcan de gusto, no todos los días aparece un imbécil que firma un trato tan desventajoso.

Linux Mint aún indeciso entre Mir y Wayland

Hace más de un año pregunté en los foros acerca de este tema y la respuesta fue que no había nada decidido. Mint, recién salida la 17, no se decantaba por ninguno delos dos contendientes. Quizás era un poco temprano aún, quizás es un poco temprano ahora, pero a estas alturas, no parece haber una decisión al respecto.
La opinión de Clement es que Mint "no apuesta por tecnologías ganadoras". O sea, que piensan sentarse a ver quién gana en esta partida, para entonces unirse al bando ganador. De momento no parece que Ubuntu tenga planes de descartar Mir, y Wayland sigue mejorando por su lado, en una especie de carrera armamentística.
A decir verdad, el uso real de ambos está al mínimo (que yo sepa, Fedora 22 usa Wayland, no sé si Ubuntu ya está usando Mir) y todavía hay tiempo, pero me hace sentir mejor saber que mi distro favorita ya tiene planificado uno de los cambios más importantes que se darán en el campo de los escritorios. En concreto, me reconfortaría muchísimo estar seguro de que usarán Wayland, que es la opción que prefiero.
O sea, me queda la opción de mudarme a Fedora 23, cuando salga, que debería traer Wyland por defecto si el sistema lo permite. O seguir esperando por que uno de los dos se decante como claro ganador y Linux Mint acabe de migrar. En ambos casos, tengo que armarme de paciencia.

Sin monitor

Ayer logré vender mi "querido" monitor HP de 18.5 pulgadas. Pagué por el un precio bastante alto, y cumplió con su función bastante bien, salvo en el aspecto de la resolución vertical. Ya 768 es insuficiente y se nota en todo, en especial, cuando juegas DOTA. Me costó muchísimo venderlo, y tuve que darlo a un precio muy inferior al de compra.
Lo jodido del caso es que me está costando encontrar un reemplazo. Por si no lo sabían, acá no hay mercados de piezas: compras con la gente en la calle, que depende de lo que otros traigan de Venezuela, USA, etc. En la Habana los precios son bajos, pero acá en Santiago las cosas cambian. Propuestas no me han faltado, pero han sido monitores de 19 pulgadas que adolecen del mismo defecto: su resolución recomendada es 1366x768.
Hay mejores ofertas, pero mi presupuesto no me permite comprar un display de 23 pulgadas (ojalá pudiera), hay que pensar en otras cosas que necesito, como memoria RAM, una tarjeta de video alternativa, un reemplazo para la fuente rota... De momento, tengo que armarme de paciencia, porque el que compra apurado, siempre paga de más.

De regreso de las vacaciones

He tenido que tomarme unas vacaciones un poco largas para mi gusto, durante las cuales la mayor parte del tiempo lo perdí dormitando en el sofá de la sala y leyendo. Acá está haciendo un calor infernal, y no puedo usar mi habitación durante la mayor parte del día, creo que adoptaré la costumbre de tomar vacaciones solo en invierno. Eso, si el trabajo me lo permite.
Pero al menos logré ponerme al día con el Witcher 3, una vez despejado ese escollo en mi agenda puedo dedicarme a otras cosas, como por ejemplo, integrar los últimos cambios al proyecto que me enviaron de la Habana. Esto de desarrollar sin internet resulta ser muy incómodo, es inevitable que algunas cosas tenga que hacerlas dos veces. En esta ocasión se ha optimizado un poco la escena y por mi parte he implementado un sistema muy guay para personalizar la apariencia del personaje. Es solo una prueba de concepto, que necesitará extenderse más cuando al fin reciba los personajes con la división adecuada.
Para un juego isométrico la apariencia importa muy poco, pues los detalles no se aprecian. Así que solo vale la pena ofrecer diferentes cabellos y torsos, las caras son casi invisibles, una vez equipada la armadura, incluso el torso deja de ser relevante. En general esto es más eye candy que otra cosa, sin embargo no está de más tenerlo aprendido para futuros proyectos que utilicen una vista en tercera persona.
No es nada complicado, simplemente utilizo varias listas de partes disponibles, que voy intercambiando a voluntad del jugador. El personaje final se instancia (eso es un término Unity3d que se me ha pegado) a partir de la lista formada por las partes seleccionadas. Ni siquiera es difícil de implementar por un programador novato, pero el resultado es llamativo y ojalá pueda mostrarles una imagen pronto.

Internet is coming

Se siguen filtrando documentos "secretos", se bloquean los posts donde se publican, el autor se queja de que "le secuestran su PC", en fin, toda una trama digna del difunto Tom Clancy. El último documento puesto a disposición del público es una presentación en PowerPoint detallando a fondo la forma en que se dará servicio de Internet en las casas de los cubanos. Quizás sea algo muy trivial en otros países, pero acá equivale a darle la llave de tu biblioteca (revistas porno incluidas) a un niño al cual siempre le has leído los cuentos que tú quieres a la hora de dormir.
El servicio no está claro cuándo empieza, pero empleados de ETECSA, la compañía estatal que abarca desde teléfonos hasta Internet afirman que será el año próximo. Como era de esperar, aún estoy lejos de clasificar entre los afortunados, por cuestiones de precio y de organización. Tal vez en una forma de controlar el ancho de banda disponible, el ADSL a la cubana vendrá en paquetes por horas: desde 20, hasta 220, en variantes de acceso nacional (solo dominios .cu) e internacional. No me queda claro las otras variantes que serían por horarios: nocturno o fines de semana.
Para tener una idea de los precios, solamente podría permitirme 20 horas de navegación nacional ($3 dólares), 50 ya sería una carga considerable ($5 dólares). Y 20 horas de internet ($10 dólares), casi nada, exigirían que aprendiese a vivir sin comer durante medio mes. Sumen a eso la cuota de instalación, el modem ADSL, que lo aporta ETECSA y lo trae configurado del almacén, así que nada de encargar uno gratis a un amigo, y la tarifa por la velocidad (sí, pagas la velocidad aparte).
En esta primera ronda se priorizan personas que están usando conexiones dial up legales: médicos, profesores universitarios, etc. También están incluidos dueños de negocios como restaurantes, casas de alquiler o similares.
Las velocidades van desde 128 kilobits hasta 8 megabits, y como decía, se paga aparte del paquete de tiempo. O sea, puedes pagarte un paquete de 20 horas a 2 megabits, pero sabrá dios a cuánto sale eso. Ni hablar de 220 horas a 8 megabits, aunque no dudo que haya personas con presupuesto para pagarlo. Es necesario tener una línea de teléfono activa para solicitar el servicio, algo que yo no tengo.
Supongo que tendré que esperar un poco antes de que me llegue la oportunidad de tener Internet en casa. Ojalá para esa fecha me hayan aumentado el salario.

Lo que me gusta del E3 hasta ahora

Ya ha llegado el E3 con sus anuncios y trailers a paletadas, para hacernos la boca agua a los jugadores. De este año hay unos pocos títulos que me interesan, aunque siempre hay que tomarse estas cosas con un poco de margen para la decepción. Ya sabemos que los estudios se guían por criterios de marketing y no  por el gusto de las minorías.
Para empezar, ya hay un brevísimo y simple trailer de Mass Effect: Andromeda. No esperen detalles, Bioware aún no tiene nada que ofrecer aunque apenas queda un año para su lanzamiento. Galaxia nueva, motor nuevo (Frostbite).
Bethesda, como ya sabíamos, trae su Fallout 4. Gráficos un poco plásticos, aunque un poco mejores que antes, funcionalidades nuevas (podemos fabricar power armors!), pero lo ensencial, que es la trama, aún está por verse. Por mi parte, les concedo el beneficio de la duda: dudo que hagan un Fallout que valga la pena. También nos traen Dishonored 2, un juego que por desgracia no terminé, pero que era muy buen RPG, y otro Doom. Sin palabras acerca de esto último, mi alma de jugador de la vieja escuela (léase, vejete de 40 años que cargó juegos desde un cassette en MSX) se ha conmovido.
Ubisoft presenta un nuevo South Park: The Fractured But Whole. Esta vez no lo hace Obsidian, que quizás está disfrutando sus 15 minutos de fama (y dinero) debido a Pillars of Eternity. A cambio nos castiga con otro Assassins Creed, se nota que esta gente no sabe cuándo parar y algunos jugadores tampoco saben cuándo dejar de jugar una mierda. Al paso que vamos, tendremos uno ambientado en China en cualquier momento. O en el Polo Norte, vaya usted a saber.
En fin, que de momento algunas cosas interesantes para mí, quizás muchas para otros. No tendremos que preocuparnos por la falta de buenos juegos en lo que queda de este año y durante el próximo. Ya nos veremos en el E3 del 2016 (eso es un decir).

Tendremos banda "ancha"

En una novela "en progreso" uno de mis personajes, cubano, tiene 10mbits en casa, aproximadamente en los años 30 de este siglo. Su colega, en España, tiene ya un gigabit. Hoy llego a la oficina y me encuentro que no andaba tan desencaminado en mis predicciones: se ha filtrado un documento que describe la estrategia gubernamental para alcanzar el servicio de banda ancha, y es para echarse a llorar.
La velocidad mínima con la que empezaremos es 256kbps, con el objetivo de alcanzar 2 mbps en el 2025, y algo que llaman Banda Ancha Avanzada, en el 2030, que no es más que 10 mbps. O sea, en el 2030 tendremos lo que ya nadie tiene. Bueno, no sé en España, que siempre se quejan de tener la conexión más lenta de Europa. Habrá que esperar a ver si ETECSA publica algún desmentido, que no es lo usual, aquí los rumnores rara vez se desmienten aunque sean falsos.
Para los que nunca han tenido que navegar con velocidades medidas en kilobits en la Internet actual, trataré de explicarles la experiencia. Con 256kbps Google Plus no funciona, basta que haya un gif animado para que una buena parte de la interfaz no cargue, los comentarios no funcionen y ni siquiera puedas dar +1. Si no hay gif animados, es posible que puedas ver Plus correctamente, pero las notificaciones aún podrían demorar entre 10-15 segundos en mostrarse. Anteriormente era casi imposible subir una foto, ahora parece ser más sencillo luego que el servicio se separó.
VoIP funciona, pero ni pienses en transmitir video. Es recomendable usar algo que comprima al máximo el audio. Es imposible ver videos en youtube en tiempo real, ni siquiera al mínimo de resolución. Armate de paciencia y espera que descargue completo, o usa alguna herramienta para descargar el video de alta resolución para verlo offline. Eso, por supuesto, podría tomar media hora o más, si el video dura más de 5 minutos.
Facebook funciona muy bien, parece que necesita bajar muchas menos cosas que Google Plus. El chat podría demorar un poco en cargar, pero suponiendo que esa conexión sea solo para una PC, no deberían haber problemas.
No hablemos de descargas grandes, cualquier cosa de más de un gigabyte tomará un par de noches, a menos que descargues durante el día también. Más de diez, ya cae en el plano de lo inalcanzable, a menos que tengas mucha paciencia para esperar diez noches... o más.
Se plantea que para el 2020, si no recuerdo mal, esos 256kbps no deberían costar más del 5% del salario medio de un trabajador. O sea, que aún está por verse si yo, que soy un trabajador honesto (léase, que no tengo acceso a desfalcar cientos de dólares mensuales en mi centro de trabajo) podré pagar esos 256 kbps en el momento en que se pongan a la venta.
Pueden leer el documento aquí: http://www.chiringadecuba.com/2015/06/08/chirileak-hoja-de-ruta-de-la-banda-ancha-en-cuba-pdf/

The Bard's Tale IV presenta vide in-engine

InXile presume de nuevo motor y gráficos en el nuevo video in-engine de The Bard's Tale IV. En una jugada un poco sorpresiva, esta vez utilizarán Unreal, en vez de Unity3D, como en sus otros dos títulos. ¿Decisión del equipo? ¿Más flujo de caja para pagar licencias?


Los cambios no acaban ahí. Los Bard's Tales anteriores fueron juegos isométricos (bueno, al menos el del 2004), sin embargo, el IV es en primera persona, aunque la vista cambia al entrar en modo combate, que es por turnos.
Por supuesto, apenas con 2 días de campaña ya han conseguido más de la mitad del dinero que solicitan ($1.2 millones) y el video de hoy está conmoviendo hasta el alma de los más tacaños. Aún les quedan 36 días de campaña.

Fallout 4 confirmado

Un poco antes de lo esperado, ha salido el primer trailer de Falout 4. Cosa rara, es creado a partir de metraje in-game, osea, generado con el motor, que supongo que sea el Creation Engine de Bethesda.


La premier oficial será el 14 de junio, en la conferencia de Bethesda en el E3.

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.

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.

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.

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.

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. 

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.

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.

El nuevo villano de Star Wars

Es solo impresión mía o alguien más creeo que  Kylo Ren parece un jodido emo?A ver miren esto:


Tal parece que nos está diciendo "soy un puto emo, estoy harto de la vida y quiero suicidarme". En cambio, Darth Maul es otra cosa:


Este es un malo con carácter. No está diciendo: "voy a violar a tu hermana, matar a tu gato y voy a publicar tus fotos guarras en Facebook para que mis amigos sith se rían de ti."
Definitivamente, ya no los hacen como antes.

Tutorial: cámara isométrica con Unity3d

Hace unos días publiqué en mi otro blog (en inglés) un tutorial muy sencillo para implementar una cámara isométrica, usando Unity3D. Mi implementación es el resultado de unir todo lo que estaba disperso por ahí en un solo script que ofrece todas las funciones que me interesaban. Como extra, incluye evitar que la cámara se salga de los límites del terreno.
Por supuesto, es mejorable. Me gustaría cambiar el actual sistema de desplazamiento, que depende de que la cámara esté orientada en una forma concreta para que se mueva en la dirección correcta. Sin embargo, tengo otras cosas más importantes que hacer antes de meterme en nimiedades, así que espero que les sirva así como está.

Casi un best-seller

Una de las cosas que me aclaró un amigo acerca de las ventas es que nunca se sabe con exactitud cuántos ejemplares se han vendido. Quizás haya alguna forma de saberlo, o alguna estadística perdida que lo diga, pero en concreto, no es de interés para nadie, excepto el autor, y ese no le importa a la editorial o el Instituto del Libro. Acá la publicación trabaja en base a un plan de cupos editoriales, hay X cantidad de libros que puedes publicar, y la editorial se ajusta a eso, escoge entre las ofertas, imprime y le vende al Insituto del Libro, que a su vez lo distribuye entre las librerías. O lo deja en los almacenes como alimento para polillas, que tu libro no estén en las librerías no significa que se haya vendido el 100% de las copias impresas.
Luego de la Feria del Libro acá en la ciudad, he alcanzado a ver dos o tres ejemplares en las librerías, aún cerradas (les toma 15 días inventariar lo que sobró de la Feria y empezar a vender otra vez). No sé cuántos llegaron, pero parece que durante el evento se vendieron más de la mitad en solo un día. Teniendo en cuenta que vivo en una ciudad bastante pobre, con muy pocas personas que lean, y de esas, tal vez una décima parte lea fantasía, se puede decir que me ha ido bastante bien.
Hay algunos lugares del país a donde no ha llegado, y por supuesto, ni pensar en encontrarlo fuera de las capitales de provincia. Por lo menos no he tenido la decepción de verlo amontonado en los estantes, ventajas de una tirada pequeña: solo 3000 ejemplares.

Reescribiendo la historia

No, no se trata de reescribir la Historia (ojalá pudiera, para corregir algunos errores, como por ejemplo, haber nacido pobre y en Cuba), sino de reescribir algunos aspectos de la trama del juego. Era algo que tenía descuidado por estar imbuido en el proceso de probar diferentes motores e implementar un prototipo sencillo. Por suerte, con un equipo de trabajo, puedo delegar algunas tareas, aunque las de programación siguen siendo mías, por el momento.
El caso es que trabajar en equipo demanda que algunas cosas estén bien organizadas, o por lo menos descritas de alguna forma. Es hora de plantearse con seriedad algunos aspectos de la trama, definir bien claro detalles del mundo de Elymuria, de sus habitantes y su sociedad. Entre otras cosas, estoy eliminando bifurcaciones, como por ejemplo ubicaciones que eran solo Alineación Malvada. Es posible jugar como un hijo de puta, pero incluso los personajes buenos tendrán que enfrentar decisiones que caen dentro de lo gris, o relacionarse con personajes con una moralidad opuesta a la tuya, o algún simpático viejecito que creías tu amigo tratará de matarte para robarte los zapatos. O sea, fuera el blanco y negro, al igual que en los libros, aunque no desaparece del todo el concepto de alineación, más bien se transforma en Reputación y afectará, por supuesto, la reacción de los NPCs hacia tu personaje. O al menos, esa es la idea, hay que ver cuánto me toma implementar ese sistema.

Reporte de fin de semana

Muy poco que decir, como ya dije ayer. Hasta el momento hay unos pocos mecanismos básicos del proyecto completados o al menos, entendidos. El procedimiento de equipar armas ya está: era cuestión de comprender el instanciado de prefabs y el método basado en Resource.Load(). El sistema de cámara funciona 100%, incluso cosas que no me esperaba. Ya tenemos una vista isométrica que me complace (sí, les debo el brevetutorial, que no videotutorial), con desplazamiento, zoom, rotación, y que además no se sale de los límites de la escena.
Hay un montón de ideas dando tumbos en mi cabeza, acerca de cómo manejar las listas de entidades, items, etc., mayormente producto de ver tutoriales sobre cómo hacer RPGs con Unity. No sé en qué momento podré organizar todo eso y convertirlo en código. Preferiblemente, código que funcione.
Ah, y he iniciado una campaña de donaciones. Pueden ver el botón de Paypal ahí arriba, a la derecha. Ya lo estamos necesitando, porque se me hace difícil pagar todas las llamadas de larga distancia, ahorrar para las piezas que necesito, y además porque los muchachos se lo merecen. Habrán recompensas, como en Kickstarter.

Aún estoy vivo

Un breve post para decir que sigo vivo. He tenido un días muy ocupados, trabajando en el proyecto y atendiendo montones de problemas en la oficina, mayormente derivados de máquinas que llevan años sin mantenimiento y trabajando en condiciones horribles (por ejemplo, medio día sin aire acondicionado en pleno verano del Caribe).
El asunto que me ha estado complicando la existencia en estos últimos días es conseguir ensamblar un personaje a partir de geometrías separadas. Alejandro, el modelador, se percató desde muy temprano del problema del clipping, que yo me había pasado por alto porque nunca tuve modelos adecuados para hacer pruebas. De ahí saltamos a la personalización de la apariencia del personaje (ya que nos vamos a joder, pues a joderse por todo lo alto) y mirando una presentación de CD Projekt Red, concluí que mejor nos jodíamos mucho más: personajes de relleno únicos creados por combinación de partes.
La cuestión es que un procedimiento que supuse que sería muy demandado no está documentado para Unity3d en ningún lugar. He pasado una semana haciendo preguntas en foros y probando cosas, para lograr solamente acercarme a la solución.
En concreto, la idea de base consiste en tener un GameObject padre y adjuntarle un arreglo de GameObjects, cada uno conteniendo la parte en cuestión. Dicho así parece trivial, y lo es, si tienes en cuenta detalles como que cada parte debe exportarse con el esqueleto o no se animará. Ahí entran a jugar otras cosas, el nuevo sistema de animación de Unity3d requiere que cada geometria animada tenga un componente Animator con su correspondiente Animation Controller y un Avatar, que es como la conexión entre el sistema de animación y el esqueleto como tal.
Este es el punto donde todo se ha ido al carajo, aunque consigo armar el personaje, no logro que pase de la animación por defecto. He probado muchas combinaciones: usar el avatar de la malla de la cabeza, usar el avatar del esqueleto exportado sin geometría, y aún me quedan más por probar. Justo ahora acaba de ocurríseme que podría exportar sin esqueletos y en unity decirle al prefab que lo copie de otro avatar.
En fin, que hasta que no encuentre a alguien que haya hecho esto y me lo explique en letra de molde, parece que tendré más días ocupados y dolores de cabeza (literalmente).

Avances en el proyecto

Tengo pensado publicar algunos tutoriales de Unity3d, enfocados a detalles muy específicos, como la cámara isométrica, pero se me han ido acumulando los temas (bueno, realmente dos temas). El tiempo no ha estado muy abundante en los últimos días. El lado positivo es que los detalles se han ido resolviendo, como suele suceder cuando se dedica tiempo a estudiar y cacharrear.
El equipo sigue creciendo, se ha unido un artista conceptual que debe entregar el primer encargo hoy. Hay dos candidatos más, uno de ellos además de modelador pertenece al taller literario Espacio Abierto, igual que yo, y podría dar una mano en escribir la trama del juego. Lo que más necesitamos ahora es organización y programadores.
De paso, ando en busca de algún proxy web que me permita acceder al foro de Unity3d. Especifico que sea web porque es para usarlo en las salas de navegación pública que no permiten ni siquiera ejecutar programas. Lo más cercano que he probado es zend2.com, pero tiene un pequeño fallo: el cuadro de texto del contenido del hilo no aparece, así que es imposible postear hilos nuevos. Se agradece cualquier sugerencia o ayuda.

Deus Ex: Mankind Divided

¡Vuelve Jensen!

Deus Ex: Mankind Divided ha sido delatado por unas imágenes filtradas, aunque ya me imaginaba que algo venía en camino cuando se presentó una imagen del nuevo motor hace unos meses. Sin embargo, resulta muy casual que el trailer CGI estuviese listo para ser presentado dos días después de la filtración.
El trailer revela mucho de la posible trama del juego, pero, como es CGI, no podemos ver cómo se ve el nuevo motor que tan interesados estaban en mostrarnos antes. Nada, habrá que esperar unos días... o semanas.
Human Revolution es un RPG de los buenos, de esos que prueban que buena mecánica y trama no excluyen buenos gráficos, aunque siempre critiqué su arbitrario diseño de escenarios. Espero que conserven las cosas buenas y no se metan a  cambiar por cambiar, como sucedió con Mass Effect 2 y 3, cuyo gameplay declinó en vez de mejorar. Eso sí, las nuevas habilidades se ven geniales, y ojalá esta vez podamos romper paredes con la cabeza.

Modelos disponibles para descarga

Una actualización rápida para avisarles de que ya he subido a OpenGameArt algunos de los modelos del proyecto, bajo licencia CC. La semana que viene pienso subir algunos más, a medida que los prepare.
Entre otras cosas útiles, habrán modelos orgánicos (2 personas, hombre y mujer), completamente animados, de calidad y texturizados. Todos los modelos incluyen textura difusa y normal.

Quo vadis, motor?

Sí, muy mal latinajo. A pesar de estar enfocado en Unity3D en los últimos días (al punto que me atormenta durante el sueño, y no es broma), no dejo de mantener las copias de Urho3D y Godot al día.
El primero integró DirectX 11 la semana pasada, aunque no he tenido el gusto de probarlo, el tiempo de oficina es escaso y tengo que compartirlo con una desagradable actividad llamada "trabajar". Aparte de eso, el ritmo de commits sigue bastante bajo y anodino, incluso cuando dejas pasar 3-4 días. Me resulta difícil pronosticar hacia dónde va Urho3D, y tampoco es que me interese mucho en este momento. Creo que es prudente dejarlo crecer un poco.
Godot, por su parte, es más espaciado en los commits, que a su vez son más voluminosos. Puedes pasarte una semana sin que haya cambios, pero cuando los hay, son decenas de archivos modificados. El trabajo parece estar enfocado en el sistema 2D en su mayor parte; no me parece que podamos esperar una mejora sustancial en el renderizado 3D a corto o mediano plazo. Quizás esto se deba a que el proyecto de Okam Studio demande más 2D, y en definitiva Godot se debe a su empresa padre, no a las necesidades de los usuarios.
Lo anterior no quiere decir que el panorama pinte mal, ni nada de eso. Considero que ahora tenemos mejores opciones libres que hace un año y medio, pero aún sin llegar a  cubrir las necesidades de los desarrolladores. Solo hay que darles algo de tiempo a que maduren bien.

DirectX 11 en Urho3D

Había descuidado el seguimiento de Urho3D ahora que he decidido pasar algún tiempo con Unity3D, por lo que hoy he hecho un pull a ver cómo iban las cosas. No me esperaba nada impresionante, pero para mi sorpresa, habían algunos cambios: el soporte para DirectX 11 ya está en el repositorio.
Larsse (o como se escriba) había anunciado hace un par de meses que estaba trabajando en un proyecto experimental llamado Turso3D, que era un campo de pruebas para nuevas ideas, que eventualmente se portarían a Urho. Una de esas cosas era el soporte para APIs modernas, en este caso, DirectX 11.
Así que al menos en el apartado de renderizador, Urho3D le va ganando a Godot, cuyo renderizador 2D puede hacer cosas asombrosas, y que en cuanto a herramientas gana por goleada, pero que se queda muy atrás en 3D. Evidentemente las prioridades de ambos equipos son diferentes, lo cual se refleja en la arquitectura de sus motores.

Confirmado, el Premio Minotauro es muy malo

Tanto o más que las anteriores obras premiadas. Leo aquí que Verano de miedo, cuya sinopsis me parecía bastante entretenida, es una novela que puntea bastante bajo, no solo en la reseña de la autora del blog, sino también en otros lugares.
Decepcionante lo que está saliendo del Premio Minotauro en los últimos años, y definitivamente no pienso participar más. A veces, los jurados ven en los textos cosas que los lectores no vemos, y ellos son los que mandan.

Unity3D 5 se ve mejor

O eso me parece:



Las imágenes las tomé con la aplicación utilizando DirectX 11 y deferred rendering (aunque con una sola luz direccional). Para ser una escena casi vacía, me asombra la calidad del renderizado.
Hacer el prototipo me tomo unos cinco minutos, ya me estoy haciendo un experto en esto de crear un isométrico: supongo que copiar el código de otro proyecto ayuda.

Fuente rota

Parece que mi fuente se ha roto de alguna forma muy rara. El sábado, la PC de la casa dejó de arrancar, luego de darme algunos problemas raros, como no detectar el mouse.Lo atribuí a que la fuente se había quemado, porque la motherboard no encendía el led, sin embargo, el fan del CPU se movía solo, sin encender la PC.
Ayer fui con un amigo, que comprobó los voltajes de la fuente, sin encontrar ningún problema. Por suerte, llevaba una fuente "de respaldo", para asegurarme de que la motherboard funcionaba. Logré arrancar, pero al tratar de instalar la mía, el mimso problema. Así que me la traje a la oficina, donde la probé en otra máquina, con el mismo resultado.
Como todo acá, el gran problema es que la oferta no siempre se ajusta al presupuesto, ahora mismo hay en venta varias fuentes, pero la de menor precio vale $75. Y es que aunque valga la mitad, no tengo el dinero a mano.

Vuelve el Premio Minotauro

Se ha convocado el Premio Minotauro de novela fantástica, ciencia ficción o terror, correspondiente a este año 2015, pueden consultar aquí las bases.

Esta vez el aviso llega un poco corto de tiempo, el plazo vence el 15 de junio, lo que deja poco margen para quien no tenga una novela terminada o no sea muy rápido escribiendo. Otra cosa que cambia es el premio, que ahora baja a 6000 euros, en vez de los 10000 que se ofrecían anteriormente.
El premio del 2013, que debía anunciarse en amrzo del 2014, se atrasó hasta noviembre de ese año. Si le sumamos esto a la reducción del monto de la compensación, creo que no es aventurado suponer que el negocio editorial no va bien en España, o al menos las novelas ganadoras no se están vendiendo tan bien. Lo cual no me extraña, porque no tengo una buena opinión de los títulos ganadores.

Algo sobre Vulkan

Hoy me he dedicado a leer el overview de Vulkan, la nueva API gráfica del Grupo Khronos, para no estar muy en pañales acerca del tema. Soy más bien un proigramador de alto nivel, y las cosas que van bajo el capó a veces me resbalan y se olvidan con el tiempo, pero siempre algo queda.
Resulta interesante el vuelco tan revolucionario que ha dado el Grupo Khronos (suena a organización secreta de supervillanos peliculeros). Vulkan plantea una serie de cambios necesarios, como acceso más directo al hardware o mejor uso del multihilo, pero en una forma que no me esperaba. Ahora los drivers se simplificarán, y muchas cosas irán a parar al lado de la aplicación (eso me suena de Wayland).
Un clásico ejemplo de esto es SPIR-V, un lenguaje de representación intermedia, que al principio no me quedaba claro para qué rayos servía. Decía soportar la representación de programas OpenCL y Vulkan, lo cual para mí no significaba nada. Esto de ser ignorante es un poco molesto a veces, pero bueno, leyéndome el overview me cae una gota de conocimiento y me percato de la genialidad de SPIR-V: es un lenguaje intermedio (se nota que nunca aprobé Técnicas de Compilación). Actualmente, el driver incluye un compilador que convierte el shader GLSL en un código que el GPU ejecuta. Con Vulkan, compilamos el GLSL a SPIR-V, y el resultado es lo que distribuimos con el juego, amén de que el driver se ahorra compilar. Y quien dice GLSL, dice OpenCL. Es más, que esto abre la posibilidad de que Chicho el Cojo se haga su propio lenguaje shader para su exclusivo motor Zypote3D, con solo tomarse el trabajo de hacer un compilador que genere el código SPIR-V.
No menos bienvenido es que con Vulkan el CPU podrá formar command buffers en diferentes hilos, trayendo al fin el necesario soporte de paralelismo que ya mencionaba antes, o el impulso a un ecosistema de herramientas libres, como el Depurador que han venido desarrollando Valve y LunarG.
Montones de cosas, que es una pena que no estén aquí ya, pero que en menos de un año ya podríamos estar disfrutando.

Adiós a Terry Pratchett

Acabo de enterarme de que ha muerto el maestro. Supongo que como buen mago, habrá visto a la Muerte, montada en Binky. Imposible expresar en palabras la tristeza por perderlo.

Equipando objetos

Ya estamos dando los primeros pasos para implementar un método de equipar los items en el personaje.


Por supuesto que aún es muy limitado, se trataba solo de probar la técnica con Urho3D, que es básicamente el mismo que usé con Ogre3D: adjuntar la geometría a un hueso. Las armas y escudos carecen de complicaciones, salvo encontrar la transformación correcta para que queden bien ubicados.
En cambio, otros objetos corporales, como las armaduras, guantes y botas, ya son más complicados y estamos trabajando en eso. En estos casos la solución implica cambiar una sección del cuerpo completa, por eso es que los personajes se están modelando teniendo eso en cuenta.
Cuando termine de implementarlo, lo explicaré en detalle aquí (y también en el blog en inglés), para que sirva de referencia.

Revisitando el asunto IA

Ayer dediqué unos minutos a iniciar el trabajo en mi nueva solución par al inteligencia artificial. Anteriormente había intentado asignar scripts a las entidades, lo cual no funcionó, y luego tener clases especializadas por cada profesión o tipo de conducta. Tampoco funcionó, aunque quizás debí dedicar más tiempo a hacer accesible la instancia de los datos del juego en esas clases.
Mi nueva solución "invierte" el método, en vez de tener la IA dentro de l a entidad, tengo una clase que opera sobre ella, desde afuera. La idea es sencilla... y terriblemente mala. Siento que no es así como debería ser, pero ya que no consigo implementar la primera variante, tengo que luchar con ésta. Imaginen una clase enorme con un montón de funciones, una para cada tipo de conducta en los diferentes estados de la entidad (idle, combate, y así sucesivamente). Si esto fuera un examen, no me daría a mi mísmo ni 3 puntos de 5.
Pero de momento  tendrá que bastar con esa solución tan chapucera.

Siguen las rebajas: Unity3D personal y Source 2

Los estudios de desarrollo siguen tirando la casa por la ventana, esta vez han sido Unity y Valve los que estrenan nuevo modelo de licencias, con ofertas gratis.
En concreto, Unity3D ahora tiene una licencia personal libre de royalties, con todas las funcionalidades (lo que falta es puramente cosmético). Sin embargo, no es una licencia de equipo, ojo con eso. Estaría bjándomelo ahora mismo de no ser porque a alguien se le ocurrió usar un web installer, así que en casa no podré instalarlo. Hay un paquete en torrent, pero eso ya queda fuera de mi alcance porque es muy grande y los clientes web que uso no dan para tanto.
Por su parte, Valve presenta en sociedad su nuevo Source 2, un motor poco usado, con la particularidad de que ahora es gratis para creadores de contenido. En concreto, los programadores de juegos no podremos echar mano, de momento, a Source 2 sin pasar por caja.

Animaciones y más

Ayer casi conseguí implementar el soporte de la lista de animaciones para cada entidad. Debí trabajar en esto antes, pero siempre aparecían otras cosas, y como no habían animaciones para probar, pues siempre se quedó para después. Me faltó tiempo, pero está muy cerca.
Tenía pensado terminarlo ahora en la mañana, pero apareció otra tarea urgente: comprobar la factibilidad de manejar el modelo dividido en sub-mallas. La idea es facilitar el cambio de items que pueden ocasionar clipping, como las armaduras. El artista y yo estamos discutiendo posibles soluciones, y ésta es una de ellas. Equipar un objeto sería solo cambiar una textura, y quizás adjuntar una malla sencilla para aumentar el detalle.
Además, he pensado que tendría una beneficio adicional: sería posible personalizar la apariencia; el jugador tendría varias cabezas para escoger, o yendo más lejos, también el pelo.
En el foro de Urho dicen qeu no es necesario, ya que se puede instanciar la malla adjunta como un AnimatedModel esclavo, sin embargo, estoy tratando de sacar lo mejor de ambas soluciones, y hacerlo de una forma que sea aplicable en otros motores. Con esto de que Unreal no necesita pago adelantado ahora, ya no es descabellado valorarlo como una opción para un proyecto comercial.

Unreal Engine es casi gratis

Ya no hay justificación para no usar Unreal Engine 4: todos los costos por adelantado han sido eliminados. Ahora pagarás solo el 5% trimestral por los ingresos, descontando los primeros $3000, y tendrás acceso a todas las futuras actualizaciones.
No he podido accesder al anuncio oficial, porque el acceso está bloqueado a Cuba, o por lo menos a mi direccion IP, aparentemente por un bug que están tratando de solucionar (hace una semana accedí perfectamente). Por eso no sé que limitaciones tendrán los que se acojan a este modelo en cuanto a soporte de plataformas como las 3 Grandes: Xbox, Playstation y Nintendo.
De todas formas, una barrera importante para los que no podemos pagar ni siquiera $1 de suscripción ha sido eliminada. Lo interesante será ver la respuesta de las otras empresas a esta jugada. Hasta dónde bajará Crytek? Unity3D se atreverá a cambiar su sistema de licencias?

Mas problemas con la IA

Ayer descubrí otro problema en el diseño del scripting de la IA en el proyecto. Al principio, intenté adjuntar scripts a los nodos desde el editor de Urho3D, sin embargo, esto no funcionó bien. No podía pasar en un parámetro la entidad en cuestión. Me quedó la opción de crear varias clases, una para cada tipo de conducta: soldado, mago, mercader, etc. Por supuesto que no era la opción que quería, pero no se me ocurría ninguna otra.
No me había metido a fondo a probar esta variante, así que recién descubro que una variable global, que creía accesible en estas clases, no lo es. Por eso, el script está "ciego" al entorno del juego.  Salvo la información de la entidad en sí, no ve más nada, así que tengo que rastrear qué falta para que la variable global con la instancia del juego sea visible dentro de la IA.
Uno de mis grandes problemas de Urho3D es precisamente ese, que en ocasiones  el proyecto parece un montón de scripts sueltos sin conexión entre sí. Queda demostrado que un mes no es tiempo suficiente para valorar un motor, al menos, no en mi caso. Debí ir más a fondo y también debí invertir más tiempo en Godot (que aún sigue sin gustarme). Típico error cubano: "el compromiso es que esté para Marzo". Y para marzo está, pero incompleto.

A trabajar

Ha sido una semana de readaptación, en la que no he podido hacer casi nada, salvo pensar que tengo que empezara  poner líneas de código otra vez. Mientras estaba en la Habana se me ocurrieron montones de cosas en las que podría trabajar, pero justo ahora, no me sale nada.
Para entrar en calor, he resuelto problemas muy mínimos que noté mientras mostraba el proyecto a los interesados, como por ejemplo: establecer límites para el zoom, añadir una tecla para resetear el zoom y la posición de la cámara y algunas indicaciones iniciales sobre cómo mover la cámara. Esto último, en espera de desarrollar un sistema de tutoriales similar al de Wasteland 2, que me gusta y como es el último que jugué, es el que recuerdo. Así que a plagiarlo.
Entre las tareas importantes que debo resolver con urgencia están: completar el sistema de objetos e inventario, el manejo de animaciones por estado y reimplementar el sistema de diálogos según una mejora sugerida por un colega.
Ojalá encuentre la inspiración este fin de semana para liquidar esos asuntos y además, escribir algunas páginas. O sea, que ojalá logre sacudirme la vagancia y salir del estado de muerte cerebral.

De regreso

Luego de diez días bastante ajetreados en los que me faltaron horas para cumplir con todo, estoy de regreso, con los bolsillos vacíos, pero algunas satisfacciones. La estancia en la Feria podría haberme arruinado, pero gracias al apoyo de un amigo, las cosas no fueron tan terribles. Definitivamente, la experiencia de una Feria del Libro en la Habana es diferente.
Para empezar, es una feria internacional, donde acuden editoriales de muchos países. Lamentablemente no vienen en busca de autores ni nada de eso, sino más bien a exhibir títulos y deshacerse de stock obsoleto: como revistas de hace 5 o más años. También te puedes encontrar cosas como esta:


Por supuesto, a un precio impagable para mi modesto bolsillo: aproximadamente $15 USD. Tabién se vendieron dispositivos: hubo una oferta de tablets a $100, que pensé en comprar, pero luego de meditarlo, decidí que no debía hacer ese gasto, ya que un amigo se ha ofrecido a contribuir al desarrollo del juego donando una tarjeta de video y no sé cuánto será el impuesto de entrada. Solo me queda consolarme pensando en que se trataba de una marca desconocida y que ni dios sabe cuánto podría haberme durado.
El lado positivo y los beneficios directos: el libro ha gustado mucho. Todas las opiniones son buenas (supongo que porque no encontré a nadie que no le gustara), incluso entre el público más exigente, que son los otros escritores del taller. Abundaron las felicitaciones y una propuesta para ilustrar el próximo título por parte de Jesús Minsal. Desgraciadamente, en el apartado de diseño, el libro deja mucho que desear, por sus ilustraciones no muy buenas. Conocí muy pocos lectores, pero por ese lado también hubo elogios, así que puedo considerar que estoy listo para saltar a otros mercados más allá del charco.
Recibí dos invitaciones para entrevistas, ya que coincidí con un grupo que está trabajando en un documental sobre la felicidad, y otro que está sacando adelante una iniciativa que me ha venido a la mente varias veces: un documental sobre la historia del desarrollo de videojuegos en Cuba. A Lester y sus muchachos, desde aquí les deseo mucho éxito.
Tuve un encuentro con Alejandro, miembro del equipo de trabajo del proyecto, y discutimos las cosas que queremos hacer y hasta dónde queremos llegar. Conocí a un colega desarrollador de juegos y fan de los aviones y armas (ya somos cuatro), que me mostró una mira de punto rojo y otras muchas cosas, vi personas que solo había oído mencionar (como el escritor Paco Ignacio Taibo II) y asistí a la presentación de mi primer libro (un poco decepcionante, pero así son las presentaciones en grupo).
En fin, muchas cosas para resumirlas aquí. Ha sido una experiencia enriquecedora, aunque no creo que la repita el año próximo. De hecho, ni siquiera creo que la repita dentro de dos años, con el próximo libro.