Estamos en racha, pero no de las buenas

 A ver, señores, necesito el contacto del servicio técnico del universo, porque esto que me está pasando no es normal. Hace un par de meses se me rompió la motherboard. Ahora se me rompe la fuente, y de paso, la motherboard nueva deja de apagar correctamente (se queda como suspendida y el ventilador de la fuente sigue girando). Por si fuera poco, también se tupe la taza del baño. Y ayer me encuentro que los gatos tumbaron el control del televisor y lo rompieron. Hasta cuándo es esto?

El colmo es que ni siquiera las partidas de DOTA 2 que empiezo con ventaja abrumadora las logro ganar, siempre se joden al final.

ültimos cambios y estado actual del prototipo

 Ante todo mis disculpas, en el día de ayer el repo del prototipo estuvo en muy mal estado. Se rompió mi fuente de alimentación (la de la PC, no la mía) y muchos cambios se quedaron pendientes. Cuando logré poner el disco duro en otra PC, no me percaté de que faltaban archivos por agregar. Y cuando agregué esos archivos, no me percaté que una escena se había dañado cuando mi fuente falló y se apagó la PC. Es un problema que ya veo es habitual en Godot.

En fin, esos errores han sido eliminados. Y sustituidos por otros. Pero me place informarles, queridos compañeros de este sindicato, que el prototipo está casi terminado. O al menos, ahora es posible combatir. Lo que queda por delante es el proceso de pulir, refinar bien el sistema, y quizás agregar un par de cosillas. Los planes eran tener todo listo para enero, pero como nuevamente estoy sin estación de trabajo, creo que no podré cumplir a tiempo.

Pasando a algo nuevo

 Bueno, ya concluido y lanzado Battle Gear, toca moverse a otra cosa, que ya íbamos atrasados. Luego de muchas discusiones y de golpear con el látigo al resto del equipo para hacerles ver su falta de ambición, hemos iniciado un pequeño prototipo. El objetivo no es hacer un juego completo, ni iniciarlo, sino crear un banco de pruebas para el sistema de combate.

En este prototipo solo trabajaremos en eso. Nada de gráficos, interacción/exploración solo la justa, y detalles los estrictamente necesarios. Luego de más o menos un mes, ya hemos identificado unos cuantos problemas y descubierto algunas cosillas. 

Por ejemplo, el animation retargeting nos ha salido casi a la primera, aunque tiene sus fallitos. Solo funcionó bien cuando hice el mapeo de los huesos empezando por los pies y hacia arriba. Lo natural es que empieces de arriba hacia abajo, pero al llegar a la cintura, las cosas empezaban a dar problemas. Quizás tenga que ver con la estructura de huesos creada por Blender. 

Sin embargo, el nuevo sistema de pathfinding ha demostrado ser problemático. El personaje sigue flotando sobre el terreno y en reddit me dicen "que así es como debe ser". El segundo programador del equipo lleva varios días enfrascado en la solución de ese problema.

La jugabilidad ha sido relativamente trivial de implementar, porque muchas ideas ya estaban probadas (o al menos, pensadas) con anterioridad. Eso aún sigue y seguirá siendo un blanco móvil, porque es donde probaremos y romperemos más cosas, en busca de un combate en tiempo real dinámico, pero sin caer en lo frenético. Que para machacar botones ya tenemos el Diablo o DOTA (si te apetece un combate sazonado con el mejor menú de insultos internacionales).

Y en caso de que sientas curiosidad por cómo se arma todo este muñeco, el repo donde estamos trabajando es público.

Creando una cámara isométrica con O3DE

Decir que este ha sido un video complicado es quedarse corto. A mitad de trabajo se rompió mi PC y me tomó unas semanas recuperarme. Tuve que hacer la parte final en otra PC, y editar en la mía, ya recuperada. A esas alturas había olvidado el orden del video, no tenía tiempo para tratar el sonido, y ha sido un desastre total.

No obstante, no podía dejar perder el trabajo ya hecho.


Espero que les sirva para que al menos se formen una idea de cómo funciona O3DE, un motor que a pesar de sus probelmas, no se ve tan mal. De hecho, espero poder migrar en próximos proyectos, cuando él resto del equipo mejore en experiencia y hardware.

Huelga decir que esto no es un tutorial, solo es una prueba rápida, muy incompleta y con un dominio casi nulo del lenguaje script (Lua) y de O3DE en general.

Lanzamiento y nuevos planes

 Han sido unos días bastante horribles. Unos días antes de lanzar Battle Gear se murió mi motherboard. Definitivamente, no crean eso de Ultradurable en las cajas de Gigabyte. He visto dos placas Gigabyte B250 muertas con menos de dos años de uso cada una, y una tercera que no sé cuánto tiempo vivió, pero con el mismo problema. El lanzamiento se logró a pesar de eso... pero a última hora descubrimos un error grave, cuando el apk ya estaba en la plataforma esperando autorización. Esa fue otra carrera contra el tiempo para encontrar el misterioso problema y solucionarlo. Un consejo: tengan cuidado con el manejo de assets en Godot. Parece ser que es posible hacer algo tan disparatado como borrar una textura y el material seguirá manteniendo la referencia a la textura importada y todo seguirá funcionando mientras no limpies el directorio .import o ejecutes el juego en el editor.

En caso de que estés en Cuba y quieras darnos una ayuda, puedes adquirir el juego en Apklis.

