Hardcore Retrogaming

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

« précédent - suivant »

upsilandre

Je me suis entrainé a faire ce glitch intéressant dans Zelda




Le plus dure c'est pas de trouver le bon placement mais d'appuyer dans une direction pendant une seul frame (c'est a dire pendant moins de 16ms), a vitesse normal j'y arrivais pas avec le stick de mon pad 360 (j'y arrivais seulement a 50% de vitesse) mais en mappant les directions sur des boutons ca passe, j'y arrive enfin  :o

upsilandre

Avec les tortues ninja on a un exemple de jeu ou le sprite du joueur est fixé en haut de la liste de priorité et ne subit pas le melange du coup le sprite ne clignote jamais, seul les ennemies clignote.

Je remarque aussi que c'est encore un autre jeu qui n'est pas a 60fps, il tourne a 30fps, j'ai l'impression que c'est pas aussi rare que je le pensais meme si le 60fps est quand meme largement la norme.
L'animation de ghost'n goblins est vraiment horrible, non seulement c'est du 20fps mais les sprites sont animés avec du judder (c'est pas animé toutes les 3 frames comme le scrolling mais selon une pattern 2-4-2-4-2-4, donc judder et désynchro avec le scrolling, beurk)

Je constate aussi que le canal audio PCM semble assez souvent utilisé dans les jeux, essentiellement pour ajouter des percussion plus riche que le classic noise (et parfois des FX, le cri du joueur quand il se fait toucher)

Si vous avez des suggestions de jeu NES a tester (parce qu'ils sont particulièrement mal fichu ou l'inverse) n'hesitez pas pendant que je suis dedans.


pippoletsu

#182
Ah oui au fait Upsilandre, tu saurais m'expliquer la technique derrière l'animation du perso principal de Ernest Evans sur mega cd ?

upsilandre

#183
Je connais pas tellement les features de la megadrive et du megaCD mais ce qu'on voit ici c'est que chaque membre est un sprite individuel, un objet a part entiere sur lequel est appliqué des rotations (un peu comme un rayman) du coup les sprites ont une seul pattern d'animation, une seul frame (au lieu d'en avoir des dizaines) donc le cout en Tileset de l'animation est nulle, ce qui va composer les données de l'animations ca sera la position et l'angle de chaque sprite pour chaque frame, ca peut etre un moyen economique de faire des animation riche et fluide.
Je sais pas si la rotation de sprite fait partie des features cablés. La megadrive et la supernes je connais pas trop (c'est des machine deja bien plus complexe, surtout la Supernes, la Neogeo est d'une certaine facon bien plus simple a comprendre)

pippoletsu


upsilandre

Purée je decouvre que "1942" sur NES tournait aussi a 20fps, je suis choqué.
Heureusement 1943 est en 60fps (avec un petit scrolling differenciel) mais c'est 2 ans et demi apres

upsilandre

Je teste les megaman...
En attendant voici une petite anecdote de geek que je viens de voir et que vous serez les seuls a connaitre :D:
Sur l'ecran de selection le boss Gutsman a eu le droit a un traitement privilegié. Tous les boss sur cette image sont composés de sprite sauf Gutsman qui est composé de backtiles (tiles de background)


upsilandre

#187
J'ai testé tous les Megaman et c'est quand meme la classe. Je pense que c'est la serie qui est la plus emblématique de la NES, deja par le nombre d'episode (6). La plus part des autres series qui ont débuté sur NES se sont surtout épanouies par la suite sur SNES alors que Mega man c'est vraiment épanoui sur NES (faut dire que la serie a continué sur NES presque jusqu'a la sortie de la PS1)
Techniquement je trouve ca reussit, c'est jolie (avec des sprites de plus de 3 couleurs et vous savez que c'est compliqué sur NES), fluide (60fp), maniable, varié.
Faut dire que malgrés que ce soit une tres longue serie NES c'est une serie qui est arrivé tardivement sur NES (ce qui est un peu paradoxal). Elle a débuté 4 ans et demi apres l'arrivé de la Famicom, apres toutes les autres series, donc avec des bases solides car le terrain avait deja ete largement débroussaillé.

On remarque que le sprite de megaman reste le meme pendant toute la serie. Y a un autre point commun, aucun des 6 episodes ne fait usage du canal audio PCM. Peut etre pour reserver toutes les ressources CPU pour le jeu (qui a deja tendance a avoir des chutes de framerate par moment) car le canal PCM génére des intéruptions CPU pour s'alimenter.

