Hilo de detalles y curiosidades de N64

PABEOL escribió:Mi mente ultrapotente acaba de calcular que cada cubo son seis polígonos.

No tengo ni idea de cuántos cubos hay en la demo "de Minecraft" de Tiny3D, pero yo no le echaría más de 1000 en lo que se ve.

¿No serían eso 6000 polígonos? A ver si alguien puede explicar dónde está la magia. [beer]

En los motores 3d hay diferentes niveles de discriminación de polígonos. En las consolas de esta época convertir los vértices de 3d a 2d y luego pintarlos era un proceso muy costoso así que se intentaba discriminar lo máximo posible cualquier de esas fases.
Se solía discriminar en este orden:

1) Estructuras de datos espaciales: seguro que por ejemplo has oído hablar alguna vez de BSP, que lo usaban los juegos de ID. En la demo de Tiny utiliza BVH. Todos esos nombrajos son maneras diferentes de organizar el espacio. Imagínate el mapa de “Hyrule Field“ de OOT visto desde arriba, y tú decides dividir todo el mapa en un cuadrante de 8x8, si estás en la mitad del mapa mirando al norte, pues por ejemplo puedes descartar la mitad del mapa (todos los cuadrantes que están el sur). De esa manera no has tenido que ir mirando cada polígono de cada cuadrante. Solo con saber que no se veía el cuadrante ya te vale para descartar todo lo que tenía asociado.
BVH, BSP o los Octrees dividen el espacio de otra forma, pero la función a la hora de renderizar es más o menos la misma (descartar muchos polígonos a la vez).

2) Frustum culling: Esto es básicamente descartar lo que está fuera del campo de vista de la cámara en 3d. En el ejemplo anterior si estabas mirando al norte es posible que algún cuadrante de los del norte que estuviese por los lados, quedase fuera del campo de vista de la cámara y también se puede descartar. La cámara tiene una distancia de lejos y otra de cerca, así que el Frustum Culling también puede descartar polígonos que estén más lejos que X si así lo desean. El Frustum Culling también se puede usar para descartar bloques (cuadrantes en el ejemplo de OOT) del paso anterior.

3) Backface culling y Screen clipping: Backface culling es descartar los polígonos que no están mirando a la cámara y screen clipping es descartar los que están fuera del rectángulo 2d de la pantalla (es como el frustum culling pero ya en 2d)

Lo que se suele contar como polígonos renderizados en un juego es los que quedan después del 3) que son los que se acaban mostrando en pantalla.
En la demo de Tiny te está mostrando los que quedan después de 1), por eso te puede dar la impresión de que salen más de los que hay luego en pantalla. Además, hiciste bien los cálculos de cuantas caras tiene un cubo, pero como n64 solo trabaja con triángulos cada cara la tienes que dividir por 2, ósea cada cubo son 12 triángulos.
¡Gracias! Pues con 12 polígonos por cubo, si hay 1000 cubos ya nos salen 12.000 polígonos visibles (aunque yo sigo sin ver 1000 cubos a no ser que haya docenas de cubos enterrados que también cuenten).

Lo de las técnicas esas ya lo había pillado, aunque no sabía que había una separada para descartar también los cuadrantes... curioso.

¿Esto en la época lo hacían los juegos de 5ª generación o no?
PABEOL escribió:¡Gracias! Pues con 12 polígonos por cubo, si hay 1000 cubos ya nos salen 12.000 polígonos visibles (aunque yo sigo sin ver 1000 cubos a no ser que haya docenas de cubos enterrados que también cuenten).

Lo de los 1000 cubos lo dices por algún comentario específico? El número que te sale a la izquierda, por ejemplo al principio pone 4072, te indica que esos son los triángulos que han pasado el test del BVH (parece una enfermedad XD), pero puede ser que un grupo de 500 cubos que esté a la derecha haya pasado el test, pero se descarte en otra fase más adelante. Esos números son solo orientativos.

PABEOL escribió:Lo de las técnicas esas ya lo había pillado, aunque no sabía que había una separada para descartar también los cuadrantes... curioso.