Aunque he logrado recuperarme, el atraso acumulado es importante. Me esperan un par de días de trabajo intenso en las pocas horas con electricidad que tengo en las noches, para subir el lunes un video sorpresa que se quedó a medias con la rotura. Entre una cosa y otra, debo echarle un vistazo a la revisión de una novela para un concurso, y luego pasar al siguiente proyecto. 

El nuevo hardware no es nada impresionante, más bien es una mierda total. Esta vez me he puesto de suerte y ha aparecido una motherboard Asus, pero de gama muy baja: una Prime B365. Tampoco se dejen engañar por el "Prime", en verdad es una caca, con apenas 4 puertos USB traseros y puertos PS2 en vez de puertos USB 2.0 par ateclado y mouse. No sé quién use PS2 a estas alturas. La distribución de la placa no es la ideal: la tarjeta de video bloquea el primer puerto SATA, y por suerte ese fue el único detalle. El CPU es un i3 8100, que probablemente cumpla con lo estrictamente necesario, pero no más que eso.
Pero seamos matemáticos y veamos el lado positivo: estoy de vuelta. Con algo de esfuerzo (mucho, en realidad) podré mejorar lo que tengo ahora.

O3DE 22.10, algunas conclusiones adelantadas

 PArece una tontería,pero me ha alegrado mucho haber conseguido instalar O3DE 22.10. Una tarea trivial en otro país aquí se vuelve un rosario de dificultades. No tienes internet en casa, o la que tienes es de poca velocidad y con tiempo limitado, y así... Había estado esperando este lanzamiento para hacer el esfuerzo de cargar la PC hasta mi trabajo y hace dos días lo hice. 

A ver, este no es el motor que puedes usar en Cuba con facilidad. De hecho, se está volviendo cada vez más difícil usar otros motores que antes eran más simples, como Unity. O3DE carece casi por completo de documentación adicional, y la oficial está disponible solo online. No existen tutoriales y punto. Los videos demostrativos de Amazon ignoran por completo la programación con Lua y se centran exclusivamente en el scripting visual. La gente que lo usa es porque ya tienen experiencia con Lumberyard o quizás CryEngine. Conseguir una respuesta en reddit toma tiempo y a veces ni siquiera la consigues, porque la comunidad aún es escasa.

Muchos detalles requieren pulido. Por ejemplo: el incómodo proceso de crear un proyecto, que demanda hacer una compilación inicial. Eso obliga a que los artistas necesiten un Visual Studio reciente (de nuevo, casi imposible de conseguir en Cuba). Y si eso les parece un engorro (se está trabajando en arreglarlo), no es ni siquiera lo peor. El build de un proyecto no puede hacerse con la versión precompilada del motor: es obligatorio tener el repo y compilar el motor. Pruébenlo un día y me cuentan.

Todo esto es lamentable, porque este es el motor que necesito, o el que tú necesitas, si piensas escalar y desarrollar proyectos de envergadura, con equipos medianos o grandes, donde Godot se queda corto. Es una herramienta pensada para títulos AAA, solo que aún le falta muchísimo. Supongo que toca sentarse y esperar un par de años.

evo video: pequeña prueba de concepto, equipando objetos en el personaje

Ya había hecho esto hace más de un año en Godot 4, así que me tomó un par de horas de trabajo reconstruir el proceso. No se trata de un tutorial completo, pero es un punto de partida si quieres entender cómo equipar todo tipo de items 3d en tu personaje, incluso objetos animados. 


Y recuerden que pueden darme su apoyo en Patreon.

He visto Cyberpunk Edgerunners

 Esto, vamos a aclarar de antemano, no es una reseña. Las reseñas no son lo mío, supongo que ya se habrán dado cuenta. Son mis opiniones personales sobre Cyberpunk Edgerunners, la nueva serie anime de Netflix, basada en el universo Cyberpunk 2077 y creada en colaboración con CD Projekt y el estudio de animación Trigger.


Confieso que al principio el anuncio no me suscitó ningún interés. ¿Un anime basado en Cyberpunk 2077? Bah, será más de lo mismo, otra más para el montón de series basadas en videojuegos. Y considerando que estaba escaso de tiempo, entre trabajo y apagones, no sabía si podría dedicarle un tiempo (la tercera temporada de Dota: Sangre de dragón sigue ahí en espera, sin lograr engancharme). Pero, de alguna forma, el primer capítulo de Edgerunners consiguió que quisiera ver el segundo, y luego el tercero. De ahí, con altas y bajas (pocas bajas), la serie rueda bastante bien.

No voy a decirles que es una genialidad original... para nada. David Martínez es un joven pobre de Night City, que por casualidad encuentra un implante de grado militar perteneciente a la corporación Arasaka. También por casualidad, resulta ser que David tiene una sorprendente tolerancia al implante, su umbral de ciberpsicosis está más allá del promedio, aunque sin ser inmune. Y así arranca la vida de David como ciberpunk. 

No llega al nivel de Arcane, y su guión padece de ciertos tropos comunes en el anime, aunque muy pocos y no hace de ellos el centro de su trama. Quizás porque la idea original proviene de Rafal Jaki, con historia de Bartosz Sztybor, que no me suenan a japonés (quizás sean argentinos).  En general, Cyberpunk Edgerunners gira en torno al tema de hasta qué extremos puede llevarnos la ambición y el afán de conseguir nuestros sueños. Y después, muy bien envuelto y en el centro, el clásico "quiero ser más fuerte para proteger a mis seres queridos". Todo esto, explotado un poco apresuradamente en 10 episodios de 20 minutos.

