Hardcore Retrogaming

Démarré par upsilandre, Novembre 09, 2013, 04:00:23 PM

« précédent - suivant »

upsilandre

#210
Oui comme le ray-casting a la Wolfenstein qui est 100% de la 2D. Y a pas un poile de 3D, pas un seul vertice ou vecteur 3D ou meme coordonné Z.

Coca_Impact

C'est vraiment bien foutu, et apparemment ça bouffe pas beaucoup (puisqu'il l'ont fait sur Nes ) . Je me demande quelles sont les limites de cette Technologie  :vice:   

upsilandre

Je me suis fais l'integral de Batman return of the joker (merci les password, ca avait du bon finalement, ca permet aujourd'hui de choisir son level, un plus c'est un code a 4 lettres donc pas chiant du tout).
un jeu dont j'ai deja parlé ici car c'est probablement l'un des jeux NES qui pousse le plus loin le bank switching et donc l'aspect visuel sur NES.

J'ai compté 42 bank utilisé juste pour les animations dans le background (dans Ninja Gaiden 3 j'en avais compté que 6).
Rien que pour ce level y en a 12.
http://youtu.be/p1Ivxnpbd5Y?t=17m42s

8 qui tourne en boucle (8 frames) juste pour l'effet de parallaxe du ciel et 4 pour animer la vegetation. + 2 autres bank pour le reste du background ca fait au total un background a 16Ko alors que la NES est normalement limité a un Tileset de 4Ko pour le background. C'est la tout l'interet du bank switching.

upsilandre

#213
Citation de: Coca_Impact le Août 31, 2014, 09:47:55 PM
C'est vraiment bien foutu, et apparemment ça bouffe pas beaucoup (puisqu'il l'ont fait sur Nes ) . Je me demande quelles sont les limites de cette Technologie  :vice:

La Megadrive a pas mal de jeu en Raycasting tu trouve Duke Nukem, Zero tolerance, Cyber-cop, Bloodshot, Star Cruiser, Toy Story. Toy Story est le plus fluide.

Un truc marrant avec les jeux en raycasting c'est que tu peux avoir du tearing... vertical!
Pas du au balayage de l'ecran bien sur mais du au raycasting qui se fait de gauche a droite. regardez Duke nukem Megadrive par exemple.

Coca_Impact


upsilandre

Je suis choqué, je viens de découvrir que le VDP de la Master System n'a pas de fonction de flipping des sprites (pour les retrouner de facon hardware) qui est un truc qu'on retrouve partout meme sur la VCS.
J'etais completement passé a coté de cette lacune car pour moi c'etait une evidence qu'elle le faisait d'autant qu'elle le fait sur les tiles des background ce qui une avancé par rapport a la NES.
Mais en fouillant la doc de Sega je me suis rendu compte que non tout simplement car y a carrément aucun attribut pour les sprites.

C'est une grosse lacune de pas pouvoir flipper les sprites (plus que pour le background) car la majorité des sprites sont utilisés dans les 2 sens (voir 4 sens) donc ca oblige a stocker 2 versions de chaque sprite sur la cartouche (sachant que les psrites SMS sont deja 2x plus lourd que sur NES a cause du 4bpp), mais aussi dans le tileset du GPU qui est deja tres etroit! une sacré contrainte.
Et effectivement suffit de lancer un jeu Master system en mode debug pour constater que le tileset des sprites contient les sprites en double (je l'avais bien constaté y a longtemps sur Alex kidd mais je pensais que c'etait une astuce pour simplifier la gestion des sprites, que nenni). Sachant que le tileset des sprites sur SMS contient max 256 tiles comme sur NES ca veut dire qu'en réalité y a bien moins de place effective que sur NES pour gérer les sprites. Et si en plus la NES utilise du bankswitching sur le Tileset c'est un carnage...


