Mejor lo probamos todo desde el comienzo
Quedé perplejo al leer este artículo sobre las técnicas de programación de juego de Notch (el programador detrás de Minecraft). Se trata de algo que él hace, que puede resultar obvio, o quizás no, pero que como quiera que sea es una buena idea: probar todo desde el comienzo cada vez que hace una modificación.
The most important thing I learned was his testing technique. Notch tests continuously, and he tests completely thoroughly, playing through the entire game every time he makes a change.
Esto resulta tedioso y consume tiempo, pero la verdad es que más tiempo consume tratar de encontrar un bug que surgió en alguna parte del juego, en forma inadvertida cuando modificamos algo en otra parte del juego. En este momento estoy desarrollando el 2do. nivel de un juego javascript. Hice múltiples cambios en las rutinas de collision detection, para hacer funcionar un efecto que aparece solamente en este nivel. Pero ahora uno de los efectos del 1er nivel no funciona. No tengo idea cuánto tiempo voy a necesitar para encontrar la falla, inclusive utilizando git, un sistema de manejo de versiones que me permite ubicar la versión con la falla (con el comando git bisect). La verdad es que mejor probamos todo desde el comienzo. Así nos evitamos la incertidumbre y la frustración que un bug genera.