Un breve e incompleto vistazo al Olimpo de los escritores de fantasía y CF modernas

Tolkien es el puto Amo y Creador del Universo, que está ahí desde siempre. A su derecha hay una pelea formada entre Brandon Sanderson y George R. R. Martin, que quieren ocupar la silla de ese lado. Por su parte, Joe Abercrombie se ha aprovechado de eso y se ha adueñado de la silla a la izquierda del Maestro, está ahí muy cómodo, viendo como los otros dos se pelean por una simple silla, a fin de cuentas, izquierda o derecha, da lo mismo. Detrás del Amo del Universo están Gaiman y Terry Pratchett, sus secretarios y escribsa personales.
Frente a nuestro Señor Celestial hay un coro de querubines. O algo así. Uno de ellos es un tipo gordo y con barba, llamado Patrick Rothfuss. Lo metieron ahí porque cantaba muy bien, pero a mitad de canción se le olvidó la letra, y ahora solo está ahí, callado y con aire de saber lo que hace, pero la verdad es que no tiene ni esta idea. Muy cerca de Rothfuss podemos ver a un viejo con cara de amargado con un nombre polaco impronunciable. Escribió unos papiros muy interesantes, pero una empresa los convirtió en estampitas de colores que se vendieron muy bien y él no vio ni un céntimo. No lo culpo, yo también tendría mala cara si me sucediera eso. Encima, los mortales en su infinita ignorancia ahora creen que él copió de las estampitas, y no al revés.
Hay un montón de gente más en el coro, como Brent Weeks. O Jim Butcher, que solo se sabe una estrofa de la canción celestial, pero la repita una y otra vez. Todos cantan ante el Dios Terry, y de paso se empujan y pisan unos a otros. En esa trifulca han apartado a un rincón a un señor de cierta edad con barba, llamado Robert Jordan (en realidad, se llamaba de otra forma, pero ese sonaba mejor). En su momento, escribió una canción genial y larguísima, y todos creían que sería el Puto Amo del Universo. En medio del tumulto está R. A. Salvatore, que pergueñó unas historias raras acerca de un habitante de las profundidades, que en vez de ser albino como dictan las buenas costumbres de la biología, es lo totalmente opuesto, quizás por cuestión de camuflaje. Otro que se mantiene a flote es Scalzi, que aunque no le va mucho a la fantasía como al resto de la claque, se defiende creando unas crónicas muy resultonas.
Aplastados por la multitud de querubines cantores hay otros: David Eddings, Terry Goodkind, etc. En su momento cantaron muy bien, pero entre tanto empujón y aleteo celestial, ahora mismo están en el piso, tomándose un descanso.
Tras ellos, hay un señor chino, meditando, ajeno a todo el barullo. Posiblemente esté esperando algún acontecimiento que ocurrirá dentro de mil años: el fin del universo, una invasión de alienígenas, u otra cosa parecida. Más atrás hay otro tipo, Steven Erikson, rodeado por almas perdidas, a las cuales intenta convencer de que escuchen su canción, de diez rollos de largo, la cual dice que es solo la introducción a una historia más grande. Pero las pobres almas perdidas no comprenden de qué va el asunto y están como que... perdidas.
Como de todo tiene que haber en la viña de nuestro señor Tolkien, tenemos a unos siameses muy raros de apellido Corey. Nadie los conocía antes, pero han logrado que otra empresa les haga unas estampitas de colores animadas y ahora todos los mortales están encantados con ellas aunque no se hayan leído el puto libro. Hay también una dama con nombre de hombre: Robin Hobb (no confundir con Robin Hood), que ha cantado unas historias geniales. En otra esquina del cielo hay una señora que se inventó un nombre con muchas letras (si quieres tener éxito, invéntate un seudónimo que parezca las siglas de una organización internacional o algo), que empezó cantando historias para niños, hizo un montón de oro, y ahora está haciendo más estampitas animadas para esos mismos niños en su fase de adultos. Y de paso, haciendo otro montón de oro.
Y así, señores, es nuestro Cielo especial para los escritores de CF y fantasía.

