La Pira, un éxito más para los videojuegos cubanos

 Con apenas cinco días de lanzado, La Pira ha alcanzado las 10 mil descargas y sigue subiendo. No tengo datos de las ventas reales, porque el juego se distribuye gratis con utiliza micropagos y ConWiro no ha revelado cifras de ingresos aún. Sin embargo, es lo más cercano a una historia de éxito entre los juegos cubanos.

Eso no quiere decir que el desarrollo de juegos se haya vuelto fácil de repente en nuestro país. Para nada. Simplemente hemos cambiado el nivel de dificultad de Very hard, con permadeath incluida, a Difícil. Los enemigos siguen haciendo el doble de daño con el doble de vida. Pero es, si no una luz al final del túnel, al menos una velita.

A diferencia de la "industria" editorial cubana, que se desliza apaciblemente hacia su muerte, el mercado de los videojuegos es el coto de caza de gente joven, o por lo menos, gente altamente calificada y que se mantiene al día con las últimas tecnologías. Hay otra mentalidad, que empuja a hacer más con lo poco que hay y obliga a cambiar a un país cuya consigna es el no cambio.

El mérito de ConWiro, o Nameless Studio, que es otro protagonista de una historia de éxito, ha sido abrir camino para los demás, en un mercado que históricamente ha accedido a los juegos gratis se rehúsa a pagar por juegos. Ahora hace falta que otros empiecen a ver los videojuegos como un negocio viable y no como un hobby del cual puedo sacar unos centavos, pero si no, pues no importa. Hay que pensar en rentabilidad. Hay que pensar "voy a dedicarme a esto para vivir".

El próximo paso natural, que creo demorará un poco, es una tienda de juegos para PC. Eso probablemente marque el inicio de una industria como tal del videojuego en Cuba. Incluso ya no parece tan loco pensar en un MMORPG cubano. Estas cosas requieren de más conectividad y mejor infrastructura para soportar e-commerce (sí, podía haber dicho comercio electrónico pero así suena más chulo). No nos queda otra que esperar y de momento, ir probando los límites.

Por esta razón es que no puedo estudiar

 Esta semana me he planteado un nuevo reto: estudiar matemáticas. Me he bajado las conferencias de Freya Holmer (que sugiero le eches una mirada si estás dispuesto a dedicarle varias horas), empezando por las de matemáticas básicas, para seguir con las de shaders. Como les decía, son varias horas cada una, pero muy bien explicadas, hasta yo las entiendo. 

El asunto es que aunque no voy mal, ya me ha golpeado el problema usual. Soy pésimo estudiante, porque tiendo a caer dormido en las clases (ostento el récord de haber dormido en más aulas de la Universidad de Oriente, incluso durante un examen) o disociarme y empezar a divagar. Empeizo a mirar los audífonos de Freya y pensar si una cosa de ese tamaño me molestaría en las orejas (odio los audífonos), o si serían de tan buena calidad que al fin no me molestarían tanto, luego me entretiene el gato de Freya, y así sucesivamente. Cuando vengo a caer en cuenta, me he quedado botado en la carretera. Me es muy difícil escuchar a las personas que intentan enseñarme y no por culpa de ellas, sino mía.

La ventaja es que ahora sí puedo virar para atrás y reiniciar desde donde perdí el hilo, gracias a eso algo se está pegando. He tratado de tomar notas para reforzar el aprendizaje, aunque sin muchas garantías de que funcione si no aplico todo lo que voy aprendiendo. 

Veremos si puedo completar el reto y sacar algo de beneficio.

Y así se ve el nuevo Laberinto del Saber

 Mi natural vagancia me impide escribir un largo post explicando los cambios y por qué deberían probar este juego en cuanto salga. ASí que ahí lo dejoÑ



Tutorial completo sobre juegos multijugador con Godot

Un post muy breve para recomendarles este tutorial (bastante largo) que cubre la creación de juegos multijugador con Godot. Lo mejor: con servidor dedicado, que otros muchos tutoriales no cubren el tema porque el asunto tiene sus cosas. En Godot hay que cumplir ciertos requisitos como tener los nodos con el mismo nombre para poder hacer un rpc de un lado a otro y etc.

Yo ayer volví a dedicarle veinte minutos y al fin logré implementar los primeros elementos del servidor. En concreto, conectar desde el cliente, solicitar un valor y recibirlo. Todo muy simple. Lo cual no quiere decir que ahora mismo tenga en planes ponerme a hacer un MMORPG, para nada nadísima. Aunque se han dado ciertas condiciones en Cuba, como por ejemplo que ya es posible rentar un VPS, el trabajo que requiere un MMORPG es bestial. No lo intenten en casa.

