El lastre de los cartuchos en n64

Decir que me gustó la n64 en su momento, pero ahora objetivamente les veo los fallos. Aparte de lo ya dicho, un problema que tenía la consola eran la duración de muchos juegos. Si bien en psx también hay bastantes juegos cortos, hay más juegos largos que en n64.

Voy a poner un ejemplo. Me acabo de terminar el rogue squadron de n64. El juego tiene 16 misiones y 3 de bonus que te dan por conseguir las medallas de las misiones. Algo parecido a los trofeos actuales.

El juego te lo puedes ventilar en 2h. El resto es rejugar y rejugar para sacar los trofeos. Sacar el oro no es nada fácil. Así aumentas la duración artificialmente.

El juego salió en PC y el instalador de gog me ocupa unos 50MB. ¿50MB por un juego en el que los cd-rom eran ya un estandar?. La siguiente versión de gamecube duraba más de 5h a todo trapo. Entonces ya usaban los mini dvd.

Si bien hay juegos largos como algunos plataformas o los Zelda, por norma general en el cartucho no cabía mucha cosa. Aparte de quitar voces o vídeos, en muchos juegos tenían que recortar la duración. No hay ningún juego de coches con tanto contenido como el gran turismo. Ya mismamente el mario kart 64 tiene menos contenido que crash team racing.

Te gastabas entre 10000 y 15000 pesetas por juego para encontrar bastantes juegos de una duración muy escasa. Que conste que a mí no me gustan los juegos con una duración infladísima, pero muchos en n64 ya eran cortos incluso en su época.
Duendeverde escribió:Voy a poner un ejemplo. Me acabo de terminar el rogue squadron de n64. El juego tiene 16 misiones y 3 de bonus que te dan por conseguir las medallas de las misiones. Algo parecido a los trofeos actuales.

El juego te lo puedes ventilar en 2h. El resto es rejugar y rejugar para sacar los trofeos. Sacar el oro no es nada fácil. Así aumentas la duración artificialmente.

El juego salió en PC y el instalador de gog me ocupa unos 50MB. ¿50MB por un juego en el que los cd-rom eran ya un estandar?. La siguiente versión de gamecube duraba más de 5h a todo trapo. Entonces ya usaban los mini dvd.

Te gastabas entre 10000 y 15000 pesetas por juego para encontrar bastantes juegos de una duración muy escasa. Que conste que a mí no me gustan los juegos con una duración infladísima, pero muchos en n64 ya eran cortos incluso en su época.


Debes ser un super hombre o una eminencia del gaming, pasarte en 2 horas el Rogue Squadron con la dificultad que tiene y con misiones como "Raid On Sullust" es digno de un speedrun con premio, y más a la primera.

Una cosa es el contenido y otra la duración, ambos conceptos no van reñidos siempre, y por mucho que en n64 no haya juegos recargados de coches (de relleno la mitad, como en todos juegos de conducción, desde GT1 hasta Forza Horizon 4) la consola tiene juegos largos, (¿Cuanto duran los banjo, Zelda, Mario, etc?) y si el almacenamieno fuese un problema no se como hacian en la Super Nintendo con juegos como ChronoTrigger con 30 horas de duración.

Otra cosa son las fmv y los dialogos, carencias evidentes.

De todos modos este tema es ya más viejo que la consola, salió en el 96, dio lo que dio y ya, yo creo que hay temas más interesantes que debatir que el sobadisimo "los cartuchos son una mierda", que por desgracia por mucho que hablemos ya esta todo más que dicho.
Yo estoy con el compi, para mi a el mario64 le faltan pantallas, y a los juegos de carreras les faltan carreras, no creo que fuera por tamaño de cartuchos, nintendo siempre ha sido muy racano con algunos juegos
El lastre no fué el cartucho, sino que por aquel entonces no tenía demasiada capacidad.

Esto no sería posible en una psone/saturn... pero en una n64 si.

https://youtu.be/wgTLx2-rM1w?t=104
La nintendo 64 tenía cartuchos de muchas capacidades. Los había finalmente de 512 megabits, que eran 64MB reales. Ahí metieron el resident evil 2. Pero salió tarde y a un coste elevado.

Pero pasaba lo siguiente. Los cartuchos los fabricaba nintendo e iban por encargo. a más capacidad, más caro. Encima nintendo cobraba más por royaltis que sony. Por eso un turok costaba 13000 pesetas e incluso algunos 15000 pesetas, mientras los de nintendo costaban 10000 pesetas. Por eso muchas compañías prefirieron adaptar los juegos al cartucho.

Ahora mismo pasa lo mismo con switch. Hay compañías que para ahorrar costes, piden un cartucho inferior al contenido completo del juego. El resto te lo descargas online. Lo hacen así para no pagar el extra por un cartucho de mayor capacidad.

En cambio antes en psx, los juegos multi disco eran habituales. No sólo en rpg. En snes o megadrive no tiene nada ver. Juegos en 2d donde muchos escenarios eran sprites. N64 se orientó al 3d y esto requería de mucha más capacidad de almacenamiento. Que yo sepa en n64 no había juegos multicartucho para compensar en ciertos juegos.
El problema es que Silicon Graphics convencio a Nintendo en pleno 1994, cuando se cerro el diseño general de la consola, de que era mejor colocar 4MB de RAM de serie antes que optar por un lector... ¿La predicción de SGI? Que la RAM en los años siguientes no bajaría de precio... [+risas] [+risas] [+risas] [+risas]

Por cierto, en consolas anteriores los procesadores podían acceder directamente a la ROM a la misma velocidad que la RAM, en N64 no ocurre eso y el cartucho pierde esa ventaja, por no hablar de la enorme latencia colocada adrede en el Northbridge/Controlador de Memoria de la que Martin Hollins se dio cuenta y que SGI puso adrede para joder la máquina de Nintendo y que no se supiese que SGI vendia tecnología a sobreprecio. Por suerte en PC llegaron 3Dfx, Nvidia y... SGI acabo siendo historia.
Señor Ventura escribió:Esto no sería posible en una psone/saturn... pero en una n64 si.

https://youtu.be/wgTLx2-rM1w?t=104


Este ejemplo es mejor:


Duendeverde escribió:Pero pasaba lo siguiente. Los cartuchos los fabricaba nintendo e iban por encargo. a más capacidad, más caro. Encima nintendo cobraba más por royaltis que sony. Por eso un turok costaba 13000 pesetas e incluso algunos 15000 pesetas, mientras los de nintendo costaban 10000 pesetas. Por eso muchas compañías prefirieron adaptar los juegos al cartucho.

