Por fin he terminado mi primer videojuego. Se trata de una versión del Tetris escrita en python para el entorno
PythonG . Se trataba de un trabajo voluntario de la asignatura Metodología y Tecnología de la Programación (qué nombres les ponen a las asignaturas). Los profesores decidieron ponerle el simpático nombre de Qtris a la versión de Tetris que se pedía implementar. Entre los trabajos propuestos estaban también hacer un juego de la serpiente (como los del móvil, con laberintos y demás mandangas) y un juego de puzle de situar unas piezas en un tablero . Ese último ni siquiera lo miré, ya que es sin duda el más complicado y quizás menos gratificante de hacer (por experiencias de mis amigos). Y entre la serpiente y el tetris me decidí por el segundo, que me hacía más ilusión.
Me puse manos a la obra con mi "simpático" Qtris hará casi dos semanas. Al principio todo iba sobre ruedas. Como bien me dijo mi amigo Muñoz, el tiempo que inviertes en desarrollar cualquier programa es cada vez mayor cuanto más porcentaje tengas completado. Así que el 80% del código fué lo que menos tiempo me costó.
Estaba bastante entusiasmado hasta que empezaron a salir los bugs y tuve que lanzarme a la caza de fallos. Mi madre se pasaba de vez en cuando por mi habitación y me veía jugando al Tetris:
- Podrías hacer algo de provecho e ir a por tu tarjeta de residencia.
La siguiente vez:
- Te entretienes, ¿verdad?
Al final le expliqué que era un trabajo de clase, pero aún así no se quedó muy contenta, como si no se lo acabara de creer.
Bueno, he de admitirlo, disfrutaba mientras lo probaba. Me pegué auténticos vicios con la excusa de buscarle fallos. Es un juego bastante adictivo.
Hace unos días que lo tengo ya terminado y estaba dandole los últimos retoques y escribiendo la memória que he de entregar junto con el programa. Escribir la memória al princpio me costó muchísimo, pero fué cuestión de arrancar. Intenté que ocupara poco y me ocupó 11 páginas (a mí me parece mucho, para lo que es el juego:P)
He de entregarlo esa semana y si me lo dan como apto me subirán un punto sobre la nota final de la asignatura. Y es ahora cuando cuento un secretillo. Ayer mientras lo "probaba" otra vez, se dió una situación "peculiar", ocurrió algo que no debería haber ocurrido: una pieza "i" atravesó una pieza "zeta" mientras la desplazaba hacía la derecha. Me quedé tan asombrado como si hubiera visto una persona atravesar la pared. Había jugado tantas partidas y aquello nunca había ocurrido. Incumplió las leyes de mi realidad (ahora creo que entiendo un poco mejor a Hume y su ejemplo de las bolas de billar). Mi primera reacción al ver aquello fue un rápidisimo reflejo de abortar la ejecución del programa y mirar alrededor como con miedo de que alguien más lo hubiera visto. Volví a ejecutar el programa e intenté una y otra vez que se repitiera la misma situación y nada, no he conseguido reproducir el fallo. Hasta he llegado a pensar que me lo he imaginado, que estaba con la vista cansada, o que sé yo.
Ahora bien, por las malditas leyes de Murphy puedo estar casi seguro que el día que enseñe el programa a los profesores no solo ocurrirá ese fallo, sino que será algo habitual. Así que: "que la suerte me acompañe".
Por cierto el programa lo distribuyo bajo licencia GPL y si quereis echarle un vistazo lo podéis encontrar
aquí. Leeros el README y tal.