Eso es un ejemplo básico que te he puesto, la demo lo que hace es agrupar objectos por el volumen que ocupan y encapsularlos en volúmenes mayores, y así sucesivamente, no es una división uniforme. Con el test intentan descartar un volumen grande y si lo consiguen saben que todos los volúmenes por debajo están fuera (en la thumbnail del video se ve un poco los volúmenes de agrupamiento)


PABEOL escribió:¿Esto en la época lo hacían los juegos de 5ª generación o no?

Los BSP se usaban ya desde principios de los noventa en juegos. Muchos juegos de la 5ª generación ya usaban división por cuadrantes uniformes (prácticamente Octrees). No tengo constancia de ningún juego que usara BVH en esa época (el primero que me viene a la cabeza es Super Mario 64 DS) pero es bastante probable que los usasen ya que es una técnica que se inventó a mediados de los 70. A veces se usan para otras cosas como detectar collisiones.
Ah, vale, es que había leído algo de cientos de miles de polígonos en esa demo y no lo veía nada claro, obviamente.

Pues a lo tonto, ese paisaje con unos 300 y pico cubos les ha quedado bastante chulo. A mí el Minecraft no me gusta por su jugabilidad, pero ese tipo de gráficos demuestran que la fidelidad gráfica está sobrevalorada. El Katamari es otro ejemplo.
Hola, mirando de actualizar mi SD de N64 acabo de ver que en los amantes del CD hay un Portal 64 por si alguno le interesa cazarlo.

Edit: Probado y confirmo que funciona de maravilla. Tiene texto y voces en castellano. Permite desactivar el desentrelazado o configurar la distancia de renderizado de los portales, pero incluso al máximo la penalización en rendimiento es más que aceptable.
SuperPadLand escribió:Hola, mirando de actualizar mi SD de N64 acabo de ver que en los amantes del CD hay un Portal 64 por si alguno le interesa cazarlo.

Edit: Probado y confirmo que funciona de maravilla. Tiene texto y voces en castellano. Permite desactivar el desentrelazado o configurar la distancia de renderizado de los portales, pero incluso al máximo la penalización en rendimiento es más que aceptable.


He estado probando un rato, es una pena que no pudiese continuarlo, tiene margen de mejora en los gráficos, sobretodo iluminación (no tiene de ningún tipo) y las texturas se podrían mejorar, eso sí, no entiendo por que le a metido un dithering tan marcado.

Salud.
@dirtymagic el dithering lo noté, pero pensé que era culpa de usar RGB
@SuperPadLand
Yo tengo conectado pr compuesto la N64 y es muy notorio, al nivel de Lilat Wars que es otro que también es super marcado.

Salud.
dirtymagic escribió:@SuperPadLand
Yo tengo conectado pr compuesto la N64 y es muy notorio, al nivel de Lilat Wars que es otro que también es super marcado.

Salud.


Supongo que ello ayuda con la tasa de relleno no? Me suena que en PS1 en Silent Hill se abusó también de ello por ese motivo. La conversión es muy buena y fiel, ya sólo las físicas de usar los cubos son increíbles.

El creador está haciendo algo propio? Porque de lo que aprendió de este proyecto imagino que podrá sacar un juego muy bueno para N64
SuperPadLand escribió:Hola, mirando de actualizar mi SD de N64 acabo de ver que en los amantes del CD hay un Portal 64 por si alguno le interesa cazarlo.


Es el juego ya para ejecutar o hay que parchear, etc?
@Dr Sabroson Es la ROM ya preparada.

@SuperPadLand Si que está haciendo un juego, pero no tiene nada que ver con Portal.


Salud.
Dr Sabroson escribió:
SuperPadLand escribió:Hola, mirando de actualizar mi SD de N64 acabo de ver que en los amantes del CD hay un Portal 64 por si alguno le interesa cazarlo.


Es el juego ya para ejecutar o hay que parchear, etc?


Listo y cocinado. Yo no sé compilar. [carcajad]