Estampar un CD en la época costaba un dolar o dos, fabricar un cartucho más porque es más complejo, se dice que 30$ pero me parece exagerado y yo diría que entre 15 y 20$. Eso y no los royalties encarecian el cartucho frente al CD, sin negar que los royalties de Nintendo fuesen altos.
En cuanto al contenido del juego, si que las desarrolladoras se adaptaban al tamaño del cartucho (los más frecuentes eran 8, 12 o 16MB) pero no por ello tenian recortes exagerados. Mario 64 es un juego de 8MB y tiene bastante contenido con una duración media de 12 horas. Si comparamos un juego de PS1 muy vendido en la época como el Crash Bandicot, su duración media son 6 horas con todo su formato de CD. De hecho la trilogía de Crash tiene esa duración media. El famoso Metal Gear Solid dura tanto como el Mario 64, unas 12 horas.
No era una cuestión de soporte, sino de decisión de la desarrolladora.

Duendeverde escribió:En cambio antes en psx, los juegos multi disco eran habituales. No sólo en rpg.

Sony en cierta forma fomentaba eso para enfrentarse a la N64. La mayoría de esos juegos lo hacian incluyendo muchas cinemáticas siendo luego el contenido del juego ridículamente pequeño. El famoso Final Fantasy VII solo tiene 220MB de espacio dedicado al gameplay, incluyendo los fondos prerenderizados (fuente y teoria de como pasarlos a N64). Incluso los juegos de un solo CD tenian muy poco contenido dedicado al juego y gran parte del disco se ocupaba con pistas de CD audio.

Duendeverde escribió:En snes o megadrive no tiene nada ver.

Eran cartuchos de capacidad muy inferior al cartucho más básico de N64 y estaban repletos de contenido y duración, pero no tienen nada que ver porque te desmontan tu argumentario...
Imagen


Duendeverde escribió:Juegos en 2d donde muchos escenarios eran sprites. N64 se orientó al 3d y esto requería de mucha más capacidad de almacenamiento. Que yo sepa en n64 no había juegos multicartucho para compensar en ciertos juegos.

Una pequeña lista de juegos que ocupan 8MB en la N64:
Mario 64
Pilotwings 64
Cruis nUSA 64
Doom 64
Duke Nukem 64
Extreme-G
FIFA soccer 64
Forsaken 64
Hexen
San Francisco Rush
Turok Dinosaur Hunter y Turok Rage Wars
Wave Race 64
Wipeout 64

Con 12MB hay muchos más juegos y por no extenderme demasiado como ejemplos notables estan el Goldeneye, Castlevania, Killer Instinct Gold, Mario Kart 64, los dos Quake, Star Fox y el primer Tony Hawk.

Mención especial para Automobili Lamborghini que para ser un cartucho de 4MB y en especial para estar desarrollado por TItus luce bastante bien https://www.youtube.com/watch?v=7nTeLzRo57w.

Y otro a destacar es Wonder Project J2, aventura gráfica en 2D que permite mostrar el potencial gráfico de la consola y que además es un juego largo, según dicen supera las 40 horas, y con tan solo 8MB.

Cada soporte tiene sus pros y sus contras y tanto en PS1/Saturn como en N64 se les sacó el máximo provecho posible. Pero al final el contenido o duración del juego depende más de la desarrolladora que del soporte en si.

Urian escribió:El problema es que Silicon Graphics convencio a Nintendo en pleno 1994, cuando se cerro el diseño general de la consola, de que era mejor colocar 4MB de RAM de serie antes que optar por un lector... ¿La predicción de SGI? Que la RAM en los años siguientes no bajaría de precio... [+risas] [+risas] [+risas] [+risas]

No, el plan inicial era poner 8MB para dar así soporte al 64DD y sus discos de 64MB que se suponía que saldría en menos de un par de años y con titulos potentes como Donkey Kong 64 u Ocarina of Time, pero para que la consola no superase el límite de precio que se había fijado la compañía como objetivo (motivo que también hizo preferir el cartucho al carísimo lector) decidieron bajar a 4MB aprovechando la facilidad de expansión de la Rambus.

Urian escribió:Por cierto, en consolas anteriores los procesadores podían acceder directamente a la ROM a la misma velocidad que la RAM, en N64 no ocurre eso y el cartucho pierde esa ventaja, por no hablar de la enorme latencia colocada adrede en el Northbridge/Controlador de Memoria de la que Martin Hollins se dio cuenta y que SGI puso adrede para joder la máquina de Nintendo y que no se supiese que SGI vendia tecnología a sobreprecio. Por suerte en PC llegaron 3Dfx, Nvidia y... SGI acabo siendo historia.

En la N64 no ocurre eso porque la RAM esta subida de prestaciones ya que en realidad trabaja más como memoria de video que como RAM de CPU de verdad. Ya que las mencionas, los 4MB de la RAM de la N64 se comportan como los 4MB memoria de texturas y los 2MB de buffer de vídeo de la primera 3Dfx Voodoo, un 2x1 en toda regla.
La velocidad de acceso a los cartuchos la dan los chip y estando sobre los 5MB/s es más que suficiente, ya que se podría llenar toda la RAM en 1 segundo, muchísimo mejor que los 10-15 segundos de media de la PS1. Y aunque no sea tan buena como la RAM, la velocidad de acceso a la ROM permite cargar muchos datos variados, como demostró Radorn en un vídeo que grabó en que sacaba un cartucho mientras jugaba al Mario 64: https://www.elotrolado.net/hilo_hilo-de-detalles-y-curiosidades-de-n64_2171497_s1200#p1745953764

En cuanto a la relación SGi con 3Dfx, Glide se basa en las librerias OpenGl creadas por SGi, y parte de los que diseñaron el RCP de la N64 fundaron ArtX que diseñaría el Flipper de Gamecube y fueron comprados por ATI. SGi creaba estaciones gráficas, no aceleradoras gráficas, pero en su trabajo se establecieron los cimientos de 3Dfx, ATI y demás compañías.
@EMaDeLoC Por supuesto, potencia 3D aparte... me refería a que no puedes almacenar en la ram de una playstation/saturn todo un escenario del killer instinct, con todos los frames de animación de los personajes, etc, mientras que con un cartucho con el tamaño suficiente si podría verse en una nintendo 64.
Karaculo escribió:Yo estoy con el compi, para mi a el mario64 le faltan pantallas, y a los juegos de carreras les faltan carreras, no creo que fuera por tamaño de cartuchos, nintendo siempre ha sido muy racano con algunos juegos

Super Mario 64 tiene 15 mundos. ¿Todavía queríais más? :-?

