GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos
description
Transcript of GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos
![Page 2: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/2.jpg)
¿Quién soy yo?
![Page 3: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/3.jpg)
3
• Acercar el desarrollo de videojuegos a las prácticas de Ingeniería del Software
• Justificar que se puede aplicar TDD para el desarrollo de videojuegos
• Ver los principales problemas y soluciones para aplicar TDD en el desarrollo de videojuegos.
Objetivos
Objetivos
![Page 4: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/4.jpg)
4
1. Mi experiencia.
2. ¿Qué es TDD?.
3. ¿Quién usa TDD para desarrollar videojuegos?.
4. Aspectos claves en videojuegos.
5. Probar el código que no se ve.
6. Conclusiones.
TDD y Videojuegos
Índice
![Page 5: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/5.jpg)
5
Mi experiencia
![Page 6: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/6.jpg)
Faltan enemigos
Demasiado rápido
Constante equivocada
Mala lógica
Variable no declarada
Mi Experiencia
![Page 7: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/7.jpg)
• Sin pruebas
• No veía fácilmente el diseño
• Fallaba por sorpresa sin saber por qué
• Cambiaba por cambiar.
• Apechugar con las malas decisiones.
• No avanzaba.
• Presionado por fecha límite.
• Me sentía mal.
• Un cuadro típico de necesito TDD.
Mi experiencia
![Page 8: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/8.jpg)
Mi experiencia
![Page 9: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/9.jpg)
9
¿Qué es TDD?
![Page 10: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/10.jpg)
¿Qué es TDD?
![Page 11: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/11.jpg)
¿Qué es TDD?
![Page 12: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/12.jpg)
1. You are not allowed to write any production code unless it is to make a failing unit test pass.
2. You are not allowed to write any more of a unit test than is sufficient to fail; and compilation failures are failures.
3. You are not allowed to write any more production code than is sufficient to pass the one failing unit test.
¿Qué es TDD?
![Page 13: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/13.jpg)
13
¿Qué es TDD?
![Page 14: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/14.jpg)
¿Esto se aplica a videojuegos?
Resolviendo niveles automáticamente
http://www.youtube.com/watch?v=DlkMs4ZHHr8
![Page 15: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/15.jpg)
15
¿Quién usa TDD?
![Page 16: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/16.jpg)
¿Usan TDD para desarrollar juegos?
Onikami
![Page 17: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/17.jpg)
¿Usan TDD para desarrollar juegos?
• Solo es útil ara determinados algoritmos.
• Dedicamos mucho más tiempo a tareas que son escribir código.
• Probamos los juegos a mano.
• Provoca grandes retrasos.
• No lo usamos porque nunca lo hemos usado.
• Umbral de entrada muy alto.
• No merece la pena.
![Page 18: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/18.jpg)
¿TDD sirve?
• TDD incrementa el tiempo y los recursos.• TDD es difícil en determinados contextos
(como interfaces gráficas).• TDD es difícil de aprender y aplicar
correctamente.• Las diferencias entre personas influyen
mucho en los resultados.• TDD suele evitar errores de código.• TDD no suele evitar errores de aceptación.• TDD suele generar código menos
acoplado.• Resultados no concluyentes cobre la
mejora de diseño con TDD
![Page 19: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/19.jpg)
¿Todos?... No
![Page 20: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/20.jpg)
20
Aspectos claves en videojuegos
![Page 21: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/21.jpg)
Puntos clave
• UX es el rey, el código no.
• Falta de SRD.
• Destapar.
• Probar lo visible.
• Aleatoriedad.
• Problema con las herramientas.
![Page 22: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/22.jpg)
Puntos clave
• Movimiento
• Colisiones
• Inteligencia artificial
• Respuestas a inputs externos.
• Eventos de tiempo
• Carga de assets
• Pintar la pantalla
• Reproducir los gráficos
• Probar el juego como el usuario
final.
• Programación multihilo.
• Rendimiento.
Es mas difícil aplicar TDD a:Podemos aplicar TDD a
![Page 23: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/23.jpg)
23
Separación de conceptos
![Page 24: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/24.jpg)
La S de Solid
A CLASS SHOULD HAVE ONLY ONE REASON TO
CHANGE.
![Page 25: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/25.jpg)
Single Responsibility
![Page 26: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/26.jpg)
Single Responsibility
![Page 27: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/27.jpg)
27
Independencia de los gráficos
![Page 28: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/28.jpg)
TDD y Videojuegos
Filosofía TDD
![Page 29: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/29.jpg)
TDD y videojuegos
![Page 30: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/30.jpg)
Probar los actores
Gema:Tiene posición X, YEstá visible por defectoPuede volverse invisible
![Page 31: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/31.jpg)
Haz visible lo invisible
![Page 32: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/32.jpg)
Usa lo visual a tu favor
Hazlo fácil de ver / cambiar.
• Pero la UX es importante• Vas a tener que jugar con
tu juego muchoooo.• Procura que sea divertido.• Agiliza los cambios.
![Page 33: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/33.jpg)
33
Mas ejemplos
![Page 34: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/34.jpg)
Lógica del juego
Combinación:• 4 Valores• En un rango de [1-4]• Valor correcto =
intenta el siguiente.• Valor incorrecto =
vuelve a empezar
![Page 35: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/35.jpg)
Lógica del juego
Combinación:• 4 Valores• En un rango de [1-4]• Valor correcto =
intenta el siguiente.• Valor incorrecto =
vuelve a empezar
Si destapamos el código
![Page 36: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/36.jpg)
36
¿Y eso cómo queda en la realidad?
![Page 37: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/37.jpg)
37
Test Coverage Metric
![Page 38: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/38.jpg)
38
Y en el futuro…..
![Page 39: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/39.jpg)
39
Conclusiones
![Page 40: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/40.jpg)
Conclusiones
![Page 41: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/41.jpg)
Conclusiones
• Falsa sensación de velocidad.
• Falsa sensación de seguridad.
• No tener claro qué probar
• Set-up complejo.
• Módulos “Dios”
¿Por qué pierdo la fe?
Mal diseño
![Page 42: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/42.jpg)
Conclusiones
Todo por hacer
![Page 43: GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos](https://reader033.fdocuments.net/reader033/viewer/2022052412/559474611a28ab4c6e8b45bc/html5/thumbnails/43.jpg)
Enlaces
Fin