Un grupo de investigadores de la Universidad de Bristol ha llegado a la conclusión de que estudiar las técnicas de los speedrunners puede ser beneficioso para los programadores. Esta afirmación llega luego de un estudio realizado sobre la saga Super Mario.
El speedrunning reúne a aquellos jugadores que intentan finalizar un juego o uno de sus niveles en el menor periodo de tiempo posible. Para tal fin deben, por supuesto, adquirir un gran nivel de habilidad y conocimiento. Pero el aprovechamiento de los bugs dentro del juego es una parte válida y fundamental para conseguir nuevos récords.
¡Es Mario!
Los investigadores examinaron lo ocurrido con Super Mario Bros (1985), Super Mario Bros 3 (1988), SuperMario World (1990) y Super Mario 64 (1996). Estos juegos, producidos para consolas, han tenido que lidiar con una gran cantidad de limitaciones de hardware. Como consecuencia muchos trucos de optimización se emplearon. Algunos de ellos están vinculados a los bugs que se han descubierto con los años.
Los juegos han sido sometidos a los atentos y curiosos ojos de muchos aficionados al speedrunning. Lo que garantiza que gran parte de los defectos que podían ser aprovechados para obtener mejores resultados ya han sido descubiertos. Y que cuando aparece alguno nuevo la comunidad se entera rápidamente. En total, unos 237 comportamientos anómalos fueron estudiados y clasificados.
Categorización y resultados
Los investigadores utilizaron el sistema de Enumeración de Debilidades Comunes para clasificar los bugs. El esquema, conocido por sus siglas en inglés como CWE, suele ser empleado para estimar las debilidades en un software así como el impacto que podrían tener. Muchos de los bugs que los speedrunners aprovechaban no encajaban en ninguna de las categorías existentes. Unas 7 nuevas clasificaciones debieron ser creadas para paliar las falencias.
De esta manera cuestiones tales como subir las escaleras de espalda y a los saltos, y atravesar paredes de una forma en la que no debería ser posible, contribuirán a la producción de software más sólido y seguro.