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.