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.