En los juegos de coches, de acuerdo. Muy pocos circuitos en muchos de ellos.
@Señor Ventura Bueno, la N64 apenas tiene 500KB más de RAM que la PS1. Lo que si tiene la ventaja de que al estar unificada puedes gestionar mejor la cantidad que dedicas a cada apartado. Puedes hacerlo también en PS1, pero no es lo mismo petar los 500KB de ram de audio de PS1 y luego ir cargando más audios desde la ram de CPU, que tener ya 700KB ya cargados en la N64 y no tener que gestionarlos. De hecho la mayor ventaja es que desde el cartucho puedes cargar algunos datos con lo que superas más facilmente el límite de 4MB sin añadir cargas, mientras que en PS1 o hacias malabares con cargas continuas desde el CD, o te quedabas en los 3.5MB.
@EMaDeLoC no, no, me refiero a que ya solo la animación de los escenarios no te cabe en ninguna de esas rams, pero la n64 solo necesita cargar un cuadro de animación del escenario y de cada personaje por frame, porque desde el cartucho esa cantidad de datos es factible, pero desde el CD no, y como ya has indicado, una PlayStation o una saturn no pueden guardar todos los frames de animación de todo en su ram.
@Señor Ventura Aaaah, ahora te entiendo. No no, te estás confundiendo de Killer Instinct. El arcade sacado en 1994 tenía un disco duro con los fondos prerenderizados divididos en fotogramas a lo largo de todo el escenario que se iban cargando según el movimiento del combate, lo que ofrece unos gráficos impresionantes para la época. Para la versión de N64 los gráficos son 3D y se generan en tiempo real. Eso hace que bajen de calidad pero a la vez ocupan muchísimo menos y permiten mucha más libertad de movimientos como zoom, paneos hacia arriba, etc.

Aviso de que en el siguiente vídeo emulan la N64, pero para hacerse una idea ya va bien.



El experimento que hizo radorn que he comentado antes es un ejemplo mucho mejor de la ventaja de carga de datos desde el cartucho.
Yo no veo relación al tamaño de un juego y su duración. Por supuesto con excepciones, la mayoría de juegos con gráficos 3d de aquella época en cd les quitas los videos, pistas de audio, voces, etc sin comprimir y ocupan lo mismo que los de n64 en cartucho.
EMaDeLoC escribió:@Señor Ventura Aaaah, ahora te entiendo. No no, te estás confundiendo de Killer Instinct. El arcade sacado en 1994 tenía un disco duro con los fondos prerenderizados divididos en fotogramas a lo largo de todo el escenario que se iban cargando según el movimiento del combate, lo que ofrece unos gráficos impresionantes para la época. Para la versión de N64 los gráficos son 3D y se generan en tiempo real. Eso hace que bajen de calidad pero a la vez ocupan muchísimo menos y permiten mucha más libertad de movimientos como zoom, paneos hacia arriba, etc.

Aviso de que en el siguiente vídeo emulan la N64, pero para hacerse una idea ya va bien.



El experimento que hizo radorn que he comentado antes es un ejemplo mucho mejor de la ventaja de carga de datos desde el cartucho.


Claro, por eso decía que la limitación no es del formato cartucho, sino de capacidad. La n64 es más potente, y además gracias a su arquitectura con los cartuchos podría llegar a hacer cosas que el resto de las máquinas de su época jamás podrían haber hecho.

¿Cuanto puede direccionar la n64 en una rom?, ¿se llegó a comentar cuál sería su ancho de banda efectivo?, o realmente son 5 MB/s.
Señor Ventura escribió:¿Cuanto puede direccionar la n64 en una rom?, ¿se llegó a comentar cuál sería su ancho de banda efectivo?, o realmente son 5 MB/s.

Marshall hizo el 64drive con 256MB aunque creo que solo se pueden usar 240MB y el resto es para otras cosas. A mi no me quedó claro como se llegó a esa cifra.
En cuanto al ancho de banda, algunas pruebas sugerian que era más de 5MB/s, pero lo que he comentado antes, con esa cifra llenas toda la RAM en menos de un segundo, y siendo como era, y es, Nintendo de rácana, esas especificaciones le parecerian suficientes para cualquier clase de juego, ya que eliminan las pantallas de carga.
Exceptuando los quake y sus dichosas descompresiones...
En la N64 no ocurre eso porque la RAM esta subida de prestaciones ya que en realidad trabaja más como memoria de video que como RAM de CPU de verdad. Ya que las mencionas, los 4MB de la RAM de la N64 se comportan como los 4MB memoria de texturas y los 2MB de buffer de vídeo de la primera 3Dfx Voodoo, un 2x1 en toda regla.
La velocidad de acceso a los cartuchos la dan los chip y estando sobre los 5MB/s es más que suficiente, ya que se podría llenar toda la RAM en 1 segundo, muchísimo mejor que los 10-15 segundos de media de la PS1. Y aunque no sea tan buena como la RAM, la velocidad de acceso a la ROM permite cargar muchos datos variados, como demostró Radorn en un vídeo que grabó en que sacaba un cartucho mientras jugaba al Mario 64: hilo_hilo-de-detalles-y-curiosidades-de-n64_2171497_s1200#p1745953764

En cuanto a la relación SGi con 3Dfx, Glide se basa en las librerias OpenGl creadas por SGi, y parte de los que diseñaron el RCP de la N64 fundaron ArtX que diseñaría el Flipper de Gamecube y fueron comprados por ATI. SGi creaba estaciones gráficas, no aceleradoras gráficas, pero en su trabajo se establecieron los cimientos de 3Dfx, ATI y demás compañías.


Te habrás quedado agusto escribiendo tantas tonterías juntas.

Luego te respondo.
Urian escribió:Te habrás quedado agusto escribiendo tantas tonterías juntas.

Luego te respondo.

Pues espero que sea buena respuesta, porque tengo un datasheet de una rambus con una latencia del copón que desmiente cualquier fallo con el controlador de memoria y la achaca a la naturaleza de la propia rambus. ¿Y por qué la eligieron? Relativamente barata de conseguir e implementar, con un ancho de banda altísimo (siempre que le pidieras bloques grandes) y facilmente expandible.

Por cierto, sigo tu blog, muy interesante. [beer]
EMaDeLoC escribió:
Señor Ventura escribió:¿Cuanto puede direccionar la n64 en una rom?, ¿se llegó a comentar cuál sería su ancho de banda efectivo?, o realmente son 5 MB/s.

Marshall hizo el 64drive con 256MB aunque creo que solo se pueden usar 240MB y el resto es para otras cosas. A mi no me quedó claro como se llegó a esa cifra.
En cuanto al ancho de banda, algunas pruebas sugerian que era más de 5MB/s, pero lo que he comentado antes, con esa cifra llenas toda la RAM en menos de un segundo, y siendo como era, y es, Nintendo de rácana, esas especificaciones le parecerian suficientes para cualquier clase de juego, ya que eliminan las pantallas de carga.
Exceptuando los quake y sus dichosas descompresiones...


Me apetece comentar esto. El DMA de la snes transfiere 2.68MB/s, lo que ocurre es que lo divide entre 8 canales, y no son simultáneos. De esta forma puedes tener un DMA programable, pero por otro lado, me pregunto si esa capacidad no se podría haber usado para obtener varias decenas de KB's por frame en un único canal, como venía siendo normal en las máquinas de aquella época.
EMaDeLoC escribió:
Urian escribió:Te habrás quedado agusto escribiendo tantas tonterías juntas.