Una vez establecido que no es nada del otro mundo, sí hay que reiterar que por lo menos, puede ser una historia entretenida a la que vale la pena dedicar una noche. Hay buena acción, tan violenta y cruda como cabe esperar del universo Cyberpunk 2077, que logra que te den ganas de regresar al juego, o jugarlo si aún no lo has hecho. Por ese lado, creo que cumple su objetivo de ser una herramienta de promoción para un título bastante vapuleado en su salida, que aún está luchando para obtener el reconocimiento que consiguió su hermano mayor, la saga del brujo. A estas alturas, dudo que lo consiga. 

Un detalle que me gustó fue la banda sonora. Creo que hay temas interesantes ahí aparte del intro (en comparación, el outro suena bastante sosillo). Mi recomendación es que si pueden, le echen un vistazo. Por lo menos yo la he puesto entre las mejores que he visto en este año, que no considero muy prolífico en buenas series.

Antes de concluir, les aviso que pronto tendremos video nuevo. Me he atrasado porque la mesa está rota y tengo que trabajar con el teclado en las piernas y el mouse en una posición incómoda. Suscríbanse al canal para que reciban el aviso y les recuerdo que también me pueden apoyar en Patreon (para otras vías, me dejan un comentario).

He vuelto a Ubuntu

 Bien, dicho así no es nada. Peor hubiese sido volver a Gentoo. Y que conste, que no estoy muy contento con el cambio, mayormente debido a Gnome o esa cosa rara que tienen de escritorio. Supongo que me dirán, y si te molesta tanto, ¿por qué no te montas Cinnamon y ya se parece a Linux Mint? No, la verdad es que me da un no se qué no usar el escritorio que viene por defecto en la distro. Al final, siempre terminas encontrando cosas que no funcionan como deberían. 

Entonces, ¿a santo de qué viene el cambio? Dejar una distro que llevas años usando y con la que te sientes extremadamente cómodo no es fácil y no fue una decisión sencilla. La causa está relacionada con Godot. Resulta que nunca he conseguido que en el editor de scripts funcione correctamente la comilla. O sea, que no puedo teclear ", simplemente, Godot la ignora. Esto es sumamente incómodo, porque GDScript usa muchísimo las comillas. Supongo que ahora me dirán, como mismo hace mi jefe, ¿y si tienes internet, por qué no la usas? Pues va a ser que no, ni en los foros de Mint, ni en los de Godot. Sin embargo, durante mi estancia en la UCI, en enero de este año, comprobé que en Ubuntu, todo iba muy bien.

Desde hace quince días tenía previsto una reinstalación total. Ha llegado el upgrade de este año: tenemos un M.2 nuevo. O nuevo no, de uso, pero me lo dejaron en buen precio y con un 87% de vida, a pesar de haber sido bastante cacharreado. Espero, con cuidado extremo, que dure varios años más. Pero ya venía haciendo falta. De hecho, necesito un teclado también pero eso sí no está a mi alcance por ahora (a menos que alguien me apoye aquí en Patreon). Nota al pie: ahora tengo espacio para desperdiciar en boberías como O3DE, esperen video sobre el tema, así que suscríbanse al canal. En ese momento empecé a plantearme la migración. Con un nuevo proyecto en ciernes, no puedo darme el lujo de copiar y pegar cada vez que necesite unas comillas.

Espero que el cambio tenga otras ventajas. Nos guste o no, Ubuntu se ha convertido en una especie de estándar en o que a escritorio Linux se refiere. Es de suponer que cualquier cosa rara funcione mejor ahí que en otras distros, aún en las derivadas, como Mint. O a menos, así era cuando usaba Linux a diario, que alguien me corrija si estoy equivocado.

Aún estoy en proceso de adaptarme. Como les decía, Gnome 2 no era de mi agrado y fue una de las razones por las cuales dejé Ubuntu y busqué una distribución con un escritorio más parecido a Windows. Pero creo que la comodidad a la hora de teclear código compensa la incomodidad de usar el escritorio.

Probando Godot 4 beta 1

 Podría decir "la espera ha terminado", pero no es así. He esperado dos años por el beta o por algo mínimamente usable (el proceso de  desarrollo tomó tres años y medio) y este beta 1 al menos ofrece un feature freeze. Sin embargo, para la versión definitiva aún faltan... yo diría que 9 betas más, seguidos por tres o cuatro Release Candidates.

De momento les dejo esto, para que se rían con el susto que pasé.



Novela casi terminada

 Por fin, luego de una ofensiva a fondo, he logrado terminar la novela para el concurso. Oficialmente he perdido la cuenta de las novelas que he concluido. Falta trabajo de pulido y tal (el límite mínimo son 160 cuartillas y me faltarían veinte), pero después de esto, adiós a la escritura. Con esta también incursiono en el futuro del universo de Elymuria, con una mezcla de ciencia ficción y fantasía que aún no sé si me ha quedado bien. Habrá que ver qué piensan los primeros lectores. 

Aunque el grueso del trabajo está terminado, todavía no me libro del todo y las otras tareas siguen afectadas por falta de tiempo. He tenido que dejar la programación  a un lado y comenzar el proceso de traducir el documento de diseño del próximo proyecto al inglés. Inicialmente, el documento estaba en ese idioma, pero luego intenté trabajar con alguien que no sabía inglés y traduje diseño y guión al español. Resultó ser una semana perdida. 

Por último, he creado una cuenta en Patreon, a ver si a alguien le interesa apoyarme. 

