La tentación de las nuevas tecnologías
Es muy fácil adaptarse a las nuevas tecnologías. Hacer uso de mas memoria, incluir más características al juego dado el incremento de velocidad de los procesadores, usar mayores resoluciones gracias al aumento de capacidad de las tarjetas gráficas.
Bueno, lo que no es tan fácil es adaptarse a las nuevas características de los procesadores, a las nuevas habilidades de las tarjetas graficas o a las mejoras de las arquitecturas. Estas requieren que se cambie la forma de organizar los datos, la manera de pensar al realizar los juegos.
Existen infinidad de artículos sobre optimización en ensamblador que basan la mayor parte de lo que cuentan el 8086. Optimizaciones que funcionan por características del procesador superadas hace tiempo y que apenas son un recuerdo. Este tipo de optimizaciones, basadas en usar instrucciones pequeñas o rápidas, más vale dejarlas en manos de un compilador y usar uno bueno. También ayuda usar lenguajes pensados teniendo en cuenta la versatilidad y la eficiencia de manera que no tengamos que usar bajo nivel de programación nada mas que en lo estrictamente necesario. A medida que se usen distintos procesadores los cambios se hacen en el compilador y no en el código.
También existen nuevas mejoras que tienen que incorporarse en el código, la cuestión es aislar lo suficiente las nuevas características para mantener en la medida de lo posible el resto invariable.
Un ejemplo son los juegos en 2D y el doble buffer. Normalmente se dibuja en una zona de memoria del mismo tamaño que la ventana y cuando se ha terminado se lleva a la pantalla solo lo que se cambio desde la imagen anterior. Con el doble buffer la pantalla y la zona que se dibujan están el la tarjeta gráfica y el llevar un trozo de lo dibujado al monitor solo consiste en cambiar la zona usada por este. Ya no es necesario guardar los cambios de una imagen a otra. Sin embargo con respecto al resto del código se sigue teniendo dos funciones invariantes dibujar(algo) y actualizar(monitor) con lo que los cambios son locales.
En definitiva, no solo triunfan los juegos que sean originales en concepción y diseño sino también en su realización1, la gente acaba cansándose de jugar clones de juegos clásicos al que se le solo se le añaden más resolución y más colores o ideas nuevas que usan tecnologías.
El antiguo Zhen
|