Luego te respondo.

Pues espero que sea buena respuesta, porque tengo un datasheet de una rambus con una latencia del copón que desmiente cualquier fallo con el controlador de memoria y la achaca a la naturaleza de la propia rambus. ¿Y por qué la eligieron? Relativamente barata de conseguir e implementar, con un ancho de banda altísimo (siempre que le pidieras bloques grandes) y facilmente expandible.

Por cierto, sigo tu blog, muy interesante. [beer]


El problema no esta en la RAMBUS sino en el Northbridge dentro del RCP.

Luego expando que estoy en un bar.
Urian escribió:El problema no esta en la RAMBUS sino en el Northbridge dentro del RCP.


Imagen

Aquí un diagrama del tiempo de acceso de un chip Rambus idéntico a los que usaban las primeras versiones de N64, las que tenían dos chips de 2MB:

Imagen
(fuente)

Como se puede ver, desde que finaliza la solicitud de lectura hasta que se pueden leer datos pasan 7 ciclos de reloj. A 3'33ns por ciclo significa una latencia de 23'31ns, pero ese ciclo de reloj corresponde 300MHz y el reloj de la RAM de la N64 va a 250MHz, lo que son 4ns de ciclo y una latencia de 28ns por cada operación de lectura. Esperar 7 o 9 ciclos es una autentica barbaridad que por suerte se compensa debido a la alta velocidad de transmisión de los datos, dos bytes por ciclo, que en datos grandes nos dan las cifras teóricas de 500MB/s.

Pero el problema es que al rasterizar el RCP no va a usar datos grandes, sino muchos fragmentos pequeños.
Por ejemplo el RCP rasteriza este triángulo:
Imagen

El triángulo queda dividido en 4 líneas pintadas de verde. Estas líneas no pueden escribirse en el framebuffer en un solo bloque de datos, hay que hacer un bloque por cada línea. Eso significa 4 peticiones de escritura. Curiosamente la latencia de la escritura era mucho menor que en la lectura, pero al activar el z-buffer se tenía que leer la posición del framebuffer para poder comparar los píxeles y entonces la enorme latencia en lectura lastraba todo el trabajo. Por eso al desactivar el z-buffer World Driver Championship dispara sus polígonos por segundo y por eso también algunos juegos tienen menos líneas y usan triángulos muy anchos para realizar el máximo de transmisión de datos con el menor número de operaciones de memoria (captura de Conker64):
Imagen

De esta forma se ahorraban varias operaciones de memoria y mejorar los resultados finales.

Por tanto el problema no era el controlador de memoria RAM, sino la memoria en sí.

Parece mala decisión usar rambus con todo lo explicado, pero para el año 94/95 era lo más puntero que había y el coste era razonable. Y que conste Urian que lo del coste es una razón que tú mismo das en tu blog:
Hiroshi Yamauchi estaba obsesionado en sacar la consola por 25.000 yenes como mucho y cualquier sobrecoste no era bienvenido dentro de Nintendo.
https://disruptiveludens.wordpress.com/2018/08/25/graficos-retro-nintendo64/

No era una mala memoria, la usaba la propia SGi y también en tarjetas gráficas de PC (los dos chips de la derecha): http://vintage3d.org/images/cirrus/5464.jpg. El problema era llevarla hasta el límite de trabajo como se hace en la N64 donde se come todo el marrón que en otros sistemas se reparten en 3 o 4 memorias RAM dedicadas.

Y bueno, si vas a usar en tus argumentos la batallita de Martin Hollis y sus icosaedros, solo recordar que el propio Martin dice que se resolvió el fallo, no que este estuviese a propósito puesto por SGi. Esa parte te la inventas tú solito.

Y la verdad, esa historia de que un tío a la primera haga un código perfecto y completamente optimizado de una máquina aún en prototipado me suena muy rara, incluso aunque se trate de una eminencia de Rare... ein?
Una N64 con CD hubiese sido interesante, pero la verdad es que en un cartucho podias hacer juegos bastante completos. Los CD's los terminaban llenando con videos y tracks de audio
strider_hiryu escribió:Una N64 con CD hubiese sido interesante, pero la verdad es que en un cartucho podias hacer juegos bastante completos. Los CD's los terminaban llenando con videos y tracks de audio


Pues claro, en la época, hacer un juego de unos 200 MB ya era un juego grande, si además le añades cinemáticas y música en CD audio pues tenías una fiesta para el que comprara el CD.

Y no lo metían "para rellenar", lo metían porque podían, y en nuestras memorias quedaron todos los vídeos esos de los que ahora todo el mundo hecha pestes ¿Quién no recuerda la intro del fifa98 con la canción de Blur? ¿O las escenas del driver 2? ¿Los vídeos de silente Hill o todos los diálogos de metal gear? ¿Las escenas de FF8 de la época en la que veíamos dos FF juntas y nos poníamos palotes? ¿Y los vídeos de los Oddworlds?

Eso no era relleno, era arte en CD, cosa que los desfasados cartuchos por su poca capacidad no podían ofrecer.
Una N64 con CD habría sido una N64 con videos y tracks de audio. Y tiempos de carga...

No solo los metian porque podian, en el caso de los tracks de audio les abarataba mucho el desarrollo. En una consola como la N64 para hacer la música hay que dividirla en pistas instrumentales, generar las notas, programarla, etc y tener a alguien que te programe el sonido tanto en la música como en los efectos y con limitaciones de calidad y matices. En cambio en PS1 podías buscarte al compositor random, darle un límite de tiempos por pista y te hacía música de calidad que se implementaba en un par de líneas.
Pero eso no era tampoco una regla escrita. F-Zero tiene una banda sonora de calidad soberbia en N64, y los juegos de PS1 abandonaban las pistas de audio por el XA que no ocupaba tanto y ofrecia buena calidad. Y eso si no aparecía Uematsu y te montaba unas bandas sonoras para el FF en puro MIDI del que la gente echaba pestes en la N64...

Y en cuanto a los vídeos, algunos son memorables, que duda cabe. No creo que los de Silent Hill destaquen especialmente aparte de por haberlos hecho un solo tío, pero los de FF son los más memorables e incluso los de FF7 tan primitivos tienen su encanto. O Ridge Racer dando una presentación memorable. No son componentes jugables pero añaden valor al juego, sin duda. Aunque en muchas ocasiones solo estaban por la moda de la época sin aportar mucho, como por ejemplo en Motorhead donde los créditos al ganar la última copa son letritas volando durante 4 minutos que más que una recompensa es un castigo https://youtu.be/hXcUMNT4Sc0?t=4172 (pero como carreras arcade es muy bueno al igual que la banda sonora, recomiendo jugarlo).