Terminando proyectos y pasando a otras cosas

 Este mes parece iniciar bien. Llevamos tres días sin que corten la electricidad por la noche y gracias a eso he logrado adelantar la culminación de una novela para un concurso. luego de eso, me tomaré unas largas vacaciones de la escritura. También pensamos lanzar nuestro juego Battle Gear. Luego de eso... bueno, no habrá vacaciones, porque nos meteremos en otra cosa mucho más complicada.

Tengo pendiente crear varios videos, e incluso, meterme en el asunto de Patreon. Ya todo está listo, pero vivir con apagones nocturnos en noches alternas ha acabado con mi productividad. Espero en unos días dar noticias acerca de esto.

Una vez quise hacer un MOBA

 Pues sí. La idea inicial era más loca aún: crear un MMORPG para el mercado local y comercializarlo a través de alguna entidad del gobierno. Obviamente fue una estupidez. Ninguna institución podía trabajar con nosotros, aunque sí podían comprarnos de la idea, o apropiarse los ingresos y darnos a cambio un salario miserable como colaboradores.

Pero volvamos al tema. Teníamos en mente innovar en las mecánicas de juego de los MOBA. Innovar en grande. Por ejemplo, mi idea inicial era deshacernos de los héroes en favor de unidades genéricas. No solo eso, sino que también varios jugadores de un equipo podrían utilizar la misma unidad. Cada bando tendría un conjunto propio de unidades, que solo podrían escoger los jugadores de ese equipo. Creo que hubiese sido un milagro de diseño lograr que un equipo de tres arqueros tuviese sinergia suficiente para enfrentarse con éxito a una formación de DPS/Tanque/Support o similar. 

Esto es una muy mala idea, visto en retrospectiva y luego de jugar mucho DOTA y consumir bastante material de League of Legends. Los héroes le aportan personalidad al juego y permiten un lore mucho más rico. Existe también una razón práctica: sería un jodido reguero. En medio de una batalla también sería muy difícil identificar unidades específicas. De hecho, yo a veces me doy unas perdidas terribles cuando se forma una bronca de las buenas en DOTA, con seis o siete héroes dándose golpes. 

Otras mecánicas del juego no favorecían un combate dinámico y premiaban al equipo que ocupara una posición y la defendiera. Creo que a la larga, esto incrementaría la diferencia entre el equipo con la primera victoria y el equipo oponente. 

En general, el concepto del juego necesitaría una serie de implementaciones de prueba y experimentar con diferentes variantes. Es muy difícil innovar en un género que está establecido y funciona muy bien, de lo contrario, alguien ya lo hubiese hecho. 

Aunque la idea sigue dando vueltas por ahí, no pienso dedicarme a eso por nada del mundo. Considerando la saturación del mercado de los MOBAs y las dificultades para monetiza ren el mercado cubano, sería una locura.

Analizando a Jay Kristoff

 ¿Recuerdan la época en que solía hablarles de literatura? Pues bien, hace tiempo tengo pendiente escribir de nuevo sobre temas literarios, pero siempre lo aplazaba, porque creo que hay personas que lo están haciendo mejor que yo. Y entonces vino la falta de tiempo total.

Yendo al tema (iba a decir yendo al grano, pero los granos están escasos), les hablaré hoy de Jay Kristoff. No es una reseña en específico, sino algunas impresiones que tengo al leer sus novelas. Este señor tiene un modus operandi bastante reconocible: todas sus sagas van de una joven elegida que tiene que cambiar o salvar el mundo. No falta un trío amoroso, donde por alguna razón, uno de los miembros se convierte en un amor imposible o algo así. Si lo piensas bien, el libro hubiese funcionado igual de bien sin el trío y con un protagonista masculino, pero al menos se agradece el cambio por una chica.

Para ambientar sus historias, Kristoff echa mano a cualquier sociedad medieval de la historia humana y le cambia el nombre, aunque maravilla de maravillas, ¡conserva el idioma! Por ejemplo, Las Crónicas de Nuncanoche está inspirado en Italia. Las Guerras del Loto usa el Japón. En este caso, su mal uso del japonés le valió unas cuantas críticas en Goodreads, si hasta yo que solo tengo nivel anime en el nipón me percaté de los flagrantes errores.

Sin embargo, hay que reconocer el lado bueno, y es que Kristoff sabe utilizar los recursos para hacer una buena trama a partir de algo tan poco original y trillado. Sí, puede que en algunas partes decaiga un poco, pero son novelas divertidas de leer, igual que es divertido ver Avengers. El lado malo es que todo es jodidamente predecible. Es un poco discutible el excesivo uso de notas al pie en Crónicas de Nuncanoche, en un intento de sacar el worldbuilding del texto y dárnoslo de otra forma, sazonado con humor. En realidad, no funciona, y terminé saltándome casi todas esas notas al pie. Eso solo le quedaba bien a Sir Terry Pratchett.

En resumen, que este autor no es que sea lo mejor del mundo, pero en caso de apuro, digamos una docena de horas diarias sin electricidad, puede llenar el hueco muy bien. Una pena que la mitad de su producción no esté en español o si lo está, sea casi imposible de conseguir.


Actualización

Otra vez tengo que disculparme por la ausencia, pero la falta de tiempo me impide actualizar el blog. Al trabajo se han sumado los apagones diarios, unas nueve horas del día perdidas. En las pocas horas de mi trabajo diurno mi jefe empieza a cuestionarme el uso de internet, y las noches que tengo corriente las dedico a lo que me inspire. 