Videojuegos en Cuba, la situación hoy


Para conocer la historia de los videojuegos en Cuba es imprescindible leer Hecho en Casa Historia de los videojuegos en Cuba, y complementarlo con Merchise Arando un sueño en la superficie del sol. Para entender por qué Cuba no es país para desarrolladores de juegos (ni de otras cosas), primero habría que entender Cuba, y eso no es posible. Es que este país se rige por una lógica propia que carece de toda racionalidad. Sin embargo, leyendo ambos libros se puede deducir fácilmente cómo nos convertimos de un candidato a potencia en el desarrollo de videojuegos a un rechazo total, que recién ahora se está despejando.
Como no conozco a fondo el pasado, prefiero hablar del presente, que aunque tampoco lo conozco bien por lo menos lo estoy viviendo. O sufriendo. ¿Es un buen momento para los videojuegos en Cuba? Pues, como diría la tortuga gigante de la Historia sin Fin: podría serlo, o podría no serlo. Desde hace unos años se ha levantado la veda a los videojuegos en las instituciones oficiales, que ahora están lanzando jueguitos casuales y no tan casuales, que por primera vez en la vida no son birrias didácticas infumables. Hay grupos independientes como ConWiro o Empty Head Games, creando sus propios productos, lo que demuestra que talento sobra. Tenemos una plataforma de aplicaciones para Android. Tenemos hasta un intento de MOBA, Coliseum, lastrado por la falta de conectividad que no parece que se resolverá a corto plazo. Lo que no tenemos ahora mismo es la infrastructura necesaria para crear un mercado, donde el cliente le pague al desarrollador, pero eso también viene en camino.
Parece que las cosas no están tan mal, ¿no? Pues las apariencias engañan.
Lo más importante que no tenemos es un marco legal. Las cooperativas están en el limbo y las licencias para programadores vagan por el burocraespacio, de estudio en estudio, en espera de que un día alguien se decida a volver a liberarlas. Y es que la idea de que un adolescente o adolescenta (¡inclusividad ante todo!) con una aplicación hecha  en dos meses de trabajo pueda comer langosta, comprarse casa, moto eléctrica y demás seguramente le pone los pelos de punta a todo el gobierno. El de Donald Trump, por supuesto, recuerden que todo es culpa del embargo.
O sea, que si eres la División de Audiovisuales de la Empresa Nacional de Cultivo de Almejas, no deberías tener problema para desarrollar tu Simulador de Ostra. Pero si eres Chicho el Cojo y tienes una idea genial de un multijugador battle royale, con todas las de la ley, estás muy embarcado. Para empezar no podrás rentar un servidor. Si intentas formar una alianza estratégica con alguna institución estatal te encontrarás que lo mejor que pueden ofrecerte es quedarse con tu juego, cobrar una pasta, ya ti darte una plaza con un salario normalito, como colaborador. Encima, quizás conviertan las facciones de tu juego en mambises contra españoles o algo así.
O sea, señores, que las cosas no están bien. Ni tampoco tan mal. Cuba no ha logrado desarrollar una industria de videojuegos; hablando como libro de texto, estamos en la fase manufacturera y ahí seguiremos por un buen tiempo. Lo lamentable es que se ha demostrado que hay un mercado nacional, que quizás no produzca millones pero que podría darle vida a los creadores locales, independientes o estatales. Y esos creadores locales también podrían abrirse camino en el extranjero. Si el bloqueo nos deja, claro, recuerden que Trump no quiere que los desarrolladores de juegos cubanos coman langosta y etcétera, etcétera.

UI Builder