Y aunque las capacidades del cartucho hicieran muy difícil meter vídeos (que no imposible como demuestra RE2), las cinemáticas tampoco se quedaban atrás como las del Ocarina o la impresionante caida de la luna en el Majora's Mask. O Sin & Punishment, que es casi una cinemática todo enterito.

En este mundillo tecnológico donde otros ven una limitación un artista ve una oportunidad, y en ambos sistemas hay ejemplos de ello.
Y en la Saturn, que nos olvidamos de la Saturn...
Lo curioso es poner las cosas ek perspectiva y ver como las cinematicas han quedado totalmente obsoletas en la actualidad.

Han sido relegadas a meros openings en titulos minoritarios, mientras que el resto usa cinematicas ingame con los propios assets del juego con planos muy peliculeros y controlados, pero en tiempo real.

Dd hecho en Final Fantasy XV recuerdo una sola cinematica muy avanzada en el juego y de apenas un minuto de duración, el resto lo hace el juego en tiempo real, incluso en el ending xD.

Las cgi eran un recurso muy efectista en una época donde los 3d eran muy primitivos, demasiado para usarlos en representaciones de escenas complejas, a medida que hemos avanzado en materia gráfica el acercamiento a escenas narrativas ha sido el mismo de Nintendo 64, escenas en tiempo real con el motor del juego xD
EMaDeLoC escribió:
Urian escribió:El problema no esta en la RAMBUS sino en el Northbridge dentro del RCP.


Imagen

Aquí un diagrama del tiempo de acceso de un chip Rambus idéntico a los que usaban las primeras versiones de N64, las que tenían dos chips de 2MB:

Imagen
(fuente)

Como se puede ver, desde que finaliza la solicitud de lectura hasta que se pueden leer datos pasan 7 ciclos de reloj. A 3'33ns por ciclo significa una latencia de 23'31ns, pero ese ciclo de reloj corresponde 300MHz y el reloj de la RAM de la N64 va a 250MHz, lo que son 4ns de ciclo y una latencia de 28ns por cada operación de lectura. Esperar 7 o 9 ciclos es una autentica barbaridad que por suerte se compensa debido a la alta velocidad de transmisión de los datos, dos bytes por ciclo, que en datos grandes nos dan las cifras teóricas de 500MB/s.

Pero el problema es que al rasterizar el RCP no va a usar datos grandes, sino muchos fragmentos pequeños.
Por ejemplo el RCP rasteriza este triángulo:
Imagen

El triángulo queda dividido en 4 líneas pintadas de verde. Estas líneas no pueden escribirse en el framebuffer en un solo bloque de datos, hay que hacer un bloque por cada línea. Eso significa 4 peticiones de escritura. Curiosamente la latencia de la escritura era mucho menor que en la lectura, pero al activar el z-buffer se tenía que leer la posición del framebuffer para poder comparar los píxeles y entonces la enorme latencia en lectura lastraba todo el trabajo. Por eso al desactivar el z-buffer World Driver Championship dispara sus polígonos por segundo y por eso también algunos juegos tienen menos líneas y usan triángulos muy anchos para realizar el máximo de transmisión de datos con el menor número de operaciones de memoria (captura de Conker64):
Imagen

De esta forma se ahorraban varias operaciones de memoria y mejorar los resultados finales.

Por tanto el problema no era el controlador de memoria RAM, sino la memoria en sí.

Parece mala decisión usar rambus con todo lo explicado, pero para el año 94/95 era lo más puntero que había y el coste era razonable. Y que conste Urian que lo del coste es una razón que tú mismo das en tu blog:
Hiroshi Yamauchi estaba obsesionado en sacar la consola por 25.000 yenes como mucho y cualquier sobrecoste no era bienvenido dentro de Nintendo.
https://disruptiveludens.wordpress.com/2018/08/25/graficos-retro-nintendo64/

No era una mala memoria, la usaba la propia SGi y también en tarjetas gráficas de PC (los dos chips de la derecha): http://vintage3d.org/images/cirrus/5464.jpg. El problema era llevarla hasta el límite de trabajo como se hace en la N64 donde se come todo el marrón que en otros sistemas se reparten en 3 o 4 memorias RAM dedicadas.

Y bueno, si vas a usar en tus argumentos la batallita de Martin Hollis y sus icosaedros, solo recordar que el propio Martin dice que se resolvió el fallo, no que este estuviese a propósito puesto por SGi. Esa parte te la inventas tú solito.

Y la verdad, esa historia de que un tío a la primera haga un código perfecto y completamente optimizado de una máquina aún en prototipado me suena muy rara, incluso aunque se trate de una eminencia de Rare... ein?


A ver, como te lo puedo decir para que todo el mundo lo entienda.

En N64, el R4300 que es la CPU (Realmente en forma de su clon VR4200 fabricado por NEC) no accede a la RAM directamente, no esta cableada a la misma de manera directa sino que lo que hace es acceder a través del Northbridge y el Controlador de memoria en el conglomerado que es el RCP.

El mal rendimiento de la memoria no puedes resolverlo de ninguna manera, porque el problema no esta en la CPU ni en la RAM. Si aíslas la RAM no verás el problema, si lo haces con la CPU tampoco, el problema esta en el controlador de memoria y el Northbridge que precisamente son piezas que no son programables y no ejecutan ningún software. ¿El problema? pues que el Northbridge+Controlador de Memoria le añaden una latencia a las instrucciones de la CPU haciendo que su rendimiento sea realmente pauperrimo en comparación como debería ser. Eso fue hecho adrede por Silicon Graphics porque no querían que se supiese que un sistema doméstico hubiese rendido igual que sus estaciones de trabajo que costaban 100 veces más a la hora de renderizar escenas en 3D a tiempo real. Y no era la única, Lockhead Martin con Sega y el Model 3 iba diciendo que eso era imposible en un sistema con la misma portencia por menos de $20.000 y un par de años o tres de años después salía Dreamcast a ¡$200! por no hablar del boom de las tarjetas 3D en PC.

Además, no puedes cablear directamente la RDRAM de N64 que es de 8 bits (+1 de paridad) a 500Mhz a la CPU de N64 que tiene un bus de 62.5 Mhz y de 32 bits. Necesitas una pieza que tome las 8 lineas a 500Mhz y las convierta en 64 lineas de 62.5 Mhz, 32 de ellas se las queda el RCP y 32 de ellas van a los pines de datos de la CPU. Esto que puede parecer "exótico" era la forma de funcionar de las memorias de RAMBUS en la época que necesitaban un controlador de memoria, solo que SGI lo que hizo fue crear uno con un rendimiento pésimo adrede.

Yo tengo una hipótesis del motivo de la cagada de SGI... En la documentación de la RAMBUS dice:

"33 ns from start of read request to first byte; 1.67 ns per byte thereafter"