Por tanto, los proyectos personales se me atrasan. A mi edad ya no puedo empezar a trabajar a las 10 de la noche hasta la madrugada y levantarme a las pocas horas para ir a trabajar. Eso me deja, como les decía, con las noches alternas, cuando nos toca tener corriente de 6 PM a 10 PM. Por lo menos hasta que el jefe acabe de decidir que vamos a trabajar esos días por la noche. Entonces sí me quedaré por completo sin tiempo para nada.

La buena noticia es que estamos en la fase final del proyecto. La mala, que aún no sabemos cómo sacarle dinero. Probablemente será un año de trabajo que solo nos sirva como experiencia y para mostrar en el portafolios. La segunda buena noticia es que estoy terminando una novela, y creo que ahora sí se acaba la escritura por un buen tiempo.

También estoy trabajando en un pequeño demo del sistema de diálogos, sin fecha estimada para terminarlo, para mostrarles cómo serían las conversaciones en un posible RPG diseñado por mí. Programar el editor ha sido una tarea larga y trabajosa, que aún está a medias. Quizás en un mes o dos lo tenga listo.


Hoy les traigo un chisme

 Muchachones, que esto quede entre nosotros, pero ayer escuché una conversación en Youtube y me enteré de que Apocalypse Studio se ha pasado a Unity para su título Deadhaus Sonata. Por si no lo sabían, Deadhaus Sonata era uno de los pocos títulos en desarrollo que usaban O3DE. De hecho, tan pocos que creo que solo eran dos, y ahora solo uno, siendo New World, el MMORPG de Amazon el otro. A esto por acá lo llamamos una pegá de tarros épica, con el vecino de al lado que te cae mal. Por menos que eso te tiran una lata de caca y te sueltan un galletazo.

Si buscamos la moraleja del cuento, resulta evidente que todavía O3DE necesita madurar muchísimo. No se tira meses de trabajo y experiencia sin pensarlo dos veces. O cuatro veces, ya que estamos. No me atrevo a hacer pronósticos, pero quizás se necesite un año o más para lograr un motor pulido, confiable y que asegure un flujo de trabajo eficiente. Ya veremos  qué nos trae la segunda versión de este año, cuando la presenten en el próximo O3DECon 

Me he enamorado

 No, no es de una mujer. De esas me enamoro a cada rato, así que no es noticia. Tampoco de un hombre, todavía no me da por eso. Me he enamorado de los diccionarios, y no me refiero a esos libracos que tienen todas las palabras. Estoy hablando  de los diccionarios de GDScript. No fue amor a primera vista, claro, pero ahora me son tan necesarios que no me sentiría igual en un lenguaje que no los tenga.

Y a propósito, hemos alcanzado las 3900 descargas. Nada mal. 

Nuestro juego, después de un mes de lanzado

 Ya hemos sobrepasado el mes desde el lanzamiento y los resultados son los siguientes: 1129 descargas hasta hoy, aunque aún seguimos estancados sin monetización. Todas las valoraciones que importan son de 4 y 5. Hay dos valoraciones de 1 por parte de usuarios que no pudieron descargar el juego y como no pueden castigar a la plataforma de distribución, nos castigan a nosotros con mal puntaje. Los comentarios califican el juego de bueno y divertido, así que no estamos tan desencaminados. Estoy seguro que deben haber algunos bugs a pesar del trabajo que hicimos con la beta cerrada, pero ningún usuario nos ha reportado nada.

Los planes son quizás soltar otra beta, y pasar a la versión oficial a más tardar en septiembre u octubre, ya con los micropagos integrados. El contenido está siendo trabajado a toda máquina para cumplir con la fecha de entrega. También he hecho algunas gestiones para ver si podemos ponerlo en Google Play, pero por ahora no he tenido éxito. 

Luego de eso, empezaremos el próximo proyecto. Nada de móviles esta vez, y adiós al mercado cubano, que ha sido una decepción total, no solo para nosotros, sino para todos los implicados.

Primera beta pública

Y bien, ha llegado el día de la primera beta pública. Hemos sobrevivido a casi un año de desarrollo, improvisaciones, aprendizaje, roturas y problemas. Las cosas ya no son tan brillantes como al principio. Se ha perdido la pasarela de pago, así que de momento, no hay forma de monetizar. Desde el gobierno insisten en que sí, que hay voluntad de apoyar a los desarrolaldores nacionales, pero mientras esa voluntad se concreta, pasan meses.

Ahora, en el momento más importante, la única plataforma de distribución de aplicaciones nacional, la que garantiza más visibilidad y miles de descargas prácticamente de la nada (sí, esos números suenan raros, pero es lo que hay), resulta que da error y me es imposible subir el juego. O sea, que prácticamente no hay beta. Al menos, no con miles de jugadores. Habrá que promocionar por todas las vías, y esperar con calma que el proyecto se conozca. 

Así que solo queda avisarles de que lo pueden descargar aquí.


¿Quieres que tus jugadores cojan un emperre de los feos? Así se hace

Bueno, hace unos días le eché otro vistazo a Underrail. Este es un RPG que tengo muy abandonado por ser extremadamente largo, pero también por otras cosas. En concreto, el sistema de juego de Underrail pierde mucho debido a un... digamos detalle: los porcentajes de acierto. Alguien en este hilo (que increíblemente s einició en el 2020 y aún está vivo) afirma que la matemática detrás de esas probabilidades está bien. Yo, y algunos otros, opino que está muy jodida. Eso, por no decir que los valores son más falsos que el billete de dos pesos.