Dije hace unos días que les comentaría acerca de UI Builder, la nueva herramienta de diseño de interfaz para UI elements. Ahora mismo, si estás usando Unity 2019.2, puedes instalarla desde el Package Manager, pero solo para personalizar el editor. Si entendí bien las conferencias, a partir de la 2019.3 será posible usar UI Elements también en los juegos (esto no me queda muy claro), y en la 2020.1 ya entrará oficialmente como la solución preferida para interfaces de usuario en Unity. Su estado actual es preview, por lo tanto algunas cosas no funcionan.

Sin embargo, aún incompleto y primitivo, el UI Builder es una herramienta utilísima. Ahorra mucho tiempo y permite evitarse el lidiar directamente con UXML y  USS directamente, así que puedes dedicarte al código. En mi caso, en un par de días avancé más en mi editor de diálogos que en una semana de tanteos a mano, llegando a un estado en que resulta utilizable.

Aunque pueda parecer que es casi lo mismo que el inspector, les diré que ese casi marca una diferencia abismal en cuanto a rapidez y comodidad de uso. El inspector no inicializa algunas cosas y no me permite agrupar los elementos similares en seciones desplegables. Por ejemplo, puedo replegar todos los nodos, excepto el que estoy trabajando, o todos los nodos y ver solo las respuestas del jugador, etc. Al agregar un nodo, éste ya viene con sus campos creados, no tengo que decir específicamente que son dos líneas de texto, y así sucesivamente.
Estas pruebas no cubren el uso de UIElements en juegos. Eso ya es un asunto aparte, que pienso probar en cuanto sea posible. De momento he detenido el trabajo en la interfaz de usuario de todos mis proyectos, salvo uno, que ya está en un estado tan avanzado que no puedo dejarlo aparcado.

Addressables

Una de las cosas que eché de menos cuando mis proyectos se volvieron complicados fue la posibilidad de cargar assets directamente. Unity era el primer motor en el que no podía hacerlo, cualquier cosa que quisiese utilizar, tenía que estar debidamente referenciada de antemano, asignándola en el editor. Luego descubrí que existía una forma, pero involucraba la carpeta Resources y cargar el asset usando la ruta y nombre del archivo. Un inconveniente es que dicha carpeta se traslada íntegra al build del proyecto, si olvidaste limpiar algo, se incluirá en el juego aunque no se use. Otro, que no es recomendable usarlo en proyectos que se portarán a consolas. Y si cambia el nombre o ruta, hay que cambiarlo también en el código. En fin, que la carpeta Resources es un mecanismo que está ahí, pero que deberías hacer todo lo posible por evitarlo.
Los Addressables son la solución a esto, que se me había pasado por alto entre todas las cosas nuevas que ha incorporado Unity en los últimos tiempos. En realidad, su objetivo es sustituir los Asset Bundles, que como muchas cosas de Unity, ahora resulta que no eran tan fáciles de utilizar y tenían una buena cantidad de problemas.
Para empezar, la carga de assets marcados como addressables se realiza mediante la etiqueta del objeto, o cargando todo un grupo de una vez mediante la etiqueta del grupo. De momento solo he echado un brevísimo vistazo a lo que puede hacer, quedándome en la parte de cargar cosas. Las posibilidades van más allá, porque como mencioné anteriormente, también sustituyen los Asset Bundles, y esa es otra tarea pendiente que me queda, para un futuro no muy cercano. Ahora mismo, crear contenido adicional descargable no es mi prioridad. Más bien, la prioridad es eliminar el uso de la carpeta Resources, que tampoco es tan fácil, porque los addressables están diseñados para ser cargados en grupo y la función de carga funciona como una corutina (no conozco el término exacto para definirla). Sin embargo, esto es algo que he logrado solucionar, gracias a un pequeño tutorial.
Ya que hablamos de funciones nuevas de Unity, en otro post les comentaré acerca del UI Builder, que estoy utilizando para crear mi editor de diálogos, lo cual sea probablemente mucho más interesante.
 

¿Qué tal envejecen los juegos?