@dirtymagic está muy verde todavía, pero pinta bien. A ver en que queda
Una curiosidad de GoldenEye que no sé si es muy conocida. Yo lo vi por primera vez hace unos años (quizás dos o tres) en una conferencia que hizo David Doak, uno de los desarrolladores (el que puso su cara para el Dr. Doak del nivel de Facility).

En el nivel de Egyptian se encuentra el enemigo Baron Samedi que regresa de entre los muertos cada vez que acabas con él. La misión termina cuando lo matas por tercera vez, pero en la cinemática final se le ve persiguiendo a Bond y riendo con su maléfica carcajada mientras la imagen se funde a negro.
Pues resulta que si uno es lo suficientemente astuto puede conseguir esto -> https://youtu.be/pSPoQ9OqAEM?si=KzGVW38JFQIf9iT7&t=120

Cuando lo vi por primera vez solté una carcajada todavía más sonora que la de Baron. Ocurrió lo mismo en el vídeo aquel de la conferencia, que al público también le pilló por sorpresa.

Pues hoy he ido a buscar el vídeo original o al menos uno que se le pareciera y lo que he encontrado me ha hecho soltar una carcajada todavía más grande. Me pregunto si Doak o cualquiera de los desarrolladores sabían que esto era posible. Yo he tardado 27 años en saberlo (bueno, desbloqué Egyptian en el 2000, así que 24 años). -> https://www.youtube.com/watch?v=dJLyTDD ... l=ItsReddd
Es mucho más sencillo que el anterior, pero no se me habría ocurrido en la vida. El otro quizás sí.

¿Alguien más conocía alguna de estas formas de interactuar con el Baron Samedi? ¿Qué otras cosas descubristeis muchos años más tarde en juegos de Nintendo 64? Yo tengo algunas más.
@Sogun es increíble lo que la gente puede rascar de un juego cuando le gusta hasta encontrar fallos o cosas como estás 🤣
La N64 corriendo el Delfino plaza del Mario Sunshine:
EMaDeLoC escribió:La N64 corriendo el Delfino plaza del Mario Sunshine:


Funciona 20fps mas rapido que en GC... tal vez hay margen para ponerle una pizquita de mega textura hasta bajar a los 30fps.

Como me gusta esto XD
Señor Ventura escribió:
EMaDeLoC escribió:La N64 corriendo el Delfino plaza del Mario Sunshine:


Funciona 20fps mas rapido que en GC... tal vez hay margen para ponerle una pizquita de mega textura hasta bajar a los 30fps.

Como me gusta esto XD


Antes de ir por ese camino habrá que mirar de meter el agua y sus físicas más todos los NPC del pueblo, monedas y otros objetos y, sino recuerdo mal, faltan unos islotes que se ven a lo lejos. Aparte de que el modelo de Mario debería llevar la mochila de agua aparte y otras cosas.
Es una nintendo 64, se trata de mover lo esencial con la mayor calidad posible.

Las monedas y otros detalles menores no se van a apreciar muy bien, y pueden costar rendimiento. Si por la misma porción de rendimiento puedes ponerle mejores texturas a eso, sería preferible.

Vamos, que no se trata de decir que es como una gamecube porque eso no es posible, pero por lo que tengo leído diría que igual para el agua se pueden hacer cositas sin demasiado coste tambien.
La calidad de las texturas es suficiente para la resolución con la que va renderizar que es 320x240, subirle más en calidad de textura, es posible que ni se aprecie en consola original, lo digo por experiencia, con las texturas que hago yo, que en Blender y emulador se ven nítidas y en consola apenas se aprecia el detalle 😅, estoy en el mismo barco que SuperPadLand, es preferible que le meta , lo que le hace ser un juego, que una presentación con más "calidad" en el que sólo te paseas.
Salud.
Señor Ventura escribió:Es una nintendo 64, se trata de mover lo esencial con la mayor calidad posible.

Las monedas y otros detalles menores no se van a apreciar muy bien, y pueden costar rendimiento. Si por la misma porción de rendimiento puedes ponerle mejores texturas a eso, sería preferible.