No concibo otra forma de decirlo. El problema en cuestión es que Underrail te da un supuesto porciento de acierto del ataque, pero el valor está muy por debajo de la probabilidad real. Por ejemplo, supongamos que el porcentaje mostrado es de un 75%. Aparentemente, muy bueno, pero en realidad, un 75% en Underrail significa que fallarás dos de tres veces, o por lo menos dos de cuatro. He tenido rachas de fallar dos veces con porcentajes de 95%, que parece ser el máximo (el autor del hilo está muy cabreado porque falló cuatro seguidos con un 95%). De ahí las opiniones de que el generador de números aleatorios en este juego está roto. 

Yo no soy un experto en matemáticas, pero me da la impresión de que un 75% no debería ser "fallas dos y aciertas dos". Así que decidí hacer una pequeña prueba en Godot. Mi test rápido genera un número aleatorio entre 0 y 100 y lo compara con un valor dado, digamos 60. Si es manor, pues es un acierto, si es mayor has fallado. No se me ocurrió una forma más matemáticamente correcta de hacerlo.  Hice muchas corridas de prueba, pero me limité a seleccionar dos: 

90 iteraciones en cada caso

75%

1- 70 aciertos contra 20 fallos

2- 72 contra 18

3- 68 contra 22

68%

1- 62 contra 28

2- 66 contra 24

3- 59 contra 31

Sin embargo, los números de aciertos y fallos no importan tanto como la distribución de los mismos. ¿Cuántas rachas de fallos consecutivos puedo tener en caso de un 60%? ¿O si el porciento es ligeramente mayor? Lamentablemente Blogger no me deja subir imágenes (algún error extraño no deja que se vean en el post), por ello no puedo mostrar la imagen. Pero sí, en el caso del 70% habrá muchas rachas de dos y tres fallos consecutivos, incluso veo una de cuatro, pero no superan a las rachas de aciertos, que incluyen una sucesión de siete. Yo diría que están tan bien repartidas que al final no serían tan desagradables. 

De haber tenido Unity instalado hubiese hecho una prueba similar, pero me pesa dedicar un tiempo a la instalación y registro. Si alguien lo puede hacer y dejarnos su experiencia por aquí se lo agradecería. De paso, cualquier corrección o idea de cómo hacerlo mejor se agradece. 

Voy a hacerme una tarjeta que diga CEO

 No sé la fecha exacta, por descuidado, pero dese el mes pasado puedo decir que soy el fundador y director, presidente, CEO, o lo que sea, de uno de los pocos estudios de videojuegos de Cuba. Apenas con un título en la cartera, todavía sin forma de rentabilizar el negocio y con un panorama desolador por delante. Pero, hey, los demás están igual. Además, dice el gobierno que existe la voluntad de impulsar la naciente industria de los videojuegos y hay hasta un grupo de trabajo encargado del tema (al cual me han invitado, que tenga alguna importancia mi opinión ya es otra cosa). Ya veremos qué sale de eso.

Luego de un par de años geniales, con muchos avances, los indies cubanos han padecido un retroceso, derivado principalmente de que el método de pago basado en SMS es insostenible. El 60% se queda en manos de otros, que además agregan otros cargos por el uso del servicio. Las otras pasarelas de pago apenas tienen penetración en los potenciales usuarios, aunque yo creo que tienen penetración entre los usuarios que importan, que son los que tienen cuenta bancaria.  

El gran problema es llegar hasta esos potenciales usuarios, que es otro obstáculo para los creadores cubanos. En fin, que lo que hasta hace poco pintaba muy bien, ahora se ve muy mal. Pero al menos puedo hacerme una tarjeta que diga CEO.

Nota: Para los que quieran saber un poco más sobre los creadores de juegos cubanos, ya tenemos una página.

Godot 4 ya es alfa

 Desde hace un par de meses Godot ha alcanzado el estado de alfa y han lanzado hasta ahora 6 versiones, una cada quince días. Lo cual apunta a un largo proceso que supuestamente debería culminar a mediados de año con la fase beta, seguida por la versión definitiva a finales de año. Recomiendo esperar sentado en algo cómodo y armarse de paciencia, porque mediados de año ya está casi aquí. 

No voy a detallar funcionalidades una por una, porque ya eso lo han hecho otros de mejor manera. Solo les hablaré de mis propias experiencias con las alfas, y de algunas cositas interesantes. No he tenido tiempo para cacharrear a fondo Godot 4, por lo que me he limitado a adaptar pequeñas pruebas. Por ejemplo, rehice el sistema de búsqueda de caminos, aunque con la alfa 6 han vuelto a romper el código y ya no funciona. No me asombra, considerando que no se garantiza un feature freeze hasta la versión beta. No obstante, no deja de encabronarme, porque encontrar ayuda sobre ttemas relacionados con Godot 4 es difícil. El editor se comporta de forma muy estable, no hay problemas por ahí. O sí podría haberlos en tu caso específico. De ser así, me alegro de que seas tú y no yo (qué le vamos a hacer, la gente es así de mala y egoísta). Creo que es un buen momento para empezar a familiarizarte con la nueva rama, pero cuidado con intentar iniciar nuevos proyectos.

