*En móviles y tablets los controles están en la propia pantalla
¡Completa líneas, suma puntos, y no dejes que las piezas lleguen hasta arriba!
Óscar
"En lo relativo al diseño del juego (ideas, funcionamiento, código, corrección de bugs…)
hemos participado todos los miembros del equipo de manera equilibrada. Con diferencia,
esta ha sido la parte que más tiempo nos ha llevado.
En un principio yo programé una versión inicial del Tetris con un sistema de colisiones diferente.
Finalmente Sergio y Álex propusieron otra versión que resultó ser más eficiente y flexible.
Si bien fue su modelo el que terminamos usando, sí se heredaron partes de mi versión como la
gestión de la puntuación y cambios de nivel.
A parte de ello, me he ocupado de componer la música y diseñar los efectos de sonido
en Cubase (tanto para la página web como para el juego), así como de integrarlos en el
código usando jQuery.
También me he encargado de la estética del tablero: diseño general, apariencia de las
figuras, mostrar la "preview" de la figura en juego (dónde caería), barra de progreso animada,
efectos “Let’s Go!” / “Level Up!”, animación del tablero al iniciar el juego, etc.
Para que la estética de la página web fuese coherente en todos sus aspectos, todos los
miembros del equipo pactamos previamente el estilo que buscábamos: retro, neón y arcade.
Por último, he participado en algunas cuestiones menores relativas al flujo en la página
web, así como en la corrección de algunos errores que han ido surgiendo."
Dani
"Por mi parte me he encargado de la adaptación del juego y la página web a dispositivos móviles
(Responsive Design). También me he ocupado de la creacion de los botones para proporcionar
la jugabilidad en tablets y smartphones.
Para ello, he tenido que variar el código CSS y Javascript para poder adaptar el contenido
de una forma óptima, valíendome de la herramienta Media Queries. Me he encontrado con múltiples
problemas al lidiar con la herencia, superposición de propiedades, estructura interna de la página, etc.
Finalmente al igual que todos, he participado en el diseño del juego y corregido errores y bugs, especialmente
relacionados con interferencias entre la lectura de teclado y la de los botones de la versión móvil. También
me he encargado de la sección Autores, respetando el sentido artístico acordado con el equipo a la hora de diseñar
la página web."
Álex
"He hecho el esquema del funcionamiento de la página. Basándome en los modelos SPA,
donde hay un único HTML donde se muestra todo el contenido, que se muestra de manera dinámica con CSS,
a excepción del ranking. Así mismo, he implementado el navegador funcional y demás interacciones de la web, excepto la pestaña de desarrollo.
Por otra parte, he implementado que nuestro juego pueda ser hosteado en una web con node.js,
usando en concreto express.js. Aprovechando node.js, he establecido una interacción con el usuario,
donde se almacena su nombre y la puntuación que ha obtenido. El servidor procesa la información recibida
con un módulo diseñado por mí, data_manager, que mediante bubble-sort inserta la información en un archivo JSON.
Esta información es accedida desde una petición Ajax al servidor, y se muestra en la pantalla final, con el ranking.
Por otra parte, el navegador y sus animaciones fue interesante de hacer con tecnologías jQuery que
permitieron manipular con facilidad el contenido web. He añadido así mismo un botón de entrar en pantalla completa y poder disfrutar al máximo el juego.
En el Tetris he contribuido al concepto en sí del funcionamiento general y algunas funciones básicas de movimiento de piezas,
más los videos que he editado para que aparezcan de fondo, en conjunto con la pantalla de selección de niveles con sus imagenes.
He hecho también la pestaña de controles, y esta misma pestaña donde hablamos de lo que hemos hecho."
Sergio
"Sobre mis hombros ha recaído las funciones principales del juego en sí, tales como la estructura general de este,
el movimiento constante de las piezas hacia abajo, detectar choques y detección y supresión
de filas llenas al encajar una pieza. Por último también me he encargado de algunas animaciones
en la página web y de realizar el Vídeo de presentación.
Los principales problemas con los que he lidiado han sido sobre todo en Javascript, puesto que queríamos presentar
un código limpio y optimizado: no solo era implementar las funciones, sino que estas fuesen modulares y tuviesen
coherencia. En CSS y HTML tuve que lidiar con algún bug, pero nada grave."
Referencias
Para llevar a cabo este proyecto nos hemos servido de varias fuentes externas para poder salir del paso en muchas ocasiones.
También para ampliar nuestros conocimientos y aprender el funcionamiento de diversas funcionalidades, tanto visuales como a nivel
de motor de página.
Gracias a estas ayudas externas la página ha evolucionado significativamente y ha mejorado sus funcionalidades. A continuación
mostraremos el listado de dichas referencias: