Crónicas de mi primer vuelo en parapente

Un fin de año por todo lo alto, nunca mejor dicho, porque pasé unos treinta minutos a 400 metros de altura, colgado de una vela.
Desde hace unos años sabía que había aficionados al parapente en Santiago de Cuba, pero recién esta semana fue que logré establecer contacto con uno de ellos y conseguir una invitación para volar, ayer en la tarde.
Todos los pilotos que me encontré en el camino me insistieron en que es una experiencia única, nada extraño, porque todo aficionado a algo siempre tratará de convencerte de lo mismo. Sin embargo, un canadiense radicado acá fue el que más se acercó a dibujar la sensación al decirme: A ti te gustan los vuelos, seguro has soñado que vuelas. Pues esto es lo mismo. Y definitivamente, lo es.
Al principio pensé que sería un estorbo en el despegue. Aunque había visto despegar al piloto canadiense, no es lo mismo despegar en biplaza. O eso creía yo. Cuando la vela se infla, el viento te lleva y no hay más nada que hacer. No es necesario saltar, correr, nada. En un segundo estás a varios metros de altura, alejándote de la falda de la montaña, y casi enseguida las corrientes ascendentes hacen su trabajo (que para eso se les paga) y te elevan mucho más. Luego vas cabalgando las corrientes, a lo largo de la cresta de las montañas, mientras disfrutas del paisaje en compañía de otros pilotos. Ayer el tráfico era abundante, además de mi piloto y yo, y nuestro amigo canadiense, llegaron dos alemanes con unas velas que pa qué contarles. Desde airbags en la mochila hasta winglets, como un Airbus. Imposible no envidiarlos. Gente con experiencia, uno de ellos hizo un aterrizaje perfecto.
Volviendo al tema, el principiante puede sentirse bastante impresionado en su primer vuelo. Después de todo, estás sentado en algo que cuelga, mientras las ráfagas de viento te sacuden de vez en cuando, haciendo que se te salga la diarrea. Tres o cuatro rachas después, te das cuenta de que es muy normal, dejas de cagarte y el miedo se convierte en una sensación un poco menos pegajosa. Si eres flojo de estómago, probablemente tengas que vomitar, que por suerte, no es mi caso: suelo ser muy resistente al vértigo por alturas.
En caso de que vomites y el miedo siga en niveles estatosféricos luego de varios minutos de vuelo, quizás deberías considerar que volar no es lo tuyo y dedicarte a una diversión menos movida, a nivel del mar, si es posible. Si soportas 15 minutos de vuelo y encima quieres repetir, pues felicidades. Bienvenido al club de los hombres y mujeres que no le tienen miedo a nada. Bueno, salvo a las cucarachas. O a las arañas, que me dan una mala impresión...
Creí que seguramente sí sería un estorbo al aterrizar, que me caería o me enredaría en las cuerdas, pero tampoco. Un leve dolor en los pies, un poco entumecidos por media hora sentado en el aire, y eso fue todo. Por supuesto, el crédito se lo lleva el piloto, con 13 años de experiencia volando estos aparatos.
Así que si vienen a Santiago y quieren probar un vuelo en parapente, vengan a verme. Ojalá el tiempo y otros factores me permitan repetir más a menudo esta experiencia, y quizás hasta conseguir aprender a volar solo.

No tendremos EMDriver por ahora, ni tampoco motores warp

Parece que la comunidad científica se ha empeñado en desacreditar el motor EM, solo por el nimio detalle de que contradice las leyes de la física. Hay que ver que estos científicos son retrócgrados y están en contra del progreso.
La cuestión es que los experimentos realizados por un equipo de la NASA, que ahora dicen que no es de la NASA, sino algo así como unos primos lejanos y pobres a los cuales no quieres ver en tu fiesta de cumpleaños, no son concluyentes. Los realizados por los chinos tampoco.
En el supuesto caso de que sí funcione, el impulso generado solo sería útil para misiones de larga duración, o sea que nada de pensar en ir con él a Marte. En fin, que volvemos al principio, y el 2016 no será el año del EMDrive.
Por si fuera poco, aún estamos muy lejos de poder construir un motor de Alcubierre, alias motor warp. Ni siquiera teniendo en cuenta los ajustes propuestos por Harold White, que redujeron las necesidades de energía negativa. El costo de producir la antimateria necesaria es aproximadamente igual a toda la producción económica mundial de 40 años. Eso, sin mencionar que las fuerzas gravitacionales implicadas probablemente destrozarían la nave.
Yendo al punto, que no lo conseguiremos antes de cien años. O más. Definitivamente, esto ha estropeado mi fin de año.

Cómo logré usar los Animation Events (al fin)

Aunque Internet rebosa de tutoriales de Unity, de vez en cuando hay detalles que cuestan lo indecible encontrar la forma de usarlos. Por ejemplo, los Animation Events. Ni siquiera en los foros conseguí que alguien me explicase cómo funcionaban.
El caso es que los Animation Events son eventos que se agregan a las animaciones, en principio muy útiles, pero no lograba aplicarlos correctamente. Un Animation Event necesita de una función receptora, que por supuesto, debe estar en un script asignado a un GameObject. Típico. O sea, que no encontraba una forma de que la función receptora fuese genérica y no específica de un objeto en la escena.
A ver si me explico. Mi idea era detectar cuando la animación de un ataque hubiese terminado, para indicarle al personaje (jugador o NPC) que ya puede continuar con la acción siguiente en la cola. Quizás por incapacidad mía, pero no logré pasarle a la función receptora, quién era el GameObject padre del esqueleto que había concluido su animación. Solo quedaba la variante opuesta: cada personaje tendría su script con la función receptora (lo adjunté al prefab que contiene el esqueleto) y la clase del script tiene un miembro público al que se le asigna el GameObject padre. Lleva algo de trabajo, porque hay que repetir el proceso para cada personaje en la escena, pero no veo otra forma de hacerlo. Y por lo menos, así funciona.
Ahora el sistema de combate se parece un poco más a lo que debe ser, al menos en la lucha cuerpo a cuerpo. La animación para armas de rango no es la correcta y requiere ajustes, pero eso sí creo que se escapa de mis capacidades.

Tyranny

