Proyecto WebGL
http://jsbedoya-proyecto.herokuapp.com/
Controles:
Saltar: Espacio
Mover cámara en el plano XZ: WASD
Mover cámara en Y: Flechas Arriba Abajo
Rotar Cámara: Flechas Izquierda Derecha
https://github.com/juansb827/webgl-FlappyBird
Entrega 2
En esta entrega el enfoque principal fue diseñar un sistema que permita mover objetos y
detectar la detección de colisiones entre estos.
Para esto se requiere que el sistema haga lo siguiente.
- Crear un objeto SceneObject (pájaro o chimenea por ahora) con su respectiva hitbox,
este tipo objeto sólo se usa para detectar colisiones, para guardar la información para
pintar un objeto (vértices, índices, normal etc..) se usa una clase llamada Mesh. - Mover un SceneObject (y su hitbox)
- Detectar si las hitboxes de dos SceneObject colisionan.
Con el fin de reducir el número de bugs al diseñar el sistema, decidí utilizar la metodología
TDD (Test Driven Development). Es decir para cada funcionalidad se realizó primero el test,
luego se escribió el código para la funcionalidad y se hicieron los cambios necesarios
hasta que el test fuera aprobado.
Las pruebas se realizaron utilizando Mocha y ChaiJS
Las pruebas se encuentran en test/test.js y ejecutan con npm test
Planeación
Tarea
|
Tiempo
|
Diseño de Sistema
|
0.5
|
Pruebas Unitarias
|
4
|
Implementación del Sistema
|
9
|
Total
|
13.5
|
Entrega 3
En esta entrega se agrego sky box usando un cube map, a este skybox se le aplican las transformaciones de la cámara como a los demas objetos pero con una diferencia, se eliminan primero las translaciones. De esta manera el skybox siempre va verse a la misma distancia asi la camara se mueva.
Se agregaron sonidos cada vez que se suma un punto, o se acaba la partida.
Se crearon diferentes programas:
- Shader Sin Textura
- Shaders Textura
- Shaders para con Cubemap
Adicionalmente se mejoro la estructura del código para que se pueda volver al estado inicial facilmente.
Tarea
|
Tiempo
|
Skybox
|
4.5
|
Creación de diferentes Shaders
|
3
|
Sonidos
|
1
|
Mejor manejo del estado del juego
|
2
|
Total
|
10.5
|
Comentarios
Publicar un comentario