Es decir, si haces petición a una cadena de bytes el primero tarda unos 33ns en dar su dato pero luego la cosa va 20 veces más rápida, pues solo tienes que hacer que el controlador de memoria pida los datos no en cadena sino en cuentagotas y... Tienes a la CPU bien capada en rendimiento. ¡Y esto no se puede solventar de ninguna manera por software!
Urian escribió:El mal rendimiento de la memoria no puedes resolverlo de ninguna manera, porque el problema no esta en la CPU ni en la RAM. Si aíslas la RAM no verás el problema, si lo haces con la CPU tampoco, el problema esta en el controlador de memoria y el Northbridge que precisamente son piezas que no son programables y no ejecutan ningún software. ¿El problema? pues que el Northbridge+Controlador de Memoria le añaden una latencia a las instrucciones de la CPU haciendo que su rendimiento sea realmente pauperrimo en comparación como debería ser.

Un clásico: como la CPU y la RAM no estan conectadas directamente el rendimiento va a ser una mierda.
Es lógico este pensamiento pues viene heredado de la arquitectura tradicional en la que el procesador se encarga de todo, pero habiendo otro procesador que aligera la tremenda carga de proceso de la generación de gráficos, la CPU queda muy liberada.
Estando el RCP encargandose de los gráficos la CPU se encarga de apenas procesar unos pocos datos y ejecutar programa, no de hacer algo tan fijo y repetitivo como dibujar un triángulo. Y más cuando se trata de un juego donde los datos de juego son infinitamente menores comparados con los datos gráficos. De ahí que la RAM este conectada directamente al RCP, porque es el RCP quien realmente se va a beneficiar más de la menor latencia posible pues es quien más volumen de datos va a manejar. Alrededor de 15MB/s solo en framebuffer, para hacerse una idea. ¿Mover a Mario por un nivel requiere de tanto volumen de datos? Dudo mucho que la suma de todas las variables llegue a 1KB.

Pero no sé porque la gente insiste en que el problema de la RAM con la N64 esta en no estar conectada directamente a la CPU y tener su DMA y tal... Es recurente y hasta Benheck lo comentaba en un vídeo. Lo que me indigna más es que tú, Urian, de vez en cuando saques el esquema del pipeline gráfico donde se resalta expresamente que la rasterización genera el mayor volumen de datos y caigas también en ese error.

Sinceramente es algo que no entiendo porque todo el mundo sabe de las bondades de aligerar la CPU al meter una aceleradora 3D pero cuando hay que hablar de la N64 la disposición es una mierda. Luego te vas al foro de Gamecube que tiene exactamente la misma disposición de arquitectura (mejorada, obviamente) y todo son glorias y alabanzas.

Por cierto, el propio manual de programación de la N64 te dice que las peticiones de memoria de la CPU tienen prioridad sobre las del RCP y que lo recomendable es no efectuar dichas peticiones durante el proceso de rasterizado para no lastrar el rendimiento. Unido al bus de 32bits una petición de memoria de la CPU podría atenderla el RCP en un ciclo o dos, siendo la latencia mucho mayor en el lado de la RAM.

Urian escribió:Eso fue hecho adrede por Silicon Graphics porque no querían que se supiese que un sistema doméstico hubiese rendido igual que sus estaciones de trabajo que costaban 100 veces más a la hora de renderizar escenas en 3D a tiempo real. Y no era la única, Lockhead Martin con Sega y el Model 3 iba diciendo que eso era imposible en un sistema con la misma portencia por menos de $20.000 y un par de años o tres de años después salía Dreamcast a ¡$200! por no hablar del boom de las tarjetas 3D en PC.

Si valian 100 veces más es por esto:
Imagen

Que no tiene nada que ver con esto:
Imagen

El coste de fabricación, rendimiento y complejidad es muchísimo mayor (como dices tú, ordenes de magnitud) entre una y otra, y la primera imagen que he puesto es de una estación Indigo que era de las baratas, entre 6 y 10 mil dólares. Las estaciones de trabajo con el precio que tú dices eran las de este vídeo en las que se puede ver la tremendísima complejidad de construcción y las birguerías en 3D a tiempo real que era capaz de hacer... ¡en el año 1993!


¿Preocuparse SGi de que comparasen la N64 con sus estaciones de trabajo? Si la consola de Nintendo a duras penas se puede comparar con la Onyx de 1993. Yo soy pro-Nintendo, pero soy más realista y que SGi estuviese preocupada por ello es como decir que las (maravillosas) cinemáticas del Majora's mask están a la altura de calidad gráfica de los FMV de Final Fantasy VIII.
Qué cojones... ¡Si la N64 era un comercial perfecto para SGi! "Si hacemos estos gráficos en tiempo real en una consola doméstica, imagínese en nuestras estaciónes de trabajo con capacidades superiores."

Urian escribió:Además, no puedes cablear directamente la RDRAM de N64 que es de 8 bits (+1 de paridad) a 500Mhz a la CPU de N64 que tiene un bus de 62.5 Mhz y de 32 bits. Necesitas una pieza que tome las 8 lineas a 500Mhz y las convierta en 64 lineas de 62.5 Mhz, 32 de ellas se las queda el RCP y 32 de ellas van a los pines de datos de la CPU. Esto que puede parecer "exótico" era la forma de funcionar de las memorias de RAMBUS en la época que necesitaban un controlador de memoria, solo que SGI lo que hizo fue crear uno con un rendimiento pésimo adrede.

No, eso se llama cuello de botella debido al uso de un solo bus de 9 bits aunque haya dos o tres chips instalados en la consola (los dos de los primeros modelos más el expansion pak). Esto se resolvía en PC con buses de 18, 36 bits o los que hicieran falta que se repartian los datos en varios chips y así obtener mejor rendimiento a costa de encarecer la fabricación. Puede verse por ejemplo en esta Voodo con 12 chips de memoria:
Imagen
Meter más chips es tan caro que Nintendo quitó uno de la RAM en cuanto los de 4MB bajaron lo suficiente de precio.

Vas a necesitar algo más para sostener tu teoría de la conspiración SGi que unos problemas de rendimiento de la RAM de la N64. Sega aprendió eso a las malas...

Urian escribió:Yo tengo una hipótesis del motivo de la cagada de SGI... En la documentación de la RAMBUS dice:

"33 ns from start of read request to first byte; 1.67 ns per byte thereafter"

Es decir, si haces petición a una cadena de bytes el primero tarda unos 33ns en dar su dato pero luego la cosa va 20 veces más rápida, pues solo tienes que hacer que el controlador de memoria pida los datos no en cadena sino en cuentagotas y... Tienes a la CPU bien capada en rendimiento. ¡Y esto no se puede solventar de ninguna manera por software!