Pues la respuesta es, no muy bien, cuando se trata de juegos de principios de siglo (suena raro eso, pero ya los principios del siglo han quedado atrás), o finales de los 90. Sobre todo, estos últimos, que se lanzaron en una época donde 800x600 parecía ser el non plus ultra, la resolución tope, después de la cual no vendría más nada. Muchos juegos de esa época no podían pasar de ahí, porque seguramente sus creadores no concebían que veinte años después, los tres mosqueteros y D´Artagnan se reunirían otra vez para intentar jugarlos a 1080p. Que dicho sea de paso, en estos tiempos es una resolución a punto de jubilarse ya.
Y a veces costó trabajo que los desarrolladores aprendieran la lección. La mismísima Blizzard, a pesar del éxito duradero de sus títulos, no se preocupó por soportar altas resoluciones en Warcraft 3 hasta mucho después de su lanzamiento. Fallout 2 requiere de un parche extraoficial, igual que Arcanum (imperdonable, siendo mucho más reciente). Sin embargo, yo diría que los gráficos del Fallout 2 no han perdido su encanto a pesar de los años, y viene siendo algo así como una cuarentona de buen ver que va al gimnasio y se mantiene en forma.
Pero para ser justos, hay que considerar que en esa época las tarjetas de video y los monitores apenas evolucionaban. Las tarjetas aceleradoras eran para juegos muy específicos como Quake, todos FPS, y algunas de ellas como las de 3dfx fueron callejones sin salida. Además de su precio elevado, eran artefactos raros que se conectaban a la tarjeta principal y hacía su magia de alguna forma esotérica e incomprensible. Y aunque al final, la evolución se disparó, seguimos estando limitados por las resoluciones de los monitores durante largos años. Hasta que al fin, las resoluciones comenzaron a crecer, y las tarjetas, además de ofrecer mejores gráficos 3D, pudieron también producir imágenes más grandes.
Eso marcó, en cierta forma, el comienzo de la era actual. La resolución Full HD dio paso a 4K, y aunque esta aún no es de uso masivo, ya se está hablando de 8K. Los juegos actuales tienen que lidiar con diversas resoluciones en todo tipo de dispositivos, con la Realidad Virtual, y con la posibilidad de que durante su ciclo de vida, por corto que sea, aparezca una nueva resolución aún más alta. Por eso creo que los títulos recientes envejecen un poco mejor, a pesar de que es inevitable que los gráficos 3D queden desfasados en cuestión de 3-4 años.
También hemos alcanzado una tope, una especie de barrera, en cuanto al realismo de los gráficos 3D, que será muy difícil de superar a corto plazo. El raytracing, por el momento, solo se utiliza para mejorar la iluminación de la escena, mientras que para los modelos seguimos dependiendo del rasterizado de toda la vida, y de aumentar el número de polígonos a lo bestia si queremos modelos más realistas. No estamos haciendo cosas hoy que se vean mucho mejor que las de hace dos años (solo marginalmente mejor), porque la potencia bruta tiene un límite. Es por eso que todavía The Witcher 3 se ve muy bien, porque simplemente, no ha aparecido nada en el mercado que pueda hacerle sombra.
¿Cuándo será el próximo salto de calidad? Es muy difícil de predecir. Quizás ni siquiera sea una salto, sino una mejora gradual. Para empezar, creo que necesitaremos una mejora sustancial de la potencia de cómputo, que permita que el trazado de rayos sustituya por completo al rasterizado. Eso no será en dos días, ni dos años, pero sucederá, me atrevería a decir, a mediano plazo. Con raytracing total tendríamos gráficos 3D fotorrealistas en tiempo real.
Mientras eso llega, hay que seguir tirando con lo que tenemos. La próxima vez que quieras quejarte de la apariencia de un juego, recuerda que en mi época teníamos 4 colores y resoluciones equivalentes a la de tu primer teléfono. Y también tengan en cuenta que no solo de gráficos vive el jugador.