Escrito originalmente por Asinkrono y me contesto a mi mismo...
Suerte tenemos que somos unos tipos listos y tenemos una xbox y pasamos de caer en esa cadena sin fin de actualización hardware.
Y una pregunta que dejo caer... así como quien no quiere la cosa
¿Por qué en una misma consola existen varias generaciones de juegos con diferencias gráficas entre ellas más que evidentes y en los PC's para que mejoren los graficos siempre hay que actualizarse? ¿Programadores de PC cómodos? ¿Programadores de consolas genios? ¿Mercado?...
Como añoro los tiempos del Spectrum con sus 3.5 Mhz, 48k y sus juegos con triple scroll, musica polifonica en las intros conseguida a base de intervalos muy cortos de sonido y muchos trucos de programación más.... bueno, me voy al bar del pensionista a tomar unos chatos
pues yo soy de los que intenta seguir esas "actualizaciones estupidas para gilipollas" pero con una cosa clara, hay que actualizar solo en determinadas ocasiones, y teniendo siempre en cuenta el software clave, no el juego de moda de turno.
por que en consola hay "generaciones" de software? facil. Son hardware cerrado, y no conocido, incluso la arquitectura "conocida" de Xbox. Primero sale el kit, los primeros juegos se hacen en un año, casi sin optimizar más que unas pocas lineas de codigo claves en el engine gráfico y poco más. El subsistema gráfico no se aprovecha ni al 50%, lo mismo el sonoro... no se aprovechan gran parte de las capacidades que ofrecen, etc. Un ejemplo es una mala bestia llamada "Wreckless", que te aplica filtros photoshop en tiempo real a más de 30fps sobre escenarios con más de 30MB de texturas y más de 600k polígonos por imagen como si de una SGI profesional se tratase, y todo eso, en 9 meses de desarrollo, y sin despeinarse ni un milimetro.
Mas tarde, sale algo llamado "kit de desarrollo de segunda generación", que además de las aplicaciones que ya traia el original, trae otras nuevas, optimizaciones internas para el codigo basico que lo hacen igual de bueno, pero bastante más rapido... se añaden más aplicaciones tanto internas de los desarrolladores como middleware dedicado al calculo de físicas, compresion de datos a RAM con un gasto infimo de CPU para poder comprimir los datos en la memoria en tiempo real (hay un soft, que permite mediante el uso de menos del 10% de cpu en la Xbox, comprimir los datos en la ram hasta en un ratio de 6:1, otra cosa, es que esto tenga un uso real fuera de las texturas, pero a la PS2, le ha hecho un hijo de madera para el tema de las texturas)... a esto, se une que los desarrolladores de juegos, ya han tenido tiempo de "aburrirse" haciendo "tonterias varias" metiendole más mano al hardware, por lo que pueden hacer ya, lo mismo que antes, pero más rapido y con menor consumo de recursos...
luego, vienen los juegos PEPINOS, que son aquellos en los que se unen lo que muy pocas desarrolladoras se pueden permitir, excelentes gráfistas y artístas en general, y excelentes programadores, sobre todo a bajo nivel o en anillos muy cercanos al codigo maquina, que ya conocen profundamente la maquina tras 3 o 4 años de "jugueteo" en los ratos libres, y que entre sus conocimientos, y las herramientas, tanto propias como externas, pueden hacercarse al 100% del rendimiento real que ofrece la maquina... como se consigue esto? con analizadores de rendimiento y ocupación de recursos que valen una pasta.
es tan simple como eso, en PC, debido a la arquitectura habierta del hardware, sobre todo gráfico, no se puede programar al más bajo nivel como en los ultimos años del MS DOS... solo ver Quake y Quake 2... mismo motor, mismos gráficos, casi la misma textura, 4 polígonos más... pero necesitaba bastante más maquina que el mismo en "dos"... por que? no se puede exprimir el hardware en una plataforma, donde lo que prima son los drivers estandar y los API's, y no mil hardware, que aunque todos rindan diferentes, trabajasen de la misma forma entre ellos y con las mismas funciones y llamadas internas....
Salu2