No te quejes de Cyberpunk 2077

 Ayer implementé los últimos detalles de jugabilidad del Laberinto, así que el demo está, técnicamente, completo. He hablado acerca del largo y pesado proceso de pulido, pero nada acerca del trabajo con beta testers. Si eres indie, al final mucho de este trabajo recaerá sobre ti.  

Lo explicaré de una forma simple y sencilla. De una docena de beta testers voluntarios, solo dos o tres reportarán algo. El resto nunca reportará nada, quizás porque no jugaron lo suficiente, o porque ni siqueira probaron el juego. Esos dos o tres reportarán los errores más graves que no lograste ver tú, lo cual no deja de ser útil. Sin embargo, es poco probable que pasen de ahí. No conseguirás que en una segunda ronda de pruebas te informen de más problemas. Debe ser que ya están aburridos del juego, así que es razonable que ya no rindan tanto. No puedes pedirle más a un voluntario.

Por eso, ayer cuando terminé de programar, tuve que hacer una corrida de prueba, donde me percaté de un montón de detalles de jugabilidad que se habían pasado por alto. Volví a Godot a retocar todas las escenas, e incluso me planteé retrasar la salida del demo. Y yo solo tengo ocho escenas. Pero el proceso de balanceo de la jugabilidad tiene lo suyo. Sospecho que tendré que darle otra pasada al juego completo para ver si alcanza el nivel de dificultad que pretendo.

Así que ya pueden imaginarse a CD Projekt haciendo lo mismo con Cyberpunk 2077. Cientos de diálogos que probar, cientos de misiones, una ciudad gigantesca. Sí, van a  decirme que para eso le pagan a un montón de beta testers, pero ni así. Esto es algo que hay que vivirlo para entenderlo.

Ah, y acaba de escribirme la artista para recordarme unos botones que no coinciden con la estética del juego. En fin, que sí tendré que atrasar la salida hasta la semana próxima. Espero que los jugadores no se sientan decepcionados.

El reto de los dos días, en video

 Un breve video del prototipo de prueba que hice la semana pasada. Aparte de lo que implementé en esas dos noches de trabajo, agregué zoom y rotación de la cámara. Sin embargo, la rotación probó no ser una buena idea, porque requiere ciertos cálculos adicionales. Al girar la cámara, la orientación del pivote no coincide con la del personaje y causa que cuando te mueves hacia arriba, el personaje se desplaza hacia abajo. Soluble, pero completamente fuera de la idea.



Historia de los juegos hechos en Cuba

 Me he tomado más de lo que esperaba (dos o tres meses más), pero ya está concluido y estrenado en Youtube:


El audio no es el mejor, porque mis condiciones de grabación no son nada buenas, pero creo que se entiende.

Reto de ayer: clon de Diablo Immortal

 Hay días que uno amanece creativo. Como que se te sale el pájaro que todos llevamos por dentro. Luego de ver el gameplay de Diablo Immortal, hasta yo, que no soy fan de jugar en el teléfono (eso se lo dejo a mi hija) quise probar algo parecido. Y una conversación en el grupo de desarrolladores cubanos en Telegram me hizo preguntarme qué tan rápido podía hacer un prototipo, usando Godot.


 

 La respuesta es un par de horas. Tengan en cuenta que es algo que no había hecho nunca, ya que no es lo mismo que hacer una cámara isométrica. En este caso, la cámara sigue al jugador, y el control de movimiento se hace mediante un botón en la pantalla. En esas dos horas logré implementar movimiento del personaje y animación, solo me falta orientar el modelo en la dirección del movimiento. 

De paso, hice un pequeño experimento de rendimiento. El proyecto, con sombras activadas, corre a unos 52-53 cuadros por segundo en mi Redmi Note 7 y usa GL ES 3. También tuve un extraño bug cuando agregué la configuración de iluminación recomendada para exteriores, que resolví creando el Environment desde cero y cambiando solo el tonemap. Aún tendré que experimentar un poco más con eso a ver los valores correctos.

Feliz año nuevo

 Y ya nos llega el 2021, mientras podemos dar el 2020 por perdido casi en su totalidad. Muchos planes cancelados, aunque de alguna forma cada cual se las habrá arreglado para hacer otras cosas. ¿Qué puedo decirles acerca de este año? 

