Anécdotas y curiosidades del juego 3D de JosicoVila.es

Crear un mundo 3D lleno de música, relatos y dragones no es solo escribir código y diseñar escenas. También es vivir momentos inesperados que solo ocurren cuando todo parece estar bajo control… pero no lo está.

🐉 El dragón cabezón

En una de las primeras versiones, los dragones eran mucho mas grandes. Así venian sus medidas en su modelo 3D. Hasta que descubrí como escalarlos a menor tamaño, función que me hizo no buscar otros personajes protagonistas.

🗺️ Caida al infinito

Esta claro que los programadores nunca hacemos las pruebas suficientes. Cuando les di a probar el juego a mis sobrinos me hicieron ver que el dragón se podía tirar desde las islas y caer infinitamente. Se morían de la risa cuando lo hacían. Así que decidí dejar ese detalle para que se sigan divirtiendo, pero añadí los botones de habilidades. Una de las cuales teletransporta al dragón al centro del pueblo esté donde esté (opción 1).

🎶 El bug que componía

En mis primeras pruebas con los sonidos posicionales, estos se cargaban ya en la primera pantalla del juego. Cuando estabas eligiendo tu dragon, se oia al sargento dando ordenes y de fondo el alboroto del mercado. Divertido, pero sin sentido. Ahora se cargan cuando terminas de ver la intro o si la saltas.

📚 Relatos en código

Haciendo cambios en el código original toque algo que no debía (suele pasar más amenudo de lo que me gustaría) y los relatos cortos se mostraban con trozos de código HTML que los hacía ilegibles. Lo corregí los más rápido que puede.

💬 Chat sin colores

El juego hace una identificación anónima de cada jugador. No tengo el "nombre" de nadie y todos los usuarios se identifican con una ID que es un conjunto de letras y números muy largos. Esta ID no podía ir al inicio de cada mensaje de chat, no tiene sentido. En la primera versión del chat todos los mensajes tenía el color blanco, era dificil seguir la conversación sin saber cada frase de "dónde" venía. Al añadir un único color para cada único jugador, son más fáciles de seguir las conversaciones y se puede mantener la identificación anónima.

💻 Traslado del proyecto a otro PC para seguir el desarrollo

En mis viajes me llevo un portatil para trabajar. Las últimas modificaciones las hice fuera de casa y cuando volví, me dispuse a pasar el proyecto con un "copiar/pegar" a mi ordenador de casa. Sopresa! no funcionaba casi nada en el nuevo ordenador. Las librerias las reinstalé y recorrí los pasos que aconsejan cuando tienes que hacer estos traslados. Resulta que mi portatil es más "permisivo" que mi ordenador. Al final descubrí que lo que fallaba eran las rutas a los archivos. Y es que lo que funcionaba en mi portatil como "musica/intro.mp3" en mi ordenador (y por cierto la forma correcta) tenía que ser "/musica/intro.mp3". Nótese la diferencia de la primera barra /. Después de cambiar TODAS las rutas del código, el juego volvio a la normalidad. Y digo TODAS porque creeme que hay muchísimas. Que me sirva de lección, de todo se aprende.

🌞 ¿Sombras dinámicas que no se mueven?

En una primera versión, las sombras de los objetos se dibujaban pero no cambiaban con el ciclo día/noche, con el movimiento del Sol. Algo que quitaba realismo al juego. Hice decenas de pruebas, reduciendo el sistema aun suelo simple, una columna y el sol. En este sencillo ejemplo si cambiaban. Lo que me mortificaba. Al final descubrí que, en el mundo 3D, estas no se movian por la forma en que cargaba los objetos y las propiedades que les otorgaba.

🔍 ¿Por qué compartir esto?

Porque detrás de cada juego hay errores, sorpresas, risas y momentos que no aparecen en el código pero hacen parte del proceso. Y porque a veces, cuando algo sale mal, termina saliendo mejor de lo que esperabas.

“Algunos bugs no se corrigen... se transforman en magia.”