Felicidades, acabas de resumir mi explicación anterior. [plas]
Básicamente, lo peor de la n64 es el ancho del bus de la memoria, el rebaje que sufrió la cpu y el rcp, y por lo que comentáis, parece que además configuraron el rcp para que gestionarse mal los accesos a la memoria. Luego está la caché de 4KB, y a lo mejor alguna que otra cosa por ahí que se me escape.

¿Cuanta potencia diríais que se podría estar perdiendo?.

En el mejor de los escenarios posibles, si todo el proceso de planificación del hardware hubiese optado por la solución más optimizada, ¿a que hardware se habría asemejado en cuanto a gráficos, placas árcade y gráficas de pc incluídas?.
Lo que es un sinsentido es que existiendo la corrección de perspectiva que permite utilizar poligonos con un area relativamente grande tengamos solo 4KB como cache de texturas, que vale que es el doble que la PlayStation pero el sistema de Sony utiliza texturizado afín, sin corrección de perspectiva y por tanto compone la escena con polígonos de area más pequeña.

Es por ello que la comparación de poligonos por segundo entre ambos sistemas es absurda. N64 puede mover las mismas texturas que PSX sin problemas, además con Mip Maps de cada una pero va a ir peor pq la tasa de poligonos es peor pero eso si haces un port directo, si adaptas la geometria entonces... Pero si tu juego requiere grandes texturas en N64 tendras un problema por los 4KB de cache, por lo que tendrás que subdivivir en texturas más pequeñas y por tanto aumentar la tasa de poligonos.

En N64 de eso se encarga el RDP que realmente no es ni un rasterizador completo por el hecho que no rasteriza un poligono del espacio 3D al espacio 2D, lo único que hace el RDP es darle textura, que no es poco, la Voodoo Graphics tenia un chip dedicado a ello pero necesitaba un ancho de banda brutal y es que para el filtrado de texturas necesitas como mínimo 4 muestras por pixel, es decir, 4 veces el ancho de banda y eso es 4 veces la memoria externa, 4 veces la cantidad de pines de datos y por tanto un perimetro más grande en el chip.

El RDP lo único que recibe es una lista de fragmentos, poligonos ya rasterizados pero no texturizados. El RSP es un R4000 modificado y es un overkill pq es muy complejo para lo que hace y es ineficiente, viene de una era donde SGI utilizaba CPUs completas para el pipeline geometrico en vez de utilizar circuiteria dedicada de función fija. Vale que da versatilidad pero en una era donde la velocidad era el problema primordial y los transistores estaban mejor dedicados a la función fija... Fijaos que Gamecube siguió precisamente esa filosofia que digo y sus ingenieros fueron los mismos que la gente de N64.

Personalmente me hubiese cargado el RSP y hubiese optado por función fija para la geometria. Pero existe un problema con eso que es el rasterizado, precisamente era el gran problema en esos tiempos, el motivo por el cual la Voodoo Graphics despunto es por tener uno parcial de función fija que evitaba a la CPU tener que hacer dicha etapa. SGI llego a esa conclusión con el InfinityReality que es posterior al desarrollo de N64, lo que tenían cuando diseñaron N64 era un algoritmo de rasterizado de poligonos por software y por tanto necesitaban una CPU dedicada para ello y ya de paso la utilizaron para todo el pipeline geometrico.

¿Que cambios hubiese hecho con la RAM? Usar un bus RAMBUS de 16 bits en vez de uno de 8 bits, tienes el doble de ancho de banda y por tanto el Z-Buffering no es un problema. Necesitas dos chips, pero es que el modelo inicial de la consola tiene 2 chips de RAM. En vez de hacer que ambos compartan el mismo bus de datos... Pues se asigna un bus a cada uno.

En cuanto a los cartuchos yo hubiese colocado un DSP para la descompresión desde el cartucho a la RAM o en su defecto una pieza de función fija para eso, una especie de Winrar por hardware para que nos entendamos.
Señor Ventura escribió:Básicamente, lo peor de la n64 es el ancho del bus de la memoria, el rebaje que sufrió la cpu y el rcp, y por lo que comentáis, parece que además configuraron el rcp para que gestionarse mal los accesos a la memoria. Luego está la caché de 4KB, y a lo mejor alguna que otra cosa por ahí que se me escape.


Eeeeeepa!!! Para el carro que te has emocionado...

Por partes.
El problema no es el ancho del bus de la memoria, sino la latencia al realizar operaciones con esta. El ancho es altísimo si solicitas un bloque grande de datos que se acercan a los conocidos 562MB/s. Pero ese dato no tiene en cuenta el problema de que si haces una operación con apenas un par de bytes el RCP se queda más tiempo esperando que recibiendo datos. Por ejemplo si se pide un solo byte la velocidad de transmisión contando la latencia baja a 33'3MB/s que es claramente insuficiente. Por suerte eso es el caso extremo y la velocidad mínima, a efectos reales podríamos hablar de entre 200 y 300MB/s dependiendo del juego y la cantidad de triángulos que se dibujen.
En cuanto a que se configurase el RCP para que gestionase mal los accesos a memoria eso es un cuento sin ningún fundamento de Urian . Su única "prueba" son las declaraciones de un mandamás de RARE sobre un testeo que hizo en hardware muy tempranero. Pero es que en esa declaración no dice en ningún momento que SGi saboteara la consola, solo dice que hizo una prueba que tenía mal rendimiento, que solventaron el problema y el rendimiento mejoró. Punto. No sé cómo se saca Urian que eso es una prueba de sabotaje de SGi. Pero es que además esa declaración es algo inverosimil ya que dice que creó un código que la propia SGi revisó por si estaba mal o poco optimizado pero no lo estaba. ¿Perdona? ¿Me estás diciendo que a la primera creaste un código bien optimizado para un prototipo de procesador que no habías tocado nunca?
Imagen


La cache fue de 4KB porque al estar embebida en el RCP es carísimo aumentarla y además no había espacio en un muy apretado RCP. En la imagen es la parte llamada TMEM (ese es su nombre real). Vease como el monstruo del RDP ocupa casi medio chip.
Imagen


Señor Ventura escribió:¿Cuanta potencia diríais que se podría estar perdiendo?.

Por motivo de latencia de la RAM se pierde bastante, pero una cifra estimada es muy difícil de dar. El World Driver Championship es posiblemente el juego con más polígonos y mayor trucos de código para optener el mejor rendimiento y alcanza los 100-120 mil polígonos por segundo a 30fps estables. Sobretodo le ayuda mucho el que no usa z-buffer y por tanto el número de accesos a memoria por triángulo dibujado baja considerablemente. Así que para hacerse una idea va muy bien.
Conker64 le dedicó una entrada fascinante en el hilo de curiosidades de la N64: https://www.elotrolado.net/hilo_hilo-de-detalles-y-curiosidades-de-n64_2171497_s250#p1743683038
Échale un ojo al hilo porque hay muchos detalles técnicos de la consola que se aclaran ahí.