Algunas cosas han cambiado, en el equipo de desarrollo y en los objetivos. Lo primero, ya Juan no está al frente del desarrollo del renderizador, ahora hay un grupo dedicado a eso. La 4.0 vendrá con GL ES 3, pero limitada a 2D y lo veo más bien como algo simbólico, porque esto no va a complacer a nadie, ni va a resolver ningún problema. Una sorpresa genial: tendremos deferred rendering. Luego de muchos años diciendo que no era necesario, ahora lo tendremos. No sé si esto se deriva de escuchar más lo que la comunidad pide, o de decisiones del nuevo grupo de renderizado. También se está realizando un proceso de reajuste y mejora del nuevo renderizador Vulkan. Como un remaster, pero antes de que salga la versión original. Se agradece, aunque muchos pensamos que se agradecería más que el 4 ya estuviese aquí. 

Una mala noticia que no podemos olvidar es que el desarrollador a cargo del nuevo sistema de física ha abandonado el proyecto. Creo que está bastante avanzado y no sé cuánto afecte al proyecto, pero es algo lamentable. 

Mi estimado es que para agosto tendremos beta y a finales de año estaremos mucho más cerca de una 4.0 estable y utilizable en producción, en cuanto al 4.0 definitiva... no soy tan optimista. Pero no esperen un desarrollo mucho más rápido hasta que la rama 3 al fin se quede atrás. En este momento se están llevando la 3.4, 3.5 y la 4 juntas, todo eso sin los cientos de ingenieros que pagan Unity y Unreal. Esto no creo que beneficie al proyecto y creo que la 3.5 sobraba, pero no me han pedido mi opinión al respecto. Es lo que hay y con esos bueyes hay que arar. 

CD Projekt se muda a Unreal, adiós a RED Engine

 Sí, para muchos la noticia es que The Witcher 4 ya está en desarrollo, pero eso se esperaba. Lo inesperado en el anuncio de CD Projekt es que abandonan su motor propio y se pasan a Unreal 5. Siempre les digo que hay que estar dispuesto a dejar cosas atrás, no importa el esfuerzo que haya costado crearlas y me parece que este es uno de esos casos. Mi opinión es que alguien sacó cuentas y resultó más barato dedicar un equipo a modificar y mejorar Unreal (de hecho, afirman que están en proceso de mejorar Unreal de cara a juegos de mundo abierto). Ojo, que por más barato no me refiero solamente a dinero, porque el actual equipo del motor probablemente se reubique en perzonalizar Unreal.

Si consideramos que Unreal o Unity dedican cientos de personas a la labor de mejorar constantemente un motor de juegos, tiene sentido dejarles esa tarea a ellos. Sobre todo si además te ofrecen el código fuente y dispones de un equipo de ingenieros que pueden adaptarlo a tus necesidades específicas.

Tampoco olvidemos que la mordida de Epic va a ser millonaria y suma otra empresa de primera línea a su catálogo.

Otro reporte de progreso

 Debido a un problema raro en Blogger no me animo mucho a publicar. Quizás se trate de algo relacionado con Firefox, pero cuando empiezo a escribir, el texto no es visible. Para ver algo hay que cambiar al modo HTML. Pero bueno, les dejo un breve post para detallar los últimos progresos del proyecto (que aún no podemos mostrar oficialmente).
La jugabilidad está casi completa. No puedo determinar si a un 80 o un 90 por ciento, porque estamos trabajando sin documento de diseño (las desventajas y problemas derivados se merecen un post y una conferencia magistral) y mañana mismo podrían aparecer más cosas por implementar. Pero tenemos combate, IA limitada y compra/venta, mejora y uso de objetos. Estamos en proceso de agregar más ítems. Muchos más. Incluso en la primera beta pública tendremos el doble del contenido actual, que no es poco.
El sistema de cambio de escenas es funcional y el progreso de la partida se salva y carga relativamente bien. En especial, lo primero requirió una cacería de bugs el lunes pasado pues se habían colado algunos errores. Es un poco difícil para mí programar y testear a la vez, así que he descubierto algunos problemas demasiado tarde para saber qué cambios los originaron. Conclusión, que he tenido que agregar una pequeña sesión de pruebas cada día al terminar de trabajar. Una de las dificultades de trabajar para móviles es que hace run build del proyecto requiere montar un conjunto de cosas que no son precisamente accesibles desde Cuba.
El tiempo estimado para la primera beta es de dos meses, primeros días de mayo, si no hay más atrasos.

¿Y cómo le va a O3DE? Bien, gracias

 Parece que luego de un lanzamiento medio incompleto, pero con muchísima promoción, O3DE ha entrado en la fase en que casi nadie se interesa por él. No han salido muchos tutoriales en Youtube, ni reacciones, e incluso las noticias han decaído. Lo último que supimos esta semana fue de la inclusión de Cesium, que es una herramienta muy, pero muy específica para asuntos que la mayoría de los desarrolladores no pensamos ni mirar.
No he podido seguir las pruebas porque como ya les dije, es muy complicado usar O3DE si no tienes una conexión rápida y permamente, algo tan escaso acá como... bueno, como todo. Pero no desesperen. O3DE es simplemente un caso raro dentro de los motores libres. Es una herramienta AAA que acaba de venir al mundo como Atenea, toda crecidita y armada, por lo que es un poco difícil que sume desarrolladores que hagan grandes aportes. Aparte del equipo de Amazon, dudo mucho que alguien entienda lo que tiene dentro.
Considerando que New World lo utiliza, no deberíamos temer por su futuro. Quizás no vaya rápido y haya que esperar un año antes de tener una versión más amigable, pero abandonado no va a qeudar, mientras Amazon lo necesite. Sin olvidarnos de que Deadhaus Sonata también lo usa y Star Citizen debería haber migrado desde Lumberyard.
O sea, que mejor nos olvidamos de él por unos meses y retomamos el tema más adelante. Hay cosas más interesantes a corto plazo, como el primer beta de Godot 4, que posiblemente nos llegue antes.