... sauf que par contre j'ai decouvert aussi que sur SMS on peut acceder a la VRAM meme pendant la phase active de l'affichage (pendant que l'image est tracé sur l'ecran) alors que sur NES tu ne peux le faire que pendant le Vblank (qui en plus est tres court sur NES car c'est un affichage 240 lignes contre seulement 192 sur SMS).
La aussi j'etais persuadé que c'etait comme sur NES car le GPU de la SMS est cablé et dans une configuration au fond tres proche de la NES (le GPU a sa propre VRAM avec son propre bus et on y accede seulement au travers de port) je pensais vraiment pas qu'on pouvait y acceder avec le CPU pendant que le GPU lui meme y accede mais apparemment c'est possible.
Du coup ca offre plus de possibilité pour modifier le tileset a la volé et étendre virtuellement sa capacité. Pas autant evidement que le bankswitching de la NES mais ca permet de compenser un minimum ces lacunes au moins pour des jeux a moins de 60fps. En 60fps quand la NES utilise le bankswitching elle est impatable.

Du coup y a sans doute proportionnellement plus de jeu SMS en dessous des 60fps que sur NES car sur NES le seul interet d'avoir un framerate bas c'est quand tu manques de ressource CPU, sur SMS tu peux avoir de vrai raison de baisser le framerate pour enrichir les graphismes car si tu passes a 30fps au lieu de 60fps ca te permet  de modifier au moins 5 ou 6x plus de tiles entre chaque frame et la SMS en a bien besoin.

Un autre truc sympa sur NES grace a la customisation du CPU et qui n'a pas d'equivalent sur SMS c'est la fonction DMA specifique pour charger la table de sprite dans la memoire GPU. grace a cette feature la NES peut charger la table de sprite complete (256 octets) 5 fois plus rapidement que sur SMS (bien utile vu comment le Vblank est court).
Globalement la NES est vraiment une machine tres bien pensé et customisé la ou la SMS utilisent des CPU, SPU et GPU standard sortie d'un cataloque. Alors oui la SMS a un GPU plus puissant car full 4bpp mais la NES est vraiment un hardware bien foutu en terme de performance/cout.
C'est certain que quand la Famicom est sortie elle coutait moins chere a produire qu'une Colecovision et je serais pas surpris si on me disait qu'elle coutait moins qu'une Intellivision (qui etait bouré de multiple composant). C'est evident qu'une grande partie du succes de Nintendo tiens la dessus, faire mieux que les autres pour moins chere.

Coca_Impact

Ok, ça devait vraiment être un défi de faire ce qu'on voulait faire sur ces consoles, c'est fous toutes ces contraintes, j'imagine pas le nombre de projet qui ont dût revoir leur ambition à la baisse...

upsilandre

#217
Finalement le premier jeu SMS a utiliser le trick de Mortal Kombat et Stree Fighter c'est tout simplement After Burner bien avant eux (dès 1987)
Contrairement a Space Harrier qui utilise le background pour simuler des sprites mais de facon classic sans effort d'integration (comme sur NES), After Burner lui fusionne les tiles de background entre elle avec le CPU en software pour avoir une bonne integration comme dans MK et SF2.
Resultat un framerate affreux toujours en dessous des 10fps mais ca fonctionne. Space Harrier est 2x plus fluide en faisant ce choix plus simple (mais lié au faite que l'horizon est toujours horizontal contrairement a After burner ce qui avec une petite astuce de palette permet a Space harrier de donner l'illusion d'une integration).
Quand a Out Run lui utilise uniquement de vrai sprites.

3 Jeux Sega qui semblent sortir du meme moule mais qui pourtant d'un point de vue technique utilisent 3 methodes d'affichage radicalement differentes, je m'en rend compte.







J'ai eu le jeu sur ma Master System quand il est sortie et deja a l'epoque en bon geek je l'ai voulu juste parce qu'il y avait ecrit "the four mega power". La premiere cartouche 4Mbit toute console confondu. Ensuite quand j'y ai joué j'etais bien deg car je trouvais ca nulle comme jeu, d'autant que la cartouche etait plus chère que les autres il me semble..


upsilandre


une illustration de la contrainte des "3 couleurs" pour les sprites NES. Sans cette contrainte (comme sur SMS) les sprites auraient pu ressembler a ca: (il sagit toujours de la palette de la NES)




Coca_Impact

Ha quand même !  Tu sort d'où les sprites alternatifs ?

Alphonse

Très impressionnant :laporte: Les couleurs ressemblent aux suites sorties sur SNES des jeux concernés.

pippoletsu

Mario je soupçonne que ce soit le Sprite de Mario 3.

Alphonse


upsilandre

le 2bpp c'est la principale contrainte de la NES, pour du decors ca passe mais pour representer des personnages c'est quasi impossible de faire un truc correct en 3 couleurs.
D'ailleurs parfois ils se sentent obligé de tricher, par exemple le megaman que l'on voit la est en 5 couleurs sur NES parce qu'ils superposent un autre sprite pour faire le visage mais ca surcharge la capacité d'affichage par scanline qui est deja faible.
Et les mappers ne peuvent rien faire pour contourner cette contrainte