Vamos, que no se trata de decir que es como una gamecube porque eso no es posible, pero por lo que tengo leído diría que igual para el agua se pueden hacer cositas sin demasiado coste tambien.


A ver lo repito con otras palabras adaptadas a tu logica: Si se trata de mover lo esencial entonces las megatexturas aquí no pintan nada. Hay cosas mucho más esenciales que poner antes: objetos, npc, mejorar el agua, etc.


No sé que obsesión has cogido con las megatexturas, la demo técnica está genial, pero si la pruebas verás que lo que estás pidiendo no tiene ni pies ni cabeza.
@SuperPadLand Ya, pero es lo que me gustaría. No se trata de hacer lo que hace una gamecube, tendrás que calcular y dibujar menos, y sobre todo no se trata de recrear un nivel jugable, sino una demo visual.

Ese nivel con el nivel de detalle de la megatextura imagino que no debería ser posible, me refiero a usar ese mismo principio para, efectivamente, subir la calidad de las texturas, pero no hasta aquel nivel enfermizo de la demo. El propio autor dijo que para juegos de mundo mas abierto no sería posible, pero si lograr un aumento de detalle.
Señor Ventura escribió:@SuperPadLand Ya, pero es lo que me gustaría. No se trata de hacer lo que hace una gamecube, tendrás que calcular y dibujar menos, y sobre todo no se trata de recrear un nivel jugable, sino una demo visual.

Ese nivel con el nivel de detalle de la megatextura imagino que no debería ser posible, me refiero a usar ese mismo principio para, efectivamente, subir la calidad de las texturas, pero no hasta aquel nivel enfermizo de la demo. El propio autor dijo que para juegos de mundo mas abierto no sería posible, pero si lograr un aumento de detalle.



Por supuesto, pero como demo que intenta representar lo más fielme posible el juego de GC se le debe dar prioridad a intentar meter todos los elementos posibles del original. A mi no me dices nada con una demo de una palmera de Isla delfino con megatextura, me dices más con algo como lo de esta demo, pero metiéndole los NPC primero y a partir de ahí si es posible el agua, las frutas de los puestos, etc. Vamos es que lo normal en este tipo de demos es el camino contrario: mirar hasta donde habría que recortar para portear el original, meter megatexturas es el sentido contrario y además, salvo que haya algo mejor que esa demo técnica, en un escenario abierto puedes pasar fácilmente a 5fps metiéndolas. Ten en cuenta que la demo no va a 50 estables, en muchas zonas según la camara ya no logra mantener los 30. El tema de las megatexturas necesita un juego diseñaso con ello en mente y dónde el framerate no sea importante, algo como hizo la propia demo: juego en primera persona, por instancias pequeñas y que trate de observar con calma y donde no moleste el salto que pegan las texturas para cambiarla la calidad según la distancia de la cámara. Algo como Myst o Shadowgate o en juegos como Mario y Zelda limitarlo a cuando entras en un entorno pequeño como las tiendas o edificios de Hyrule. Pero creo que la primera persona le sienta mejor porqué en tercera persona tener el personaje con megatextura ya va a tirar y no vas a tener el personaje principal sin megatextura y el escenario sí, desentonaría bastante un Link borroso y un muro con rugosidades. Aparte de que en tercera persona no puedes observar bien esos detalles, en primera persona puedes mirar bien todo, etc.

Por otro lado, suponiendo que sea para usar en consola y setup original recordemos que esto implica una res máxima de 480i por RF o RCA en CRT. Ponle un mod RGB y 240p, pero más allá de eso es desperdiciar. No quiero caer en Yoshin que te convierte una MD en un Pentium IV gracias al RF y CRT, pero quitando las exageraciones tenía algo de razón en lo que indicaba.


Edit: @dirtymagic @EMaDeLoC la ROM para probarla no la ha compartido no?
@SuperPadLand Por el momento no, pero dice que sacará una demo de su mod de SM64 que vendrá con la plaza Delfino.
3572 respuestas
168, 69, 70, 71, 72