La taille des cartouches:
Megaman 1:  128Ko
Megaman 2:  256Ko
Megaman 3:  384Ko
Megaman 4:  512Ko
Megaman 5:  512Ko
Megaman 6:  512Ko

Si les 3 dernieres ont le meme mapper et semble equivalente en fait y a une difference. Megaman 5 utilise une configuration 256Ko de PGR + 256Ko de CHR alors que le 4 et le 6 sont en configuration 512Ko de PGR + 8Ko de VRAM
C'est une bonne illustration des 2 types de configuration de cartouche qui se sont tout le temps cotoyé durant la vie de la NES car offrant des avantages differents.

Megaman 4 et 6

On voit a droite le chip de 512Ko de PGR-ROM connecté au bus CPU et a gauche les 8Ko de RAM NEC connecté au bus GPU. tout en haut le mapper Nintendo MMC3 (le plus utilisé sur NES) qui intercepte les bus d'adressages (et tout a gauche la puce pour la securité)

Megaman 5

On voit a droite le chip de 256Ko de PGR-ROM connecté au bus CPU et a gauche le chip de 256Ko de CHR-ROM connecté au bus GPU. tout en haut le mapper Nintendo MMC3 (le plus utilisé sur NES) qui intercepte les bus d'adressages (et tout a gauche la puce pour la securité)