Reporte de progreso

 ¿Cuál es el estado del proyecto actual a día de hoy? A pesar del atraso acumulado por fallos de hardware y cambios de diseño, hemos logrado avanzar en el último mes y medio. Las mecánicas básicas de juego están implementadas, aunque necesitan una revisión a fondo. Pero digamos  que el 80% está ahí. La parte de contenido es la que necesita más trabajo y aún seguimos encontrando problemas. Se trata de un juego que podemos calificar de mediano, nada que ver con El Laberinto del Saber, que ha servido para descubrir las muchas cosas que no sabíamos hacer.
Así que les dejo un consejo: solo un proyecto de verdad te prepara como desarrollador de juegos (y supongo que esto aplique para todas las ramas de la programación). No es lo mismo hacer un par de tutoriales y creer que dominas todo lo necesario, a integrar mecánicas de juego con animaciones, sonidos, salva de partidas, y todo lo que lleva un proyecto completo. Parece irrelevante, pero cosas como la organización de los assets y las buenas prácticas pueden influir en la productividad.
Un pequeño ejemplo: el artista decidió que era más organizado nombras las cosas con números. A primera vista, parece lógico, pero cuando necesitas probar un objeto dentro del juego, ¿cómo sabes que si el rifle_001 es el Phaser Super Mk 2 o el Blaster Aniquilador con Famagusta? ¿El mecha_012 es el Leviatán Modelo 1955 o el Interceptor V-5? Son detalles que en proyectos más grandes con equipos más numerosos podrían degenerar en un reguero incomprensible. Y no voy a hablar a fondo del Problema de las Tres Escalas, baste decir que he invertido mucho tiempo en busca de errores que eran causados por objetos cuyas proporciones no coinciden con las del resto de los modelos.  
En fin, que este juego que aún no puedo nombrar ha sido una escuela. Más o menos, primer grado, para ser exactos.
El otro proyecto que llevo paralelo a este es la esritura de una nueva novela breve. Es bastante difícil trabajar en ambas cosas a la vez, por lo que he terminado sacrificando parte del tiempo del segundo. Es que después de hora y media de programar y ya rayando las 10 de la noche, no quedan muchos deseos de dedicar treinta minutos a escribir. Sin embargo, luego de sacar unas cuentas chinas, creo que podría terminar para septiembre, dedicar octubre a revisiones y tenerla lista en diciembre, a tiempo para el Concurso Hydra.
El juego sí debería entrar en fase beta en dos meses. Pronto empezarán a ver algunas imágenes y quizás hasta un video. Si todo sale según lo planificado, en agosto ya tendríamos una versión más completa, a tiempo para un evento de videojuegos que se piensa celebrar en esa fecha.

 Ha sido un año que casi podríamos dar por perdido, pero algunas cosas interesantes sucedieron por acá. Por ejemplo, salió La Pira, nuestro primer indie cubano con micropagos, algo que hace un par de añitos se hubiera catalogado de imposible. Pero los muchachos de ConWiro, que desde hace un tiempito vienen a la vanguardia de la naciente industria nacional, demostraron que sí era posible. Más o menos para esas fechas presenté oficialmente el remake de El Laberinto del Saber, un homenaje a ese viejo clásico, abuelo de los videojuegos hechos en Cuba. Y ya a mediados de año se rompió otro "imposible": Dungeons and Honor, de Jorge Sires, nuestro primer multijugador creado por un equipo independiente. Con gran éxito, hay que añadir. Nota de historiador pedante: nótese que digo primer multijugador indie, porque el primer multijugador cubano sería Netris Kombat, para más referencia véase mi conferencia sobre el tema.

Parece poco, pero para un país que hace dos años no tenía nada, es un buen punto de partida.
El 2022 se inició con la reanudación de los GameJams (una experiencia muy especial para mí) y con intenciones de hacer otro evento dedicado a los videojuegos a mediados de año. Veremos si se logra concretar. A propósito de jams, aunque esta vez se realizó con aislamiento de los equipos participantes, pude conocer a algunos de ellos y hablar largo y tendido. Como siempre digo: hay talento para mover la industria.
Por mi parte, he estado trabajando en otro proyecto, de mucha más complejidad y que ha enfrentado varias dificultades. Por eso ni siquiera tenemos fecha de salida. En paralelo, he ido trabajando en propuestas de diseño para lo que vendría a continuación de ese. Se dice rápido, pero me ha mantenido y me mantendrá bien ocupado.

Global GameJam 2022

 Ha sido un mes bastante ocupado. Mucho trabajo en el trabajo (así mismo) y mucho trabajo en casa para asistir a este GameJam que se está celebrando ahora mismo. En diciembre fui invitado a participar en el evento, en la sede de la Universidad de Ciencias Informáticas. Y aquí pueden ver mi conferencia:


La historia de los videojuegos cubanos es un trabajo aún en progreso que he venido realizando en los últimos meses. Esta conferencia no es definitiva ni mucho menos, ya me han señalado un detalle a corregir, e incluso me han preguntado que para cuándo un libro. Ya veremos en el futuro.