En general, he estado muy escaso de tiempo, y eso lo habrán notado los pocos que aún pasan por aquí. El 2020 empezó para mí con un cambio de Unity a Godot, el inicio de un proyecto, y la migración de El Laberinto del Saber. Todo eso, partiendo desde cero en el nuevo motor. Hoy el demo del Laberinto está casi terminado, en espera de algunos gráficos que faltan, y que se me apruebe la cuenta de desarrollador en Apklis, la tienda de aplicaciones de Cuba. Y eso es un tema que se merece un poco de atención.

Por primera vez en nuestro país se legaliza la venta de software, incluso sin necesidad de una licencia de trabajador privado. Sin embargo, no todo es color de rosas. Abundan los usuarios que se aferran a los viejos hábitos y que se ofenden porque creen que las aplicaciones deben ser gratis. Así, por sus cojones. Por tanto, han desatado toda una campaña de valoraciones negativas contra Almas Reencarnadas, el primer juego que cambió de gratis a pago, aunque su precio es ínfimo. Y es que los cubanos, cuando queremos ser hijos de puta no nos gana ni Donald Trump.

 


La comunidad cubana de desarrolladores de juegos ha logrado organizarse en este año que termina y ya contamos con un grupo de más de 100 miembros. Se está hablando de organizar encuentros en cuanto la situación lo permita, de desarrollo, monetización, unos premios a los videojuegos cubanos, etc. Todo eso a pesar de que el marco legal no nos favorece. Estamos lejos de tener una industria como tal, pero a eso llegaremos algún día. O algún siglo. No abundaré más porque el tema ya lo he tratado, pero en mi opinión, es de lo mejorcito que nos ha pasado este 2020 y un motivo de alegría para mí.

Volviendo a lo personal, he terminado otra novela, y de momento no hay otra concreta en planes. Sigo a la espera de Godot 4.0 para reiniciar el proyecto de RPG, que estrenará concept art muy pronto, pro eso tomará algunos meses.

Por tanto, muchas felicidades a todos. O todas, o todes, que hay que ser inclusivo o te buscas un problema y el fin de año no es para buscarse líos. Y sean educados, dejen un comentario con sus felicitaciones.

Mis experiencias como desarrollador freelance

 
Sí, he estado ausente durante meses, y es posible que lo siga estando. El tiempo no me alcanza para mucho, sobre todo por lo ocupado que he estado en un proyecto a pedido de un colega. La situación está apretada y el dinero hace falta. Pero como ya he dicho, de cualquier cosa se sacan lecciones, no solo dinero. 

Ha sido toda una experiencia llevar le proyecto de principio a fin, con todos sus cambios y todas las dificultades que aparecieron por el camino. En concreto, la mayor cantidad de problemas se me han dado en el port para Android, en específico, los permisos. Las app de Godot no solicitan ningún permiso al instalarse, auqneu los tengan activados en la lista. Conclusión, que mi apk no podía hacer algo tan simple como obtener el listado de archivos de un directorio. Otro detalle,  que ya conocía, es que a veces el apk no escribe archivos, y de pronto empieza a escribirlos sin problemas. No recuerdo haber enfrentado tantas dificultades cuando usaba Unity.

El proceso de corrección de errores ha sido pesado, tanto que da la equivocada impresión de que invertí más tiempo en pruebas y pulido que en el desarrollo como tal. Ha sido una lección de gran valor que tendré en cuenta en los otros proyectos, en especial el Laberinto, que está en fase beta ahora mismo. No importa lo sencillo que sea el proyecto, habrán problemas a montones. Así que no se quejen por los bugs de Cyberpunk 2077. No quiero ni pensar cuando me toque algún proyecto más complejo.

En general me he visto obligado a dominar mejor el UI de Godot, he tenido que aprender a usar las señales, saber un poquito más acerca de GDScript, sobre todo el uso de diccionarios, y quiás alguna cosita que se me olvide ahora. Todo eso me viene bien para un juego que en un mes o dos les mostraré.


¡Albricias! Podremos vender aplicaciones en Cuba

 Pues eso. Según nueva resolución de nuestro Ministerio de Finanzas y Precios, las personas naturales y jurídicas podrán vender aplicaciones y servicios a través de Apklis (una suerte de Google Play local), Todus y Picta (una especie de Telegram hecho acá, que casi nunca funciona y un Youtube cubano, que igual que el original, nadie puede ver, porque sale muy caro). Ya sé lo que me van a decir. Vender aplicaciones es algo más viejo que cagar agachado en todo el mundo. Pero les recuerdo que usted está en Cuba, patria socialista, tierra de Fidel. Aquí no hacemos esas cochinadas burguesas de permitir que la gente se venda cosas unas a otras y gane dinero en el proceso. O no las hacíamos. Nada como una buena crisis para darte cuenta de que la economía, como toda ciencia, no entiende de ideologías.