La difference d'usage se situe essentiellement dans la facon de gérer les mises a jour du Tileset (le catalogue de blocs graphiques qui composent les sprites et le background)
Perso je préfére la configuration de Megaman 5 car c'est la configuration qui permet d'exploiter au mieux les avantages de la NES en permettant une mise ajour du Tileset instantané par simple bank switching.
Dans la configuration Megama 4 et 6 le Tileset est dans les 8Ko de RAM et faut donc déplacer des donnée de la PGR-ROM a la RAM pour mettre a jour le Tileset, c'est bien moins instantané mais c'est plus flexible, y a pas les gachis d'espace qu'il peut y avoir avec la solution Megaman 5 (ou y aura des redondances de tiles ou des espace tiles non exploités pour s'adapter a la granularité des bank de 4Ko) et donc 512Ko dans cette configuration correspond a un espace finalement superieur a 512Ko dans la configuration Megaman 5.



Coca_Impact

On est bien loin des cartouches 32Ko  :cool:


upsilandre

Ca c'est sur, on est loin.

Sinon du coté des shoot tres old-school j'ai testé Xevious et la au moins c'est du 60fps contrairement a 1942 et ses 20fps. Et Xevious est sortie 15 mois avant. En plus il est assez jolie pour l'epoque. Ca me confirme que Xevious etait je pense une petite clac a son epoque (un an avant super mario).


Qu'est ce qu'il y a eu comme shoot sur NES?
C'est un genre ou y a plus de probabilité de trouver des jeux a moins de 60fps je pense.



upsilandre

Les 3 Double Dragon sont a 30fps
Mais j'ai trouvé un record! Ikari Warriors 2 qui en plus d'etre d'une laideur (on dirait un jeu ZX spectrum) et d'un non sens absolu (Rambo dans l'espace) il tourne a 15fps. Ca vaut le coup de jeter un oeil sur cette immondice. Le pire c'est que c'est une grosse cartouche.

Coca_Impact

...En effet ça doit mérité le coup d'oeil !

upsilandre

#192
J'avais oublié la serie Ninja Gaiden. Une serie intéressante car les 3 episodes (arrivés tardivement aussi) utilisent tous une cartouche de 256Ko mais on observe quand meme une grosse evolution technique (et gameplay) entre les episodes.

le 3eme a vraiment de la gueule. Tout est maitrisé sur ce dernier episode. La palette exploité a la perfection, le bank switching completement maitrisé avec donc des decors tres animé, les FX a foison avec scrolling a 5 parallaxes et boss de la taille de l'ecran, le canal audio PCM utilisé a fond avec de vrai son de batterie pour la musique et de cri quand tu frappes. Et tout ca sur une cartouche pas si enorme (plus petite que Ikari Warriors 2...)


Coca_Impact

J'ai fait une petite session de Shinobi 3 et c'est vrai que c'est plutôt impressionnant  :ouch:
J'ai trouvé un truc intéressant à propos de la capacité de la NeoGeo à afficher de la 3D polygone : http://www.sega-16.com/forum/showthread.php?17301-How-capable-would-the-Neo-Geo-MVS-AES-be-in-3D-polygon-graphics/page11&s=a031bc3de65d0995dbf65838e37037d7

Après quelques recherches des jeux 3D de la MegaCD, j'ai trouvé ça :
C'est vraiment très très impressionnant surtout quand on voit que c'est sortie en 93' , moi qui pensais que StarFox 2 avait de la gueule  :vice: (il aurait dû sortir 2 ans plus tard qui plus est).

Aussi, Si tu sais comment la Nes s'y prenait pour afficher des rendus 3D (Snow, 3D runner) je suis pas contre  ^^

upsilandre

Je me suis fais Ninja Gaiden 3 en entier tout en gardant un oeil sur le Tileset pour analyser comment le jeu le gère car Ninja Gaiden 3 fait partie de ces jeux qui use beaucoup du bank switching sur le Tileset (chose qu'on ne peut pas faire sur Master system) ca me permet d'illustrer avec un exemple concret.

les bases:
- Le jeu utilise une cartouche 256Ko
- dont 128Ko de Tileset
- le GPU ne peut adresser et voir que 8Ko de Tileset (512 tiles): 4Ko (256 Tiles) pour le background et 4Ko (256 Tiles) pour les sprites. C'est avec ca qu'il travaille pour construire l'image.
- le mapper permet de faire un bank switching avec une granularité de 1Ko (64 tiles) pour modifier le Tileset donc on peut consider qu'il y a 128 bank de 64 tiles sur la cartouche


Voila a quoi ressemble le Tilset du point de vue du GPU (donc limité a 8Ko) quand on débute le jeu




Coté Background:

- les bank 0 et 1 sont tout le temps réservé aux elements de background animé et donc ces 2 bank la vont switcher tout le temps (a peu pret toutes les 4 frames soit 15fps) pour animer certain element de background.
C'est des animes sur seulement 3 frames donc c'est un pool complet de 6 bank que le jeu fait tourner en boucle. Apparemment y a que 2 pools d'anims comme ca (12 bank) qui contiennent l'integralité des elements de background animé du jeu donc selon le level c'est l'un ou l'autre qui est utilisé. Parfois les 2 sont combinés pour animé certain objet en 6 frames (ca concerne uniquement les pics qui sortent du sol et des murs qui sont des elements de background animé sur 6 frames, ce sont les 12 tiles que l'on voit tout en bas du bank 1)

Mais le bank switching de ces 2 bank (0 et 1) ne s'arrete pas la, y a aussi un bank switching suplementaire a chaque debut de frame pour y mettre 2 bank de caracteres et element graphique qui servent pour l'affichage du HUD, une fois le HUD affiché ca re-switch (donc pendant l'affichage meme de la frame, plus précisement a la ligne 43) vers les bank d'animation du background donc j'ai parlé précedement ainsi les elements du HUD n'empiete par sur le tileset du background du jeu.
Donc ces bank 0 et 1 subissent un bank switching intense qui permet de simuler un tileset plus grand qu'il ne l'est.

- Les bank 2 et 3 sont utilisés pour le background du level en court, c'est la que se trouve donc toute l'identité visuel du level et meme de chaque sous level (y a 2 sous-level par level dans Ninja Gaiden) car ca bank switch entre chaque sous level pour changer l'aspect visuel. Pour le boss final ces 2 bank seront aussi switché a 2 reprises.


Coté Sprites:

- Le bank 0 est utilisé pour le sprite du joueur. il ne suffit pas a lui tout seul pour contenir toutes les animations du sprite et c'est la que la magie du bank switching intervient encore une fois car ca change automatiquement de bank selon l'action que tu fais (donner un coup, s'accrocher a un mur...) au total j'ai pas identifié exactement combien y a de bank, au moins 3 ou 4.

- Le bank 1 est fixe et toujours le meme du debut a la fin du jeu. il est utilisé pour representer les differents items du jeu et projectiles/explosions

- Le bank 2 et 3 sont les bank utilisés pour les sprites des ennemies du level en court. Chaque bank contient 2 ou 3 ennemis et switch entre chaque sous level (voir chaque checkpoint) pour mixer differents type d'ennemis. C'est dans ces 2 bank que va se placer aussi chaque boss de fin de level.