Muy demorado mini-review sobre este juego, pero quería adelantar lo más posible y no me ha sido fácil en estos días tan ocupados. Parece mentira que un adicto a los RPG no tenga tiempo para probar uno de los títulos más esperados del año 2016, pero entre la publicación de la próxima novela, el demo del Laberinto del Saber, y alguna que otra tarea adicional, resulta que he tenido que relegarlo.
Tyranny es un RPG de los buenos, hecho por gente que le sabe un mundo a esto. Aunque Obsidian ha tenido sus pifias, se han redimido con excelentes títulos, como Fallout: New Vegas y Pillars of Eternity. Precisamente de este último Tyranny hereda la tecnología usada: una reimplementación de Infinity Engine (motor de Baldur's Gate) sobre Unity. Que si no ando muy errado, también veremos en Numenera de InXile. O sea, que es un juego 2D isométrico, pero con todas las maravillas de un motor 3D. Visualmente es tan impresionante como su predecesor, así que no hay quejas al respecto.
El juego es un RPG de la vieja escuela, no aptos para los que solo busquen hacer click y matar cosas. Bueno, sí hay que hacer click y matar cosas, pero teniendo en cuenta a qué tipos de daños son más o menos vulnerables. Por si no fuera suficiente para sobrecargar el cerebro del jugador de FPS promedio (puedes identificar a los de esta ralea porque el dedo índice se les mueve constantemente, como haciendo click en el mouse), también tenemos un complejo sistema de atributos que influencian habilidades, y otro árbol adicional de talentos, amén de las infaltables conversaciones. Todo muy Pillars of Eternity, aunque con ciertos cambios.
Hasta el momento, solo he encontrado un detalle y es que la historia ha fallado en atraparme, creo que la de PoE era mejor. En pocas palabras, en Tyranny eres el esbirro de un tipo muy malo, y vas por el mundo haciendo cumplir su voluntad: sofocar rebeliones, conquistar pueblos que no te han hecho nada, etc. El muy predecible final es que te volverás contra Kyros en algún momento, pero me falta mucho para llegar hasta allá, así que quizás me sorprenda con algún giro de trama inesperado.
¿Es recomendable el juego? Pues sí, mucho. Definitivamente es uno de esos títulos que debes tener en tu currículum rolero, lo termines o no, para que nadie te avergüence en alguna discusión sobre el tema CRPG.

Desarrollar juegos en el oriente de Cuba: la isla desierta

Ayer, luego de esperar más de un mes que el artista me trajera las animaciones e imágenes que faltan para terminar el demo del Laberinto del Saber, decidí acudir a otro. De más está decir que tampoco voy a conseguirlo que necesito rápidamente por esa vía. Aunque el desarrollo de juegos está despegando en la capital del país, incluso con proyectos como Savior, acá en el este no vamos tan avanzados.
Mis experiencias, después de año y medio intentando armar un equipo de trabajo, no son para nada buenas. Santiago de Cuba no es una ciudad donde parece que vaya a surgir una comunidad de desarrolladores a corto plazo, y a continuación les expongo algunas de las dificultades que me he encontrado durante mi peregrinar:

Informalidad: Te encuentras un entusiasta de los videojuegos, que se anima a colaborar en tu proyecto. Se reúnen, le asignas tareas... y ya te puedes ir buscando otro. Si tienes suerte, cumplirá la mitad de lo encomendado. Y es que en la mayoría de los casos, los entusiastas suelen ser muy jóvenens, que cambian de idea muy rápido o se aburren de trabajar en proyectos ajenos, o en los suyos propios, dejándote en la estacada.

Interés monetario: El caso opuesto de lo anterior. Este suele ser un tipo de cierta experiencia, que cuando te lo presentan parece ser el candidato perfecto. Sí, he trabajado con Unity; Sí, sé modelar y animar en Blender. Sin embargo, el candidato pronto descarta trabajar en cualquier idea, por una docena de razones sin peso. En el fondo, no está dispuesto a trabajar si no hay dinero de por medio. Ha dedicado su adolescencia a aprender, pero esa fase ya quedó atrás (suelen ser graduados universitarios o personas sobre los 20 años) y ahora quiere sacarle partido a eso. Que otro sea quien arriesgue su tiempo y dinero, él tiene novia que llevar a pasear y gastos, así que se mueven de contrato en contrato, como Tarzán de liana en liana.

Agenda propia: Véase primer párrafo. El artista que encontré no puede trabajar esta semana porque está terminando su propia historieta. Usualmente estas personas priorizan sus propios proyectos, tengan o no futuro, y son incapaces de ver el valor en las ideas ajenas. Si tienes suerte, lograrás que haga un hueco para ti y complete algunas tareas, pero con grandes posibilidades de que te deje tirado, incluyéndose en la primera categoría, la de los informales.

Eso en cuanto al personal. Sin embargo, hay otros factores a tener en cuenta. La Habana es la capital, y en un país pequeño eso significa que las cosas importantes están ahí. Es como si fuese la única ciudad. Ahí encontrarás toda clase de facilidades, como fundaciones que apoyan a los emprendedores, vías de obtener ingresos extra, hardware más barato, gente con ancho de banda decente capaz de bajar lo que sea sin limitaciones... muchas cosas. Santiago de Cuba, que supuestamente es la segunda ciudad en importancia, es solo una aldea sin autonomía. Si quieres triunfar, te vas a la Habana, intentar hacerlo desde aquí es un disparate.
También podemos mencionar la falta de documentación, la imposibilidad de crear una masa crítica que genere una comunidad activa, y sobre todo el aislamiento. en varios años de búsqueda, me ha sido imposible dar con más de cinco o seis personas interesadas en el tema. Eso, en una ciudad de medio millón de habitantes. No es que crea que hayan muchos, pero tampoco que sean solo cuatro gatos. Sean cuatro o cien, esas personas no tienen  forma de buscarse o encontrarse, dada la falta de conectividad. Y no hablemos de trabajr colaborativamente en un proyecto de envergadura.
En fin, que no creo que veamos pronto un videojuego hecho en Santiago de Cuba.

Collider triggers y raycasting en Unity

Nunca te irás a la cama sin aprender algo nuevo, así que ya saben, si no han aprendido algo hoy, no duerman. Ayer investigué un poco acerca de cómo utilizar debidamente la opción Trigger de los colliders en Unity3D, y al fin logré aclarar ciertos puntos oscuros.
El caso es que estaba intentando implementar un sistema sensorial para un RPG: emular visión y audición. La idea inicial era usar un sphere collider, que puesto en modo trigger me avisaría si el personaje entra en el rango de percepción del NPC. La cosa no era así de fácil, pues me encontré con un efecto desagradable: era imposible entrar en el área del collider.
En teoría, un collider con la opción Trigger activada debería ignorar los raycasts, de hecho, dejando de ser un collider para convertirse en un disparador de eventos, pero resulta que no es así. Este comportamiento hay que habilitarlo, yendo a Project Settings->Physics y desactivando Query hit triggers.
Y ya, eso era todo. Sin embargo, esto tuvo un efecto secundario (completamente lógico, claro) que descubrí más tarde. Cuando intenté utilizar un collider para detectar el evento Mouse Over en un objeto de la escena no funcionó. Obviamente, era imposible ya que el collider estaba ignorando los raycasts. Supongo que tendré que buscar otra variante para solucionar esto, aunque en realidad no es importante.Aquí lo que intentaba era colocar un botón sobre el objeto que al cliquearse mostrara información sobre el mismo, algo típico de los RPG.
Y esto me recuerda un importante consejo, que aunque obvio, puede pasarse por alto en equipos grandes: todos los modelos deben compartir un factor de escala común. Mientras intentaba colocar el canvas en el objeto, me encontré que los valores que funcionaban en otro proyecto no lo hacían en este. El origen del error era ese: en un proyecto usaba un modelo con escala 1, y aquí estaba poniendo el canvas como hijo de otro modelo que necesitaba escalarse 500 veces. El resultado, el canvas también crecía y no cabía en la escena. Tuve que agrandar el objeto en Blender y todo fue como la seda. Pero ya había hecho una rabieta y el tiempo estaba perdido.

No están todos los que son

Un artículo de ABC suscitó mi interés ayer, y casualmente coincidió con este otro (ya viejo, pero que no había leído). Pero básicamente voy a referirme al primero, porque hace una especie de top ten, o top four, de lo mejor de la fantasía moderna.
Sin desmerecer a los cuatro escogidos, a los cuales admiro incondicionalmente, creo que es demasiado simplista decir que son los mejores de la fantasía moderna. Por ejemplo, aparte de una serie sin terminar y su trabajo en Numenera, Rothfuss tiene muy poco en su currículum. Muy mediático, sí, y le concedo el mérito de ser autor de los dos únicos libros de fantasía que se ha leído un amigo que no valora mucho el género. Pero no justifica ponerlo por delante de otros grandes como Terry Prattchet o Neil Gaiman. Y si alguien lo duda, que se lea Stardust, la mejor novela de amor que se haya escrito, o que le de un repaso a Mundodisco.
¿Y dónde dejamos al olvidado Robert Jordan? La Rueda del Tiempo, la mejor saga de fantasía de finales del pasado siglo, gigantesca, inconclusa y terminada por el genial Brandon Sanderson. Por desgracia, casi imposible de llevar a la TV y aún menos al cine, tal es su envergadura y complejidad. Léanse La Rueda del Tiempo, y luego hablamos de Juego de Tronos.
Saliéndonos del ámbito angloamericano, hay que mencionar a Andrzej Sapkowski, y no solo por su conocidísimo Geralt de Rivia. Soy de la opinión que la trilogía de las Guerras Husitas es una excelente obra por derecho propio, infaltable en el currículum de cualquier lector del género. Este polaco cascarrabias se merece de sobra un lugar entre los grandes.
Y para confirmar que en todas partes cuecen habas, no puedo dejar de mencionar a un grande de la fantasía española: Javier Negrete. Como hablamos de sagas, solo mencionaré la colosal Tramórea, aunque el resto de su producción está a la altura de cualquier cosa proveniente de Inglaterra o Estados Unidos. Que haya vendido varios millones de copias así lo atestigua.
Estoy seguro de que otros lectores podrían sugerir más candidatos (que pueden dejar en los comentarios). Yo aquí he expuesto los míos, hasta donde da mi mala memoria, y escogiendo los que creo que han vendido y sonado más, pues parece ser que el criterio para definir si eres grande o no es cuántos millones vendes y si estás en el cine, la TV o los videojuegos.  Lo cual, en mi opinión, no define a un autor talentoso, solo a uno, que además de bueno, ha recibido muy buena promoción.

Sistema de entrada unificado y versátil

Aunque no lo creí al principio, incluso con un proyecto 2D aprentemente sencillo (en desarrollo de juegos, casi nada es sencillo) se puede aprender. El fin de semana tuve que reescribir el control del personaje casi completo. Todo el código anterior no servía luego de agregar el joystick virtual, a menos que mantuviese dos formas distintas de controlar el personaje: una para móviles y otra para PC. Y esta última no contemplaba el uso de mandos.
Sin embargo, la solución estaba en el mismo tutorial que utilicé para el joystick virtual, que me sirvió de inspiración para arreglar el sistema de control basado en teclado y convertirlo en algo más portable, utilizando GetAxis() en vez de preguntar si las teclas del cursor han sido presionadas o liberadas. Eso conlleva cambiar el sistema de movimiento a uno basado en vector en vez de cuatro direcciones fijas, pero por suerte, la matemática detrás del asunto es sencilla. Ya lo probé usando un joystick, que es el único mando que tengo a mano, y funciona igual que con WASD y las teclas del cursor. O sea, que el juego ya se puede jugar en PC con teclado o mando.
Ahora solo me falta cambiar todo el sistema de animaciones, el apuntado, y cualquier detalle que se me haya pasado por alto, que siempre hay alguno esocndido por ahí.
Lo aprendido aquí también tiene aplicación en otros proyectos. Ahora sé que la cámara en tercera persona que implementé a principios de año posiblemente necesite una buena reescritura para soportar mandos.
Y ya que hablamos de Unity3D, parece que un viejo problema ha sido corregido: me dicen que ahora sí se puede usar deferred rendering cuando la cámara está en proyección ortográfica. Todo un alivio siquieres hacer una vista isométrica y manejar muchas luces en la escena.

Ya casi está el demo

Se dice fácil, pero ha costado lo suyo. Aún me quedan detalles por pulir, y trabajo artístico pendiente (de ahí que no tenga imágenes para mostrar), pero el demo está más cerca. La mayor parte del código está ahí, y la mecánica de juego es muy fiel al original, salvo en algunos detalles que se me han pasado por alto. Lamentablemente, no he podido contactar con los creadores del Laberinto original, para afinar todos los aspectos del diseño.
Seguimos teniendo el pequeño inconveniente de no tener cuenta en Google Play. Ni acceso a registrarla, ni dinero para pagarla. Pero supongo que eso se resolverá de alguna manera. Por lo mismo, ni hablar de versión para iOS, de momento.
Como les decía, ha costado lo suyo, y eso que solo se trataba de copiar un juego antiguo. En especial me fue trabajoso escribir un algoritmo de persecusión, pues Unity no trae búsqueda de caminos en 2D. Hasta el fin de semana pasado estuve retocando detalles. Y auqnue no lo crean, el proceso de crear las preguntas ha sido complejo. No es fácil sacarse de la manga 40-50 preguntas universales, no muy difíciles, además, traducirlas al inglés, y segundo además, que dejen alguna enseñanza. No estoy muy seguro de haber conseguido esto último, pero entiendan que no soy pedagogo ni nada de eso.
Y todo sin dejar de escribir y trabajando en un tercer proyecto. 

Godot engine trabaja en su nuevo renderizador

Los desarrolladores de Godot han publicado un largo post acerca del estado del trabajo en el nuevo renderizador 3D, donde explican que la fase 1 (octubre) ha concluido y nos detallan el roadmap para noviembre y diciembre. De paso, se explayan comparando GL ES 2 con GL ES 3.
Tal como he mencionado anteriormente, la elección del equipo ha sido esta última API, y no Vulkan, u OpenGL 4, que aparentemente son las opciones más lógicas. Tal decisión ha sido defendida a capa y espada, y argumentada hasta la saciedad en algunos hilos que pueden encontrar en Google. Conclusión: que si bien no se descarta que se implemente un renderizador Vulkan algún día, por el momento la prioridad es GL ES 3, porque la mayoría de los usuarios de Godot están enfocados en el desarrollo para móviles, Vulkan es muy inmaduro, no está ampliamente soportado (en hardware y software) y no sabemos cuándo alcanzará el grado de popularidad necesario como para considerarlo importante.
En fin, que hay que sentarse y esperar. O pasarse a Unity3D. O si buscas solo libertad y quieres algo kosher, Torque3D. Tampoco es que la decisión vaya a dañar mucho la base de usuarios de Godot, que ya está contenta con el motor así como es (porque explotan más su renderizador 2D que es de lo mejorcito del mundo) y no se van a ir a ningún lado. La parte 3D de Godot no se ha popularizado mucho en la plataforma de escritorio, y no creo que eso cambie en un buen tiempo. Pero a pesar de ello yo considero a Godot como un proyecto exitoso y reconocido entre los programadores de juegos, supongo que eso justifique no correr riesgos y ser conservadores. Después de todo, no tienen recursos ilimitados, como Epic.

Quiero jugar un RPG

Desde hace un tiempo tengo ganas de jugar un buen RPG. Algo así como The Witcher (2 o 3). No me importa que tenga gráficos geniales o funcionalidades super innovativas. Lo que yo (y aquí usted puede insertar lo que le de la gana) busco es una buena trama que me haga sentir parte de un mundo que es más grande que lo que rodea directamente al personaje, y con progresión de niveles y muchas habilidades. Y eso solo se encuentra en los RPG.
A pesar de que hemos disfrutado de buenos títulos, hay cierta escasez de RPGs: quizás tengamos dos o tres al año. Los grandes estudios insisten en sacar FPS a patadas, sobresaturando un mercado que no da para más. Porque si nos detenemos a analizar, un FPS al uso, como CoD, ya no tiene más nada que ofrecer, salvo divertirnos un rato disparándole a todo lo que se mueva. No importa que le agregues combates en gravedad cero, o desde un tanque o cualquier otro vehículo completamente alejado de todo realismo. No importa que le metas Quick Time Events por todas partes, eso no va a hacer que tu CoD sea algo más que disparar a mansalva. Lo único que está salvando a los FPS es su modo multijugador, y eso es solo hasta que llega la siguiente versión.
Nadie quiere arriesgarse. Los RPG cuestan trabajo porque llevan más contenido y tienen menos mercado. Echen un vistazo y verán: casi todos los mejores títulos de los últimos años han venido desde fuera del circuito de los grandes. Underrail, completamente indie. Wasteland 2, vía Kickstarter, por un estudio que no destacaba mucho salvo por su gente. Obsidian había estado malviviendo a base de RPGs flojones hasta Pillars of Eternity (otra vez, gracias a Kickstarter). Solo hay dos compañías establecidas que se atreven con el género y lo manejan con maestría: Bioware y CD Projekt RED, y eso, salen cada 75 años, cual cometa Halley. Absténganse de mencionar Bethesda y Fallout, porque lo han diluido tanto que ya casi no es un RPG, sino una mezcla con lo peor de ambos lados, es como tener un amigo gay muy feo que no puede presentarte mujeres y encima ni siquiera toca el piano o puede cortarte el cabello. Me pregunto si cometerán el mismo crimen con el próximo Elders Scroll.
En fin, que la vida es dura para los fans del género. Yo, de momento, me tengo que quedar sin saciar el antojo.

Cambio de labor

He decidido tomarme unas vacaciones de la escritura para adelantar otros proyectos. En definitiva, tengo una cola de tres novelas que no parece que vayana  publicarse y convertirse en dinero a corto o mediano plazo. O sea, que es hora de hacer un cambio de labor, como decimos acá.
Además, me llegó una ayuda inesperada de un amigo, y ahora puedo hacerle una ofensiva a un proyecto que supuestamente debía estar terminado en enero de este año. Aún quedan muchos detalles por pulir, pero si las cosas siguen marchando, podríamos tener un demo en un mes o dos. Y solo faltaría resolver un pequeñísimo asuntico: cómo publicarlo en Google Play. Justo ahora no tengo ningún colega  con una cuenta, y ni hablar de activarme una, a menos que alguien me diga cómo hacerlo desde Cuba y gratis.
El proyecto en cuestión es un remake de un viejo juego cubano: El Laberinto del Saber, que pueden ver en acción aquí:


Toda una pequeña obra maestra que quisiera llevar a Android, iOS y PC, si me es posible, y mantenerme fiel al diseño original. Sin embargo, el camino ha sido bastante abrupto y lleno de dificultades. Bueno, no podría ser de otra forma considerando el lugar y que estamos hablando de desarrollo de juegos.

Savior inicia su campaña en Indiegogo

Me entero a través de Gamasutra que Savior, el primer juego indie cubano, ya inició su campaña de crowdfunding en Indiegogo. El sitio oficial no ha sido actualizado, así que ignoraba esto.
Hasta el momento han conseguido $6861 de los $10000 que solicitan, así que todo parece indicar que tendrán éxito. Los que puedan, no dejen de apoyarlos.

Habrá una última temporada de Halt and catch fire

Halt and Catch Fire era una de esas series únicas, que tratan un tema que es interés de unos pocos. En concreto, la primera temporada nos narra las aventuras y desventuras de un equipo de personas intentando desarrollar el primer PC portable del mundo (licencias artísticas aparte). Y lo consigue de una forma genial, con un cierre de temporada que debió ser definitivo.
Pero el éxito ocasionó que la serie se estirara a una segunda, y luego una tercera. No los culpo. Como está la cosa, yo hubiera estirado a mi madre si me pagaran por ello. En la segunda vimos a Mutiny inventando los juegos online, y en la tercera a Mutiny creando el chat y el comercio electrónico. Sin embargo, más que centrarse en un desafío técnico, la serie se ha volcado a los conflictos interpersonales de sus personajes. En fin, que aunque no han sido malas, las temporadas 2 y 3 no me atraen como la 1.
Leí en algún lugar que la cuarta será la última y es de agradecer. El cierre  de la tercera nos deja a los personajes a las puertas de la era de internet, desarrollando un navegador, pero envueltos en más conflictos que nunca. Es muy probable que la extrañe cuando al fin se haya ido, pero es mejor que acabe antes de que vaya a peor.

Entrevista a Víctor Hugo Pérez

Cuando cayó en mis manos "Los endemoniados de Yaguaramas", me di cuenta que sería algo diferente. Era mi primera experiencia con una ucronía, en concreto, la primera y única en Cuba. Su autor, Víctor Hugo Pérez Gallo, y yo, habíamos cruzado algunos correos con motivo de su lectura de  mi primera novela, y acordamos encontrarnos en Santiago en algún momento. A pesar de que Víctor Hugo pasó por aquí hace muy poco, no pudimos conocernos en persona, así que nuestra amistad se ha desarrollado a través de Internet, mayormente.
Es uno de esos escritores que tienen un sello propio, sus propias historias muy peculiares que lo diferencian de los demás. Vale mencionar también que es uno de los incluidos en la antología Orbita Juracán (y ambos estamos muy orgullosos de ello, no se imaginan cuánto).
Hoy, estrenándome como entrevistador, les traigo una breve sesión de preguntas a Víctor Hugo Pérez Gallo, y sus respuestas.




1- ¿Desde cuándo escribes? ¿Qué has publicado hasta ahora?

Bueno la escritura siempre ha sido mi fiesta secreta, creo que aunque no escribía en físico siempre estaba ideando historias, muchas de ellas basadas en libros de cuentos del folklor rusos que mi madre me leía mientras me tomaba la leche en mi cama de niño en un perdido pueblo del norte de Camagüey. Así que no tengo memoria desde el tiempo que escribo, e igual es mejor así, e incluso tengo en mi cabeza constantemente rondándome dos o tres proyectos de libros, pero la vida me pone siempre obstáculos para escribir que voy saltando, evitando, metiéndome en cuevas, como el conejo de Alicia en el País de las Maravillas. Y muchas veces voy dejando textos míos públicos o inéditos en casas de amigos, de novias, porque hubo un tiempo en que me movía por todo el país, cuando me sentía incómodo en un lugar tomaba mi mochila y me iba con mis libros a otra parte. Y siempre uno va dejando migajas de existencia en lugares donde ha vivido. He publicado mucho más de lo que hubiera querido publicar, he tenido, digamos que suerte, ganando concursos literarios, pese a que soy un escritor marginal en el panorama actual de la literatura cubana, no trabajo en un centro del libro, no trabajo en la UNEAC o en la AHS, no soy socio de funcionarios de editoriales y para colmo no tengo tatuajes visibles o pelo largo, y mis textos no hablan mal del sistema socialista cubano ni le hago poemas a un peo, como muchos poetas “jóvenes”. Tal vez te rías, pero todo esto que te he mencionado son hándicaps para publicar en Cuba. Y si encima le sumas a que no vivo en la capital de algunos cubanos, la Habana, sino en el oriente del país, donde la vida literaria está cada día más muerta, pues ya sabes lo difícil que ha sido publicar. No obstante hay editoriales, como “La Luz” de la AHS de Holguín, donde se publican libros con mucha dignidad, allí publiqué mi primer libro y se lo agradezco infinitamente a Luis Yussef, su director, una de las voces más prometedoras de la poesía cubana actual.
Como te decía lo que he logrado publicar ha sido a través de ganar concursos, como el Premio Hydra de Novela fantástica 2014, que me abrió el camino a la Editorial Abril donde se publicó mi novela “Los Endemoniados de Yaguaramas”, una novela ucrónica, la primera que se escribe en Cuba, desde ese subgénero de la CF, y he publicado en el sello Sur de la UNEAC en la Habana, no me puedo quejar al respecto. Pero amigo mío, todo ha sido muy trabajado, ya sabes lo que dice Freud, “soy un hombre feliz: nada me ha sido fácil”


2- ¿A quién lees? Que géneros prefieres?

Uff esta pregunta tuya es la más compleja de todas. Leo de todo, hasta los papeles que están tirados en la calle. Es una deformación profesional, como sabes soy sociólogo y mi tiempo lo parto leyendo materias de mi especialidad y Literatura, pero últimamente las ciencias sociales no tienen una frontera delimitada entre ambas. Ahora me estoy leyendo “Los libros en mi vida” de Henry Miller y a la vez releyendo el excelente ensayo antropológico sobre la brujería y oscuros cultos “La rama dorada” del antropólogo Fraser, y siempre mis lecturas contaminan a las otras. Además de la “Historia natural” de Plinio el Viejo, esta última es para documentarme sobre como veían la vida cotidiana los antiguos romanos, para una próxima novela que estoy escribiendo, me interesa meterme en las representaciones cotidianas de estos, en su mundo, para verlo como lo veían por sus ojos, cuando era natural que un dios violara a una mujer humana y engendrara semidioses. Pero me estoy alejando de la pregunta, leo de todo, pero si pudiera decantarme, que no puedo, me voy por la tradición rusa literaria, con todo el respeto que me merece Harold Bloom y su canon, creo que esta tradición es muy rica, desde “El capote” de Gogol hasta la excelente novela “Que difícil ser Dios” de los hermanos Strugatski. Los géneros que prefiero, por supuesto, son los de carácter fantástico y de aventuras, aunque te digo algo: para mi las fronteras entre géneros cada vez está menos delimitada, yo leo literatura, lo importante es que esté bien escrita y listo.


3- ¿Alguna metodología para escribir?

Mi literatura se va haciendo a pedazos, soy profesor, doy clases para ganarme la vida, porque nadie, excepto muy pocos, lo pueden hacer escribiendo solamente y tengo una agenda donde voy a apuntando las ideas nuevas y luego escribo una frase. Esta frase puede ser el núcleo de una novela, o de un cuento o de un ensayo. Desde luego que tomar esto como una metodología es un idea disparatada, porque además las formas de pensar el cuento o la novela o el ensayo son totalmente diferentes.
Te diré algo: me siento muy cómodo con el cuento, allí si se siempre el inicio el final, ya sabes que siempre que se escriba un cuento la intensidad es lo que debe primar, sea del género que sea , pero yo creo que al final la mejor de las metodologías es escribir, escribir todos los días, desgarrarse el pecho en ese terrible y peligroso oficio que es la escritura. Todos estamos locos, y para escribir hace falta esa dosis de locura.

4- ¿Qué puedes recomendar a los que quieren convertirse en escritores (consejos, etc)?

Bueno, estos son mis 7 máximas:

  1. Escribir, escribir todos los días, aunque se pase hambre, frío o se esté desencantado de la vida.
  1. Fabular siempre. Tomar cada elemento de la vida cotidiana como un elemento digno de escribirse.
  1. Apropiarse de discursos ajenos, de palabras de campesinos, antropólogos, prostitutas, delincuentes, médicos: allí también hay muy buena literatura por escribir.
  1. Fracasar. Los fracasos son muy buenos para enseñarnos sobre nuestros errores.
  1. Adorar la hoja en blanco. Violarla luego. Desvirgar una hoja con un buen párrafo es el mayor placer que se puede tener.
  1. No pensar que el éxito está en la fama o el dinero que pueda proporcionar la literatura. Si la que escribes es buena, todo esto vendrá por añadidura.
  1. Siempre leer. La biblioteca de un escritor no debe de estar llena de best seller ni de obras clásicas, sino de libros que sean útiles para el oficio del escritor, útiles en el sentido pragmático de la palabra.

5- Ya que somos cubanos, no puede faltar tu opinión sobre la ciencia ficción y la fantasía en Cuba, ¿que crees del panorama actual?

Yo creo que hay muy buen momento en el panorama actual de la CF y la fantasía en Cuba. El Taller Espacio Abierto está haciendo muy buena labor en la capital, pero la escritura de la CF adolece del mismo problema de la literatura cubana en general: no existe una crítica especializada y se escribe desde guetos, aunque debo decir que colecciones como Ámbar están haciendo mucho por la difusión de este tipo de literatura en el país. Yo creo que existe un capital cultural muy grande en nuestro país en este género, y es el momento de explotarlo. En este momento se lee mucha CF en nuestro país y hay algunas publicaciones en el extranjero que se están haciendo eco de este fenómeno.

6- ¿Se nace escritor o se puede alcanzar el talento con esfuerzo?

Esta pregunta tiene un trasfondo filosófico. Yo creo que el escritor es una mujer y/o un hombre y sus circunstancias. Creo que con lo que se debe es nacer con una curiosidad congénita por todo lo que sucede alrededor. Luego se puede ser cualquier cosa, escritor, pintor, escultor, ladrón. Luego estas cualidades se desarrollan, mediante talleres, reuniones con amigos, lecturas. Pero sigo recalcando que siempre se debe escribir, hay que esforzarse todos los días emborronando cuartillas, leyendo, escuchando más que hablando. Hasta en el lecho de muerte el escritor debe seguir fabulando. Plinio lo decía hace más de 2000 años atrás: Nulla dies sine línea, o sea, Ningún día sin una línea. ¿Qué habrá más allá de la muerte, de la desaparición física? ¿un paraíso para escritores? ¿un infierno para burócratas?, ¿la nada? Ves, ya estoy fabulando. Eso es la escritura al final: imaginar la realidad.

Compartiendo antología con los grandes

Ya está a la venta en Amazon Orbita Juracán, antología de cuentos de ciencia ficción cubanos, recopilada por Leonardo Gala. Para alegría mía, me cuento entre los antologados, compartiendo con los más grandes clásicos del género como Daina Chaviano, Yoss y Bruno Enríquez. De la media y nueva generación también participa un tema de lujo: Elaine Vilar, Víctor Hugo Pérez, mi amiga Yazmín, Eric Mota y otros muchos de una calidad excepcional. Definitivamente, esto amerita autoregalarme una cerveza y festejar de alguna forma.
No es porque esté incluido, pero les recomiendo que no dejen de comprarlo, porque una selección así por fuerza es  un libro infaltable en la colección de cualquier aficionado a la ciencia ficción.

Mi tercera novela en fase de lecturas de prueba

Luego de una ofensiva tardía, al fin he concluido la tercera novela. Nada como verme bajo presión para terminar las cosas. Estaba ahí abandonada desde hacía un año, como solía suceder (ya he abandonado esas malas costumbres) y decidí enviarla a un concurso. De paso, he acudido a mis amigos para someterla ala primera ronda de lecturas de prueba, o sea, como una prueba beta.
No me puedo quejar, quizás hasta logre convertirme en escritor y todo. De momento, hay un par de opiniones buenas (digamos que dos de dos, y una valoración aún pendiente), y por supuesto, algunas críticas que necesito para mejorar.
Ahora estoy avanzando en la segunda parte de la última novela, a ver cómo me sale este experimento.

Se mueren mis speakers

Justo cuando más los necesitaba para estudiar, se me han muerto los speakers. Tengo la esperanza de que no sea nada grave y que no se deba a unas gotas de agua que le cayeron al subwoofer hace un par de días. Si no... pues toca joderse, como es habitual.
Sin embargo, esto no es nada. Hay otra cosa que se está muriendo dentro de mi PC, y no sé si será la tarjeta de video. Eso sí sería un golpe bastante duro.

Huracán a la vista

Tenemos un huracán acercándose y los pronósticos no son nada agradables. Este año parece que no escaparemos, el cono de trayectoria cubre toda la región oriental del país, así que el lunes por la noche estará.pasando sobre nosotros.
Ojalá no me lleve lo que me queda de casa, que aún tiene las huellas del ciclón anterior, hace unos años, agravadas por los temblores que hemos experimentado. Nada, que me ha tocado un lugar interesante para vivir.

Wasteland 3 anunciado

Era cuestión de tiempo que nos cayera, pero no me lo esperaba hasta después que InXile terminara con Bard's Tale. A estas alturas toda internet lo sabe, aunque los detalles son escasos. El anuncio en Facebook dice muy poco, salvo que tendremos un nuevo sistema de combate que incluye vehículos, multiplayer y ahora estará ambientado en Colorado. También se habla de un cambio en el estilo de cámara que no me queda muy claro, porque ahora será similar al de XCOM.
El proceso de crowdfunding comenzará el 5 de octubre, y como la vez anterior, seguro que supera las expectativas. Ojalá la dirección artística sea un poco más exigente y no parezca que los modelos fueron hechos por una docena de personas trabajando por su cuenta (como fue en realidad). Wasteland se merece algo mejor que eso.

John Scalzi habla sobre libros largos

Scalzi, autr de excelentes libros de ciencia ficción y ganador del Hugo por uno de ellos (Redshirts) ha publicado un artículo muy interesante, a raíz de la salida de una novela de Alan Moore, Jerusalem.
La novela en cuestión es un ladrillo de nada menos que 600 mil palabras, que dejan muy atrás otros tomos obesos como el último de Martin: A Dance with Dragons (que cuentas solo con unas modestas 420 mil palabras). Le tomó diez años a Moore escribirla, y nos cuenta Scalzi que la versión original rondaba el millón de palabras. De paso, también nos dice que el libro es muy bueno, así que no hay que dejarse amilanar por su enormidad.
Más adelante, el artículo nos revela unos interesantes números. Scalzi compara su ritmo de producción (aproximadamente una novela al año) con el de Martin, tan vilipendiado por ser un "escritor lento", y el de Alan Moore. Su conclusión, para los que no puedan leer el idioma de Chespier, es que los tres producen más o menos al mismo ritmo en términos de palabras escritas, lo que él ha dividido su trabajo en ocho novelas a lo largo de diez años, mientras que Moore ha amontonado todo en una sola,  en cambio Martin escribió una con la misma cantidad de palabras que él dividió en cinco.
En lo particular, suelo escribir unos pocos cientos de palabras al día (o casi todos los días), aunque en ocasiones me acerco a las mil. Me disculpan la imprecisión, pero suelo contar páginas, no palabras. Mis novelas oscilan entre 45 mil y 60 mil palabras, suficiente para calificar como novelas, pero demasiadas para los límites de la mayoría de los concursos. No suelo extremarme en los detalles (Yoss, muy amablemente, dice que tengo mucho "poder de síntesis") o irme por las ramas con historias secundarias, así que priorizo la acción principal, o incluso, la acción pura y bruta, sin excesivas muelas e introspecciones. En ocasiones, las divagaciones de los personajes o del narrador forman un buen 40% del texto de un libro, en mi caso, apenas alcanzan el 10 o el 15.
Supongo que alcanzar las 100 mil palabras, si lograse hilvanar una sucesión de acontecimientos lo suficientemente largos, me tomaría unos siete meses de trabajo ininterrumpido. Lo cual no está tan mal, considerando que hasta mayo de este año, consideraba un éxito escribir cuatro mil en un mes.

Savior en la prensa oficial

Los muchachos de Savior, el primer juego indie de Cuba, se han anotado un tanto: un artículo en Cubadebte, uno de los sitios oficiales con más visitas de nuestro país. Inicialmente publicado por Cachivache Media, el artículo sienta un importante precedente. No recuerdo que anteriormente se haya publicado nada respecto a los videojuegos no educativos, que no sea para denigrarlos.
Aunque el público cubano no pueda contribuir a la futura campaña de crowdfunding, la exposición en un sitio que se ha convertido en algo así como la cara de Cuba en internet no carece de importancia y abre la posiblidad de que vengan otros proyectos.
Para los interesados, la campaña debe empezar en octubre, y les avisaré en cuanto se inicie.

He intentado desarrollar para Android

Sin éxito alguno. No basta con vivir en un país desconectado, también parece haber una conspiración global para impedir que en Cuba desarrollemos software. El SDK es imposible de bajar directamente desde el sitio oficial, y después que lo tienes no puedes actualizarlo. En mi caso, el que tengo (que me enviaron desde la capital, luego de dos meses de espera) funciona para Unity, pero a la hora de usarlo con Eclipse, le falta la capacidad de crear dispositivos virtuales, salvo para el API 13, y eso no es suficiente.
En fin, que luego de tres días, sigo casi en el mismo lugar donde empecé, y el único avance consiste en saber que  aún me faltan un montón de cosas por conseguir. Es como para halarse los pelos.
Para más inri, a medida que avanza la centralización de las conexiones, es más difícil encontrar alguien que tenga la libertad de montar Tor o usar un VPN en el exterior, porque ahora casi todos salimos por algún nodo de una instancia superior, que por supuesto, prohíbe o bloquea dichas cosas.
En fin, que toca joderse.

De regreso a la oficina

Que ya me hacía falta. Han sido unas largas y desagradables vacaciones, con muchos problemas en lo personal, así que un poco de orden me viene bien. Sobre todo para recuperar mi horario de sueño normal.
A pesar de las desgracias, sigo empeñado en escribir. En estos meses solo ha faltado que me caiga un meteorito, pero por suerte, todo ha servido de motivación para mantener mi disciplina. No ha sido muy bueno a la hora de programar, pero hay que considerar que las cosas ya se están poniendo difíciles.
En fin, que la cuarta novela ya tiene su primera parte terminada, esta vez sin huecos. Ahora toca pulirla y escuchar críticas, mientras más temparno mejor, para corregir ahora que aún estoy inspirado. Su segunda parte va viento en popa, a pesar de que no es mi prioridad.
Y gracias a un amigo descubrí este juego indie cubano, al cual pretendo mantenerle un ojo encima para ver cómo les va en su futura campaña de crowdfunding.

A pesar de todo, seguimos avanzando

Suena como slogan de campaña política, pero así van las cosas. A pesar de todos los problemas con Unity, me las he arreglado para seguir empujando el sistema de combate y arreglar pequeñas cosillas. Estoy pisando en terreno complejo y el avance se me dificulta.
También he tenido que seguir escribiendo la trama solo, porque mi escritor asistente está ocupado en otras cosas. Y mayormente, lo que he hecho en estos días es escribir. Luego de terminar la cuarta novela, arranqué con la segunda parte (serán dos libros), y tengo que decir que he conseguido mantener la disciplina detrabajo y la motivación para escribir. En realidad, motivación no me ha faltado y las vacaciones han ayudado a que disponga de tiempo libre. No el suficiente, pero sí un poco más que antes.
En general, he ido descubriendo algunas carencias del sistema de objetos del juego, y encontrando otros detalles. El arte no está llegando tan rápido como esperaba, algo que no me sorprende, pero que tampoco es un obstáculo mayor. Esto es una carrera de distancia, no de velocidad, y verlo de otra forma solo traerá dolores de cabeza y disgustos.
Así que seguiremos avanzando poco a poco, un día en una cosa y otro día en otra.

Vacaciones y cambio de labor

Han sido unos días de trabajo bastante intenso para terminar mi cuarto libro (que es solo la primera de dos partes). Creo que toca tomarse un descanso de escribir y hacer otras cosas, como programar. O simplemente sentarme a jugar un poco durante las largas vacaciones de agosto.
Así que de momento he decidido hacer un breve alto en todo, y luego veré qué hacer. Gracias a la invaluable colaboración de Farrer, he logrado conseguir la última versión de Unity, que funciona correctamente. También (al fin) ha empezado a llegar el arte para el nuevo proyecto, por lo que espero dedicar un poco más de tiempo a programar que el mes anterior.
Eso, si la PC me lo permite, porque ya la fuente ha comenzado a darme avisos de que está pensando pasar a mejor vida. De ser así, sería la segunda en morir en acto de servicio. Tampoco es que sean muy buenas, ni mucho menos nuevas.
O sea, que estaré ausente, aunque no inactivo.

Unity 5.4 está aquí

Y no trae la herramienta de edición de cinemáticas, como esperaba. Al menos, no se hace referencia a ella en las notas de lanzamiento.
Justamente acabo de lograr descargar la 5.3.5, la cual ha sido bastante decepcionante. El MonoDevelop que incluye ha dejado de sugerir el autocompletado para los miembros de algunas clases (me queda por definir cuándo lo hace y cuándo no) y además el precalculado de la iluminación global me suelta una docena de advertencias, aparte de que me ha obligado a recalcular las luces dos veces. Y eso toma bastante tiempo.
Aún no sé si podré echarle el guante a la 5.4, y tampoco es que tenga mucho interés. Aunque supongo que peor no va a ponerse, y quizás hasta se arreglen las cosas.
Por suerte, no estoy programando mucho. Las últimas páginas de la cuarta novela me tienen  bastante ocupado, y también le estoy echando un vistazo a la historia del juego. Sin embargo, eso no será para siempre, en algún momento de esta semana tengo que seguir puliendo el sistema de combate, e incluso portarlo al proyecto viejo para subirlo a github.
Asi que si alguien puede "donarme" los enlaces para la descarga de Unity (esos que están alojados en netstorage.unity3d.com, que sí son accesibles desde Cuba), se lo agradecería mucho, a ver si el 5.4 por lo menos corrige los problemas del 5.3.

Torque3d 3.9

Prácticamente me he olvidado de Torque3d, así que ni siquiera me había enterado de que cambiaron de web y dominio hasta hace unos meses. Esta semana un post en el foro de FreeGamedev informaba del lanzamiento de la versión 3.9.
El anuncio resulta bastante atípico, porque se concentra más en lo que veremos en la 4.0, que será la Madre de Todas las Versiones (incluso rompe la compatiblidad con versiones previas), que en los cambios de la 3.9. Vale la pena señalar que entre las descargas podemos encontrar al fin un port nativo para Linux precompilado. No sé cuál es el estado actual del mismo.
Torque3d aún sigue detrás de otros motores de juegos libres en cuanto a funcionalidades, algo que compensa, si es que puede decirse eso, con un excelente editor. No creo que esto mejore, incluso con los importantes cambios que vienen en la próxima versión.

Planshift se está pasando a Unreal

Llevaba ya un buen tiempo sin actualizarme acerca de los progresos en Planeshift, desde que no tengo posibilidades de conectarme a ningún MMO, forzosamente he perdido el interés en ellos. Tampoco es que fuese un seguidor constante del juego, aunque lo he probado varias veces a lo largo de la pasada década y principios de esta (sí que es viejito el juego), los problemas técnicos, o la falta de interés, me han apartado de él en cada ocasión.
Así que por curiosidad hoy fui a mirar en qué estado se encuentra el desarrollo, y me encuentro la sorpresa de que hace más de un año decidieron intentar portar el juego a Unreal Engine 4. Durante años, Planeshift fue casi como el buque insignia del motor CrystalSpace, que en su momento fue una de las pocas opciones para los desarrolladores de juegos libres. Un poco más complejo que Ogre3d, y siempre desactualizado, con unas herramientas de artista francamente penosas, me preguntaba cómo era posible que Planeshift lograse mantener un proyecto tan grande con una herramienta tan pésima.
Un fork de Planeshift, Tempest in the Aether (que parece haber desaparecido ya), se deshizo en sus primeras etapas de CrystalSpace en favor del motor de Ryzom, si no recuerdo mal.
El esfuerzo no ha concluido aún, no parece haber una versión del cliente basado en UE por el momento, pero es de esperar, considerando la magnitud de la tarea y que habitualmente los cambios en Planeshift suelen tomar años en concretarse. De esto lo que me resulta raro es que Unreal Engine prohíbe el desarrollo de software libre en su licencia, así que supongo que el cliente ya no será libre en el estricto sentido de la licencia GPL. Quizás sea solo gratis.

¿Habrá scripting visua en Unity?

Ayer, durante una búsqueda de algún tutorial para el dichoso sistema de combate del juego, me encontré que existe una cosa llamada Playmaker, que es un paquete que añade scripting visual a Unity. Como el Blueprint de Unreal. Eso me trajo a la mente la propuesta de agregarle esa funcionalidad a Godot, que los usuario no acogieron de buen grado, porque preferían que se invirtiese el esfuerzo en cosas más necesarias.

Blueprint se nos presenta como la panacea para los que no saben programar, en teoría puedes hacer cualquier cosa sin escribir una línea de código. Hacer juegos sin programr ha sido el objetivo de muchas otras herramientas a lo largo de la historia de los videojuegos... y no seguiré por ahí porque no viene al caso. Pueden tildarme de obsoleto, pero siempre digo que hacer un juego sin programar quizás esté bien para cosas sencillas, pero que tarde o temprano tendrás que ensuciarte las manos con C++.
En cuanto al tema principal de esta anotación, creo que en algún momento caerá. Al igual que sucedió con Godot, la comunidad apoya mayoritariamente que se priorizen otras cosas, y también está muy dividida en cuanto a la efectividad real del scripting visual, o en concreto el Blueprint, que es el más extendido en la actualidad (vale aclarar que desciende de Kismet, o sea, que no cayó del cielo). Me abstengo de opinar sobre algo que no sé.
Lo que sí podría asegurar es que la afirmación "permite hacer juegos sin escribir código" es demasiado atrayente como para resistirse a su llamado. En especial para un motor que se adjudica el título de paladín de los indies, defensor de los débiles y muleta de los que no somos desarrolladores pro. Me pregunto cuántas cosas prioritarias quedan en la cola, ahora que Unity3D ya cuenta con su propio editor de cinemáticas, antes de que se decidan a trabajar en este tema. Yo me decanto por un sistema de shaders mucho mejor, y otros muchos también. Para empezar, ni siquiera tenemos un shader SSS decente.
No es que mis predicciones valgan un comino, pero creo que podríamos ver algo de esto en un año o dos.

Un paso más

Este fin de semana lo dediqué a trabajar en el sistema de combate, y creo que he dado un paso más. Lo que no sé es en qué dirección. Esto ha probado ser una cosa bastante compleja, con muchos subsistemas involucrados, o mejor dicho, enredados.
Quizás lo estoy haciendo de la forma incorrecta, pero combatir implica múltiples cambios de estado de animación, en dependencia del arma. Hay que verificar los objetos equipados (ahora solo tengo en cuenta las armas), las habilidades, etc. No hay que olvidarse de que los NPC necesitan una IA que se encargue de eso. Al principio, pensé que RAIN resolvería todo, pero en esencia, es solo una solución cómoda para implementar sensores y algunas conductas sencillas. El combate es todo tuyo. Vale la pena mencionar que RAIN usa su propia malla de navegación, así que hay que utilizar el componente de IA para mover los personajes. Esto puede resolverse, pero ya sería un paso adicional, durante el cual podrían aparecer más problemas.
Por el momento, el prototipo permite pelear contra un NPC (realmente, varios pueden atacarte a la vez) , utilizando armas cuerpo a cuerpo o de rango, hasta que uno caiga muerto. Unas animaciones apropiadas ayudarían, pero aún no las tenemos. Esto sirve para probar el concepto y poco más.
El algoritmo del sistema de combate en realidad es muy simple y se resume a lo siguiente:
1- Si el jugador está en modo combate, hacer click en un NPC genera una acción ataque, que por defecto utilizará el arma equipada. Si ya hay  acciones en la cola, el click se ignora.
2- En el método Update() de la clase del jugador, se verifica si hay acción en la cola. Si la hay, se verifica que no estén en cooldown y se ejecuta (implica verificar si el objetivo está dentro del rango del objeto equipado). Si el cooldown ya terminó, se elimina.
Desde el punto de vista del NPC, es mucho más complejo, aunque la mayoría aún esté pendiente de implementar. Por ahora, lo que hace es encolar ataques. Insuficiente para divertirse un poco, aunque quizás la cosa cambie cuando le agregue algunas habilidades.
Desde el punto de vista del sistema RPG, faltaría por agregar variables que hagan el combate menos determinista, sin necesidad de acudir al socorrido atributo Suerte. También completar un conjunto de habilidades balanceado para cada estilo de lucha, algo que haré cuando termine todo lo anterior.

Sistema de combate

Luego de unos cuantos días de trabao y pruebas, he logrado un prototipo del sistema de combate. Está bastante incompleto por ahora, pero espero ir puliendo detalles para poderlo someter a pruebas reales. Al final descarté la idea inicial, en la cual las aciones se ejecutaban automáticamente sobre el objetivo, en favor de un sistema que demanda más atención por parte del jugador. O sea, antes el jugador solo intervenía para encolar alguna habilidad, mientras el ataque se repetía, ahora, hay que seguir clickeando para desencadenar más ataques. Es el sistema típico en la mayoría de los RPG que he probado en los últimos tiempos.
No ha sido un trabajo fácil, porque realmente solo tenía una vaga idea de cómo hacerlo. Es posible que siga descubriendo cosas a medida que avanzo, o incluso puede que ni siquiera sobreviva la etapa de pruebas. Si no me resulta divertido a mí y las víctimas que lo testeen, habrá que volver a la mesa de diseño. El sistema de combate se complica porque depende de otros subsistemas, como el de inventario, objetos y habilidades, que a su vez aún están bastante incompletos y son propensos a ser reescritos.
La buena noticia es que pronto debería empezar a integrar el arte específico del proyecto. Es de esperar que los dos artistas 3D estén trabajando a full a partir de la semana próxima para producir los personajes básicos del demo. Quedaría por cubrir algunos huecos, pero que no son de urgencia ahora. En cambio, lo que sí se mantiene deficitario es programación, que la hago yo solo, y arte 2D. Si alguien se anima acolaborar, pues bienvenido.
 

Buscando la motivación para trabajar

En un reciente encuentro entre Stephen King y George R.R Martin, éste le preguntó a King cómo hacía para escribir tan rápido. La respuesta de King fue que tenía una disciplina establecida de escribir cierta cantidad de páginas al día. Sí o sí. Como escritor, puedo dar fe de que si no lo haces de esa forma, tu libro nunca verá la luz. A menos que seas de los que pueden sentarse y escribir cien páginas en un día y volver dentro de un mes y escribir las otras cien.
Sin embargo, simplemente decir que vas a escribir X páginas cada día no es suficiente. La escritura creativa depende de algo que llamamos inspiración. Si no tienes deseos, o si simplemente no sabes qué va a continuación, no podrás escribir por muy disciplinado que seas, o te saldrá un bodrio sin sentimiento. Esa inspiración, o motivación para continuar, hay que sacarla de algún lado.
Y ya que estamos, programar es muy parecido, también demanda su dosis de inspiración y motivación.
Yo considero que todo puede ser una fuente de motivación, si decidimos asumirlo como tal. Mi ex-novia solía justificarse diciendo que no podía escribir porque no tenía las condiciones, la tranquilidad, etc. Yo digo que hay que utilizar los buenos momentos y también los malos. Nada me motiva más para querer escribir que las necesidades y desgracias con las que vivimos a diario los cubanos de a pie (esa categoría de personas, que efectivamente, andamos a pie y a menudo con zapatos rotos). No porque sea un masoquista, sino porque me obligo a pensar que escribir tal vez me saque de esa situación, al menos mientras dure el exiguo pago por los derechos de publicación. Todos tenemos nuestra cuota de pequeños (o grandes) problemas o frustraciones. ¡Echalos a la caldera de la motivación!
No obstante, inspiración o no, siempre es bueno que cada día pongas al menos dos o tres líneas, o revises y arregles algo. Algunos son partidarios de que la inspiración te llegue trabajando. En mi experiencia, eso funciona... a veces. Es muy difícil establecer un método que funcione para todos, así que cada cual tendrá que buscar el suyo. Los días que decido programar, casi siempre le echo un vistazo a los mejores trailers de juegos de mi colección. Ver a los grandes me hace querer emularlos, me impulsa a sobreponerme a mis limitados conocimientos y recursos.
Ya seas escritor o programador, mi consejo es que identifiques qué cosas te motivan, y también las cosas que deberías convertir en motivadores, porque el simple hecho de fijarte una meta no es suficiente. En ocasiones, no queda más remedio que detenerse por un tiempo y dejar que el tiempo pase. Eso es normal (excepto en los casos en que la parada dura más de un año), y no deberías forzarte a trabajar.
Espero que mi modesta experiencia les sirva de lección. Y si alguien puede sugerirme otros métodos, pues soy todo oídos (u ojos, en este caso).

EA Play

Ayer logré descargar  la conferencia de EA Play. Un consejo, no vean nada comentado en español. Al final, los comentaristas dicen muy poco, y lo que hacen es bajar el volumen del audio en inglés a ratos. Al final, ni entiendes a los españoles ni a la gente de EA.
La conferencia me pareción un poco sosilla, como si no tuviesen nada bien terminado y hubieran llevado lo que tenían a mano en ese momento. Lo que hicieron fue tirar un par de videos de gameplay, con una edición alocada y frenética para hacerle creer a la gente que aquello era muy divertido, como en el caso del multiplayer de Titanfall 2, y el gameplay de Battlefield 1. En este último, el gameplay real se reduce a segundos.
Novedades que valga la pena mencionar, que Titanfall 2 tendrá una campaña y FIFA 17 un modo historia. El programa EA Originals suena interesante, y se resume más o menos a lo siguiente: "como no tenemos ni puta idea de cómo hacer un juego nuevo que no sea Star Wars, Battlefield o FIFA, pues vamos a buscarlo entre los indies". La idea es repetir el impacto que tuvo Unraveled, y en esta ocasión el escogido fue Fe. Jueguitos indie, sencillos y llamativos. Play To Give es una iniciativa para donar dinero que no me quedó muy clara, porque fue el momento escogido por los comentaristas gallegos para bajar el volumen y hablar ellos.
Mass Effect: Andromeda se merece mencionarlo... y más nada. Mostraron tan poco del juego que es como no haber visto nada. Eso sí, esas tabletas gráficas que usan los dibujantes de Bioware están geniales. No sé dibujar, pero quiero una.
Mucho impulso a los E-Sports, con un millón de dólares en premio para el torneo de Madden NFL. Los entiendo, cada estudio quiere llevarse un pedazo del pastel en este mercado. Hay un montón de juegos de Star Wars en desarrollo por diferentes estudios, diría yo que demasiados. Pero si eres fan de la saga, tendrás para empacharte.
En fin, como el cangrejo: mucha muela y poca carne.

Otro intento con Unreal Engine

Gracias a un colega radicado en Brasil he logrado acceder al repositorio en github de Unreal Engine. Sin embargo, no me ha sido posible compilarlo todavía, porque aparte del código fuente, es necesario una descarga adicional de casi 4gb, sin opción de continuarla cuando se interrumpe. Además, me falta otro requisito: Visual Studio 2015. La versión 4.6 solo pedía VS 2013, que de por sí me resultaba complicado, como ya expliqué, porque solo podía activarse online.
En cambio, el VS 2015 ni siquiera he logrado empezar a descargarlo, porque la página se queda ahí dando vueltas. Así que no me queda otra opción que seguir con Unity o hacer mis pruebas con la versión vieja de Unreal Engine, que es la única que tengo a mano. Definitivamente, no es un motor para desconectados. En esta época, ninguno lo es. De todas formas, si alguien puede poner a mi diposición el VS 2015, en un hosting un poco más cómodo, se lo agradecería.
Las buenas noticias son que en estos días he corregido muchos pequeños bugs. La mala, que me han tomado bastante tiempo cada uno. Estudiar el código del proyecto anterior me ha hecho percatarme de algunos graves problemas de diseño; les recomiendo que no usen The Key of the World como guía para crear su propio juego, al menos no por ahora. Es necesaria una reescritura de varias cosas, que me tomarán un par de semanas (quizás más, quizás menos). Los cambios deberían venir ya con el sistema de combate y el manejo de ítems como las armaduras. Manténganse en sintonía.

Solucionando bugs

Lo bueno de ser escritor y desarrollador es que si un día no me siento inspirado para escribir, puedo dedicarme a programar, y viceversa. Y cuando no me siento con inspiración de escribir o programar, bueno, ahí interviene mi tercera profesión: gamer.
Este fin de semana solucioné un error en el manejo del drag&drop en la ventana de inventario que me venía molestando desde que la implementé. Se trataba de un error lógico mío, por utilizar GetComponentInChildren(), cuando lo correcto era buscar el elemento hijo y obtener su componente Image. Aparentemente, la cosa funcionaba, pero a la hora de arrastrar, solo conseguía un cuadro blanco.
El segundo problema era más complicado, porque no sabía a qué código culpar por el mismo. Para más inri, hacía que el editor de Unity3d explotara. Tuve que acudir a los logs para poder trazar de alguna forma el origen del error, hasta que al fin lo descubrí. Así que ahora los niveles vuelven a ser jugables de forma independiente, lo cual es muy importante para echarles un vistazo rápido, sin tener que pasar por todo el proceso de crear el personaje, o incluso escenas previas.
Con estos detalles resueltos, puedo enfocarme otra vez en mi objetivo de tener un sistema de combate funcional, así podré ir probando las ideas de diseño que hemos tenido sobre el mismo y encontrar cuál es la más divertida.

Un poco de nostalgia: juegos retro

El Laberinto del Saber es un juego desarrollaod en Cuba a finales de los 80 o algo así, para MS-DOS. Aquí pueden verlo en acción:

Desde hace un buen tiempo que quiero hacer un remake moderno orientado principalmente a plataformas móviles, al principio lo intenté con SDL 2, pero luego decidí usar un motor decente. Entre Godot y Unity3d me decanté por el último, para no invertir tiempo en aprender una herramienta que no me serviría para hacer más juegos.
Sin embargo, el proyecto ya acumula unos seis meses de atraso por diversas razones, y ni siquiera tengo una imagen para mostrar. Así queni hablar de fecha de lanzamiento.

Leyendo a Sapkowsky

Este es uno de mis escritores favoritos y es lamentable que haya tan poco de él en español. Aunque hay que reconocer que Andrzej Sapkowsky no ha sido tan prolífico.
A Sapkowsky le basta con su saga de Geralt de Rivia para ser una figura de renombre en la literatura fantástica. La fama de los juegos basados en el personaje del brujo Geralt, me parece, no le han acarreado una fama enorme, porque muchos olvidan (o simplemente no se interesan en averiguar) que el Wiedźmin no fue creado por CD Projekt RED. Por suerte, como les decía, entre los lectores ya Sapkowsky era un referente aún antes de que salieran los juegos.
Tenía entendido que estaba trabajando otra serie de libros, basados en las Guerras Husitas, así que hace poco decidí buscar si ya estaban disponibles en español. Y resulta, que además de los dos libros de dicha saga, me encontré Víbora, un tercero completamente distinto, ambientado en Afganistán durante la invasión soviética.
No obstante, no es de eso que quiero hablarles, sino de Narrenturm, el primero de los dos basados en las Guerras Husitas. Un libro que vuelve a ese estilo desenfadado y humorístico presente en los dos primeros títulos de Geralt de Rivia, que influenció tanto mi propia forma de escribir. Aunque la historia se alarga un poco, lo cual se nota más hacia el final, es divertido de leer, más que por la trama en sí (que recuerda una clásica comedia de enredos) por ese humor que no se va más allá ni se queda corto: término medio con papitas fritas.
Un libro genial, que les recomiendo leer, por supuesto.

COD, el más odiado, Battlefield 1, el más gustado

Al final, sabemos que COD va a vender como churros (como churros rebajados, claro), pero ahora la el futuro título de Infinity Ward está de moco caído. El trailer de COD: Infinite Warfare ha resultado ser el más odiado por los internautas, que se han extremado valorándolo con No me gusta. Parece que la nueva entrega de la saga, con sus naves espaciales y combate en baja gravedad no ha caído muy bien que digamos. Por lo menos a mí, las anteriores entregas me gustaban cada vez menos.
En cambio, el trailer de Battlefield 1 ha conseguido llevarse las valoraciones positivas que le tocaban y las del COD, siendo uno de los más gustados de Youtube. Battlefield 1 no se va al futuro para explorar escenarios nuevos, sino bien al pasado: a la I Guerra Mundial. Con un montaje frenético, nos pasea en biplanos, nos lleva a la guerra de trincheras con peleas a golpe de pala y no faltan las nubes de gas tóxico tan típicas de la época. En fin, que deja al COD a la altura del betún.
Y no podía ser de otra forma, porque creo yo que la saga COD ha perdido el rumbo en la búsqueda de la originalidad, sumiéndose cada vez más en la trama simplona y mecánicas de juego estúpidas, que hacen que jugar una de esas entregas recientes sea como ver una peli de ciencia ficción, pero de las malas. Alguien debería sacar una lección de esto, pero no me cabe duda de que no lo hará, porque, como les decía al principio, muchos van a  comprar esta porquería de juego. Aunque después se quejen.

Sistema de entidades

Casi todo juego debe llevar una lista del estado de ciertas entidades: donde están, si las hemos tocado, si están vivas o muertas, y etc. Una entidad no es solo un NPC (como pensé ingenuamente al principio). Si has abierto un cofre y arramblado con todo su contenido, o dejado dentro de él esa maza de hierro que no vale medio para que no haga bulto en tu inventario, eso también hay que guardarlo, o cuando regreses del otro lado del mundo, el cofre tendrá los mismos objetos que ya te llevaste una vez.
Mi primer enfoque a este asunto, que como ya decía obviaba los cofres y similares, consistía en llevar una lista, o Dictionary más exactamente, con los NPC. Al salir de una escena desactivaba los GameObjects de los NPC, agregándolos a esta lista si no existían. Al cargar una escena revisaba la lista para reactivar los GameObjects necesarios, que volvían a la vida justo donde se habían quedado. El método era sencillo y funcionaba.
Sin embargo, resulta que en realidad la forma más común de implementar esto es ligeramente diferente, y no podía faltar, más compleja. El caso es que debemos guardar en disco el estado de las entidades al salir de la escena, pare recargarlo al regresar. Eso implica enredarse con serialización/deserialización de objetos un poco complicados, un trabajito que siempre he dejado para más tarde, o para que lo haga otro. En fin, no es que mi primera solución esté mal, sino que a la gente más experimentada no le gusta por cuestiones de consumo de memoria.
Así que ya saben la forma correcta de manejar su lista de entidades. Ya también saben una menso correcta, pero que funciona.

Localización del proyecto

Una de las cosas que quería probar en este nuevo proyecto, ya que la idea era hacerlo bien desde el principio, es la localización de toda la interfaz. La cosa no es tan difícil, pero se me había complicado por una nimiedad. Los textos estaban omitiendo las letras con tilde y la solución era, en teoría, muy fácil: el archivo de origen de los textos debía estar guardado en UTF-8. Había solventado esto diciéndole al MonoDevelop que los guardase así, pero al parecer no lo hizo, así que para salir de dudas tuve que acudir a Linux. Desde el editor de texto abrí los archivos y los volví a guardar, y para mi sorpresa, las cosas empezaron a funcionar. Por supuesto, es esencial contar con una fuente que tenga las dichosas letras, o no habrás hecho nada con guardar los textos en utf-8.
El asunto, como les decía, no es complicado, pero sí es extremadamente trabajoso. Un prototipo sencillo con apenas algunas cosas ya lleva más de un centenar de líneas, mitad español mitad inglés. Los elementos de la interfaz necesitan un script adicional que tenga el código de referencia, para cambiar el texto a mostrar en tiempo de ejecución (esa es mi solución, si alguien tiene otra mejor, me gustaría conocerla).
Hasta ahora he implementado algunos sistemas básicos que permiten algo de jugabilidad, pero solo pruebas de concepto. De ahora en adelante las cosas sí se pondrán serias, porque me estoy adentrando en terreno complicado. Por ejemplo, ya es hora de integrar una solución seria de IA, como RAIN, que parece ser la única que hay para Unity3d, y además es completamente gratis.
También quiero probar algún sistema de diálogos, algo que ha probado ser, no complicado, pero sí trabajoso en extremo a la hora de crear las conversaciones. Aquí, por desgracia, las opciones no están tan claras como con la IA, porque casi todas las soluciones son comerciales, y aunque quisiera pagarlas, de momento eso me resulta imposible.
He pensado llevar el prototipo hasta un punto medianamente jugable y liberarlo bajo alguna licencia libre para que sirva de ayuda a los que se inician. Quizás no tenga las mejores soluciones, pero un punto de partida es mejor que no tener nada.

Video del proyecto

Pequeño gameplay, para presumir de algo (casi nada), del proyecto de juego RPG isométrico. 

Unos pocos sistemas están implementados y funcionando, aunque solo la cámara se puede decir que está al 100%, pueden encontrar el tutorial en mi otro blog (en inglés). Cualquier sugerencia que pueda ayudar a mitigar los problemas es bienvenida. El código, bastante actualizado, está en el repo de github. Algunos de los modelos 3D utilizados están disponibles en OpengGameArt.

Warcraft - Trailer 2 (HD)

Al fin, el M1 Abrams consigue protección activa

Parece que los marines han descubierto que existe una cosa que se llama protección activa, y están integrándola en sus veteranos tanques M1 Abrams. El sistema en cuestión es el Trophy, de origen israelí (obra, por supuesto, de Raphael Advanced Defense Systems, unos tipos que le saben un mundo a eso de interceptar tubos de metal voladores) y supongo que sea un equivalente al Arena ruso.
El APS es una defensa antimisiles, que actúa disparando contra los cohetes antes de que éstos alcancen el vehículo. También puede utilizar interferencias contra ellos, en el caso de que sean guiados por algún método susceptible de ser interferido.

Como les decía, el T-90, y no sé si algún predecesor, incorpora Arena, un sistema similar diseñado en los 70 (es tan viejo que fue probado en los T-55, y demostrado en los T-80), amén de otras cosillas como blindaje reactivo Kontakt, que es ya obligatorio, y Shtora, que se encarga de contrarrestar el guiado láser o infrarrojo.

Y ahí vamos

Y ahí vamos, señores, robándole un rato al sueño y a otros horarios inmencionables, con tal de avanzar en este proyecto a muy largo plazo en el que estamos empeñados un minúsculo grupo (o sea, un grupúsculo) de locos nacidos en el país equivocado. Porque acá es perfectamente válido ganarse la vida, o hacer muy rico, de hecho, cantando reguetones de mal gusto con letras que ya podrán imaginarse, y sin embargo aún le damos vueltas a si los videojuegos engendran violencia.
Tan atontado ando que ya mi novia se ha encargado de hacerme notar que estoy medio entretenido, sin percatarse de que es un milagro que entre el cuarto libro y la programación del juego no haya perdido ya la chaveta. Pero ahí vamos, como les decía. Hace unas semanas daba por liquidado The Key of the World, el juego RPG libre que habíamos venido desarrollando desde hace año y medio, pero en verdad, eso no ha sido tan así. El caso es que este jueguito está sirviendo de campo de pruebas donde experimento hasta encontrar la forma correcta de hacer las cosas, antes de pasarlas al prototipo del segundo juego. Todo eso va a parar al repositorio de Github, para que beneficie a cualquier programador novato en apuros que tenga la paciencia suficiente para leer el código.
O sea, trabajar doble, para hacerlo mejor la segunda vez. Incluso llegué a plantearme la posibilidad de iniciar otro proyecto completamente diferente (estrategia por turnos) para ampliar las posibilidades de experimentación. Definitivamente, una locura, aunque no descarto que me complique la vida con eso en algún momento.
El esfuerzo de las últimas semanas me ha hecho darme cuenta de que al menos para mí, un año de experiencia con un motor de juegos no es suficiente. Quedan muchos cabos sueltos y aún dependo demasiado de la ayuda de internet.
No obstante, de vez en cuando me asombro a mí mismo con algún avance substancial, como el de esta semana. He logrado implementar un "esqueleto" básico que me permite probar la jugabilidad lo mismo arrancando desde el menú de inicio que desde una escena aislada. Detrás de la aparente simplicidad de esto se escondían detalles enrevesados, que me obligaron a  rastrear el orden de ejecución de varias cosas dentro de la clase principal del juego. Por suerte, todo está en orden, y he conseguido ahorrarme bastante tiempo a la hora de probar escenas.
Por tanto, ahora toca hacerle una ofensiva a fondo a algunos sistemas esenciales, como los objetos, habilidades y combates. Veamos si logro cumplirlo en una semana.

Mejorando la escritura: cuentos

En los últimos meses me he obligado a escribir un poco más (no mucho) y asistir al taller literario. Si quieres aprender a escribir bien, un taller literario es una herramienta esencial; la crítica de los lectores ayuda a mejorar. Aún la crítica más demoledora, siempre que sea con bases sólidas.
Mi regreso al abandonado taller se debe sobre todo a la necesidad de revisar a fondo mis escasos cuentos (pueden leer dos de ellos en Isliada.org) para presentarlos en un par de concursos. No soy muy amante de los concursos, pero son importantes para el currículum de un escritor, así que no está de más hacer lo posible, y hasta lo imposible, por conseguir un par de ellos.
Tengo que decir que con apenas tres sesiones de trabajo empecé a ver detalles que no tuve en cuenta al escribir los cuentos, y la pequeña dosis de teoría que he logrado asimilar me ha resultado muy útil. Por ejemplo, el cuento requiere de un conflicto, y he tenido que revisar mis escritos y valorar si estaba presentando adecuadamente dicho conflicto al lector. Un cuento debe ser autocontenido, no puede tener referencias externas, como en el caso de mis cuentos basados en Elymuria. El lector no necesita leer la novela (que les recuerdo, pueden comprar en Amazon) para saber qué es un Tecnólogo/Denmar/Cacharrero. Todo el mérito se lo lleva la profesora, por supuesto, pues Aida Bahr es toda una personalidad de la literatura cubana, y he podido comprobar lo que afirma Yoss, que tenemos un taller literario de lujo.
Es por ello que mi consejo para los aspirantes a escritores es que busquen un taller. Quizás no tengan uno de lujo, pero la opinión de otros escritores (o aspirantes) es suficiente para avanzar, si se tiene la humildad para asimilar la crítica constructiva.

Animation events al rescate

Hoy me tocó, entre otras muchas cosas, encontrar una solución para un asunto que venía molestándome desde hace tiempo: determinar cuándo una animación ha terminado de ejecutarse. Una de las opciones es usar Animation Events, una útil herramienta que encuentreas cuando entras en el modo de edición de un clip. No es muy intuitivo, la documentación es escasa (a menos que tengas acceso al sitio de Unity3d, que justo ahora no tengo, o puedas ver videos de youtube en tiempo real), y en general no es el desafío intelectual más agradable para un viernes por la tarde.
Por decirlo de alguna forma, entre las cosas que no querría hacer, esto puntúa ligeramente por debajo de un trámite en el Registro Civil. Ni siquiera puedo decir que domino completamente el procedimiento, aún me espera un poco de experimentación en casa para sacar algo útil de esto. En concreto, necesito regresar al estado de animación anterior luego de ejecutar un clip. Por ejemplo, en medio del combate el personaje da un golpe, que es una animación de una sola vez. En cuanto esa animación ha terminado, se regresa a la anterior. Creo que también podría utilizarse Animator.IsPlaying, pero no encuentro esa función en la documentación.
Por suerte, no todo el trabajo es tan pesado, también hay otras cosas que podemos calificar de tediosas. Por mencionar una: lograr entender el sistema de eventos del UI, a través de las interfaces. Hay mucho espacio para conseguir la locura ahí.

Analizando el trailer de Cyberpunk 2077

Me ha tocado estudiar el manual de Cyberpunk, el juego de mesa, para concretar algunas ideas que no lograba organizar adecuadamente en el diseño del próximo proyecto (que ya ha dejado de ser próximo, porque le estoy dedicando casi todo el tiempo). Resulta que no andaba muy desencaminado con ciertos detalles, pero eso es otra historia y será contada en otra ocasión.
El caso es que aún guardo en casa el trailer de Cyberpunk 2077, el demorado título de CD Projekt RED, y mientras leía, le eché un vistazo para comprobar quién es quién en este brevísimo video. Inicialmente pensé que el policía que aparece al final era un C-SWAT, pero no, es un MAX-TAC (Maximum Force Tactical Division). C-SWAT y MAX-TAC son grupos de la policía especializados en lidiar con los cyberpsychos, personas que padecen ciberpsicosis. Según las reglas de Cyberpunk 2020, los implantes cibernéticos tiene un costo: reducen tu empatía. Si la empatía del personaje alcanza un nivel mínimo, éste pierde su humanidad, se vuelve frío y agresivo, en fin, se convierte en un cyberpsycho. La joven a prueba de balas con cuchillos incorporados en los antebrazos es uno de estos.
Obviamente, si me hubiera leídola descripción del video en youtube me habría enterado de todo esto mucho antes, pero como suelo descargarlos directamente, muchas veces me pierdo información como ésta.



Star Wars, al fin la he visto

Me tomé todo el tiempo del mundo para conseguir una copia que se viera decente. Ya que no podemos verla en el cine, pues por lo menos, vamos a verla bien, digo yo. En general, la película me dejó con unha sensación de... incompletitud, por decirlo de alguna forma. Si alguien tiene un sinónimo aceptado por la RAE, que lo sugiera.
A new hope se hizo como si no fuera a haber un mañana (quizás porque en verdad, no lo había). La película en sí misma no requiere de más nada, hay acción, los buenos ganan, etc. The force awakens es más o menos lo mismo, pero en esta ocasión, JJ Abrams sabe que sí hay un mañana y todo se queda como a medias. Es como un reboot de la trilogía original, pero como ahora sí están garantizadas las otras dos partes, muchas cosas se dejan colgando.
Y digo que es un reboot porque si lo analizamos, el Episodio VII es como el IV (salvo que el VII tiene más palitos, y los lleva detrás). Veamos: descubrimos nuevos héroes, dos, para no escatimar, aunque aún no me queda claro qué pinta Finn en todo esto. Uno de los buenos muere, en este caso, uno muy querido (si el tal George Martin que nadie lo conoce los mata por montones, ¿por qué no lo podemos hacer nosotros?). Quizás fuese necesario para completar el paso al Lado del Apagón de Kylo Ren, un villano bastante soso, que más que villano parece emo. Tan inútil que ni siquiera puede ganarle a Rey (ojo, que la chica sabe manejar un bastón), que recién acaba de descubrir la Fuerza. ¿Y este es el tipo que destruyó la escuela de Luke Skywalker? Con razón la máscara de Vader tiene el careto tan retorcido, con un nieto así... Estoy seguro de que le diría "mira chaval, a tu edad ya yo me había cepillado a todos los jedis, niños incluidos, un Lord Sith, y solo se me escapó Obi Wan porque resbalé y me caí en una bañera con agua caliente". Y detrás de Ren, ese malo, siempre presente a través de holochat, pero esta vez a 4K y en pantalla de 100 pulgadas.
Tenemos una épica batalla de X-Wing vs Ties, tratando de destruir el reboot de la Estrella de la Muerte, pero estamos tan ocupados viendo cómo Finn, Rey y compañía intentan salir de ahí, que nos pasamos por alto toda la acción. En fin, que la peli es divertida, pero no sobresale mucho del montón y eso es imperdonable. La saga se merece un poquito de cuidado.

Más miembros para la cofradía

Resulta agradable encontrarse de vez en cuando gente con similares intereses, en especial, cuando esos intereses son muy poco comunes. Es como encontrarse otro bicho raro y pensar: "¡vaya, resulta que no iré solo al manicomio!".
La semana pasada tuve la suerte de encontrarme con otro par de aficionados al desarrollo de juegos, que si bien sabemos que ya son legión en la capital (allí cualquier cosa es legión), acá en el oriente del país, en la rebelde, hospitalaria y heroica ciudad de Santiago de Cuba, que resulta ser también primitiva, aletargada e inmovilista, los creadores de videojuegos son una especie rara y poco estudiada. Especie que, a diferencia de otros raros, no suele exhibirse los sábados por la noche en el ilustre Parque Céspedes, especie de zoológico local donde se pueden apreciar las diferentes faunas que puebla la susodicha villa.
Hete aquí que un colega me presentó a un joven modelador interesado en desarollar juegos, que a su veza, me trajo otro, programador, ambos con ciertas habilidades y experiencia en Unity3D. Buenos muchachos, con deseos de meterse en la industria sin exigir salario previo, algo raro en estos tiempos, y sin detenerse a cuestionar si la tarea es muy grande o imposible de realizar.
Es por ello que estoy haciendo todo lo que está a mi alcance por ayudarlos, con documentación y software, amén de invitarlos a participar en el proyecto actual, que aún está en fase de diseño. Invitación que aceptaron encantados, porque les ha gustado la idea, aunque no abandonan su sueño de algún día crear su propio FPS, en el cual espero poder echarles una mano también. En momentos así es que más lamento no ser millonario, para poderles echar una mano con otros detalles más materiales, como por ejemplo resolverles el problema grave que tienen de insuficiente hardware. Pero bueno, así es la vida.