La resolución es casi como una falda de ir a la iglesia pentecostal: no deja ver nada. Salvo decir que las personas naturales deben declarar sus ingresos a fin de año, no se aclara si se debe tener una licencia de trabajador privado, que hasta ahora siempre ha sido esencial para hacer negocios como freelancer. Seguimos en espera de más detalles, aunque la comunidad de desarrolladores está muy entusiasmada con el tema. 

El gran problema que enfrentamos, aparte de legislación poco clara y restrictiva, es un país donde el comercio electrónico está en pañales. Otro asunto es que las personas no tienen hábito de comprar aplicaciones o servicios digitales a sus productores, es más fácil ir con el tipo de la esquina que te las pone en tu teléfono y te cobra un dólar. Redirigir ese mercado hacia el lugar correcto podría ser una tarea difícil.

 En fin, que la vida es dura para los desarrolladores cubanos. Pero no podemos dejar de reconocer que se trata de un paso de avance en la dirección... digamos que correcta. Esperemos que los pasos sigan. Y que sigan en la dirección correcta para nosotros, porque ya sabemos que loq ue el estado entiende por correcto no siempre coincide con lo que entendemos nosotros.

Nuevo video en camino

 Y como había prometido, ya he comenzado a planificar un nuevo video, sobre la historia de los videojuegos en Cuba. Lamentablemente, sigo bastante ocupado (y no, no estoy ocupado jugando), por eso no le puedo dedicar suficiente tiempo a la investigación del tema. Porque el asunto, aunque no lo crean, no es tan simple como parece. ¿Qué historia puede tener Cuba en los videojuegos? Pues sí que la tiene, ya lo verán pronto... o eso espero.
En este momento estoy llevando tres proyectos a la vez, aunque uno de ellos me consume más tiempo que la mayoría. Es un juego 2D de plataformas, del cual no puedo dar muchos detalles aún. El segundo proyecto es el port del Laberinto del Saber a Godot, que se ha complicado en algunas cosillas que deberían ser simples. Y el tercero es un experimento para un amigo, que reutiliza algunas cosas del Laberinto para crear una app de entrenamiento.
Cada uno tiene sus cosas y a su vez, me han servido para aprender más sobre Godot. No hay proyecto sencillo, y todos pueden enseñarte algo.

No me he muerto

 
Long time no see! He estado bastante ocupado pensando en proyectos, y de hecho, haciendo algunas cosas en esos proyectos. No he tenido tiempo para escribir ni unas míseras líneas, aunque tenía un tema que quiero tratar (espero hacerlo más adelante), ni para un video que está pendiente desde hace un mes sobre la historia de los videojuegos en Cuba.
En fin, para no hacer este cuento muy largo, les diré que he avanzado un poco en un proyecto 2D que estaba estancado, agregando escenas nuevas y la IA. En esto último me he encontrado algunos problemas, pero todo problema es una oportunidad para aprender. También me vi necesitado de trabajar mucho más con la interfaz de usuario de Godot, en un segundo proyecto, lo cual me vino muy bien. He consolidado un poco lo que sabía del tema y aprendido un par de cosas nuevos. Por supuesto, aún es una mínima parte de lo que necesito.
Si sacan cuentas, verán que no es suficiente para llenar todas estas semanas de ausencia. Bueno, es que no todo ha sido trabajo. Logré echarle mano al Wasteland 3 y completarlo me robó un par de semanas, una hora y media o más cada noche. A pesar de ciertos fallos, el juego valió la pena. No sé hasta qué punto atribuir los largos tiempos de carga y que el juego se congelase en ciertos puntos durante más de tres segundos a Unity. Para ser un título que no abusa de los gráficos su rendimiento deja mucho que desear, algo que no sucedía en el anterior.
Volviendo al primer proyecto que mencionaba, esperamos antes de fin de año tener algo muy sencillo que mostrar, y estoy seguro de que visualmente los sorprenderá. Sé que la recomendación viene de muy cerca, pero está aun nivel muy superior a todo lo que se está haciendo en el país actualmente, que no es poco. Pero de eso hablaremos en el próximo post. Le sprometo que no me tomaré un mes en hacerlo.