Señor Ventura escribió:En el mejor de los escenarios posibles, si todo el proceso de planificación del hardware hubiese optado por la solución más optimizada, ¿a que hardware se habría asemejado en cuanto a gráficos, placas árcade y gráficas de pc incluídas?.

Te gustan las preguntas difíciles y polémicas, ¿eh pillín?
Estoy de acuerdo con Urian y dos chips RAMBUS en paralelo para tener un bus de 18bits habría sido buena solución. Sigue sin arreglar el problema de la latencia, pero la velocidad mínima que he dicho antes ya sube a 66'6MB/s. Eso no significa el doble de mejora efectiva, porque se tarda lo mismo para leer dos bytes tanto si es 9bits como 18bits de ancho de banda debido a que la RAMBUS puede transmitir dos bytes por ciclo de reloj y para leer dos bytes tardas los mismos ciclos con cualquiera de los dos buses. Lo cual significa que si el número de operaciones no baja siga habiendo el problema de la latencia, pero esta se compensa un poco al terminar la transferencia de datos antes cuando son bloques grandes. Al final no sería el doble de mejora, pero de los 200-300MB/s que hablaba antes se pasaría a los 250-400MB/s, que ya se notaría mucho. Como curiosidad la transferencia máxima teórica habría subido a mas de 1GB/s. [Alaa!]
Con esa parte algo arreglada podríamos ver el límite real del RCP. Sabemos que tranquilamente texturiza 100.000 polígonos por segundo sin z-buffer, pero habría que ver cuanto le lastra realizar la comparación de z-buffer pero posiblemente no sea mucho. Sabiendo que es capaz de manejar 60.000 pol/s con z-buffer activo, tal vez con la mejora de memoria alcanzase los 70.000 en las mismas condiciones. Una pista extra que tenemos son los juegos en alta resolución de la N64 donde los fps bajan a 12 en muchos, pero desde el punto vista del uso de la RAM, hay más accesos a memoria pero también se manejan bloques más grandes, por lo que la relación es más favorable que en resolución normal. Es decir, se esta aprovechando más el RCP en alta resolución que en resolución normal y se puede ver que aunque se doblase el ancho de banda, por el límite con el RCP la mejora no habría sido mucho mejor.
Se seguiría pudiendo expandir la RAM, aunque el expansion pak seria el doble de gordo y la ranura más grande y también más cara.
Pero el problema habría sido el RCP, es un chip gigantesco atestado de líneas y meterle las 15 o 16 líneas extra de un chip RAM paralelo habría aumentado su tamaño más, su coste de fabricación y el coste de la placa base. ¿Cuanto más? Pues puede que bastante, quizá 40$ más. Si, ahora con lo que sabemos pagariamos sin dudarlo eso 40$ extra, pero en aquel entonces ni nosotros sabiamos, ni nuestros padres habrían apoquinado 40.000 pesetas por una consola...
En el momento de salir la N64 el RCP estaba muy a la par o casi superando a las aceleradoras 3D de PC. Claro que esto es por los pelos ya que faltaba un mes para la salida de la primera Voodoo que se merendaba todo lo que había. Las placas arcade tenian una potencia bastante bruta. Así que aún con la optimización de memoria la consola estaría por debajo de arcades y PCs con Voodoo, aunque la relación prestaciones/precio habría sido imbatible pese a ser más cara, y tendría algo más de resolución (y con esto me refiero a menos bandas negras arriba y abajo) y mejor framerate.
Igual parece que me he venido arriba con la comparación con las gráficas de PC, pero si buscais vídeos de la primera S3 ViRGE vereis que el rendimiento es bastante lamentable. De hecho se le apoda deceleradora 3D porque era activarla e ir el juego más lento. [qmparto]


Urian escribió:Lo que es un sinsentido es que existiendo la corrección de perspectiva que permite utilizar poligonos con un area relativamente grande tengamos solo 4KB como cache de texturas, que vale que es el doble que la PlayStation pero el sistema de Sony utiliza texturizado afín, sin corrección de perspectiva y por tanto compone la escena con polígonos de area más pequeña.

Es por ello que la comparación de poligonos por segundo entre ambos sistemas es absurda. N64 puede mover las mismas texturas que PSX sin problemas, además con Mip Maps de cada una pero va a ir peor pq la tasa de poligonos es peor pero eso si haces un port directo, si adaptas la geometria entonces... Pero si tu juego requiere grandes texturas en N64 tendras un problema por los 4KB de cache, por lo que tendrás que subdivivir en texturas más pequeñas y por tanto aumentar la tasa de poligonos.

Es curioso que digas que la N64 tiene el doble de cache y que por eso es un problema para realizar port de juegos de PS1 que tiene la mitad de cache... ein?
La realidad es que en los juegos pocas texturas se estiran. Se daba sobretodo en suelos, paredes y cielos, y dependiendo del detalle necesario. Por ejemplo no es lo mismo el cesped de Mario 64 que el suelo del castillo.
Imagen
Imagen
(Son capturas de emulador, pero es para hacerse una idea.)
Al final aunque la N64 se lleve la fama de las texturas de baja resolución, la realidad es que en general no eran muy diferentes en tamaño entre ambas consolas. Vease ese cartel en Gran Turismo.
Imagen
(De nuevo emulador, y subido de resolución y con filtros, pero para que se vea que tiene sus píxeles).
Pero vamos, la resolución de texturas es la correcta para resoluciones habituales de 320x240 en televisores CRT. A ver si ahora vamos a juzgarlas 25 años después....

Creo que necesitas pasarte por el hilo de curiosidades de la N64 y verte las comparativas que hace Conker64 entre juegos de N64 y PS1.

Lo que has dicho lo comparo con los datos del WDC que he dicho antes y tu afirmación de que la tasa de polígonos es peor. En las mismas condiciones, es decir, sin usar z-buffer, ambas máquinas se mueven en una tasa de polígonos texturizados similar, o incluso la N64 tiene cierta ventaja. Pero además la consola de Nintendo aplica filtros y precisión subpixel consiguiendo una calidad gráfica final superior (desastre de salida de vídeo aparte) a la consola de Sony.
Pero incluso con z-buffer la tasa de polígonos no es mala. El Ridge Racer de N64 tiene aproximadamente la misma tasa que la del primer Ridge Racer de PS1. Digo yo que si es aceptable en PS1, lo será en N64 también... ein?
Otra cosa distinta es que los problemas para optimizar el juego provoquen una tasa de fps inferior en la consola de Nintendo, pero eso es problema de software, no de hardware. Luego también entra la política de Nintendo de que los juegos debian usar z-buffer para que se vieran mejor que en PS1, unido a que en las librerias de la consola o usabas z-buffer y corrección de perspectiva, o no usabas ninguno. Solo experimentos contados con microcódigos a medida como el de WDC y varios juegos más de Rare aprovechaban mejor el potencial de la consola.
28 respuestas