codemotion 2013 - desarrollo de videojuegos dirigido por pruebas
DESCRIPTION
Transparencias de la charla: Desarrollo de videojuegos dirigido por pruebas, dónde vimos cómo empezar a aplicar TDD para el desarrollo de videojuegos. Madrid, 18/10/2013TRANSCRIPT
![Page 1: Codemotion 2013 - Desarrollo de videojuegos dirigido por pruebas](https://reader033.vdocuments.mx/reader033/viewer/2022052908/5594740e1a28ab596e8b459f/html5/thumbnails/1.jpg)
Desarrollo de
videojuegos dirigido
por pruebas
Javier Gutiérrez
![Page 2: Codemotion 2013 - Desarrollo de videojuegos dirigido por pruebas](https://reader033.vdocuments.mx/reader033/viewer/2022052908/5594740e1a28ab596e8b459f/html5/thumbnails/2.jpg)
¿Quién soy yo?
![Page 3: Codemotion 2013 - Desarrollo de videojuegos dirigido por pruebas](https://reader033.vdocuments.mx/reader033/viewer/2022052908/5594740e1a28ab596e8b459f/html5/thumbnails/3.jpg)
Índice
![Page 4: Codemotion 2013 - Desarrollo de videojuegos dirigido por pruebas](https://reader033.vdocuments.mx/reader033/viewer/2022052908/5594740e1a28ab596e8b459f/html5/thumbnails/4.jpg)
Todos nos equivocamos
“No fracasé, sólo
descubrí 999 maneras de
como no hacer una
bombilla.”
![Page 5: Codemotion 2013 - Desarrollo de videojuegos dirigido por pruebas](https://reader033.vdocuments.mx/reader033/viewer/2022052908/5594740e1a28ab596e8b459f/html5/thumbnails/5.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.
¿Por qué TDD?
![Page 6: Codemotion 2013 - Desarrollo de videojuegos dirigido por pruebas](https://reader033.vdocuments.mx/reader033/viewer/2022052908/5594740e1a28ab596e8b459f/html5/thumbnails/6.jpg)
¿Por qué TDD?
NO
![Page 7: Codemotion 2013 - Desarrollo de videojuegos dirigido por pruebas](https://reader033.vdocuments.mx/reader033/viewer/2022052908/5594740e1a28ab596e8b459f/html5/thumbnails/7.jpg)
¿Qué es TDD?
![Page 8: Codemotion 2013 - Desarrollo de videojuegos dirigido por pruebas](https://reader033.vdocuments.mx/reader033/viewer/2022052908/5594740e1a28ab596e8b459f/html5/thumbnails/8.jpg)
¿Qué es TDD?
![Page 9: Codemotion 2013 - Desarrollo de videojuegos dirigido por pruebas](https://reader033.vdocuments.mx/reader033/viewer/2022052908/5594740e1a28ab596e8b459f/html5/thumbnails/9.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 10: Codemotion 2013 - Desarrollo de videojuegos dirigido por pruebas](https://reader033.vdocuments.mx/reader033/viewer/2022052908/5594740e1a28ab596e8b459f/html5/thumbnails/10.jpg)
NO
¿Quién usa TDD?
![Page 11: Codemotion 2013 - Desarrollo de videojuegos dirigido por pruebas](https://reader033.vdocuments.mx/reader033/viewer/2022052908/5594740e1a28ab596e8b459f/html5/thumbnails/11.jpg)
¿Qué sabemos de TDD?
Every unit test you write is not production
code solving someone's problem.
![Page 12: Codemotion 2013 - Desarrollo de videojuegos dirigido por pruebas](https://reader033.vdocuments.mx/reader033/viewer/2022052908/5594740e1a28ab596e8b459f/html5/thumbnails/12.jpg)
Aspectos clave de TDD y videojuegos
![Page 13: Codemotion 2013 - Desarrollo de videojuegos dirigido por pruebas](https://reader033.vdocuments.mx/reader033/viewer/2022052908/5594740e1a28ab596e8b459f/html5/thumbnails/13.jpg)
Single Responsibility Principle
A CLASS SHOULD HAVE ONLY
ONE REASON TO CHANGE.
![Page 14: Codemotion 2013 - Desarrollo de videojuegos dirigido por pruebas](https://reader033.vdocuments.mx/reader033/viewer/2022052908/5594740e1a28ab596e8b459f/html5/thumbnails/14.jpg)
Single Responsibility Principle
![Page 15: Codemotion 2013 - Desarrollo de videojuegos dirigido por pruebas](https://reader033.vdocuments.mx/reader033/viewer/2022052908/5594740e1a28ab596e8b459f/html5/thumbnails/15.jpg)
Single Responsibility Principle
![Page 16: Codemotion 2013 - Desarrollo de videojuegos dirigido por pruebas](https://reader033.vdocuments.mx/reader033/viewer/2022052908/5594740e1a28ab596e8b459f/html5/thumbnails/16.jpg)
Destapa tu juego
![Page 17: Codemotion 2013 - Desarrollo de videojuegos dirigido por pruebas](https://reader033.vdocuments.mx/reader033/viewer/2022052908/5594740e1a28ab596e8b459f/html5/thumbnails/17.jpg)
Destapa tu juego
![Page 18: Codemotion 2013 - Desarrollo de videojuegos dirigido por pruebas](https://reader033.vdocuments.mx/reader033/viewer/2022052908/5594740e1a28ab596e8b459f/html5/thumbnails/18.jpg)
Gema:
Tiene posición X, Y
Está visible por defecto
Puede volverse invisible
Destapa tu juego
![Page 19: Codemotion 2013 - Desarrollo de videojuegos dirigido por pruebas](https://reader033.vdocuments.mx/reader033/viewer/2022052908/5594740e1a28ab596e8b459f/html5/thumbnails/19.jpg)
Combinación:
• 4 Valores
• En un rango de [1-
4]
• Valor correcto =
intenta el siguiente.
• Valor incorrecto =
vuelve a empezar
Destapa tu juego
![Page 20: Codemotion 2013 - Desarrollo de videojuegos dirigido por pruebas](https://reader033.vdocuments.mx/reader033/viewer/2022052908/5594740e1a28ab596e8b459f/html5/thumbnails/20.jpg)
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
Destapa tu juego
![Page 21: Codemotion 2013 - Desarrollo de videojuegos dirigido por pruebas](https://reader033.vdocuments.mx/reader033/viewer/2022052908/5594740e1a28ab596e8b459f/html5/thumbnails/21.jpg)
Haz visible lo invisible
![Page 22: Codemotion 2013 - Desarrollo de videojuegos dirigido por pruebas](https://reader033.vdocuments.mx/reader033/viewer/2022052908/5594740e1a28ab596e8b459f/html5/thumbnails/22.jpg)
Haz visible lo invisible
![Page 23: Codemotion 2013 - Desarrollo de videojuegos dirigido por pruebas](https://reader033.vdocuments.mx/reader033/viewer/2022052908/5594740e1a28ab596e8b459f/html5/thumbnails/23.jpg)
Haz visible lo invisible
![Page 24: Codemotion 2013 - Desarrollo de videojuegos dirigido por pruebas](https://reader033.vdocuments.mx/reader033/viewer/2022052908/5594740e1a28ab596e8b459f/html5/thumbnails/24.jpg)
El mundo real
![Page 25: Codemotion 2013 - Desarrollo de videojuegos dirigido por pruebas](https://reader033.vdocuments.mx/reader033/viewer/2022052908/5594740e1a28ab596e8b459f/html5/thumbnails/25.jpg)
El mundo real
![Page 26: Codemotion 2013 - Desarrollo de videojuegos dirigido por pruebas](https://reader033.vdocuments.mx/reader033/viewer/2022052908/5594740e1a28ab596e8b459f/html5/thumbnails/26.jpg)
El mundo real
![Page 27: Codemotion 2013 - Desarrollo de videojuegos dirigido por pruebas](https://reader033.vdocuments.mx/reader033/viewer/2022052908/5594740e1a28ab596e8b459f/html5/thumbnails/27.jpg)
El mundo real
Medias
![Page 28: Codemotion 2013 - Desarrollo de videojuegos dirigido por pruebas](https://reader033.vdocuments.mx/reader033/viewer/2022052908/5594740e1a28ab596e8b459f/html5/thumbnails/28.jpg)
• 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?
Conclusiones
![Page 29: Codemotion 2013 - Desarrollo de videojuegos dirigido por pruebas](https://reader033.vdocuments.mx/reader033/viewer/2022052908/5594740e1a28ab596e8b459f/html5/thumbnails/29.jpg)
Todo por hacer
Conclusiones
![Page 30: Codemotion 2013 - Desarrollo de videojuegos dirigido por pruebas](https://reader033.vdocuments.mx/reader033/viewer/2022052908/5594740e1a28ab596e8b459f/html5/thumbnails/30.jpg)
Onikami
Agradecimientos
![Page 31: Codemotion 2013 - Desarrollo de videojuegos dirigido por pruebas](https://reader033.vdocuments.mx/reader033/viewer/2022052908/5594740e1a28ab596e8b459f/html5/thumbnails/31.jpg)
• Blog: http://iwt2-javierj.tumblr.com/
• Libro:
http://www.iwt2.org/web/opencms/IWT2/comunid
ad/LibroTDD/?locale=es
• GameUS: http://www.gameus.es/
• IWT2 DojoUS:
http://www.iwt2.org/web/opencms/IWT2/comunid
ad/dojous/?locale=es
• Twitter: @IWT2_Javier/ @GameUsSev /
@TDDPractico
Fin
Enlaces