Forums HBGD

Forums => La taverne des joueurs => Discussion démarrée par: upsilandre le Novembre 09, 2013, 04:00:23 PM

Titre: Hardcore Retrogaming
Posté par: upsilandre le Novembre 09, 2013, 04:00:23 PM
Pour assouvir certaines pulsions de retrogaming et etant en meme temps un technophile extremiste je me suis mis dans l'idée de progammer moi meme sur les consoles historiques pour enfin comprendre comment fonctionnaient ces machines (les fiches de specs ne disent finallement pas grand chose meme quand elles sont tres detaillées) et ce que c'etait de programmer un jeu a cette epoque.

L'idée c'est deja de se pencher sur l'Atari 2600 pour au moins 4 raisons.
Dabord pour ce qu'elle represente historiquement, puis parce que c'est la premiere console que j'ai eu et sur laquel je me suis initié au jeu video, et puis parce que c'est un hardware extrement vieux et donc exotique ce qui rend l'experience interressante car progammer sur atari2600 ca ne ressemble a aucune autres consoles ulterieurs et sans mettre les mains dedans difficile de comprendre ces differences. Et en plus cerise sur le gateau c'est le meme CPU que la NES qui sera forcement la seconde etape et donc la transition sera a la fois tres interressante par comparaison et facilité.

J'ai pas vraiment d'experience poussé de la programmation (disont que ca remonte plutot a mon adolescence donc y a 20ans voir plus et juste de facon ponctuel) donc ca va etre asser laborieux d'autant que j'ai pas beaucoup de temps a y consacrer et que la faut vraiment aller dans le metal (language machine, penser binaire, maitriser tout le timing d'execution et suivre de pret les deplacements du canon a electron de l'ecran)  mais je vais y aller doucement et savourer car j'y prend vraiment un certain plaisir, autant que ca dure.

Mon premier excercice ca va etre deja de reproduire "Combat" qui est le jeu du launch de l'Atari 2600 (1977), le jeu pour lequel on achetait la console (et que j'avais moi meme). Tres bon jeu pour l'epoque meme si son defaut est d'etre uniquement un jeu versus.
C'est surtout un jeu qui utilise strictement toutes les fonctionnalités hardwares de la machine ni plus ni moins pour ce qu'elles ont été concus, un peu comme si la console avait ete concu pour produire ce jeu, c'est ce qui m'a sauté au yeux apres avoir bien epluché les documents techniques et qui en fait le parfait cas d'ecole contrairement a un "Space Invaders" par exemple qui sera mon second excercice et qui lui est sortie 3 ans plus tard et consistait a porter un enorme succes de l'arcade sur une console qui n'etait pas fait pour cela donc beaucoup de tricks et demande deja une grosse maitrise de la machine (c'est l'uncharted 2 de l'Atari2600)
2 jeux cultes de la machine (avec Pacman) qui seront donc mes 2 etapes pour comprendre au mieux cette machine.


L'emulateur Atari 2600 qu'il faut posseder (avec en bonus un excellent debugger super utile pour la programmation)
http://stella.sourceforge.net/downloads.php
Forcement pouvoir bosser sur emulateur (et donc avec debugger) c'est deja un enorme confort qu'avait pas les gens de l'epoque, c'est aussi pour ca que c'est tres tentant.


Et ce document ou l'on trouve toutes les informations hardwares a connaitre sur la machine et qui est mon support de travail
http://nocash.emubase.de/2k6specs.htm


Combat version original Atari 2600 (1977)
(http://imageshack.us/a/img27/8073/iy2.gif)



Space Invaders version original Atari 2600 (1980)
(http://imageshack.us/a/img545/5192/xeox.gif)


Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Novembre 09, 2013, 04:18:33 PM
Le debugger de Stella est vraiment pratique, incontournable.

Tres drole par exemple de voir s'afficher l'integralité de la RAM de la console juste dans un petit tableau (entouré en rouge).Y a que sur Atari 2600 que tu peux voir ca  :roll:

(http://imageshack.us/a/img209/9288/dk5f.jpg)


Si jamais quelqu'un a des questions sur les caracteristiques hardware de cette machine c'est le moment ou jamais, je suis en plein dedans.

Titre: Re : Hardcore Retrogaming
Posté par: Hobes le Novembre 09, 2013, 04:41:02 PM
On t'a déjà dit que tu étais un grand malade ? (http://forum-images.hardware.fr/images/perso/5/ronfl4.gif)

Je salue l'initiative, ça doit être passionnant de se replonger là dedans. Surtout que c'est une machine assez ancienne donc il est plus aisée de maîtriser (sans que cela soit facile pour autant) tous les paramètres qui entrent en jeu. Cela dit je ne pense pas que tu puisses réellement te mettre à la place des développeurs de l'époque tant les choses ont changé, non ? Je vois que tu as un utilitaire de debbug très graphique, j'imagine qu'ils ne l'avaient pas autrefois. Idem pour la documentation qui doit être très détaillée. Sans compter que l'accès à celle ci était bien plus difficile vu qu'internet s'est démocratisé.

Par contre je ne vois pas, au premier abord en tout cas, quel effort il aurait fallu pour porter Space Invader sur Atari 2600. Faire un Space Invader c'est assez "simple" dans le fond.
Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Novembre 09, 2013, 04:45:29 PM
C'était pas grosso modo les mêmes proc aussi ?
Titre: Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Novembre 09, 2013, 05:36:04 PM
Citation de: Hobes le Novembre 09, 2013, 04:41:02 PM
On t'a déjà dit que tu étais un grand malade ? (http://forum-images.hardware.fr/images/perso/5/ronfl4.gif)

Je salue l'initiative, ça doit être passionnant de se replonger là dedans. Surtout que c'est une machine assez ancienne donc il est plus aisée de maîtriser (sans que cela soit facile pour autant) tous les paramètres qui entrent en jeu. Cela dit je ne pense pas que tu puisses réellement te mettre à la place des développeurs de l'époque tant les choses ont changé, non ? Je vois que tu as un utilitaire de debbug très graphique, j'imagine qu'ils ne l'avaient pas autrefois.
oui c'est ce que j'expliquais, le debugger ca change pas mal de chose en terme de confort par rapport a l'epoque, c'est super utile, et le fait de pas avoir a effacer et charger une EPROM chaque fois que tu veux faire un test grace a l'emulation.
Par contre j'ai aussi infiniment moins de temps a y consacrer que les gars de l'epoque donc heureusement qu'il y a ca sinon ca serait pas possible, ca serait un boulot a plein temps et j'ai deja un boulot a plein temps 6 jours sur 7.

CitationIdem pour la documentation qui doit être très détaillée. Sans compter que l'accès à celle ci était bien plus difficile vu qu'internet s'est démocratisé.
Bisarrement la documentation de reference du TIA (le GPU) ca reste un document de 1979 et pour le CPU 6502 c'est a peu pret pareille. Niveau doc y en a pas des tonnes (un seul suffit, celui que j'ai linké qui regroupe tout) d'autant qu'il y a pas enormement de chose a decrire non plus.
Internet t'aide au moins pour démarrer, trouver ces documents, l'emulateurs, le compilateur 6502 (Dasm) ensuite suffit d'utiliser le bloc-note de windows pour taper ton programme et c'est partie.
Ensuite les forums specialisés sont sans doute une source plus interressante mais pour l'instant j'utilise pas (pour galerer un peu tout seul et parce que ca sera forcement en anglais et que ca me fatigue tres vite vu mon niveau et je pense que c'est plus interressant d'y aller une fois que t'as deja une experience)


Citation
Par contre je ne vois pas, au premier abord en tout cas, quel effort il aurait fallu pour porter Space Invader sur Atari 2600. Faire un Space Invader c'est assez "simple" dans le fond.
c'est justement pour ca que je fais cette demarche c'est parce que tu comprend plein de truc qui ne peuvent pas aparaitre au premier abord mais entre Combat et Space invaders c'est vraiment tres different comme aproche.

Y a notement un gros defaut hardware qui ne pose pas de probleme pour un jeu comme Combat mais qui rend tres compliqué un jeu comme Space invaders.
Le TIA peut gerer 2 "sprites" (evidement c'est un peu plus compliqué que ca car c'est pas un GPU NES. le GPU est tres limité, son autonomie n'est pas a la frame mais a la ligne car y a pas de VRAM juste quelques registres donc a chaque ligne il faut alimenter ces registres avec le CPU en synchronisation avec le balayage de l'ecran. CPU qui est donc constament occupé par l'affichage a part pendant les blanking).
Et ces 2 "sprites" qui dans "combat" sont donc les 2 chars ont une position sur l'ecran a definir or on a pas acces au registre qui dit au TIA a quelle moment du balayage horisontal il doit commencer a tracer les 8 pixels du sprite (donc le registre qui donne la position horisontal du sprite), on peut juste incrementer ou décrementer ce registre (et difficilement, seulement pendant un Hblank donc une fois par ligne) mais pas le lire ni l'ecrire et c'est le principale defaut hardware de la machine je trouve (pourtant y a une soixantaine de registres du TIA auquels on a acces), si on avait eu acces ce registre ca aurait simplifier plein de truc.

pour un jeu comme Combat pas de probleme car y a seulement 2 sprites qui sont bien définie et ne change pas, t'as pas vraiment besoin d'avoir acces a ce registre.
Pour Space invaders ca devient beaucoup plus complexe car il va falloir jongler avec ces 2 sprites pour en afficher bien plus (tous les aliens, l'ovni, les 3 boucliers, les 2 joueurs) et donc a chaque fois il va falloir switcher et utiliser des trick indirect pour redéfinir la position horisontal de l'affichage du sprite avec des notions de timing tres pointu (faut bien connaitre le temps d'execution des instructions CPU) et tout ca alors que t'as tres peu de temps car a chaque instruction CPU le balayage ecran a deja avancé d'environ 10 pixels et que tout faire le temps d'un balayage de ligne (ou pire le temps du blanking horisontal juste avant l'affichage d'une ligne car c'est a ce moment la qu'il faut faire les operations sensible comme changer les registres du TIA) c'est tres coton.

En tres gros l'Atari 2600 a un hardware concu pour afficher un "playfield" (le decor) en 40x26 monochrome + 2 sprites monochromes 8x8 (sur la base d'une resolution 160x104) pour chaque joueur + 2 "missiles" qui sont juste des carrés de meme couleur que le sprite "player" correspondant et dont la position horisontal peut etre réinitialisé sur celle du sprite player + une "balle" qui elle est aussi un carré mais qui a la couleur du "playfield"
A l'exception de la balle qui n'est pas utilisé c'est strictement la description de Combat.




Titre: Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Novembre 09, 2013, 05:42:17 PM
Citation de: pippoletsu le Novembre 09, 2013, 04:45:29 PM
C'était pas grosso modo les mêmes proc aussi ?

tu veux dire par rapport au Space invaders Arcade?
non c'est pas du  tout le meme hardware. En arcade c'etait deja du x86 d'Intel et sans doute aussi avec une vrai VRAM et une vrai gestion "bitmap" de l'affichage. et y avait des lignes de 11 aliens (impossible a reproduire)
Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Novembre 09, 2013, 05:48:45 PM
Ah oui exact c'était une Intel 8080. Par contre il me semble que du coup c'est pas du x86, qui démarre logiquement avec la 8086.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Novembre 09, 2013, 05:50:34 PM
ca se tiens  :D
ouai c'est encore du vieux 8bits
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Novembre 10, 2013, 02:18:38 PM
Ouch je me suis pas mal arraché les cheveux sur le CPU. dès que j'ai commencé a utiliser des operations arithmetiques (ca se limite a additionner et soustraire. Sur ce genre de CPU pas de multiplication,division...) j'ai eu des problemes.

Deja avec les "carry", un flag du CPU qui s'active ou pas selon les operations et qui a vite fait de mettre le boxon dans tes calcules car il peut tres bien parasiter un calcule 100 cycles plus tard si rien ne l'a modifier entre temps.
Et histoire de compliquer les choses son comportement n'est pas vraiment intuitif notement la soustraction du 6502 est asser particuliere, quand tu fais 10 - 4 par exemple ca te donne pas 6 mais 5 car le CPU fait A - B - 1 + C (carry) donc pour avoir une soustraction juste il faut dabord penser a activer le flags "carry". Donc deja j'ai pas mal galéré la dessus avant de comprendre (y avait la solution d'additionner un nombre negatif mais je voulais quand meme comprendre et puis l'addition nécéssite aussi de faire attention au carry mais dans l'autre sens ce qui est quand meme plus intuitif)

Mais en meme temps que ce probleme j'avais une seconde galere inextricable qui etait par dessus (ce qui n'a pas aidé).
Chaque fois que je testais mon programme ca fonctionnait ou ca bugait au lancement de facon aleatoire (a peu pret a 50%).
Vu le coté aleatoire et apres quelques tests divers (j'etais encore sur mes problemes de carry donc je pensais que c'etait encore lié) j'ai finis par me dire que ca pouvait venir de l'initialisation virtuel de la console (au démarage l'emulateur met des valeurs randoms dans la RAM pour simuler une vrai console et tous les bug que ca pourait générer) mais non ca pouvait pas etre ca car je fais tres peu usage de la RAM pour l'instant puis je me suis rendu compte que les flags d'etat du CPU etaient aussi activés de facon aleatoire au démarage donc tout de suite j'ai pensé au flags carry encore une fois.

Mais non ca pouvait pas etre lui car dès le debut du programme ce genre de flag etait alteré peu importe leur etat initial, pareil pour le flag "negatif", "overflow", "nulle"... puis la je decouvre un flag etrange qui n'existe certainement pas dans des CPU plus moderne (j'ai deja fais un peu d'assembleur x86 y a 20ans) le flag BCD (binaire codé decimal) qui sert a modifier le fonctionnement des instructions d'additions et de soustractions qui passe donc en mode BCD pour simplifier ensuite un possible affichage decimale sur l'ecran (par exemple un score a plusieurs decimal) et ce foutu flag une fois activé il reste tout le temps activé (aucune operation ne peut le modifier) tant que tu le met par sur off avec une instruction dédié.
Donc ce flag s'activait de facon aleatoire au démarrage  :fou:


Tout ca pour dire qu'on peut pas sauter les etapes, en meme temps qu'on apprend a maitriser les specificités hardware de l'Atari2600 il faut aussi en parallele decouvrir et maitriser le fonctionnement du CPU 6502, l'un ne vas pas sans l'autre.
Titre: Re : Re : Hardcore Retrogaming
Posté par: AdamsVibe le Novembre 10, 2013, 03:25:57 PM
Citation de: Hobes le Novembre 09, 2013, 04:41:02 PM
On t'a déjà dit que tu étais un grand malade ? (http://forum-images.hardware.fr/images/perso/5/ronfl4.gif)

Je salue l'initiative, ça doit être passionnant de se replonger là dedans. Surtout que c'est une machine assez ancienne donc il est plus aisée de maîtriser (sans que cela soit facile pour autant) tous les paramètres qui entrent en jeu. Cela dit je ne pense pas que tu puisses réellement te mettre à la place des développeurs de l'époque tant les choses ont changé, non ? Je vois que tu as un utilitaire de debbug très graphique, j'imagine qu'ils ne l'avaient pas autrefois. Idem pour la documentation qui doit être très détaillée. Sans compter que l'accès à celle ci était bien plus difficile vu qu'internet s'est démocratisé.

Par contre je ne vois pas, au premier abord en tout cas, quel effort il aurait fallu pour porter Space Invader sur Atari 2600. Faire un Space Invader c'est assez "simple" dans le fond.

Pas aussi simple quand tu dois gérer un langage de bas niveau comme le langage machine. ( et même pas simple du tout pour beaucoup dans les langage de plus haut niveau )
Mais tu apprend superbement à programme les jeux , ça c'est cool.
Néanmoins la documentation semble assez cool pour l'atari. Si j'ai le temps , je vais me pencher la dessus.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Novembre 10, 2013, 04:48:39 PM
Bon ca y est je commence a avoir un moteur d'affichage qui semble tenir la route apres plusieurs remaniement.

C'est vraiment la qu'est toute la difficulté et la particularité de l'Atari2600 par raport a toutes les autres consoles c'est qu'il faut gérer l'affichage soit meme avec le CPU et donc il te faut un moteur d'affichage suffisament optimisé pour faire une boucle complete en moins d'une scanline (c'est a dire en moins de temps que ne met le canon a electron a parcourir une seul ligne d'ecran)
... en faite pas tout a fait. Heureusement on a le droit a 2 scanlines car si on le fait en une seul scanline ca permet d'avoir effectivement un affichage 160x224 mais c'est une resolution anamorphique (resolution vertical 2x superieur a la resolution horisontal) donc en toute logique on double les lignes pour avoir un affichage 160x112 qui est la resolution correct d'utilisation (et de toute facon en une scanline tu peux pas gerer un affichage classic)

avec 2 scanlines ca commence a etre tenable. Ca veut dire faire tenir ton moteur d'affichage en une cinquantaine d'instructions CPU mais faut quand meme etre meticuleux car y a un certain nombre de branchement conditionnel a tenir pour decider a la prochaine ligne quelle partie du décor tu vas afficher? est ce qu'il faudra afficher le sprite du player1? et quelle sprite (pour la rotation)? et quelle ligne du sprite? ensuite pour le player2 puis pour les 2 missiles. Et aussi charger tous les datas correspondant dans les bons registres du TIA avec la contrainte suplementaire que cette etape ne peut etre faite uniquement pendant le tres court instant de Vblank juste apres la Vsync. Et ca c'est pour un jeu juste "classic" comme Combat.

Une cinquantaine d'instructions ca se comsomme tres vite surtout que la on parle d'instructions tres basique et avec tres peu de registres tampon (juste un registre d'accumulation et 2 registres d'indexations) mais heureusement la RAM a tres peu de penalité comparé a ce qu'on connait aujourd'hui. Ici un acces a la RAM plutot qu'a un registre te coute environ 50% de cycles suplementaire donc la RAM c'est presque comme 128 registres suplementaires (dailleurs meme en quantité j'ai pas l'impression que la RAM puisse etre vraiment un bottlneck).

Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Novembre 10, 2013, 05:58:27 PM
Ca prend forme.
J'ai deja l'affichage du décor + l'affichage des sprites des 2 joueurs bien positionné et la possibilité pour chacun des joueurs de faire tourner son char sur place dans un sens ou dans l'autre (mais on peut pas encore avancer ca sera la prochaine etape avec la gestion des colisions avec le décor)


(http://img849.imageshack.us/img849/4297/97qw.gif)


J'ai l'impression que le plus chiant est passé. Mon moteur d'affichage tourne bien, meme sur une ligne full décor + les 2 sprites des joueurs il me reste encore 30% de temps libre pour la gestion de l'affichage des missiles de chaque joueur. Ca devrait passer.  :p


Titre: Re : Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Novembre 10, 2013, 06:07:09 PM
Citation de: AdamsVibe le Novembre 10, 2013, 03:25:57 PM
Néanmoins la documentation semble assez cool pour l'atari. Si j'ai le temps , je vais me pencher la dessus.

Plus on est de fous plus on rie  :)
Titre: Re : Hardcore Retrogaming
Posté par: Gmooron le Novembre 10, 2013, 09:14:42 PM
Un truc que j'aimerais faire si j'avais le temps  :clciel:
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Novembre 10, 2013, 11:55:38 PM
Bon ca y est je peux piloter mes chars sur la map dans les 16 directions et avec la vitesse d'origine.
Je vais m'arreter la pour ce soir, demain je m'occupe des colisions avec l'arene (faut que je profite de ce jour férié, apres c'est boulot boulot...).
Titre: Re : Hardcore Retrogaming
Posté par: AdamsVibe le Novembre 11, 2013, 12:33:36 AM
Tu donnes envie  :sweaf:

Jvais m'y pencher demain.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Novembre 11, 2013, 02:01:34 PM
Je suis aller a ma cave pour remonter une Atari 2600 PAL et une vielle TV (j'etais plus trop sur d'en avoir) :)
a terme j'aimerais bien un jour pouvoir balancer sur une EEPROM et faire tourner tes programmes directement sur une vrai console  :lick:

J'ai aussi une Atari 2600 NTSC collector, un model de la premiere année de production qui etait en Californie avant de migrer ensuite a Honk Kong.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Novembre 11, 2013, 04:16:30 PM
Je me suis lancé dans la mise en place des collisions, je pensais galéré et en fait c'est passé comme une lettre a la poste, je me suis surpris moi meme d'autant que les collisions (pour l'instant juste avec le décor) sont plus propre que sur l'original ou elle sont asser bisarres (peut etre que l'effet etait voulu mais j'ai un doute car c'est plutot chiant a jouer leur collisions).

Je vous met la derniere version de ma ROM pour ceux qui veulent beta tester (l'emulateur a posséder est linké en debut de ce topic)
http://dl.free.fr/mKsuem7JG
C'est 4Ko les ROMs Atari2600 (et meme seulement 2Ko pour Combat VO) donc ca devrait pas etre trop long a DL :D

pour l'instant j'utilise a peine 750 octets de ROM (sur 4096) et 34 octets de RAM (sur 128)


EDIT: j'ai ajouté la collision entre players, c'etait vite fait
Titre: Re : Hardcore Retrogaming
Posté par: AdamsVibe le Novembre 14, 2013, 12:36:13 PM
Pas mal du tout. J'ai pas eu le temps de m'y pencher correctement.

Demain soit ou ce weekend. Bonne initiative en tout cas.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Novembre 14, 2013, 11:17:08 PM
Je m'y suis remis un peu aujourd'hui.
J'ai ajouté cette fois les tires. on peut maintenant tirer (donc dans les 16 directions du tank), j'ai mis en place la collision des missiles avec le decors (pas entre players), ajuster la frequence de tire et on peut meme encore courber legerement la trajectoire du missile apres avoir tirer pour contourner un peu un mur (facon Wanted le film avec Angelina)
A vrai dire j'ai pas vraiment bosser sur ce dernier point qui a émèrgé tout seul du code mais qui est aussi present dans le jeu orginal. Probablement que j'ai eu la meme aproche au niveau du code que sur l'orignal ce qui a produit le meme effet par defaut, ils ont du décider de le garder apres coup parce que c'etait sympa en terme de gameplay.


Par contre j'ai du bloqué une demi heure ou 3/4 d'heure sur un bug completement con. Je m'etais juste trompé d'instruction sur une ligne. j'avais mis un STA (stock) au lieu d'un LDA (load) qui concerne le registre d'accumulation et qui sont les 2 instructions les plus basiques et les plus utilisés et rien a faire j'arrivais pas a voir mon erreur totalement grossiere.
Pourtant a la fin j'avais cerné grace au debugger ou etait exactement l'erreur et meme en ayant la ligne sous les yeux j'arrivais pas avoir que j'avais confondu STA et LDA.
Et ca c'est typiquement les effets de la programmation en semaine avec le cerveau en compote apres le boulot. Je prend quand meme sensiblement plus de plaisir les jours feriés.  :cry2:
Mais bon je m'eclate quand meme bien la dessus, je regrette pas et j'irais jusqu'au bout  :fou:.




Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Novembre 17, 2013, 04:16:00 PM
J'avance encore un peu

- J'ai modifié un peu mon moteur d'affichage pour exploiter une feature du TIA au travers d'un registre que j'avais pas encore utilisé (VDEL pour Vertical delay) et qui permet d'ameliorer la gestion "tendu" de l'affichage. dans mon cas ca n'a rien changé mais c'etait pour comprendre son fonctionnement

- J'ai ajouté un effet de recule quand on tire qui n'existe pas dans l'original mais qui est sympatique. Je commence a prendre certaine liberté pour modifier certaines choses et ameliorer le jeu selon mes gouts

- J'ai surtout bossé sur l'affichage du score des joueurs dans la partie superieur de l'ecran.
J'ai commencé par un affichage a un seul digit (donc un score qui s'arrete a 9) puis ensuite j'ai voulu passé a 2 digits (de 00 a 99) ce qui a pas mal compliqué les choses mais j'ai finis par m'en sortir. c'est nickel et ca m'a aussi permit de tester les operations arithmetiques en mode DCB (decimal codé binaire) et les differents changement de format que ca impose. C'est surtout pour ca que je voulais 2 digits (pour l'excercice)

- Une fois que j'ai eu l'affichage du score j'ai implementé les collisions entre missiles et chars pour savoir quand on touche l'autre joueur (et donc incrementer le score). Ca c'etait vite torché.


En l'etat j'ai donc maintenant un jeu qui est deja jouable. Manque encore un element important (en plus de toute la partie bruitage) c'est ce que j'appellerais la "redistribution des cartes" quand tu touches l'autre joueur.
Le joueur touché doit etre repoussé ailleurs pour eloigner les 2 joueurs et relancer un peu la bataille entre 2 hits comme dans l'original mais je vais tenter de le faire un peu differement. Mettre le char touché en rotation rapide (comme dans l'original) mais au lieu de le faire reculer d'une distance X (en le faisant traverser les murs si il y a) je voudrais le faire rebondir contre les murs comme un jeu de billard pour qu'il s'eloigne de l'autre joueur.
Ca peut etre un peu compliqué donc j'ai laissé ca pour plus tard

Dailleurs avant cela j'ai des idée d'amelioration et de modification du gameplay.
Notement contrairement a l'original ou tu peux tirer aussi vite que tu veux (dès que ton missile percute un obstacle tu peux retirer aussitot et donc mitrailler, par defaut ma version fonctionnait aussi comme ca). Je veux vraiment penaliser les tires ratés (pour obliger le joueur a reflechir avant de tirer) et donc imposer d'attendre 2 ou 3 secondes entre chaque tire et pour accompagner cela je voudrais afficher une jauge a coté du score qui se vide quand tu tire et t'indique le moment ou tu vas pouvoir retirer a nouveau.
Je pense que c'est mieux surtout sur ce gameplay ou les deplacements du char sont volontairement lent.

Y a aussi un autre element que j'aimerais ajouter plus tard. Un objet bonus qui aparaitrait aleatoirement et qui te donnerais un boost vitesse x2 pendant quelques temps (la vitesse de deplacement etant l'element strategique du jeu)



Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Novembre 17, 2013, 04:41:23 PM
J'ai oublié de mettre une petite image pour illustrer ou j'en suis et avec les filtres CRT et signal composite de Stella dont j'adore le rendu :D (et encore a l'epoque le signal etait encore plus pouri que du composite, c'etait du RF)

(http://imageshack.us/a/img59/3976/53f6.jpg)



sans le filtre vintage

(http://imageshack.us/a/img189/3605/0tb2.jpg)





Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Novembre 17, 2013, 06:12:49 PM
Cool j'ai deja ajouté la jauge et ca marche!
Maintenant quand on tire y a une jauge qui apparait et faut attendre qu'elle se vide pour pouvoir tirer a nouveau (faut attendre 200 frames soit 3.33 secondes)

Et j'ai oublié de préciser mais bien sur c'est un jeu 60fps :cool2: (mais ca ne peut se constater que sur le deplacement des obus  :vice: )
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Novembre 17, 2013, 09:01:51 PM
J'ai rectifié un dernier petit bug de collision entre joueurs, maintenant mes collisions sont vraiment solide sans bug (en tout cas j'arrive pas a les faires bugger) et plus propre que dans l'original ou y avait une sorte de rebond désagreable, je suis contant.

la derniere version de ma ROM Combat2013 V0.5
http://dl.free.fr/paHbYYlEX

Prochaine etape soit je m'occupe de l'objet bonus qui boost la vitesse des tanks soit de l'animation "redistribution des cartes" quand on se fait toucher, J'hesite mais pour aujourd'hui c'est finit de toute facon.





EDIT:
Pour l'instant au niveau RAM je suis a 60 octets d'occupation (sur 128)
et niveau ROM je suis a 1260 (sur 4096)

Ce qui est marrant aussi c'est que j'utilise quasiment jamais d'operation arithmetiques
En tout et pour tout j'utilise seulement 6 additions pour l'instant dans tout le programme.
Tout le reste c'est de la comparaison, de l'incrementation, du decalage de bit, de la rotation de bit, du AND, du OR, du XOR, du branchement. C'est la que tu vois que t'es en assembleur.
Titre: Re : Hardcore Retrogaming
Posté par: Hobes le Novembre 18, 2013, 07:42:48 AM
J'avais le jeu sur une vieille console et en appuyant sur une touche je pouvais changer les couleurs à la volée en appuyant sur un bouton. Je ne sais pas si c'est possible mais défi :D
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Novembre 18, 2013, 02:40:23 PM
Tu veux dire que tu as un souvenir de ce jeu sur Atari2600?

Y a effectivement des boutons sur la console , y a notement un bouton "game select" pour choisir different mode de jeu quand il y en a donc je pense que tu fais peut etre reference a ca. Sur combat y a plusieurs mode de jeu et selon le mode de jeu les couleurs sont differentes donc quand on manipule ce bouton ca change effectivement les couleurs.

Sinon oui changer les couleurs du jeu c'est possible sans difficulté. y a quand meme une palette de 128 couleurs sur Atari2600 (plus que sur NES) mais en usage classic c'est seulement 4 couleurs affichable simultanement (tout du moins sur la meme scanline).
Titre: Re : Hardcore Retrogaming
Posté par: Hobes le Novembre 18, 2013, 02:58:01 PM
Citation de: upsilandre le Novembre 18, 2013, 02:40:23 PM
Tu veux dire que tu as un souvenir de ce jeu sur Atari2600?

En fait je ne l'avais pas sur Atari 2600 mais sur Interton VC4000 :
http://www.hautbasgauchedroite.fr/forums/index.php/topic,43.msg79772.html#msg79772

Mais j'imagine que le jeu était le même. Quand on appuyait sur un bouton ça changeait les couleurs et la position des murs. J'avais l'impression de jouer à un autre jeu :crazy:
Titre: Re : Hardcore Retrogaming
Posté par: Shin le Novembre 18, 2013, 03:06:28 PM
Remplace le score par des barres de vie et fais apparaître des items pour recharger sa barre :cool:

Ensuite rajoute munitions limités à récupérer sur le champs de bataille.

Shin (game designer)
Titre: Re : Hardcore Retrogaming
Posté par: Hobes le Novembre 18, 2013, 03:21:27 PM
Il cherche a reproduire le jeu original, pas en inventer un nouveau.
Titre: Re : Hardcore Retrogaming
Posté par: Shin le Novembre 18, 2013, 04:18:38 PM
Ça j'ai compris, mais il a quasiment atteint le but, et il recherche des idées pour améliorer et se trouver un challenge. Ce qu'il a fait pour les collisions par exemple...

Donc partir sur de nouvelles idées l'intéresse peut être.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Novembre 18, 2013, 09:40:41 PM
Oui c'est vrai que j'aime bien l'idée d'ameliorer un peu, c'est ca aussi qui est interressant c'est que meme sur les jeux les plus minimalistes tu peux avoir une reflexion de gamedesign.
La barre de vie c'est une sorte de score inversé (plutot que d'atteindre un score X pour gagner, on part d'un score X et c'est celui qui atteind zero qui a perdu) je pourais le faire mais ca ne devrait pas changer grand chose du coup comme dit Hobes je préfere quand meme rester un minimum fidele a l'original (c'est Combat2013  :fou: ) et l'excercice etait aussi de representer un score a 2 digits qui etait une difficulté en soit, a voir...

Les items c'est chaud, aujourd'hui j'ai tenté d'ajouter mon item boost mais manque de bol le fait d'ajouter ca a mon moteur d'affichage en plus des 2 players, 2 obus et le playfield, ca a suffit a faire depasser le temps d'execution au dela des 2 scanlines de budget que j'ai. Du coup j'ai du remanier mon moteur d'affichage pour gagner quelques cycles CPU et faire a nouveau entrer tout ca dans mes 2 scanlines.

Maintenant c'est bon ca marche je peux afficher un item mais du coup j'ai pas avancé. De plus cette item je peux lui donner une seul forme (celle d'un petit carré de la meme couleur que le playfield) donc je peux meme pas l'utiliser pour representer d'autres items aleatoire car on ne pourait pas les distinguer donc faut choisir et booster la vitesse du tank c'est pas mal vu le contexte du jeu.

Faut de toute facon rester raisonnable, ca fera deja suffisement de petites ameliorations, je vais pas rester dessus trop longtemps et les limites de la machines sont bien plus contraignante qu'on ne l'imagine en regardant les jeux (bourés de tricks).

Titre: Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Novembre 18, 2013, 09:48:35 PM
Citation de: Hobes le Novembre 18, 2013, 02:58:01 PM
En fait je ne l'avais pas sur Atari 2600 mais sur Interton VC4000 :
http://www.hautbasgauchedroite.fr/forums/index.php/topic,43.msg79772.html#msg79772

Mais j'imagine que le jeu était le même. Quand on appuyait sur un bouton ça changeait les couleurs et la position des murs. J'avais l'impression de jouer à un autre jeu :crazy:

Oui c'est vrai t'as raison, c'est pas le meme jeu mais on voit clairement qu'ils ont tenté de faire une bete copie de Combat qui etait le jeu qui a lancer l'Atari2600, devait pas y avoir grand chose d'autre a copier a cette epoque. T'as peut etre meme trouver le premier plagia du jeu video (quoiqu'il y a eu le pong et le ping pong de l'Odyssey mais j'ai du mal a considerer l'Odyssey comme du jeu video contrairement au Pong)
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Novembre 18, 2013, 10:06:10 PM
Par contre a la fin il me faudra un beta testeur pour tester au moins une fois quand meme :) (mais faut etre 2 pour y jouer c'est ca qui est chiant, j'ai pas encore implementer de mode online :D )
Donc vous pouvez deja commencer a DL l'emulateur  :o http://stella.sourceforge.net/downloads.php
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Novembre 19, 2013, 05:41:47 PM
Aujourd'hui je repensais a Joust un autre jeu culte de l'Atari2600 fin de periode que j'avais adoré et je me demandais comment ils avaient fait pour animer tous ces sprites animés independants, Jusqu'a 6 a l'ecran.
Alors on comprend vite qu'ils s'arrangent pour qu'il n'y en ai jamais plus de 4 par scanline mais meme 4 sprites totalement independants (pas comme les aliens de Space invaders) sur la meme scanline c'est impossible!

En fait j'avais pensé a la possibilité de decharger ton moteur d'affichage non pas seulement sur 2 scanlines comme on le fait classiquement mais aussi sur 2 frames (une frame t'affiche la moitié des sprites et l'autre frame les autres) mais j'avais pas le souvenirs d'un effet de flickering sur les sprites du jeu et sur l'emulateur aucun flickering visible... jusqu'a ce que je pense a deplacer l'emulateur sur mon plasma et la oui j'ai pu voir le flickering original sur les sprites  :D (une frame sert pour afficher les 2 sprites du joueurs et l'autres frames pour les 2 sprites ennemies) et effectivement en le voyant ca m'a rappelé des souvenirs.

Donc pour une experience plus authentique ca sera donc filtre composite + plasma  :cool:
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Novembre 21, 2013, 08:58:17 PM
J'ai terminé la mise en place du bonus "boost"  :crazy:
C'est donc un item (juste un carré qui clignote) qui au bout d'un certain temps de jeu apparait de facon aleatoire dans l'un des 4 coins de la map ou au centre. Si un joueur le prend alors le tank du joueur se met lui meme a clignoter pendant un certain temps et obtient un boost de vitesse de deplacement et de rotation tres utile. Ensuite ca s'arrete puis plus tard un autre boost apparait sur la map aleatoirement ect...
Ca marche parfaitement bien :)

Et pour la symbolique je viens tout juste d'atteindre les 50% d'occupation de la RAM. 64 octets sur 128. a titre de comparaison une PS4 c'est environ 9 milliards d'octets de RAM

L'aire de rien je me rend compte que la majorité de mon temps je le passe a optimiser mon code, je pourais souvent choisir la facilité et faire mon code tel qu'il me vient au premier jet mais je ne peux pas m'empecher de chercher chaque fois la meilleur solution en terme d'occupation ROM ou RAM (parfois aussi le temps d'execution mais en dehors du moteur graphique le temps d'execution n'est pas un probleme, je dois prendre a peine 10% du temps CPU or phase d'affichage ou la t'es a +95%) alors qu'en vrai j'en ai pas besoin j'ai largement asser de place en ROM ou en RAM  pour le finir sans faire aucun effort d'optimisation mais c'est aussi ce qui donne du sens a l'excercice.




Titre: Re : Hardcore Retrogaming
Posté par: AdamsVibe le Novembre 22, 2013, 10:56:35 AM
tout simplement excellent.

C'est vraiment interressant et tout de suite, tu te rends compte de la préoccupation de l'époque : optimisation .
J'ai vite fait commencé à coder. Je te demanderai certainement des conseils pour certaine chose.

Rien de bien compliqué, il faut juste procéder par petite étape :D.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Novembre 22, 2013, 01:57:41 PM
ouai faut y aller tranquille et de toute facon on a pas forcement du temps a y consacrer
Ce que j'aime beaucoup dans ce cas particulier de l'Atari2600 c'est qu'on est au comble du minimalisme et donc y a cette sensation agreable de pouvoir vraiment en faire le tour pour une fois.
Y a meme pas besoin de savoir faire du graphisme ou de la musique et meme programmer y a pas besoin de savoir tu peux apprendre sur le tas et te confronter directement aux particularités du systeme.

Pour la NES on passe deja a une forme professionnel du jeux video, vaut mieux deja avoir une experience dans le devellopement de jeux video et avoir du soutient (graphisme, musique)
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Novembre 24, 2013, 04:43:23 PM
J'ai ajouté le dernier element de gameplay, la sequence qui s'enclenche lorsque un tank est touché par un tire adverse. J'ai finallement reprit le choix fait sur l'original qui est le plus judicieux.
Le tank touché se met a tourner sur lui meme et est expulsé sur une certaine distance dans la direction de l'impacte.
Pendant cette sequence les collisions sont désactivées (ainsi que les inputs des 2 joueurs) pour que le tank touché passe au travers des murs le bute etant d'eloigner les 2 joueurs pour "redistribuer les cartes" apres un tire victorieux et ne pas pouvoir enchainer immediatement un autre kill.
Il a fallut aussi gérer le "out of bounds" quand le tank touché est expulsé en dehors de l'ecran/zone de jeu pour qu'il réaparaisse de l'autre coté. La transition est nickel et aucun bug a priori. Je suis satisfait du resultat, tout est tres propres.

Je vous met la ROM de cette dernier version qui du point de vue du gameplay est terminé (mais y a pas encore les bruitages) donc si quelqu'un veut beta testé et chercher si y a des bugs...
http://www.petit-fichier.fr/2013/11/24/combat2013v07-1/


J'ai aussi optimisé encore un peu mon moteur d'affichage car finallement c'etait encore possible (notement en exploitant le registre de stacking comme buffer temporaire) et ainsi pour pouvoir ajouter une option de selection d'autres arenes de jeux personnels (pour l'excercice et pour utiliser le bouton "game select" comme dans l'original)


Titre: Re : Hardcore Retrogaming
Posté par: Hobes le Novembre 24, 2013, 05:01:34 PM
Ca marche plutôt bien. J'ai tenté de me mettre le long d'un mur et tirer (et espérant me planter dans le décor avec le recul) mais c'était prévu. Bon en solo c'est vite limité. Te reste à gérer une IA :ninja:
Titre: Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Novembre 24, 2013, 06:01:15 PM
Citation de: Hobes le Novembre 24, 2013, 05:01:34 PM
Ca marche plutôt bien. J'ai tenté de me mettre le long d'un mur et tirer (et espérant me planter dans le décor avec le recul) mais c'était prévu.

Effectivement c'etait prevu :)  (par contre entre temps j'ai ajusté un autre petit truc, quand on se fait touché alors qu'on avait le boost maintenant on le perd aussitot ce qui n'etait pas le cas)


CitationBon en solo c'est vite limité. Te reste à gérer une IA :ninja:
Pourquoi pas mais ca me parait compliqué :vice:, c'est pas pour rien que le jeu video est né par le versus. On a tendance a l'oublier mais au depart le jeu video c'etait principalement du versus car c'etait la facon la plus simple d'avoir une couche d'interaction complexe sur des machines minimalistes.

De toute facon apres Combat je dois m'occuper de SpaceInvaders, au moins celui la on poura y jouer tout seul.


Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Novembre 24, 2013, 07:50:56 PM
J'ai ajouté une seconde arène pour le principe. On switch d'une arène a l'autre avec le bouton "game select" de la console (F1 sur l'emulateur). Ca sert aussi de reset.
http://www.petit-fichier.fr/2013/11/24/combat2013v08/

Bon maintenant j'y touche plus. j'y suis presque  :lick:
Me reste plus qu'a faire les bruitages. C'est pas ce qui me passionne le plus mais j'ai pas du tout touché a cette aspect donc faut s'y mettre. ca va demander pas mal de test, ca sera pour la semaine a venir.

j'ai calculé qu'il me reste 275 octets pour faire les bruitages si je veux faire tenir mon jeu sur une cartouche 2Ko (comme l'original) au lieu des 4Ko auquel on a acces par defaut (qui est la cartouche typique sur Atari2600). Pourquoi pas, ca devrait etre faisable.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Novembre 26, 2013, 09:08:54 PM
Ca y est je me suis occupé de la partie audio!

L'audio sur Atari2600 est comme le reste, minimaliste et asser simple a utiliser.
C'est pris en charge par le processeur video comme souvent dans les consoles.
Ici y a pas 256 ou 512 voix mais 2... et y a pas a hesiter entre du son 16bit ou 24bit, c'est du son 1bit.
Une frequence de 31,4khz (le TIA envoie 2 bits d'audio a chaque scanline) qu'on peut reduire par l'intermediaire d'un registre qui fait diviseur de frequence (de 1 a 32), un autre registre pour gerer le volume de chaque voix (0 a 16) et un 3eme pour selectionner une pattern du generateur de son.

Y a un generateur de son tres simple qui a l'aide d'un simple registre interne (et une simple combinaison de decalage de bit + un XOR entre 2bits du registre qui est répété indefiniment) va produire en output une sequence de bits qui peut aller jusqu'a une chaine unique de 500bits avant de revenir a sont etat initial et donc repeter la sequence.
Ce generateur peut donc générer une dizaine de sons differents (certain pure d'autre plus complexe notement les 3 qui sont composé d'une sequence de 400/500 bits).
Voila donc c'est asser simple, 2 Voix et 3 registres par voix soit seulement 6 registres pour gerer l'audio.

Le premier truc que j'ai fais c'est deja de coder un petit programme pour ecouter et selectionner un par un les differents sons du générateur et faire varier les frequences a la demande (et afficher le code binaire des registres pour savoir a quoi correspond chaque son) pour avoir un apercu de ce qui etait disponible et faire un choix sinon t'es a l'aveugle.
C'etait amusant a utiliser la premiere fois car en ecoutant les sons tout de suite tu visualises les jeux auquels correspondent certains sons du generateur bien identifiable. J'ai tout de suite reconnu "Pole Position" ou "Defender" mais aussi le bruit du moteur des tanks de "Combat" ce qui tombait bien.

Par contre pour le son des tires du tank je savais pas trop vers quoi me diriger et truc de dingue je fais un essai avec l'un des son que j'ai activé 16 frames en decrementant le volume a chaque frame et au miracle je retrouve pile poile le meme bruitage de tire que dans l'original, dingue!

Par rapport a l'orginal j'ai ajouté une 3eme variante du bruitage du moteur (a l'arret, en deplacement et en boost) et j'ai ajouté aussi un bruitage quand le tire touche un mur (en plus de celui quand on touche l'adversaire)
Je verrais si j'ajoute aussi un bruitage quand on chope l'item.
Plutot que d'utiliser une voix pour chaque joueur j'ai utilisé une voix pour les bruits de moteur et une voix pour les bruits de tires/collisions. au niveau de la superposition des sons c'etait plus interressant je trouve.



Tout ca m'a couté moins de 100 octets du coup il me reste encore pas mal de place meme quand je me bride a une cartouche 2ko donc je vais ajouter encore 2 autres arènes pour remplir ma cartouche 2Ko (ca fera un choix de 4 arènes) et faire quelques modifs de derniere seconde avec les quelques octets qui restera (je vais pas laisser plus de 10 octets vide sur la cartouche, on est sur atari2600 bordel!)

et je suis toujours a 50% de RAM (64 octets) malgres la mise en place de la sequence de kill et de l'audio car j'ai fais quelques optimisations qui ont compensé.
Je vous mettrais la ROM final quand j'aurais terminé demain ou apres demain.

Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Novembre 27, 2013, 08:53:15 PM
Mon combat2013 est Gold.
la ROM 1.0 qui cette fois est une vrai ROM de 2Ko (et toujours seulement 64 octets de RAM)
http://www.petit-fichier.fr/2013/11/27/combat2013v1-0/

l'emulateur
http://stella.sourceforge.net/downloads.php


j'ai encore reussis a optimiser du coup j'ai pas ajouté 2 arènes mais 4 pour un total de 6 (touche F1 pour changer d'arène) et il reste seulement 6 octets libres sur la cartouche!
Y a encore une tres grosse optimisation que je pourais faire mais qui necessiterait de revoir quasiment tout le code. Peut etre dans une V1.1 si j'ai le courage de relever le defie, c'est tentant.


Apres ca j'hesite entre refaire un Space Invader, un PacMan ou un Pole Position. Ils ont apriori chacun leur tricks auquels il peut etre interressant de se confronter, c'est clairement autre chose que Combat.
Je pense  que je vais rester sur ma premiere idée de Space Invader car y a un vrai defie au niveau du moteur d'affichage qui est la partie la plus chiante car CPU bound.
Mais avant je ferais une pause en allant lire un peu ce que font les autres car pour l'instant je suis rester en vase clos avec comme seul source le document technique qui integre toutes les informations mais y a des forums ou y a sans doute des temoignages qui peuvent etre interressant et donner des idées. Maintenant que j'ai un bagage Atari2600 ca sera sans doute plus interressant a lire.

Apres j'aimerais bien peut etre tenter de faire un bomber man, je vois pas comment ca sera possible mais ca peut etre interressant d'au moins se poser la question jusqu'a ou on peut reduire et minimaliser le concept de Bomberman qui est deja un concept epuré mais je pense que j'irais faire un tour sur NES avant ca car ca sera dure d'attendre aussi longtemps. Le meilleur moment c'est quand meme la premiere semaine de decouverte d'une machine ou t'apprend plein de truc avec son lot de révélation.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Novembre 28, 2013, 09:32:31 PM
Finallement j'ai pas pu resister a faire la derniere grosse optimisation que je voulais faire car ne pas la faire c'etait comme si toutes les autres optimisations que j'ai fais ne servait a rien
Je pensais que ca serait une grosse galere mais finallement ca c'est bien passé et j'ai pas economisé 5 octets, ni 20, ni meme 100 mais 323 octets!! (16% de la cartouche)

Du coup si je trouve encore 7 octets a economiser je vais pouvoir ajouter pas une ou deux map mais 7 de plus! (pour un total de 13 donc je fais plus que doubler les maps/arènes) ca sera la "GOTY edition" de Combat2013 avec tous les DLC inclus :cool:

Le code du jeu tiens presque dans 1Ko maintenant, le reste c'est pour les datas (ce qui me laisse quand meme penser qu'un minimum de 2Ko est bien la limite inferieur necessaire pour faire un jeu. Dailleurs sur la toute premiere console, la Fairchild, les cartouches faisaient aussi 2Ko)
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Novembre 30, 2013, 06:41:23 PM
Cette fois j'ai bouclé definitivement mon premier jeu Atari2600 que j'ai renomé Tank2600 pour cette version 1.1   :o 

Comme j'avais dis precedement j'ai ajouté des maps pour remplir tout l'espace ROM que j'avais liberé mais malheureusement pas possible d'en mettre 13 pour une raison d'indexation limité a 8bit dans mon moteur d'affichage (et pas possible d'ajouter des instructions dans ce moteur, le CPU est deja a 100% d'occupation) donc j'ai du me contenter de 10 Maps (ce qui est deja tres bien de toute facon).

Du coup il me restait encore 129 octets donc gros dileme car pour avoir le gout du travail achevé fallait que je trouve des trucs a ajouter. Je peux pas laisser autant d'espace inutilisé donc je me suis remis un petit peu au boulot. J'ai hesité entre ajouter des bruitages ou un ecran titre, j'ai choisie l'ecran titre.

Donc j'ai ajouté un petit ecran titre avec le nom du jeu (Tank 2600) et un petit effet de couleur bien kitch mais je voyais bien que ca m'avait demandé pas mal d'instructions et datas donc je commencais a douter.
Et la oh miracle apres avoir testé que ca fonctionne bien je verifie combien ca prend de place et ca tombait pile poile a 2 octets pret. Ca depassait de 2 octets que j'ai pas eu trop de mal a recuperer ailleurs (2 octets c'est grossomodo juste une instruction a enlever quelque part)
Et voila j'ai une ROM 2ko full a 100% et un jeu relativement complet maintenant. Je peux passer a autre chose avec le sentiment du travail accomplie.

Un dernier truc interressant a constater. Le ratio Code/Data est de l'ordre de 60% code et 40% data. C'est moins que j'imaginais (en me limitant a 2Ko je pensais plutot me retrouver avec 80 a 90% de code) mais c'est bien sure infiniment plus que sur les jeux d'aujourd'hui qui sont constitués essentiellement de datas



Voila donc la version final v1.1
http://www.petit-fichier.fr/2013/11/30/tank2600/


Les 10 Arènes du jeu

(http://img34.imageshack.us/img34/6248/frgb.jpg)

Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Novembre 30, 2013, 06:41:53 PM
...et le code source (qui entrait pas dans l'autre post)
Spoiler

Citation
   
    processor 6502
    include vcs2600.h
    org $F000


           
VTankP0 = $80
VTankP1 = $81
RotP0 = $82
RotP1 = $83
WaitRotP0 = $84
WaitRotP1 = $85
CurPF0 = $86
CurPF1 = $87
CurPF2 = $88
VBoost = $89
JaugeP0 = $8A
JaugeP1 = $8B
CurSpriteP0 = $8C
CurSpriteP1 = $94
WaitDepP0 = $9C
WaitDepP1 = $9D
OldVTankP0 = $9E
OldVTankP1 = $9F
STHMP0 = $A0
STHMP1 = $A1
VMissP0 = $A2
VMissP1 = $A3
ScoreP0 = $A4
ScoreP1 = $A5
AudioFire = $A6
WaitFireP0 = $A7
WaitFireP1 = $A8
PFScoreP0 = $A9
PFScoreP1 = $AE
Digit1P0 = $B3
Digit2P0 = $B4
Digit1P1 = $B5
Digit2P1 = $B6
DigiTemp = $B7
CurVBoost = $B8
WaitBoost = $B9
HighFreq = $BA
BoostP0 = $BB
BoostP1 = $BC
StrikeP0 = $BD
StrikeP1 = $BE

PFSelect = $F0
TitleScreen = $F1


;***********************intitalisation**************************   


Start
    LDA #0
    STA PFSelect
    STA TitleScreen

Reset
    CLD
    LDX #$EF
    TXS
    LDA #0

EraseRAM
    STA 0,X
    DEX
    BNE EraseRAM

    STA WSYNC
    LDX #4
InitHP0   
   DEX
    BNE InitHP0
    STA RESP0
    LDA #32
    STA HMP0

    STA WSYNC
    LDX #13
InitHP1   
   DEX
    BNE InitHP1
    STA RESP1
    LDA #255
    STA HMP1

    STA COLUBK
    STA CurVBoost

HoldSelect
    LDA SWCHB
    AND #%00000010
    BEQ HoldSelect

    LDA #1
    STA VDELP0

    LDA #4
    STA RotP0

    LDA #12
    STA RotP1

    LDA #10
    STA WaitBoost

    LDA #242
    STA COLUPF

    LDA #44
    STA VTankP0   
    STA VTankP1   
    STA OldVTankP0
    STA OldVTankP1

    LDA #2
    STA WaitRotP0
    STA WaitRotP1
    STA WaitDepP0
    STA WaitDepP1     
   STA WaitFireP0     
   STA WaitFireP1     
   STA RESMP0
    STA RESMP1
    STA AUDC0 


;*******************************Vsync****************************


Frame
    LDA #2
    STA VSYNC   
   STA WSYNC
    STA WSYNC
    STA WSYNC
    LDA #0
    STA VSYNC
    LDX #39
    STX TIM64T   


;******************************Ecran Titre***************************


    LDA TitleScreen
    BNE InGame

    STA COLUBK
    STA CTRLPF
    LDY #17
    LDA #150
    STA TIM64T

TitleBlanking   
   LDA INTIM
    BNE TitleBlanking
    STA VBLANK

StartTitle
    STA WSYNC   
    STA COLUPF
    TYA
    LSR
    TAX           
    LDA TitlePF0Gauche,X
    STA PF0
    LDA TitlePF1Gauche,X
    STA PF1
    LDA TitlePF2Gauche,X
    STA PF2       
   LDA TitlePF0Droite,X
    STA PF0
    LDA TitlePF1Droite,X
    STA PF1
    LDA TitlePF2Droite,X
    STA PF2 
    TYA
    ADC HighFreq
    DEY
    BPL StartTitle

    DEC HighFreq
    BNE TitleON

    INC TitleScreen   
    JMP Reset

TitleON
    LDX #137
    JMP TitleOverscan


InGame


;********************************Audio*******************************


;*****Audio Engine*****


    LDA #8
    STA AUDV0
    STA AUDC1
    LDX #16
    LDA SWCHA
    AND #16
    BNE Audio1

    LDA BoostP0
    BNE Audio2

    LDX #8

Audio1
    LDA SWCHA
    AND #1
    BNE AudioF0

    LDA BoostP1
    BNE Audio2

    LDX #8
    JMP AudioF0

Audio2
    LDX #6

AudioF0
    STX AUDF0


;*****Audio Fire*****


    LDX AudioFire
    BEQ NoAudioFire

    DEX
    STX AudioFire

NoAudioFire
    STX AUDV1   
 

;******************************Collisions*******************************


    LDX #1


;*****Player-player/playfield*****


StartCollision
    LDA StrikeP0,X
    BNE NoCXP0BL

    LDA CXPPMM
    BMI GoCXP0P1       

    LDA CXP0FB,X
    BPL NoCXP0PF

GoCXP0P1
    LDA OldVTankP0,X
    STA VTankP0,X
    LDA STHMP0,X
    LSR
   LSR
    LSR
    LSR
    TAY
    DEY
    TYA
    EOR #255
    ASL     
    ASL
    ASL
    ASL
    STA HMP0,X
    LDA #0
    STA STHMP0,X


;*****Missile-Playfield*****


NoCXP0PF
    LDA CXM0FB,X
    BPL NoCXM0PF

    LDA #2
    STA RESMP0,X
    LDA #0
    STA VMissP0,X
    LDA #4
    STA AUDF1
    LDA #8
    STA AudioFire


;*****Missile-Player*****


NoCXM0PF
    LDA CXM0P,X
    BPL NoCXM0P1

    LDA #2
    STA RESMP0,X
    LDA #0
    STA VMissP0,X
    TXA
    EOR #%00000001   
    TAY
    LDA #0
    STA BoostP0,Y
    LDA ScoreP0,X
    SED
    CLC
    ADC #1   
    STA ScoreP0,X 
    CLD
    TXA
    EOR #%00000001   
    TAY
    LDA #20
    STA StrikeP0,Y   
    LDA #8
    STA AUDF1   
   LDA #16
    STA AudioFire

NoCXM0P1


;*****Boost-Player0*****


    LDA CXP0FB,X
    AND #%01000000
    BEQ NoCXP0BL

    LDA #0
    STA HighFreq
    LDA #15
    STA WaitBoost
    LDA #255
    STA CurVBoost     
   LDA #3
    STA BoostP0,X

NoCXP0BL


;*****Collision Player2*****

    DEX
    BMI EndCollision

    JMP StartCollision

EndCollision


;*********************input Select Playfield******************


    LDA SWCHB
    AND #%00000010
    BNE NoPFSwitch

    LDA PFSelect
    CLC
    ADC #24
    CMP #240
    BNE GoSwitch

    LDA #0

GoSwitch
    STA PFSelect
    JMP Reset

NoPFSwitch


;***********************input Player***********************


    LDX #1


;*****Strike phase*****


StartInputs
    LDA StrikeP0,X
    BEQ NoStrikeP0

    CMP #1
    BNE MainStrikeP0

    LDA CXPPMM
    ORA CXP0FB,X
    BPL StopStrikeP0

    INC StrikeP0,X
    JMP MainStrikeP0

StopStrikeP0       
    DEC StrikeP0,X
    JMP NoStrikeP0   

MainStrikeP0
    DEC StrikeP0,X
    INC RotP0,X
    TXA
    EOR #%00000001   
    TAY
    LDA RotP0,Y
   ASL
    TAY
    LDA VTankP0,X
    STA OldVTankP0,X
    CLC
    ADC CoefDeplacement,Y
    CMP #95
    BMI NoTOPOOBP0

   LDA #250

NoTOPOOBP0   
    CMP #250
    BPL NoBOTOOBP0

    LDA #95

NoBOTOOBP0
    STA VTankP0,X
    INY
    LDA CoefDeplacement,Y
    STA HMP0,X
    STA STHMP0,X
    JMP SpriteSelectP0

NoStrikeP0


;*****Deplacement*****


DeplacementP0

    LDA VTankP0,X
    STA OldVTankP0,X
    LDA #0
    STA STHMP0,X   
   DEC WaitDepP0,X
    BNE EndepP0

    LDA SWCHA
    TXS
    TSX
    BNE AvantP1

    AND #16
    BNE ZeroWaitDepP0
    JMP AvantP0

AvantP1
    AND #1
    BNE ZeroWaitDepP0

AvantP0
    LDA RotP0,X
   ASL
    TAY
    LDA VTankP0,X
    CLC
    ADC CoefDeplacement,Y
    STA VTankP0,X
    INY
    LDA CoefDeplacement,Y
    STA HMP0,X
    STA STHMP0,X
    LDA BoostP0,X
    BEQ NoBoostDepP0

    LDA #8
    STA WaitDepP0,X
    JMP EndepP0   

NoBoostDepP0
    LDA #16
    STA WaitDepP0,X
    JMP EndepP0

ZeroWaitDepP0
    INC WaitDepP0,X

EndepP0


;*****Fire*****


    LDA VMissP0,X
    BNE FireP0

    DEC WaitFireP0,X
    BNE NoFireP0

    LDA INPT4,X
    BMI ZeroWaitFireP0

ReculeP0
    LDA RotP0,X
   EOR #%00001000
    ASL
    TAY
    LDA VTankP0,X
    STA OldVTankP0,X
    CLC
    ADC CoefDeplacement,Y
    STA VTankP0,X
    INY
    LDA CoefDeplacement,Y
    STA HMP0,X
    STA STHMP0,X

initFireP0
    LDA #0
    STA RESMP0,X
    LDA #200
    STA WaitFireP0,X
    LDA #16
    STA AUDF1
    LDA #16
    STA AudioFire
    LDY OldVTankP0,X
    INY
    INY
    INY
    INY
    STY VMissP0,X

FireP0               
   DEC WaitFireP0,X
    LDA RotP0,X
   ASL
    TAY
    LDA VMissP0,X
    CLC
    ADC CoefDeplacement,Y
    STA VMissP0,X
    INY
    LDA CoefDeplacement,Y
    STA HMM0,X
    JMP NoFireP0

ZeroWaitFireP0
    INC WaitFireP0,X


NoFireP0     


;*****Rotation*****


InputRotP0
    DEC WaitRotP0,X
    BNE EndRotP0

gaucheP0
    LDA SWCHA
    TXS
    TSX
    BNE GinputP1

    AND #64
    BNE droiteP0
    JMP GinputP0

GinputP1
    AND #4
    BNE droiteP0

GinputP0
    INC RotP0,X
    JMP InitWaitRotP0

droiteP0
    LDA SWCHA
    TXS
    TSX
    BNE DinputP1

    AND #128
    BNE ZeroWaitRotP0
    JMP DinputP0

DinputP1
    AND #8
    BNE ZeroWaitRotP0

DinputP0
    DEC RotP0,X

InitWaitRotP0
    LDA BoostP0,X
    BEQ NoBoostRotP0

    LDA #8
    STA WaitRotP0,X
    JMP EndRotP0

NoBoostRotP0
    LDA #16
    STA WaitRotP0,X

EndRotP0


;*****Load Sprite*****


SpriteSelectP0
    LDA RotP0,X
    AND #15
   STA RotP0,X
    ASL
    ASL
    ASL
    TAY

    TXS
    TSX
    BNE SpriteP1

    LDX #7
LoadSpriteP0
    LDA TankSprites,Y
    STA CurSpriteP0,X   
    INY
   DEX
    BPL LoadSpriteP0   

   TSX
    JMP EndLoadSpriteP0   

SpriteP1
    LDX #7
LoadSpriteP1
    LDA TankSprites,Y
    STA CurSpriteP1,X   
    INY
   DEX
    BPL LoadSpriteP1   

   TSX
    JMP EndLoadSpriteP0

ZeroWaitRotP0
    INC WaitRotP0,X

EndLoadSpriteP0


;*****Input Player 2*****


    DEX
    BMI EndInputs

    JMP StartInputs

EndInputs   


;*************************Bonus Boost***************************


    LDA CXBLPF
    BMI BoostCollision

    LDA CurVBoost
    BPL BoostFlick

    LDA HighFreq
    BNE BoostFlick

    DEC WaitBoost
    BNE BoostFlick

   
;*****Random Select*****


BoostCollision
    LDA VTankP0
    CLC
    ADC VTankP1
    AND #%00001111
    TAX
    LDA BoostIndex,X
    TAX
    LDA BoostCoord,X
    TAY
    STA WSYNC
InitHBoost
    DEY
    BPL InitHBoost
    STA RESBL
    INX
    LDA BoostCoord,X
    STA HMBL
    INX
    LDA BoostCoord,X
    STA CurVBoost


;*****Boost Flickering*****


BoostFlick
    LDA HighFreq
    AND #%00001000
    BNE BoostON

    LDA #255
    STA VBoost
    JMP BoostOFF

BoostON
    LDA CurVBoost
    STA VBoost

BoostOFF
    DEC HighFreq


;*****Player0 Flickering*****


    LDA BoostP0
    BEQ NoBoostP0

    LDA HighFreq
    BNE FlickP0

    DEC BoostP0
     
FlickP0
    AND #%00000100       
    BNE NoBoostP0

    LDA #56
    STA COLUP0   
    JMP EndBoostP0

NoBoostP0
    LDA #68
    STA COLUP0   

EndBoostP0


;*****Player1 Flickering*****


    LDA BoostP1
    BEQ NoBoostP1

    LDA HighFreq
    BNE FlickP1

    DEC BoostP1
     
FlickP1
    AND #%00000100       
    BNE NoBoostP1

    LDA #140
    STA COLUP1   
    JMP EndBoostP1

NoBoostP1
    LDA #134
    STA COLUP1   

EndBoostP1


;**********************Deplacement horizontal************************


    STA WSYNC
    STA HMOVE


;***************************fin blanking****************************   


blanking
    LDA INTIM
    BNE blanking
    STA VBLANK


;**************************construction image*********************** 


    STA CXCLR


;*****Score*****


;InitScore

    LDA #2
    STA CTRLPF

    LDA WaitFireP0
    LSR
    LSR
    LSR
    LSR   
    STA JaugeP0

    LDA WaitFireP1
    LSR
    LSR
    LSR
    LSR   
    STA JaugeP1
   
   LDA ScoreP0
    AND #%00001111
    ASL
    ASL
    ASL
    STA Digit1P0

    LDA ScoreP0
    AND #%11110000
    LSR
    STA Digit2P0

    LDA ScoreP1
    AND #%00001111
    ASL
    ASL
    ASL
    STA Digit1P1

    LDA ScoreP1
    AND #%11110000
    LSR
    STA Digit2P1

    LDY #4

LoadScorePF
    LDX Digit1P0
    LDA AllDigits,X
    STA DigiTemp

    LDX Digit2P0
    LDA AllDigits,X
    ASL
    ASL
    ASL
    ASL
    ORA DigiTemp
    INC Digit1P0
    INC Digit2P0
    STA PFScoreP0,Y

    LDX Digit1P1
    LDA AllDigits,X
    STA DigiTemp

    LDX Digit2P1
    LDA AllDigits,X
    ASL
    ASL
    ASL
    ASL
    ORA DigiTemp
    INC Digit1P1
    INC Digit2P1
    STA PFScoreP1,Y

    DEY
    BPL LoadScorePF

    LDY #9

ScanScore
    STA WSYNC
    LDA #0
    STA PF2

ScanScoreP0
   TYA
    LSR
    TAX
    LDA PFScoreP0,X       
   STA PF1

ScanJaugeP0
    TYA
    SEC
    SBC JaugeP0
    BPL ScanScoreP1
    LDA #24
    STA PF2   

ScanScoreP1
    TYA
    LSR
    TAX
    LDA PFScoreP1,X       
   STA PF1
    LDA #0
    STA PF2

ScanJaugeP1
    TYA
    SEC
    SBC JaugeP1
    BPL NextScoreLine
    LDA #24
    STA PF2 

NextScoreLine
    DEY
    BPL ScanScore

    STA WSYNC
    LDA #0
    STA PF1
    STA PF2


;*****Playfield*****


    LDY #95
    LDA #17
    STA CTRLPF


Playfield
    TYA
    LSR
    LSR
    TAX
    LDA ArenePF0,X
    STA CurPF0
    TXA
    CLC
    ADC PFSelect
    TAX
    LDA ArenePF1,X
    STA CurPF1
    LDA ArenePF2,X
    STA CurPF2   

Boost
    CPY VBoost
    BNE NoBoost

    LDA #2
    STA ENABL
    JMP TankP0

NoBoost
    LDA #0
    STA ENABL


;*****Players*****


TankP0
    TYA
    SEC
    SBC VTankP0
    TAX
    AND #%11111000
    BEQ ActiveP0

    LDA #0
    STA GRP0
    JMP MissP0

ActiveP0
    LDA CurSpriteP0,X
    STA GRP0

MissP0
    CPY VMissP0
    BNE ActiveMissP0

    LDX #2
    TXS
    JMP TankP1

ActiveMissP0
    LDX #0
    TXS       

TankP1
    TYA
    SEC
   SBC VTankP1
    TAX
    AND #%11111000
    BEQ ActiveP1

    LDA #0
   JMP MissP1

ActiveP1
    LDA CurSpriteP1,X

MissP1   
    CPY VMissP1
    BNE ActiveMissP1

    LDX #2
    JMP EndPlayers   

ActiveMissP1
    LDX #0

EndPlayers   


;*****Remplissage des registres*****


    STA WSYNC
    STA GRP1
    LDA CurPF0
    STA PF0
    LDA CurPF1
    STA PF1
    STX ENAM1
    TSX
    STX ENAM0
    LDA CurPF2
    STA PF2

    DEY
    BPL Playfield


;******************************Overscan****************************


    STA WSYNC
    LDX #19

TitleOverscan
    STA WSYNC

    LDA #0
    STA PF0
    STA PF1
    STA PF2
    STA GRP0
    STA GRP1
    STA ENAM0
    STA ENAM1
    STA HMCLR
   

   STX TIM64T
overscan
    LDA INTIM
    BNE overscan
    LDA #2
    STA VBLANK
    JMP Frame


;*********************************Data*****************************


;*****Deplacement*****


CoefDeplacement
    BYTE 254,0
    BYTE 254,255
    BYTE 254,239
    BYTE 255,239
    BYTE 0,239
    BYTE 1,239
    BYTE 2,239
    BYTE 2,255
    BYTE 2,0
    BYTE 2,16
    BYTE 2,32
    BYTE 1,32
    BYTE 0,32
    BYTE 255,32
    BYTE 254,32   
    BYTE 254,16

BoostCoord
    BYTE 8,239,47
    BYTE 4,64,84
    BYTE 12,143,10
    BYTE 4,64,10
    BYTE 12,143,84

BoostIndex
    BYTE 0,3,6,9,12,0,3,6,9,12,0,3,6,9,12,0


;*****sprites*****


TankSprites
    BYTE $63,$63,$7F,$7F,$7F,$6B,$08,$08
    BYTE $04,$0E,$4E,$FF,$FF,$79,$64,$24
    BYTE $18,$1C,$0E,$DF,$FF,$7C,$3A,$19
    BYTE $18,$3E,$1F,$1C,$7C,$FB,$78,$1C
    BYTE $FC,$FC,$38,$3F,$38,$FC,$FC,$00
    BYTE $1C,$78,$FB,$7C,$1C,$1F,$3E,$18
    BYTE $19,$3A,$7C,$FF,$DF,$0E,$1C,$18
    BYTE $24,$64,$79,$FF,$FF,$4E,$0E,$04
    BYTE $08,$08,$6B,$7F,$7F,$7F,$63,$63
    BYTE $24,$26,$9E,$FF,$FF,$72,$70,$20
    BYTE $98,$5C,$3E,$FF,$FB,$70,$38,$18
    BYTE $38,$1E,$DF,$3E,$38,$F8,$7C,$18
    BYTE $3F,$3F,$1C,$FC,$1C,$3F,$3F,$00
    BYTE $18,$7C,$F8,$38,$3E,$DF,$1E,$38
    BYTE $18,$38,$70,$FB,$FF,$3E,$5C,$98
    BYTE $20,$70,$72,$FF,$FF,$9E,$26,$24


TitlePF0Gauche
    BYTE $EF,$2F,$2F,$2F,$2F,$2F,$AF,$2F,$EF
TitlePF1Gauche
    BYTE $FF,$00,$95,$95,$9D,$95,$DD,$00,$FF
TitlePF2Gauche
    BYTE $FF,$00,$54,$56,$36,$55,$55,$00,$FF
TitlePF0Droite
    BYTE $FF,$0F,$EF,$2F,$EF,$8F,$EF,$0F,$FF
TitlePF1Droite
    BYTE $FF,$00,$77,$55,$75,$45,$77,$00,$FF
TitlePF2Droite
    BYTE $3F,$20,$2E,$2A,$2A,$2A,$2E,$20,$3F


ArenePF0
    BYTE $FF,$1F,$1F,$1F,$1F,$1F,$1F,$1F,$1F,$1F,$1F,$1F,$1F,$1F,$1F,$1F,$1F,$1F,$1F,$1F,$1F,$1F,$1F,$FF


ArenePF1
    BYTE $FF,$00,$00,$00,$00,$00,$00,$00,$60,$20,$20,$21,$21,$20,$20,$60,$00,$00,$00,$00,$00,$00,$00,$FF
    BYTE $FF,$00,$00,$00,$F0,$E0,$C1,$83,$06,$0C,$18,$18,$18,$18,$0C,$06,$83,$C1,$E0,$F0,$00,$00,$00,$FF
    BYTE $FF,$00,$00,$00,$00,$78,$78,$78,$78,$78,$00,$00,$00,$00,$78,$78,$78,$78,$78,$00,$00,$00,$00,$FF
    BYTE $FF,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$FF
    BYTE $FF,$00,$00,$00,$43,$40,$40,$40,$40,$7F,$00,$00,$00,$00,$7F,$40,$40,$40,$40,$43,$00,$00,$00,$FF
    BYTE $FF,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$FF
    BYTE $FF,$00,$00,$00,$FF,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$FF,$00,$00,$00,$FF
    BYTE $FF,$00,$00,$00,$00,$00,$06,$06,$06,$06,$07,$07,$01,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$FF
    BYTE $FF,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$FF
    BYTE $FF,$80,$80,$80,$80,$84,$84,$84,$84,$84,$84,$84,$84,$84,$84,$84,$84,$84,$84,$04,$04,$04,$04,$FF


ArenePF2
    BYTE $FF,$00,$00,$00,$80,$80,$80,$80,$00,$00,$00,$07,$07,$00,$00,$00,$80,$80,$80,$80,$00,$00,$00,$FF
    BYTE $FF,$C0,$C0,$C0,$06,$03,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$03,$06,$C0,$C0,$C0,$FF
    BYTE $FF,$C0,$80,$00,$00,$30,$60,$C0,$82,$06,$0E,$1E,$1E,$0E,$06,$82,$C0,$60,$30,$00,$00,$80,$C0,$FF
    BYTE $FF,$00,$00,$00,$00,$00,$00,$00,$00,$00,$C0,$C0,$C0,$C0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$FF
    BYTE $FF,$00,$00,$00,$FF,$00,$00,$00,$00,$87,$80,$80,$80,$80,$87,$00,$00,$00,$00,$FF,$00,$00,$00,$FF
    BYTE $FF,$00,$00,$00,$1E,$1E,$1E,$1E,$FE,$FE,$FE,$FE,$FE,$FE,$9E,$9E,$80,$80,$80,$80,$00,$00,$00,$FF
    BYTE $FF,$00,$00,$00,$3F,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$3F,$00,$00,$00,$FF
    BYTE $FF,$00,$00,$00,$78,$78,$06,$06,$FE,$FE,$FF,$FF,$F7,$F7,$FE,$FE,$18,$18,$06,$06,$00,$00,$00,$FF
    BYTE $FF,$80,$80,$00,$00,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$00,$00,$80,$80,$FF
    BYTE $FF,$04,$04,$04,$04,$84,$84,$84,$84,$84,$84,$84,$84,$84,$84,$84,$84,$84,$84,$80,$80,$80,$80,$FF


AllDigits
    BYTE %00001110
    BYTE %00001010
    BYTE %00001010
    BYTE %00001010
    BYTE %00001110
    BYTE 0,0,0

   BYTE %00000010
    BYTE %00000010
    BYTE %00000010
    BYTE %00000010
    BYTE %00000010
    BYTE 0,0,0

    BYTE %00001110
    BYTE %00000010
    BYTE %00001110
    BYTE %00001000
    BYTE %00001110
    BYTE 0,0,0

    BYTE %00001110
    BYTE %00000010
    BYTE %00000110
    BYTE %00000010
    BYTE %00001110
    BYTE 0,0,0

    BYTE %00001010
    BYTE %00001010
    BYTE %00001110
    BYTE %00000010
    BYTE %00000010
    BYTE 0,0,0

    BYTE %00001110
    BYTE %00001000
    BYTE %00001110
    BYTE %00000010
    BYTE %00001110
    BYTE 0,0,0

    BYTE %00001110
    BYTE %00001000
    BYTE %00001110
    BYTE %00001010
    BYTE %00001110
    BYTE 0,0,0

    BYTE %00001110
    BYTE %00000010
    BYTE %00000010
    BYTE %00000010
    BYTE %00000010
    BYTE 0,0,0

    BYTE %00001110
    BYTE %00001010
    BYTE %00001110
    BYTE %00001010
    BYTE %00001110
    BYTE 0,0,0

    BYTE %00001110
    BYTE %00001010
    BYTE %00001110
    BYTE %00000010
    BYTE %00001110
    BYTE 0,0,0



    org $F7FC   
    WORD Start 
    WORD Start 
[Fermer]
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Décembre 05, 2013, 08:57:12 PM
Je me suis commandé ca

(http://stiggyblog.files.wordpress.com/2011/10/20111023-173037.jpg)

Une cartouche special pour y stocker les roms que je veux. De quoi mettre tous mes programmes (j'ai une vieille carte SD 1Go ca suffirat pour y mettre des centaines de milliers de ROMs homebrew) et les faire tourner sur une vrai console comme a l'epoque en passant par une EPROM. Idealement j'aurais préféré le faire sur une console NTSC mais bon je me contenterais de ca

Je me suis commandé ca aussi car je n'ai plus les joystick originaux et c'est incontournable pour jouer sur 2600!
http://www.priceminister.com/offer?action=desc&aid=672651279&productid=235386158

Par contre j'ai pas reussi a trouver le signal sur mon plasma meme en SECAM. Les tunners des TV modernes ont vraiment du mal avec le signal des vieilles consoles, domage l'emulateur rendait pas mal sur mon plasma.
Mais j'ai reussi a trouver un bon signal sur ma petite TV a tube 13" que j'ai installé a coté de mon plasma donc ca ira comme ca, 100% oldschool.
J'ai installé ma 2600 au dessus de ma PS4 et j'ai pu faire tourner cote a cote Defender sur 2600 et Resogun sur PS4  :cool: (Resogun est un remake de Defender)


Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Décembre 16, 2013, 06:15:49 PM
J'ai recu mes 2 joystick originaux, nickel c'est du neuf. j'aime vraiment bien cette manette, elle est agreable, content de la retrouver.

J'ai recu aussi ma cartouche magique "HARMONY", nickel aussi, c'est du beau boulot, en aparence c'est exactement comme une vrai cartouche de jeu. pour la faire fonctionner me manquait une carte SD et un lecteur de carte SD.
Pour la carte SD finallement j'en ai retrouvé une de 1Go dans un vieux APN (sachant que l'integralité des ROMs officiels c'est 3.5Mo) et au moment d'aller acheter un lecteur de carte SD j'ai decouvert que j'en avais un sur mon PC   :vice:

Normalement faut changer le firmware de la cartouche car par defaut c'est du NTSC mais j'ai testé tout de suite la cartouche et c'est passé quand meme (ma TV suporte le 60hz) mais en noir et blanc et du coup j'ai pu tout de suite lancer mon jeu Tank2600 et le voir tourner sur une vrai console, magique   :love:

Du coup ca a si bien fonctionné que j'ai tout de suite fait une adaptation PAL de mon jeu (a l'arrache comme on l'a toujours subit nous meme sur nos consoles de l'epoque, c'est a dire ajouter des bandes en haut et en bas, modifier la palette, et donc un jeu ralenti de 20%) pour me rendre compte que c'etait pas une console PAL mais bien une console SECAM que j'avais (le privilege francais de l'epoque, les consoles sont ensuite rapidement passé au PAL mais comme c'est un model plus recent j'esperais que ca soit du PAL...) et la palette de couleur est une horreur   :burp:

en NTSC t'as une palette de 128 couleurs, en SECAM t'as... 8 couleurs  :nerd:  (enfin 6 et un noir et un blanc).
Toutes les VCS ont un switch pour passer la console en Noir&blanc et en faite la VCS SECAM est tout le temps en mode noir&blanc. elle n'utilise pas les 4bit de couleur du registre dédié a cela, juste les 3bit de luminance comme en mode noir et blanc sauf qu'elle remplace les 6 teintes de gris par quelques couleurs bien flashy, une horreur
c'est pour ca que j'ai ete surpris de decouvrir qu'il y avait une palette de 128 couleurs en commancant la programmation car c'est pas le souvenir que j'en avais, tu m'etonnes  :nerd:


un exemple de jeu PAL sur une console PAL

(http://www.spiceware.org/images/mm_pal_on_pal.png)


et le meme jeu sur une console francaise SECAM

(http://www.spiceware.org/images/mm_pal_on_secam.png)


C'est en france qu'on a eu la VCS la plus pourri au monde, c'est un peu triste  :/
Du coup je vais peut etre me prendre une 2600jr qui est la premiere VCS francaise en PAL


en tout cas bravo a l'emulateur, mon jeu tourne pareille que sur l'emulateur. Emulateur qui dailleurs emule bien aussi la palette SECAM si on veut.
Pouvoir programmer et en quelques secondes faire tourner son propre jeu sur une vrai console de l'epoque et une vieille TV c'est vraiment magique et excitant et d'une simplicité enfantine. ca marche super bien.


Mon installation actuel
(http://img850.imageshack.us/img850/9467/zuyc.jpg)
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Décembre 17, 2013, 06:15:20 PM
Maintenant que je peux faire des tests sur une vrai TV et vu que sur la VCS c'est toi qui controle les scanlines et la Vsync le premier truc que t'as envie de tester c'est les limites de ta TV

- Premier constat quand j'affiche un nombre de scanline impair entre 2 Vsync ca bug un peu niveau couleur (une bande rose en haut de l'ecran) donc faut cibler un nombre pair de scanline a priori
- Je peux monter jusqu'a 54hz sur ma TV ensuite je perd la couleur (j'ai pas testé jusqu'a ou je peux monter sans perdre la stabilité de l'image mais c'est au moins 60hz)
- Je peux descendre jusuq'a 46hz ensuite je perd la stabilité


J'ai testé aussi la durée du signal de Vsync car dans les docs on te dit d'envoyer un signal de Vsync d'une durée de 3 scanlines pas plus ni moins donc envie de tester les limites de cette injonction.

- Avec une durée de 1 ou 2 scanlines ca passe toujours sur ma TV qui sont forcement moins capricieuse qu'a l'epoque.
- Avec une durée la plus courte possible de seulement quelques cycles CPU ca ne marche plus, faut quand meme viser plutot une durée de 1 scanline minimum (mais vaut mieux sans doute s'en tenir a la regle de 3 pour une bonne compatibilité).
- J'ai testé aussi une durée jusqu'a 20 scanlines et ca pose pas de probleme, y a pas de limite maximum je pense si ce n'est que ca finit par deborder de l'overscan et ca te trace des lignes vertes en haut de l'ecran et que ca n'a aucun interet de faire durer le signal de Vsync audela du necessaire
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Décembre 19, 2013, 06:01:58 PM
Aparement on peut faire de l'entrelacé 480i en jouant avec la Vsync. une frame sur 2 tu balances la Vsync pile au milieu d'une scanline (donc entre 2 Hsync) pour avoir un decalage vertical d'une demi-ligne.
Pas tres interressant a utiliser vu que meme sans cela c'est deja la resolution horisontal qui est largement a la traine donc ca ne fait que creuser le gap (et ajouter du flickering) mais bon a savoir

En faite toutes nos vieilles consoles 2D de la VCS a la neogeo ont la meme resolution vertical qui est imposé par la technologie des TV, les quelques differences de resolutions se font principalement sur l'horisontal qui elle est impacté par la velocité du chip graphique
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Décembre 22, 2013, 02:16:59 PM
Je me prépare doucement a attaquer un second projet sur la 2600 mais j'ai pas pu m'empecher de feuilleter les documents de la Channel F de Fairchild (ou VES), la premiere console de jeu sortie l'année precedent la 2600 et que j'ai dans ma collection

(http://video-game-history.com/images/fairchildlg.jpg)


Si j'avais le temps je m'amuserais bien a programmer un truc dessus mais ca a l'aire hard, a part les documents originaux de 1976 y a pas grand chose et pas de communauté. je sais juste que DASM qui me sert pour compiler le code 6502 serait capable aussi de compiler du code F8 (le cpu exotique de la channel F) mais c'est chaud.

Faut savoir que Fairchild c'est un fabriquant de semi-conducteur, ils ont inventé le circuit integré et ce sont les fondateurs de Fairchild qui ont ensuite fondé le concurent Intel, ca c'est pour le contexte...
Ils etaient donc la a la naissance des semi-conducteurs ce qui leur a donné cette position favorable pour commercialiser la toute premiere console de jeu en y mettant leur premier CPU qui est asser exotique d'ou la difficulté de la tache.
Meme les mnemoniques de l'op-code ont rien a avoir avec ceux qu'on utilise en assembleur pour les autres cpu, a priori c'est vraiment pas acueillant.

Pas vraiment de RAM pour le CPU mais un scratchpad qui est une sorte de RAM interne au CPU qu'on utilise comme des registres. y en a 64 ca represente la moitié de la RAM de la 2600 donc de ce coté ca reste asser proche mais la facon d'y acceder est un peu tordu, c'est pas vraiment de la RAM donc y a pas d'adressage mais on peut pas non plus acceder directement a ces 64 registres, y en a seulement 16 accessibles directement et ensuite y a une forme d'indexation avec un autre registre pour permettre d'acceder a l'ensemble donc un peu plus compliqué...

Y a pas non plus vraiment de bus d'adressage direct pour la ROM avec des instructions dédiées. Pour acceder a une donnée dans la ROM faut dabord placer une valeur dans un registre 16bit qui va servir d'adresse pour ensuite utiliser une autre instruction qui ira chercher la donnée a cette adresse (en plusieurs cycles pour adresser la ROM, au moins 3 vu que sur les shema de cablage je vois seulement 5 lignes d'adressage pour la ROM) donc ca complique aussi un peu la tache par contre a priori y a moyen d'acceder a bien plus de ROM que sur la 2600 qui sans bank switching est limité a 4Ko. la je dirais que ca doit etre dans les 32Ko (mais bon au final les jeux Channel F sont tous sur des ROMs de 2Ko, + etait trop couteux)

la tres grosse difference avec la 2600 (c'est le bute de ma demarche, identifier les differences) c'est la gestion de la video.
Dans la Channel F y a de la VRAM contrairement a la 2600 qui n'en a pas du tout ce qui fait sa particularité. Et elle en a quand meme 2Ko ce qui est enorme pour l'epoque, c'est autant que la VRAM de la NES (c'est 16x plus que la Main RAM de la 2600) et non seulement elle a de la VRAM mais celle ci est utilisé tel qu'on l'utilise aujourd'hui c'est a dire pour contenir le framebuffer (donc pour stocker un par un le code couleur de chaque pixel a afficher) alors que meme les consoles 2D suivante qu'on connait comme la NES et les autres utiliseront plutot la VRAM de facon indirect pour construire une image en assemblant des tiles (des bloc de 8x8 pixels) pas vraiment sous la forme d'un framebuffer.

Donc effectivement ca tranche fortement avec la 2600 mais la partie video de la Channel F s'arrete la. c'est a dire qu'en realité y a pas de fonction graphique, tu remplis cette memoire avec le CPU selon ce que tu veux afficher et puis c'est tout (dailleurs pour acceder a cette VRAM faut passer par des ports qui sont ceux utilisés aussi par les manettes, tu utilises ces ports en ecriture pour ecrire dans la VRAM que tu ne peux pas relire car la lecture sert pour lire les inputs des manettes)
Alors que sur la 2600 y a quand meme le chip TIA (ou "stella") qui malgres son coté minimaliste propose de vrais fonctions graphiques (et audio) avec un semblant de gestion de sprite ou de collision deja plus dans l'esprit console de jeu (mais en meme temps ils avaient pas le choix en l'absence de VRAM), la channel F penche plus du coté micro-informatique ou le CPU est vraiment l'element central (meme si sur 2600 il le devient aussi de part l'absence de VRAM)

Donc vraiment une aproche tres differente qui devrait permettre des choses differentes (mais difficile a jauger sans essayer vraiment).
Niveau resolution c'est plutot du 96x58 donc evidement plus faible que sur la 2600 mais on fait ce qu'on veut de chaque pixel vu qu'il y a un vrai framebuffer (pas de limite tel que le "playfield" sur 2600 bridé a 40 pixels horisontal et avec une symetrie), y a pas besoin d'user de multiple trick.
Niveau couleur la aussi ont est loin de la 2600 sauf si on prend en compte la version francaise "SECAM" c'est du meme ordre, 8 couleurs.

Pour la partie audio la aussi on est tres loin de la 2600, juste un seul speaker dans la console (le son passe pas par la TV dans le premier model) avec seulement 3 tons et pas de gestion de volume alors que sur la 2600 on a une sorte de petite bibliotheque de son dont on peut ajuster la frequence (ce qui nous donne environ 300 sons differents) ainsi que le volume et sur 2 voix simultanées, c'est du caviar a coté de la channel F.
Au niveau audio et video la 2600 a vraiment le droit a des fonctions custom tel qu'on l'attend d'une console de jeu, pourtant j'avais pas trop cette vision la de la 2600 avant de m'y interressé de plus pret.

Reste un point fort de la Channel F, en plus de cette VRAM enorme elle a aussi un bios de 1Ko (y a rien dans la 2600). il a ete decompilé, on voit dedans juste quelques lignes de code pour initialiser la machine comme mettre a zero les registres/scratchpad, le genre de truc qu'il faut faire soit meme sur 2600 (effacer la RAM, initialiser la pile, mais bon c'est un detail) puis ensuite ca test si y a une cartouche valide et si c'est pas le cas ca lance un jeu interne (un pong avec 2 mode de jeu, tennis et hockey) donc ca c'est la classe!
Y a aussi 2 ou 3 subroutines dans ce jeu integré auxquelles on doit pouvoir acceder a partir d'autre jeu, ca peut permettre d'economiser de la ROM sur la cartouche.

En resumé la Channel F est mal pourvu en features audio et video par contre elle integre cette enorme quantité de VRAM et meme de la ROM mais un CPU qui aujourd'hui passe pour tres exotique alors que le 6502 de la 2600 est aujourd'hui celebre (2600, C64, AppleII, NES, SNES, PC-engine...) et documenté donc tres accessible (et un peu l'ancetre des CPU RISC comme les ARM)

Y a eu seulement une vingtaine/trentaine de jeu sur Channel F, elle a ete comercialisé seulement au US a 250 000 exemplaires
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Décembre 23, 2013, 09:15:54 PM
Je viens de voir qu'il y a quand meme pas mal de jeux VCS officiels d'Atari qui utilisent des cartouches boostées pour faire du bank switching et proposer des jeux de 8Ko (y en a beaucoup) voir 16Ko.
Un jeu celebre comme Defender (Resogun) utilise une cartouche de 16Ko (soit 4x plus que ce que la console suporte nativement) et integre 128 octets de RAM suplementaire pour doubler la RAM (faut dire aussi que c'est probablement le premier jeu console a scroling et avec une map et un radar)
Par contre dans pitfall pas de triche, c'est du simple 4ko de base et sans boost RAM, ca le rend d'autant plus impressionnant avec son aventure de 256 ecrans (auto-généré)

Le Bank switching faudra de toute facon que j'y passe au moins une fois pour connaitre, c'est pas un truc evident a maitriser donc ca merite de s'y pencher (c'est un coup de main a prendre je pense et meme sur NES faudra sans doute y passer j'imagine, a vu de nez je dirais qu'on doit etre limité nativement a 32Ko sur NES je pense).
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Décembre 25, 2013, 10:19:47 PM
Le Kernel
Ce qu'on appelle le Kernel dans le contexte de la 2600 c'est ce petit bout de code CPU de quelques dizaines d'instructions au mieux qui va gerer l'affichage en alimentant le TIA pendant le balayage de l'ecran.

Si on devait resumer la programmation sur 2600 c'est sans hésité cela qui caracterise le mieux la 2600. La programmation du Kernel c'est une demarche intellectuel vraiment a part, y a le Kernel et le reste du code.
C'est meme quelque chose qu'apriori on ne retrouve sur aucune autre machine, ni la Channel F ni la NES ou autres donc si on veut s'interresser a la programmation Atari 2600 c'est la dessus qu'il faut se pencher, c'est la qu'est le fun.
Dailleurs quand on a une idée de jeu 2600 la premiere chose a faire c'est le Kernel. C'est lui qui va definir ton jeu de par les fortes contraintes d'affichages qui sont omnipresentes. Pas la peine de partir sur une idée de jeu si tu n'as pas dabord verifier que tu auras un Kernel qui poura afficher les elements dont tu as besoin.
Le Kernel est vraiment comme un puzzle, chaque instructions doit resulter d'une longue reflexion et toutes les notions de timing doivent etre parfaitement maitrisées.


----------------------------------------------------------------------------


Sur Combat le Kernel est simple dans le sens ou il utilise pas vraiment de trick si ce n'est que (surtout dans ma version boosté) il a fallu quand meme que je combine tous les elements graphiques (les elements playfield PF0,PF1 et PF2 + les sprite P0 et P1 + les missiles P0 et P1 + la balle + la possibilité de switcher le playfield avec le meme Kernel) ce qui au final a demander des efforts pour tout faire entrer, en général t'evite de tout utiliser en meme temps.


Sur Space Invaders c'est un Kernel plus complexe car faut passer par des tricks, la 2600 etant faite pour afficher seulement 2 sprites (8x1) c'est pour ca que je m'y interresse.
Space invaders necessite l'affichage de beaucoup de sprites a l'ecran et notement de 6 sprites sur la meme scanline (+ au moins un missile).
Faut se poser la question du niveau d'independance de ces sprites qui heureusement ne le sont pas enormement. Ils ne sont pas visuellement independant (ils ont la meme aparence sur toutes la lignes) et ne sont pas independant non plus dans leur mouvement (ils se deplacent a l'unisson) mais sont independants en ce qui concerne leur vie et leur mort, faut pouvoir gerer individuellement leur affichage (c'est la que se trouve la difficulté).


Moi ce qui m'interresserait c'est pas de faire une copie conforme bien sure sinon l'excercice est moins motivant.
j'ai 2 idées pour Space invaders, soit tenter de faire une version qui se raproche + de la version arcade (qui a des lignes de 11 aliens au lieu de 6 dans la version 2600) soit une autre idée que je devoilerais pas puisque l'interet est dans la surprise (je pense qu'il y a un truc a faire en reprenant des vieux jeux comme ca srtictement a l'identique mais en changeant un truc pour prendre le joueur a contre-pied)
Je vais de toute facon commencer dabord par la premiere idée.


------------------------------------------------------------------


Pour augmenter le nombre de sprite sur une meme ligne (tout en pouvant gerer individuellement leur affichage) j'ai 3 idées de kernel toutes radicalements differentes et avec des inconvenients differents, difficile de se décider.

- Ma premiere technique serait de reprendre la methode de l'original et simplement de répartir le kernel sur 2 frames et donc afficher 2x6=12 sprites mais en flickering (6 sur une frames, 6 sur une autres), ca au moins c'est quasi sur que ca marchera (meme si ca sera pas facile quand meme) et le resultat sera correct modulo le flickering

- la seconde idée que j'ai eu et que j'aime beaucoup utilise des trick de timing et de reset des sprites compliqué a expliqué et surtout de combiner ca a l'idée de placer le Kernel en RAM au lieu qu'il soit en ROM
Sur atari 2600 on met pas de code en RAM, le code est en ROM et la RAM sert juste pour les variables mais un kernel d'une seul scanline ca peut tenir en RAM. Ca me prendra alors une bonne moitié de la RAM et donc ca me laissera l'autre moitié pour le jeu, ca peut le faire (sur tank2600 j'ai utilisé seulement la moitié de la RAM)
Et surtout avoir le Kernel en RAM combiné a la programmation en assembleur ca permet un truc enorme qui est de produire du code qui va pas juste produire et modifier des datas mais produire et modifier de l'op-code et donc modifier du code avec du code!
Quelle interet de modifier son propre code avec du code? normalement quand on veut un code dynamique on se contente d'y mettre des branchements conditionnels (si "ceci" alors executer tel code sinon executer tel autre code) sauf que ces branchement conditionnels ca prend du temps d'execution qu'on a pas ici.
Avec un Kernel en RAM je peux remplacer ces branchements conditionnels (qui ici servirait a decider si tel ou tel sprite de la ligne est vivant ou mort et donc si on doit l'afficher) par des modifications direct du code du Kernel pendant l'execution du jeu et donc me passer de ces branchement qui de toute facon ne pourait jamais entrer dans le Kernel donc ca ouvre de nouvelle possibilité.
Reste qu'il faut quand meme trouver le moyen d'afficher tous ces sprites et pour l'instant la solution que j'ai n'est pas completement satisfaisante, je peux afficher les 11 sprites de la version arcade (et cette fois sur la meme frame, sans flickering) et controler individuellement l'affichage de chaque sprite (si j'arrive a mettre mon kernel en RAM) mais ca me cause des problemes d'alignements. les sprites ne sont pas parfaitement espacés, un coup y en a un 2 pixels trop a gauche, l'autre 2 pixels trop a droite... et de plus ca pose aussi des problemes pour afficher l'explosion de l'ennemie quand on le touche.
Ca peut sans doute marcher comme cela mais ca sera pas propre (probablement moins finalement que la methode avec flickering) et pour des raisons complexes de timing ce n'est apriori pas soluble mais juste parce que j'adore cette idée de Kernel en RAM ca me donne quand meme envie d'essayer meme si ca me parait beaucoup de boulot pour pas grand chose si le resultat est trop crade.

- la 3eme technique que je peux pas expliquer non plus en 2 lignes me permetrait d'afficher 8 sprites sur la meme frame (sans flickering mais 8 c'est pas comme l'arcade quand meme) et sans probleme pour gerer l'explosion des ennemies mais des espaces trop grand entre les sprites.
Au final pas interressant a utiliser ici mais quand meme interressant par le faite que c'est encore une autre methode completement differente et ingenieuse qui merite d'exister.




Pour l'instant je sais pas trop par quoi commencer pour ce space invaders mais en tout cas je suis pret a y aller.
J'ai pris le temps de creuser certain element notement le fonctionnement interne du systeme de positionnement horisontal des elements graphiques. J'ai tout bien compris, les systemes des compteurs internes, de syncronisation, pourquoi y a pas de foutu registre de position horisontal, comment fonctionne en interne le HMOVE et pourquoi il crée une ligne noire de 8 pixels en debut de scanline ect... j'ai tout capté. Pour l'instant j'ai plus vraiment de point d'interrogation sur le hardware Atari 2600 (meme le bank switching que j'ai pas encoré exploré j'ai quand meme une idée asser precise de comment ca marche).
J'ai aussi revu ma facon d'organiser le code que ce soit visuellement ou structurellement pour partir sur une meilleur base, me manque plus que l'experience que rien ne peut remplacer...
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Décembre 28, 2013, 07:20:57 PM
Sur Atari 2600 y a eu un accessoire tiers interressant qui s'appelait le Supercharger

(http://videogames.org/html/2600Stuff/Supercharger/images/supercharger.gif)


On enfilait ca dans le port cartouche puis on branchait la prise jack sur n'importe quelle lecteur de cassette audio et on pouvait alors charger des jeux a partir de cassette audio (comme sur les micro-ordinateur) dans une RAM de 6Ko
Ca boostait pas mal les possibilités des quelques jeux qui utilisaient cette accessoire (j'ai lu un peu les details techniques, apres calcule je dirais que ca donne un debit aproximatif de 0.4Ko/s + des phases de préparation avant et apres)
C'est un peu le 64DD ou le disk system de l'Atari2600 (enfin pas vraiment puisque c'etait pas un accessoire Atari, juste un editeur tiers)

Frogger version classic

(http://atariage.com/2600/screenshots/s_Frogger_1.png)


Frogger version Superchager

(http://www.retrovideogamer.co.uk/reviews/atari2600/OfficialFrog.jpg)


Le truc sympa c'est qu'en suite ca a servie en quelque sorte de devkit pour le homebrew, ca permetait de programmer ses jeux sur PC et ensuite de les convertir en fichier audio .WAV et de les envoyer dans le supercharger pour y jouer.
Y a eu aussi des compiles de jeux sur CD audio



des manettes wirless

(http://mo5.com/commun/images/consoles/atari/remote.jpg)




Un des derniers jeux d'Atari que j'ai decouvert et que je trouve tres impressionnant autant pour la physique de la balle que pour la definition de l'affichage.
La 2600 est vraiment pas faite pour afficher des graphismes aussi fin (seul les sprites ont cette precision donc le flipper est a priori un assemblage de sprite 8x1 monochrome tres ingenieux, il a fallut organiser chaque ligne du flipper pour que l'agencement des pixels soit compatible avec une combinaison de sprite et de couleur)

http://youtu.be/yCz8ETnZ4YM



Sinon j'aimerais bien aussi avoir le temps d'essayer de faire une demo 3D, juste faire tourner un cube en flat 2 couleurs en 3D avec le joystick. Je me dis que c'est peut etre possible, dans une fenetre de 48x48pixels en flickering pour avoir les 2 couleurs reste toujours le probleme de l'absence de VRAM
Pour faire de la 3D faut pouvoir rasteriser les polygones dans un buffer, je pourais me faire un semblant de framebuffer 48x48 en RAM mais il me faudrait au moins 350 octets de RAM en tout (300 pour le framebuffer et une cinquantaine pour le reste) mais y en a que 128 dans la 2600

Mais dans la liste des nombreuses cartouches customs qui ont ete commercialisées (avec different mode de bankswitching pour étendre les capacités) y avait notement les FA de CBS (les noms des types de cartouche sont souvent liés a leur systeme de bankswitching et notement au hotspot, ces adresses particulieres qu'on utilise pour faire switcher les banks, FA est une adresse en hexadecimal, y avait aussi les cartouches F4, F6, F8...) qui ont servies pour quelques jeux edités par CBS.
J'en ai trouvé seulement 3 dont un dans une sorte de raycasting facon wolfenstein + une 4eme resté a l'etat de prototype d'une sorte de simulateur de vole.

L'interet de ces cartouches FA de CBS c'est qu'au dela du tripple bank switching (donc 12Ko) elles ajoutaient 256 octets de RAM (les cartouches "superchip" d'Atari ajoutait seulement 128 octets de RAM), du coup 128 + 256 = 384 octets de RAM, ca pourait coller pour faire une petite demo 3D
Reste a voir si y a suffisement de temps CPU (toujours dans le blanking vertical), va falloir faire des multiplications 16bit avec un CPU qui ne fait que des additions 8bit mais bon y a seulement 8 vertices dans un cube, meme si je suis obligé de rafraichir a 60fps ca parait pas insurmontable comme charge, la rasterisation reste probablement la charge la plus lourde.

Le probleme c'est aussi les couleurs, me faudrait 3 couleurs (+ background) pour faire un cube 3D correct (ou simuler le lighting des 3 faces visible) or pour en avoir 2 je vois deja pas comment faire sans bidouiller avec le flickering (2 frames monochrome) et a 2 couleurs ca va pas rendre terrible
Sinon le faire en wireframe.
enfin tout ca c'est si j'avais le temps...
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Décembre 29, 2013, 01:00:53 AM
Le truc a savoir avec ces cartouches qui integre de la RAM c'est que le port cartouche n'est pas cablé en signal W/R (write/read) contrairement a la RAM interne a la console par exemple et ce signal W/R envoyé par le CPU (selon le type d'instructions executés) est important pour que la RAM sache si c'est une phase d'ecriture ou de lecture du coup la RAM de ces cartouches ,qui est handicapé sur ce point, utilise une ruse.
Chaque octet de cette RAM est accessible par 2 adresses differentes, une adresse qui sert a lire et une qui sert a ecrire (au lieu d'avoir simplement une seul adresse couplé a un signal W/R). En faite ca revient a utiliser l'une des 13 lignes d'adressage comme un signal W/R mais en utilisant cette ligne d'adressage ont divise alors par 2 la gamme d'adressage avec donc cette effet mirroir ou chaque cellule RAM se retrouve avec 2 adresses.

Reste un inconvénient sans solution c'est que certaines instructions CPU combinent a la fois lecture et ecriture a une seul et meme adresse, par exemple l'instruction d'incrementation d'une valeur en memoire (INC $XX) qui consiste dabord a lire la valeur a l'adresse $XX puis incrémenter puis ecrire la nouvelle valeur a l'adresse $XX tout ca en une seul instruction CPU. Ce genre d'instructions ne peut pas fonctionner avec les upgrades de RAM dans les cartouches.

Faut aussi prendre en consideration que la RAM interne a la console de 128 octets a cette particularité d'etre dans la toute premiere page d'adressage c'est a dire dans les 256 premiers octets des 8Ko adressable par le CPU (c'est le cas aussi des registres du TIA, le chip video/audio) et y a des instructions CPU qui sont specifique a l'adressage de cette page 0 qui a l'avantage de pouvoir donc etre adressé avec une simple adresse 8bit au lieu d'une adresse 16bit et du coup ce sont des instructions qui en general s'execute en 3 cycles au lieu de 4 donc plus rapidement qu'on pourait le faire avec la RAM des cartouches dont la zone d'adressage se trouve dans la seconde moitié des 8ko (plutot page 16 et 17)

Tout ca implique aussi une emprunte sur la ROM car cette RAM integré aux cartouches vient prendre des pages d'adresse a la ROM qui donc perd certaine pages qui deviennent inacessibles et cela pour chaque bank car dans ces cartouches en général la RAM est accessible quelle que soit le bank sur lequel tu as switchés
Ca veut dire par exemple que sur la cartouche FA de CBS qui est composé de 3 banks de 4Ko, les 256 octets de RAM occupent en faite 512 octets (pour la lecture et l'ecriture) mais cela dans chacune des banks soit en tout 1.5Ko!
Donc au final les 256 octets de RAM font perdre 1.5Ko de ROM (donc en tout on a pas 12Ko de ROM mais 10.5Ko + ce que coute le bankswitching qui necessite de dupliquer plus ou moins de code dans chaque bank)


C'est aussi ce que j'aime dans cette demarche c'est d'aller jusqu'a apprehender le cablage electronique pour mieux comprendre, pas forcement une nécéssité mais ca aide, pareille pour le chip video, vaut mieux comprendre certain cablage et fonctionnement interne pour mieux anticiper les comportements.
Titre: Re : Hardcore Retrogaming
Posté par: Jb le Décembre 29, 2013, 01:07:13 AM
Grand malade :laporte:
Mega intéressant en tout cas, merci pour tes feedbacks super précis !
Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Décembre 29, 2013, 01:21:32 AM
Clairement, en plus c'est qq chose que j'ai tjs voulu faire, je saurais comment commencer.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Décembre 29, 2013, 01:43:31 AM
C'est vrai que c'est un peu arride comme sujet, ca peut pas interresser tout le monde evidement mais ca peut se picorer, comprendre un truc par ci par la parfois ca suffit a se faire une image globale plus precise sur ce qu'etait les machines de cette epoque sans avoir besoin de tout comprendre.
Moi c'est vraiment la demarche archeologique qui m'interresse. C'est pas pour repondre a un desir de creation de jeu, pour ca vaut mieux aller sur PC avec des outils modernes qui offrent tellement plus de possibiliter, c'est pour ca que je préfere utiliser le terme hardcore retrogaming que homebrew dans mon cas.

J'ai cherché un peu pour voir si y avait une communauté francophone mais difficile a trouver, elle existe surement mais elle est diffuse et tout se passe uniquement sur les forums anglophones (AtariAge pour la 2600), c'est mon seul regret car l'anglais (et le francais) et moi ca fait 2, j'aurais bien aimé trouver un endroit francophone avec quelques personnes dans le delire.
Au moins je deblaye, je peux deja repondre a pas mal de question sur la 2600 et en francais  :cool: (ou presque)


Titre: Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Décembre 29, 2013, 02:05:35 AM
Citation de: pippoletsu le Décembre 29, 2013, 01:21:32 AM
Clairement, en plus c'est qq chose que j'ai tjs voulu faire, je saurais comment commencer.

On pourait se demander si c'est le bon moment mais je pense que y a pas de bon ou de mauvais moment.
Le sentiment est double, d'un coté tu te dis que t'arrive 35ans en retard et que tout a deja ete fait et c'est vrai en quelque sorte, y a meme des gars qui font du homebrew 2600 depuis 20 ans, tu peux pas lutter donc y a quand meme quelque chose de frustrant car du point de vue de la creation pure y a peu d'opportunité (meme si on peut toujours trouver une idée qui nous touche personnellement) mais d'un autre coté tu profites de tout ce qui a ete fait jusqu'alors. Les documents, les emulateurs/debugeurs, les bricolages. Du coup t'as cette chance de pouvoir avancer plus vite et avec moins de frustration purement technique (la vrai frustration c'est le temps, programmer ca prend enormement de temps et on l'a pas, faudrait etre libre a plein temps et pas avoir de boulot).
Disont que plus le temps passe plus la demarche creative se tranforme en demarche archeologique/historique ou le plaisir est dans la comprehension de ces vieilles machines tellements differentes des notres (et de plus en plus), de ces vieux jeux et des petites histoires qui vont avec et sur ce point on est mieux lotie aujourd'hui qu'il y a 20ans (Reste qu'il faut quand meme aimer la technologie dans cette demarche).


Le jour ou je passerais a la NES ca te parlera sans doute encore plus, tu poura pas resister  :vice:
La NES c'est deja une infinité de possibilité (c'est pas vraiment le cas de la 2600) mais faire un jeu NES c'est aussi deja tres lourd en investissement, vaut mieux pas etre seul. Si un jour j'experimente la NES et soyont fou je decide de faire un jeu original meme modeste alors me faudrait au moins quelqu'un pour la musique et quelqu'un pour le pixel-art.
Comme ce qui m'interresse c'est surtout de comprendre la machine le plus probable c'est que je me dirige sur des materiaux deja existant, par exemple faire un portage d'un jeu master system sur NES ca serait un bon excercice et t'as deja du materiau, tu pars pas de zero. J'ai surtout joué a la master systeme que j'ai eu en 1987 donc moi ca me branche, convertir Alex kidd ou The Ninja sur NES  :o  tout du moins trouver un truc qui n'a pas deja ete fais tant qu'a faire.
Si quelqu'un connait deja une communauté homebrew NES francophone qu'il le dise

Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Décembre 30, 2013, 07:19:36 PM
N'ayant pas trouvé de solution pour afficher un cube en 3 couleurs j'ai préféré laisser tomber cette idée et partir sur Space Invaders comme prevu

Je suis donc partie sur la methode qui utiliserait du flikering pour afficher 12 aliens par ligne (6 sur les frames paires et 6 sur les frames impaires).
J'ai bien reussi a les afficher mais pour les deplacements ca va etre plus chiant que ce que j'imaginais et surtout je me suis rendu compte que pour les tires (alien ou du joueur) je pourais pas utiliser les elements graphiques "missiles" car ils sont intimement liés aux sprites Player0 et Player1 que j'utilise pour afficher les aliens et dans un mode particulier qui empeche de pouvoir afficher en meme temps un missile convenablement.
Ainsi je suis obligé d'afficher tous les projectiles avec l'element graphique "ball" et donc pour pouvoir afficher en meme temps sur la meme ligne un tire ennemie qui tombe et un tire du joueur qui monte va falloir encore utiliser du flickering (afficher le tire des aliens sur les frame paires et le tire du joueur sur les frames impaires).

Du coup je comprend pourquoi dans la version original y a du flickering sur les tires (ca scintille) et ca m'a donné envie de tester le mode 2 joueurs car je me suis demandé comment ils geraient la situation ou les 2 joueurs tire en meme temps (ce qui peut vouloir dire au moins 3 tires sur la meme ligne) et bien ils l'ont géré tout simplement en t'empechant de tirer en meme temps que l'autre joueur   :vice: 

Comme pour dans "combat", c'est ca qui est marrant quand t'essais de refaire ces vieux jeu tu comprend bien mieux certain choix inevitable pour cause de limitation hardware, c'est la que c'est interressant.

Au final cette histoire de devoir passer par la  "ball" ca me complique les choses car j'ai deja les aliens qui sont affichés en flickering, si jamais le tire du joueur est aussi en flickering ca veut dire que le tire du joueur ne sera jamais affiché en meme temps que l'autre moitié des aliens qui sont affichés sur les frames paires. Du coup ca m'empeche d'utiliser les features de collision cablé dans la TIA (en gros il te previent quand il trace sur le meme pixel differents elements graphiques ce qui peut servir de test de collision "free") et m'obligera a coder en plus le systeme de collision


------------------------------------------------------------------


Du coup ces complications m'ont données envie de laisser ca de coté quelques temps et d'aller faire un tour du coté de la seconde methode que j'avais en tete, celle du code Kernel qui s'autogénère en RAM et qui me permet alors d'afficher 11 aliens comme en arcade et cette fois sans flickering.
Meme si je sais que le resultat ne sera pas bon car les deplacements seront un peu chaotique (je peux pas gérer la positions des sprites au pixel pret avec cette methode) cette idée de coder un Kernel qui s'autogénère en RAM est tellement exotique que ca donne envie de le faire juste pour le fun (et parce que ca donne toute sa legitimité au faite de coder en assembleur qui permet ce genre de fantaisie) car a ma connaissance jamais on fait ca en programmation.

J'ai effectivement reussi a placer mon Kernel special en RAM et a l'executer ainsi. Pour l'instant il s'autogénère pas mais au moins ca fonctionne et en plus ca ne m'a prit que 44 octets de RAM, si on ajoute les 4 que je réserve a la pile ca me laisse 80 octets de RAM pour le jeu, plus que j'esperais (je visais plutot les 50 octets) donc au moins sur ce point c'est parfaitement viable, un Kernel en RAM c'est possible sans bouffer toute ta RAM.

Mon bute ne va pas etre de faire le jeu complet avec cette methode, je voudrais juste faire vite fait un proto fonctionnel qui montre une ligne de 11 aliens qui se deplace de droite a gauche et vice et versa et que lorsqu'on appuit sur le bouton cela fasse disparaitre un alien au hasard puis 2, puis 3... juste pour démontrer que ca fonctionne (et voir a quelle point les deplacements sont chaotique selon les aliens qui disparaissent)


J'ai aussi eu l'occasion sur ces tests de faire mon premier Kernel "auto-synchrone".
Normalement le Kernel doit etre synchronisé avec le balayage horisontal de l'ecran et pour cela y a une fonction du chip graphique qu'on nomme "WSYNC".
Quand ont active ce registre du TIA alors le CPU se met en standby jusqu'a ce que la ligne en cours ait finit de s'afficher et que le TIA envoie alors le signal de synchro horisontal, a ce moment le CPU reprend son boulot et donc de facon synchrone avec l'affichage.
Mais la solution ultime c'est de coder un Kernel dont le temps d'execution soit exactement celui du balayage d'une ligne horisontal c'est a dire 76 instructions CPU. Ainsi tu n'as pas besoin d'utiliser la fonction WSYNC et donc tu economises 3 cycles CPU ce qui te permet de placer une instruction de plus dans ton Kernel, c'est la classe.

J'avais pas encore tenté de faire un Kernel auto-synchrone alors j'ai essayé.
Suffit donc de compter le temps d'execution de chaque instruction jusqu'a arriver a tomber sur le bon chiffre de 76 (quite a rajouter un cycle en utilisant par exemple un adressage 16bit sur une instruction qui pourait se contenter d'un adressage 8bit pour faire perdre un cycle)
On a beau savoir qu'en theorie ca doit fonctionner le faite de voir fonctionner du premier coup son premier Kernel auto-synchro c'est emouvant   :cry2: 

puis ensuite je l'ai viré car j'avais pas besoin d'un Kernel aussi long qui au contraire d'en mon cas etait penalisant vu qu'il occupe de la place en RAM mais au moins j'ai vu que ca marchait vraiment (sur Tank2600 ca m'aurait servie de gagner 3 cycles CPU sur mon Kernel)
Titre: Re : Hardcore Retrogaming
Posté par: JiHaisse le Décembre 30, 2013, 07:28:52 PM
Faut mettre ce topic en post-it.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Décembre 31, 2013, 02:30:24 PM
Je pense pas que ca soit nécéssaire


Un lien qui permet de tester tous les jeux 2600 en emulation dans le browser sans rien a installer
https://archive.org/details/atari_2600_library

Combat
https://archive.org/stream/atari_2600_combat_-_tank-plus_tank_1977_atari_joe_decuir_steve_mayer_larry_wagner/atari_2600_combat_-_tank-plus_tank_1977_atari_joe_decuir_steve_mayer_larry_wagner.bin?module=atari2600&scale=2

Space Invaders
https://archive.org/stream/atari_2600_space_invaders_1980_atari_richard_maurer_-_sears_cx2632_-_49-75153/atari_2600_space_invaders_1980_atari_richard_maurer_-_sears_cx2632_-_49-75153.bin?module=atari2600&scale=2
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Janvier 01, 2014, 01:14:15 AM
J'ai bien avancé ce soir!
Quand meme une grosse prise de tete pendant au moins une heure juste sur un blocage avec le compilateur DASM. J'ai eu un probleme et j'arrivais plus a comprendre son comportement, pourquoi il voulait pas compiler et pas m'indiquer ou etait l'erreur, ca m'a permit de me pencher un peu plus dessus et mieux comprendre son fonctionnement et ses parametres, c'etait pas inutile au final (d'autant que j'imagine que ca sera le meme compileur pour la NES) mais ca m'a fait perdre pas mal de temps.

Sinon mon Kernel auto-généré avance, c'est une prise de tete absolu de faire du code qui doit générer du code, t'as l'impression d'etre en train de coder un compilateur justement mais c'est asser fun au final car ca fonctionne tel qu'on pouvait le suposer en theorie et quand la pratique match la theorie farfelu ca fait plaisir.
Alors ca avance mais vraiment tout doucement, chaque ligne de code est un casse tete (d'autant plus quand tu manque d'experience) mais je pense que c'est une gymnastique qui me sera bien utile pour la suite, ca oblige a encore mieux comprendre le fonctionnement.

Comme au final c'est plutot une demo tech qu'un jeu je suis passé a 14 sprites d'aliens par ligne sans flickering  8)  (au lieu de 6 dans la version original et 11 en arcade)
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Janvier 07, 2014, 01:37:04 AM
Je me suis pas mal acharné ces derniers temps, beaucoup de R&D toujours sur le Kernel a essayer divers methodes.
J'ai trouvé une 4eme methode pour mon kernel d'affichage des aliens ou plutot une variante de celle que j'etais deja en train de mettre en place donc toujours avec le defie du Kernel en RAM qui m'interresse mais cette fois grace a une astuce pour modifier les timing (en forcant un adressage 16bit sur l'instruction de reset de la position des sprites pour lui faire perde un cycle et avoir le bon timing) je n'ai plus les problemes d'alignement chaotique des aliens donc ca devient plus interressant car maintenant c'est propre et donc je peux aller au dela de la simple demo tech et faire un vrai jeu (ou au moins un prototype si j'ai la flemme d'aller jusqu'aux details comme le scoring)

En contrepartit les sprites des aliens sont plus espacés (un sprite tout les 12 pixels au lieu de 8 ) et etant donné l'amplitude de mouvement que je veux pour matcher la version arcade ca me limite a 10 sprites par ligne (au lieu de 14 sur ma demo tech chaotique) mais toujours sans flickering donc ca reste un exploit et c'est tres ressemblant a la version arcade.

En plus ca me permet de faire des sprites jusqu'a 8 pixels de large au lieu de 6 pixels auparavant (jusqu'a 12 sur la version arcade) c'est pas du luxe. ca me permet notement de mieux coller a la version arcade en faisant varier la taille des sprites (les aliens les plus haut sont ceux qui raportent le plus de point mais sont aussi les plus petits et donc les plus dures a toucher car protégés par ceux qui sont devant et plus large, l'une des subtilités qui n'existe pas dans la version 2600)

Mais une fois que je me suis fixé sur cette methode de Kernel il a fallu relever beaucoup de défies. Y a une quinzaine de fois ou je me suis dit non finallement c'est pas possible a faire puis je continu d'y reflechir et je trouve chaque fois une nouvelle solution qui en général me demande de repartir pas mal en arrriere pour une aproche differente puis vient un nouveau probleme a priori insoluble...
Je dois avoir deja une trentaine d'archive juste pour construire mon Kernel (j'ai pas du tout commencé a bosser sur les mecaniques du jeu, tout l'effort c'est le kernel et donc contourner les limites d'affichage. Au final le temps de dev d'un jeu 2600 peut etre infini selon le niveau d'optimisation qu'on a besoin)

Ce qui m'a le plus stressé comme defie c'est de faire tenir tout le code d'auto-génération du Kernel dans 8 scanlines qui est l'espace "vide" entre 2 lignes d'aliens car pour chaque lignes d'aliens je dois générer un nouveau Kernel en RAM qui correspond au particularité d'affichage de cette ligne (quelle sont les aliens affichés et leurs positions) et donc je dois le faire juste avant dans l'espace qu'il y a entre 2 lignes d'aliens et si je veux respecter la version arcade c'est 8 lignes d'espace pas plus et au debut quand je faisais des estimations a la louche j'imaginais plutot avoir besoin d'une trentaines de scanline.
Je me suis arraché les cheveux sur ce probleme (et j'y suis toujours), j'ai du tenter plusieurs aproches differentespour déférer un maximum de tache en amont mais sans non plus bouffer trop de RAM dont je manque aussi.

D'autant que ces 8 lignes de "vide" ne sont pas vide, il faut continuer de gerer l'affichage des missiles et donc cette espace vide est lui meme un Kernel qu'il faut syncroniser avec le balayage en meme temps que tu dois executer tout le code pour auto-générer le Kernel suivant.

On pourait imaginer une autre solution brute, stocker sur la cartouche toutes les versions possible de kernel selon la configuration des aliens et leur position mais faudrait stocker sur la cartouche 6608 Kernel different, faudrait environ 400Ko (une cartouche megadrive) au lieu des 4Ko dispo. Donc c'est a ca que me sert l'auto-génération du Kernel, a avoir le Kernel adapté a chaque situation mais avec peut d'espace.

Je commence a voir le bout (juste du Kernel), j'ai reussi a mettre a peu pret tout en place dans mon Kernel et ca rentre. Sauf si une éniéme mauvaise surprise je commence a croire que c'est possible et je pense pas que cela a deja ete fait ce qui rend le truc plus excitant mais le defi est enorme (heureusement qu'on ne sait pas ce qui nous attend quand on demarre un truc comme ca sinon on le ferait pas)

Les autres difficultés c'est bien sure la quantité de RAM bouffé en partie par mon Kernel et meme la quantité de ROM car pour optimiser le temps d'execution (meme en dehors du Kernel je sais pas si j'aurais asser de temps d'execution pour le reste) j'hesite pas a faire de bon gros paquet de code qui prennent de la place au lieu de faire des boucles (avec seulement 3 registres dans le CPU les boucles peuvent etre un peu couteuse) mais au moins la ROM j'aurais toujours l'alternative du bankswitching pour passer a 8Ko meme si je préfèrerais rester sur une cartouche normal de 4Ko.

Bref la tension est vraiment maximum partout, sur le temps d'execution (Kernel et hors Kernel) sur la RAM et la ROM, et généralement optimiser l'un c'est au detriment des autres donc toujours des choix corneliens a faire car il est difficile d'estimer ce qui va le plus te manquer a la fin donc j'essai d'etre sur tous les fronts ce qui nécéssite de passer pas mal de temps sur chaque ligne de code.
Par contre maintenant je connais par coeur le temps d'execution de la plupart des instructions et leur taille en octet, ca devient un reflexe de tout calculer  :o






J'ai passé aussi un peu de temps a etudier la version arcade (sur emulateur) pour prendre toutes les mesures, les tailles, les espaces, les deplacements, les sprites...

Pour les sprites j'en suis la

(http://imageshack.us/a/img811/5784/ltc.gif)(http://imageshack.us/a/img163/6641/uvrw.gif)

version arcade a gauche (j'ai juste zoomé les pixels 3x3) et la mienne a droite (avec des pixels de 5x3 pour respecter le ratio 2600). J'ai moins de pixels donc c'est pas evident mais ca ressemble quand meme bien mieux que la version 2600 tout en respectant le fait qu'ils ont pas tous la meme taille (celui du haut fait seulement 5 pixels de large)

la VO 2600 asser eloigné de la version arcade (dans le fond et dans la forme)
(http://imageshack.us/a/img545/5192/xeox.gif)


Si vous pensez avoir une meilleur composition de sprite en gif n'hesité pas a proposer.
C'est 5x8 pixels pour celui du haut mais on pourait monter a 6x8. Pour celui du milieu c'est 7x8 mais 8x8 serait pas genant si le précedent est en 6x8, et 8x8 pour celui du bas. Faut utiliser des pixels de 5x3 comme dans mon Gif pour respecter le ratio.
J'aimerais bien voir une serie 6x8, 8x8, 8x8 au lieu de 5x8, 7x8, 8x8 mais les tentatives que j'ai fais rendait pas terrible, j'etais plus a l'aise avec les valeurs impaires.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Janvier 07, 2014, 01:45:56 PM
J'ai modifié un peu mes sprites, j'ai elargie celui du haut (6 au lieu de 5) et celui du milieu (8 au lieu de 7). Ca me permet un alignement plus juste et je trouve que celui du milieu (qui est emblematique du jeu) a une meilleur gueule en etant un peu plus large.

(http://imageshack.us/a/img811/5784/ltc.gif)(http://imageshack.us/a/img163/6641/uvrw.gif)(http://imageshack.us/a/img838/4716/l2js.gif)
Titre: Re : Hardcore Retrogaming
Posté par: Hobes le Janvier 07, 2014, 01:48:23 PM
Je ne pense pas qu'on puisse faire beaucoup mieux niveau sprite avec quelque chose d'aussi petit. Faudrait un peu plus de pixels et de couleurs pour faire un truc intéressant. Là en deux secondes :

(http://www.hautbasgauchedroite.fr/qdc/img/spaceinvad.gif)

Une base pour la version Megadrive :o
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Janvier 07, 2014, 02:05:16 PM
pas mal  :)
sur 2600 y a meme pas de pixel art
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Janvier 12, 2014, 03:17:23 PM
Y a un autre truc qui me complique beaucoup les choses c'est que le systeme d'affichage deja complexe ne suffit pas a repondre a certain cas particuliers qui necessitent une autre methode et faut alors combiner les 2 selon le cas sans que ca se voit a l'ecran!
Et cela complique autant la gestion de l'affichage que la gestion des deplacements aussi qui doivent etre traité differement selon les 2 cas.
Deplacement qui eux meme ne sont pas si simple dans space invader, ce n'est pas juste une pattern prédefinie. L'amplitude des deplacements change selon le contexte, quand on detruit une colone complete on donne plus d'amplitude aux survivants ect... jusqu'a ce que le dernier survivant qui peut etre n'importe lequel des aliens du depart, ait une amplitude de mouvement total. ca rajoute encore pas mal de contraintes.


(http://imageshack.com/a/img843/5963/r63d.jpg)


Sur cette image random j'ai illustré les differentes categories d'aliens du point de vue du Kernel.
Y a les colones "P0" qui sont les sprites qui utilisent le sprite hardware "Player 0" que je reset avec un timing tres particulier et une configuration des registres d'etat particuliere du TIA pour reussir a en faire des copies successives sur la meme ligne, et les colones P1 qui utilise le sprite "Player 1".

Sauf que la methode d'affichage fonctionne seulement si y a plusieurs sprite P0 ou P1 sur la meme ligne. Quand il n'y a plus qu'un seul sprite P0 ou P1 sur la meme ligne comme c'est le cas des 2 specimens que j'ai entouré en rouge alors je suis obligé d'utiliser une autre methode completement differente pour l'affichage et la gestion du positionnement qui doit parfaitement s'integrer a la premiere.

Tout ca rend l'optimisation (RAM, ROM, Cycle CPU) compliqué car c'est toujours de ca qu'il sagit (si y avait pas de contrainte de ressource rien ne serait compliqué).
Notement j'ai beaucoup reflechie a la facon dont je dois encoder les informations d'etat des aliens (lesquels sont present ou absent, lesquels sont P0 et P1 et a la fois seul sur la meme ligne) et les informations de deplacement et positionement (selon qu'ils sont seul P0 et P1 sur leur ligne ou pas)
Comment encoder cette information de la facon la plus econome en RAM mais tout en s'assurant quelle reste facile et rapide a exploiter (notement par le Kernel qui est limité a des traitements rudimentaires)
Y a toujours des informations qu'on peut déduire d'une autre ou plusieurs informations qu'on peut encoder dans un meme octet sur des bits differents mais au prix de quelle quantité de traitement, de quelle complexité? (et cout en ROM)
La recherche aussi d'une certaine "universalité" notement pour pouvoir précomputé au maximum le "RAM kernel" en debut de frame et reduire au maximum la tache de construction qu'il faut faire entre les lignes d'aliens


Des tatonnement qui m'ont deja value de recommencer une fois presque a zero car c'est au fur et a mesure de la progression qu'on constate les failles de certain choix... et c'est ce que je vais faire a nouveau (recommencer a zero ou presque) car j'ai trouvé une autre facon d'encoder l'information et de gerer tout ca qui pourait me faire economiser pas mal de RAM (au moins une douzaine d'octet ou plus), beaucoup de ROM (ca devrait régler définitivement ce probleme) tout en reduisant la complexité de l'ensemble donc que du win-win qui fait que je peux pas me permetre de ne pas en tenir compte.

Je suis en congés cette semaine, c'est pour ca aussi que je vais me permetre ce luxe de recommencer meme si ca m'enchante pas trop mais le niveau d'optimisation que ca pourait me permetre d'atteindre suffit a me motiver.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Janvier 13, 2014, 12:31:09 AM
J'ai bossé la journée la-dessus et meme si j'ai pas encore terminé de tous ratraper, les effets benefiques de cette nouvelle aproche sont deja stupéfiant a tous les niveaux et meme plus que j'imaginais. Je regrette pas l'effort.
Au debut ca m'a fait mal au cul d'effacer ou modifier la majorité de mon code mais maintenant c'est un regale de voir le resultat, mon code est tellement plus beau maintenant, c'est comme un petit bijou!
C'est dans ces moments la qu'on prend son pied, cette jouissance du codeur que seul ceux qui ont deja codé connaissent :D.

J'ai gagné pas mal de RAM (17 octets ce qui est beaucoup car j'ai seulement 75 octets pour gérer le jeu, le reste c'est le ram-kernel) et j'ai beaucoup simplifié le code ce qui m'a fait gagner beaucoup en ROM (juste avant j'etais deja a quasiment 2Ko de code soit deja la moitié de la cartouche, j'ai divisé ca par plus de 2! donc maintenant je suis a l'aise), et donc gagné en temps CPU et en clareté. ultra bénéfique a tous les niveaux.

J'y retourne. Me reste encore a refaire le code des deplacements lateraux et de l'anim et je serais revenu ou j'en etais juste avant mais avec encore de meilleur base qui cette fois seront les bonnes je pense. Plus motivé que jamais.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Janvier 13, 2014, 01:41:25 PM
En tout cas j'ai deja depassé l'etape ou j'en etais avant mon reboot, j'ai maintenant mon paquet de 50 aliens qui s'affiche sans bug quelque soit la combinaison d'aliens vivants et morts et donc quelque soit les cas particuliers et ils se deplacent lateralement et s'animent sans bug en adaptant l'amplitude de deplacement au contexte.
Ca au moins c'est fait et bien fait car le code pour l'instant est tres propre (grace au reboot).

Un petit bilan des ressources que j'utilise a ce point d'avancement:
- 988 octets de ROM (sur les 4Ko), 90% code, 10% data
- 69 octets de RAM (sur 128), 74% pour le Kernel
- 25% du temps CPU de la phase de blanking vertical (c'est a dire or phase d'affichage)

Pour l'instant ca tient la route mais il reste difficile de dire si ca sera suffisant car il reste beaucoup a faire.
Prochaine etape, integrer l'affichage des missiles (dans un premier temps celui du joueur) ce qui peut etre un bon bordel car les missiles vont devoir traverser une douzaine ou quinzaine de Kernels differents (rien que l'affichage des aliens c'est une alternance de different Kernels , les kernels qui affichent les aliens et ceux qui sont entre les lignes d'aliens, va falloir traverser cette succession de 10 Kernel sans bug).
J'ai bien sure deja du y penser en amont car fallait que je prenne cela en compte dans la mise en place de mes Kernels mais j'ai quelques craintes.

Pour ca je vais peut etre dabord commencer par ajouter le sprite du player et son controle (deplacement et tire), ca facilitera ensuite les phases de test de l'affichage du missile que je pourais tester ingame.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Janvier 13, 2014, 03:02:18 PM
L'art de l'alignement du code et des datas

Y a certaines instructions qui ne prennent pas le meme temps d'execution selon le contexte. Sur n'importe quelle machine on s'en fouterait pas mal mais sur 2600 y a tellement souvent des dependances de timing au cycle CPU pret que c'est important a comprendre.

Le cas le plus classic c'est l'instruction de branchement conditionnel, quand la condition est remplis et qu'il y a branchement ca prend 1 cycle de plus que quand y a pas branchement mais ca concerne aussi notement toutes les instructions qui utilisent un adressage indexé.

Par exemple le code lda $FE12,x ca veut dire charger dans l'accumulateur (lda = load A, c'est l'operateur) qui est l'un des registres 8bit du CPU, la valeur qui se trouve a l'adresse $FE12 (l'operande) une adresse 16bit en hexadecimal qui pointe vers la fin de la cartouche a laquel le CPU va ajouter la valeur du registre 8bit X (l'index).
donc si y a 0 dans X on va charger dans A la valeur qui se trouve a l'adresse $FE12. Si y a 1 dans X on va charger l'octet d'a coté ($FE13) ect...
L'adressage indexé on l'utilise tres souvent d'autant que dans le CPU 6502 y a pas de registre 16bit qui pourait servir de pointeur direct qu'on pourait alterer a sa guise donc on passe souvent par ce type d'indexation 8bit.

Mais c'est une indexation de 8bit donc ca permet juste de s'eloigner de 256octets au dela de l'adresse orignel indiqué dans l'operande mais l'avantage aussi c'est que pour le CPU la plus part du temps ca simplifie le traitement, il va juste additionner l'index de 8bit au seul 8bit de poid faible de l'adresse 16bit...
Mais lorsque l'indexation est a cheval entre 2 pages ca implique une retenu lors du calcule d'indexation qu'il va cette fois falloir reporter sur les 8bit de poid fort de l'adresse 16bit ce qui va ajouter un cycle d'execution pour cette instruction et peut donc te poser des problemes un peu imprevisible car ca dependera donc de la facon dont tu as aligné tes datas (faut préciser aussi que par commodité on ne manipule pas directement les adresses en general mais des labels, des mnemoniques, qui sont des mots qu'on choisie et qu'on associe a des zones de code et de data et c'est ensuite au compilateur d'associer des adresses a ces mots donc on ne visualise pas directement ces adresses quand on code).

Je vais prendre l'exemple qui m'est arrivé (y a deja quelques semaines).
Mon kernel qui affiche les aliens doit a chaque nouvelle ligne de balayage charger la ligne du sprite correspondant donc bien sur j'utilise un adressage indexé avec comme operande l'adresse originel du sprite puis comme indexe la ligne du sprite a afficher (0,1,2,3,4,5,6 ou 7).
Il se trouve que j'ai un sprite (8 octets) qui se trouvait pile entre 2 pages, genre il demarre a $F0FC et termine a $F103 donc on passe de la fin de la page $F0xx au debut de la page $F1xx (y a 16 pages sur une cartouche 4k) du coup la seconde moitié de mon sprite s'est retrouvé decalé de 3 pixels (un cycle CPU = 3 pixels de deplacement du canon a electron).
Heureusement c'est asser simple a regler. On peut indiquer au compilateur a quelle endroit de la cartouche on veut placer ceci ou cela , donc j'ai forcé l'alignement de mes datas sur une page precise ($FE00). J'ai pour l'instant reservé juste les 2 dernieres pages de la cartouche pour mes datas.


Mais y a pire, le probleme peut se poser aussi pour du code. J'evoquais les branchements conditionnels qui prennent un cycle de plus quand le branchement doit etre executé mais ils prennent un second cycle de penalité si ce branchement n'est pas sur la meme page (donc un branchement conditionnel classic peut prendre 2,3 ou 4 cycle selon le contexte) pour les meme raison que précedement.
Le branchement conditionnel utilise donc aussi un indexe de seulement 8bit, la seul difference c'est qu'il est signé donc ca permet de faire un branchement jusqu'a 127 octets en avant ou 128 octets en arriere, alors que l'adressage indexé classic c'est 256 octets en avant.

Et il se trouve que j'ai eu aussi ce probleme y a quelques jours, un truc de dinge.
Le branchement d'une routine strategique qui sert justement a  a selectionner un moment precis du balayage horisontal pour ensuite positionner un sprite et qui donc est une routine de timing s'est retrouvé pile entre 2 pages alors que c'est une boucle de seulement 2 instructions! Y avait une instructions a la fin d'une page et l'autre instruction au debut de l'autre et du coup le timing etait faussé et le positionnement du sprite aussi  :nerd:
C'est asser imprevisible car t'es tout le temps en train de modifier et ajouter du code ce qui deplace tout le code qui suit. Ici je me suis juste contenté d'ajouter du code, vouloir aligner strictement certain bout de code ca serait des contraintes plus qu'autres choses. Faut juste garder a l'esprit que ca peut arriver.

Heureusement dans les 2 cas j'ai vite cerner d'ou venait le probleme et maintenant je suis prevenu.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Janvier 14, 2014, 01:23:21 PM
J'ai integré le joueur toujours en respectant les codes graphiques du jeu d'arcade et j'ai donc ajouté aussi le tire du joueur.
Quand le missile traverse les lignes d'aliens il y a 2 types d'affichages differents (quand il traverse les lignes d'alienes et quand il traverse les lignes intermediaire entre les aliens)
J'ai reussi a bien gérer ces transitions sans que ca se voit mais il a fallu quand meme que je modifie un peu mon ram-kernel, heureusement ca n'a pas ete des modifications lourde de consequence. C'etait ma crainte mais au final j'ai juste eu a remplacer une instruction par une autre et changer l'ordre de certaine instructions, sans consequence.
Et j'ai reussis a le faire en economisant les 5 octets de RAM tampon que j'avais prevu d'utiliser pour l'affichage du missile en zone aliens (grace au faite que j'ai encore du temps CPU dispo entre les lignes aliens)

la ROM V0.1
http://www.petit-fichier.fr/2014/01/14/siv0-1/
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Janvier 15, 2014, 02:18:12 AM
J'ai ajouté de facon aleatoire des tires aliens juste pour tester l'affichage de 2 missiles simultanés sur la meme ligne comme ca sera le cas au final. Donc quand le joueur ne tire pas alors les missiles aliens sont affichés normalement mais quand le joueur tire alors les missiles aliens et joueur sont affiché en flickering en alternance comme prevu, ca marche bien et sur mon plasma ou ma vieille TV ca reste discret (comme dans la version officiel 2600).

J'ai continué a ameliorer l'affichage des missiles car sur les 14 kernels que traversent les missiles y avait encore des transitions bugé dans la partie inferieur que j'avais pas bossé (juste au dessus du joueur, au niveau du joueur et en dessous du joueur, et aussi tout en haut de l'ecran) maintenant c'est nickel. Restera a ajouter encore les boucliers et donc encore de nouvelle fragmentation vertical de l'affichage a gérer.

Mais surtout j'ai ajouté les tests de collision avec les aliens et on peut donc maintenant les eliminer et donc commencé a vraiment tester le jeu. J'ai aussi ajouté l'acceleration des aliens au fure et a mesure qu'on les elimine.
J'ai deja commencé aussi a calibré au mieux par raport a la version arcade. Amplitude de deplacement joueur et aliens, vitesse de deplacement, vitesse des missiles.
Ca ressemble deja pas mal a la version arcade.

Pour ceux qui veulent chercher des bugs
ROM V0.2
http://www.petit-fichier.fr/2014/01/15/siv0-2-1/
Titre: Re : Hardcore Retrogaming
Posté par: Hobes le Janvier 15, 2014, 12:50:02 PM
J'imagine que c'est parce que c'est une version encore en cours de développement mais j'ai relevé :

- des tirs aliens qui partent de tout à gauche (ou droite) ce qui est surprenant car il n'y avait pas d'aliens à cet endroit là
- l'espace vide entre le bord de l'écran et le joueur qui est plus grand à gauche qu'à droite (à quoi sert-il d'ailleurs ?)
- l'accélération des aliens m'a paru un peu surmultiplié (on part d'un tempo très lent à quelque chose d'assez rapide)
- sans que ces aliens descendent, c'est déjà très difficile, niveau réglage c'est comme à l'époque ?
Titre: Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Janvier 15, 2014, 03:09:00 PM
Citation de: Hobes le Janvier 15, 2014, 12:50:02 PM
- des tirs aliens qui partent de tout à gauche (ou droite) ce qui est surprenant car il n'y avait pas d'aliens à cet endroit là
Comme j'expliquais un peu plus haut j'ai ajouté ces tires aleatoires juste pour tester l'affichage multi-missile (et le flickering), le bute final etant que les tires viennent bien sure des aliens eux meme selon leur position et leur hauteur  :)

Citation- l'espace vide entre le bord de l'écran et le joueur qui est plus grand à gauche qu'à droite (à quoi sert-il d'ailleurs ?)
Ca c'est le probleme du mode d'affichage et des trick que j'utilise, je ne peux pas deplacer les aliens a l'extreme gauche (au mieux je peux afficher les aliens 19 pixels apres le bord gauche de l'ecran pour des questions de timing) donc je suis obligé de décentrer la zone de jeux sur la droite (pour centrer la zone de jeu faudrait que je la deplace de 10 pixels sur la gauche ce qui n'est pas possible ou alors que je reduise l'amplitude de deplacement des aliens sur la droite mais ca ne serait plus conforme a la version arcade, ou que je n'affiche que 9 aliens au lieu de 10 mais idem...).
J'aurais voulu ajouter une petite bande vertical de couleur sur le coté gauche pour mieux délimiter la zone de jeu (d'ailleur le jeu d'arcade utilise un ecran incliné donc avec un ratio plutot 3/4 que 4/3) mais ce n'est pas possible, je ne peux strictement rien ajouter graphiquement dans toute la zone ecran ou y a les aliens (et une bande aurait de toute facon fait aparaitre le bug du HMOVE qui prolonge le blanking horisontal de 8 pixels chaque ligne ou tu l'utilises et qu'on voit dans pas mal de jeu, au moins dans le noir on voit rien). J'essayerais quand meme d'illustrer la zone de jeu décentré avec d'autres repères visuels.

Pour ce qui est de l'espace vide qu'il y a quand meme entre le joueur et les limites de la zone de jeu ca je l'ai repris du jeu originel. En effet le gameplay d'origine t'empeche de pouvoir toucher la colone d'aliens quand elle est tout a gauche ou tout a droite (sur la version 2600 c'est encore plus marqué, les aliens sont vite hors de porté de tire, la j'ai juste repris la configuration arcade) ca fait partie des contraintes du gameplay.

Citation
- l'accélération des aliens m'a paru un peu surmultiplié (on part d'un tempo très lent à quelque chose d'assez rapide)
- sans que ces aliens descendent, c'est déjà très difficile, niveau réglage c'est comme à l'époque ?
je pense aussi que c'est plus difficile du fait justement que les aliens ne descende pas car quand ils descendent ca augmente ta cadence de tire (plus tu touche rapidement plus vite tu peux retirer, le gamedesign c'est "un seul tire a l'ecran") et puis ca aide a mieux viser quand il se raproche surtout les petits tout en haut pour les shooter c'est pas evident si ils ne descendent pas d'autant que c'est souvent les derniers et donc aussi les plus rapide.
De toute facon c'est juste des configurations de test provisoire, c'est a regler a la fin et malheureusement j'en suis loin  :cry2:

Cette version c'est surtout pour tester
- que les aliens touchés par un tire disparaissent bien (et pas un autres)
- que les deplacements aliens s'adaptent bien au contexte (quand on detruit une colone)
- qu'il n'y ai pas de bug d'affichage (a part pour les tires aliens qui sont souvent hors zone de jeu la ou ils ne doivent pas etre)
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Janvier 16, 2014, 02:05:12 AM
Ce soir j'ai ajouté le deplacement vertical (avec donc l'amplitude qui s'adapte aux nombres de lignes de front eliminées comme pour les deplacements horisontaux). L'amplitude vertical comme l'amplitude horisontal est strictement celle du jeu d'arcade

Tu verra que c'est bien plus facile quand les aliens descendent :)
http://www.petit-fichier.fr/2014/01/16/siv0-3/
Titre: Re : Hardcore Retrogaming
Posté par: Hobes le Janvier 16, 2014, 09:04:53 PM
En effet c'est mieux ! Cela dit s'il y avait eu les bases destructibles je suis pas sûr que j'aurais terminé le deuxième round :crazy:
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Janvier 17, 2014, 12:42:32 AM
Ajouter les boucliers destructibles (qui t'aident autant qu'ils te gènent) ca va etre un autre truc compliqué, deja ca consome de la memoire (faut memoriser les alterations) et puis je pourrais pas mettre 4 gros bouclier comme en arcade (qui dailleurs prennent vraiment beaucoup de place voir trop)
Par contre je veux pas faire des petits boucliers de 8 pixels comme sur la version 2600 (y a 3 boucliers de 8 pixels de large) qui du coup ressemble pas du tout a la version arcade et font tout juste la largeur du player.
Je veux bien faire un compromis sur le nombre et en mettre moins mais faut qu'il ressemble a la version arcade et pour cela il faut qu'il fasse le double de largeur (16 pixels) du coup il est probable que je puisse en mettre seulement 2. C'est a la fois un probleme d'affichage et de RAM, en RAM je m'en sort mieux que prevu donc faut voir.
Je vois 3 possibilités pour des boucliers de 16 pixels de larges:
-  2 boucliers "low-res" au niveau de la destruction (c'est a dire une taille de pixels destructible qui est doublé) ca serait 8 octets de RAM
- 2 boucliers avec une destruction hires ca donnerait 16 octets de RAM
- 3 boucliers avec une destruction hires ca donnerait 24 octets de RAM

le scenarios 3 boucliers low-res me plairait bien comme compromis mais il me parait pas possible a priori (tout comme le scenarios a 4 boucliers)
Mais vu les belles economies que j'ai reussi a faire sur la gestion des aliens (j'etais mal partie et au final en faisant des choix differents j'ai economisé une quinzaine voir une vingtaine d'octet) je pourais peut etre m'offrir le luxe de dépenser 24 octets dans les boucliers (c'est a peu pret le tiers de la RAM dispo pour le jeu)

Un truc qu'on remarque pas aussi c'est que mon sprite du joueur fait pas 8 pixels de large mais 9 pixels, j'ai grugé en combinant un sprite + un missile collé au sprite pour ajouter un pixel de large (et histoire toujours de compliquer les choses). Tout ca pour mieux coller au proportion du jeu d'arcade et au visuel (tout comme pour les aliens ou je tenais notement a ce que la race la plus haute soit plus petit que les autres, les proportions sont importante pour respecter le jeu original et le gameplay et faire la difference avec la version 2600) donc j'y tiens aussi pour le bouclier, je veux des boucliers de 16 pixels de large.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 26, 2014, 06:38:36 PM
Ca commence a me manquer donc j'ai commencé a feuilleter les documents de développement NES pour changer

une petite doc de base qui resume un peu le hardware
http://nesdev.com/NESDoc.pdf

mais c'est plus fort que moi, j'aime pas me contenter des descriptions logiques des systemes, j'ai toujours besoin aussi de decrypter un minimum le shema physique pour faire le lien entre les 2, c'est jamais necessaire mais je trouve que ca aide a comprendre les choses (les relations réel entre les composants, le mapping de l'adressage...)
http://nesdev.com/Ntd_8bit.jpg
un petit shema comme ca me suffit pour m'occuper pendant 1 heure, je me fais plaisir juste avec ca

Niveau doc ca a l'aire extrement bien fournis, y en a des dizaines. de quoi bouquiner pendant pas mal de temps.
L'aire de rien le hardware de ce genre de console est plus complexe a appréhender que les equivalents micro qui ne sont au final qu'un CPU couplé a de la RAM. Sur une machine comme la NES y a tout un tas de customisations et fonctions cablés qu'il faut assimiler et un mapping memoire asser complexe et pas forcement tres intuitif.
Mais une fois tout ca bien assimilé ca va au final te simplifier la production de jeu par raport a l'equivalent micro-ordinateur.

Quand j'aurais suffisement avancé je vous ferais un petit resumé. Le bute n'etant pas de decrire les specs de la machine dans l'absolu mais plutot de faire une description par comparaison avec l'Atari VCS. Je trouve ca plus interressant d'evoquer justement quelle sont les differences, ce qu'aporte une NES par rapport a une Atari VCS que j'ai deja detaillé et qui sert maintenant de referent zero et ainsi constater comment les choses evoluent de proche en proche, de generation en generation.
C'est ma demarche initial de proceder par comparaison (NES > SNES ensuite) car c'est le seul moyen de mettre vraiment les choses en perspectives.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 26, 2014, 10:29:39 PM
Le premier constat qu'on peut faire sur la NES c'est ce privilege d'avoir pu entierement customiser le CPU. L'atari VCS a juste reprit un cpu existant et les customisations se sont concentré sur le TIA (GPU) et le chip I/O.
La NES est deja une nouvelle etape dans le paradigm consoles puisqu'en plus d'avoir un vrai GPU custom on a un CPU custom.

Le CPU a donc la meme base 6502 que l'atari VCS avec donc ses differences et customisations:
--  La customisation a permis d'integrer le generateur de son dans le CPU (qui etait dans le GPU de la VCS) et il est nettement plus avancé que sur la VCS  
--  les inputs des pads passent aussi directement par le CPU
--  y a une fonction DMA, une sorte de macro-instruction qui permet de copier une page complete de la WRAM (la ram CPU) vers la "sprite-ram" integré au PPU (GPU de la NES). ca permet pas de liberer le CPU (le CPU est inutilisable pendant cette phase DMA) mais par contre ca le fait bien plus vite qu'en le faisait soit meme avec des instructions CPU, j'ai pas fais le calcule précis mais ca doit consommer dans les 5x moins de cycle CPU.
--  le bus d'adressage du 6502 est complet contrairement a celui de la VCS qui etait emputé. celui de la VCS etait limité a 13bit et donc une plage memoire adressable de 8Ko (4Ko de ROM et 4k pour le reste). celui de la NES est full 16bit avec donc une plage adressable de 64Ko qui est le maximum pour le 6502
--  la frequence est 50% superieur a celui de la VCS (1.8mhz vs 1.2mhz) ce qui fait pas beaucoup plus sauf que sur la VCS pendant la phase d'affichage le CPU est busy a 100% ce qui n'est plus le cas sur la NES donc au final en cycle CPU disponible on doit plutot etre a 6 ou 7x
--  le CPU integre une interruption NMI directement cablé sur le signal VBLANK du PPU, donc la fin d'affichage peut lancer directement un sous-programme dans le CPU ce qui peut etre pratique. sur VCS c'etait a toi de compter pour savoir quand demarre le Vblank et c'etait a toi de faire la Vsync (mais a cause de ca t'avais un timer asser cool dans le chip I/O de la VCS, y en a aucun dans la NES)
--  y a aussi un truc en moins, il n'y a plus les instructions BCD (binaire codé decimale) qui permettaient de simplifier la gestion de l'affichage d'un score ou d'un timer en decimale et qui etait present dans le CPU de la VCS. aparement ces instructions impliquaient des droit de brevet particulier donc ca serait un choix economique, un peu dommage.

Voila en gros les differences niveau CPU qui sont quand meme asser nombreuses. avec la NES on est vraiment a 100% dans le paradigm console
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 26, 2014, 11:44:46 PM
Niveau RAM et ROM on a aussi sont lot de difference. Je vais juste evoquer la configuration "standard" car la NES est asser evolutive par l'intermediaire des cartouches pas seulement grace au mapper de plus en plus evolué dans les cartouches mais aussi parce que le port cartouche a ete visiblement pensé pour permetre de faire evoluer le hardware de la console contrairement a la VCS et ca aussi c'est un element important a signaler je pense.

Ici le port cartouche est sensiblement plus complexe (60 pins contre 24 sur VCS) avec un cablage qui anticipe pas mal de scenarios, notement l'ajout de RAM qui est prevu (la ou sur la VCS l'ajout de RAM s'est fait grace aux mapper et a de la bidouille car par exemple le signal R/W du CPU n'est pas cablé sur le port cartouche, c'est embetant), la possibilité de piloter le mirroring de la VRAM a partir de la cartouche pour selectionner le type de scrolling (j'y reviendrais peut etre), meme le son produit par le CPU passe par la cartouche avant de revenir et sortir de la console (avec donc la possibilité j'imagine d'avoir un chip audio custom dans la cartouche). c'est interressant de decortiquer le cablage


Revenons a la RAM (en configuration standard sans extension cartouche)
Dans la NES le CPU et le GPU ont chacun leur chip de RAM 2Ko (c'est le meme chip dailleurs)
donc 2Ko de RAM du coté CPU (contre seulement 256 octets sur VCS) et 2Ko de VRAM du coté PPU (contre rien du tout sur la VCS)
a cela s'ajoute encore 256 octets de RAM integré au PPU pour la gestion des sprites. au total ca fait deja 17x plus de RAM que sur VCS


la VRAM est adressable uniquement par le PPU, le CPU ne peut pas l'adresser directement mais peut quand meme y acceder (et devra le faire) en passant par des registres du PPU qui servent de port.
Du coup comme c'est pas un adressage direct ca demande plusieurs instructions CPU (faut dabord charger le registre d'adresse et en 2x puisque les adresses sont 16bit et le CPU est 8bit) et faut plutot attendre le Vblank pour que le PPU soit au repos.
De la meme facon le CPU peut acceder indirectement a la Sprite-RAM interne au PPU en passant par les registres PPU adequates (mais c'est plus simple car la c'est un adressage seulement 8bit vu que la Sprite RAM fait seulement 256 octets et il y a aussi la fonction DMA dédié dans le CPU pour simplifier encore plus les choses)



Pour ce qui concerne la configuration de la ROM dans la NES la aussi y a des differences asser majeur.
Deja le CPU et le PPU ont chacun leur ROM dédié sur la cartouche (plus tard sur des consoles plus evolué meme le chip audio aura sa propre ROM) on peut dailleur le constater sur le port cartouche ou passe a la fois le bus d'adressage du CPU et celui du PPU.
la ROM connecté au bus CPU se nomme PGR-ROM et la ROM connecté au bus PPU se nomme CHR-ROM.

le CPU peut adresser 32Ko de PGR-ROM. Dailleurs ils disent plutot 2x16Ko. je pense notement parce que les 16Ko les plus haut sont les seuls a etre accessible par le chip audio du CPU donc ils ont pas tout a fait la meme fonction et puis c'est je pense pour prendre l'habitude de diviser l'espace memoire en plusieurs bank car le bank switching sera vite un passage obligé pour etendre l'espace memoire et quand tu fais du bank switching vaut mieux pas tout switcher d'un coup, vaut mieux switcher une bank ou n'est pas le code qui est actuellement en train d'etre executer c'est plus simple donc par convention ca sera souvent des bank de 16Ko (voir 8Ko)
Cette PGR-ROM n'est evidement pas accessible par le PPU


le PPU lui peut adresser seulement 8Ko de CHR-ROM qui sont en faite 4Ko de table de pattern pour les decors (donc tous les tiles 8x8 qui serviront ensuite a composer les decors en les assemblant a sa guise) et 4Ko de table de sprite (des tiles 8x8 qui serviront a composer les sprites)


Donc si on "triche" pas et qu'on utilise le hardware par defaut sans mapper dans la cartouche ont est limité a seulement 40Ko de ROM au total. Soit 10x + que sur VCS mais ca reste quand meme tres peu.
Super Mario utilise ce type de cartouche, 32Ko de PGR-ROM + 8Ko de CHR-RAM (Donkey kong c'est 16Ko de PGR-ROM et 8Ko de CHR-ROM)
On devine bien que les 8Ko de CHR-ROM pour les graphismes deviennent vite etroit. heureusement les mapper dans les cartouches vont permettrent de facilement exploser ces chiffres et la y a 2 ecoles qui se cotoie de facon relativement egale j'ai l'impression.

D'un coté on a la possibilité de faire du bank switching avec le CHR-ROM et donc de cumuler par exemple 16 bank de 8Ko et d'avoir donc 128Ko de CHR-ROM pour les graphismes ou alors l'autre ecole c'est de tout miser sur le PGR-ROM avec donc un gros bank switching sur le PGR-ROM et de remplacer les 8Ko de CHR-ROM par 8Ko de CHR-RAM que le CPU poura alors remplir a sa guise a partir des data du PGR-ROM et avec donc plus de flexibilité dans la facon de composer les tables de pattern et de sprite.
Selon le type de jeu c'est plutot l'un ou l'autre qui sera choisie (un Zelda c'est 128Ko de PGR-ROM et 8Ko de CHR-RAM, un super mario 2 c'est 128Ko de PGR-ROM et 128ko de CHR-ROM. je sais maintenant dechiffrer le header des fichiers ROM donc je peux donner la configuration pour n'importe quelle jeu)

et sachant qu'on peut aussi ajouter 8Ko de WRAM dans la cartouche pour le CPU directement adressable pour completer les 2Ko de WRAM, y a une plage memoire reservé a cette usage mais couplé a une pile elle sert surtout pour les sauvegardes je crois.

Voila en gros la configuration memoire de la NES mais au niveau du mapping c'est encore plus complexe que ca mais ca serait un peu too much de rentrer dans les details.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 27, 2014, 04:53:52 PM
le PPU lui est donc l'element le plus important, pour le coup c'est un vrai GPU console, vraiment cablé pour faire du scrolling de background et animé des sprites chose que les micro ne pouvait qu'emuler en software, c'etait le principale atout des consoles.

Pour faire l'analogie avec la VCS je dirais que le PPU est un vrai GPU 2D alors que le TIA de l'Atari VCS etait aussi un vrai GPU "console" mais un GPU 1D.
Si on met le CPU en OFF alors le PPU continuera de facon autonome a afficher une image complete a l'ecran (mais statique) alors que sur la VCS si on met le CPU sur OFF le TIA ne sera capable d'afficher qu'une seul ligne qu'il va repeter sur tout l'ecran, d'ou l'appellation de GPU 1D que j'ai trouvé et que j'aime bien pour illustrer cette difference.

le fonctionnement du PPU est asser simple a résumer. le PPU construit une image 256x224 en assemblant des tiles qui sont des petites briques graphiques de 8x8 pixels.
il construit un background a partir de ces tiles et par dessus ca il ajoute les sprites (64 sprites par ecran, 8 par scanline) qui sont eux meme des tiles 8x8

l'endroit ou sont stocker la representation graphique de ces tiles sont les 8ko de CHR-ROM (ou CHR-RAM) qui se trouve sur la cartouche.
4ko pour les 256 tiles des sprites et 4Ko pour les 256 tiles du background qu'on assemble ensuite comme on veut.

Pour indiquer au GPU ou se trouve a l'ecran chacun des 64 sprites et avec quelles attributs y a les 256 octets de SPR-RAM integré au PPU qui sont dédié a cela. (4 octets par sprite, 2 pour les coordonnées x,y sur l'ecran, 1 pour indiquer a quelle tile il est associé et 1 pour ses attributs d'etat)

Mais reste a indiquer au GPU quelle tile afficher a quelle endroit pour construire le background. Ca c'est le role des 2Ko de VRAM qui sont en quelque sorte le framebuffer.
il faut un octet pour pointer l'un des 256 tiles de la bank et donc 1Ko pour decrire un ecran complet qui se compose alors de 32x30 tiles. Comme y a 2Ko on peut stocker 2 ecrans dans la VRAM

En fait le PPU travaille comme si il avait 4Ko de VRAM donc comme si il avait 4 ecrans.
Les 2 premiers Ko de VRAM decrivent 2 ecrans cote a cote a l'horizontal et les 2 suivant sont virtuellement placé en dessous des 2 premiers ce qui donne un espace de 2x2 ecrans dans lequel le GPU peut scroller horizontalement et verticalement. les 4Ko et donc les 4 ecrans se repartissent donc comme cela dans l'espace ecran virtuel
1  2
3  4

Sauf que physiquement il n'y a que les 2 premiers Ko dans la console (donc l'ecran 1 et 2)
Mais quand on regarde de plus pret comment le bus d'adressage du PPU est cablé sur la VRAM on remarque entre autre que la ligne d'adressage 10 et 11 qui sorte du PPU passent dabord par le port cartouche avant de rejoindre la VRAM de la console et donc le cablage de la cartouche va pouvoir intervetir la ligne d'adressage 11 avec la 10 ainsi quand le PPU va vouloir fraire un scroling vertical (donc un scrolling entre l'ecran 1 et 3) et va donc s'adresser au 3eme Ko de sa VRAM (qui physiquement n'existe pas) grace a se cablage il sera rediriger vers le 2eme Ko de la VRAM qui lui existe bien et donc pourra faire un scrolling vertical. Le simple cablage de la cartouche peut alors modifier le mapping memoire du PPU.
Ca veut dire que pour une cartouche basique sans extension ni mapper alors c'est le cablage de la cartouche qui défini si le jeu sera plutot calibré pour du scrolling vertical ou horizontal.

Je me suis dailleurs amuser a deviner a quoi doit ressembler le cablage sur la cartouche (a l'extreme droite du schéma) pour un jeu avec un scrolling vertical

(https://lh6.googleusercontent.com/-Za4-VXnu14c/U10UbRPlwlI/AAAAAAAAAHo/CBGXv2IzZ4E/w693-h1068-no/PPUwire.jpg)


on peut voir aussi en bas le chip U2 qui est le chip qui permet au PPU d'utiliser les memes sorties aussi bien pour faire passer les données que l'adressage memoire (donc en alternance) ce qui simplifie la complexité du PPU en economisant 8 pins.
On le voit intercepter les 8 lignes de données qui sortent du PPU pour les transformer en 8 lignes d'adressages selon ce que le PPU lui dit de faire ou pas (ligne ALE)
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 27, 2014, 05:33:29 PM
le CPU a un bus d'adressage de 16 lignes (16bit) ce qui lui permet d'adresser 64Ko de memoire divers et variées. Mais comment on fait pour placer les 2Ko de RAM dans cette espace memoire alors que le chip de RAM n'est connecté qu'a 10 lignes d'adressage du CPU ou comment placer les 8 octets de registre du PPU qui lui meme n'est connecté qu'a 3 lignes d'adressage du CPU.

Y a un chip intermediaire (U3 sur le schema) qui va servir a definir le mapping memoire de ces composants. C'est lui qui va placer les 2Ko de RAM et les 8 registres du PPU quelque part dans l'espace memoire total de 64Ko du CPU pour cela il va intercepter certaines lignes d'adressages du CPU et les interpreter pour decider quand ca concerne ou pas la RAM ou le PPU (pour que la RAM ou le PPU puissent decider eux meme si ca les concernes il aurait fallu que chacun soit relié au 16 lignes d'adressage du CPU).

et comme apres avoir enlever les 32Ko de ROM il reste encore 32Ko d'espace memoire pour tout le reste (RAM, I/O) et que c'est bien plus que necessaire alors ce chip va simplifier le cablage au minimum en interceptant juste les lignes d'adressages 13, 14 et 15 du CPU pour faire le boulot qu'on lui demdande et c'est cette simplification qui crée les effets miroirs dans l'espace memoire.
Par exemple le fait que les 2Ko de WRAM se répete 4x dans l'espace memoire (de 0 a 8ko). C'est a dire que quand le CPU adresse l'octet 0 ou l'octet 2Ko ou 4Ko il s'adresse en faite au meme octet de RAM, chaque octet de RAM a donc 4 adresses differentes par effet miroir et c'est juste une consequence d'un cablage simplifier car dans le cas present on peut se permettre de gacher de l'adressage memoire pour simplifier le cablage et economiser.
Pareille pour les 8 registres du PPU qui eux occupent au final 8Ko d'espace memoire (entre l'adresse 8Ko et 16Ko) et donc se repete 1000fois d'affilé dans l'espace memoire mais ca a permis de simplifier le cablage.


Du coup connaissant le mapping memoire de la console qui est detaillé dans la doc (c'est a dire a quoi correspond chacun des 64Ko de memoire adressable et comment c'est miroré) je me suis amusé a deviner comment est constitué et cablé le chip U3 pour expliquer la repartition dans l'espace memoire et les effets miroirs tel que decrit. C'est un excercice completement gratuit mais j'aime bien comprendre le mapping memoire (et c'est ce que j'aime dans ces machines encore simple c'est qu'on a encore la possibilité de comprendre leur cablage sans avoir vraiment de connaissance en electronique)

j'ai donc fais un zoom sur le chip U3 pour dessiner ce qu'il devrait y avoir a l'interieur. a priori ca reste un chip tres basique avec juste quelques portes logiques. Les seuls gros chips de la console sont le CPU et le PPU et leur chip de RAM respectif.

(https://lh5.googleusercontent.com/-C3XaXWImUPg/U10hLIqIQ_I/AAAAAAAAAIk/8P4iWGO_vk0/w1207-h991-no/CPUwire.jpg)
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 27, 2014, 05:50:37 PM
Niveau Audio ca a l'aire quand meme pas mal aussi.
y a 4 canaux de generateur de son 4bit (2 pour des ondes rectangulaire, 1 triangulaire et un de "bruit") avec pas mal de parametrage (y a quand meme 22 registres pour le chip audio. c'est presque plus compliqué a assimiler au premier abord que la partie GPU, faut dire que je m'y interresse moins aussi)
Bien mieux que les 2 canaux avec un generateur de son 1bit basique de la VCS

et surtout j'ai découvert avec surprise qu'il y a aussi un 5eme canal qui est un canal PCM/DMC pour jouer de vrai sample qui se trouve sur la cartouche. alors c'est sure c'est pas du sample 16bit, c'est du sample 7bit mais ca me parait quand meme pas mal. Je savais pas que la NES pouvait jouer des samples audio.
Je me rend pas compte si avec une resolution de 7bit on peut reproduire une voix numerique.
le probleme c'est qu'il faudrait quasiment utiliser une bank PGR-ROM complete juste pour un bon sample donc peu probable dans de vrai jeu j'imagine mais peut etre pour un ecran titre?
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 30, 2014, 11:04:33 PM
Je me suis interressé un peu a la facon dont est produit la palette et le signal video, c'est pas du tout un domaine que je maitrise (c'est de l'electronique pure) mais c'est un domaine interressant a survoler car ca permet de repondre a certaines questions et effectivement apres une petite enquete ca m'a permis d'avoir des reponses sur divers sujet notement au sujet d'une legende concernant la NES et Myamoto et aussi le pourquoi je n'ai pas pu resister a la Master system a l'epoque au lieu de la NES.
Ca m'a permis aussi de realiser a quelle point la france a ete vraiment un pays unique au monde dans le paysage hardware des consoles. Donc beaucoup de chose a evoquer, je vais essayé de pas etre trop confus



Je vous ai deja parlé du cas de l'Atari 2600 francaise, on a eu en france la pire console au monde a cause de la norme SECAM. Apres un jolie bidouillage que je ne vais pas réexpliqué on s'est retrouvé avec une palette de 8 couleurs au lieu de 128 a l'origine ce qui nous a donné des jeux avec des couleurs "particuliere". qui a envie de se baigner dans cette eau?

(https://lh4.googleusercontent.com/-obMNKLQRj-0/U11dfP6EipI/AAAAAAAAAJo/V32WKy6VJJs/w864-h1081-no/CaliforniaNTSECAM.jpg)




Mais en plus de cumuler la particularité 50hz de la region PAL (d'un poid tres minoritaire face au mastodon US et Jap de l'industrie jeux video de l'epoque), et celle du SECAM, on etait aussi les seuls au monde a imposer la peritel (ou SCART) sur toutes TV et appareils dès 1980. C'etait obligatoire.
Donc ca fait beaucoup de particularités cumulés pour un seul petit pays et ca nous a donné pas mal de console relativement unique.


Revenons a la NES. Le PPU de la NES n'est pas un GPU "RGB" comme celui de la Master system. il produit directement en interne un signal composite NTSC ou PAL (comme une Atari2600)
Mais en france il etait obligatoire de proposer une sortie peritel or a cette epoque la norme peritel etait aparement une norme RGB exclusive.
Plus tard on poura faire passer un signal composite dans une prise peritel (ce qui malheureusement nous vaudra l'heresie d'avoir entre autre des PS2 ou PS3 en composite sur la prise peritel grace a un simple adaptateur) mais pas a cette epoque.

Du coup Nintendo a ete obligé d'ajouter une petite carte dans sa NES qui va créer un signal RGB a partir du signal composite qui sort du PPU et ainsi sortir un signal RGB sur la peritel.
Un signal composite c'est deja tres laid, celui de la NES etant en plus pas top si on en croit la facon dont il est généré, mais devoir le convertir en RGB dans la console (et de facon un peu archaique a priori) a du degrader encore plus le signal meme si la conversion RGB elle finit par se faire dans la TV d'une maniere ou d'une autre.

Du coup il est reconnu que la NES francaise a le pire signal video au monde (comme l'Atari 2600 dans un autre genre)
WahWah avait fait une video interressante sur le sujet car il est possible de moder une NES francaise pour la transformer en full RGB car il existe un PPU RGB, celui du Playchoice qui est la version arcade de la NES

(http://i.imgur.com/HKpvsoW.jpg)


Mais ca demande vraiment d'etre électronicien (faut remplacer le PPU, le CPU et l'horloge). Et ils ont probablement du tenter d'emuler en RGB la palette NTSC particuliere de la NES ce qui doit pas etre si facile, ca serait interressant de savoir comment ce PPU special est concu

http://youtu.be/Gv5IG8GoY8Y



Tout ca pour dire donc que la NES francaise avait un signal video vraiment pourri... alors qu'en face on avait une Master system qui elle avait un GPU vraiment  RGB. C'est a dire que le GPU sortait uniquement un signal RGB et qu'il fallait ensuite un autre composant pour transformer ce signal en composite NTSC ou PAL et c'etait donc le cas... sauf en france car en france la peritel etait obligatoire et donc le RGB sauf que cette fois on a un GPU vraiment RGB donc cette loi qui etait un fleau dans le cas de la NES devient une benediction dans la cas de la Master system car a priori avec un GPU RGB on peut s'attendre a ce que la version francaise récupere directement le signal qui sort du GPU.

Ce qui peut sembler une evidence ne l'ai pas souvent dans ce domaine donc j'ai décidé de verifier par moi meme en demontant ma Master System.
J'aurais pu me contenter de l'inscription au dos "SEGA MASTER SYSTEM POWER BASE RGB FR" qui deja semblait lever le doute sur le faite qu'on avait encore une fois une version unique au monde mais je voulais etre sur (que ce soit pas juste le resultat d'une double conversion)

et effectivement j'ai pu constater par moi meme que l'emplacement reservé au chip qui sert normalement a convertir le signal RGB en composite est désèsperement vide! a la place on a simplement 3 fils soudés qui relient les 3 pins RGB du GPU directement a la sortie video. la MS francaise est full RGB, la classe!

Donc a l'inverse de l'Atari2600 francaise et de la NES francaise qui sont les pires au mondes, la MS francaise est la meilleur au monde (en qualité de signal, faut faire abstraction du 50hz)
Ce genre de configuration 100% RGB a l'epoque c'etait l'apanage de l'arcade et la Master System francaise nous offrait ca dans le salon.
Et a l'epoque quand j'ai découvert la Master system fin 1987 avec The ninja c'est justement ca que j'ai ressenti, j'avais l'impression d'avoir l'arcade a la maison!

C'etait sur ce point le grand ecart avec la NES qui en terme de signal video etait a l'autre bout de l'echelle et inconsciement ca a du jouer.
Faut aussi ajouter a cela que la NES a ete tres mal distribué en france, bien plus vieille que la MS elle a reussit a sortir apres cette derniere en france ala suite d'une premier sortie raté et une seconde par Bandai.
De plus a l'epoque y avait cette politique qui consistait a refourguer dabord tous les vieux jeux au lieu de rattraper le retard. Et la qualité technique des jeux NES est tres dependante de la technologie utilisé dans les cartouches, pour rivaliser techniquement avec la Master system fallait les jeux recent. 
Puis y a les parametres completement random (comme le fait que mon cousin avait acheté la Master system dès sa sortie donc mes premiers contact avec les consoles 8 bits c'etait ca, j'ai touché une NES que bien longtemps apres)

Mais y avait quand meme cette image qui a joué, l'image NES me paraissait d'un autre age (et a raison finallement), je me suis laissé envouté par l'image sexy de la Master system et cumulé aux restes des elements cités plus haut c'etait finallement difficile de resister a la MS en france mais c'etait une situation tres locale finallement, tres particuliere a la france.





Je reviens sur la palette de couleur de ces consoles (a titre indicatif c'est quand meme l'Atari 2600 qui a la palette de couleur la plus large des 3) qui etait aussi tres differente a cause de la facon de les générés.
La master system avait une palette RGB de 64 couleurs.
Chaque couleur de sa palette etait défini sur 6bit: 2bit de rouge, 2bit de vert et 2bit de bleu. Chacun servant alors a definir l'intensité de l'onde R,G ou B correspondante et on avait donc 4x4x4 = 64 combinaisons possibles.
on avait donc des couleurs RGB classic tres vivent, saturé/pure. On pouvait avoir un Rouge 100% combiné a un vert et bleu 0%

Sur NES on pouvait pas vraiment avoir de couleur pure/saturé. Les 52 couleurs etaient aussi codé sur 6bit mais cette fois on avait 2bit de luminance et 4bit de chrominance. l'onde du signal video composite etait produite directement a partir de ca. Les 2bit de luminances influencaient sur l'amplitude de l'onde du signal video, et les 4bit de chrominance produisait un déphasage plus ou moins grand de la porteuse (la chrominance d'un signal composite PAL/NTSC est codé par modulation de phase)

De la facon dont sont généré les couleurs il est pas possible d'avoir des couleurs saturées tel qu'avec une palette RGB basique. Tu peux pas avoir un rouge 100% et un vert/bleu 0%, ca demanderait une combinaison luminance/chrominance tres particuliere (alors qu'en RGB c'est un cas tout a fait ordinaire a coder).
A la place on a des couleurs qui sont a peu pret toutes un melange plus ou moins fort des 3 couleurs primaires et donc des choses plus pastel sans couleur RGB pure ce qui n'est pas mal non plus. y a pas forcement de palette ideal mais ca explique la difference (couplé a la difference de qualité de signal). c'etait vraiment 2 images differentes



et c'est la aussi que j'en viens a l'une des legendes autour de la NES et de Myamoto

(http://www.journaldugamer.com/files/2013/06/tumblr_lwas7oOYWm1r8umx7o1_500.jpg)


Moi j'ai souvent lu (et encore dans le livre de Florent Gorges) que la palette de la NES etait particuliere car les couleurs de la palette NES aurait ete sélectionné une a une et pas par un ingenieur mais par un artiste, Myamoto. D'ou ces choix de ton pastelle et de couleurs qui correspondrait mieux au besoin pour représenter un paysage.

Quand on regarde la facon dont est généré l'onde du signal composite de la NES, de facon on ne peut plus basique aparement, avec un signal source 42.96mhz qui va permetre de crée 12 phases differentes (pas une de plus ou de moins) d'une onde NTSC 3.58mhz  (42.96/12 = 3.58) et ces 12 phases équidistantes sont les 12 teintes qui pouront etre selectionner par les 4bit de chrominance de la couleur.
a cela s'ajoute une 13eme teinte qui est l'absence de phase et donc de teinte (le gris) et 4 degrés de luminance (les 2bit) ca donne 13x4= 52 couleurs.

Mais le generateur d'onde qui produit ce signal composite NES ne pouvait pas produire autre chose que ces 52 teintes, y a rien de choisie la dedans, juste le choix d'un generateur d'onde le plus simple possible et qui par defaut donne cette palette (tout comme la palette RGB de la MS qui est aussi une palette par defaut) donc je pense que cette legende est totalement fausse.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 01, 2014, 11:50:29 AM
Voila a quoi ressemble ma Master System qu'on pourait qualifier de model "Arcade". Toute la magie est dans ces 3 fils noirs
La france   :cool: 


(https://lh4.googleusercontent.com/-9cDZZ-Vz0Ug/U2IXInr8cSI/AAAAAAAAALY/zCNrhbS1xn0/w1024-h811-no/MasterSystem.jpg)
Titre: Re : Hardcore Retrogaming
Posté par: Hobes le Mai 01, 2014, 01:24:53 PM
J'ai enfin tout lu. La partie technique sur les différences Nes/Atari VCS, je n'ai pas tout saisi (vraiment trop technique pour moi) par contre très intéressant tout ce qui concerne la Nes et la Master System en France. C'est là qu'on se dit qu'une uniformisation des normes a du bien aider pour sortir les consoles sur certains marchés.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 01, 2014, 06:00:40 PM
c'est bien t'es courageux. mais moi non plus je comprend que la moitié des documents que je lis en général mais j'aime ca.

Dommage quand meme que le RGB n'a jamais ete standard. C'est vrai qu'il y a peu de vrai source RGB, en general les sources sont elle meme plutot composite luminance/chrominance (que ce soit la TV hertzienne, une cassette VHS....) donc ca n'etait effectivement pas tres utile d'avoir du RGB pour la grande majorité des sources video (meme un bluray ca reste encoder en luminance/chrominance parce que le Mpeg aime bien ca)
Mais pour le cas particulier des consoles de jeu si le RGB avait ete un standard universel on y aurait vraiment gagné d'autant que le RGB c'est au final tres simple comme choix technique (c'est le language de l'ecran lui meme) donc c'est dommage

Je savais pas mais le SECAM (invention francaise, notement la ligne de retard pour la chrominance qui est virtuellement repris dans quasiment tous les systemes video aujourd'hui, le format 4:2:2) on a failli en faire un standard en chine et au japon a la place du NTSC.
Imagine si le SECAM avait ete la norme de la france et du japon, on aurait ete des privilegiés :)

Heureusement aujourd'hui on a le HDMI et on en a finit avec toutes ces histoires. les plus jeunes ne sauront jamais le bordel que ca a ete (devoir attendre une console comme la NES pendant 3 ans et demi pour avoir un truc avec un signal video pourri et en 50hz, ils peuvent pas imaginer toute cette souffrance :D )



Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 01, 2014, 06:17:43 PM
Vous etiez plutot des joueurs NES ici?
Moi j'ai pas trop connu la NES a part chez des potes vite fait, c'est un peu triste. J'ai une vieille Famicom chez moi juste pour l'objet
Titre: Re : Hardcore Retrogaming
Posté par: Hobes le Mai 01, 2014, 07:23:09 PM
Master System pour ma part. Mes oncles avaient une NES avec Duck Hunt, Mario et Double Dragon. De bons souvenirs mais assez anecdotiques par rapport à mes journées sur Sonic ou Alex Kidd. Par contre je dois être le seul vu qu'une majorité des joueurs avaient la console de Nintendo (et je sais que c'est le cas de Pippo et Futch entre autre).
Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Mai 01, 2014, 08:25:10 PM
Tu rigoles, ma première console de salon c'était une Master System 1986, toute première édition européenne sans jeu installé avec Hang On sur carte.
Titre: Re : Hardcore Retrogaming
Posté par: Hobes le Mai 01, 2014, 08:27:29 PM
Je disais que tu avais une NES, pas que tu n'avais pas eu de Master System :nerd:
Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Mai 01, 2014, 08:28:29 PM
La nes, je l'ai eu longtemps après, ma pratique 8bits, c'est sur SMS que ça s'est passé :sol:
Pourquoi tu crois que Wonder Boy > * ?
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 01, 2014, 08:34:26 PM
pas mal de bon souvenirs aussi, les Wonderboys, Golvelius, Shinobi, R-type, Alex kid, Phantasy star, The Ninja, Black belt, Choplifter, Space harrier, Out run, Power strike, Rastan, Fantasy zone, zillon, Alien syndrome...

mais je suis passé a coté de pas mal de jeu nintendo d'autant que j'ai pas eu de SNES non plus, j'ai joué sur Megadrive et PCengine en import puis quand la SNES est arrivé en france c'etait une periode ou je ne jouais plus (tout comme je pense que la NES et son demarrage tres lent etait devenu incontournable en france au moment ou moi j'etais deja sur Megadrive/PCengine en import).
Sur 10 consoles nintendo j'en ai eu que 2 (la Gamecube et la N64)


Pour revenir au hardware je trouve la NES vraiment sexy. Remis dans le contexte c'est vraiment du bon boulot et dès le debut Nintendo a fait du sur-mesure. Par exemple le CPU etait custom et integrait des features specifiques alors que sur les consoles sega c'etait toujours des CPU standard, la customisation se faisait sur le GPU comme chez les autres aussi (atari, coleco, neogeo...).
Sauf la PC engine qui etait aussi une machine vraiment custom facon NES (en plus les chips graphiques on vraiment ete designé par Hudson Soft si je ne me trompe pas, je crois que c'est justement le devellopement en interne de ces chips qu'ils n'ont pas reussit a revendre a des constructeurs comme nintendo qui les a pousser a faire leur propre console avec NEC, une belle machine)


J'ai jeté un oeil rapide sur la doc Master system. La master system a un fonctionnement asser proche de la NES, 2 pools de 256 tiles de 8x8, 64 sprites par ecran, 8 par scanline, 2 palettes de 16 couleurs affichable (une pour les sprites et une pour le background) donc ca ressemble a la NES mais avec plus de flexibilité sur pas mal de point comme la possibilité de piocher dans les tiles des sprites pour le background ou de piocher dans la palette des sprites pour les tiles du background ou la possibilité de flipper les tiles du background...
Mais le truc qui a mon avis etait le plus gros atout par raport a la NES c'etait d'avoir une palette de 15 couleurs (selectionner parmis les 64) utilisable intégralement par les sprites alors que sur NES t'avais une palette de 12 couleurs pour les sprites mais divisé en 4 palettes de 3 et chaque sprite devait choisir l'une de ces 4 palettes de 3 couleurs et 3 couleurs pour dessiner un sprite c'est vraiment difficile, c'est le plus gros handicape de la NES car tout le reste tiens tres bien la route surtout avec les customisations dans les cartouches.

Mais la Master system avec ses atout avait des graphismes qui pesait plus lourd en taille, tout prenait 2x plus de place (les pattern des tiles, le "frame buffer"...) donc ca pouvait aussi etre un handicape. Les graphismes NES etait tres economique sur ce point (une tile NES c'est 16 octets contre 32 sur master system)
Et notement au niveau du framebuffer en VRAM (on parle plutot de "name table" ici car c'est pas un buffer de pixels mais de tiles) la Master System n'avait la place que pour un seul ecran 256x224 la ou la NES stockait 2 ecrans 256x240 (dans une configuration 512x240 ou 256x480, a l'ecran l'affichage etait 256x224 en NTSC) ce qui offrait certaine commodité.

Pour faire un scrolling on a pas forcement besoin d'un double ecran mais a cause de la gestion par tile il faut au moins avoir une tile de plus (soit 8 pixels) sur le coté et en dessous. Du coup la Master system n'affiche que 192 lignes sur les 224 pour avoir une reserve pour gerer le scrolling vertical et quand tu veux faire un scrolling horizontal alors le GPU cache aussi une bande de une tile de large (8 pixels) sur le coté gauche.
Si vous voulez un bon exemple lancez Alex kid, ca demarre sur un scrolling vertical ou l'on descend puis on tombe dans l'eau et ca passe en scrolling horizontal, le moment ou ca passe en scrolling horizontal vous verrez une bande noir de 8 pixels apparaitre et caché le bord gauche de l'image car la MS va alors utiliser cette espace pour gerer le scrolling a defaut d'avoir un espace memoire plus large. Faite le test c'est marrant de le savoir
Sur NES le trick de cacher une bande de 8 pixels sur la gauche existe aussi (c'est activable) mais est bien plus dispensable vu l'espace framebuffer plus large qu'on peut utiliser en configuration horizontal.

Mais ces sprites MS plein de couleurs avec ce signal RGB pure ca avait quand meme de la gueule comparé a la NES
Niveau audio la NES a l'aire meilleur que la MS (mais la Mark III au japon avait un meilleur chip audio que la MS)

Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 02, 2014, 04:19:13 PM
j'ai trouvé quelques details sur la palette du PPU NES version special Arcade et c'est exactement comme je le pensais.
Avec le passage en RGB ils ne pouvaient pas se contenter d'un codage 6bit de la palette comme sur une NES standard ou sur MS car sinon ils auraient eu justement la meme palette RGB que sur Master System et ca n'aurait pas ete vraiment compatible avec les jeux NES existant, il leur fallait passer par un intermediaire.

Donc ce PPU RGB a finalement un codage 9bit de la palette et donc peut générer potentiellement 512 couleurs differentes (comme sur Megadrive ou s'est aussi un codage RGB 9bit) et ainsi il leur est possible de piocher la dedans pour retrouver des teintes proches de celle de la NES standard et reconstituer une table intermediaire de 52 couleurs qui elle sera indexé en 6bit comme pour une NES standard (donc la vrai palette reste limité comme avant).

Mais du coup il se sont fait plaisir et ont constitué 5 palettes differentes de 52 couleurs (voir 64 qui est le vrai potentiel d'un codage 6bit) c'est a dire la palette standard et 4 autres palettes plus vives qui peuvent alors etre selectionner pour remplacer la palette standard au cas par cas.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 02, 2014, 09:27:26 PM
Si jamais je dois creusé plus loin le hardware NES ca passera forcement par programmer un truc et je me dirigerais probablement vers un portage (partiel) d'un jeu Master system sur NES genre Alex kidd ou The Ninja.

Mais bordel la limite de 3 couleurs pour les sprites NES c'est vraiment une grosse contrainte. J'ai tenté sur le sprite de Alex Kidd qui utilise 7 couleurs et impossible d'en faire une version 3 couleurs. a 5 ca passe bien, a 4 on peut obtenir un truc ressemblant mais 3 couleurs c'est impossible (si vous voulez essayer)

C'est clairement le plus gros handicape de la NES alors que tout le reste est tres bon.
Sans aller jusqu'au 4bpp (4bit par pixel soit 15 couleurs) de la Master system qui est un peu too much au vu de la palette tres limité (dailleurs la Megadrive est resté sur du 4bpp comme la MS, c'etait bien suffisant) mais juste du 3bpp (7 couleurs) pour les sprites ca aurait deja tout changé.
7 couleurs tu peux tout faire, 3 couleurs tu peux rien faire, y a un gouffre entre les 2. C'est domage parce que en 3bpp au lieu de 2bpp la NES aurait ete une tuerie et n'aurais rien eu a envier a la MS mais remis dans le contexte c'etait difficile.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 03, 2014, 02:48:05 PM
Passer de 7 a 4 couleurs ca passe tres bien, on garde l'identité du personnage (notement la tenu rouge indissociable du personnage)
Mais passer de 4 a 3 c'est un carnage.


(https://lh5.googleusercontent.com/-o4PFrPx-5U8/U2Tjo0-uR_I/AAAAAAAAAL0/5eVX6KKvE6I/w435-h105-no/Alex.png)
Titre: Re : Hardcore Retrogaming
Posté par: Hobes le Mai 03, 2014, 06:46:16 PM
Mais comment se fait-il qu'il y ait des titres comme Adventure Island IV qui aient un héros avec 4/5 couleurs ?

(http://www.arqueologiadigital.com.ar/guiafamily/pics/adventure_island_4_01.gif)
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 03, 2014, 07:36:14 PM
Parce que en faite c'est 3 couleurs par sprite mais ce qu'on appel ici un sprite c'est pas vraiment le personnage mais un tile de 8x8 et les personnages sont composés de plusieurs tiles/sprites

Par exemple Mario petit c'est 4 sprites (2x2) et Mario grand c'est deja 8 sprites (2x4). Alex est entre les 2 (2x3)
Donc tu peux mixer plusieurs palettes de sprites sur un meme personnage mais c'est tres compliqué dabord parce que faut construire ton sprite de facon a ce que les changements de couleur se face entre les tiles et puis ensuite ca t'oblige a utiliser alors 2 palettes sprites differente pour ton personnage et ca veut dire qu'il t'en reste plus que 2 autres pour les ennemies/projectiles (y a que 4 palettes de 3 couleurs pour les sprites) a moins de les reutiliser pour les ennemies aussi. et ca va etre 2 palettes asser redondante (par exemple dans ton exemple le personnage a 4 couleurs, il utilise 2 palettes avec une seul couleur qui change entre les 2 palettes. il reutilise deja la palette du haut de son corp pour les os qu'il lance et l'ennemi? dans l'arbre)

Donc tu peux bidouiller mais c'est galere
Par exemple Alex ca donne ca

(https://lh4.googleusercontent.com/-G43fYVeHpa8/U2UjKhhEhzI/AAAAAAAAAMc/QvKK8et9wVE/w127-h179-no/Alexsplit.png)

Sa tete est aussi grosse que son corp soit 1.5 sprite de haut chacun et du coup les 2 sprites du milieu couvre aussi bien son visage, ses yeux, que son corp. on pourait bricoler un truc en utilisant 8 sprites au lieu de 6 avec des espaces au dessus et au dessous pour separer le visage du reste du corp mais ca donnerait pas un resultat beaucoup mieux et sa gacherait une palette et 2 sprites. J'ai pas trop envie de faire du bricolage.

Apres l'autre astuce possible c'est j'imagine d'utiliser la couleur de transparence (un sprite c'est 3 couleurs + la couleur transparente qui permet a ton sprite de pas etre juste un tile carré) comme une couleur qui sera alors celle du background si ton personnage est toujours sur un meme fond unis.
Par exemple Samus dans Metroid est toujours sur un fond noir unis et utilise alors cette couleur noir dans son sprite par transparence. En faite on en arrive tout le temps a la conclusion qu'il faut minimum 4 couleurs pour faire des sprites correct, d'ou la contrainte de la NES qui se trouve vraiment ici et les mappers des cartouches ne peuvent rien changer a priori a cette contrainte.


On comprend mieux aussi pourquoi 64 sprites géré par la NES et la Master system ca peut paraitre beaucoup mais ca part vite car c'est des petits sprite de 8x8, 64 sprites ca fait seulement 8 personnage comme le grand Mario.

Et quand on dit que c'est 8 sprites maximum affichable par scanline (par ligne horizontal) faut donc tenir compte qu'en général un personnage/ennemie fera 2 sprites de large donc ca veut dire pas plus de 4 sur la meme ligne.
Par exemple si tu lance Mario vers le debut y a un moment ou tu peux avoir 4 gooma autour de toi (2 a gauche et 2 a droite) et ca suffira a faire clignoter les sprites car avec Mario ca fait alors 5x2=10 sprites sur la meme scanline.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 03, 2014, 10:31:42 PM
j'ai quand meme fais des tests en combinant 2 palettes differentes (une pour la tete et une pour le corp) et ca donne quelque chose d'asser interressant.

l'original a gauche, ma version NES a droite

(https://lh4.googleusercontent.com/-ob2veTm7VdY/U2VU_EiQPEI/AAAAAAAAANM/eNCFmkuz9UQ/w233-h519-no/AlexTest.png)


En gros ca me coute chaque fois 2 sprites supplémentaires (en plus d'une seconde palette mais c'est 2 palettes asser differentes donc peut se recycler pour des objets noir/rouge ou noir/bleu ou noir/blanc ou noir/beige)
Mais par contre comme je dissocie la tete du corps ca me permet de recycler les meme tiles de tete pour les 3 derniers sprites par exemple (en plus du gros poing qui lui doit aussi etre dissocié et recyclé sur MS) et du coup en nombre de tiles total different dans la table de pattern ca me donne le meme resultat sur ce petit echantillon.

Bon par contre je suis un peu obligé de lui mettre des genres de gants rouges qui disparaissent quand il fait le gros poing mais je pense que ca choque pas trop, l'essentiel est que le code couleur global soit la.
Ca me plait pas mal finallement.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 04, 2014, 12:32:10 AM
Certain emulateurs permettent d'afficher ce qu'il y a dans les differentes memoires graphiques de la NES. On peut voir ce qu'il se passe en temps réel pendant qu'on joue, si vous voulez voir l'envers du décors ca peut toujours etre interressant d'utiliser ce genre d'emulateur.
Par exemple l'emulateur FCEUX vous affiche cela

(https://lh5.googleusercontent.com/-0yAx3GI69zc/U2Vs9PZg_pI/AAAAAAAAANw/1kylKe7fKYg/w1159-h1742-no/MemoireGraph.jpg)
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 04, 2014, 11:54:49 AM
Avec la palette NES ca donne plutot ca (meme si y a aucun consensus sur l'interprétation RGB de la palette NES donc ca dépend de l'emulateur)


(https://lh6.googleusercontent.com/-fpHdeVrxymM/U2YM2qyb0mI/AAAAAAAAAOE/Km55YFU02zA/w230-h516-no/nespalette.png)



par contre je me rend compte qu'avec cette solution ca me donne jusqu'a 6 sprites sur la meme scanline soit 75% de la capacité d'affichage de sprite. ca laisse peu de marge avant de se retrouver avec des clignotements.
C'est pour ca que c'est toujours interressant de se mettre dans la position du programmeur meme partiellement car y a que comme ca que tu te rend compte de toutes les contraintes. Quand on joue a ces jeux simplistes on se rend pas compte

Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 05, 2014, 06:21:58 PM
Un truc tout simple mais qui est compliqué a faire sur NES aparement c'est d'avoir une bande "HUD" ou "Score" en haut ou en bas de l'ecran alors meme que t'es dans un jeu a scrolling car cette bande fera partie du background mais faut pas qu'elle scroll avec le reste du jeu et la NES est pas prevu pour faire cette distinction donc faut bidouiller.
Aparement certain mapper de cartouche integre des features pour aider a faire ca. de ce coté je crois que la Master system est mieux lotie et integre dans son GPU la possibilité de pour pouvoir diviser l'ecran en 2 (une partie qui scroll et une partie fixe) sans passer par des bidouilles (mais dans Alex y a pas de HUD donc c'est reglé).



Mais quand meme le scrolling cablé c'est une sacré invention. ca fait partie des rares etapes/revolutions technique du jeu video avec l'arrivée des polygones 3D (et bientot la VR). Ca a ouvert une fenetre vers des mondes a explorer, ca a quand meme tout changé.

Dailleurs si j'ai eu une Atari 2600 tres tot et que j'ai bien aimé joué avec, la passion du jeu video elle a commencé seulement avec les consoles 8bits (et l'arcade) quand le scrolling a ouvert cette porte vers un nouveau monde. Alors que je voyais dans l'atari juste un jouet tres amusant, la master system c'etait plonger dans le monde des reves et c'est principalement grace au scrolling je pense.

le scrolling cablé en hard c'est finalement pas grand chose techniquement, c'est juste une gestion un peu plus complexe de l'incrementation de l'adressage de la VRAM pendant l'affichage pour pouvoir faire boucler une portion de memoire selon certaines regles et valeurs plutot que de lire la VRAM betement de facon séquenciel de l'adresse 0 a l'adresse XX.

Mais combiné a la gestion de l'affichage par tile c'est sacrement economique et efficace. Un scrolling horizontal sur NES a une vitesse classic de 1 pixel par frame idealement ca ne necessite d'ecrire en VRAM que 4 octets par frame!
Alors forcement meme avec un CPU tres faible comme dans la NES et un temps tres court (modifier la VRAM ca se fait pendant le Vblank entre 2 frames soit a peine plus de 1 milliseconde) t'arrive a t'en sortir pour faire ton scrolling, charger la table de sprite et 2 ou 3 autres truc.
Titre: Re : Hardcore Retrogaming
Posté par: Shin le Mai 05, 2014, 10:25:37 PM
J'ai appris beaucoup, merci :jap:
C'est extrêmement intéressant.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 06, 2014, 03:22:12 PM
je répons moi meme a des questions que je me posais y a 30 ans. C'est asser amusant a faire.
C'est tres amusant aussi de rejouer a ces vieux jeux tout en comprenant ce qu'il se passe a l'image, tu decripte beaucoup de chose, tous les petits glitch, les choix techniques, ca devient un jeu dans le jeu et une motivation supplémentaire a relancer des vieux jeux en émulation.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 06, 2014, 09:03:18 PM
le PPU est optimisé et calibré au poil de cul
le PPU a besoin de 2 cycles pour acceder a un octet en VRAM
y a 340 cycles PPU pendant une scanline (donc pendant le balayage d'une ligne ecran)
Ca veut donc dire que le PPU peut lire 170 octets en VRAM pendant le tracage d'une ligne et quand on fait le calcule entre les acces a la "name table", la table d'attribut, les tables de pattern (backround et sprite) il y a besoin de lire 168 octets par scanline pour avoir toutes les données nécessaires.
Donc la VRAM est occupé a 99% pendant le tracage des lignes (ca inclut meme les blanking horizontaux, c'est a dire le moment entre 2 ligne ou y a rien a tracé et ou le PPU prepare quand meme la suite notement les sprites) pas la peine d'essayer d'y acceder.
Et heureusement que le PPU a aussi une petite memoire interne (qui n'est donc pas en VRAM) pour la table des sprites et donc y acceder et la trier pour evaluer quelle sont les 8 sprites affichables la ligne suivante et ainsi pouvoir le faire simultanement au tracage de la ligne en cours (la Master system elle gere tout dans une unique memoire donc forcement avec des acces plus rapide)


Donc pendant le tracage le PPU et la VRAM sont vraiment busy.
C'est pour ca qu'on ne peut acceder a la VRAM (pour modifier ce qui est affiché) que pendant le VBlank, ce moment entre 2 frames ou le PPU est au repos et qui en NTSC ne dure que le temps de 20 ligne sur 262

Finallement en NTSC la NES affiche bien 240 lignes, c'est du 256x240. Je pensais que ca ne concernait que l'ecran virtuel mais c'est bien aussi ce qu'elle affiche réllement sauf qu'on considere que la zone vraiment exploitable c'est 224 lignes et que le reste est dans l'overscan hors de l'ecran. Mais alors je comprend pas pourquoi ne pas avoir éteint le PPU audela de 224 lignes et ainsi laisser la VRAM accessible?
Ca aurait permis d'avoir un Vblank de 36 lignes au lieu de seulement 20, j'imagine que c'est pas du luxe pour avoir le temps d'utiliser certain tricks (sur la master system tu peux te contenter de 192 lignes affichable) d'autant qu'avoir 16 lignes non affiché c'est utile aussi dans certain cas de scrolling pour cacher certain glitch (qui le sont par l'overscan en theorie mais quand meme). Mais non y a apparemment rien dans les registres PPU qui permet de reduire l'affichage a 224 lignes, vraiment curieux. (si ton jeu est a scrolling horizontal rien ne t'empeche de mettre des tiles noirs en haut et en bas et de gerer l'affichage en 224 lignes mais ca n'empechera pas que le GPU sera occupé et non disponible pendant l'affichage de ses lignes noirs, ton VBlank restera limité a 20 lignes)

Pour l'instant ce choix de 240 lignes affiché est un mystere pour moi et le seul truc que je trouve mal fichu.
Du coup en PAL ca affiche aussi 240 lignes (mais qui ont toute les chances d'etre visibles a l'ecran cette fois) mais le Vblank dure 70 lignes donc une situation bien plus confortable. Y a pas de jeux NES sortie seulement en PAL?


Titre: Re : Hardcore Retrogaming
Posté par: Leonfr24 le Mai 07, 2014, 03:42:11 PM
Mr.Gimmick-SCN-PAL-B ONLY
Super Turrican-ESP-FRG-PAL-B ONLY
Hammerin' Harry-ESP-FRG-PAL-B ONLY
Banana Prince-FRG-PAL-B ONLY
Asterix-FRG-PAL-B ONLY
Over Horizon-NOE-PAL-B Only
Mario/Tetris/World Cup 3-1-ESP-PAL-B ONLY
Beauty and the Beast-NOE-PAL-B ONLY

Encore merci pour ton topic si instructif ^^
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 07, 2014, 03:51:53 PM
merci, j'irais jeté un oeil voir si ils ont des particularités qui profite du Vblank bien plus long (tu peux en gros faire 3x plus de modifications de la VRAM entre chaque frame qu'en NTSC)


purée le gouffre entre le sound chip de la Mark 3 (MS japonaise) et de notre master system  :sweaf:
la Mark 3 avait un super sound chip superieur a la NES et au final nous on se retrouve avec un sound chip (integré au GPU il me semble) inferieur a celui de la NES

http://youtu.be/F1HcHYOsaw0

http://youtu.be/XgCvLkT6AS0

Titre: Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 07, 2014, 07:57:54 PM
Citation de: Leonfr24 le Mai 07, 2014, 03:42:11 PM
Mr.Gimmick-SCN-PAL-B ONLY
Super Turrican-ESP-FRG-PAL-B ONLY
Hammerin' Harry-ESP-FRG-PAL-B ONLY
Banana Prince-FRG-PAL-B ONLY
Asterix-FRG-PAL-B ONLY
Over Horizon-NOE-PAL-B Only
Mario/Tetris/World Cup 3-1-ESP-PAL-B ONLY
Beauty and the Beast-NOE-PAL-B ONLY

Encore merci pour ton topic si instructif ^^

j'ai testé Super Turrican mais rien vu de particulier

Par contre ensuite j'ai testé Asterix et la on constate qu'ils ont effectivement exploité le Vblank plus long du PAL dans le superbe sprite d'Asterix.
Deja on constate que c'est un gros "sprite" composé de 12 sprites (3x4) et tres bien animé.
Pour animer le sprite d'un personnage (par exemple animer le mouvement de marche) la solution ordinaire c'est de stocker toutes les versions differentes des tiles qui compose le sprite dans toutes les positions et donc de switcher entre ces differents sprites pour changer l'apparence du sprite du personnage et ca consiste juste a modifier la table de sprite (la liste des sprite affiché a l'ecran) ce qui n'est pas couteux. Mais comme y a seulement 256 tiles dans la table de pattern pour stocker toutes les tiles de tous les sprites c'est compliqué de faire de belle animation.

Dans Asterix ils ont utilisé une autre solution qui consiste a n'avoir qu'un seul set de tile, une seul etape d'animation stocker dans la table de pattern (donc seulement 12 tiles pour representer Asterix dans une seul position, comme si il n'etait pas animé) et de modifier directement la table de pattern entre 2 frames pour remplacer ces 12 tiles par 12 autres qui represente une autre etape d'animation.
C'est une methode que j'ai deja vu utilisé pour ajouter des petites animes dans le décor (par exemple animer les vaguelettes a la surface de l'eau) mais ca se limite en general a 2 tiles car modifier une seul tile dans la table de pattern ca veut dire modifier 16 octets de VRAM ce qui est deja pas mal.

Ici dans Asterix il faut donc modifier 12 tiles d'asterix + 2 tiles du decors (car y a de l'animation aussi dans le decor) entre 2 frame donc pendant le blanking.
14 tiles ca veut dire modifier 224 octets de VRAM pendant le blanking! J'ai calculé que ca prendrait minimum 1100 cycle CPU soit l'equivalent de 19 lignes de balayages NTSC alors que le blanking en NTSC dure 20 lignes et qu'il y a d'autre chose a faire (comme mettre a jour la table de sprite qui prend minimum 5 lignes)  donc ca ne passerait pas. Heureusement en PAL y a 70 lignes de Vblank

Donc on peut dire que Asterix ne pourait pas tourner en l'etat en NTSC (mais avec un mapper asser evolué y a un autre moyen je pense qui consisterait a utiliser un bank switching pour la CHR-ROM avec une granularité tres fine de 1ko et de switcher juste 1ko de la table de pattern ou se trouve le sprite d'Asterix pour l'animer, le bank switching c'est instantané, ca prend a peine quelques cycles CPU mais par contre ca oblige a switcher minimum 64 tiles de sprite et pas juste 14. C'est surement utiliser dans quelques jeux)

Si vous avez un emulateur sous la main jeter un oeil dessus, le sprite est asser chouette pour de la NES.
Infogramme a toujours fait cette effort technique sur l'esthetique des jeux a défaut d'autre chose.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 07, 2014, 08:06:47 PM
http://youtu.be/cbZveRmHbyE
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 08, 2014, 02:02:51 PM
Je suis pas un expert des emulateurs NES mais j'ai pas l'impression qu'il y a mieux que fceux
http://www.fceux.com/web/home.html
Non seulement il marche tres bien mais surtout il est bien equipé en outils de debuguage (et de TAS). J'ai pas l'impression qu'il y ai beaucoup d'autre choix.

J'ai pas encore beaucoup creusé mais pour l'instant j'ai l'impression que la communauté homebrew NES est moins active que celle de la VCS. je pensais que la communauté NES serait de loin la plus active mais la communauté homebrew VCS de ce que j'ai pu en voir quand je m'y suis mis c'est vraiment enorme, c'est peut etre finalement la plus active et la mieux documenté (ou alors peut etre SNES?).

Dailleurs j'ai meme pas trouvé ne serait ce qu'une intention de portage d'Alex kidd sur NES en homebrew. C'est quand meme étonnant. si vous trouvez trace sur le web d'un projet alex kidd faite le moi savoir. Sinon ca pourrait etre ma base de travaille pour tester la programmation NES


Titre: Re : Hardcore Retrogaming
Posté par: komboloy le Mai 08, 2014, 02:20:17 PM
Super Topic, vraiment !
J'adore ton initiative Upsilandre, je veux faire ce genre d'exercice depuis environs 2 ans mais faute de temps, je dois toujours lâcher l'affaire au bout de 2-3 semaines pour raisons professionnelles.

Je viens de lire tout ton post avec intérêt et franchement, bravo. Tu fais exactement le genre d'exercices que j'aurai voulu entreprendre...Je suis limite jaloux là... :)

Bref continue, j'adore :)
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 08, 2014, 05:16:38 PM
Merci
C'est le probleme c'est que t'as jamais le temps pour finir un truc ni meme le temps de commencer en general.
Mais ma demarche c'est pas de créer des jeux (sinon je le ferais sur PC avec des outils modernes) mais juste de comprendre ces vieilles machines donc ca me dérange pas trop de démarrer un truc sans le terminer vu que ce qui compte c'est ce que j'en aurais appris jusque la.





Pour revenir a la NES et la Master system que j'ai creusé un peu plus aussi
J'ai pas mal evoqué le cas des sprites, les meme capacité sur les 2 consoles (64 sprites par ecran, 8 sprites par scanline) mais le fait d'etre limité a des palettes de 3 couleurs sur NES (4 palettes de 3 couleurs) contre 15 couleurs par sprite sur MS change au final beaucoup de chose, cette limite de 3 couleurs est une grosse contrainte.

Mais j'ai pas trop evoqué le cas du background qui a aussi ses differences entre NES et MS.
Dans les 2 cas ca reste un assemblage de tile 8x8 comme pour les psrites. Ces tiles (que ce soit celle du background ou des sprites) sont stocké dans une memoire, la table de pattern, qui se trouve dans la VRAM de la console pour la Master system mais sur la cartouche pour la NES (sous forme de ROM ou de RAM) car la NES a tres peu de VRAM embarqué dans la console (2Ko + 256octet conte 16Ko de VRAM pour la master system qui donc integre directement la table de pattern. La NES mise beaucoup sur les cartouches)

Sur les 2 consoles c'est a peu pret le meme nombre de tiles disponible pour le background (256 avec la possibilité pour la MS d'aller piocher aussi dans les tiles de sprite pour le background)
Donc la difference va se faire encore une fois sur les palettes. sur NES va falloir encore se limiter a choisir une palette de 3 couleurs parmis 4 palettes. sur MS on a encore une fois une palette de 15 couleurs et on peut aussi utiliser la palette des sprite (donc le choix entre 2 palettes de 15 couleurs au lieu de 4 palettes de 3 couleurs)

Donc grosso modo c'est la meme situation que pour les sprites mais etre limité a 3 couleurs je pense que c'est + contraignant pour les sprites qui necessitent du detail si on veut représenter un personnage que pour le background sauf que la NES ajoute une autre contrainte pour les tiles du background:
Tu ne peux pas choisir une palette pour chaque tile (contrairement aux sprites). Le choix de la palette de chaque tile du backrgound se fait dans une autre table appelé table d'attribut et il faut choisir une palette (de 3 couleurs) pour un ensemble de 4 tiles (2x2) donc pour un bloc 16x16.

Donc au final le background sur NES se construit plutot par bloc de 16x16 au lieu de 8x8 contrairement a la Master system ou t'as pas de contrainte de ce coté mais d'un autre coté meme sur MS les test de collision se font en general plutot a une echelle de bloc 16x16 je pense car c'est plutot une bonne echelle pour gerer les interactions (c'est en gros la taille d'un petit personnage ou d'un petit ennemi) donc les bloc de 16x16 sont plutot un type de bloc standard pour le background d'un jeu 8bit

Mais cette table d'attribut ajoute une autre contrainte car chaque octet de la table regroupe l'index de 4 tablettes (car suffit de 2bit pour indexer une tablette parmis 4) donc chaque octet indique les palettes pour un ensemble de 2x2 bloc de 2x2 tiles soit au final un bloc de 32x32 pixels (ou chaque bloc de 16x16 aura sa palette) et comme on manipule plutot les données par octet complet ca veut dire que lorsqu'on manipule le background (quand on fait scroller) il est mieux de le faire par bloc de 32x32 sur NES plutot que par bloc de 8x8 ou 16x16.
Ca implique notement que quand tu fais par exemple un scrolling horizontal sur NES il sera préférable de mettre a jour l'affichage du decor par bloc de 32 pixels de large et donc prevoir un espace hors de l'ecran qui fasse au moins 32 pixels pour qu'on ne voit pas a l'ecran les glitch causé par la mise a jour du décor alors que sur Master system tu peux mettre a jour le decor par colonne de seulement 8 pixels de large (donc par tile) et donc tu n'as alors que ces 8 pixels a cacher hors champ



Ceci peut expliquer pourquoi la master system se contente de gérer un ecran virtuel de 256x224 pour un affichage en 256x192 (ou 248x192 selon ce qu'on choisie).
Les 16 pixels verticaux supplémentaire lui suffisent pour gérer la mise a jour du scrolling vertical (8 suffirait) et les 8 pixels que l'on peut cacher sur la gauche suffisent aussi a gérer le scrolling horizontal (sur un emulateur Master system vous pouvez constater cette petit bande noir vertical sur la gauche lorsqu'il y a un scrolling horizontal)

De son coté la NES gére un ecran virtuel plus large,  512x240 ou 256x480 selon le jeu (notement car ses données graphiques occupent 2x moins de place que sur Master system, c'est l'avantage d'avoir des palettes pauvres) pour un affichage en 256x240 (ou 248x240) donc largement de quoi cacher les 32 pixels de marge dont elle a besoin pour gérer tranquillement le scrolling. C'est un peu plus compliqué si on veut faire un scrolling multidirectionnel (vertical et horizontal a la fois) sans aucun glitch apparent sur les bords mais pas insurmontable.





Voila donc quelques differences pour la gestion du background
J'ajouterais aussi 2 autres fonctions cablées en hard sur Master system qui sont bien utile et qui n'existe pas sur NES
Sur master system vous pouvez déclarer une zone de 16 pixels en haut de l'ecran ou 64 pixels sur la gauche qui ne subiront pas les effets du scrolling du background. Tres utile pour faire un HUD et afficher des informations qui ne doivent donc pas scroller (par contre on peut pas choisir la taille de cette zone, c'est prédéfinie). Sur NES y a pas ca

Et sur Master system tu peux aussi mettre en place des interruptions CPU lié au balayage horizontal de l'ecran. C'est a dire demander au GPU d'interrompre le CPU et donc lancé un sous-programme lorsque l'ecran balaye la 64eme ligne par exemple, ou toutes les 32 lignes. Ca peut etre utile pour certain trick graphique.
La NES n'a pas non plus cette fonction bien utile mais heureusement certain mapper dans les cartouches offres cette possibilités de pouvoir activer une interruption au moment de l'affichage de tel ou tel ligne et c'est dailleurs ca qui sera utilisé sur NES pour par exemple réserver une zone en haut de l'ecran qui ne scroll pas et faire un HUD puisqu'elle ne sait pas le faire en hard.



Dailleurs cette capacité de ce mapper NES a pouvoir faire ca m'avait intrigué car ca implique que le mapper dans la cartouche soit capable de compter les lignes affichées et interrompre le CPU en fonction de cela.
Or si sur le shema de cablage de la console on peut voir effectivement que la pin d'IRQ (interruption) du CPU est bien connecté au port cartouche (donc la possibilité pour la cartouche d'enclencher une interruption) mais le signal Vblank du GPU lui ne passe pas du tout par le port cartouche (et le signal Hsync reste interne au GPU) donc difficile pour le mapper de savoir ou s'en trouve l'affichage.

Et finallement ils utilisent une solution ingénieuse. Le mapper exploite simplement la ligne d'adresse A13 du GPU (donc la ligne de poid la plus elevé de l'espace memoire GPU) qui evidement passe elle bien par le port cartouche vu que le GPU utilise directement la ROM/RAM dans les cartouches.
Et il se trouve que quand le GPU s'occupe de l'affichage il switch constamment entre la "name table" qui est dans la VRAM de la console (pour savoir quelle tile il doit afficher a cette endroit de l'ecran) et la table de pattern qui est sur la cartouche (pour aller chercher la pattern de la tile en question) et ce qui différencie l'acces a ces 2 espaces memoire c'est justement la ligne A13.
Quand elle est sous tension elle permet de s'adresser au 8ko de poid fort qui sont ceux de la table de pattern dans la cartouche, et éteint elle sert alors a s'adresser aux 8Ko de poid faible qui sont la VRAM dans la console (physiquement 2ko seulement mirroré 4 fois) et donc le GPU switch 42 fois entre ces 2 memoires pendant l'affichage de chaque ligne comme un metronome.
Le mapper utilise donc ce metronome pour compte les lignes affichées et déclencher une interruption au moment que l'on a choisie ce qui permettra ensuite plein de trick.


Je reviendrais sur les mapper dans les prochains jours, c'est un élément important de la NES, probablement plus que pour n'importe quelle console de ce que j'en constate.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 09, 2014, 09:38:51 PM
Je commence a regarder un peu du coté des outils.

Pour l'assembleur 6502 j'aurais bien repris DASM que j'ai deja utilisé pour programmer sur VCS vu que c'est le meme CPU mais de ce que j'en lis DASM est quand meme tres vieux (c'est le tout premier compilateur 6502), donc j'ai fais un peu le tri parmis les assembleurs 6502 et mon dévolu ce porte sur ASM6 qui a l'aire d'etre le meilleur choix pour moi.

Pour l'emulateur ca sera Fceux. Fceux + ASM6 ca a l'aire d'etre le combo gagnant

Pour l'editeur de texte j'ai pris notepad++ histoire de pas repartir sur le basic notepad Windows que j'ai utilisé pour programmer la VCS

J'ai pris un petit soft japonais appelé YYCHR qui sert pour dessiner des patterns. dedans y a des trucs un peu obscure, a creuser.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 10, 2014, 03:03:26 PM
Un truc que j'ai oublié d'evoquer aussi au sujet des backgrounds sur Master system c'est que tu peux appliquer un flip vertical ou horizontal sur les tiles du background comme pour les sprites chose que tu ne peux pas faire sur les tiles du background avec la NES. Pouvoir flipper les tiles ca permet de faire des économies en utilisant un meme tile pour des elements gauche et droit.
Par exemple sur Alex kidd quand on désactive le flip sur le background ca donne ca

(https://lh5.googleusercontent.com/-jVlmBgRmJfA/U24exBFsapI/AAAAAAAAAOc/LyDfIrfTqo0/w526-h462-no/tILEfLIP.jpg)

Sur NES je serais obligé d'utiliser des tiles differents pour les versions gauche et droite, une contrainte supplementaire (car y a pas beaucoup de place dans la table de pattern)





Un autre truc que j'ai oublié d'evoquer aussi pour les sprites et qu'il est intéressant de savoir pour briller en societé.
Le phénomene de clignotement des sprites asser symptomatique de l'epoque n'est pas un glitch hardware, c'est le programmeur du jeu qui volontairement fait clignoter ses sprites, je pense que peu de joueurs le savent.

Par defaut les sprites excédent (audela de 8 sur la meme ligne) ne sont tout simplement pas affiché par le PPU et donc certain ennemis ou projectiles pourraient alors etre tout simplement invisible (ou en tout cas une partie du sprite) ce qui est embetant. Du coup le programmeur alterne volontairement l'affichage des sprites pour que tous soit visibles.

Y a une notion de priorité dans les sprites. Pendant l'affichage de chaque ligne le PPU refait une lecture integrale de la table des sprites (qui en contient 64) pour identifier les sprites qui seront présent sur la prochaine ligne mais ne pouvant en afficher que 8 le PPU va selectionner les 8 premiers. L'ordre de priorité des sprites est donc juste celui de lecture de la table de sprite (c'est valable aussi pour savoir lequel s'affiche par dessus l'autre quand plusieurs sprites sont au meme endroit)

Du coup quand y a plus de 8 sprites a afficher sur la ligne alors ceux en excedent ne seront pas affichés. Pour alterner l'affichage entre ceux qui sont affichés et ceux qui ne le sont pas j'imagine qu'il suffit d'inverser une frame sur 2 la construction de ta table de sprite pour quelle soit lu par la fin et donc inverser les priorités ce qui permettra alors de rendre visible 16 sprites en alternance et donc avec un clignotement.

Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 11, 2014, 03:31:41 PM
C'est marrant d'optimiser tes sprites.
Quand tu decomposes tes metasprites (le sprite du personnage qui est lui meme composé de plusieurs sprites) en tile de 8x8 tu te rend vite compte que certain tile se ressemble comme 2 goutes d'eau avec genre juste un pixel de difference ou un decalage de coordonée d'un pixel donc tu peux facilement tricher et gagner des tiles.

Pour tous ses mouvements (marcher, repos, accroupi, saut, frapper, nager) Alex utilise 10 metasprites et si j'additionne bettement les tiles qui les composent ca me donne 75 tiles (d'autant que la bidouille des 5 couleurs impose un surcout de sprites) mais une fois optimisé en recyclant certain tile je tombe a seulement 33 et sans degradation visible.
C'est probablement une optimisation qui ne me sera pas forcement utile mais c'est tentant.

Sinon j'ai toujours pas vraiment compris la facon d'utiliser YY-CHR du coup j'utilise "NES screen tool" 2.03 pour faire mes patterns, y a pas photos, c'est bien plus intuitif, ca correspond a ce que je cherchais (tout l'inverse de YY-CHR qui a plutot l'aire de s'adresser a ceux qui veulent modifier les patterns de jeu existant).

Mon tile set complet pour Alex (mais sans les couleurs puisque ce sont les sprites qui selectionne la palette a associé au tile)

(https://lh5.googleusercontent.com/-7EGpQnZDBZ8/U292axIf4ZI/AAAAAAAAAPE/9pXbnmXPsXw/s128-no/AlexTileSet.png)

il me reste pas mal de place (la surface du carré représente l'integralité de la pattern dédié aux sprites soit 4ko pour 256 tiles)

l'interet de NST c'est qu'il te sort aussi le fichier binaire de la pattern complete de 4ko que tu peux ensuite integrer dans ton programme assembleur et donc dans ton fichier ROM.
il peut aussi te sortir un fichier binaire pour la palette, la name table, la table d'attribut, la liste de sprite de tes metasprites mais c'est surtout pour le CHR-ROM de 4ko qu'il est indispensable car c'est difficile de sortir ca a la main octets par octets (voir peut etre pour la name table, a voir).
Mais c'est toujours a toi ensuite de savoir comment exploiter ce fichier et quoi en faire, il te sort juste les data brute.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 13, 2014, 04:57:55 PM
Meme si j'ai un peu la flemme faut que j'écrive un truc sur les mappers car c'est quand meme un element important a comprendre dans l'histoire de ces consoles.



LES MAPPERS

Le mapper c'est un chip qui se trouve sur la cartouche et qui va venir s'interposer entre la ROM de la cartouche (la ou se trouve le jeu) et la console pour interpréter et modifier ce qui passe par la.

Principalement sa fonction ca va etre d'étendre virtuellement le bus d'adressage du CPU qui passe par le port cartouche et donc par la meme occasion etendre virtuellement la quantité de ROM adressable (et donc la taille du jeu)
Car en effet sur ces vieilles console on a de vieux CPU (6502, Z80) avec des bus d'adressage seulement 16bit ce qui implique de pouvoir adresser seulement 64Ko tout compris (ROM, RAM, BIOS, registre/port des differents composants) donc en general on coupe en 2 (plus facile en terme de cablage et de mapping memoire), une moitié pour la ROM et l'autre moitié pour tout le reste du systeme.

Sur NES le CPU pourra donc adresser seulement 32Ko de ROM (+ 8Ko de ROM graphique par le PPU qui a son propre bus d'adressage mais 14bit donc 4x plus faible que le CPU) ce qui est sensiblement plus que sur la VCS (4Ko) mais reste trop faible pour etre a la hauteur de ses ambitions vis a vis de cette revolution du scrolling qui a tendance a ouvrir une porte vers un monde "infini" et d'un seul coup ca devient quand meme couteux en données malgres les optimisations (gestion par tiles).

Donc sur NES si vous voulez vous faire une idée de ce que la console a dans le bide sans mapper (donc des jeux limités a 40ko) alors la réponse c'est Super Mario bros, c'est probablement ce qu'on peut faire de mieux avec juste la console nue. Ca reste asser limité



L'ABONDANCE

Donc rapidement les mapper vont arrivés et de facon asser anarchiques. Ca a permis notement d'avoir une gamme de jeu extrement large qui s'etend de 24Ko a 1024Ko (+ d'autre features)
La NES est probablement la plus extreme dans l'usage des mappers, y a environ 200 mappers differents. Chaque editeur faisait son mapper parfois specifiquement pour un jeu.

Je crois pas qu'il y ai d'autres consoles qui aient subit autant de mappers differents. Ca a l'aire quand meme symptomatique de la NES.
La VCS avait par defaut des ressources (4ko, 128octet de RAM) asser raccord avec ses specs donc le mapper n'etait pas un passage obligé, y en a juste eu quelques uns notement pour doubler la taille des cartouche.

Sur Master system qui est aussi asser limité par defaut (48Ko de ROM adressable par le CPU et rien adressable par le GPU) a integré la notion de mapper dès le depart puisque les jeux MS ont debuté a 128Ko (si on fait exception des jeux sur carte de 32Ko qui elles n'integrent pas de mapper, d'ou le format carte) du coup ca semble avoir ete standarisé par Sega dès le depart.
La gamme offerte (de 128ko a 512Ko) et la gestion du bankswitching est completement standarisé et le mapper doit etre fournis par Sega je pense du coup aucun bordel.
D'autant plus que le cablage du port cartouche de la Master System est plus simple (44 pins contre 60 pour la famicom et 72 pour la NES) et se limite en gros au bus d'adressage et bus de donné du CPU contrairement a la NES ou le PPU a aussi acces a la cartouche (et meme le son passe par la cartouche et peut donc etre modifier mais exclusivement sur Famicom, par sur NES)
du coup y a moins de customisation possible sur Master system au travers du mapper contrairement a la NES ou on peut customiser pas mal de chose (du faite surtout que le PPU est connecté a la cartouche qui est la grosse difference avec la Master system)

Sur les consoles 16bits je connais moins bien mais deja la Megadrive utilise un 68000 qui est un CPU avec un bus d'adressage 24bit ce qui offre une plage memoire de 16Mo, bien plus que necessaire pour la megadrive (ou les plus gros jeux doivent pas depasser les 3 ou 4Mo) donc doit pas exister grand chose comme mapper sur Megadrive, peut etre aucun.
La SNES j'ai pas etudié, je sais qu'elle a aussi un bus 24bit donc plus que nécessaire et qui rend la fonction premiere du mapper (etendre la memoire adressable) inutile donc en dehors des mappers avec des chip pour etendre les capacités de la console type super FX y a pas du y en avoir des dizaines et on ne peut pas vraiment appeler ca un mapper.

Donc la NES semble bien quand meme etre un cas extreme dans l'histoire des mappers. Ca longue durée de vie a sans doute beaucoup contribué a cela aussi.
Dailleurs quand on voit comment le port cartouche est bien cablé pour de futur evolutions au travers des mappers je trouve que ca met a mal une autre legende comme quoi la NES aurait ete au depart concu comme un jouet éphémère qui passe de mode rapidement. Je pense que les 3 ans visé etait probablement leur seuil de rentabilité pour que le projet soit viable mais le hardware donne plutot l'impression qu'ils visaient clairement plus loin dès le depart.



L'EMULATION

Ce nombre incroyable de mapper a surtout rendu l'emulation tres complexe car il ne faut pas juste emuler la console mais aussi emuler tous les mappers qui sont aussi du hardware.
Franchement bravo aux gars qui font des emulateurs NES car ca doit etre un sacré casse tete (et on ne remerciera jamais asser ceux qui créent les emulateurs, je pense qu'un jour on realisera a quelle point ils ont ete determinant dans la préservation du patrimoine de ce media tres complexe a préserver)
Au point dailleurs que les ROMs NES qu'on utilise en emulation ne sont pas une simple image de la ROM d'origine comme c'est le cas en général mais contiennent un header de 16 octets (qui se trouve donc au tout debut du fichier) qui est destiné aux emulateurs pour donner des information sur ce qu'est censé contenir la cartouche et pouvoir ainsi emuler le mapper. Un consensus a donc du émerger sur la facon de coder cette information et standariser l'emulation, c'etait indispensable.

Dailleurs vous pouvez remarquer que les ROM NES ont une taille singuliere. En general une cartouche de 128ko donne un fichier ROM de 128Ko. L'equivalent NES vous sera indiqué a 129Ko par l'explorateur winbows (ou 257Ko au lieu de 256Ko ect...) car c'est 128Ko + les 16 octets de header et c'est donc arrondie a 129Ko. une particularité des ROM NES que l'on doit a cette folie des mappers



CONCRETEMENT

Maintenant pour etre plus concret sur NES y a eu quand meme des mappers "officiels" soutenu par nintendo et qui sont donc utilisés dans beaucoup de jeu.
Y en a surtout 2 qui emerge du lot chacun utilisé dans plusieurs centaines de jeux c'est le MMC1 (Zelda, Metroid, Megaman 2...) et plus tard a partir du debut des année 90 le MMC3 (tous les Megaman suivant le 2, les super mario suivant...)

le MMC1 offre deja l'opportunité d'augmenter la quantité de ROM (aussi bien PGR-ROM que CHR-ROM) presque autant qu'on veut et aussi la possibilité de gérer le mirroring de la VRAM qui influe sur les methode de scrolling et qui normalement est fixe mais qui avec un MMC1 peut etre modifié en court de jeu.
Il permet aussi d'ajouter de la RAM qui combiné a une pile va servir aux sauvegarde.

le MMC3 va ameliorer ca et offrir une meilleur granularité dans la gestion du bank-switching (au lieu de switcher la CHR-ROM par bloc de 8Ko on va pouvoir switcher juste 1Ko pour par exemple juste changer le sprite de 2 ou 3 ennemis plutot que tous le set de tile et toujours de facon instantané, c'est presque un avantage sur la master system)
et cette fonction bien utile qui manque a la NES qui est la possibilité de générer une interruption selon la ligne d'affichage que l'on a décidé et donc pouvoir agir sur l'affichage (notement diviser l'ecran en 2 parties, le jeu et le hud)
En gros le MMC3 embarque a peu pret tout ce qu'on a besoin.

Mais y a quand meme eu un MMC5 tres peu utilisé mais pousse vraiment au max les possibilités avec l'intégration d'un soundchip pour upgrader l'audio (mais apriori uniquement valable sur Famicom vu que la NES est cablé differement) et une gestion de la VRAM bien tordu qui permet certain trick asser surprenant comme la possibilité d'etendre la table d'attribut et pouvoir associer une palette pour chaque tile du background comme sur Master system (au lieu d'etre limité a un bloc 16x16)
et encore plus fort, la possibilité de coder la name table sur 14bit au lieu de 8bit et donc pouvoir adresser directement une table de 16384 tiles au lieu de 256 ce qui veut dire plus besoin de faire de bank-switching pour la CHR-ROM, t'as un acces direct a toutes la CHR-ROM dispo sur la cartouche (la ou meme une master systeme est limité a 448 tiles a la fois).
et meme la possibilité de splitté l'ecran verticalement.
On atteint alors des sommets de bidouillage et donc de customisation de la console.



CONCLUSION

Donc voila en gros l'histoire des mappers de la NES.
C'est peut etre la partie que j'aime le moins dans la NES car au final les contours du hardware de la NES sont flou contrairement a d'autres consoles. On ne peut pas vraiment dissocier la NES de ses mappers et donc on peut difficilement donner une description fermé du hardware de la NES (meme si y a beaucoup de chose qui ne change pas comme les 3 couleurs par sprite ou les 8 sprites par scanline) ce qui m'embete un peu. Les contours sont dilués.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 13, 2014, 05:37:17 PM
Je vous avais dit qu'en lisant les documents j'avais decouvert que la NES etait capable de jouer des samples audio PCM 7bit.
Connaissant pas bien les jeux NES je savais pas si c'etait exploité dans des jeux ce qui est a priori difficile. Effectivement on trouve quelques jeux qui utilise des voix samplés mais vu le peut de place c'est plutot du DMC et pas au mieux de ce qu'il est possible.

Mais moi je voulais quand meme entendre ce que ca pouvait donner au max de ses capacités et j'ai trouvé cette exemple homebrew d'un sample complet de musique PCM 7bit 16khz jouer sur NES et ca rend carrement bien... Sauf que pour 1mn35 de musique il a fallu 256 bank de 16Ko de ROM (4Mo), une pour le programme et 255 pour le sample.

En regardant cette video gardez a l'esprit que Super Mario Bros c'est au total 2 banks pour le jeu entier (et Donkey kong une seul bank) et regarder le chiffre des banks en train de switché qui défile en haut a gauche, chaque fois que ca switch c'est l'equivalent d'un jeu Donkey ou d'un demi Mario. Il consome l'equivalent en ROM de plus d'un jeu super mario par seconde  :roll: :lol:


http://youtu.be/v0dBXuZtbos


Voila pourquoi ce n'est pas utilisé (meme si y a pas besoin de cette exemple pour le deviner)


encore plus drole :D

http://youtu.be/4s0Y1LYLdAQ

Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 23, 2014, 06:27:31 PM
Sur SNES y a aussi des demos de son PCM 16bit en stereo et 32khz donc la c'est quasiment qualité CD (et ca prend aussi autant de place)

http://youtu.be/p_60V8UdYEY



Mais deja sur la NES on a vu qu'on pouvait faire un sampling de qualité viable et avoir de vrai track audio de musique/dialogue
Sur un scénarios de ROM infini, un scénarios ou le cout de la ROM serait disont 10 000x inferieur a ce qu'il etait a l'epoque alors sur NES on aurait meme pu faire de la video full screen 30fps (sur master system ca me parait compliqué) et donc avec le son adequate.

Ce qui coute en perf pour la video et l'audio c'est surtout les modes de compressions pour economiser de la place mais si on se fiche de la place occupé et donc sans compression alors c'est jamais tres compliqué, c'est juste du deplacement de donnée et dans le cas de la NES y aurait meme pas a deplacer les données vu que le PPU est directement connecté a la cartouche (contrairement a la MS) un simple bank switching permet de changer l'image affiché a l'ecran et donc a cout quasi nulle (juste quelques instructions CPU)

Reste la question de comment afficher un bitmap fullscreen sur l'ecran (c'est a dire une image dont on a le controle individuel de chaque pixel plutot qu'une gestion par tile tel que ces consoles l'imposent)
Et encore une fois le cablage du PPU permet de tricker cela avec un mapper adequate.
Pour afficher une bitmap full screen faudrait pouvoir gerer un total de 960 tiles a la fois pour que toutes les tiles affichées a l'ecran soit unique (et servent alors a composer un bitmap) mais par defaut la NES ne peut en gérer que 256 a la fois (voir 512 avec un trick mid-frame)
Mais un mapper comme le MMC5 permet lui d'etendre la name table de 8bit a 14bit et donc de gérer 16384 tiles a la fois donc plus que necessaire.

Pour un mapper optimisé pour la video suffirait d'un mapper plus simple que le MMC5 capable juste d'etendre la name table de 8bit a 10bit et on pourait alors gérer 1024 tiles a la fois et donc afficher des bitmap full screen 256x240.
Chaque bank de 16Ko de CHR-ROM contiendrait alors un bitmap 256x240 complet et suffirait alors de faire du bank switching pour changer de frame d'autant que la name table elle n'a pas besoin d'etre modifier, c'est les tiles qui change.

par contre ca serait du bitmap 2bpp soit 4 couleurs et 4 couleurs c'est trop peu pour faire de la video mais comme on affiche a 60fps sans probleme (vu que ca coute rien en ressource) on peut combiner 2 frames successivent pour simuler de facon temporel du 4bpp.
Y aurait un peu de flickering mais on aurait alors de la video Full screen en 16 couleurs et 30fps (et sans artefact de compression puisqu'il n'y en a pas) et ca rendrait sans doute pas trop mal.

Le MMC5 integre aussi un soundchip donc on pourait le modifier pour qu'il soit dédié PCM avec un seul canal mais cette fois 16bit 32khz tant qu'a faire et on aurait un son nickel pour accompagner la video full screen et tout ca sans que ca coute rien en ressource pour la NES (elle se tournera les pouces pendant les FMV). 

par contre ca nous donne donc par seconde 60 banks 16Ko pour la video + 4 bank 16ko pour l'audio soit exactement 1Mo par seconde (a peu pret comme un film DVD poussé a sa qualité max) donc faudrait des cartouches avec des ROMs de la taille d'un DVD pour pouvoir faire des jeux NES ponctué de FMV full screen soit 10 000x plus qu'a l'epoque
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 25, 2014, 12:58:52 PM
(http://upload.wikimedia.org/wikipedia/commons/5/52/Intellivision_-_gi_1326971.jpg)




PROLOGUE

J'ai bien décortiqué les docs de devs de l'intellivision de Mattel, sortie en 1979/1980 (dabord de facon confidentiel fin 1979 pour tester le marché US comme ca se faisait souvent a l'epoque puis de facon national l'année suivante) soit 2 ans apres l'Atari VCS et 4 ans avant la Famicom.
C'etait le premier vrai concurrent de la VCS donc une machine qui historiquement a marqué et s'est vendu a 3 millions d'exemplaire. Obligé de s'y intéresser.

J'ai trouvé une machine qui dans le fond (le hardware) ressemble plus a une NES qu'a une VCS alors que dans la forme (le visuel des jeux) elle fait plutot penser a une VCS du a ses limitations techniques de l'epoque.
C'est un peu le chainon manquant que je cherchais dans ma chronologie. La ou la VCS etait la premiere console avec un vrai GPU mais un GPU 1D. L'intellivision est la premiere avec un vrai GPU 2D ou l'on retrouve les mecanismes qu'on retrouvera ensuite dans toutes les consoles 2D, des tiles 8x8, une table de background, des vrai sprites 2D, un debut de réflexion sur le scrolling...

A l'intérieur beaucoup de composant, une douzaine de chip principalement fournit par Général instrument (l'un de ces nombreux pionniers des semi-conducteurs des années 70 qui n'ont pas tous pu survivre ensuite sans fusionner) on est loin de la parcimonie de consoles comme la VCS (principalement 3 chips) ou la NES (principalement 4 chips) qui ont sans doute fait leur succes en maitrisant au mieux le rapport cout/perf.
Ici le sound chip n'est pas intégré a un autre chip, ni le DAC video et y a beaucoup de pool memoire different avec plein de chip de ROM et de RAM. un vrai GPU plutot chouette pour l'époque et un CPU exotique (de GI aussi) qui est un vrai CPU 16bit (et oui l'Intellivision est une console 16bit, c'est dire l'absurdité de cette nomenclature des joueurs consoles si il etait besoin de le rappeler).
Le contrôleur ressemble a rien et y a eu aussi un accessoire generateur de voix "Intellivoice".

http://youtu.be/Hwo2bw_m8E0




LE GPU

Le GPU (de GI aussi) a un petit nom et j'aime bien quand les GPU ont un petit nom (TIA ou Stella pour la VCS, PPU pour la NES). On le nomme le STIC. Le STIC utilise un pool de tiles 8x8 pixels pour construire son background et ses sprites tel que sur NES et les consoles suivantes.
Le STIC a donc une VRAM de 2x256 octets qui lui est dédié pour stocker 64 tiles utilisable pour le background et les sprites (sur NES c'est 256 tiles pour le background et 256 tiles pour les sprites) mais a coté de ca y a aussi une ROM de 2Ko qui contient +200 tiles prédéfini, la moitié c'est du code ASCII donc pour ecrire du texte dans les jeux sans gaché de la place sur la cartouche ou en VRAM et l'autre moitié c'est des blocs graphiques qui peuvent servir. Mais principalement c'est le pool de 64 tiles en VRAM qui va te servir a faire ton jeu.
Les tiles sont cette fois des tiles 1bpp donc monochrome (+ la couleur de background) contre 2bpp pour la NES (3 couleurs) et 4bpp pour la Master system (15 couleurs)


Pour afficher le BACKGROUND le STIC utilise une backtable (table de background, l'equivalent de la name table sur NES) qui se trouve dans une autre RAM system partagé avec le CPU et qui va donc contenir principalement la table de tiles a afficher pour composer le background.
Le background est composé de 240 tiles (20x12) pour produire donc un background d'une resolution 160x96 pixels (a peu pret le quart de la resolution NES) ou l'on peut choisir individuellement la couleur pour chaque tile (ainsi que celle du background de chaque tile selon le mode video).

Y a un debut de reflexion sur le scrolling, on a pas encore un vrai scrolling cablé comme sur NES (c'est a dire faire boucler la VRAM de la backtable et pouvoir placer le pointeur de debut n'importe ou) par contre ils ont prevu la possibilité d'ajouter un offset au background. C'est a dire la possibilité de décaler l'affichage du background de plusieurs pixels (jusqu'a 7) a la vertical ou l'horizontal. Donc tu peux faire scroller le background pixel par pixel et quand t'arrive a 7 alors il suffit de déplacer tous les tiles de la backtable d'une case et remettre l'offset a 0 puis recommencer et on a un scrolling au pixel.
Comme le CPU a toujours acces a la RAM ou est stocké la backtable meme quand le GPU l'utilise ca laisse un peu de temps pour décaler toute la backtable pendant l'affichage meme si c'est probablement pas asser pour tout déplacer en une seul frame et donc faire un scrolling propre sans tearing.

Voila le seul exemple de jeu a scrolling que j'ai trouvé et ca fonctionne (meme si y a du tearing). en plus le sprite de la voiture est en 3 couleurs comme sur NES (donc ici ca necessite de superposer 3 sprites). Donc un jeu plutot impressionnant pour la machine mais arrivé en fin de vie.

http://youtu.be/Q6Ts50mJiTk


Pour le background il existe un dernier mode video qui est une sorte de mode Bitmap ou on a donc le contrôle individuel de chaque pixel mais de tres gros pixel puisque dans ce cas la resolution est de 40x24 (soit des pixels qui font a peu pret la taille d'un tile NES)


Passons aux SPRITES.
Le STIC peut gerer seulement 8 sprites a l'ecran (contre 64 sur NES et MS) a l'aide de registre interne mais par contre il peut afficher les 8 sprites sur la meme scanline, c'est a dire autant que la NES ou la MS ce qui est plutot impressionnant.
Ces sprites sont des tiles piocher dans la VRAM de 64 tiles utilsié aussi pour le background. Ils peuvent aussi etre au format 8x16 comme sur NES/MS et dans ce cas ils sont composé de 2 tiles successive.

On peut afficher les sprites avec une resolution vertical 2x superieur au background (donc sur une base de 192 lignes au lieu de 96) dans ce cas un sprite 8x16 prend la meme place qu'un tile 8x8 du background mais c'est pas obligatoire car on a des fonction de zoom vertical et horizontal des sprites (x2 sur le horizontal et x2,x4,x8 sur la vertical)
et on a aussi des fonctions de flip vertical et horizontal des sprites donc tout ce qui fait une vrai gestion de sprite.
Ensuite reste plus qu'a indiquer les coordonnés ecran X,Y de chaque sprite et le STIC se chargera d'afficher ca comme il faut

Y a aussi une fonction suplémentaire qu'on ne retouve pas vraiment sur les consoles modernes NES/MS c'est une gestion hardware des collisions des sprites entre eux et avec le background. Un registre pour chaque sprite t'indique avec quelle élement (sprite ou background) le sprite en question est en collision (c'est a dire affiché au meme endroit) et ca c'est plutot cool pour economiser des ressources CPU. La VCS le faisait avec ses sprites 1D, la NES le fait mais juste pour tester une collision entre le sprite 0 (donc un seul sprite sur les 64) et le background ce qui sert juste pour identifier une phase de l'affichage.


Le STIC a une PALETTE de 16 couleurs, toute accessible par les sprites ou le background. C'est pas beaucoup, la VCS avec ses 128 couleurs reste loin devant (meme devant la NES et la MS) mais on avait peut de controle sur VCS (par exemple une seul couleur pour toute l'image background a moins d'utiliser des tricks) alors que sur l'intellivision on a un contrôle individuel total de la couleur (foreground et background) de chaque tile, plus meme que sur NES/MS du au peu de couleur de la palette.



la suite (CPU, memoires, Soudchip) plus tard...
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 25, 2014, 09:09:07 PM
LE CPU

Un element tres interressant de cette machine car asser exotique (peut etre pas autant que celui de la channel F) du coup pas facile a cerner en detail mais j'ai quand meme fait l'effort.
C'est donc un CPU de GI, le CP1610 qui semble ne pas avoir servie a grand chose d'autre que l'Intellivision. Une epoque ou on pouvait avoir des CPU un peu exotique car y en avait beaucoup mais rapidement certain se sont imposé notement dans les jeux video ou on a clairement eu 2 ou 3 familles de machine seulement (la famille 6502, la famille Z80 puis plus tardivement la famille 68000)

le CP1610 a une parenté avec le PDP11. Vous savez les PDP sont ces gros ordinateurs/armoires des années 60/70 utilisé dans les universités. Le plus célèbre etant le PDP1 sur lequel a ete crée le premier jeu video, Spacewars.
C'est un vrai CPU 16bit, y a pas d'ambiguité sur ce point. Tous ses registres sont 16bit (et y en a plus que dans le 6502 de la NES et de la VCS), les operations s'executent en 16bit, son bus d'adressage et de donnée est 16bit.
J'ai bien creusé et y a rien a dire, c'est bien un CPU 16bit et donc selon la nomenclature en vigueur l'intellivision est une console 16bits on ne peut pas le réfuter (si vous voulez briller en société)

Le prix a payer c'est dabord une frequence faible. La plus faible a ma connaissance (si on exclus la console portable microvision) avec 0.9Mhz soit la moitié de la frequence du CPU NES (ou meme Channel F) et 25% de moins que la VCS.
L'autre consequence c'est que pour reduire le nombre de pins du chip le bus d'adressage et de donnée sont mutliplexé dans un seul bus. Ils utilisent le meme bus de facon alternative selon des sequences complexe de plusieurs phases que le CPU transmet a tous les composants via 3 signaux complementaire pour syncroniser tout ca ce qui rallonge evidement l'execution des operations.

Mais la ou ca se complique c'est que le CPU est aussi optimisé pour travailler avec des memoires 10bit (un mot de 10bit ils appellent ca un "decle" et pas un octet) car les opcodes du CPU (c'est a dire le codage de ses instructions) se fait sur 10bit sans doute car 8bit n'etait pas asser pour englober le jeu d'instruction du CP1610 (contrairement au 6502 qui s'en contente) mais que 16bit etait du gachie.
Du coup une memoire 10bit est optimal pour stocker le programme et c'est le cas dans l'intellivision notement pour la ROM du Bios qui est une ROM 10bit de 4 KiloDecle (soit 5KiloOctet) et aussi la ROM utilisé pour les cartouches (du coup les fichiers ROM des jeux en emulation ont une taille plus grande que les vrai. un jeu intellivision qui fait 8KiloDecle ca correspond a 10KiloOctet mais le fichier pour l'emulation fera 16Ko car chaque decle sera remplacer par un mot de 16bit. On le voit tout de suite quand on ouvre l'un de ces fichier avec un editeur hexa)

Ca implique aussi lorsque le CPU travaille avec une memoire 10bit et veut malgres tout charger une valeur 16bit (puisque c'est un CPU 16bit) de devoir activer au préalable avec une instruction supplémentaire un flag particulier qui va permetre ensuite de charger une valeur 16bit a partir de 2 acces 10bits consecutif. Vous comprendrez bien que ca ralentie encore un peu plus l'execution (mais des données 8 ou 10bit suffisent certainement dans la grande majorité des cas pour un jeu intellivision donc pas besoin de s'embarrasser de cela systematiquement)
Mais attention, meme si le CPU est capable de s'adapter a une memoire 10bit ca ne l'empeche pas de fonctionner en full 16bit si il est relier a une memoire 16bit et c'est le cas dans l'intellivision ou le CPU a aussi une RAM systeme composé de mot de 16bit (352) dans laquel il va pouvoir lire et ecrire directement en 16bit (principalement pour y ecrire la table de background utilisé par le GPU qui lui fonctionne en 14bit)
a coté de ca y a une second RAM CPU qui elle est 8bit (256 octet) et qui donc nécessitera 2 acces si on veut lire et ecrire en 16bit.

Tout ca fait que les instructions demande pas mal de cycle d'execution avec en plus une frequence deja faible. L'atout de pouvoir executer des operations 16bit est a mon avis une faible contrepartie car ca doit rarement etre utile sur des jeux intellivision (voir parfois un handicape quand par exemple tu veux juste faire une rotation de bit sur un octet) reste certaines instructions plus evolué qui couplé aux registre plus nombreux que le 6502 peuvent etre sympatique (une autre originalité, le registre PC, program counter, est ici un registre comme un autre sur lequel on peut exectuer des operation arithmetique, de quoi donner des truc bizarres...)

Mais globalement je pense que le CPU de l'intellivision doit probablement se faire latter par celui de l'Atari VCS. Mais etant couplé a un vrai GPU 2D qui laisse donc au CPU tout le temps libre pendant l'affichage fait que c'est pas vraiment un probleme.


Titre: Re : Hardcore Retrogaming
Posté par: dheen le Mai 26, 2014, 05:12:28 PM
Merci pour le sujet, c est vraiment super intéressant !
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 26, 2014, 05:57:49 PM
merci
Bon je termine quand meme l'Intellivision pendant que j'ai les choses en tete avant de passer a autre chose


LE SOUNDCHIP

Ici le sound chip est un "discrete chip" c'est a dire qu'il n'est pas integré a un autre chip comme c'est souvent le cas dans les consoles de jeu comme la VCS (dans le GPU), la NES (dans le CPU), la master system (dans le GPU sauf pour la MarkIII qui avait un super sound chip yamaha dédié comme j'en ai deja parlé)
C'est donc un chip a part (il integre quand meme la gestion des controlleurs) et c'est encore une fois un chip Général instrument.
On pourait presque dire que l'intellivision est plutot une console General instrument qu'une console Mattel car c'est vraiment eux qui fournissent l'intégralité des composants (CPU, GPU, sound chip, DAC et meme les memoires je crois), c'est peut etre meme unique dans l'histoire des consoles de jeu d'une certaine maniere (faudrait voir avec la PC engine qui doit etre presque intégralement produit par NEC). Une autre particularité qu'on pourrait associer a cette console.

Revenont a nos moutons. Il se trouve que General instrument est connu pour une chose (pas seulement j'y reviendrais) dans le jeu video c'est justement sa celebre famille de sound chip AY-3-8910 qui ont équipés plein de machine comme l'Amstrad CPC, MSX, Vectrex, ZX Spectrum et bien sure l'intellivision, meme Yamaha avait racheté la licence.
Et c'etait le concurent de l'autre sound chip concurent de l'epoque fabriqué par Texas instrument,  le SN76489 (Toutes les consoles Sega, la Colecovision, la neogeo pocket)
Donc c'est a peu pret le meme genre de capacité pour toutes ces machines, 3 canaux "square wave" + un canal de bruit donc vraiment pas terrible pour une Master systeme mais tres bien pour une intellivision bien plus vieille.
Bien entendu une master system avec ses capacité RAM, ROM et CPU superieur peut mieux exploiter ce genre de chip que ne peut le faire l'intellivision. Le son c'est toujours aussi un peu une question de quantité de donnée a manipuler.

http://youtu.be/iF-mRp-VXr8



General Instrument

Je vais faire un petit HS car au debut en regardant le schema de la console et en voyant tous ces chip General instrument chaque fois référencer AY-3-XXXX ca me rappelait quelque chose mais je me souvenais pas quoi donc j'ai ressorti d'autre schéma de console mais rien...
Puis en me renseignant sur le sound chip je me suis dis que c'etait sans doute ca que ca me rapellait, ce sound chip asser connu mais non d'un seul coup ca m'est revenu.

Y a longtemps j'avais creuser l'histoire du pong (j'avais meme racheter le tout premier pong de 1975) et j'avais decouvert la revolution du "pong in a chip" qui avait permis ce raz de marré de "home pong" des années 70. C'est a dire que la revolution des circuits integrés avaient permis de reunir les dizaines et centaines de transistors, diodes ect... qu'il y avait sur une PCB pong Arcade (notement l'affichage du score qui ajoutait un vrai degrés de complexité a la PCB) en un seul chip ce qui permettait d'en faire une version domestique.

Atari a designé un tel chip pour leurs pong mais rapidement d'autres constructeurs ont proposés ce genre de chip dans leur catalogue et comme pour les sound chip c'etait General instrument face a Texas instrument et celui qui a eu le plus de succes c'est le AY-3-8500 de General instrument. C'est lui (et ses variantes) qu'on retrouve dans des centaines de home pong different de divers marques et c'est pour cela que ce code chip me disait quelque chose (PS: Nintendo s'est fait un "pong in a chip" sur mesure comme a son habitude).

Donc General instrument qui m'etait plutot inconnu jusque la a en fait marqué 3 fois l'industrie du jeu video.
- le "pong in a chip" le plus celebre
- un sound chip tres connu qu'on retrouve dans divers consoles
- l'intellivision qu'ils ont integrallement produit jusqu'au CPU
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 27, 2014, 07:53:03 PM
Un dernier paragraphe quand meme pour résumer l'architecture memoire asser complexe de l'Intellivision


MEMOIRES

un petit schema qui regroupe a peu pret tous les composants (manque le DAC video)

(https://lh6.googleusercontent.com/-N4olQOUqtV4/U4NTKgZ1eAI/AAAAAAAAAPs/wq9jJNVL384/w787-h600-no/intellivisionblock.png)

y a un certain nombre de memoires ROM et RAM (3 chips de ROM et 4 chips de RAM) toutes assez differentes et qui intègrent parfois d'autres fonctions en servant d'intermediaire entre 2 composant en régulant l'adressage tel un mapper donc y a quand meme un effort d'integration pour eviter d'ajouter des composants secondaires supplémentaire.



Premier constat y a un Bios, ce sont les 2 chips exec ROM.
On commence a constater que la presence ou pas d'un bios est asser aleatoire. Channel F = Bios , Atari VCS = pas de Bios, Intellivision = Bios, NES = pas de Bios.
Cette ROM est une ROM 10bit pour les raisons que j'ai deja evoqué, le CPU utilise des opcodes 10bit et est bien adapté a ce genre de memoire exotique.

2 chip de 2 KiloDecle soit 5Ko en tout ce qui est gros pour un bios vu que c'est la taille de la premiere generation de jeu Intellivision d'autant que ca reste asser mysterieux, y a pas de sequence de boot graphique genre master system ni meme de jeu integré comme sur channel F et MS donc rien pour consommer beaucoup de place.
Le CPU s'en sert juste au demarrage pour initialiser le system (et quand y a une interruption sans doute pour activer un sous-programme qui sauvegarde les registres dans la pile) mais apparemment y a plein de sous-programmes stocké dedans (comme par exemple des sous-programmes pour faire des multiplications ou divisions car bien sure comme tous les CPU de cette epoque y a pas d'instruction CPU pour ca)
Mais si c'etait juste une bibliotheque de sous-programme a destination des programmeurs pour economiser du temps et de la place sur les cartouches alors ca serait documenté or ca semble pas etre le cas mais il semble simplement que les documents n'aient pas survecu jusqu'a nous car ca reste quand meme assez confidentiel comme machine du point de vue développement de jeu, principalement des jeux développés en interne et juste une centaine. On a du mal a se remettre dans le contexte de l'epoque mais probablement que beaucoup de chose ont ete perdu.



A coté de ca toujours en ROM y a la Graphics ROM qui elle est classiquement 8bit et contient 2Ko de tile 8x8 (chaque ligne d'un tile fait 8bit).
Accessible uniquement par le GPU c'est la que sont stocké notamment les tiles des caracteres ASCII ce qui permet d'ecrire du texte sans consommer de la place sur les cartouches et en VRAM.
Voila les tiles que l'on trouve dans cette ROM et qui sont donc a disposition des programmeurs

(http://wiki.intellivision.us/images/5/57/Grom_index.png)

Faut bien comprendre que finalement les modes graphiques de nos consoles 2D sont dérivés des modes textes des micro-ordinateur qui affiche du texte en assemblant justement des tiles 8x8 de texte qu'ils vont piocher dans une ROM, ensuite les consoles ont ajouté plus de fonctionnalité, de couleur puis des sprites et du scrolling mais le texte etant toujours quelques choses d'utile dans un jeu il est pas idiot de garder une pattern de caractere en ROM dans la console surtout quand la place sur les cartouche est tres limité comme ici, ca fait une grosse économie sur les cartouches.



En dessous on trouve cette fois la Graphics RAM.
512 octets repartit en 2 chip 8bit. C'est le pendant de la Graphics ROM sauf que cette fois ont peut donc y mettre les tiles que l'on veut. un total de 64 Tiles monochrome ou viendront piocher le background et les sprites.



Puis la Scratch RAM qui est la RAM de travaille du CPU.
C'est une RAM 8bit destiné principalement a y stocker les variables utilisé par le programme mais qui dit 8bit implique un double acces un peu couteux si on veut s'en servir pour des variables 16bit donc probablement utilisé majoritairement pour des variables 8bit.
Elle fait 256 octets mais les 16 premiers octets ne sont pas accessible pour des raisons de simplification du mapping memoire, les 16 registres du soundchip on ete placé a cette adresse. Donc ca donne au final 240 octets.
Mais une bonne partie est aussi utilisé par les sous-programme dispo dans le bios donc si on fait appel a ces sous-programme faut faire attention, autrement on peut utiliser tout l'espace (sauf 2 octets dans lesquels on doit placer l'adresse du sous-programme qui s'activera lors des interruptions Vblank)



Reste la RAM systeme qui elle est une RAM 16bit a l'usage un peu compliqué.
elle sert principalement a stocker la table de background utilisé pour l'affichage donc cette RAM est utilisé a la fois par le CPU pour construire la table et par le GPU pendant l'affichage.

En general ce genre de RAM n'est pas directement adressable par le CPU, sur NES ou MS faut passer par les ports du GPU et le faire en dehors des phases d'affichage mais ici c'est pas le cas. Le CPU y a libre acces mais le GPU est prioritaire.
Lors de la phase d'affichage le GPU va acceder 12 fois a cette RAM, une fois par ranger de tile (le background est composé de 12 ranger de 20 tiles) et a chaque acces il va générer une interruption et passer en priorité pendant une centaine de cycle.
Il va alors charger les 20 tiles dans un buffer intermediaire qui se trouve aussi dans cette RAM et ainsi pendant l'affichage de cette ranger de tile (qui occupe 16 scanlines successives) le GPU accedera uniquement a ce buffer intermediaire ce qui permet de laisser cette RAM a disposition du CPU.
Du coup meme pendant l'affichage le GPU ne va occuper que 10% des cycles de cette RAM et laisser le reste pour le CPU.

Le GPU y accede seulement par mot de 14bit en utilisant le meme bus multiplexé pour l'adressage et les données comme le CPU (ou meme le PPU de la NES). Ces 14 bits lui suffisent pour définir un tile (numeros de tile, couleur background et foreground) donc les 2 bit les plus haut de la RAM ne sont pas utilisé par le GPU mais de son coté le CPU peut utiliser les 16bits complets.

La RAM system sert aussi de pont entre le CPU et les registres du STIC ainsi que sa graphics RAM/ROM. Elle relie ainsi le bus d'adressage du CPU a celui du STIC mais seulement pendant les phases de Vblank (donc pas pendant la phase d'affichage, logique)

Cette RAM fait 352 mots de 16bits (et on ne peut pas y acceder autrement qu'avec cette granularité 16bit) mais seulement 240 sont utilisés par le GPU pour la table de background et quelques autres par le bios donc ca en laisse un certain nombre libre pour le CPU pour y stocker des variables 16bit notement.
Cette ram est utilisé aussi pour la pile du CPU mais du coup utiliser la pile ou une variable qui se trouve ici peut etre tres couteux si on y accede pile au moment ou le GPU fait une interruption pendant une centaine de cycle pour charger le buffer donc ca semble un peu hasardeux quand meme mais ce coté multifonction de cette RAM est assez amusant.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 28, 2014, 09:13:14 PM
Dernières anecdotes

- L'intellivision a eu le premier service de jeu démate distribué par le cable TV "Playcable" et encore une fois mis en place avec General Instrument en 1981 mais ca n'a pas eu de succes.  Atari en a fait de meme quelques mois apres mais cette fois avec un vrai modem classic par la ligne telephonique.
On se souvient aussi que Nintendo etait plutot interressé par tout cette aspect pour la Famicom et meme Ralph Baer pendant le dévellopement de l'Odyssey etait a fond sur ces aspects (il voulait absolument proposer une chaine TV dédié a l'Odyssey qui fournirait en quelques sortes un décors aux jeux Odyssey qui viendrait alors en surimpression par dessus)
Juste pour dire que finalement cette aspect de distribution du jeu video comme un bouquet de chaine TV a toujours existé.

- en plus de l'intellivoice (produit encore une fois par General Instrument) y a eu l'ECS, une extension (encore GI) pour transformer l'intellivision en micro-ordinateur comme la mode le voulait.
J'en parle juste pour l'acronyme car je crois qu'a l'epoque on a vraiment fait le tour de toutes les combinaisons et on est passé a autre chose
VES: Video entertainment system
VCS: Video computer system
ECS: entertainment computer system
NES: nintendo entertainment system



EPILOGUE

Donc pour résumer ce qu'il faut retenir sur l'intellivision (tout du moins ce que moi j'ai appris et qui me parait le plus emblématique de la machine) a ceux qui ne voudrait pas tout lire, en 3 points:

- Malgres l'apparence tres VCSiesque de ses jeux, l'intellivision a un vrai GPU moderne (tiles, sprite, pseudo scrolling) qui est une rupture asser radicale avec toutes les machines precedentes (je suis dailleurs aller jeté un oeil aussi sur les machines de Bally et de RCA pour verifier). Discretement et sans en avoir l'aire elle est le point de depart d'une nouvelle génération technologique de console de jeu.

- Elle a un vrai CPU 16bit, encore plus 16bit que le CPU de la SNES. Mais son bus multiplexé et sa frequence tres faible malgres des instructions longue a executer donnent des performances a priori tres faible , heureusement bien accompagné (GPU)

- C'est une machine Mattel mais entièrement produite par General Instrument jusqu'aux extensions et service (premier service de distribution de jeu dématerialisé). On pourait donc probablement aussi parler de console General instrument comme on parle de console NEC pour la PC-engine sans faire forcement un gros abus de language.






Par contre je suis interressé par tout temoignage de possesseur d'intellivision qui l'aurait eu a l'epoque car y a finallement tres peu d'information sur l'histoire du jeu video francais, c'est toujours un peu difficile de savoir quand exactement la machine a ete distribué en france (a priori ca serait 82), est ce que c'etait une distribution officiel ou officieuse, en quelle quantité, combien de jeu ici, est ce qu'il y a eu de la publicité.
Moi j'ai jamais eu l'occasion de toucher a cette machine a l'epoque donc les feedbacks sont bienvenu


Les prochaines machines a m'intéresser c'est la colecovision (la aussi les temoignages sont bienvenu, j'y ai joué qu'une fois chez un ami) et le C64. Je cherche le chainon manquant du scrolling, quelle est la premiere machine a avoir apporté du scrolling vraiment cablé. Je continu de penser que le scrolling est l'element qui a relancer les consoles de jeu apres son moment de faiblesse faute d'innovation.

Plus je feuillette de truc sur le C64 plus il m'impressionne technologiquement, je me rend compte de plus en plus que c'etait la machine incontournable. A l'inverse de beaucoup de micro-ordinateur qui faisait essentiellement du jeu video sans etre vraiment adapté pour ca (genre Amstrad CPC, ZX Spectrum) le C64 est vraiment un micro concu pour le jeu video. C'etait exactement la meme philosophie que l'Amiga ou le X68000 on est exactement dans cette ligné.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 29, 2014, 08:24:49 PM
(http://jsmess.textfiles.com/kcmunchkin/800px-Magnavox-Odyssey-2-Console-Set.png)


Odyssey 2 de Magnavox 1978

Pas une machine marquante mais asser singuliere technolgiquement, ca m'a paru intéressant.
Apres l'Odyssey1, la machine de Ralph Baer premier "home video game" de la periode pré-console, Magnavox a donc voulu faire une vrai console pour concurrencer la VCS
Chronologiquement elle se situe donc entre la VCS et l'Intellivision, elle fait partie de ces etapes intermediaires.
Quand Phillips rachete Magnavox ils nous apporteront cette console en france sous le nom de Videopac.

Cette fois on a une console 100% Intel, CPU, GPU, Audio. Vu le nombre de machine a l'epoque tout le monde y est passé mais Intel s'est quand meme fait tres rare sur ce marché, pour l'Odyssey 2 ils ont donc décidé d'aider Magnavox
Le CPU 8046 integre sa propre RAM de 64 octets (128 octets dans la VCS) et sa ROM 1Ko qui contient le Bios et des sous-programme a disposition.
Le GPU (VDC) integre le sound chip et une ROM de 512 octets qui contient 64 tiles prédéfinie (caracteres et bloc graphique) et a une VRAM externe de 128 octets
Donc contrairement a une VCS ici on a un vrai GPU 2D autonome avec sa VRAM, c'est la principale difference.

Le GPU est capable de gérer 4 vrais sprites 8x8 monochromes dont on stock les patterns dans la VRAM. Jusque la c'est pas mal, c'est peut etre meme la premiere fois qu'on a des vrais sprites 2D (la VCS a des sprites mais 1D). La ou ca se complique c'est sur la gestion du background.
Ici pas de table de background comme sur Intellivision pour construire ton background de facon "moderne" avec un assemblage de tile. le Background est composé de plusieurs type d'elements graphiques.

- 12 caracteres 8x8 que l'on peut afficher n'importe ou sur l'ecran (donc un peu comme des sprites a la difference qu'on a pas le droit de les superposer) mais ici on ne choisie pas la pattern comme pour les sprites. Il faut piocher uniquement dans un set prédéfinie de 64 tiles 8x8 en interne et qui contient principalement des caracteres et juste une vingtaine d'elements graphiques donc en dehors des 4 sprites que l'on peut définir a sa guise les autres elements graphiques sont formaté et seront toujours les memes.
Voila le set interne de caractere disponible:

(http://www.coprolite.com/odyssey2/cs1.jpg)


- ensuite le GPU gere aussi l'affichage d'une grille de 9x8 cases qui fait la taille de l'ecran et dont on peut décider si la lignes horizontal ou la ligne vertical est visible ou pas et cela pour chaque case (c'est juste 1bit par ligne).
Donc on peut configuer la grille a souhait avec juste une vingtaine d'octet (on peut aussi activer un mode ou la grille est remplacé par des cases pleines toujours 9x8 soit 72 cases)

- on peut aussi afficher des quad-caracteres. C'est a dire un groupe de 4 caracteres forcement alignés les uns a coté des autres (par exemple pour afficher un score). On peut afficher 4 quad comme cela et les caracters sont toujours a choisir parmis le set de 64 caracteres prédéfini


Voila ce que ca donne en exemple concret avec une sorte de plagiat de pacman. On retrouve ici les 4 types d'elements graphiques supportés par le GPU

(http://www.scottdecker.com/video_games/odyssey_2_kc_munchkin_screen_1.gif)

- Dans le cas présent on reconnait bien la grille qui est bien utile pour ce jeu la, elle sert a construire le labyrinthe en sélectionnant les lignes a afficher ou pas.
- Les 4 sprites on les devine tres bien aussi (le pacman et les 3 ennemies)
- En bas on devine aussi les 4 quad-caracteres pour le score.
- Et on voit aussi qu'ils ont du se limiter a seulement 12 pastilles affichables (non il n'a pas deja mangé les autres, c'est un debut de partie) qui sont les 12 caracteres que l'on peut afficher ou l'on veut.
Donc a defaut de pouvoir en mettre plus ils les ont rendu mobile (d'autant qu'on peut placer ces caracteres avec précision comme des sprites)

en video
http://youtu.be/WJEocJwS36o



Donc on peut voir que c'est une approche assez original et donc amusante a décortiquer car c'est encore une autre sorte d'affichage exotique (comme beaucoup a cette epoque) mais ca donne quelque chose de finalement tres formaté vu le peu de liberté pour ce qui concerne le background et ce malgré une integration de sprite sympatique pour l'epoque. Les jeux sont un peu condamné a se ressembler.

Au final la VCS avec son GPU 1D qu'il faut combiner avec le CPU pour l'affichage ca donne un truc asser flexible (comme si le GPU etait programmable vu que le CPU est intégré a l'affichage) et probablement plus interressant d'ou l'echec de l'Odyssey 2 a renverser la VCS.
Donc probablement pas une console a retenir comme beaucoup d'autre mais c'etait une etape intermediaire dans l'evolution avant l'intellivision qui va pouvoir etendre le concept de sprite et le combiner avec une vrai table de background.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 30, 2014, 04:41:59 PM
Ca fait chier MO5 ne sera pas a la grande expo videogame story. Je voulais y aller justement pour la partie retro
http://mag.mo5.com/l-asso/51938/mo5-com-ne-sera-pas-partenaire-de-lexposition-videogame-story/
Titre: Re : Hardcore Retrogaming
Posté par: Hobes le Mai 30, 2014, 04:43:20 PM
Sa présence était déterminante à tes yeux ? Je ne connais pas le programme de l'expo en question mais si eux n'y sont pas, d'autres ont du matériel à présenter.
Titre: Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 30, 2014, 04:45:49 PM
Citation de: Hobes le Mai 30, 2014, 04:43:20 PM
Sa présence était déterminante à tes yeux ? Je ne connais pas le programme de l'expo en question mais si eux n'y sont pas, d'autres ont du matériel à présenter.

c'est ce que j'espere car pour la partie "passé" c'est toujours decrit comme ca sur le site

CitationLe passé avec le retrogaming
Grâce à plus de 300 machines dont la plupart jouables, les visiteurs auront l'occasion de redécouvrir l'histoire du jeu vidéo, composée des machines et des jeux mythiques de 1972 au passé récent. De la première console, la MagnavoxOdyssey, en passant par toutes les machines célèbres ou moins célèbres, les visiteurs retrouveront avec plaisir les titres qui ont marqué l'inconscient collectif.

Mais du coup ca me fait douter maintenant. Je vois pas qui peut leur fournir cela
Je voulais aller toucher certaine machine
Titre: Re : Hardcore Retrogaming
Posté par: Hobes le Mai 30, 2014, 04:55:16 PM
C'est vrai qu'on peut se poser la question.

Personnellement je me demande comment tu peux appeler une exposition "VideoGame Story" si tu n'as aucune machine retro à proposer. Faut espérer qu'ils avaient prévu ce cas de figures.

A moins que MO5 finisse par changer d'avis (quitte à ce qu'ils ne soient présent dès l'ouverture).
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 30, 2014, 05:14:01 PM
on verra bien


2 chaines sympas

Des comparatifs
https://www.youtube.com/user/GamingHistorySource/videos

http://youtu.be/HtiS7rPjkvY


et:
https://www.youtube.com/playlist?list=PLE67C3E587FDD09F4

Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 31, 2014, 09:45:46 PM
Je continu sur les machines des 70s, j'aimerais bien en faire le tour pour avoir une vision globale de cette période tres particulière, un peu artisanal et donc pleine de surprise.
Certaines ne mériteront probablement pas de s'arreter dessus mais celle ci se distingue car c'est technologiquement la plus mediocre console de l'histoire (je rappel que dans ma chronologie les pong chip ou l'odyssey ne font pas partie des consoles de jeu) donc elle merite vraiment le detour, c'est le point zero. Le réferent absolu.




(http://www.old-computers.com/museum/photos/rca_studio2_2small.jpg)

STUDIO II de RCA
Janvier 1977

RCA est une entreprise qui devait probablement etre a l'epoque un concurrent de Magnavox.
Dabord dans la Radio ils se sont ensuite spécialisé dans la télévision.
Oui la connectique RCA c'est bien eux (ainsi que le standard NTSC, je sais pas si faut en etre fier)

Chronologiquement c'est la deuxieme console de l'histoire, quelques mois apres la Channel F et quelques mois avant la VCS, pile entre les 2. Je connaissais de nom toutes ces consoles du debut comme celle ci ou meme celle de Bally mais je m'etais jamais penché dessus et ca vallait le coup.
Je ne m'etais jamais posé la question de quelle etait la pire console de l'histoire technologiquement car ca peut etre une question difficile a tranché mais finallement je pense qu'on a trouver la reponse et donc ce n'est pas la premiere chronologiquement.

Deja sur la photo vous pouvez constater le ridicule du controlleur indissociable de la console et qui est juste un pavé numerique. C'est donc aussi le pire controlleur de l'histoire

Dans la console on trouve un CPU RCA 1802 et un GPU aussi RCA 1861 appelé "Pixie" avec 2Ko de ROM pour le bios et 512 octets de RAM

Ce qui est drole c'est que le document d'epoque qui permet de comprendre le fonctionnement de cette machine c'est en fait un magazine d'electronique americain qui 6 mois avant la sortie de cette console proposait deja a ses lecteurs de se fabriquer soit meme un petit micro-ordinateur avec ce CPU RCA (qui etait deja dispo dans le commerce en 1976) et y a ajouté plus tard le Pixie (c'etait un dossier en 4 parties etalé sur 1 an entre aout 1976 et juillet 1977) et donc au final c'etait la configuration de la Studio II qui etait détaillé dans ce magazine.

On va pas perdre de temps sur le CPU a priori faible en puissance brute (il se fait massacrer par le 6502 de la VCS, je dirais un bon x5) par contre il a eu un certain succes dans le domaine spatial car il n'avait pas de frequence minimum (on pouvait baisser la fréquence et donc la consommation autant qu'on voulait) et tres résistant aux radiations dans sa version saphir.
Il etait meme encore utilisé dans la mission Galileo vers jupiter qui s'est terminé en 2003.



Le Pixie est la partie qui nous interresse, lui est clairement le GPU le plus archaique qu'il soit.
Deja c'est plutot un DAC qu'un GPU, donc un chip qui va juste convertir des données binaires en un signal analogique (le signal video) un peu comme celui de la channel F (ou celle de Bally aussi je crois) mais de la facon la plus archaique qu'il soit puisqu'il va sortir un simple signal noir et blanc (la Channel F c'est quand meme 8 couleurs) et qu'en plus il n'est pas capable d'aller chercher lui meme les données en RAM de facon autonome (ce que fait celui de la Channel F), il envoi juste des interruptions DMA et c'est le CPU qui doit alors lui fournir les données grace a son mode DMA et faut le faire de facon bien synchro car il n'a apparemment meme pas suffisement de registre interne pour stocker au moins une ligne.
Du coup le CPU est occupé la moitié du temps par l'affichage.

Donc l'image a affiché est simplement un bitmap stocké en RAM et la aussi on bas des recors puisque sur la Channel F (sortie 6 mois plus tot je le rappel) on a 2Ko de VRAM dédié a l'affichage bitmap.
la Studio II c'est 256 octets.
Et avec 256 octet ce qu'on obtient c'est une image en 64x32 et noir et blanc, la aussi on bas des records, c'est en gros le quart de la resolution channel F qui est en couleur.

L'image ressemble donc tres fortement aux divers pong sur le marché meme si technologiquement ne nous y trompons pas c'est tres different puisque ici on a quand meme une vrai console programmable avec des programmes (les jeux) sur des cartouches.
Dailleurs meme les jeux battent les record et font a peine 1Ko (y en 5 rien que dans le bios)
Et le son pas la peine d'en parler je pense c'est juste un beeper dans la console.

Il est temps de se faire une idée plus concrete, rien de mieux qu'une video

http://youtu.be/AFHq84gtpsU


Ca donne vraiment l'impression qu'ils ont voulu faire une sorte de pong entièrement programmable et au moins sur ce point on est tres libre notamment pour l'affichage (bitmap) meme en comparaison de consoles relativement formatés comme l'odyssey 2 dont j'ai parlé précedement mais les performances trop faible donne un resultat qui n'atteint peut etre meme pas les pong analogiques classic.

Un truc marrant, comme c'est le CPU qui envoi les données on peut choisir de démarrer ou on veut dans la RAM et donc on peut changer le point de depart de l'image entre chaque frame pour faire un scrolling vertical d'autant plus que ce framebuffer fait pile 256 octets soit une page (c'est a dire la totalité de ce qu'on peut adresser avec un registre 8bit) et donc l'affichage boucle automatiquement en RAM sans avoir a s'en occuper (si t'incremente un registre 8bit qui est deja a 255 il passe tout seul a 0) donc un scrolling vertical est possible sans trop d'effort et ca semble dailleurs etre utilisé sur le pseudo jeu de voiture qu'on voit dans la video (on voit dailleurs que le concurrent qui disparait en bas réaparait en haut en loop, c'est un scrolling en boucle sur un seul ecran)

Le nombre de jeu en cartouche a ete dérisoire (une dizaine) mais y en a d'autre dans le meme cas.
Y a meme pas de bouton ON/OFF, une fois branché c'est partie.
Apparemment un clone de cette console serait sortie en france sous une autre forme

(http://www.obsolete-tears.com/photos/hanimex_mpt-02.jpg)




Cette console est la pire console ever. Aucune chance face a la VCS et ferait meme passer la Channel F pour une Rolls. De part ce simple fait elle a sa place dans l'histoire du jeu video.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Juin 01, 2014, 02:46:25 PM
Le C64 faisait quand meme des miracles.
les scrolling différentiels sur 2 plans et multidirectionnelles avec des accelerations, plein de sprites sans scintillement, des gros sprites pour les boss. Vraiment impressionnant notement les phases de shoot
http://youtu.be/gBdVV_BCZoA?t=49m26s

Dailleurs le createur de la serie s'est chargé en personne du codage de la version C64 et a délégué les autres.
C'est marrant de voir la version CPC. Je rappel que le C64 est sortie 2 ans avant

http://youtu.be/U4bKxcV5hsg
Titre: Re : Hardcore Retrogaming
Posté par: dheen le Juin 01, 2014, 02:56:17 PM
Ceci dit a l'époque turrican était un vitrine technique

Je me souviens que la première fois que j ai vu l animation c'était une vrai claque.

On n avait pas de YouTube a l époque pour nous préparer :)
Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Juin 01, 2014, 03:22:04 PM
Je ne connaissais pas la version c64 et en effet, elle pète !
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Juin 01, 2014, 03:39:04 PM
C'est dommage que le C64 n'est pas eu plus de succes en france. Meme si la machine est plus vieille on y aurait gagné si on avait remplacé chaque CPC en france par un C64. Ca nous aurait mieux fait patienter jusqu'a l'arrivée tardive des consoles japonaise.

Enforcer
https://www.youtube.com/watch?v=x_1mMhJP6Xo

Mayhem in Monster Land
https://www.youtube.com/watch?v=FsEkN_9gqOc

Armalyte
https://www.youtube.com/watch?v=OPge1O4TIYQ

Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Juin 01, 2014, 03:42:58 PM
Certes l''amstrad a été en question si monopole mais on a quand même eu pas mal de C64. En particulier chez les habitants de régions frontalières de l'Allemagne d'ailleurs.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Juin 01, 2014, 04:03:52 PM
C'est quand meme curieux ce succes du CPC. Le pays du CPC c'est clairement la france.
J'imagine que cette philosophie all-in-one avec l'ecran inclus a seduit (ce qui leur a permit dailleurs d'avoir une machine full RGB et une palette du coup tres differente du C64) c'est compréhensible mais pourquoi plus en france? Faudrait se remettre dans le contexte, y a probablement eu une campagne de pub plus efficace que nulle part ailleurs (on se rappel encore du crocodile) voir un coup de main de l'etat? (genre un contrat pour les ecoles, c'etait la mode d'inserer la micro-informatique dans l'education)
L'Amstrad CPC j'ai tres bien connu, tout le monde en avait autour de moi mais force est de constater que j'ai jamais croisé un C64 dans ma jeunesse.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Juin 01, 2014, 04:27:24 PM
Je viens de voir que le lecteur disquette du C64 etait un truc enorme vendu a part pour un prix tout aussi enorme (quasiment le prix du C64).
C'est sure qu'a ce niveau la c'est difficile de rivaliser avec le CPC ou tout etait inclus meme l'ecran.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Juin 01, 2014, 04:54:52 PM
C'est des malades   :vice:
une demo C64 ou le gars joue un sample uniquement au travers des parasites que produit le signal video sur la sortie audio

http://youtu.be/ZW2XKSWUPLw
Titre: Re : Hardcore Retrogaming
Posté par: dheen le Juin 01, 2014, 05:07:18 PM
Il me semble qu'effectivement le cpc avait pas mal de pub.

Il me semble que le réseau de distribution était bon, on en trouvais partout alors que c64 c était plus dur.

Peu être des partenariat ....

PS : petite vérification effectivement le cpc était disponible facilement mais surtout Amstrad a vissée l Europe ( plus particulièrement l Angleterre et la France ).

Ceci dit ça pourrais être une question a poser a AHL ... Il devait déjà être passionné a l'époque :)
Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Juin 01, 2014, 05:11:18 PM
http://m.commentcamarche.net/news/5854402-marion-vannier-ex-pdg-amstrad-france-on-a-lance-amstrad-france-a-deux-dans-un-simple-bureau-et-sans-ordinateur
Titre: Re : Hardcore Retrogaming
Posté par: dheen le Juin 01, 2014, 05:32:41 PM
Ceci dit effectivement l'ex-pdg peut tout expliquer :)
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Juin 01, 2014, 09:43:40 PM
Dans mon enquete sur l'histoire du scrolling j'ai creusé un peu plus le C64 et aussi le GPU Texas instrument TMS9928A qui a eu pas mal de succes a l'epoque (comme leur sound chip qui l'accompagnait, TI etait tres present sur le marché a cette epoque) et a fait naitre toute une generation de machine comme le MSX, la Colecovision, le Sega SG-1000, la Vtech Creativision.
Ces machines (pas le C64 qui est completement different) sont quasiment des clones a base de Z80 et de TMS9928 (et plus tard la Master system sera aussi dans cette famille de machine avec le meme CPU mais une version sensiblement customisé de ce GPU qui fait qu'on ne peut pas la mettre dans cette categorie) ce qui me permet de faire un tire groupé.

Resultat finallement aucune de ces machines (C4 et TMS9928) ne semblent avoir un scrolling vraiment cablé. De plus en plus la NES parait etre la machine ou le scrolling a enfin obtenu ses lettres de noblesse.

Sur C64 y a quand meme une volonté de proposer la possibilité de scroller le background grace a des registres qui permettent d'ajouter un offset au background pour le décaler de 1 a 7 pixels mais ce n'est ni plus ni moins que ce qui etait deja proposé sur l'Intellivision (qui décidement est vraiment une etape significative)
Ca te permet effectivement de faire un scrolling au pixel pret (au lieu d'avoir une precision a la tile) mais une fois que t'as décaler ton background de 7 pixels c'est a toi de deplacer toutes ta table de background pour continuer a faire scroller.
Y a pas un loop automatique de la table de background avec un pointeur que tu deplaces ou tu veux dans la table et qui indique le debut de l'ecran comme le fait une NES ou une Master system et qui permet de faire un scrolling tres economique en déplacant peu de donnée entre chaque frame.

Le C64 demande donc a deplacer sensiblement plus de donnée pour faire son scroll a la main donc plus de ressource CPU. Le fait de devoir modifier toute la table de background explique aussi sans doute pourquoi les jeux sont souvent sur une fenetre reduite avec un gros HUD en bas car ca permet a la fois d'avoir plus de temps pour modifier la table et d'avoir moins a modifier dans la table (ecran de jeu plus petit).
Ca explique aussi pourquoi par exemple dans turrican 2 on a ses accélérations de scrolling tres rapide (a partir du moment ou tu dois reconstruire toute la table a chaque frame la vitesse du scrolling n'a plus de consequence sur les ressources alors que sur NES ou MS accelerer le scrolling le rend de moins en moins economique) ou certain effets de scrolling differentiel que l'on observe, une illusion probablement crée en animant les tiles du background donc en les changeant a chaque frame ce qui est moins un probleme si toute la table est de toute facon modifier a chaque frame a cause du scrolling.

Et pour la Colecovision/MXS/SG-1000 la c'est encore pire, y a a priori meme pas d'offset pour deplacer le background au pixel donc c'est meme pas au niveau de l'Intellivision pour ce qui est du support du scrolling (malgres que le reste soit quand meme d'un haut niveau quand meme) donc faut encore plus bidouiller que le C64.
Soit ce limité a des scrolling par tile (donc par pas de 8 pixels, ca marche pour un scrolling rapide) soit utiliser plusieurs version d'une tile pour les "animer" (un peu comme sur C64 pour simuler un scrolling différentiel) et simuler un déplacement au pixel. Dans tout les cas ca demande aussi de modifier toute la table.


Y a peu de temps je pensais que la Colecovision etait une etape important a l'inverse de l'intellivision anecdotique dans l'histoire. Finallement d'un point de vue technologique la machine etape c'est bien l'Intellivision qui contient deja tout ce qu'auront les machines suivante jusqu'a la NES qui va marquer une nouvelle étape avec un support total du scrolling.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Juin 05, 2014, 10:34:14 PM
Bally Professional Arcade
Printemps 1978

Je fais le point sur la chronologie
Channel F > RCA Studio II > Atari VCS > Bally Professional Arcade > Odyssey 2 > Intellivision > ColecoVision

(http://videogamecritic.com/images/systems/rev/Astrocade.jpg)




Bally etait un fabriquant de machine a sous, machine de jeu, Flippers puis jeux d'arcade et donc en toute logique ils decident de profiter de leur experience hardware pour faire une console de jeu
A l'epoque Bally c'est aussi Midway (Miss PacMan, Rampage, Mortal combat)

La machine est en commande en decembre 1977 (juste apres la sortie de la VCS) mais la production aura quelque couak et finallement les livraisons se feront vers le printemps 1978 dans des quantités assez confidentiel (quelques centaines)
Dailleurs a cette epoque elle porte un autre nom, "Bally home library computer", comme souvent a cette epoque la frontiere entre console et micro-ordinateur est mince et comme souvent l'ambition est de vendre une console que l'on peut ensuite transformer en micro-ordinateur grace a des extension et une cartouche de Basic qui sera souvent mis en avant.

Une fois disponible en magasin elle sera renommé Bally professional Arcade peut etre pour mieux rebondir sur leur experience des jeux d'arcade. Mais la distribution restera asser confidentiel car limité a quelque enseigne specialisé micro, electronique la ou la VCS est partout.
A cela s'ajoute un prix tres élevé pour l'epoque (300 a 400$ selon les sources et probablement selon le mode de distribution et le contenu du pack, en général fournis avec 4 controlleurs). C'etait du jeu video haut de gamme.

Son nom va encore changer plusieurs fois, Bally Computer System (sans doute une nouvelle tentative de cibler la micro-informatique, y aura pas mal d'extension dans ce sens) puis Astrocade (quand racheté par Astrovision), tout ca en 4 ans.
Vous devinez que c'est plutot un parcours chaotique sans grand succes comme la Studio II de RCA qu'effectivement je mettais auparavant dans le meme panier ce qui etait une erreur car une fois informé sur ces machines on se rend compte que l'une est finallement une vrai merdasse reconnu par tous (la Studio II) et l'autre est plutot une chouette machine qui a un petit fan club et qui au final a bien plus marqué les memoires.
Seulement 1 an sépare ces 2 machines avec une aproche hardware asser similaire mais un gouffre technologique, j'y viendrais plus tard


Le design est ce qu'il est avec cette touche imitation bois facon VCS, faut croire que c'etait la mode. La partie superieur est en fait une boite de rangement pour les cartouches (y a la place pour une quinzaine). Cartouche qui elles memes ont strictement le format de cassettes audio (sans en etre bien sure meme si on peut brancher un lecteur cassette pour ses programmes BASIC)

Le pavé numerique sur la console sert a configurer les jeux, a programmer en Basic sans extension clavier (faut etre courageux), ou a utiliser la calculatrice integré au Bios.

Le controlleur etait aussi tres apprécié (mais tres fragile), certain le bidouillait pour l'utiliser sur d'autre console.
C'est comme un nunchuk Wii sauf que le stick (qui n'est pas analogique) a aussi une fonction "potentiometre", c'est a dire qu'on peut tourner le bouton dans un sens ou l'autre et cette fois c'est analogique.
Ce genre de commande "potentiometre" etait asser frequente sur les machine de jeu a l'epoque.

Y aura seulement une trentaine de jeux d'une capacité max de 8Ko.

http://youtu.be/yi7bKtnYlaA


Cette console a bénéficié recement d'un archivage de documents assez incroyable. Tout est archivé sur un site, le moindre document d'epoque, pubs, notices, magazines, développement de jeu, document administratif, juridique, meme l'inventaire officiel avant la fermeture.
Beau boulot, y a rien a ajouter.
http://www.ballyalley.com/

Quelques echantillons de pixel art sur papier
http://www.ballyalley.com/documentation/spectre_systems/treasure_cove_concept_art/JPGs_and_GIFs/Treasure_Cove_03.jpg
http://www.ballyalley.com/documentation/spectre_systems/treasure_cove_concept_art/JPGs_and_GIFs/Treasure_Cove_13.jpg

et d'idées de jeu
http://www.ballyalley.com/documentation/spectre_systems/Game_Ideas_by_Brett_Bilbrey/Beaver_Dam.pdf
http://www.ballyalley.com/documentation/spectre_systems/Game_Ideas_by_Brett_Bilbrey/Game_Ideas_Letter.pdf
http://www.ballyalley.com/documentation/spectre_systems/Game_Ideas_by_Brett_Bilbrey/Star_Wars.pdf


Moi je me suis surtout arrêté sur un document de 1978 de l'un des ingenieurs qui decrit l'integralité du hardware et qui est tres bien pour comprendre la machine en detail mais la j'ai pas le temps d'en parler. Ca sera pour une autre fois.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Juin 06, 2014, 05:33:58 PM
j'avais commencé a ecrire le passage sur le hardware de cette console tres interressante (un peu comme l'Intellivision dailleurs, l'analyse du hardware m'a completement fais changé d'avis sur la machine de Bally) mais je me rend compte que j'etais encore partie pour ecrire au moins 10 pages donc je préfere m'arreter la d'autant que j'en aurais autant a dire sur d'autre machine comme le C64 mais ca prend trop de temps a rédiger, trop de truc a dire. peut etre un autre jour mais c'est pas tres raisonnable  (ca ne peut pas interresser suffisement de gens pour justifier cela).
Je vais plutot utiliser ce temps pour me faire des sortes de fiche perso pour chaque machine car a force de cumuler les machines ca devient difficile de tout garder en memoire et de pas se melanger, des petits résumé condensé que je serais seul a pouvoir relire mais qui me seront plus utile je pense.
Par contre je peux toujours repondre aux questions si jamais y en a.






Ce que je retiens pour l'instant c'est un decoupage chronologique qui devient maintenant tres net pour moi avec notement cette periode pré-intellivision ou les consoles etait tres "bitmap" et des CPU parfois réquisitionné pour l'affichage puis l'arrivé de l'intellivision qui marque l'arrivé de GPU moderne dans les consoles.

J'ai decouvert aussi un scrolling qui a tardé finallement a etre vraiment cablé, la NES est semble t'il la vrai naissance du scrolling moderne.

J'ai repondu aussi a mes questions sur la VCS, quand j'ai commencé a programmé dessus j'ai decouvert une machine vraiment tres exotique mais difficile de savoir si c'etait la machine ou l'epoque qui voulait ca, elle etait peu etre ordinaire une fois contextualisé.
Finalement meme apres avoir décortiqué toutes les machines de l'epoque la VCS reste une machine exotique sur certain point notamment c'est la seul console a n'avoir aucune VRAM, elle bat d'ailleurs tous les record de minimalisme en ce qui concerne les memoires (seulement 128 octets de RAM et 0 de ROM la ou la console de Bally concurrente direct embarque 4096 octets de RAM et 8192 octets de ROM)

Ca reste aussi la seul console que j'ai vu pour l'instant ou on avait le controle sur le signal de Vsync et de Vblank. Dans toutes les consoles ce signal est généré automatiquement mais sur la VCS on controle vraiment l'ecran ce qui en fait donc une machine interressant pour qui s'interresse aux CRT et veut faire des experiences dessus (moi je m'etais amuser sur ma TV a testé le rafraichissement et j'avais constaté que ma TV 50hz supportait un ecart d'environ 10%, je pouvais descendre a environ 45hz et monter a 55hz avant de perdre la couleur puis l'image)

Je remarque aussi que l'absence de Bios dans la VCS et la NES est finalement pas quelque chose de rependu. Toutes les autres machines que j'ai analysé sont equipé d'un Bios (et de jeu integré) donc c'est finalement plutot une exception qui a peut etre participé a leur succes car l'autre constat que l'on peut faire c'est que la VCS et la NES ont beaucoup moins de chip que les autres qui faisait rarement dans la parcimonie ou l'integration. C'etait tout le temps 2 ou 3x plus de chip

J'ai pu aussi constater cette guerre de CPU entre le 6502 et le Z80 qui finalement etait presente dès le debut (puisque la console de Bally utilise un Z80 quelques mois seulement apres la VCS et son 6502) et toutes les consoles a base de Z80 ont chaque fois ete des second couteaux alors que les machines a base de 6502 de grand succes (apple II, VCS, NES, C64, SNES), de la a en déduire que...

Moi je vais continuer quand meme a fouiner dans mon coin, reste pas mal de machines qui m'intrigue.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Juin 15, 2014, 11:00:44 PM
Je me fais un gros document google qui réunit tout.
J'ai deja fait 4 dossiers tres exhaustif (Channel F, RCA studio II, Astrocade de Bally et l'Odyssey 2), ca me donne de gros pavé mais qui me permettent de retrouver rapidement le moindre detail technique sur ces machines (et les liens vers les documents utiles. D'ailleurs je me demande si je devrais pas archiver aussi les documents et pas juste les liens. Certain document ont une valeur inestimable, si ils devaient disparaitre ca serait tragique).
J'ai meme creusé encore plus que les premieres fois, notement sur les CPU car s'est vraiment interressant de se frotter aux cpu de cette epoque.
et a cela j'ai ajouté une partie "remarques" ou je note toutes les remarques plus globale que je peux faire sur cette periode (moi c'est vraiment la décennie 1975-1985 qui m'intéresse), deja une quinzaine

Je suis deja a 30 000 caracteres. Prochaine machine l'intellivision ou j'ai pas mal de chose a dire. Je vais zapper la VCS et la NES car c'est des machines vraiment mainstream qu'on cotoie regulierement et que j'ai ou vais programmé donc je peux me permettre de garder au moins ces 2 la en tete et de me passer d'aide memoire (d'autant que j'aurais beaucoup a noter sur ces machines) et me concentrer sur les autres machines.







J'ai donc encore + creusé les CPU pour alimenter mes dossiers (notement pour mieux cerner leur performance respectives, c'est toujours difficile a comparer), c'est l'un des truc intéressant dans la demarche de s'intéresser a ces premieres machines c'est la diversité de CPU et l'exotisme de ceux ci (le F8 de Fairchild, le 1802 de RCA, le microcontrolleur 8048 de intel, le CP1600 de General instrument...). Ca te donne une vision et une comprehension asser interressante de ce qu'est un CPU.

Je suis donc revenu notement sur celui de Fairchild qui equipe la Channel F. La premiere fois je l'avais juste survolé. Ce qui intrigue tout de suite c'est avant tout l'absence total de bus d'adresse chose vraiment incongru dans un CPU.
La premiere fois j'avais cru a un abus de language, j'avais bien vu qu'a coté du bus de donnée il y a avait quand meme un bus de control de 5 pins nommé ROMc et je pensais que c'etait ce bus qui servait de bus d'adressage de facon multiplexé (en 3 cycle ce qui donnerait 3x5= 15 bit d'adressage) et que prétendre qu'il y avait pas de bus d'adresse c'etait juste une facon de jouer sur les mots.

Mais en y revenant je me suis rendu compte qu'il y a vraiment pas de bus d'adresse et que le bus 5bit ROMc ne sert pas a ca! Alors comment on fait fonctionner un CPU qui ne peut pas adresser de mémoire pour piocher ses instructions et données?

Faut deja savoir ce qu'est un PC (program counter) c'est l'element le plus commun a tous les CPU, c'est un registre (au moins 16bit en general) qui contient l'adresse de la prochaine instruction a executer. Donc le CPU balance le contenu de ce registre sur son bus d'adresse pour s'alimenter de la prochaine instruction qui se trouve en memoire et chaque fois que le CPU execute une instruction il incremente le PC (de 1 ou + selon la longueur en octet de l'instruction précedante) pour continuer a executer le programme en cours. C'est aussi le PC qui est modifier quand on fait un jump, et qui est sauvegarder dans la pile quand on fait un call a une subroutine

Dans la Channel F le CPU n'a pas de PC. Ce sont tous les elements de memoire (ROM ou RAM) qui integre toutes un PC. ils ont tous la meme valeur (et change en meme temps) si bien que chaque element de memoire sait ou en est le programme.
Le CPU lui se contente d'utiliser son bus de control ROMc qui avec ses 5 lignes permet 32 commandes differentes et ce sont ces commandes qui vont piloter les differentes memoires. Si le CPU veut la prochaine instruction il envoi donc une commande pour soliciter les memoires en lecture. chaque memoire a un PC et donc sait si elle est concerné par cette requete si c'est le cas elle envoi l'instruction correspondante mais toutes les memoires sont relié sur le meme bus et recoivent cette commande et donc elles vont toutes incrementer leur PC (selon le type de commande) et rester toutes syncronisé (malgres qu'elle ne communique pas entre elle).
Si le CPU a besoin de faire un jump alors il envoi un autre type de commande qui signal a chaque memoire que le data qui leur arrive sur le bus de donnée est a mettre dans le LSB (les 8bit inferieur) de leur PC pour le mettre a jour (et faire donc un jump dans la page actuel, avec une autre commande le CPU peut aussi modifier le MSB du PC, les 8bit superieur)

Donc le CPU peut modifier tous les PC de toutes les memoires en une seul commande. les memoires ont aussi un DC (data counter) pour les instructions qui font appel a une valeur en memoire c'est le DC qui va servir a ca de la meme maniere que le PC (la aussi ils ont tous la meme valeur), c'est a dire controlé a distance par le CPU et son bus de controle.
en fait y en a meme 2 de chaque (2 PC et 2 DC) dans chaque memoire pour sauvegarder le PC et le DC quand y a un call a une subroutine.

Donc voila un parfait exemple de CPU tres exotique. Ca implique ici qu'on ne peut pas utiliser de ROM ou de RAM ordinaire. les memoires sont une partie integrante du CPU et sont donc produit aussi par Fairchild.
Pour les ROM (y a pas de RAM externe dans la Channel F) c'est donc un chip qui se nomme PSU (program storage unit) qui joue ce role (et qui peut avoir d'autres fonctions) et qui integre 1Ko de ROM. On peut en cumuler 32.
Dans la channel F y en a 2 pour le Bios mais c'est aussi des PSU qu'on retrouve dans les cartouches (2, 3 ou 4) car la aussi on ne peut pas utiliser de la ROM ordinaire.
Titre: Re : Re : Hardcore Retrogaming
Posté par: Hobes le Juin 28, 2014, 04:50:03 PM
Citation de: upsilandre le Mai 30, 2014, 04:41:59 PM
Ca fait chier MO5 ne sera pas a la grande expo videogame story. Je voulais y aller justement pour la partie retro
http://mag.mo5.com/l-asso/51938/mo5-com-ne-sera-pas-partenaire-de-lexposition-videogame-story/

En tout cas ça n'avait pas l'air glorieux dixit un journaliste de GamesLeMag :
https://twitter.com/nicolastilly/status/482863635174526976

Visiblement beaucoup de manques et d'écrans éteints :
https://twitter.com/Schyzophrenic/status/482873604565385216
https://twitter.com/Loick_LM/status/482842141933453312

(https://pbs.twimg.com/media/BrOC9vUIAAAJH2Q.jpg)
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Juin 28, 2014, 06:06:30 PM
j'irais voir mais je vais attendre quelques semaines
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Juillet 09, 2014, 07:19:22 PM
un lien magique

http://thecompany.pl/game


tous les jeux Amiga directement executable (y a pas de virus, c'est un site tres respecté dans la communauté) en un seul clic.
L'emulation Amiga c'est parfois un peu compliqué a configurer, ici l'emulateur est inclus, y a rien a faire. on dl en 10 seconde (les jeux c'est a peine la taille d'un MP3) et on joue tout de suite!
Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Juillet 09, 2014, 09:25:48 PM
Woh Putain, excellent.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Juillet 11, 2014, 06:43:08 PM
Je suis surpris de voir qu'il y a eu des jeux 3D sur Amstrad CPC, assez tard mais quand meme. forcement les perfs font un peu rigoler.

Le celebre Hard Drivin a eu une adaptation CPC.
une 3D flat en 256x128, 2 couleurs, 3fps

http://youtu.be/NIsbZyTdPx8



et Castle Master assez impressionnant aussi
240x120, 4 couleurs, 1 a 3fps

http://youtu.be/bPQRPukAhRg



Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Juillet 12, 2014, 11:15:44 PM
Y a une émission que j'avais découvert y a pas mal de temps sur nolife la fois ou j'avais pris un abonnement d'un mois pour allez fouiller dans les archives et j'etais tombé sur les premiers épisodes de cette serie. Ca s'appel Very Hard et ca parle uniquement de hardware.
Et j'ai decouvert que c'etait produit en association avec MO5 et que l'émission vient de se terminer et maintenant tous les episodes sont dispos sur dailymotion, 34 episodes de 5 a 10mn.

http://www.dailymotion.com/playlists/user/assomo5/1


C'est du bon boulot, sans tabous (les mots techniques, les références des chips, les chiffres... pour une fois ne sont pas considéré ici comme des "gros mot" a eviter a tout prix. On a meme droit a du porn sur les PCB filmé en gros plan) et bien sourcé. Je valide completement

Y a notamment un episode ou j'ai vraiment apprit des truc. Celui sur l'Archimede, un micro britanique que je ne connaissais pas du tout et qui est responsable de la creation du premier CPU ARM et donc la naissance de l'architecture RISC ARM qu'on retrouve dans tout les smartphones, tablettes ou la GBA, DS, 3DS...
Pour moi c'etait passionnant comme episode car je connaissais pas du tout cette histoire.
Et cette archimede sortie en 1987 (en meme temps que le X68000 ou l'Amiga 500 pour situer) se retrouvait alors avec un CPU bien plus performent que le classic 68000 tout en utilisant moins de transitors. On retrouvait un peu l'efficacité du 6502 qui avait fait son succes.
Pour faire de la 3D c'etait sans aucun doute une meilleur machine que l'Amiga ou meme le X68000 (mais bon en face les PC commencait aussi a avoir des CPU tres puissant)


Y a aussi un making of de l'émission pour mieux se rendre compte
http://www.dailymotion.com/video/xxhn9i_debug-mode-very-hard_tech
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Juillet 15, 2014, 01:00:18 AM
Parmis les notes que j'accumule dans un document je viens de m'en faire une sur la capacité d'affichage en sprite des consoles 2D mais sous un angle different et qui me parait intéressant que j'explique apres.

- Atari 8bit > 12.5% (320/1bpp)
- Colecovision, SG1000, MSX > 25% (256/1bpp)
- NES, Master system > 25% (256/2bpp)
- Intellivision > 40% (160/1bpp)
- Gameboy > 50% (160/2bpp)
- C64 > 60% (160/2bpp,320/1bpp)
- PC-Engine, SNES > 100% (256/4bpp)
- Megadrive > 100% (320/4bpp)
- X68000 > 133% (384) 200% (256)
- NeoGeo > 480% (320/4bpp)


Toutes ces machines avaient une gestion des sprites cablé en hard (jusqu'a la NeoGeo, ensuite on est passé a autre chose, avec du blitter, du simple deplacement de data dans un framebuffer ou du sprite sous forme de billboard polygonal). C'est a dire que le GPU ajoute les pixels du sprite par dessus le backrgound au dernier moment a la volé pendant que l'ecran est en train de balayer la ligne concerné par ces sprites. Du coup ces GPU devaient préparer pendant le balayage de la ligne précédente les pixels de sprites a afficher la ligne suivante.

Et donc ces GPU ont tous une limite dans le nombre de sprite qu'ils peuvent préparer et charger pendant la durée de balayage d'une ligne (car c'est tres bref) ce qui donne donc systematiquement une limite de sprite affichable sur la meme scanline et cette valeur fait partie des données déterminante sur la capacité d'affichage de ces machines.

Par exemple une NES ne peut afficher que 8 sprites de 8 pixels de large sur la meme ligne, soit l'equivalent de 64 pixels de sprite par scanline et sachant que la resolution standard d'un jeu NES c'est 256 j'ai défini donc une valeur de capacité d'affichage de sprite par scanline en pourcent de l'affichage horizontal total.
Donc ici la capacité d'affichage de sprite de la NES est de 25% c'est a dire que si on met cote a cote tous les sprites qu'elle peut afficher par scanline ca remplira un quart de la largeur de l'ecran, au dela de ca faudra se contenter de multiplexer et donc faire clignoter les sprites.

Donc dans ce petit tableau recapitulatif j'ai mis cette valeur en % et entre parenthèse la resolution horizontal que j'ai choisie pour définir cette valeur et qui est la résolution la plus courante des jeux de la machine. Bien sur plus cette résolution est elevé mieux c'est (pour ca que j'ai placé la megadrive devant la SNES malgré un pourcentage equivalent).

Si on lit ce tableau on peut noter deja que le C64 et l'intellivision sont bien placé dans le classement (mais dans une resolution limité. Quoique le C64 fait aussi du 60% en 320 mais les sprites sont alors monochrome donc rarement utilisé, c'est pas une resolution courante dans les jeux)

On peut dire aussi qu'on a commencer a avoir vraiment quelque chose de correct quand on a atteint les 100% (PC-Engine, SNES, Megadrive)

La machine a reve X68000 evidement bien placé (pour une machine sortie entre la Master system et la PC-engine) surtout en low-res (le 256 c'est la resolution des adaptations de Sega type Space Harrier, After Burner, Thunder blade, hang-on qui du coup ne sont pas pixel perfect car c'etait du 320 a l'origine. Alors que le 384 c'etait pour les adaptations pixel perfect du CPS de Capcom)

Et on remarque bien la NeoGeo qui explose tout mais attention ca peut etre un peu trompeur car la NeoGeo etait effectivement vraiment une machine a sprite et la ca ressort vraiment mais c'est aussi parce que la NeoGeo ne gere pas de background ou de scrolling, elle fait tout avec des sprites. Tous les backgrounds sur NeoGeo sont des sprites et donc parfois sur plusieurs couches meme si partiel donc tu peux compter je pense 200% juste pour le background.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Juillet 19, 2014, 02:10:25 PM
La revolution MO5  :vice:


http://youtu.be/LLpfthA0rxI

http://youtu.be/tY23ZhrXocY
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 14, 2014, 07:52:07 PM
en ce moment je m'intéresse aux pong, aussi a certain micro "famillials" (qui etaient en fait presque des consoles) et qui sont pas forcement tres connu mais intéressant techniquement (plus particulièrement Atari 800 et TI99/4), je continu de m'intéresser aux soundchip, toujours a l'histoire du scrolling... toutes les infos sont bonne a prendre

On peut pas discuter de tout donc la je vais juste revenir sur le "game changer" que j'ai deja evoqué. l'arrivée du "scrolling free" sur les consoles combiné au franchissement des 100Ko et en ce qui concerne ce dernier point en creusant un peu je me rend compte que l'année 1986 est vraiment l'année pivot, ca saute vraiment aux yeux.

Je dirais que c'est l'année "game changer", y a avant 1986 quand les jeux etaient ce que j'appel des jeux "flipper" c'est a dire l'heritage des premier jeu d'arcade qui avaient pour vocation de concurrencer le flipper, c'etait meme parfois plus basique qu'un flipper en terme de mecanique de gameplay du au limitation technique mais ca variait les plaisirs, c'etait une curiosité, c'etait divertissant, a l'image du Pong.
Puis a partir de 86 le jeu video prend une autre dimension, celle du voyage et de l'implication entre autre, on se détache du simple jeux "flipper". Quand on parle de jeux video entre passionné généralement on parle bien de cette periode la.

Je me concentre principalement sur la chronologie des consoles car en etant pas chers et simple ce sont bien elle qui touche le mass market et qui drive l'industrie et puis c'est plus simple de construire une chronologie a partir des consoles alors que la micro c'est en objet flou qui demande a placer le curseur arbitrairement.




Donc le scrolling c'est bien mais ca suffit pas. Pour plonger le joueur dans un univers, sortir de la simple représentation symbolique et impliqué le jouer il faut cracher du data, il faut stocker un max d'information or si on regarde les consoles des années 70 on a des jeux qui crache entre 1 et 8Ko (voir 16Ko pour les jeux les plus avancé de la VCS), meme en etant de bonne volonté difficile de sortir du schéma du jeu "flipper".

J'ai moi meme situé grossiérement le point de bascule autour des 100Ko. J'ai donc decortiqué les jeux des consoles du debut des années 80 et plus particulièrement je me suis attardé sur la NES qui est le representant le plus emblematique et statistiquement le plus representatif de la chronologie d'evolution de la capacité des jeux. Du coup je me suis tapé une recherche sur chacun des 225 jeux NES qui sont sortie dans les années 83-84-85-86. Savoir la date precise, le support, la capacité voir le type de mapper, c'etait un peu long a faire, d'ailleurs je regrette que dans les database de jeu y a jamais cette information de taille des cartouches alors que c'est une information plus simple a trouver que la date précise par exemple et qui est une information qui dit pas mal de chose sur un jeu quand tu le connais pas.
Je vous donne en gros la chronologie des evenements.



- La NES (ou plutot la Famicom) sort en juillet 1983 au japon, a cette epoque les concurrents sont en gros la SG-1000 de Sega (qui est une Colecovision) et le MSX (qui ets une Colecovision avec + de RAM) qui sortent tous aussi ce meme mois et la Colecovision et l'Atari 5200 sortie en 1982.

- Toutes ces machines concurrentes (NES exclus) proposeront dès l'année 1983 des premiers jeux 32Ko meme la vieille intellivision aura un jeu 30Ko cette année la mais toutes ces machines (a l'exception du MSX qui va suivre la meme courbe que la NES et la MS) n'iront jamais au dela de cette barrière de 32Ko qui s'explique entre autre (en plus du fait que ces machines ont eu une vie courte) par le faite que tous les CPU de l'epoque utilisaient des bus 16bit qui limite les ROMs a 32Ko si ont utilise pas de bank switching donc ces 32Ko ont ete longtemps une sorte de frontiere, cette contrainte technique s'applique aussi a la NES et la MS.

- En ce qui concerne la NES tous ses jeux feront exactement 24Ko pendant 2 ans (mi-83 a mi-85). Ca ete ma premiere surprise, je pensais pas que cette periode avait durée si longtemps du coup on est vraiment encore dans cette phase du jeu "flipper" avec du PacMan, du Space Invader, du Donkey kong, du Galaxian, du Galaga, du Dig Dug, du Lode Runner, du Wild Gunman, du Popeye, du Tennis, du Soccer, du Pinball... On oublie que les 2 premieres années le jeu video sur NES ca ressemble a ce qu'on trouvait sur les autres vieilles consoles americaines, les classic de l'arcade.
Pourquoi 24Ko et pas 32Ko comme les camarades? J'en ai deja parlé, les cartouches NES sont un peu particulière, plus complexe, y a 2 types de memoire, la memoire CPU et la memoire GPU, la memoire GPU est limité a 8Ko max et la memoire CPU a 32Ko. Pendant ces 2 années les cartouches utiliseront seulement 16Ko de memoire CPU donc au total 16+8= 24Ko.

- Mais y a eu quand meme une exception pendant ces 2 années de jeux NES a 24Ko... Xevious de Namco (meme pas nintendo) qui sort en plein milieu de cette periode (mi-84) et qui sera la seul cartouche de cette epoque a utiliser le maximum de ROM possible sur NES sans mapper soit 40Ko ( 32 + 8 ).
Je pense que c'est un jeu qui a du impressionner a l'epoque, faudrait retrouver des reviews japonaise qui on accompagné sa sortie, d'autant qu'il exploite intelligemment la contrainte des cartouches NES de base qui limite la memoire graphique a 8Ko, on pouvait pas avoir plus (on peut pas faire 16+16 c'est soit 16+8 ou 32+8 ). et etre limité a 8Ko de tile set (donc toutes les briques graphiques qui vont composer les sprites et le background du jeu) c'etait vraiment pas beaucoup.
Xevious va alors utiliser un tile set simple avec des aplats de couleur délimité par un "edge" de differente inclinaison pour construire par assemblage des contours de côte, de continent et de chemin complexe et varié dans le background que l'on survole. Cette methode a l'avantage de proposer un background varier dans sa forme et sympatique en transférant le cout en memoire plutot vers les backtables (qui se trouve en memoire CPU) que le tile set (qui se trouve en memoire graphique) donc ca colle bien aux cartouches NES. Ca donne un aspect Bitmap mais sans le cout memoire, c'est comme une methode de compression.

(http://www.electricpickleonline.com/wp-content/gallery/vc-shmup-roundup/xevious.jpg)

Ca donne un style graphique particulier et ca reste assez repetitif comme environnement (en gros y en a qu'un) mais on a un peu de sentiment de voyage notamment grace a la forme de se background qui ne semble pas se répéter et au scroll qui s'invite enfin, a l'image de super mario qui sortira bien plus tard (septembre 85) aussi sur une cartouche 40Ko. Avec 40Ko on commence a pouvoir faire quelque chose mais ca reste tres limité (notamment le Tile set de 8Ko) ca demande a la fois beaucoup de talent des développeurs et de bonne volonté du joueur pour avoir le sentiment de se plonger dans un univers.


la suite plus tard.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 14, 2014, 09:12:01 PM
la suite de la chronologie...


- A partir de mi-85 on sort de cette longue periode de stagnation de 2 ans a 24Ko.
La seconde moitié de 85 verra donc enfin apparaitre une multitude de jeux 40Ko qui comme je l'ai expliqué est techniquement la taille de cartouche maximum sur NES (32Ko de memoire CPU + 8Ko de memoire graphique) et mettra donc fin a cette longue periode de stagnation (Xevious se sentait bien seul)
Ca permet de redonner un peu de souffle mais c'est pas encore ca car la limite de 8Ko de memoire graphique est toujours la, a part le cultissime Super Mario qui sortira dans cette periode et qui fait office d'exception y a pas encore de jeu "machine a reve". on trouve encore du Pac-land, du Burger time... mais aussi un certain bomberman et 1942

- Cette periode verra aussi apparaitre la Master System (MARKIII) en octobre 85, c'est l'autre console "scrolling free" a meme donc de participer a la revolution en cours.
Et la aussi j'ai ete surpris, pendant les 8 premiers mois de vie de la Master System elle n'aura que des "Card" 32Ko, y aura pas de cartouche pendant ces 8 mois.
Je pensais que ce format "card" etait juste une alternative de Sega pour proposer des jeux moins chere en parallèle aux cartouches (qui font minimum 128Ko sur MS) et qu'il y avait donc eu des cartouches dès le depart mais finalement non le port cartouche n'a servie a rien pendant 8 mois. L'année 85 ne sera définitivement pas celle du franchissement des 100Ko et effectivement rien de tres marquant dans le catalogue MS pendant cette periode.

- Cette second moitié de 85 verra aussi apparaitre le premier jeu NES qui utilise un mapper pour contourner les limites d'adressages de la console. Mais ca sera un simple jeu 32Ko alors vous allez me dire a quoi bon? et bien c'est le premier jeu a avoir 16Ko de memoire graphique et donc le premier jeu NES a avoir un Tile set 2x plus gros que les autres et donc a contourner cette contrainte assez forte des 8Ko de Tile set.
Ce jeu c'est City Connection de Jaleco qui sort le meme mois que Super Mario (au final le premier jeu 40Ko n'a pas ete un jeu nintendo et le premier jeu a utiliser un mapper non plus). Un jeu qui reste assez basique mais qui grace a ce boost du Tile Set va s'offrir de jolie background qui represente differente ville du monde (New York, Londre, Paris), on pourrait croire que le voyage n'est pas loin mais dans les fait ca fonctionne pas encore.

85 se termine donc sur une année remplis de 24Ko, 32Ko et 40Ko


a suivre...
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Août 14, 2014, 10:46:39 PM
Wow :crazy: Je savais pas qu'il y avait ça sur HBGD, je te félicite, j'ai lu que cette page, et je dois avouer que tes chronologies (parce que tu en as fait d'autre je crois) sont très claires et compréhensible, même pour quelqu'un comme moi qui ne connais pas grand chose en Hardware. Du coup je me pencherais sur les autres pages de ce Topic avec plaisir!
Titre: Re : Hardcore Retrogaming
Posté par: JiHaisse le Août 15, 2014, 01:16:29 AM
Très intéressant.
Titre: Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Août 15, 2014, 01:24:01 AM
Citation de: Coca_Impact le Août 14, 2014, 10:46:39 PM
Wow :crazy: Je savais pas qu'il y avait ça sur HBGD, je te félicite, j'ai lu que cette page, et je dois avouer que tes chronologies (parce que tu en as fait d'autre je crois) sont très claires et compréhensible, même pour quelqu'un comme moi qui ne connais pas grand chose en Hardware. Du coup je me pencherais sur les autres pages de ce Topic avec plaisir!


Tu verra surtout que ca va vite te fatiguer toutes ces conneries  :roll:

Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 15, 2014, 01:24:11 AM
Suite et fin de cette chronologie

1986

- C'est donc sur ce constat que debute 86 et la vous l'avez compris (puisque j'ai dévoilé la fin du film dans la bande annonce) l'année 86 va etre assez folle. Tout s'emballe a un rythme effréné et il saute littéralement aux yeux que cette année est charniere dans l'histoire du jeu video.
Je vous ai parlé de cette longue periode de 2 ans ou les cartouches avaient toutes la meme capacité, ca n'avancait pas... cette année 86 c'est tout les 2 mois qu'on va franchir une marche, dans l'année 86 y aura 7 paliers de franchit sur NES.

- Le premier jeu de l'année le 4 janvier est deja un nouveau palier. C'est le premier jeu a depasser la sacro-sainte limite theorique de 40Ko avec cette fois 48Ko (c'est a dire une cartouche full + un double tile set de 16Ko grace a un mapper, soit 32 + 16) et ca sera encore une fois un jeu tiers, TwinBee un shoot de Konami.

- Le 3eme jeu de l'année a sortir c'est deja Zelda!
C'est a dire que l'année 86 démarre avec une petite revolution c'est l'arrivé du Famicom Disk en fevrier, un lecteur disquette qui propose 112Ko par Disk et donc enfin le franchissement de la barre des 100Ko et ce premier exemple avec Zelda est parfait pour illustrer mon propos, on sent bien que Zelda propulse le jeu video dans une nouvelle dimension qui se détache du simple jeu "flipper".
Le Famicom Disk System (FDS) est a ma connaissance le support disquette le plus faible en densité qui existe car c'est seulement 56Ko par face mais avec un choix de technologie de track en spiral (un peu comme un disc optique) donc lent pour des acces aléatoires mais qui a l'aire rapide pour des loading sequenciels ce qui correspond a l'usage du Famicom Disk qui va consister a remplir la RAM interne du Famicom Disk qui simule une cartouche (32Ko de RAM pour simuler la ROM CPU + 8Ko RAM pour simuler la ROM graphique) sauf qu'on pourra la remplir plusieurs fois (et notamment remplir plein de fois la bank graphique de 8Ko et faire enfin exploser cette limitation du Tile set).
Je pense que Nintendo a miser sur le debit sequenciel pour la technologie de son Famicom Disk donc quelque chose d'assez fonctionnel et pas si eloigné que ca de la cartouche avec des loading court tout en proposant bien plus de capacité pour moins chere. Par contre faut retourner la disquette...
Et qu'est ce qu'on voit arrivé sur FDS les 6 mois suivant Zelda? Super mario bros 2 (lost level) puis Metroid puis Castlevania et plein d'autre FDS en fin d'année (dont Kid Icarus). Vous le sentez le "game changer" ?

- mais avant meme que Metroid ou Castlevania ne sorte sur FDS durant l'été 86, y a eu aussi d'autres paliers du coté des cartouches. N'allez pas penser qu'elles sont maintenant totalement dépassé par le FDS car la aussi ca bouge beaucoup.
Les cartouche 48Ko (donc avec un double Tile set) se multiplies. y a encore 3 ou 4 jeu 24Ko mais a partir de la les mapper vont se généraliser pour se débarrasser de cette limite theorique de 40Ko et son tile set de 8Ko.

- le 17 Avril débarque la premiere cartouche 64Ko (GeGeGe no Kitarou de Bandai, encore une fois c'est pas Nintendo) c'est a dire la premiere cartouche avec un quadruple Tile set (32Ko CPU + 32Ko de tile set) et elles aussi vont rapidement se multiplier pour remplacer completement les cartouches 48Ko et permettre de voir arriver notamment Gradius et Dragon Quest 1 qui seront les premiers a en profiter rien que ca.

- le 13 Juin c'est un nouveau choc technologique. Makaimura (Ghost'n Goblins le fameux) débarque avec la toute premiere cartouche 128Ko et dépasse donc deja les Disk du FDS moins de 4 mois apres et encore un jeu culte. Cette fois y a pas du tout de memoire graphique c'est 128Ko de memoire CPU qui contient les données graphiques accompagné de 8Ko de VRAM que l'on pourra remplir comme on le souhaite pour construire son Tile set sur mesure. Toutes les cartouches 128Ko de 1986 seront sur ce format tres flexible (mais qui demande d'ajouter encore un autre composant, cette RAM suplementaire).

- drole de coincidence 2 jours apres Makaimura la Master System voit aussi arriver sa premiere cartouche 128Ko avec Fantasy Zone puis suivront Hokuto no ken (Black belt), Alex Kid, The Ninja des jeux culte qui apparaitront donc grace a ces cartouches 128Ko. La ludoteque MS commence vraiment avec ces cartouches la.

- le 19 Septembre débarque le premier jeu cartouche 160Ko qui est Super Xevious (2 fois que Xevious est a l'avant garde) et encore une fois c'est pas Nintendo mais Namco. le format de cartouche c'est 128Ko de memoire CPU et 32Ko de memoire graphique (donc sans RAM tampon).
Dans ce meme format de cartouche suivra alors en fin d'année Doraemon et Dragon ball.

- en cette fin d'année les jeux cartouche 128Ko et les jeux FDS 112Ko se multiplient (autant l'un que l'autre, c'est 50/50) et domine la fin d'année pour devenir la capacité standard, la transition est définitivement consomé. Sur MSX aussi les cartouches 128Ko se multiplient
On verra aussi apparaitre un autre format intermediaire et peu utiliser de 96Ko (64 + 32) pour Pro Yakyu Family Stadium de Namco

- le 18 Decembre histoire d'enfoncer le clou de cette année de folie apparait la premiere cartouche 256Ko (128Ko + 128Ko) pour King Kong 2 de Konami et encore une belle coincidence car 3 jours apres débarque aussi la premiere cartouche 256Ko sur Master system avec Space Harrier autre jeu culte.
Ces coincidences montrent surtout que c'est toute l'industrie qui est en mutation, notamment les industriels qui produisent les ROMs qui ont permis cette explosion et dont tout le monde profite en meme temps.
L'année se termine...





Donc la meme année on aura vu a la fois des jeux 24/32Ko pour terminer sur des cartouches 256Ko (la master System passe de 32Ko a 256Ko en 6 mois) et un nombre incalculable de jeux devenu cultes, difficile de nier le lien avec cette explosion technologique. Les jeux video ne seront alors plus jamais comme avant.

Ensuite la situation va se stabiliser autour de ces cartouches 128Ko/256Ko qui vont devenir la nouvelle norme alors bien loin de l'ancien standard 24/32Ko qui bridait le potentiel de ces machines et nous retenait dans une bulle de jeux video du passé. Cette année 86 aura tout boulversé.

J'ajouterais aussi que un an plus tard en decembre 87 la Master system voit arriver des cartouches de 512Ko avec After Burner et Phantasy Star et j'ai pas trouvé d'equivalent du coté NES en 1987 (si vous trouvez dite le moi) du coup la MS prend cette fois de l'avance.
Ca peut s'expliquer par le faite que les cartouche NES sont un peu plus complexe en terme de ROM et de mapper pour compenser les lacunes de la machine donc y a deja un surcout. Et puis la NES qui est un GPU 2bpp a moins besoin d'espace pour ses graphismes moins coloré. La Master system et son 4bpp utilisent des tile set plus gourmand en espace (16 couleurs au lieu de 4)
mais le 512Ko ne sera jamais de toute facon un standard sur ces machines.

On comprend aussi dans cette chronologie pourquoi le Famicom Disk a eu du mal a tenir sur la durée, les choses ont ete tres vite et ce qui etait un atout au depart est vite devenu une lacune mais il aura bien aidé a rendre cette année 1986 completement folle.
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Août 15, 2014, 01:35:21 PM
Wow  :crazy: j'aurais jamais soupçonné ça...On dirais même que c'est une évolution plus importante pour le JV que les consoles de 4ème génération... 
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 22, 2014, 03:46:55 PM
Je me suis fais "Adventure" sur Atari 2600. Je voulais voir a quoi pouvait ressembler les mecaniques d'un jeu "d'aventure" de 4Ko en 1979, c'est intérressant, c'est extrement minimaliste (a cette epoque meme le gamedesign et le level design etait du "pixel art"), le personnage est un simple carré, mais ca fonctionne.
Mais je voulais voir aussi ce qui est considéré comme le premier Easter egg du jeu video. une piece secrete caché dans le jeu et dans laquelle l'auteur a ecrit son nom (Sans que Atari ne le sache bien sur).

C'est un Easter egg extrement compliqué (pour pas dire impossible) a trouver par hasard. Pour acceder a la piece en question faut dabord trouver un objet qui fait un pixel de large et qui est invisible (il a la meme couleur que le sol) et dans une zone fermé inaccessible sauf si tu utilise l'objet "pont" pour passer au travers d'un mur. Mais récuperer l'objet invisible et le transporter jusqu'a la piece secrete ne suffira pas a l'ouvrir, faut aussi déposer 2 autres objets dans la meme piece pour faire glitcher les sprites (flickering) et seulement la tu pourra ouvrir la piece secrete.

J'ai estimé que cette Easter egg coute entre 4% et 8% de la cartouche donc c'est pas seulement le premier mais sans doute le plus couteux de l'histoire.

(http://www.atarimania.com/8bit/screens/2600_adventure_3.gif)
Titre: Re : Hardcore Retrogaming
Posté par: Gabora le Août 22, 2014, 03:54:23 PM
C'était pas possible de faire encore plus compliqué ?

Ça me rappelle l'épisode de l'AVGN sur l'Indiana Jones qui se joue avec deux sticks.

Spoiler
https://www.youtube.com/watch?v=7O82pX2XQIQ
[Fermer]
Titre: Re : Hardcore Retrogaming
Posté par: JiHaisse le Août 22, 2014, 04:12:36 PM
Citation de: upsilandre le Août 22, 2014, 03:46:55 PM
Je me suis fais "Adventure" sur Atari 2600. Je voulais voir a quoi pouvait ressembler les mecaniques d'un jeu "d'aventure" de 4Ko en 1979, c'est intérressant, c'est extrement minimaliste (a cette epoque meme le gamedesign et le level design etait du "pixel art"), le personnage est un simple carré, mais ca fonctionne.
Mais je voulais voir aussi ce qui est considéré comme le premier Easter egg du jeu video. une piece secrete caché dans le jeu et dans laquelle l'auteur a ecrit son nom (Sans que Atari ne le sache bien sur).

C'est un Easter egg extrement compliqué (pour pas dire impossible) a trouver par hasard. Pour acceder a la piece en question faut dabord trouver un objet qui fait un pixel de large et qui est invisible (il a la meme couleur que le sol) et dans une zone fermé inaccessible sauf si tu utilise l'objet "pont" pour passer au travers d'un mur. Mais récuperer l'objet invisible et le transporter jusqu'a la piece secrete ne suffira pas a l'ouvrir, faut aussi déposer 2 autres objets dans la meme piece pour faire glitcher les sprites (flickering) et seulement la tu pourra ouvrir la piece secrete.

J'ai estimé que cette Easter egg coute entre 4% et 8% de la cartouche donc c'est pas seulement le premier mais sans doute le plus couteux de l'histoire.

(http://www.atarimania.com/8bit/screens/2600_adventure_3.gif)

Intéressant. :laporte:

Je vois rien sur ton image, j'en déduis que ce n'est pas un screen du glitch en question?
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 22, 2014, 04:26:07 PM
De toute facon faut pas se mentir, pour des raisons de limitation technique trop forte,  a cette epoque les jeux c'etait soit tres mauvais soit avec une dimension ludique mais qui se limitait a t'occuper 30mn voir 1 heure et ensuite tu ranges définitivement le jeu dans ton placard.
J'ai pas mal joué a la VCS, c'etait la console de mon enfance, mais j'en ai aucun souvenir passionné, c'est le souvenir d'un jouet parmis d'autre.

A cette epoque les cartouches etaient tellement petites que c'est le code lui meme qui prenait deja trop de place, on parle plus alors seulement de contrainte sur les data et les assets et les consequences que ca peut avoir sur la répétitivité du jeu (comme un jeu NES par exemple) mais de contrainte sur le code lui meme et la ca touche directement au gameplay.
Dans ta video on le voit raller par exemple quand il entre dans une piece et qu'un serpent apparait exactement au meme endroit et donc le tue sans qu'il puisse réagir mais eviter ce mauvais random implique d'ajouter des conditions dans la boucle de gameplay et chaque condition c'est du code qui prend de la place, une vingtaine d'instruction pour ajouter une condition c'est 40 octets c'est 1% de la cartouche.
Aujourd'hui le code d'un jeu moderne c'est 0.01% de la taille d'un jeu et donc 99.99% de data/assets alors que a cette epoque le code du jeu aussi minimaliste soit-il ca pouvait facilement monter a +50%, le moindre bout de code economisé (au détriment du gameplay) etait une veritable economie.
Titre: Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Août 22, 2014, 04:29:24 PM
Citation de: JiHaisse le Août 22, 2014, 04:12:36 PM
Intéressant. :laporte:

Je vois rien sur ton image, j'en déduis que ce n'est pas un screen du glitch en question?

non ca c'est juste l'ecran de depart, le chateau jaune c'est ton chateau (toi t'es le carré) et le bute du jeu c'est juste de trouver le calice et de le ramener dans ce chateau (qu'il faut ouvrir avec la clé jaune)

La piece secrete c'est celle la

(http://upload.wikimedia.org/wikipedia/en/7/73/Adventure_Easteregg.PNG)
Titre: Re : Hardcore Retrogaming
Posté par: JiHaisse le Août 23, 2014, 07:23:51 PM
:jap:
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 26, 2014, 01:45:25 PM
Une autre date qui ressort de mes fouilles c'est fin 1979.
Le meme mois sort l'Intellivision, l'Atari 400/800 et le TI 99/4 (qui sera remplacé plus tard par le TI 99/4A) et elles confirment toutes une rupture technologique.

L'Intellivision est une console dont j'ai deja longuement parlé et vraiment intéressante technologiquement.
L'Atari 400/800 et le TI 99/4 sont des micro "familiaux" mais tres proche d'une console comme souvent a l'epoque, la frontiere est flou. Ce sont des machines qui se branche sur un televiseur, qui n'ont qu'un port cartouche de serie (lecteur cassette et disquette en option) et donc certain jeux en cartouche, elles ont des ports manettes (4 port manettes sur l'Atari chose assez exceptionnel pour le signaler car on revera ca que sur N64 il me semble), et des capacités audio/video avancé. Tout ce qu'on attend d'une console.

La ou ces machines se distingue des consoles c'est en général par le prix (bien plus chère qu'une console), la presence d'un clavier integré (quoique la console Odyssey2/Videopack en avait un aussi ce qui est assez drole etant donné que c'est aussi la console technologiquement la moins capable d'afficher du texte de toute l'histoire et donc un clavier inutile, une drole d'idée. Une console développé avec Intel et validé par Ralph Bae), la proposition d'une initiation a la programmation (a peu pret la seul fonction d'un micro de l'epoque) par l'intermediaire d'un language Basic integré dans le Bios de la machine ou vendu en cartouche. Et d'un point de vu technologique ces machines se distinguaient d'une console principalement par l'architecture memoire avec un tres gros pool memoire mais unifié et partagé par tout les procs (CPU et GPU) plutot que de toutes petites memoires mais specialisés et reservés a chaque procs.
Avoir beaucoup de RAM etait une nécéssité pour ces machines qui se devaient de proposer la possibilité de programmer d'ou ces choix technologiques un peu different mais au final c'etait avant tout des machines de jeu et qui doivent etre abordé dans l'histoire du jeu video.


Quelle est donc le point commun de ces 3 machines? La rupture technologique de cette fin d'année 1979?
Toutes les 3 sont a ma connaissance les 3 premieres machines a proposer un GPU "moderne" avec gestion d'un background, une backtable, un Tile set, des sprites 2D (et plus ou moins de reflexion sur le scrolling). On voit apparaitre le type de GPU qui vont nous accompagner ensuite pendant la génération de console 8 et 16bit. Mais pas seulement, ce sont aussi les 3 premieres machines a proposer les premiers vrai sound chip avec des performences qui permettent de jouer de la musique (avec une resolution suffisante pour jouer des notes "justes")
Ca fait beaucoup de coincidence simultané, suffisement pour en faire une date remarquable, y a une vrai rupture technologique assez net meme si dans le resultat (les jeux) c'est lissé par d'autre facteur.


Ca ressemble aussi a une sorte de confrontation entre Texas Instrument et General Instrument les 2 concurrents de l'epoque. General instrument a ecrasé TI sur le marché des Pong en fournissant 75% des pong chip de tous les pong de la planete.
L'intellivision est une machine 100% Général Instrument, le TI 99/4 est une machine 100% TI evidement et sortent toutes les  en meme temps.
Les 2 machines ont bizarrement cette particularité d'etre toute les 2 equipé d'un CPU 16bit (pas vraiment ordinaire pour l'epoque) ce qui donne une premiere confrontation technologique. Elles sont donc aussi equipé d'un GPU moderne ce qui est aussi une nouveauté initié sur ces machines et celui de TI sera par la suite celebre car utilisé dans plein d'autres machines (notamment servira pour toutes les machines Sega et inspirera celui de la NES) donc c'est TI qui gagnera cette bataille. Et ces machines seront aussi la premiere confrontation des 2 sound chip ensuite devenu tres celebre et qu'on retrouvera dans absolument toutes les consoles et micro a venir jusqu'a l'Atari ST mais la c'est General Instrument qui gagnera cette bataille notamment par sa qualité superieur (ce qui fait d'ailleurs que l'Intellivision a objectivement un sound chip de meilleur qualité qu'une Master system sortie 6 ans plus tard mais equipé encore du sound chip de TI, c'est dire la faiblesse de la MS sur ce point...)
Donc intéressant a regardé aussi sous cette angle.


L'Atari 400/800 m'interresse particulierement. Les bases technologiques sont celle de l'Atari VCS, c'est le meme CPU 6502 overclocké a 1.8mhz (donc comme une NES ce qui fait un tres bon CPU) et reprend aussi le GPU TIA de la VCS customisé mais qui reste un GPU 1D comme je l'ai deja longuement expliqué mais cette fois accouplé a un second chip, un microprocesseur qui va piloter le TIA pendant toute la frame (au lieu de devoir le faire avec le CPU comme avec la VCS) pour en faire un vrai GPU 2D autonome. Mais ce second procs qui accompagne le TIA execute réelement un programme pendant l'affichage, une "display list", ce qui donne alors un GPU programmable avec une certaine flexibilité et ouvre plein de possibilité de trick comme la possibilité notamment de faire du vrai scrolling full screen d'une facon economique en ressource et tres proche d'une NES.
La ou le TI 99/4 est capable d'afficher une image de grande qualité pour l'epoque (notamment en terme de couleur).  l'Atari 400/800 est un peu plus limité en qualité d'image mais a plus de potentiel en terme de dynamique et de mouvement et donc encore plus "console", se detache tres nettement du TI99, c'est une machine clairement plus intéressante pour les joueurs, le TI99 ne fait pas le poid.

un petit comparatif de scrolling sur Zaxxon entre l'Atari et des consoles sortie bien plus tard mais equipé du GPU de TI tel que dans le TI 99/4 (ici Coleco et SG1000, le TI99 serait incapable de faire cela malgres le meme GPU car il avait de grosse contrainte CPU/memoires).

Sur Colecovision equipé donc du GPU TI
(http://i.imgur.com/FrOhKzk.gif)

Sur SG-1000 equipé du meme GPU
(http://i.imgur.com/V9sdeCG.gif)

Sur Atari 800, moins riche graphiquement mais un vrai scrolling au pixel et sans gros effort, au final un cachet encore plus console que des consoles pour une machine plus vieille.
(http://i.imgur.com/0DXvboa.gif)

Meme son sound chip le Pokey est intéressant, ca sera l'une des rares machines avec le C64 et la NES a avoir un sound chip sur mesure et pas un sound chip TI/GI/Yamaha. L'Atari 400/800 est une vrai machine de jeu.
C'etait je pense une machine ideal pour la scene Demo (plein de trick visuel possible, des capacités pour faire de la chiptune). La scene demo a surtout debuté avec le C64 mais je me demande si l'Atari 800 a pas aussi initié le mouvement.
En comparaison l'Atari 400/800 meme si moins connu etait technologiquement plus interressant et plus d'avant-garde que ne l'etait le celebre Atari 520/1040

La console Atari 5200 qui sortira plus tard justement entre la Colecovision et la SG1000 est en fait un Atari 800 ce qui en fait finalement une machine plus intéressante que je ne le pensais jusqu'alors mais qui n'aura pas le temps de s'exprimer. Elle pourrait etre consideré comme la premiere console "scrolling free" malgres que ca ne soit pas aussi cablé que dans la NES, sur NES non seulement le scrolling ne prend pas de ressource mais il ne demande pas vraiment d'effort non plus du programmeur car c'est vraiment prit en charge par le hardware, l'Atari demande un effort de comprehension et de programmation avec un peu de ressource pour faire un scrolling propre mais c'est une machine quand meme bien plus capable en scrolling que ce qui existait a ce moment la. C'est le chainon manquant.

Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Août 26, 2014, 02:25:19 PM
Encore très intéressant, je pense qu'il me manque un gros bagage pour comprendre tout ce que tu dis, mais l'essentiel  est compris ^^
Titre: Re : Hardcore Retrogaming
Posté par: guyzou le Août 26, 2014, 04:04:34 PM
On va dire que ca a sa place ici:
http://www.lemonde.fr/pixels/article/2014/08/25/florent-lecoanet-30-ans-et-quintuple-champion-du-monde-a-super-mario-kart_4475456_4408996.html (http://www.lemonde.fr/pixels/article/2014/08/25/florent-lecoanet-30-ans-et-quintuple-champion-du-monde-a-super-mario-kart_4475456_4408996.html)

Titre un peu pompeux vu le nombre de participants, mais j'apprécie l'initiative de ces fous de la manette! :jap:

Sans doute quelque uns ici aurait leur place dans les 10 meilleurs mondiaux....
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 27, 2014, 12:20:51 AM
Je me suis fais une petite session NES 1986 avec du Zelda, Metroid, Castlevania, Kid Icarus, Ghost'n goblins.
Ce qui m'a sauté aux yeux c'est qu'a cette epoque tout est encore a faire et y a pas encore les codes du jeu video qu'on connait ce qui donne parfois des choix un peu perturbant quand t'y rejoue aujourd'hui

Par exemple cette idée d'utiliser des coeurs pour autre chose que la vie c'est tres genant (Dans Castlevania les coeurs servent pour la magie et dans Kid Icarus c'est de la monnaie, personne ne ferait ca aujourd'hui).
Et niveau gameplay y a chaque fois des choix qui m'ont géné, qu'on trouverait etrange aujourd'hui.
Par exemple dans Catslevania quand tu sautes t'es ensuite obligé de tirer dans la direction que t'avais avant de sauter, tu peux pas tirer dans l'autre direction une fois en l'aire (pour shooter une chauve souris qui t'arrive dans le dos par exemple), tres perturbant.
Dans le meme genre sur Metroid si tu sautes en tirant vers le haut tu reste bloqué dans cette direction, tu ne peux pas au milieu de ton saut décider de tirer vers la gauche ou la droite pour shooter un ennemie qui approche, tres génant.
Dans Kid Icarus quand t'es a l'arret et que tu tire vers le haut (ou tu simplement que tu vise vers le haut) ca te bloque completement, tu peux meme plus sauter pour réagir par reflexe a une attaque.
Dans Zelda l'absence de déplacement en diagonale est perturbant aussi.

Parmis ces 4 la le plus sexy a rejouer c'est Castlevania je trouve, moins aride, on accroche assez vite et ca fonctionne bien encore aujourd'hui. C'est d'ailleurs tres proche d'un ghost'n goblins (je suis assez fan des Makaimura) je pense que c'est pas juste une coincidence. Le contexte morbide, le type de saut, les armes multiples que l'on ramasse parfois contre son grés (nan je voulais pas cette arme de merde), pas de tire vers le haut mais tire accroupie, on retrouve vraiment les meme code de base  (mais ghost'n goblins est un peu moins rigide a manipuler notamment parce que y a pas ce choix etrange dont j'ai parlé plus haut, ici on peut tirer dans la direction qu'on veut pendant le saut).
Sauf que Ghost'n Goblins etait un jeu d'arcade, Castlevania est concu pour le salon et donc une adaptation avec cette intelligence d'y ajouter toute cette profondeur suplementaire car pas bridé par le contexte particulier de l'arcade qui conditionne le gamedesign. Je trouve que c'est une bonne illustration de cette transition de l'arcade au salon qui a beaucoup participé aussi a ouvrir de nouvelle porte. D'ailleurs on a l'impression que ce concept du Metroidvania qui arrive en force cette année la est vraiment la consequence de cette volonté de rupture avec l'arcade (tous ces jeux la, Zelda, Metroid, Castlevania, Kid icarus, sont un peu des Metroidvania)
Je pense que Castlevania a vraiment du impressionner les petits japonais de l'epoque, ca avait de la gueule quand meme comparé a ce qui existait.

Sinon j'ai profité de cette session pour observer l'usage des differents canaux sonore de la NES sur ces jeux vu que je m'intéresse pas mal aux sound chip en ce moment et l'usage est tres semblable d'un jeu a l'autre, on retrouve un certain schéma. De toute facon faudrait que j'ecrive un truc sur les sound chip.




Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Août 27, 2014, 12:40:35 AM
Pour avoir fait du Metroid tout récemment, rien ne m'as vraiment gêner, j'ai même trouver ça étonnamment peu rigide...Et pourtant c'est pas mes qualités manette en main qui font mon prestige ni les autres d'ailleurs ! Mon souvenir est peut-être biaisé  :vice:
Titre: Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Août 27, 2014, 02:18:31 AM
Citation de: Coca_Impact le Août 27, 2014, 12:40:35 AM
Pour avoir fait du Metroid tout récemment, rien ne m'as vraiment gêner, j'ai même trouver ça étonnamment peu rigide...Et pourtant c'est pas mes qualités manette en main qui font mon prestige ni les autres d'ailleurs ! Mon souvenir est peut-être biaisé  :vice:

C'est sur que les sauts sont moins rigide que Castlevania ou ghost'n goblins qui sont sur d'autre mecanique mais ce choix sur les tires par exemple est difficile a comprendre comme pour Castlevania. Y a des choix de mecanique de tire en saut qui sont pas terrible (pour Castlevania je pense savoir pourquoi).
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 27, 2014, 04:22:35 PM
Un truc qui m'a surprit hier dans Castlevania c'est qu'il y a vraiment beaucoup de clignotement de sprite. Je l'ai deja expliqué, sur NES et MS tu peux afficher beaucoup de sprite a la vertical mais pas a l'horizontal ou t'es limité a 8 sprites par scanline (c'est a dire par ligne affiché).

Ici dans Castlevania y a beaucoup de choix handicapant. Notamment l'arme principale qui est un fouet qui est donc un long sprite horizontal quand tu fouettes. le coup de fouet consome 6 sprites horizontaux + les 2 du personnage on atteint deja le max de 8 sprites. Tout ce qui s'affichera sur la meme ligne va donc produire des clignotements

A cela ils ajoutent une autre contrainte. Des elements de decors déstructibles (colone de feu, chandelier) qui sont composés de sprites au lieu de tiles de background et en plus a la hauteur d'ecran la plus charger en général. Du coup meme sans ennemie tu peux avoir des clignotements.

Et un 3eme points qui agrave encore les clignotements c'est le format des sprites. Sur NES tu as 2 choix de format de sprite. le standard 8x8 et le format 8x16 utilisé dans Castlevania et lorsque tu utilises le format 8x16 t'es obligé de l'utiliser pour tous les sprites (meme si le sprite fait seulement 2 pixel de haut) et donc quand t'as des clignotements tu peux te retrouver avec des clignotements sur 16 pixels de haut (donc l'equivalent de 2 sprites standard) au lieu de 8 a cause de ce format.

Par exemple dans Castlevania la chaine de ton arme fait 3 pixels de haut mais elle est obligé d'utiliser quand meme des sprites de 16 pixels de haut qui occupe donc 16 scanlines et augmente les chance de saturer l'affichage de sprite par scanline.



Voila a quoi ressemble Castlevania dans une situation sans ennemie mais avec juste 2 elements de decors destructible (qui utilisent donc des sprites) et l'utilisation de l'arme.
Ici sur l'emulateur on peut tricher et cocher une option pour s'affranchir des limites hardware de la NES et tout afficher meme quand la console n'en est pas capable. En effet sur cette simple scene on peut compter deja 12 sprites alignés a l'horizontal sur les memes scanlines alors qu'elle ne peut en afficher que 8.

(https://lh6.googleusercontent.com/-8BCz2fWJNMA/U_0iY5wxjHI/AAAAAAAAAWQ/C9OZ2EIrJSw/w512-h395-no/castleg1.gif)



Du coup en réalité il va falloir enlever 4 sprites pour que ca devienne affichable. Et donc quand on emule vraiment la NES sans cocher l'option magique ca donne ca:

(https://lh5.googleusercontent.com/-ftNyphK4Fnw/U_0iY3zTp0I/AAAAAAAAAWg/uEv8g2Y4nhc/w512-h389-no/castleg2.gif)



et la frame d'apres on enleve 4 autres sprites different pour alterner et pouvoir ainsi afficher ceux qui avait disparu la frame d'avant et les rendre visible au joueur.

(https://lh6.googleusercontent.com/-g7_Xf1RnZsw/U_0iY1VICiI/AAAAAAAAAWc/6GkT_8bpt2g/w512-h392-no/castleg3.gif)



et ainsi de suite a chaque frame ce qui donne les clignotements bien connu

(https://lh3.googleusercontent.com/-pYBVh4tgm4k/U_0iZ5Bl-2I/AAAAAAAAAWk/sr7-t6YdJyQ/w512-h389-no/castleg4.gif)



Et comme c'est des "double sprite" format 8x16 meme pour la chaine c'est donc comme si t'avais 2x plus de sprite qui clignotait. Avec un format 8x8 la partie superieur des flammes ou du corp du personnage serait indépendante et n'aurait pas clignoté car ne serait pas sur les meme scanline que la chaine.



Mais y a un 4eme element dans le jeu qui ajoute encore plus de clignotement. Plus difficile a expliquer et surtout a justifier car pas directement lié aux limitations d'affichage de la NES.

(https://lh5.googleusercontent.com/-oTGUJ8e7IYk/U_296MFVUQI/AAAAAAAAAXE/TPNwgZC1V7A/w511-h385-no/Vania.jpg)

Ici sur cette image on voit que le personnage au repos est composé de tout juste 4 sprites 8x16, tout comme les colonnes en feu. Donc sur cette scene ca donne un max de 6 sprites sur la meme scanline. On est bien en dessous de la limite d'affichage de 8 et donc aucun probleme pour la NES a afficher cette scene sans clignotement et c'est bien le cas.

Mais quand on va se placer devant la colone alors on se retrouve avec ca a l'ecran

(https://lh3.googleusercontent.com/-5MnjRJg99oY/U_296Aej5aI/AAAAAAAAAXI/SejBHs5sIPg/w512-h386-no/Vania1.gif)



Ca clignote de partout alors meme qu'on est en dessous des limites d'affichage. D'ailleurs vous pouvez vous amusez a faire le test sur emulateur, meme en activant l'option magique qui permet en emulation de s'affranchir de la limite des 8 sprites ce clignotement la reste present contrairement aux autres. alors pourquoi?



C'est lié a la facon dont est géré la liste de sprite. La NES gère une liste de 64 sprites, c'est la liste de tous les sprites qui sont affichable sur l'ecran. Mais cette liste sert aussi de liste de priorité pour le PPU (GPU de la NES).
Un sprite c'est un element graphique qui est composé de pixels opaques mais aussi de pixels transparents qui laissent apparaitres ce qu'il y a derriere lui et ceci implique de déterminer qu'est ce qui est derriere et qu'est ce qui est devant et c'est l'ordre de la liste de sprite qui définie les priorités. Les sprites les plus haut dans la liste sont les plus prioritaires et s'affiche donc devant ceux qui sont en bas de la liste.

Et surtout c'est aussi cette liste de priorité qui va déterminer quelles sont les sprites qui ne seront pas affichés quand on dépasse la limite de 8 sprites sur la meme scanline. Si y a 10 sprites sur la meme ligne ce sont les 2 sprites les plus bas dans la liste qui seront zappé.
Et donc pour eviter que ce soit toujours les memes sprites qui soit exclus et qui alors deviendrait completement invisible a l'ecran, les programmeurs inversent la liste de sprite a chaque frame (ou la melange) ce qui change les priorités des sprites a chaque frame et produit les clignotements qu'on connait mais permet de rendre visible au joueur tous les elements.



Mais dans cette exemple on est dans un cas particulier ou l'on superpose 2 sprites, celui du personnage et celui de la colonne qui est un element du decors destructible composé de sprites. Avec des ennemis ou des items cette situation n'arrive pas vraiment car l'item disparait et l'ennemi te repousse mais ici on a une vrai superposition de sprite.
Normalement c'est dans cette situation que les priorités de sprites sont utilent, la logique voudrait que le personnage soit plus haut dans la liste que la colonne de feu et ainsi etre prioritaire et pouvoir etre tout le temps afficher par dessus la colone mais ici le programmeur melange la liste de sprite a chaque frame pour anticiper les moments ou y aura une surcharge de sprite horizontal et donc brouille toute logique de priorité.
Du coup les sprites qui composent le personnage sont parfois prioritaire et parfois ce sont ceux de la colonne qui sont prioritaires. Cette fois y a pas réelement de sprite qui disparaissent de l'affichage, tous les sprites sont bien affichés mais sont recouvert par un autre en alternance.

(https://lh4.googleusercontent.com/-ebQgnWom4GY/U_296EUgVsI/AAAAAAAAAXM/dDPyNvGp7Jc/w512-h386-no/Vania2.gif)



On se demande pourquoi rien est fait pour eviter au moins ca. Soit mettre tout le temps le personnage en haut de la liste pour qu'il soit toujours prioritaire et melanger seulement le reste de la liste ca suffirait pour les moments de surcharge.
Soit tout simplement désactiver le melange systematique de la liste de sprite quand c'est pas nécéssaire, c'est a dire quand y a pas de surcharge horizontal, et y a justement un flag dans l'un des registres du PPU qui t'indique cela. Ce flag s'active chaque fois que le PPU se retrouve dans une situation ou y a + de 8 sprites sur la meme scanline donc le programme peut savoir a quelle frame y a surcharge et donc activer le melange de la liste de sprite seulement quand c'est nécéssaire ce qui alors eviterait d'avoir des clignotements dans cette exemple ou y a pas de surcharge. Ce flag sert a ca, pourquoi ne pas l'utiliser?

Mais le mieux serait d'utiliser des tiles de background au lieu de sprite pour ces elements de decors. Tu peux tres bien faire des elements de décors destructibles avec des tiles de background, ca reglerait ce probleme + d'autre probleme de surcharge de sprite.
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Août 27, 2014, 07:22:40 PM
Pour le coup était tout vraiment très claire!
Peut-être qu'utiliser des sprites était ce qu'il y avait de plus court...Je sais pas XD
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 27, 2014, 08:23:51 PM
Ici le principale interet c'est que ca leur permet de placer cette elements de decors n'importe ou peu importe le background derriere.

(https://lh6.googleusercontent.com/-8BCz2fWJNMA/U_0iY5wxjHI/AAAAAAAAAWQ/C9OZ2EIrJSw/w512-h395-no/castleg1.gif)

on voit ici une barriere derriere la colone, puis une fontaine derriere l'autre.
Si la colone etait un element de background il ne pourrait rien y avoir derriere ou alors toujours la meme chose et ca limiterait les possibilité d'integration. Ca simplifie les choses.
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Août 27, 2014, 08:37:27 PM
Ha ok, merci!
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 27, 2014, 09:31:13 PM
j'ai refais une grosse partie sur Ghost'n goblins et la aussi c'est la foire au flickering et dans ce jeu c'est meme parfois problematique en terme de gameplay avec des projectiles ou ennemis qui disparaissent.

La raison ici est differrente de Castlevania. Sur NES les sprites sont en 2bpp soit seulement 3 couleurs ce qui rend compliqué la representation d'un personnage. Si on veut plus de 3 couleurs il faut superposer plusieurs sprites les uns sur les autres et c'est ce qu'ils ont fait ici avec Arthur (qui a une palette de 5 couleurs) et avec aussi pas mal d'ennemis. Alors ca donne quelque chose de jolie et proche de l'arcade mais ca sature tres vite l'affichage de sprite. Tous ces clignotement ca gache quand meme pas mal de jeu NES, ils gagnent a etre joué en emulation.

Mais y a d'autres grosses lacunes dans ce jeu. Les items (sprites) au sol dont la position n'est pas mis a jour de facon synchrone avec le scrolling du background. T'as le background qui scroll puis seulement la frame d'apres l'item au sol se déplace pour accompagner le scroll. Ca fait un effet de judder dégueulasse (sur les ennemis aussi).

Mais le pire c'est le scrolling. Le scrolling est saccadé, je comprend pas pourquoi! au lieu d'avoir un scrolling fluide au pixel et a 60fps comme dans Castlevania ou les autres, ici c'est un scrolling par pas de 3 pixels toutes les 3 frames et donc a 20fps. C'est vraiment décevant (surtout pour moi qui suit fan de cette serie).

Je préfere presque la version C64. C'est une version au rabais (bridé par le fait qu'elle est sortie je crois sur une cartouche 32Ko contre 128Ko sur NES) dont ils ont enlevé pas mal de passage donc pas une version tres acceptable mais au moins c'est fluide et sans sprite qui clignote. C'est propre.

Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Août 27, 2014, 09:54:22 PM
Il me semblait que j'arrivais à effacer des ennemis sur MegaMan 2... :vice:
C'est toute le déception d'un homme que tu nous montres là  :no4:
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 28, 2014, 03:30:06 PM
Je me suis entrainé a faire ce glitch intéressant dans Zelda

https://www.youtube.com/watch?v=L3ih61jVVrk


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
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 28, 2014, 08:26:29 PM
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.

Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Août 28, 2014, 08:43:03 PM
Ah oui au fait Upsilandre, tu saurais m'expliquer la technique derrière l'animation du perso principal de Ernest Evans sur mega cd ?
http://youtu.be/_UhhB87pSeg
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 28, 2014, 08:55:16 PM
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)
Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Août 28, 2014, 09:00:27 PM
Merci pour les infos.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 28, 2014, 09:04:56 PM
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
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 28, 2014, 09:44:12 PM
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)

(http://www.emuljour.net/Images/Tests/NES/Megaman01-02.gif)
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 29, 2014, 02:03:40 PM
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
(http://bootgod.dyndns.org:7777/imagegen.php?ImageID=2347&width=600)
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
(http://bootgod.dyndns.org:7777/imagegen.php?ImageID=1311&width=600)
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.


Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Août 29, 2014, 02:09:16 PM
On est bien loin des cartouches 32Ko  :cool:

Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 29, 2014, 02:56:42 PM
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.


Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 29, 2014, 06:33:16 PM
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.
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Août 29, 2014, 09:19:05 PM
...En effet ça doit mérité le coup d'oeil !
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 29, 2014, 10:01:04 PM
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...)

Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Août 30, 2014, 09:28:13 PM
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 : https://www.youtube.com/watch?v=xpaXvvug5qc
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  ^^
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 30, 2014, 09:59:58 PM
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

(https://lh3.googleusercontent.com/-kapd08JSqbg/VAIcNmjvG9I/AAAAAAAAAYg/WNktw5nsIoA/w711-h366-no/ng3tileset.jpg)


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.



Titre: Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Août 30, 2014, 10:34:45 PM
Citation de: Coca_Impact le Août 30, 2014, 09:28:13 PM
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

C'est compliqué de faire de la 3D avec des consoles qui sont specialisés pour l'affichage de tile. Faut beaucoup bidouiller, c'est pas une bonne idée. C'est juste marrant pour des demos


Citation
Après quelques recherches des jeux 3D de la MegaCD, j'ai trouvé ça : https://www.youtube.com/watch?v=xpaXvvug5qc
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).
C'est une video précalculé qui simule l'environnement et les gros vaisceaux en 3D, la megadrive n'est pas capable d'afficher tout ca en polygone.


Citation
Aussi, Si tu sais comment la Nes s'y prenait pour afficher des rendus 3D (Snow, 3D runner) je suis pas contre  ^^
Tu veux dire des rendu facon "space harrier"?
C'est pas de la 3D, c'est de la 2D avec un trick de perspective et a mon avis pas facile a faire sur une NES. Sortir d'un affichage par tile c'est un bon challenge mais sans doute pas la meilleur facon d'utiliser le hardware mais c'est toujours intéressant.
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Août 30, 2014, 11:36:54 PM
CitationC'est une video précalculé qui simule l'environnement et les gros vaisceaux en 3D, la megadrive n'est pas capable d'afficher tout ca en polygone.

Je m'en serai pas douté, c'est vraiment bien foutu  :o

CitationTu veux dire des rendu facon "space harrier"?
C'est pas de la 3D, c'est de la 2D avec un trick de perspective et a mon avis pas facile a faire sur une NES. Sortir d'un affichage par tile c'est un bon challenge mais sans doute pas la meilleur facon d'utiliser le hardware mais c'est toujours intéressant.
Bien sure Bien sure, j'ai essayer Snow, et la fluidité du "tapis", ça m'a vraiment scotcher, si je ne me trompe pas c'est uniquement des sprites grossit/rapetissées ?   

J'ai trouvé un émulateur de jeu Nes qui les émules en Voxels, c'est plutôt drôle et sa permet de transformé n'importe quel Shoot à scrolling horizontal en scrolling vertical et vis versa : http://www.dorkly.com/embed/57803/voxel-engine-emulates-nes-games-in-3d#!bMU4Pu
Titre: Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Août 31, 2014, 12:24:25 AM
Citation de: Coca_Impact le Août 30, 2014, 11:36:54 PM
Bien sure Bien sure, j'ai essayer Snow, et la fluidité du "tapis", ça m'a vraiment scotcher, si je ne me trompe pas c'est uniquement des sprites grossit/rapetissées ?

Je connais pas Snow (et a mon avis c'est pas le nom du jeu) mais 3D runner oui. Mais comme y a pas de zoom de sprite sur NES faut stocker les sprites dans differentes tailles. Et si tu prend Space harrier sur Master System tu peux voir que les sprites (ennemis , explosion, arbres...) sont carrement des morceaux de background (seul moyen d'avoir des sprites aussi gros) d'ou la mauvaise intégration (ca fait des bloc avec une couleur de fond pas raccord) et le mouvement saccadé des "sprites" (une tile de background ca se déplace pas au pixel pret mais par pas de 8 pixels) mais c'etait plutot ingenieux.
 
Mais la partie intéressante d'un jeu comme 3D runner sur NES c'est plutot le sol en damier qui donne tout l'effet de perspective que la gestion des sprites, c'est ca le coeur du trick et c'est surtout la que c'est compliqué car ils ont fait un truc assez avancé (pas juste un color swap). Apparemment il modifie la palette et les valeurs de scrolling a chaque scanline donc ca demande un bon timing (ou un systeme d'interruption efficace dans le mapper) et ca doit quasiment te bloquer le CPU pendant tout l'affichage du damier


Citation
J'ai trouvé un émulateur de jeu Nes qui les émules en Voxels, c'est plutôt drôle et sa permet de transformé n'importe quel Shoot à scrolling horizontal en scrolling vertical et vis versa : http://www.dorkly.com/embed/57803/voxel-engine-emulates-nes-games-in-3d#!bMU4Pu

J'avais deja vu ca, je trouve ca tres sympa comme idée mais pour que l'effet soit reussit il faut un jeu avec un aplat de couleur en background que tu peux alors définir comme canal de transparence. y en a pas tant que ca qui s'y prete et sans cela l'effet est moins intéressant.
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Août 31, 2014, 01:35:51 AM
En effet le jeu s'appel Slalom, je sais pas pourquoi je m'était mis dans la tête que c'était Snow  :mad:

J'ai jouer un petit moment à quelque jeux, Journey to Silius a vraiment des musiques bluffantes (ça me fait pensé au son d' Amiga avec des basses encore plus présentes ) et absolument génial, CrisisForce  que je trouve plutôt joli et très fluide.

J'ai vraiment beaucoup aimé Metal Storm, mais juste après Journey to Silius ça fait bobo aux oreilles  :cry2:
Titre: Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Août 31, 2014, 12:00:22 PM
Citation de: Coca_Impact le Août 31, 2014, 01:35:51 AM
En effet le jeu s'appel Slalom, je sais pas pourquoi je m'était mis dans la tête que c'était Snow  :mad:

J'ai jouer un petit moment à quelque jeux, Journey to Silius a vraiment des musiques bluffantes (ça me fait pensé au son d' Amiga avec des basses encore plus présentes ) et absolument génial, CrisisForce  que je trouve plutôt joli et très fluide.

J'ai vraiment beaucoup aimé Metal Storm, mais juste après Journey to Silius ça fait bobo aux oreilles  :cry2:

Des bons choix de jeu que je connais pas

- Slalom effectivement la piste est bien foutu avec ses belles courbes fluide, c'est une belle gestion comme dans 3D runner ou faut modifier le scrolling pour chaque ligne d'ecran (au lieu de faire scroller l'ecran complet on fait scroller chaque ligne individuellement pas a la meme vitesse)
J'ai eu du mal mais je t'ai retrouvé cette video, ca explique tres bien
http://youtu.be/eD_udgNc4aY?list=UUNzwnCxbBaCmwHwNDD4j43A

- Journey to Silius tres sympa et effectivement niveau audio il pousse a fond l'utilisation du canal PCM de la NES ce qui est plutot rare et ca se sent.

- Metal Storm sympa aussi, un gameplay a la VVVVVVV et beaucoup de bank switching comme j'aime pour faire un scrolling sur 2 plan et avoir des sprites bien animé.

- CrisisForce un tres bon shoot vertical, y en a pas beaucoup sur NES. La aussi beaucoup de bank switching comme j'aime pour faire cette effet de parallaxe quand la faille s'ouvre en pleine ville, effet tres reussit.



Sinon j'ai oublié d'en parler dans mon post sur Ninja Gaiden 3 mais encore une fois on retrouve ce choix de gameplay curieux ou quand t'es en l'aire tu ne peux plus te retourner pour shooter un ennemi. C'est le meme choix que dans Castlevania et c'est un choix que j'ai du mal a comprendre car y a a priori pas de raison technique. 
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Août 31, 2014, 12:59:47 PM
Merci pour la vidéo!

Je me suis amusé à écouter l'OST de Journey to Slilius suivit de celle de MegaMan X, et les son est plus propre sur NES, les basses ressortes mieux, le son est est plus chauds....

CitationSinon j'ai oublié d'en parler dans mon post sur Ninja Gaiden 3 mais encore une fois on retrouve ce choix de gameplay curieux ou quand t'es en l'aire tu ne peux plus te retourner pour shooter un ennemi. C'est le meme choix que dans Castlevania et c'est un choix que j'ai du mal a comprendre car y a a priori pas de raison technique

ça m'avait pas tellement gêné...
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 31, 2014, 04:13:13 PM
Je viens de découvrir qu'une version de Street Fighter 2 est sortie sur Master System en 1997 (c'est a dire a l'epoque ou l'on jouait depuis longtemps sur PS1 ou meme sur N64) pour le marché Brésilien et c'est impressionnant.

http://youtu.be/5H7bR7wzBo4


Quand j'ai vu ca mon cerveau a explosé car j'ai tout de suite vu qu'il y avait quelque chose de pas normal. La Master System (ou la NES) ne peut pas afficher 2 sprites aussi gros face a face sans que ca clignote de partout.
Apres avoir vérifié que c'etait pas l'emulateur qui trichait et que c'est bien comme ca que ca s'affiche sur la vrai console je suis donc vite arrivé a la conclusion que c'etait pas des sprites mais des blocs de background ce qui colle aussi avec les mouvements grossiers (un sprite on peut le deplacer pixel par pixel, un bloc de background on peut le déplacer seulement de 8 pixel en 8 pixel, la taille d'un tile quoi)

Mais on voit bien que l'intégration de ces faux "sprites" dans le décor est nickel, pas comme un Space Harrier par exemple qui remplace aussi les sprites par des blocs de background (sauf le joueur) sauf que ca se voit tout de suite car ca s'integre tres mal puisque les tiles de background n'ont pas de transparence contrairement aux sprites.

(http://home.arcor.de/cybergoth/xype/space_harrier.gif)
(http://media.tumblr.com/tumblr_m4x32kEvQM1ql48ry.png)
(http://www.smspower.org/forums/files/space_harrier_50_and_60_hz_01_120.png)



Donc ca voudrait dire que pour street fighter ils effectueraient un traitement software en temps réel pour fusionner les tiles de background entre elle (celle du personnage avec celle du veritable décor qui n'est jamais le meme dèrriere le personnage). C'est a dire simuler en software ce que le hardware fait avec les sprites.

Mais quand je faisais un calcule vite fait de tete ca me paraissait enorme comme tache, rien que de charger les tiles qui composent chaque personnage (jusqu'a 48 tiles par personnage donc 96 en tout) de la ROM a la VRAM (car vu la taille des sprites la VRAM ne peut contenir qu'une seul etape d'animation, faut donc l'alimenter a chaque mouvement et sur SMS pas de bank switching) ca prend un temps fou d'autant que les tiles SMS sont 2 fois plus lourdes que celle sur NES (4bpp vs 2bpp) c'est donc l'equivalent de 192 tiles NES a loadé en VRAM et sur NES ca prendrait 3 frames complete a faire que ca (et pour ce genre de tache le CPU SMS est peut etre meme encore plus lent).
3 frames juste pour charger les sprites dans la VRAM, si en plus fallait executer des traitements complexes de fusion de tile selon un code de transparence ca me paraissait tres compliqué voir impossible meme si le framerate est tres faible (10fps).


J'ai donc décidé de lancer le jeu dans un émulateur pour résoudre l'enigme et finalement la solution etait simple. L'un des player est composé de sprite et l'autre est composé de background. C'est un mixe des 2, tres ingenieux!
J'etais quand meme content d'avoir eu un raisonnement juste (que y avait forcement du background dans les sprites mais qu'on pouvait pas appliquer ce traitement sur les 2 personnages c'etait trop lourd) c'est que je commence a bien cerner les capacités de ces machines.

En tout cas l'idée est génial. En plus la contrainte de mouvement par pas de 8 pixels est pas vraiment choquante puisque le framerate est de toute facon tres bas donc les mouvements aurait de toute facon eu un pas elevé pour compenser.
Le trick consiste au final a émuler de facon software des sprites pour doubler la capacité d'affichage de la SMS. Les sprites de ce jeu sont donc 50% hardware et 50% software.
Du coup comme les sprites sont la principale faiblesse, une fois partiellement contourné y a moyen de faire illusion car sur SMS t'as des graphismes 4bpp comme une Megadrive pour avoir des sprites bien coloré.

La consequence c'est effectivement un jeu a 10fps a cause du traitement lourd et donc pas tres jouable mais c'est un jolie coup de bluffe. J'aime bien le challenge.
C'est aussi quasiment la plus grosse cartouche Master System avec 800Ko (mais bon en 1997 sur N64 les cartouches sont deja 10 ou 20 fois plus grosse)
Titre: Re : Re : Hardcore Retrogaming
Posté par: Hobes le Août 31, 2014, 04:22:11 PM
Citation de: upsilandre le Août 31, 2014, 04:13:13 PM
La consequence c'est effectivement un jeu a 10fps a cause du traitement lourd et donc pas tres jouable mais c'est un jolie coup de bluffe. J'aime bien le challenge.

C'est le cas sur la vidéo ? Car ça ne se voit pas du tout, le jeu a l'air fluide et presque jouable s'en est bluffant. Le Brésil cette mine d'or de trouvailles divers variées.
Titre: Re : Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Août 31, 2014, 04:43:44 PM
Citation de: Hobes le Août 31, 2014, 04:22:11 PM
C'est le cas sur la vidéo ?

oui entre 10fps et 15fps.
Mais ce genre de jeu on observe surtout les coup et on est donc habitué a ce que ca soit saccadé (car y a jaimais beaucoup de frame d'animation sur ce genre de sprite) donc au final le fait que les déplacements, les sauts ou le scrolling soit aussi saccadé que l'animation des coup eux meme choque pas trop.

Par contre l'input lag est forcement bien plus elevé que les autres jeux de l'epoque mais pas plus elevé qu'un jeu 3D console lambda d'aujourd'hui sur nos TVHD.

Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Août 31, 2014, 04:44:04 PM
Les musiques sont quand même ultra dégradées...
Titre: Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Août 31, 2014, 05:05:55 PM
Citation de: pippoletsu le Août 31, 2014, 04:44:04 PM
Les musiques sont quand même ultra dégradées...

tu m'étonnes :D
Je suis le seul a entendre ca sur le theme de Ken?
http://youtu.be/Q6omsDyFNlk?t=1m30s



Vraiment on se rend pas compte la mediocrité du sound chip de la Master System, faut bien réaliser que meme l'intellivision a un meilleur sound chip (bon apres ce qui fait la qualité de la musique c'est aussi les ressources memoire et CPU alloué car c'est aussi beaucoup de software la chiptune)

C'est simple la Master system c'est toujours le meme son "square wave" et qui couvre meme pas tous les octaves (il est plutot dans les aigues) et sans aucun support d'effet autre que software.
Sur NES t'as du triangle wave plus sourd et chaud pour la basse en général. Tu peux modifier le duty cycle des squares waves pour avoir different timbre ou ajouté quelque effet de modulation hardware, tu peux jouer avec le canal PCM. C'est pas comparable.
Et le C64 la c'est le nirvana, c'est un vrai petit synthé donc t'as une vrai richesse de son.




Faite cette experience pour comprendre a quelle point le son est pauvre sur master system (et dieu sait que j'ai un gros affecte avec les mélodies des jeux SMS car c'est ca qui a bercé ma jeunesse, beaucoup plus que la NES)
Ecoutez 2 ou 3 minutes de ce catalogue complet en zappant un peu partout pour bien se rendre compte que tout se ressemble en terme de son.
http://youtu.be/FDk_vKzu7kI



Maintenant ecoutez vraiment les 15 premieres minutes de ce petit florilege de jeux C64 (donc la génération avant la SMS) orchestré par Rub Hubbard (donc c'est toujours le meme gars, ca pourrait donc encore plus se ressembler) pour bien comprendre la difference de richesse sonore. Et la je vous dis y a pas besoin de zapper.
http://youtu.be/QE589HrGPkI

Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Août 31, 2014, 05:10:00 PM
Moi j'ai le vieux modèle de Master System avec le module FM, c'est un poil mieux.
Dans tous les cas le son SMS est inimitable et ça, ça n'a pas de prix.
Titre: Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Août 31, 2014, 05:20:17 PM
Citation de: pippoletsu le Août 31, 2014, 05:10:00 PM
Moi j'ai le vieux modèle de Master System avec le module FM, c'est un poil mieux.
Je dirais pas que c'est un poile mieux mais que ca n'a plus rien avoir.
La synthese FM c'est un autre monde, ca t'ouvre a une grande richesse de son possible.


CitationDans tous les cas le son SMS est inimitable
Malheureusement si, ce son square wave c'est le plus basique et le plus commun a tous les sound chip et donc a toutes les machines.
Par contre la NES ou le C64 ont une identité sonore oui.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 31, 2014, 09:21:29 PM
Finalement le trick utilisé dans Street Fighter vient de... Mortal Kombat, 4 ans avant, c'est exactement la meme technique, c'est probablement la qu'ils l'ont piqué.
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Août 31, 2014, 09:28:48 PM
Intéressant encore une fois ^^
J'ai regarder quelques autres Video Game Tool Box, et je dois avoué que celui sur les premiers FPS m'a tiré de pas mal de fausses idées  :o
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 31, 2014, 09:30:31 PM
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.
Titre: Re : Hardcore Retrogaming
Posté par: 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 https://www.youtube.com/watch?v=tPlZI1OTSvY ) . Je me demande quelles sont les limites de cette Technologie  :vice:   
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 31, 2014, 10:14:11 PM
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.
Titre: Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Août 31, 2014, 10:38:15 PM
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 https://www.youtube.com/watch?v=tPlZI1OTSvY ) . 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.
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Août 31, 2014, 11:51:00 PM
... https://www.youtube.com/watch?v=_-ykPd5EgO0  O.o
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 02, 2014, 07:04:14 PM
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.
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Septembre 02, 2014, 08:13:30 PM
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...
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 02, 2014, 09:28:33 PM
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.



http://youtu.be/ExzchhbgqQE



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..

(http://www.gameblog.fr/images/jeux/1292/AfterBurner_MS_Jaquette_001.jpg)
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 03, 2014, 01:43:25 PM

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)

(http://cdn.duelinganalogs.com/wp-content/uploads/2012/03/before-and-after.gif)

Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Septembre 03, 2014, 02:28:18 PM
Ha quand même !  Tu sort d'où les sprites alternatifs ?
Titre: Re : Hardcore Retrogaming
Posté par: Alphonse le Septembre 03, 2014, 02:30:44 PM
Très impressionnant :laporte: Les couleurs ressemblent aux suites sorties sur SNES des jeux concernés.
Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Septembre 03, 2014, 02:36:57 PM
Mario je soupçonne que ce soit le Sprite de Mario 3.
Titre: Re : Hardcore Retrogaming
Posté par: Alphonse le Septembre 03, 2014, 02:37:29 PM
Façon Mario All Stars alors
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 03, 2014, 02:38:39 PM
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

Titre: Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 03, 2014, 02:39:27 PM
Citation de: Coca_Impact le Septembre 03, 2014, 02:28:18 PM
Ha quand même !  Tu sort d'où les sprites alternatifs ?

http://www.duelinganalogs.com/article/the-nes-that-never-was/
Titre: Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 03, 2014, 02:46:16 PM
Citation de: Alphonse le Septembre 03, 2014, 02:37:29 PM
Façon Mario All Stars alors

oui tres proche du sprite SNES mais pas le meme
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 03, 2014, 03:36:19 PM
J'ai encore trouvé un autre jeu SMS qui utilise le trick des sprites softwares: Altered Beast.
Seul le sprite du joueur est software (et les boss) et du coup encore un jeu en dessous des 10fps.
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Septembre 04, 2014, 09:04:32 PM
Petite question, Stunt Car Racer utilise-t-il des polygones (Amiga) ? à priori oui, mais le sol à bandes alternés jaune/marron pour dessiner les contours de la pistes et la routes encore à bande alternés laisse pensé que c'est trick... https://www.youtube.com/watch?v=Wey5s5ceMxE
Titre: Re : Hardcore Retrogaming
Posté par: dheen le Septembre 04, 2014, 09:24:51 PM
Stunt car racer :') que de souvenir !
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 04, 2014, 09:32:15 PM
Non c'est bien de la vrai 3D mais comme c'est de la 3D flat sans texture le seul moyen de transmettre le mouvement et la vitesse c'est d'alterner les polygones de couleur differentes sinon ca rendrait pas terrible.
Et puis y a juste la piste, y a rien d'autre (pas de voiture ou autres objets 3D) ca simplifie le truc.


Par contre aujourd'hui j'ai decouvert que Namco en Arcade avait sortie un jeu de F1 en 3D (et qui a l'aire fluide) en 1988 4 ans avant Virtua Racing. Pour moi 1988 la 3D en Arcade c'etait Hard Drivin de Atari mais nan en faite y avait deja Winning Run de Namco a l'epoque et bien plus impressionnant (grace au system 21)

http://youtu.be/G01FZUtIMX0


Finalement la chronologie de la 3D en Arcade ca semble etre dabord Atari au debut des années 80 qui est a l'avant garde (Battlezone, I Robot le premier en Flat), puis Namco qui prend le lead avec Winning Run, StarBlade, Ridge Racer (premier avec texture et gouraud shading) et enfin Sega qui mise a fond sur la 3D.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 05, 2014, 09:27:03 PM
Golden Axe encore un autre jeu SMS qui utilise des sprites softwares, ici tous les sprites sont software ce qui fait pas mal de boulot (mais on ne peut pas jouer a 2, sans doute trop lourd). On peut observer qu'il y a un budget max de 128 tiles dispo pour les sprites si bien que si le jeu tente de dépasser ce budjet certain bout de sprite n'apparaissent tout simplement pas.

Et donc encore un framerate a moins de 10fps. Ils utilisent quand meme entre 3 et 6 frames juste pour l'intégration software des sprites!! puis 2 frames pour la mise a jour du tileset et 1 frame pour mettre a jour la tilemap et le reste. Ca donne donc un jeu qui tourne entre 6 et 9vbl aie! mais au final le jeu est quand meme plutot sympatique a jouer (bien plus que Altered Beast ou Afterburner)

Ce trick a aussi une autre contrainte, c'est sur la palette. T'es obligé d'utiliser la meme palette de 16 couleurs pour le background et les sprites software qui s'y superposent. Du coup la seconde palette de la SMS est moins utilisable et donc les jeux plus pauvre en couleurs.
C'est d'ailleurs ca aussi qui empeche de pouvoir reproduire ce trick sur NES (en plus d'autres raisons) car la NES c'est du 2bpp. Avec ce trick elle pourrait pas exploiter ses palettes et devrait se limiter a 4 couleurs au total ce qui donnerait un jeu proche du monochrome.

(http://www.hardcoregaming101.net/goldenaxe/goldenaxe-sms.png) (http://www.hardcoregaming101.net/goldenaxe/goldenaxe-sms2.png)


Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 09, 2014, 05:34:26 PM
Y a une question que je me suis souvent posé sur les shoots 8bit c'est le choix de la verticalité versus l'horizontalité. C'est un choix technique different.
A priori un shoot horizontal est  plus intéressant, y a plus d'espace pour voir arriver les ennemis, y a une notion de gravité qu'on peut integrer au gameplay, ou avoir un sol avec des obstacles. Le scrolling est theoriquement moins couteux d'autant plus que les pixels sont anamorphique (mais souvent les scrolling des shoot 8bit que j'ai vu sont juste des boucles sans mise a jour de data donc coute de toute facon rien)

Par contre un scrolling vertical a l'avantage d'etre parfois bien plus simple a faire sur des machines pas forcement concu pour le scrolling, par exemple on peut faire un scrolling vertical sur la VCS ou meme la Studio 2.
Mais sur des machines comme la NES ou la SMS ou la principale limitation c'est le nombre de sprite par scanline un shoot vertical a sans doute l'avantage de mieux distribuer les sprites.
Sur un shoot horizontal t'as deja ton vaisseau + 2 ou 3 de tes tires sur la meme scanline donc deja par defaut tu dépasses en général 50% du budget meme sans ennemis/items, alors qu'en scrolling vertical tu peux cumuler beaucoup plus de sprite sur la vertical et donc tu reduit la contrainte.

Donc je pense que le choix du scrolling vertical sur console 8bit (la proportion de shoot vertical est je pense plus grande sur console 8bit que 16bit) est surtout lié a la forte limitation d'affichage de sprite par scanline.
Et la NES est a mon avis mieux adapté au shoot vertical que la SMS car la NES a un affichage 240 ligne contre 192 sur SMS ce qui n'est pas negligeable surtout maintenant ou l'on peut jouer sans overscan.
Titre: Re : Hardcore Retrogaming
Posté par: Hobes le Septembre 09, 2014, 10:18:49 PM
Du coup faudrait compter le nombre de shmup verticaux/horizontaux sur les 2 machines et voir si on peut en déduire que la technique ait pu influer sur le choix de scrolling (du moins le supposer).

J'en doute cela dit.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 10, 2014, 03:27:47 PM
Je pense pas que ca soit pertinent, le nombre de ligne superieur de la NES est plutot un avantage a posteriori, la pression technique elle est plutot sur le nombre de sprite par scanline, c'est plutot ca qui va pousser vers du shoot vertical je pense donc ca serait plus interressant d'avoir des statistiques 8bit vs 16bit.
Mais si le shoot vertical reduit la visibilité et l'anticipation , il élargie tes possibilités d'evitement lateral, donc ca reste sans doute aussi un choix de gamedesign.


J'ai une question qui n'a rien a voir pour les connaisseur de la NES, est ce que Kid Icarus est une sorte de metroidvania ou pas du tout? (j'ai tenté d'y jouer mais j'ai pas aimé et pas tout compris, j'ai pas insisté)
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 10, 2014, 03:33:29 PM
et une autre question pour les connaisseurs, est ce qu'il y a un moyen d'entrer rapidement dans une grotte/donjon dès le debut de Ys sur NES? sur SMS y a une grotte dès le debut tout au nord mais sur NES la carte est differente et j'ai rien trouvé. Y a un effet de halo lumineux dans les grotte assez compliqué a faire sur 8bit et qui m'intéresse.
Titre: Re : Re : Hardcore Retrogaming
Posté par: Alphonse le Septembre 10, 2014, 03:41:19 PM
Citation de: upsilandre le Septembre 10, 2014, 03:27:47 PM
Je pense pas que ca soit pertinent, le nombre de ligne superieur de la NES est plutot un avantage a posteriori, la pression technique elle est plutot sur le nombre de sprite par scanline, c'est plutot ca qui va pousser vers du shoot vertical je pense donc ca serait plus interressant d'avoir des statistiques 8bit vs 16bit.
Mais si le shoot vertical reduit la visibilité et l'anticipation , il élargie tes possibilités d'evitement lateral, donc ca reste sans doute aussi un choix de gamedesign.


J'ai une question qui n'a rien a voir pour les connaisseur de la NES, est ce que Kid Icarus est une sorte de metroidvania ou pas du tout? (j'ai tenté d'y jouer mais j'ai pas aimé et pas tout compris, j'ai pas insisté)

Pas du tout, c'est très largement linéaire (hors palais) et un mélange de tir et de plate-forme.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 10, 2014, 03:54:01 PM
ok merci ca m'evitera de perdre du temps.

Je me disais qu'en quelques mois sort Zelda, Metroid et Castlevania qui sont tout les 3 en quelque sorte des metroidvania (meme si zelda est sortie juste avant ces 2 la) et que peut etre il y en avait eu d'autre cette fameuse année 86.
Je pense quand meme que ces 3 la sont un signe fort et pas juste une coincidence. L'arrivée de ces grosses cartouches et de ces disquettes libère d'un seul coup la force creatrice des developpeurs consoles de l'epoque et a cette epoque engoncé dans le jeu d'arcade qu'est ce qu'il se passe quand tu libères cette force? et bien les developpeurs cherche la rupture avec l'arcade et cherche a exploiter enfin ce que promet le jeu video a la maison, une autre facon de jouer. Je pense que le Metroidvania vient de la, c'etait une sorte de passage obligé finalement do'u son émergence simultané. C'est un peu la naissance des jeux pour la maison, qui n'aurait aucun sens dans une salle d'arcade.
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Septembre 10, 2014, 08:26:39 PM
Plausible, même évident, fallait pas que les consoles restes des sous-arcade!
Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Septembre 10, 2014, 08:54:02 PM
Citation de: upsilandre le Septembre 10, 2014, 03:54:01 PM
ok merci ca m'evitera de perdre du temps.

Je me disais qu'en quelques mois sort Zelda, Metroid et Castlevania qui sont tout les 3 en quelque sorte des metroidvania (meme si zelda est sortie juste avant ces 2 la) et que peut etre il y en avait eu d'autre cette fameuse année 86.
Je pense quand meme que ces 3 la sont un signe fort et pas juste une coincidence. L'arrivée de ces grosses cartouches et de ces disquettes libère d'un seul coup la force creatrice des developpeurs consoles de l'epoque et a cette epoque engoncé dans le jeu d'arcade qu'est ce qu'il se passe quand tu libères cette force? et bien les developpeurs cherche la rupture avec l'arcade et cherche a exploiter enfin ce que promet le jeu video a la maison, une autre facon de jouer. Je pense que le Metroidvania vient de la, c'etait une sorte de passage obligé finalement do'u son émergence simultané. C'est un peu la naissance des jeux pour la maison, qui n'aurait aucun sens dans une salle d'arcade.

Euh dans Castlevania premier du nom, ya zéro exploration. Il y a en a plus dans Kid Icarus j'ai envie de dire.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 11, 2014, 04:08:10 PM
un petit screenshot de Outrun sur SMS en mode debug

(https://lh6.googleusercontent.com/-ghUhZDiQyRk/VBGjQ7vcN_I/AAAAAAAAAaE/aigKyOs6ey0/w1280-h960-no/OutRun.jpg)


a gauche c'est ce qui s'affiche a l'ecran et a droite c'est la tilemap tel qu'elle se trouve en VRAM et qui constitue le background.
La tilemap est toujours un peu plus grande que l'ecran (sur SMS tres peu, sur NES elle fait le double de l'ecran) pour permettre le scroll, elle est un peu comme un cylindre, l'extremité droite rejoins celle de gauche (pareille pour le haut et le bas donc en vrai c'est plutot un tore), et c'est donc en deplacant dans cette tilemap l'offset qui défini l'endroit ou debute l'ecran qu'on produit un scrolling.


Ici ce qui est amusant c'est de constater que la route est tout le temps une ligne droite meme quand l'ecran affiche un virage. Les virages ne sont qu'une illusion produit en modifiant l'offset du scrolling a chaque ligne (au lieu de le faire seulement entre 2 frames pour faire un scrolling classic) pour décaler chaque ligne et déformer la route.
Le liseret noir-blanc (fleche verte) indique le debut d'une scanline (le debut de l'affichage de la ligne sur l'ecran) et le liseret blanc-noir (fleche rouge) la fin d'une scanline.
Au niveau du HUD on devine que c'est fixe, ca bouge pas. (grace d'ailleurs a une fonction specifique a la SMS qui permet si l'on souhaite de bloquer les 16 pixels du haut de l'ecran qui ne sont donc pas affecté par les scrolling)
Au niveau du background de nuage on voit un leger décalage qui se deplace d'une frame a l'autre pour faire légérement scroller le background, scrolling classic.
Au niveau de la route on voit que chaque scanline a un offset different et ne debute pas au meme endroit dans la tilemap avec un leger décalage entre chaque ligne qui va produire la courbure.


La meme chose sur MGP2

(https://lh3.googleusercontent.com/-UQnNok85R50/VBGjROXBb9I/AAAAAAAAAac/UFhZRcQH42c/w1280-h960-no/Super%2BMonaco%2BGP%2B2.jpg)


C'est la meme chose sauf qu'on voit aussi un differenciel dans le scrolling du background, la partie superieur avec les nuages ne se deplace pas a la meme vitesse que la partie building.


Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Septembre 11, 2014, 07:06:36 PM
Intéressant  :vice: Je pense être passé à côté de beaucoup de choses mais l'essentiel est compris ^^
Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Septembre 11, 2014, 07:20:08 PM
J'ai adoré. Il y avait outrun aussi, c'était facile.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 11, 2014, 07:54:08 PM
Un autre truc qu'on peut voir sur cette image c'est que les elements du decors comme les palmiers ne sont pas des elements de background (preuve en est ils n'apparaissent pas sur la tilemap de droite) ce qui signifie que ce sont des sprites et on comprend bien pourquoi. Si ces palmiers etaient integrés a la tilemap ils seraient déformé en meme temps que la route du coup c'est difficile de charger le décors car faut utiliser uniquement des sprites et on est vite limité (la ferrari du joueur fait deja 5 sprites de large sur 8 max)



(https://lh6.googleusercontent.com/-ghUhZDiQyRk/VBGjQ7vcN_I/AAAAAAAAAaE/aigKyOs6ey0/w1280-h960-no/OutRun.jpg)
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 13, 2014, 04:56:41 PM
Y a un mystere dans cette image de Ys NES que je suis certainement le seul a voir  :vice:

(https://lh3.googleusercontent.com/-pZg-POKevUI/VBM4NUl5fhI/AAAAAAAAAaw/ezmpuEo-HJY/w512-h480-no/YSb.jpg)

A gauche y une bordure noir de 8 pixels, classic... sauf qu'il y en a une aussi a droite bordel wtf!!! (https://gp5.googleusercontent.com/-Yc4GXQ5lDYo/AAAAAAAAAAI/AAAAAAAAAAA/UcNO71U5zow/s48-c-k-no/photo.jpg)


En effet depuis l'intellivision jusqu'a au moins la Megadrive, les GPU 2D ont en général une fonction (qu'on active ou pas, c'est au choix) qui permet de cacher le bord gauche de l'ecran (et en général uniquement le gauche comme c'est le cas sur NES et SMS) sur 8 pixels soit la largeur d'une tile. Sa fonction est de cacher des glitch. Principalement 2 types de glitch:
- Celui que peut produire un scrolling horizontal quand il utilise une tilemap qui fait tout juste la largeur de l'ecran, dans ce cas si tu met a jour la tilemap pour faire apparaitre le decors que révele le scrolling ca va se voir sur le bord de l'ecran gauche ou droit selon ton choix. En cachant le bord gauche le GPU reduit de 8 pixels la taille d'affichage de ton ecran (typiquement ca te donne une définition de 248 au lieu de 256) mais ta tilemap reste en 256 donc cette fois tu as un peu de marge pour la mettre a jour "hors champ" sans que ca n'apparaisse a l'ecran et donc sans glitch
- Celui que peut produire un sprite qui sort ou qui entre de l'ecran par le bord gauche car le point référent d'un sprite qui défini sa position c'est son coin haut a gauche. Donc quand un sprite sort de l'ecran par la droite, il sort progressivement avant son point référent qui sera le dernier a sortir. a l'inverse quand le sprite sort de l'ecran par la gauche c'est son point référent qui sort en premier des limites de l'ecran et qui fait disparaitre le sprite d'un seul coup ce qui donne un glitch. en cachant le bord gauche on peut faire sortir l'integralité du sprite (8 pixels) avant que son point référent ne soit réelement sortie des limites des coordonnées de l'ecran. Donc pour ce glitch c'est le bord gauche qu'il faut cacher et c'est donc ca qui imposera aussi l'utilisation du bord gauche pour le glitch de scrolling.


Alors pourquoi cacher le bord droit sur Ys?
Sur NES c'est un peu particulier car si les tiles font bien 8x8 pixels comme sur SMS, la gestion de la palette des tiles du background se fait par bloc de 16x16 pixels (une palette pour 4 tiles) donc cacher 8 pixels n'est pas suffisant pour cacher les glitch de scrolling lors de la mise a jour de la tilemap. Ca ne sera pas un glitch de tile erroné (ca sera le bon tile qui sera affiché) mais un glitch de couleur (pas les bonnes couleurs). Alors en général c'est pas grave car sur NES t'as une tilemap qui peut faire 512 de large (contre 256 sur SMS) donc bien plus que la largeur de l'ecran, t'as donc 256 pixels hors champ (bien plus que les 16 pixels nécessaire pour cacher le glitch) sauf que tu peux pas toujours utiliser cette configuration de tilemap.
Notamment ici sur Ys au lieu d'utiliser une tilemap double largeur, ils la coupent en 2 pour avoir 2 tilemap distinct, une pour le jeu (qui va donc scroller) et une pour le HUD (qui ne scroll pas). Du coup la tilemap du jeu est finallement limité a 256 pixels de large et donc pour cacher completement le glitch du scrolling il faudrait cacher 16 pixels ce qui est fait ici en cachant 8 pixels a gauche et 8 pixel a droite.


Mais ca nous dit toujours pas comment c'est possible? car d'un point de vue hardware on ne peut cacher que les 8 pixels de gauche sur NES (ou SMS).
Sur le coup je me suis dit qu'il y avait un truc que j'avais du loupé pourtant je pensais avoir fait le tour du hardware NES et le connaitre en detail donc c'etait embetant comme constat, comme un cailloux dans la chaussure. Apres verification dans les docs le constat reste le meme, au niveau hardware on peut pas mettre sur off le bord droit, seulement le bord gauche donc c'est pas quelque chose que j'avais raté, et pour moi le mapper ne peut pas pallier et faire cela.

Rapidement j'en suis arrivé a la conclusion que le seul moyen de produire ce qu'on voit a l'ecran serait d'aligner une colonne de 22 sprites noirs pour cacher tout le bord droit de l'ecran, aussi absurde que ca paraisse comme methode je ne voyais pas d'autre solution et l'avantage c'est que c'etait facile a verifier dans le debugger. Donc si vraiment j'avais compris le hardware de la NES, en désactivant les sprites je devrais voir la bande noir de droite disparaitre. Que de suspens au moement du test (j'adore ca :D)

et vlan, effectivement en désactivant les sprites j'ai fais apparaitre le bord droit de l'ecran avec le glitch qui etait caché derriere.

(https://lh5.googleusercontent.com/-NB_z30L8RVo/VBRMJOejzII/AAAAAAAAAbU/ab4hz53zYEo/w512-h480-no/ysgif.gif)


Donc les gars se sont bien amusé a cacher tout le bord droit de l'ecran avec des sprites et ainsi avoir un scrolling 4-way glitchless avec une tilemap juste de la taille de l'ecran.
22 sprites noirs (suffisant pour cacher 176 pixels) que l'on peut d'ailleurs voir aussi dans le tileset, une serie de tiles noires qu'on aurait pu assimiler a une absence de tile mais non.
22 sprites c'est 34% de la liste de sprite, 12.5% du budget sprite par scanline et 8.5% du budget sprite du tileset.
Donc c'est un peu couillu comme choix mais probablement un choix a posteriori, c'est a dire qu'ils ont du dabord constater que le jeu utilisait peu de sprite (les sprites sont tout petit) et qu'ils pouvait donc se permettre d'en gacher pour avoir un scrolling propre.

Le seul endroit ou ils ont besoin de beaucoup de sprites c'est pour faire l'effet de halo lumineux dans les grottes mais justement dans les grottes seul le centre de l'ecran est visible donc plus besoin du trick des 22 sprites qui peuvent etre récuperé.
D'ailleurs je cherche toujours un moyen d'accéder rapidement a une grotte (une savestate?) car cette effet m'intéresse beaucoup, je veux voir comment ca tourne sur NES. C'est bisare le jeu est sortie en meme temps sur NES et SMS mais la map est vraiment differente, sur SMS en 2mn de jeu je trouve une grotte, lequel a respecté l'orginal?

Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Septembre 13, 2014, 05:10:13 PM
Les deux ! Il y a une grotte très vite accessible après le premier village mais qui en fait doit se faire tard dans le jeu.
J'ai jamais fait la version NES mais je ne me souviens d'aucune différence entre les version SMS, PC Engine ou Chronicles...
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 13, 2014, 05:16:19 PM
pourtant je fais les 2 en meme temps et la map est tres differente, sur SMS t'as une grotte au nord juste a la sortie du village, sur NES au nord y a plein d'acces qui semblent bloqué. j'ai vu des grottes mais inaccessible. y a des arbres qui disparraissent ou qu'on coupe?
Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Septembre 13, 2014, 05:31:18 PM
Nan, tout est accessible quasi de base à part le dernier donjon.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 13, 2014, 06:15:54 PM
bon j'ai essayé  a nouveau sur les 2 et rien a faire les 2 map sont tres different J'imagine que les lieux sont les memes et se suivent dans le meme ordre mais rien que la map de la plaine du debut elle est bien plus riche et complexe sur NES. Et les 2 grottes au nord me sont toujours inaccessible  :cry2:
J'ai trouvé des teleporteurs sur la version NES dans la plaine du debut mais ca m'emmene pas ou je voudrais.
Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Septembre 13, 2014, 06:33:03 PM
Des téléporteurs ? Euh... Ya pas de téléporteurs dans Ys :nerd:
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 13, 2014, 06:48:06 PM
Sur la version NES y a des statuts qui te teleporte dans divers endroit, au debut du jeu j'ai trouvé un endroit avec 4 statuts qui me teleporte sur des iles.
J'ai regardé un peu sur youtube et effectivement toutes les autres versions sont exactement les meme sauf la version NES qui a l'aire un peu freestyle. Tu devrais peut etre l'essayer un jour si t'as l'occasion (et ce jour la tu me passera tes savestate  :vice: )
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 13, 2014, 06:54:58 PM
voila ce que j'ai trouvé sur wiki

CitationThe most distinctive of the early ports was the Famicom edition, which was published by Victor Musical Industries. This version was a vast departure from the original, featuring entirely new layouts for the towns, field, and dungeons, replacement of a number of the original musical tracks, and a new final battle sequence.
Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Septembre 13, 2014, 07:38:02 PM
Ah ouais mais non, on ne touche pas à la musique Putain.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 13, 2014, 07:43:20 PM
le theme principale est toujours la en tout cas, c'est le meme que ce que j'ai entendu sur les autres versions



voila les statuts teleporteur que l'on trouve au debut du jeu
http://youtu.be/9k3SD-DqEpA?t=7m52s

et la il ouvre un passage secret en deplacant un arbre (avec un objet j'imagine, j'avais deja tenté sur cette arbre a main nu je vais réessayer), apparement sur NES c'est comme ca qu'il accede au grotte que j'arrive pas a atteindre, c'est bien ce qu'il me semblait.
http://youtu.be/9k3SD-DqEpA?t=12m52s

Perso au premier abord la version NES a l'aire plus sympa, plus riche, apres j'imagine que pour les puristes ca sera different :D


Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 13, 2014, 08:48:17 PM
Bon ca y est j'ai reussi a trouver la grotte  :cool:

version SMS
- tu sort du village
- tu vas tout droit
- tu tombe sur une grotte
- tu entres

version NES
- tu sort du village
- tu prend plein de chemin tordu en passant par des ponts et des iles pour contourner des forets
- tu tombes sur un endroit un peu caché ou se trouve 4 statuts/téléporteur
- tu prend une serie de teleporteur successif pour arriver sur une ile isolé
- tu explore l'ile pour trouver un lac
- tu te place a un endroit particulier pour faire apparaitre la déesse de l'eau
- elle te dis que pour retrouver ses pouvoirs tu dois lui ramener un objet
- tu retourne dans le village du debut
- tu trouves l'objet qui etait caché dans l'un des puits du village (mais on te le donne pas si t'as pas ete voir la déesse avant)
- tu retournes voir la déesse en refaisant tous le trajet et elle te donne alors une flute magique
- tu vas vers le nord et grace a la flute tu ouvres un passage secret en déplacant un arbre
- la une voix te dis que comme tu connais la déesse il va t'aider
- tu ressort et tu va en peu plus au nord face a un lac
- quand t'approche du lac celui si s'evapore (le pouvoir de la déesse qui controle l'eau?) et te libere un passage
- et la tu arrive face a deux grotte
- tu entres dans celle ou on t'autorise a entrer
- et merci les savetates qui m'ont permis de faire tout ca sans perdre de temps a m'armer car l'acces au statut sans cela est trop chaud


Conclusion c'est vraiment pas les meme versions  :cltendax:
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 13, 2014, 11:07:05 PM
du coup voila a quoi ca ressemble dans les grottes sur NES.

(https://lh3.googleusercontent.com/--5xtPF7OUCw/VBSkhMY8o4I/AAAAAAAAAb4/5laITmmgJiI/w256-h240-no/Ys-0.png)


pour obtenir ca y a dabord la construction d'un background limité a une zone autour du joueur et qu'il faut donc mettre a jour selon les deplacements du joueur, le reste etant juste composé de tiles noires.

(https://lh5.googleusercontent.com/-RM2CFHPgc3I/VBSkg5oDXcI/AAAAAAAAAbw/DVopJkIswhE/w256-h240-no/Ys-1.png)


ensuite ils utilisent 46 sprites noirs pour composer un pochoir qui va recouvrir le background et le cacher pour ne laisser apparaitre qu'une forme arrondie

(https://lh6.googleusercontent.com/-W8PcxcM8XGo/VBSkhIGvBlI/AAAAAAAAAb8/6OsF47v30c4/w256-h240-no/Ys-2.png)



Alors 46 sprites de gaché sur 64 affichables ca peut paraitre beaucoup mais y a pas grand chose d'autre a afficher. Y a pas les 22 sprites pour cacher le scrolling glitch inutile ici. Le perso fait seulement 4 sprites, un ennemi c'est 4 sprites aussi, reste un sprite qu'on voit en bas a droite qui avec un test de collision sert au programme a identifier le moment ou faut afficher l'ecran du HUD (une methode un peu archaique des premieres années avant l'arrivée de mappers comme le MMC3 qui integre un compteur IRQ plus pratique et precis, notamment ici on voit un glitch sur la premiere ligne du HUD a cause de la syncro approximative de cette methode)


Sur SMS la methode utilisé est completement differente et bien plus complexe et couteuse en CPU c'est pour ca que je voulais comparer. Sur SMS ils utilisent une technique de construction software en temps réel d'un pochoir sur mesure selon la position du joueur dans le background ce qui leur permet d'optimiser le nombre de sprites a utiliser pour le pochoir, seulement 22 sprites au lieu de 46 sur NES. par contre au niveau du tileset la methode SMS consome aussi 22 tiles alors que sur NES seulement 4.

A priori la solution utilisé sur NES est plus simple et moins couteuse mais on peut expliquer ce choix du coté SMS par les differences hardwares. Deja sur SMS ils utilisent une bonne dizaine de sprites pour bidouiller leur HUD (j'y reviendrais une autre fois mais a ce niveau la NES est mieux loti) du coup si ils utilisaient la methode de la version NES pour le pochoir il ne resterait vraiment plus beaucoup de sprite pour le reste. En plus de cela la SMS n'a pas de flipping de sprite et c'est ca qui permet a la NES de faire ces économies sur le tileset (avec seulement 4 tiles differentes pour tout le pochoir), sur SMS en l'absence de flipping il aurait fallu en utiliser 16 et du coup les economies sur ce point n'aurait pas ete pertinente. A l'inverse la NES ne peut pas utiliser la methode de la SMS car ca implique de mettre a jour 22 tiles pendant le blanking sans bankswitching et c'est pas possible sur NES (le blanking est trop court).
Au final ces 2 methodes tres differentes sont coherente avec les differences hardware qui sont quand meme bien la.

Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 14, 2014, 11:15:23 AM
Y a une difference assez majeur entre les 2 versions que j'avais completement raté et qui touche au gameplay.
Sur la version NES le personnage se déplace par "case", c'est a dire qu'il ne s'arrête que tout les 8 pixels, si tu donne un petit coup de stick il va forcement avancer de 8 pixels (meme si il se déplace de facon fluide pixel par pixel) alors que sur SMS tu controle completement le sprite et tu peux le déplacer de 1 ou 2 pixels si tu veux.

Et je me rend compte que ce deplacement par case est nécéssaire pour que le FX du halo lumineux tel qu'il est concu sur NES fonctionne. En effet la forme du pochoir ne fonctionnerait pas si le personnage n'etait pas aligné sur les tiles du background, sans cette alignement faudrait un pochoir plus grand de 10 sprites et du coup le budget sprite serait quasi full, on pourrait plus rien afficher d'autre et donc ca ne serait pas possible.
Donc c'est intéressant de constater qu'il semble que ce simple FX visuel utiliser uniquement dans les grottes (qui ont l'aire rare) a eu un impact sur la jouabilité meme du jeu, curieux. (Ce qui permet aussi de mieux comprendre le choix de la methode plus complexe sur SMS pour faire ce FX)



Autre différence assez notable. Le sprite du personnage sur SMS a une intégration plus fine dans le décore. Quand tu passe devant un arbre le sprite du personnage s'affiche par dessus (normal) mais tu peux aussi passez derriere un arbre et c'est alors lui qui recouvre le sprite du joueur. Sur NES tu ne peux pas passez "derriere" l'arbre, il faut le contourner completement. Du coup sur SMS les arbres sont visuellement plus imposant tout en etant physiquement un obstacle moins génant.

version SMS
(https://lh4.googleusercontent.com/-QSWQh3fROKA/VBVd6SJ6KPI/AAAAAAAAAcc/1f7m1gcWUdo/w248-h192-no/Y%27s%2B-%2BThe%2BVanished%2BOmens%2B%28UE%29%2B%5B%21%5D-02.png) (https://lh3.googleusercontent.com/-f78OoUQMi0k/VBVd6ak1rbI/AAAAAAAAAcY/PaJT8fxItBA/w248-h192-no/Y%27s%2B-%2BThe%2BVanished%2BOmens%2B%28UE%29%2B%5B%21%5D-03.png)

Cette différence est lié a la facon de gérer les priorités d'affichage entre sprites et tiles du background qui la aussi sont différente entre les machines. Sur SMS qui n'a pas d'attribut pour ses sprites a donc choisie de gerer ces priorités au niveau de chaque tile de background, chaque tile de background a un flag qui permet de dire si elle doit etre affiché par dessus les sprites ou pas.
Sur NES qui a des attributs pour chaque sprite a choisie de gérer ca au niveau des sprites. Chaque sprite a un flag qui dit si le sprite doit etre affiché par dessus les tiles de background ou pas.
Cette différence fait que dans cette exemple de Ys la methode SMS de gestion des priorités est plus pratique car sur NES pour faire la meme chose faudrait une gestion dynamique de la priorité des sprites selon ou ils sont placé dans le decore (chose que la version NES fait dans la grotte ou l'on peut etre cacher par certain element du décore mais ca glitch un peu)
Dans d'autre situation c'est la methode NES qui pourrait etre plus pratique. C'est d'ailleurs ce que je pensais avant, je pensais que c'etait mieux de gérer les priorités au niveau des sprites mais cette exemple m'a permis de changer d'avis sur ce point.

Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Septembre 14, 2014, 08:16:28 PM
Mais dites-moi, ça change beaucoup de chose pour un TASser !  :lol:
Bon il se trouvent qu'elles se font sur les versions Steam...ça règle le problème.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 14, 2014, 11:21:56 PM
La ou la NES a l'avantage c'est sur le HUD. C'est encore un truc que j'ai réalisé avec Ys.
Dans ce contexte ou le scrolling est aussi vertical c'est tres compliqué sur SMS de faire un HUD complexe et chargé graphiquement. On ne peut pas vraiment le faire alors que sur NES grace a sa tilemap 2 fois plus grande on peut la couper en 2 et avoir une tilemap pour le jeu et une autre pour le HUD et switcher au moment opportun ce qui laisse toutes les libertés sur ce point.

On peut voir ici a quoi ressemble vraiment le HUD de la version SMS

(https://lh6.googleusercontent.com/-dj5vKZ8XgKM/VBXhOC1nfMI/AAAAAAAAAc0/riLnD1mmtU4/w640-h480-no/Y%27s%2B-%2BThe%2BVanished%2BOmens%2B%28UE%29%2B%5B%21%5D-6720.png)

On voit a droite que dans la tilemap le HUD ressemble a rien, juste un bloque bleu et jaune. C'est ensuite grace a une bidouille qui consiste a éteindre l'affichage a differente hauteur du HUD que les jauges vont alors se découper en bande (le noir entre les jauges c'est l'affichage qui est sur OFF), puis des sprites vont servir a ecrire le texte "player" et "enemy".
Ces bidouilles vont servir a cacher (au moins le temps de mettre a jour la tilemap) le fait qu'en réalité le HUD scroll aussi avec le reste du jeu quand on se déplace verticalement comme si il faisait partie du decore, dans ce contexte la SMS ne peut pas dissocier les 2 comme le fait la NES donc faut bidouiller et simplifier au max le HUD.


Sur NES le HUD de Ys est completement dissocié du jeu et ont peut y mettre ce qu'on veut graphiquement. La seul difficulté ici c'est de savoir a quelle moment switcher entre le jeu et le HUD alors meme qu'a cette epoque les mapper sont encore primitif (MMC1) et n'integre pas de compteur IRQ.

(https://lh3.googleusercontent.com/-pZg-POKevUI/VBM4NUl5fhI/AAAAAAAAAaw/ezmpuEo-HJY/w512-h480-no/YSb.jpg)


D'ailleurs sur NES on doit meme pouvoir faire un jeu 2 joueurs en ecran splitté horizontal avec scrolling 4-way, a priori impossible a faire sur SMS. Vous avez pas des exemple?

Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 15, 2014, 04:09:54 PM
J'ai remarqué une erreur du graphiste dans la version SMS

(https://lh4.googleusercontent.com/--9AEiqve0to/VBbrg9V99-I/AAAAAAAAAdk/k_G7Mx73a-U/w672-h708-no/YsGlitch.jpg)



J'ai entouré 2 arbres. Celui de droite est la facon dont il apparait dans le jeu (y en a une dizaine comme ca le long de la muraille) et on voit que ca glitch, la couleur derriere la cime de l'arbre est pas bonne alors meme que lorsqu'on fouille dans le tileset on remarque qu'il y a 5 versions differentes de la cime des arbres avec 5 couleurs de background differentes selon devant quelle element graphique se trouve l'arbre pour qu'il soit bien intégré et il y a bien une version couleur ocre destiné justement aux arbres qui sont devant la muraille donc c'est bien une erreur du graphiste qui s'est trompé de tile et pas un choix d'economie car les bonnes tiles de la bonne couleur sont bien disponible dans le tileset.
L'arbe de gauche c'est celui que j'ai corrigé moi meme en modifiant la Vram pour que l'arbre utilise le bon tile tel que ca aurait du etre et c'est beaucoup mieux.
Malheureusement j'ai pas réussis a modifier la ROM pour vraiment corriger le glitch parce que la tilemap n'est pas sous cette forme dans la ROM, on peut pas retrouver la source, j'ai reussis a modifier et corriger ces arbres la mais ceux qui sont sur fond marron seront alors glitché donc ca sert a rien.
Ca m'a un peu frustrer car j'ai passé du temps a chercher un moyen de corriger ce glitch dans la ROM pour finallement réaliser que c'etait peine perdu, pour me consoler j'ai fais une version "Pippo edition" beaucoup plus simple a faire  :vice:.

(https://lh5.googleusercontent.com/-WflOynLcs_I/VBbvznN1MNI/AAAAAAAAAeI/6eDsLKYrZQ4/w496-h384-no/Y%27s%2B-%2BPippo%2BEdition%2B%28UE%29%2B%5B%21%5D.jpg)

http://www.petit-fichier.fr/2014/09/15/y-s-pippo-edition-ue/

Titre: Re : Hardcore Retrogaming
Posté par: glen le Septembre 15, 2014, 04:16:31 PM
Je pensais que c'était déjà un système de calques, avec le décor et les arbres "par-dessus" :hmm:
Titre: Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 15, 2014, 04:21:10 PM
Citation de: glen le Septembre 15, 2014, 04:16:31 PM
Je pensais que c'était déjà un système de calques, avec le décor et les arbres "par-dessus" :hmm:

Si les arbres etaient des sprites oui on pourrait utiliser la couleur de transparence pour qu'il s'integre tres bien par dessus le décor, dans ce cas effectivement suffirait d'un seul model mais ici les arbres sont le background lui meme, y a qu'une seul couche de background sur NES ou SMS, y a pas de notion de multiple layer. Donc ici derriere l'arbre y a rien, c'est l'arbre lui meme qui est le background (d'ou le besoin ici d'avoir la bonne couleur).
Par exemple sur l'ecran NES un peu plus haut on voit 3 sortes d'arbre different (ca prend vite de la place dans le tileset) pour qu'ils s'integrent bien au reste du background.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 15, 2014, 05:52:23 PM
Interrogation surprise!
Comment un sprite NES peut a la fois etre partiellement devant et derriere le background a la fois alors que l'attribut de priorité est lié au sprite (il est donc soit devant, soit derriere) ?
Exemple sur ce jeu NES ou le sprite du perso est a la fois devant le mur en background et derriere la colonne qui fait aussi partie du background

(https://lh5.googleusercontent.com/-I7b6JphwJ3M/VBcK9C30XqI/AAAAAAAAAe0/YOzzLVV0Cs8/w512-h480-no/NiteShad-4.jpg)





Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 15, 2014, 10:57:49 PM
Je ramasse les copies et je met zero a tout le monde  :book:

La reponse en image

(https://lh6.googleusercontent.com/-2eiVIlZLU5g/VBcK9QUIUeI/AAAAAAAAAfA/_DQynz6t7j8/w512-h480-no/NiteShad-2.jpg)


Derriere la colonne y a 5 sprites vert.
Comme j'ai deja evoqué y a 2 types de priorité. Y a les priorités des sprites vis a vis du background (un sprite est soit prioritaire sur le background, ca c'est l'attribut par defaut, ou alors c'est le background qui est prioritaire) mais aussi les priorités des sprites entre eux (les sprites en haut de la liste sont prioritaire sur ceux qui sont en bas)

Donc ici les sprites du perso sont bien tous prioritaire sur le background donc le perso devrait s'afficher par dessus la colonne. Sauf qu'il y a un empilement de 5 sprites au niveau de la colonne qui eux ne sont pas prioritaire sur le background mais par contre sont prioritaire sur les sprites du perso (car placé plus haut dans la liste)
Du coup le perso est a la fois devant la colonne mais aussi derriere les sprites qui sont derriere la colonne (oui ca n'existe pas dans le monde réel) et c'est cette derniere condition qui l'emporte dans une rationalité toute relative  :nerd:
Ensuite quand les sprites du perso sont intégralement derriere la colonne (et pas seulement partiellement) alors leurs attributs sont changés pour qu'il ne soit plus prioritaire du tout sur le background.


Sur SMS ca serait bien plus simple puisque les priorités sont géré au niveau des tiles du background, donc on ajusterait les attributs du background de facon a ce que les tiles du mur ne soit pas prioritaire sur les sprites et les tiles de la colonne soit a l'inverse prioritaire sur les sprites. et donc les choses se ferait toute seule de facon passive.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 16, 2014, 12:03:47 PM
Je continu d'explorer le romset de la NES

- Ultimate Air Combat: une sorte d'afterburner mais la technique utilisé pour l'inclinaison de l'horizon (le turc le plus dure a faire dans ce genre de jeu sur 8bit) est assez original, a base de décalage de scanline (facon outrun) mais en utilisant la double tilemap, donc une methode impossible a reproduire sur SMS. Ca permet d'avoir une tres grande varieté d'inclinaison et donc d'avoir un truc assez fluide dans l'animation.

- Tetra Star: Une sorte de shoot a la space harrier avec un effet au sol impressionnant facon mode 7, tres tricky.

- Bill Elliott Nascar: Un jeu de Nascar en vue subjective avec un effet 3D vraiment tres surprenant, la on est au max de la bidouille. 

- Might&Magic: un affichage a la Dungeon Master plutot reussit.

- Big bird's hide and speak: un Sesam street bourré de voix digit plutot bien foutu (les voix digit, pas le jeu)



Sinon au dela de l'aspect technique et tricky y a des jeux qui m'ont bien plus et que je connaissais pas:

- Adventure Island 4: Un Metroidvania dans le monde de Wonderboy, techniquement tres jolie et qui a l'aire vraiment chouette et riche, si vous avez envie de vous faire un jeu NES que vous n'auriez pas encore fait c'est vraiment a essayer je pense.

- Bonks adventure: Je le savais pas mais y a un PCkid sur NES, j'etais un gros fan de la serie sur PCengine.
Titre: Re : Re : Hardcore Retrogaming
Posté par: Hobes le Septembre 16, 2014, 12:28:51 PM
Citation de: upsilandre le Septembre 15, 2014, 10:57:49 PM
Je ramasse les copies et je met zero a tout le monde  :book:

J'avais la réponse mais j'ai préféré ne pas la donner pour voir si les autres suivaient :ninja:

Pour Adventure Island, je pense que pippo va venir en rajouter une couche (si ça se trouve il est déjà en train d'écrire une réponse en ce moment même).
Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Septembre 16, 2014, 01:42:31 PM
Moi j'aimerais juste qu'on arrête de dire metroidvania à toutes les sauces.
Et le monde des Adventure Islands au final, il est propre à la série dès le 2d épisode (avec les dinosaures et leurs capacités propres) donc le 4e a certes un héritage Wonder Boy (adventure island premier du nom SUR NES, c'est Wonder Boy avec le Sprite du héros remplacé par celui de Takahashi Meijin par Hudson Soft) mais l'univers lui est devenu propre.
Adventure Island sur PC Engine hucard, c'est Wonder Boy III /Monster World Il qu'on peut aussi trouver sous le nom de Dragon's Curse alors qu'il est sous titré Dragon's Trap sur Master System.
Oui je sais c'est difficile à suivre :nerd:
Titre: Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 16, 2014, 02:20:41 PM
Citation de: pippoletsu le Septembre 16, 2014, 01:42:31 PM
Moi j'aimerais juste qu'on arrête de dire metroidvania à toutes les sauces.
Et le monde des Adventure Islands au final, il est propre à la série dès le 2d épisode (avec les dinosaures et leurs capacités propres) donc le 4e a certes un héritage Wonder Boy (adventure island premier du nom SUR NES, c'est Wonder Boy avec le Sprite du héros remplacé par celui de Takahashi Meijin par Hudson Soft) mais l'univers lui est devenu propre.
Adventure Island sur PC Engine hucard, c'est Wonder Boy III /Monster World Il qu'on peut aussi trouver sous le nom de Dragon's Curse alors qu'il est sous titré Dragon's Trap sur Master System.
Oui je sais c'est difficile à suivre :nerd:

Je veux bien t'accorder que Castlevania 1 n'est pas un Metroidvania mais ce Adventure Island 4 (pas ceux d'avant c'est claire) on est a priori a 100% dans le Metroidvania (une map ouverte, des items speciaux a trouver pour debloquer des passages, du backtracking). Je pense que si tu dois decrire le type de jeu a quelqu'un en un mot c'est quand meme la meilleur facon de le faire je pense.

Pour ce qui est de Wonderboy on retrouve quand meme beaucoup de référence, le code graphique, le petit garcon bedonnant en pagne, l'arme principale qui a le meme comportement singulier, les ennemis comme les escargots, la collecte de fruit, les rochers qui te font trébucher et perdre de la vie apres oui c'est un univers a part entière (et manque l'element de gameplay principale de wonderboy qui est la course quand on garde pressé le bouton de tire et qui permet de faire des super jump a moins que ca viennent plus tard) mais j'insiste, je pense que dire que c'est un Wonderboy Metroidvania est la meilleur facon de donner une idée du jeu en 2 mots  :p
Titre: Re : Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 16, 2014, 02:43:09 PM
Citation de: Hobes le Septembre 16, 2014, 12:28:51 PM
J'avais la réponse mais j'ai préféré ne pas la donner pour voir si les autres suivaient :ninja:

Dans le doute je te met 20/20 alors  :think2:


Petit bilan de la guerre technique NES vs SMS car comme vous l'avez deviné la NES n'est pas tout a fait une sous-SMS
Je met juste les points fort de chacune


SMS
- Graphisme en 4bpp (comme une megadrive) qui est de loin le plus gros atout de la SMS et lui evite cette écueil des sprites en 3 couleurs de la NES. C'est principalement cette element qui fait que la SMS est considéré comme une machine superieur
- un GPU qui sort nativement un vrai signal video RGB (donc de type "arcade") dont on a pu directement profiter en france
- 8ko de RAM (contre 2Ko dans la NES) qui permet a la SMS d'utiliser plus de trick software (comme des methodes de compression par exemple)
- la possibilité d'acceder a la VRAM meme en dehors des phases de Vblank
- un Vblank 3x plus long que sur NES grace a sa resolution vertical plus faible
- une granularité vraiment 8x8 pour la tilemap (pas tout a fait le cas sur NES)
- le flipping des tiles du background bien pratique
- la gestion des priorités sprite/bg au niveau de la tilemap
- le code Z80 prend moins de place je pense


NES
- une chiptune de qualité superieur (si on compare a la Master system classic sans extension FM ce qui doit representer 95% des models dans le monde) meme pour les voix digit
- la possibilité d'avoir le tileset en ROM et de le bankswitcher, gros avantage.
- un affichage 240 ligne contre 192 pour la SMS
- une tilemap 2x plus grande que sur SMS qui peut etre utile dans certain cas
- le flipping de sprite dont l'absence sur SMS est tres embetant
- le transfére de la sprite list en VRAM qui se fait 5x plus vite que sur SMS grace a une fonction DMA cablé pour ca
- les graphismes 2bpp qui sont un handicape mais peuvent aussi etre un atout car 2x moins lourd a manipuler et stocker sur la cartouche.


Rien du coté de la NES ne peut valoir l'atout du 4bpp de la SMS mais on voit qu'elle a quand meme aussi des atouts qui lui sont propre.
et surtout ne pas oublier que la SMS est plus proche chronologiquement de la PCengine que de la NES. Le vrai concurrent de la NES sortie le meme mois c'est la console Sega SG1000 et qui donnait ca:

http://youtu.be/3DXpSPU5aE4

Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Septembre 16, 2014, 02:48:46 PM
Citation de: upsilandre le Septembre 16, 2014, 02:20:41 PM
Je veux bien t'accorder que Castlevania 1 n'est pas un Metroidvania mais ce Adventure Island 4 (pas ceux d'avant c'est claire) on est a priori a 100% dans le Metroidvania (une map ouverte, des items speciaux a trouver pour debloquer des passages, du backtracking). Je pense que si tu dois decrire le type de jeu a quelqu'un en un mot c'est quand meme la meilleur facon de le faire je pense.

Pour ce qui est de Wonderboy on retrouve quand meme beaucoup de référence, le code graphique, le petit garcon bedonnant en pagne, l'arme principale qui a le meme comportement, les ennemis comme les escargots, la collecte de fruit, les rochers qui te font trébucher et perdre de la vie apres oui c'est un univers a part entière (et manque l'element de gameplay principale de wonderboy qui est la course quand on garde pressé le bouton de tire et qui permet de faire des super jump a moins que ca viennent plus tard) mais j'insiste, je pense que dire que c'est un Wonderboy Metroidvania est la meilleur facon de donner une idée du jeu en 2 mots  :p
Oui ça donne une idée, inexacte mais une idée quand même.
Et c'est l'emploi de metroidvania à toutes les sauces dès qu'il y a un soupçon de non linéarité dans un jeu de plate-forme qui me gonfle, plate-forme aventure convient mieux.
Le terme de metroidvania aussi est une construction antérieure au jeu, c'est comme dire que Castle Wolfenstein l'original est un doom-like...
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 17, 2014, 02:17:39 PM
Personne n'a de souvenirs de jeux NES en ecran splitté avec scrolling 4-way genre ce jeu SNES?

(http://www.emuparadise.me/Super%20Nintendo/Snaps/Radical%20Psycho%20Machine%20Racing%20(U).png)

Titre: Re : Hardcore Retrogaming
Posté par: glen le Septembre 17, 2014, 02:48:52 PM
Nan mais ça me rappelle les journées passées sur offroad sur nes :leuv:
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 17, 2014, 07:34:58 PM
Je me suis tapé cette video pour chercher des perles que j'aurais raté. 750 jeux en 15mn  :vice:

http://youtu.be/z995KPfokSU


j'ai testé tout les jeux type micromachine mais aucun ne propose un mode 2 joueurs splitté. Je suis surpris que personne n'ai tenté car ca me parait techniquement possible (contrairement a la SMS) meme si pas facile. ca m'intrigue, peut etre plutot un probleme de quantité de ram cpu.


Mais surtout je me pose toujours la question de l'affichage full screen 240 lignes. Je comprend pas vraiment pourquoi s'etre imposé cette contrainte alors meme que la console ne peut pas acceder a la VRAM en dehors du Vblank, ralonger le Vblank en reduisant le nombre de ligne affiché aurait ete vraiment utile (d'autant que ces lignes sont en général perdu dans l'overscan).
Sans forcement descendre jusqu'au 192 lignes de la SMS mais un classic 224 comme on trouve sur toutes les consoles 16bit ou meme 32bit (voir +, le full screen a longtemps ete rare dans les jeux, c'est surtout venu avec la Xbox voir la DC je crois) aurait deja permis de presque doubler la durée du Vblank et donc le nombre d'operation possible pour actualiser la VRAM entre 2 frames, vraiment pas negligeable donc je comprend toujours pas ce choix (peut etre lié a la memoire interne du PPU pour la liste de sprite, je sais qu'elle perd ses données rapidement quand l'affichage est sur off car sa DRAM interne n'est plus raffraichit donc peut etre une volonté d'avoir un Vblank tres court a cause de ca?)

Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 18, 2014, 06:44:24 PM
Rad Racer 2 sur NES, une sorte de Outrun sans le charme d'un Outrun mais techniquement plutot reussit
Faut plutot le voir ingame qu'en video car ce qui le distingue d'un Outrun c'est avant tout sa fluidité sensiblement supérieur, surtout les transitions de relief qui sur Outrun SMS sont extrement saccadé avec juste quelques positions prédéfinie (on sent qu'ils ont galéré pour le faire) alors que sur Rad Racer 2 la gestion du relief de la route est parfaitement fluide et plutot bien foutu. L'arriere plan aussi est plus impressionnant, plus complexe et massif et avec du scrolling parallaxe.

Par contre on a pas les musiques de Outrun et le superbe sprite de la ferrari tres reussit sur SMS. En plus la cartouche est tres petite pour l'epoque, 128Ko (la moitié de celle de Outrun SMS sortie 3 ans plus tot) donc l'ambition est plutot modeste mais le défi technique est parfaitement relevé. Et assez agreable a jouer en plus (ce qui est rarement le cas de ce genre de jeu sur 8bit)
Titre: Re : Hardcore Retrogaming
Posté par: Hobes le Septembre 19, 2014, 12:40:30 PM
J'ai pendant un instant été troublé par le nom du jeu vu que Sega a eu toute une gamme de titres "Rad" (Rad Mobile, Rad Rally...) créés par Yu Suzuki. Ça m'a surpris et je ne voyais pas le rapport avec la Nes. Surtout que toi tu faisais un parallèle avec Outrun... un autre jeu de Yu Suzuki.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 19, 2014, 02:29:42 PM
En meme temps on trouve bien After burner et Space harrier sur NES mais effectivement pas de Outrun ou de Rad mobile :)
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 20, 2014, 08:23:48 PM
J'ai testé Gauntlet sur SMS et NES. Pas facile de porter un jeu comme ca qui n'est pas du tout adapté aux consoles 8bit de par le nombre d'ennemis a animer. Forcement la solution choisie est prévisible, les ennemis sont des tiles de background que l'on déplace donc avec des mouvements saccadés (8 pixels) mais au moins ca contourne le probleme des sprites hardwares (c'est pas pour autant du sprite software facon golden axe, pas de traitement complexe ici car y a pas besoin d'integration des ennemis dans le background qui est reduit au strict minimum, heureusement).

Mais dans ce genre de trick comme je l'ai deja expliqué la SMS est plus adapté, l'acces a la VRAM plus libre, la tilemap en bloc de 8x8, les tiles en 16 couleurs qui permettent d'avoir quand meme un motif sur le sol tout en ayant de jolie sprite.
Resultat la version SMS est bien plus proche de l'original .

(http://www.the-nextlevel.com/hosted/neozeedeater/Gauntlet.gif)



La ou la version NES en plus d'etre laide est un jeu completement different qui ne suit pas l'original.
Si j'en parle c'est juste parce qu'il a une particularité, c'est quasiment le seul jeu NES a utiliser le mode "four screen" du PPU. En effet par defaut comme je l'ai deja dit la NES a une tilemap qui fait la taille de 2 ecrans (vertical ou horizontal, au choix) ce qui est deja mieux que la SMS mais on peut aussi l'utiliser en mode 4 ecrans (2x2) suffit juste d'ajouter 2Ko de RAM dans la cartouche pour doubler la VRAM dédié a la tilemap.
Gauntlet a donc utilisé cette astuce pour que l'integralité de la zone de jeu soit contenu dans la tilemap ce qui permet de faire un scrolling totalement free sans avoir a mettre a jour la tilemap et donc de reserver tous les acces a la tilemap pour la mise a jour des déplacement des ennemis car la NES ne peut le faire que pendant le Vblank qui est tres court.
Voila a quoi ressemble la tilemap en bas a gauche.

(https://lh4.googleusercontent.com/-4wh0nvsLk8E/VB2OEoaG8pI/AAAAAAAAAfo/iRdndbpfrtw/w747-h720-no/Gauntlet.jpg)


Par contre la zone de jeu sur NES est full screen, c'est du 256x240 alors que sur SMS c'est du 184x192, on a un champ visuel 75% plus grand sur NES. C'est le seul atout.

Autre curiosité, Gauntlet 2 sur NES abandonne cette methode de sprite qui n'est pas adapté a la NES pour retrouner a une utilisation de sprite classic pour les ennemis combiné a un algo d'IA qui empeche les ennemis (+ les joueurs) d'etre plus de 4 sur la meme ligne ce qui donne des comportements un peu etrange et peu d'ennemis mais du coup graphiquement c'est beaucoup plus proche de l'original et je crois que c'est la seul version a etre jouable a 4 joueurs.

(http://www.gametronik.com/site/rubriques/nes_famicom/Jeux/Gauntlet%20II/Gauntlet%202.png)(http://www.code-ami.fr/images/quizz/100118074738.jpg)




Utilisez le background pour simuler des sprites (que ce soit de vrai sprite software comme dans golden axe ou une utilisation plus basique comme Space Harrier ou Gauntlet) n'est donc pas une bonne approche pour la NES... sauf un cas ou la NES est tres bien adapté c'est quand on utilise le background pour simuler un seul gros sprite (un boss) et qu'on peut cette fois animer au pixel pret grace au scrolling (faut juste que le background soit en général un fond noir pour ne pas trahir l'illusion)
C'est quelque chose de souvent utilisé sur NES comme par exemple le dernier boss de Ninja Gaiden 3 http://youtu.be/8--QVBfkY-s?t=40m10s
(http://www.vizzed.com/vizzedboard/retro/user_screenshots/saves14/141589/NES--Ninja%20Gaiden%20III_Aug14%201_39_02.png)

Et cette fois a l'inverse c'est plus compliqué a faire sur SMS car ca exploite la tilemap plus grande de la NES.
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Septembre 20, 2014, 09:47:57 PM
Ou dans Journey to Silius ou MegaMan ou beaucoup beaucoup d'autres jeux...je m'étais toujours posé la question, voilà la réponse ^^
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 20, 2014, 10:02:06 PM
oui tout ce qui est gros boss animé c'est toujours un background qu'on fait scroller (sur fond noir pour pas voir que c'est un background qui scroll)
Mais faut-il encore etre capable de scroller ce background (le boss) tout en affichant un sol (background aussi) et un HUD qui ne scroll pas comme ici (c'est donc des scrolling differentiel et le boss est multi-directionnel), c'est la que ca se complique beaucoup pour la SMS et sa toute petite tilemap...
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 21, 2014, 06:13:42 PM
Marrant, a cause des contraintes de palette dans Ducktales NES on a pas Riri, Fifi et Loulou mais Loulou, Riri et Loulou. Une chose qui ne serait pas arrivé sur SMS.

(https://lh3.googleusercontent.com/-cS_aM9ZHRwE/VB74FWunwyI/AAAAAAAAAf4/53YXW7Ce-T0/w256-h240-no/Ducktales.png)
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 25, 2014, 08:44:26 PM
J'avais oublié Punch out sur NES, un jeu quand meme important et pas tres classic qui merite quelques mots
Je vous laisse un peu deviner comment il peut fonctionner pour afficher ca?


(https://lh6.googleusercontent.com/-VzhzbRwFOQE/VCRaSTJqnLI/AAAAAAAAAgk/PyfjPruFTZ4/w256-h240-no/Punch_out-4.png) (https://lh5.googleusercontent.com/-1MzzbKrD1Dw/VCRaSVpV3sI/AAAAAAAAAg0/eKSldGVXDLs/w256-h240-no/Punch_out-6.png) (https://lh5.googleusercontent.com/-UQp_u5h6pdo/VCRaSsTgYXI/AAAAAAAAAgs/0igWqGexKzo/w256-h240-no/Punch_out-8.png)
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 26, 2014, 04:34:53 PM
J'avoue y avait un piege. On devine que tout ca ne peut pas etre du sprite mais on a envie de dire que l'adversaire c'est le background et Mac le sprite mais en fait c'est l'inverse.
Sur cette image c'est plus flagrant

(https://lh5.googleusercontent.com/--_lmTbpzn78/VCVe1kIF7hI/AAAAAAAAAhI/-yGr9lJ9ObM/w256-h240-no/Punch_out-7.png)


Pour permettre d'afficher l'adversaire par dessus le décor (et le HUD) ils ont choisie d'en faire un vrai sprite et quand on met tout le budget de sprite (64 sprites) en mode double size (8x16 au lieu de 8x8) tout en se limitant a 8 sprites par ligne ca permet d'afficher un perso d'une taille max de 64x128 pixels et c'est ce que fait Punch out. Donc si vous voulez vous faire une idée precise de la taille maximum de sprite que l'on peut afficher sur NES (a condition de rien afficher d'autre) suffit de regarder les ennemis de Punch out, c'est le meilleur exemple.


Mac le joueur fait donc partie du background (ainsi que Mario l'arbitre), le sprite de l'adversaire est donc prioritaire sur le background pour sa partie superieur quand elle se superpose au décor mais le reste du temps il est pas prioritaire et c'est donc le background (Mac) qui s'affiche par dessus lui, et quand le background est prioritaire sa couleur 0 est aussi transparente comme un sprite d'ou l'illusion que c'est bien un sprite.
Au final la seul difference avec un sprite c'est que tu ne peux pas déplacer Mac pixel par pixel, donc pour les petits mouvement lateraux de Mac c'est un petit effet de scrolling qui est utilisé en utilisant la meme methode de l'aplat de couleur comme pour les boss sur fond noir sauf que la c'est un fond bleu uni qui fait qu'on ne voit pas que ca scroll car seul la partie inferieur de l'ecran scroll, celle qui est composé uniquement d'un fond bleu.


En effet l'ecran est divisé en 2, les 95 premieres lignes (c'est a dire jusqu'au cordage sur les cotés) c'est le décor avec le tableau d'affichage, le public, le cordage. Toute cette partie utilise un tileset dédié, puis a la 96eme ligne l'intégralité du tileset du background switch et est remplacé par le tileset qui contient Mac (et Mario) qui sont les seuls elements de background de cette second partie de l'ecran.
D'ailleurs je reviendrais sur ce point car a chaque jeu je m'intéresse beaucoup aussi au mapper utilisé dans la cartouche et Nintendo a utilisé un mapper special juste pour ce jeu.

A part ca ca bankswitch a mort, quasiment a chaque etape d'animation de Mac ou de l'adversaire on a un switch complet du tileset des sprites ou du background voir les 2, c'est toujours vachement pratique ce bank switching sur NES. On pourrait pas le faire tourner a 60fps sur SMS ce qui de toute facon ne se verrait pas puisque l'ecran est fixe et que les animations sont en 2 frames.

Par contre j'ai vraiment bien aimé le jeu, ca m'a donné envie de le faire en entier.
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Septembre 26, 2014, 06:45:11 PM
Finir un jeu  :roll2: ça existe ça ?
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 27, 2014, 06:46:11 PM
Je reviens vite fais sur le mapper de ce jeu.
Dans la tres grand majorité des cartouches NES on tombe toujours soit sur le mapper MMC1 de Nintendo, soit sur le MMC3 qui l'a remplacé par la suite. avec ces 2 mappers vous couvrez environ 1500 cartouches du catalogues.
Mais y a un grand mystere. Entre le célèbre MMC1 et le non moins célèbre MMC3 est ce que Nintendo a produit un MMC2? oui mais il a ete utilisé dans une seule cartouche, celle de Punch out!



Souvent dans les jeux les programmeurs sont amenés a avoir besoin d'executer une operation a un moment precis de l'affichage pour par exemple modifier le scrolling au milieu de l'ecran pour simuler un scrolling parallaxe ou pour afficher un HUD (dont on doit bloquer le scrolling pendant son affichage) donc le programmeur a besoin de savoir a quelle moment la console va afficher tel ligne a l'ecran afin de modifier une valeur a ce moment la.

La NES n'a pas de fonction hardware pour faire ca contrairement a la SMS, le mapper MMC3 a palier a cela en intégrant un compteur IRQ qui permet de compter les lignes affichées et d'interrompre le CPU pour lancer un bout de code a la ligne ecran choisie par le programmeur mais avant l'arrivé du MMC3 il fallait se debrouiller autrement.

La solution a l'epoque (comme dans Ys pour enclencher l'affichage du HUD) etait donc d'utiliser le sprite 0, on le placait discretement a l'endroit de l'ecran ou l'on voulait déclencher une action puis ensuite fallait surveiller un flag de collision qui s'activait quand le GPU commencait a tracer ce sprite mais pour surveiller ce flag faut faire une boucle avec le CPU et donc bloquer le CPU pendant ce temps et puis la boucle met un certain temps a s'executer donc la synchro est approximative, ca peut produire des petits glitch comme dans Ys. Et puis c'est pas forcement facile de cacher ce sprite...

Punch out fait partie de ces jeux qui ont besoin de déclancher une action a un certain moment de l'affichage. Comme je l'ai expliqué l'ecran du jeu est divisé en 2, a la 96eme ligne il faut bankswitcher le tileset du background pour passé de l'affichage du décor dans la partie superieur de l'ecran a l'affichage du joueur dans la partie inferieur.
Utiliser un sprite pour ca dans Punch Out c'est embétant car le jeu a pour priorité d'utiliser tout le budget sprite de la machine pour afficher l'adversaire et ici (comme souvent) la principale limite c'est le nombre de sprite par scanline qui limite la largeur du perso a 64 pixels. Si jamais on utilise le sprite 0 comme un trigger pour declancher le bankswitching ca veut dire qu'on s'oblige a reduire encore la largeur du sprite de l'adversaire de 1/8eme pour pas saturer l'affichage par scanline soit 56 pixels au lieu de 64 alors que c'est justement dans la largeur qu'on manque deja d'espace.

Et Punch out sort 1 an avant l'arrivé des mappers MMC3, a cette epoque nintendo utilise le MMC1 qui ne propose pas de solution sur ce point donc nintendo a décidé de crée un nouveau mapper pour pallier au lacune du MMC1.
Le MMC2 integre donc une feature ingenieuse qui lui permet de bankswitcher de faocn autonome sans meme interrompre le CPU comme le fait un MMC3 (mais ne peut faire que du bankswitching alors que le MMC3 génére une interuption CPU qui permet de faire ce qu'on veut ensuite, c'est plus flexible)
L'astuce c'est d'utiliser une tile comme trigger. la tile 254 et 255 servent de trigger, quand le GPU de la NES commence a afficher la tile 254 alors la cartouche bankswitch automatiquement le tileset complet, et quand c'est la 255 la cartouche revient sur la bank précedente.
Le jeu peut comme cela swaper entre 2 tileset automatiquement, suffit au programmeur de placer les tiles 254 et 255 n'importe ou sur l'image a l'endroit ou il veut déclencher le bankswitching


J'ai entouré en rouge dans le tileset background (celui de droite) les 2 tiles 254 et 255 qui servent de trigger. Ce sont 2 tile entierement bleu donc facile a placer et camoufler n'importe ou dans le background principalement bleu d'autant qu'on peut meme tricher et les placer hors champ.

(https://lh6.googleusercontent.com/-la98jnhhKjE/VCbSdcW67oI/AAAAAAAAAhg/aWcfwMSD-6g/w1074-h967-no/Punchout.jpg)


J'ai trouvé l'idée ingénieuse car ca rend le bankswitching vraiment tranparent au niveau du CPU et de la programmation, c'est le GPU lui meme qui va declancher le bankswitching sans le savoir, c'est vraiment presque comme si on doublait la taille physique du tileset.
Mais ca n'a finalement pas ete utilisé par d'autres cartouches, c'est curieux, le MMC2 est orphelin. Le MMC3 debarque ensuite et propose une solution plus classic de compteur IRQ mais plus flexible qui se limite pas juste au bankswitching.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 27, 2014, 11:43:49 PM
http://youtu.be/CvzIb53Lcno
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 28, 2014, 04:16:04 PM
Des francais qui viennent de sortir un nouveau jeu sur NeoGeo et ca parle beaucoup de l'aspect technique de la NeoGeo de facon simple et illustré


http://youtu.be/-uleUKu0WKw
Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Septembre 28, 2014, 07:09:48 PM
Jeu dispo sur Steam aussi je crois et article dans l'avant dernier Pix'n'Love.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 28, 2014, 07:33:52 PM
C'est quand meme en mode bourrin  :vice:
a l'epoque quand tu faisais un decor tu pensais tout en "tile", c'est a dire que tu construit des elements graphiques qui peuvent se répéter pour réutiliser tes tiles un max de fois. Mais la pour un level ils se font un background unique, une image enorme de la taille de 400 ecrans et donc sans contrainte de tile comme a l'epoque, ca simplifie le boulot et la programmation mais du coup ca fait 100 000 tiles juste pour un level :D
D'ou la cartouche de 1609Mb. D'ailleurs j'ai pas bien compris pourquoi ils disent que c'est la limite maximum (sous entendu sans bank switching) alors que pour attendre ce chiffre faut deja utiliser une forme de bank switching (sans cela la limite c'est 1025Mb de tileset et 256Mb de sample audio et 8Mb de programme) et dans ce cas la y a plus de limite.

Cela dit ils ont raison d'avoir cette approche qui peut sembler bourrin si on se replonge 20 ans en arriere mais a partir du moment ou t'as plus les meme contrainte d'espace tu fais forcement les choses differement, c'est un jeu Neogeo de 2014 pas de 1994.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 30, 2014, 10:24:22 PM
Les cartouches de jeu NeoGeo sont assez uniques et du coup les ROM d'emulation aussi avec tous ces fichiers.
Chaque fichier correspond a une ROM sur la cartouche, ca permet de rappeler a quelle point une cartouche NeoGeo est chargé en ROM aux fonctions differentes (je parle meme pas de quantité) et du coup ca donne des informations assez direct sur le jeu.

Sur des cartouches SNES ou Megadrive en général t'as une seul ROM a destination du CPU de la console.
Sur une cartouche NeoGeo y a plein de ROM differentes (et meme 2 PCB au lieu d'une seul) chacune destiné a un processeur different. Dans le fichier ROM pour l'emulation chaque fichier a un nom qui respect en général un standard, ouvrez en un ,je vais vous revelez le grand mystere sur ces fichiers  :vice:

--- Les fichiers c1,c2,c3,c4... ce sont les ROM reliés au GPU et qui contiennent les tiles 16x16 utilisés par les sprites (et donc aussi par le decor). C'est le tileset principale et c'est evidement le plus gros morceau de la cartouche, les plus gros jeux officiels en ont jusqu'a 64Mo au total (50% du max). Ca ne fonctionne que par pair car le GPU en utilise 2 en meme temps (pour avoir un flux 32bit) donc c'est minimum c1 et c2.
--- Les fichiers v1,v2,v3... ce sont les ROM reliés au sound chip Yamaha qui contiennent tous les samples audio du jeu en ADPCM. C'est l'autre gros morceau de la cartouche, en général c'est l'equivalent d'un quart du tilset soit 16Mo dans les plus gros jeux (50% du max). ici le nombre de ROM peut etre impair.
--- Les fichiers p1,p2... ce sont les ROM relié au CPU principale de la console, le 68000, c'est la qu'est le programme, c'est le coeur du jeu. Normalement limité a 1Mo les plus gros jeux en utilisent jusqu'a 8Mo  (800% du max) grace au bank switching
--- Le fichier s1 c'est une autre ROM relié au GPU mais sur un bus different. Celle ci contient les tiles 8x8 déstinés a l'ecran fixe qu'on peut ajouter par dessus le jeu principalement pour le HUD. C'est un tout petit tileset (comparé au tileset des sprites) qui fait toujours 128Ko (256Ko avec une bidouille de bank switching) et qui contient principalement des polices de caractere.
--- Le fichier m1 c'est la ROM relié au second CPU de la console, le vieux Z80 qui sert a piloter le sound chip Yamaha. Cette ROM contient le driver audio et des partitions. en général le fichier fait tout le temps 128Ko mais en vrai y a seulement 64Ko d'utilisable qui est le max adressable par le Z80. Certaine cartouche dépasse un peu cette limite avec du bank switching.


Voila vous savez tout sur ces obscures fichiers, quand meme un sacré bordel une cartouche NeoGeo.
A cela on peut aussi ajouter une expliquation sur les ROM qui sont dans la console et qu'on est aussi obligé d'ajouter quand on fait de l'emulation. La aussi la NeoGeo a ses petites particularités car y a pas juste la ROM du Bios, y a aussi 2 autres ROM dans la console nommé "sfix" et "lo" dans les fichiers d'emulation.
"sfix" est simplement l'equivalent du s1 des cartouches, c'est a dire un petit tileset de 128Ko qui contient principalement des polices de caracteres (japonaises et latines) pour l'ecran fixe (HUD) que le jeu peut utiliser en remplacement de celui de la cartouche.
"lo" est une ROM de 64Ko qui contient une table de valeur précalculé destiné a la fonction de shrinking (rétrécissement) des sprites, je reviendrais peut etre sur cette fonction (d'ailleurs je suis en train de me dire que ca pourrait etre marrant de modifier les valeurs de ce fichier)

Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Octobre 02, 2014, 07:50:43 PM
Y a tres peu de difference entre les cartouches NeoGeo AES (console) et MVS (arcade).
La seul difference c'est que l'un des composant qui en Arcade se trouve normalement sur la carte mère est déplacé dans la cartouche car c'est une sorte de multiplexeur qui transforme le flux 32bit qui sort des ROM c (les sprites qui est le flux principale de la cartouche) et qui contient les 4 bitplan d'une ligne de 8 pixels, transformé en un flux plus rapide mais structuré en double pixel 4bpp (soit 8bit) du cout dans la cartouche console c'est ce flux 8bit qui sort de la cartouche alors que dans la cartouche arcade c'est le flux natif 32bit qui sort et qui est multiplexé plus tard sur la carte mère.

Du coup sur la cartouche console y a une économie de pins et c'est ce qui permet aux cartouches consoles d'avoir se format de PCB plus compact de 50 pins au lieu de 60 pins pour l'arcade.

(http://www.chronicgames.net/images/neogeo_mvsaescarts.jpg)

Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Octobre 03, 2014, 08:25:39 PM
Le GPU de la NeoGeo est composé de plusieurs petits composants qui semble assez rudimentaire, tout est fait de facon a faire circuler le flux rapidement pour avoir de la force brute mais ca semble tres basique (et ingenieux a la fois)

D'ailleurs je me suis arreté sur la fonction "shrinking" des sprites qui permet de les rétrecir en sautant des lignes qui semble a priori une fonction basique mais malgres ca elle n'est meme pas vraiment cablé en hard, cette fonction est obligé de faire appel a une table externe de valeurs précalculées. une ROM de 64Ko dans la console qui contient en fait 256 fois 256 valeurs.

Cette table est utilisé pour le shrinking vertical qui peut prendre 256 nuances differentes (le shrinking horizontal lui est vraiment cablé de facon logic dans le GPU car il n'a que 16 valeurs differente, je rappel les sprites sont au format 16x512 donc des bandes vertical avant tout)
Du coup la table contient 256 valeurs pour chacune des configuration du shrinking vertical, ces 256 valeurs indiquent pour chaque ligne d'affichage du sprite quelle ligne réel de la pattern du sprite il faut afficher (et donc lesquelles sauter, la table est utilisé 2 fois pour obtenir les 512 lignes si nécessaire). C'est vraiment basique et bourrin mais efficace.

Les choses a savoir c'est que meme lorsque tu rétrecis le sprite, le rétrecissement est juste visuel mais concretement le sprite garde toujours sa taille maximum du point de vue du GPU (donc sa taille zoomé), l'espace du sprite est juste comblé par de la transparence donc faut en tenir compte pour ce qui est des limites d'affichage par scanline, ca reste de gros sprites meme une fois rétrecis.

Et puis faut ajuster les coordonnés des sprites apres le shrinking, notamment pour le shrinking horizontal y a pas mal de boulot a faire a la main si tu veux un rétrecissement fluide et propre car ton perso est un assemblage horizontal de plusieurs sprites dont il va falloir déterminer la repartition du shrinking (a l'aide d'une table probablement a moins de se limiter a un shrinking en 16 etapes qui doit suffir dans la plupart des cas) et ajuster les coordonnées de chaques sprites a chaque fois pour que les sprites reste assemblés.

Donc quand meme pas mal de contrainte sur le shrinking mais ca marche bien quand meme, il est d'ailleurs tout le temps activé (mais dans sa valeur max par defaut), il fait partie intégrante du pipeline graphique.

Du coup je me suis amusé a modifier la ROM qui contient la table de shrinking (d'ailleurs en l'ouvrant on comprend tres vite les valeurs qu'elle contient), et ca marche, ca permet de glitcher tous les jeux facilement car cette table est utilisé pour tout ce qui est affiché a l'ecran.

Je me suis amusé a faire une version de cette ROM qui force le shrinking vertical a 50% donc tous les sprites sont affiché en version compressé (50% de leur taille) et dans un jeu comme Metal Slug 3 qui est un assemblage de plein de petits sprites independants et non lié ca donne un sacré bordel de glitch.
Je me suis aussi fait une version de cette ROM qui empeche tout shrinking vertical. Sur Art of fighting par exemple les combatants (et le decor) deviennent tout mince quand ils s'eloignent l'un de l'autre car ils ne subissent qu'un shrinkink horizontal.
voila c'est rigolo
Titre: Re : Hardcore Retrogaming
Posté par: JiHaisse le Octobre 04, 2014, 01:29:30 AM
Merci pour tes posts, je vais les lire ce soir pour me bercer. True story.
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Octobre 07, 2014, 06:13:15 PM
Le ray-casting marche sur TI83+ et plutôt bien  :cool:  https://www.youtube.com/watch?v=vAC4b9p7m3o
C'est quand même plus digeste en vrai !
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Octobre 10, 2014, 04:24:15 PM
Y a pas de raison d'autant que ce genre de machine j'imagine que c'est un affichage bitmap, pour les rendering software c'est toujours mieux qu'un affichage par tile.
La pire de toutes les machines pour les rendering software (3D, raycasting, sprites software...) c'est la NeoGeo qui non seulement passe par un tileset mais un tileset inalterable car uniquement en ROM.
Titre: Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Octobre 16, 2014, 04:09:03 PM
Je jetais un oeil sur la Gameboy... Niveau sprite elle avait quand meme un taux d'affichage de 50% par scanline contre 25% pour la NES et Master System, du coup moins de chance a priori d'avoir du clignotement de sprite dans les jeux Gameboy.

Alors c'est sur que la resolution horizontal plus faible (160 comme les jeux C64 ou Intellivision au lieu de 256) aide a obtenir ce taux d'affichage elevé mais meme en faisant abstraction de la resolution la Gameboy peut afficher quand meme 80 pixels sprite par ligne contre 64 pour la NES/MS donc ca reste au dessus meme dans l'absolu.

Titre: Re : Hardcore Retrogaming
Posté par: Hobes le Octobre 18, 2014, 10:38:33 AM
En parlant de Game Boy, y aura peut-être un jeu inconnu et/ou intéressant dans le lot de cette vidéo avec toutes les intros GB :

https://www.youtube.com/watch?v=GkePLvdnFps
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Octobre 18, 2014, 08:29:36 PM
3h de "start bouton" j'aime bien le concept lol

aujourd'hui sur Youtube t'as vraiment de super catalogue. Entre les longplay de chaque jeu, les video catalogue de tous les jeux d'une machine, de toutes les musiques, de toutes les jaquettes de boites, les comparatif de jeu sur toutes les machines ect...
le patrimoine est deja bien archivé et c'est que le debut mais c'est vrai que youtube c'est une invention bien pratique quand meme.
Titre: Re : Hardcore Retrogaming
Posté par: Yo Riso le Mai 19, 2015, 05:18:38 PM
Personne n'a connu l'AMIGA 500 ?
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 22, 2015, 07:39:01 PM
une chouette photo que j'avais jamais vu.
Le premier prototype de la Famicom.
(https://lh4.googleusercontent.com/-rSu64Xe2RRo/VV49KHA9lpI/AAAAAAAABdM/2OVg3ik2bCw/w765-h327-no/FamicomProto.jpg)

A gauche le CPU et ses customisations (Audio, I/O) et a droite le GPU.


J'avais jamais vu aussi comment etait cablé les pad a l'interieur d'une famicom et ca va c'est bien safe, on peut tirer dessus comme on veut ca risque rien.
(https://lh4.googleusercontent.com/-rRWtnjEicKM/VV9lZFq8lpI/AAAAAAAABdo/6-EE7aO4oZg/w766-h522-no/FamicomPadWire.jpg)


N'hesitez pas a transporter votre Famicom sur le dos en tenant les 2 cables des pads, ca risque rien.

(http://cdn-gulli.ladmedia.fr/var/jeunesse/storage/images/tiji/tout-tiji/ti-heros/bibi-nom-d-une-sorciere/coloriages/marita/coloriage-marita-et-son-cartable/16068148-1-fre-FR/Coloriage-Marita-et-son-cartable_606x341.jpg)
Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Mai 22, 2015, 07:52:58 PM
J'avoue [emoji14]tdr:
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 23, 2015, 04:16:31 PM
Cette photo du proto illustre tres bien un fait que je trouve frappant.
La Famicom qui est la premiere console de Nintendo (non je ne considère pas les pong chip comme des consoles) sort le meme jour que la premiere console de Sega (SG1000). On a deja la tout une symbolique quand meme.
Et c'est aussi la confrontation de 2 approches tres differente. D'un coté on a la vieille entreprise Nintendo qui pourtant sur ce projet va représenter plutot le Japon moderne a la pointe de la technologie, qui innove et fait de la R&D, et en face on a Sega une entreprise a priori plus moderne mais qui la dessus va représenté plutot le Japon du passé, le japon qui se contente d'etre une usine et qui copie les produit occidentaux.
Ici Sega se contente en gros de faire une contrefacon de la Colecovision. Ils ont ouvert une colecovision, pris la référence de tous les composants et commander les memes, jusqu'a reprendre plus ou moins le type de controlleur (pour ensuite s'inspirer de celui de la Famicom).
Comme a l'epoque les consoles occidentales n'existait quasiment pas sur le marché Japonais Sega a joué les opportunistes en se disant que les gens n'y verrait que du feu et qu'il y aurait peut etre moyen de refourguer quelques conversion d'arcade (l'Arcade etant le veritable marché du jeu video au Japon a cette epoque).
Aucun effort d'innovation, de R&D, d'integration. Mais du coup la SG1000 coutait certainement plus chere a produire que la Famicom et pour sortir ca au meilleur de sa forme:

https://youtu.be/3DXpSPU5aE4

(d'ailleurs c'est a cause de cette étron que les versions MarkIII/SMS jap ont du etre rennomé Super Wonderboy? vu que la version SG1000 tourne aussi sur ces machines. Et a jouer c'est encore plus horrible qu'a regarder)


Dès le depart ca démarre mal pour Sega et quand tu te foire a l'allumage c'est pas bon signe. Je me dis peut etre que peut tout etait ecrit dès le premier jour.


Titre: Re : Hardcore Retrogaming
Posté par: Sprite Oddity le Juin 28, 2015, 03:16:59 PM
2 vidéos de l'Analogue Nt en HDMI (à regarder en 1080p pour apprécier le rendu de l'image) :

https://www.youtube.com/watch?v=NN6qtbWRC5Y&feature=youtu.be
https://www.youtube.com/watch?v=CXsZ3LvdfCs&feature=youtu.be
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Juin 28, 2015, 08:41:59 PM
C'est un émulateur en box qui prend des cartouches NES c'est ca?
Titre: Re : Hardcore Retrogaming
Posté par: Sprite Oddity le Juin 28, 2015, 09:25:52 PM
Non, ils désossent des NES pour fabriquer l'Analogue Nt : http://www.analogueinteractive.com/products/analogue-nt-information
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Juin 28, 2015, 10:30:17 PM
Intéressant (si y a pas d'entourloupe)
Titre: Re : Re : Hardcore Retrogaming
Posté par: Bakappoi le Juillet 26, 2015, 10:29:52 PM
Citation de: Sprite Oddity le Juin 28, 2015, 03:16:59 PM
2 vidéos de l'Analogue Nt en HDMI (à regarder en 1080p pour apprécier le rendu de l'image) :

https://www.youtube.com/watch?v=NN6qtbWRC5Y&feature=youtu.be
https://www.youtube.com/watch?v=CXsZ3LvdfCs&feature=youtu.be

Impressionnant :laporte:
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Juillet 30, 2015, 02:00:52 PM
Une video tres sympa sur la Saturn (activez les sous-titres). C'est le genre de video que j'aimerais faire.


https://youtu.be/f_OchOV_WDg
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Juillet 30, 2015, 03:45:44 PM
Je continu de décortiquer plein de machines et de jeux mais hier j'ai décortiqué le tout premier Dragon Quest sur Famicom. et RPG + console Nintendo = HBGD. D'ailleurs j'ai commencé une partie (avec un patch en francais) et je pense que je vais aller jusqu'au bout, finalement j'aime le coté minimaliste.

Le jeu m'intrigue pour etre l'un des tout premier jrpg a une epoque ou les cartouches sont encore tres modeste donc y a une petite odeur de défie technique quand meme. Et effectivement y a des choses surprenantes notamment au niveau des chiffres. Essayez d'estimer la quantité de data réservé aux patterns graphiques (les fameuses tuiles).
1 - Quelle quantité de data pour la totalité des patterns des sprites du joueur + ceux des PNJ ?
2 - Quelle quantité de data pour la totalité des patterns des environnements (exterieur, interieur, ville et zone de combat)?
3 - Quelle quantité de data pour la totalité des patterns des sprites ennemis/monstres que l'on combat (excepté le boss final)?
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Juillet 30, 2015, 04:20:55 PM
HO ça faisait si longtemps que j'attandais le retour passionné d'Upsilandre et de ses pavey si denses et pourtant si longs  :cry2:

86, c'est pas le début des MMC ça ? Bon on va dire que la cartouche a 128ko (donc MMC1), je dirais donc :

1- 32ko
2- 64ko
3-32ko

....ouai ma répartition est facile quand même
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Juillet 30, 2015, 08:06:38 PM
Oui mais c'est dans l'idée, t'as joué le jeu, juste une vague approximation pour mettre un peu en perspective, et tes chiffres sont a priori crédible mais bien sure si j'en parle c'est que les véritables chiffres sont assez different de ce a quoi on peu s'attendre, moi meme ca m'a un peu surpris.

DQ sort juste avant l'explosion de la capacité des cartouches qui debute avec Makaimura (128Ko) un mois plus tard donc le jeu se contente d'une cartouche modeste de 64Ko qui a ce moment la est quand meme une grosse cartouche puisque c'est seulement la 4eme du genre (un mois apres Gradius qui utilise la meme configuration de carotuche) mais moins qu'un Zelda sortie 3 mois plus tot sur le Famicom Disk.
Donc 64Ko pour un RPG deja c'est chaud.

Ensuite quand on y regarde de plus pret on remarque que c'est donc une configuration classique pour l'epoque avec 2 ROMs distinctes dans al cartouche. Une ROM pour le CPU (PGR-ROM) et une ROM pour le GPU (CHR-ROM) qui est celle qui contient toutes les patterns graphiques du jeux (les tuiles ou tileset). Chacune de ces 2 ROMs faisant 32Ko.
Donc on se dit bon 32Ko de tuiles c'est pas terrible mais on doit pouvoir faire quelque chose avec ca... Mais en y regardant de plus pret on découvre qu'ils ont stocké du code CPU dans la CHR-ROM en plein milieu des patterns graphiques comme des sagouins. Alors on se dit mais pourquoi donc?

L'expliquation c'est qu'on est encore aux prémices des mappers. Le MMC1 n'existe pas encore en 1986, meme pas le UNROM plus primitif. Le seul dispo que propose Nintendo depuis l'année précédente c'est le CNROM dont la fonction est de proposer du bank switching uniquement sur la CHR-ROM donc seulement pour augmenter la capacité de la ROM graphique qui etait le gros point faible a l'epoque (car limité a 8Ko, tous les jeux en souffrait depuis plus de 2 ans) mais pas encore de possibilité a cette epoque d'augmenter la capacité de la ROM CPU limité a 32Ko mais qui etait suffisant pour les jeux en général... sauf qu'un RPG a besoin de pas mal de ROM CPU entre autre pour les nombreux textes essentiel au genre et les tilemap (comme son nom l'indique ce sont donc les map de tuiles qui servent a definir la facon d'assembler les tuiles pour construire l'environnement, donc dans un RPG faut pas mal de tilemap pour construire le jeu car les lieux sont relativement vaste. Meme si c'est toujours les meme tuiles qu'on retrouve elles sont chaque fois agencé différemment)

Du coup Enix n'a pas eu d'autre choix que de stocker du code CPU dans la CHR-ROM (la ou il n'a rien a faire) et sans doute faire des transfères ponctuel vers la SRAM 8Ko que contient aussi la cartouche pour les sauvegardes (qui doivent en utiliser qu'une partie je pense).
Donc revenons aux chiffres. Une fois enlevé le code stocker dans la CHR-ROM qu'est ce qu'il reste de ces 32Ko pour les tuiles... et bien 13.5Ko, meme pas la moitié! A cela s'ajoute le fait que se mapper primitif a une granularité grossiere, il switch par bank de 8ko ce qui complique l'optimisation de la répartition des tuiles. Au final le corps du jeu lui meme est un peu contraint de se contenter d'une seul bank de 8Ko, l'autre bank qui contient 5.5Ko de tuiles (+ 2.5Ko de code CPU) sera utilisé pour l'ecran titre (qui se paye le luxe d'etre plus beaux que la version US pourtant upgradé) et aussi pour le sprite du boss final.

Donc il nous reste 8Ko de tuiles pour le corps du jeu... Mais n'oublions pas les text-box indispensable a un rpg, il faut une police de caractère et ca c'est aussi pas mal de tuile, une centaine + quelques tuiles pour les contours de la box, ca fait presque 2Ko en moins. Et la donc on arrive aux chiffres de la questions.

Pour l'intégralité des monstres du jeu c'est 3.5Ko de tuiles qu'on trouve sur la cartouche.
Pour l'intégralité des décors exterieur, interieur, ville, zone de combat, c'est 2.26Ko de tuiles...
Et pour le sprite du joueur + l'intégralité des pnj du jeu c'est... roulement de tambours... 0.5Ko!

Le dernier chiffres merites de s'y arreter un peu. Les conséquences (au dela du fait que la variété de pnj est tres limité en plus de recycler des morceaux de l'un vers l'autre, par exemple entre le joueur et les soldats) c'est que tous les sprites des personnages joueur inclus sont composés d'une seul frame ce qui donne cette caractéristique assez incongru a DQ d'avoir des sprites qui n'ont qu'une seul orientation (toujours de face) et aussi cette bizarrerie quand tu utilises la commande "parler" qui est de te demande dans quelle direction (faut selectionner le texte gauche/droite/haut/bas) car tu peux pas orienter ton sprite vers un pnj.
Mais pourtant on peut observer que les sprites sont animés? oui mais c'est toujours avec l'unique frame qui les composent. Le jeu fait juste un "flipping" du sprite. C'est a dire qu'il affiche une version du sprite avec une symétrie d'axe vertical en alternance ce qui donne l'illusion d'animation. C'est une features du chip graphique (tel que les consoles savent le faire sur les sprites depuis l'Atari 2600 a l'exception de la Master System). Donc tous les sprites (meme ceux des monstres) sont composé d'une seul frame.

tout ca résume assez bien l'efficacité de ce type d'affichage par tuile qu'on utilisé toutes les consoles pendant pas mal de temps. Et aussi a quelle point les contraintes etaient folle a une epoque.
Je reviendrais aussi sur les differences qu'on apporté la version US. Je veux pas faire un pavé trop gros.

Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Juillet 30, 2015, 08:42:18 PM
Version us codée par un homme seul, un certain Satoru Iwata.
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Juillet 31, 2015, 04:03:30 PM
Wow, impressionnant (et intéressant), je me demande si il y a un seul jeu qui n'a pas buter sur les contraintes de mémoire
Titre: Re : Hardcore Retrogaming
Posté par: Akṣobhya le Juillet 31, 2015, 04:48:28 PM
J'aimerais bien un numéro Castlevania 3 et Shin Megami Tensei 1 + 2 svp
Dire que SMT2 est l'un des premiers a avoir une sorte de NG+, et c'est assez surprenant l'amélioration graphique entre le premier et le second.
Titre: Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Juillet 31, 2015, 06:11:58 PM
Citation de: Coca_Impact le Juillet 31, 2015, 04:03:30 PM
Wow, impressionnant
Et surtout ca donne un vrai rpg. J'ai quelques heures de jeux, level 10, et ca fonctionne bien je trouve, on y croit, on a l'impression de retrouver tous les ingredients de base d'un rpg. J'accroche bien au coté minimaliste.

Donc ma conclusion pour l'instant c'est que 64Ko ca peut suffire pour faire un rpg. Je cherchais un peu la limite.
Il existe un rpg de 24ko sur Atari 2600 qui utilise le supercharger (une cartouche custom sur laquel on peut brancher un lecteur cassete audio pour charger le jeu en cassette dans une RAM de 6Ko) qui est sortie en 1982 et qui s'appel DragonStomper

https://youtu.be/DJ6uHOhf2AA

C'est une belle tentative car on retrouve les ingredients du rpg contrairement a "adventure" par exemple qui serait plutot un zelda like. avec des menus dans lesquelles on peut afficher ses status, sélectionner un item. Mais le peu que j'y ai joué je dirais qu'on est quand meme sous le seuil, le gap avec DQ est consequent, manque la couche de background, les dialogues avec des pnj. Dans DQ on essaye quand meme de te raconter une histoire et de te placer dans un contexte, il sagit pas de faire juste une sorte de donjon crawler et ca change pas mal de chose.
Je me posais la question de ce qu'on pourrait faire comme rpg sur Colecovision dont les cartouche n'ont pas dépassé les 32Ko (pas de mappers). Du coup difficile de trancher car DQ semble quand meme marquer la limite basse.


Sinon quand on jete un oeil sur FF1 on constate deja le gap graphique, on est a plus de 80Ko de pattern graphique, c'est deja une autre catégorie mais c'est aussi lié a des choix de gamedesign car ces differences on les retrouves meme avec DQ4 qui utilise une grosse cartouche 512Ko mais qui apparemment a toujours moins de pattern graphique qu'un FF1. Je pense que les DQ misent clairement plus sur le texte et/ou la taille de la map (mais j'y connais rien en rpg)
Titre: Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Juillet 31, 2015, 06:13:57 PM
Citation de: Démiurge le Juillet 31, 2015, 04:48:28 PM
J'aimerais bien un numéro Castlevania 3 et Shin Megami Tensei 1 + 2 svp
Dire que SMT2 est l'un des premiers a avoir une sorte de NG+, et c'est assez surprenant l'amélioration graphique entre le premier et le second.
Les Castlevania je m'y etais deja un peu intéressé. Megami Tensei je connais juste de nom mais aucune idée de ce a quoi ca ressemble. Y a tellement de jeu a tester sur NES.
Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Juillet 31, 2015, 06:42:02 PM
Tu devrais t'intéresser aux 1er Ultima pour rire.
Titre: Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Juillet 31, 2015, 07:27:12 PM
Citation de: pippoletsu le Juillet 30, 2015, 08:42:18 PM
Version us codée par un homme seul, un certain Satoru Iwata.
C'est intéressant.
Apres il sagit d'une localisation, le bute etant principalement la traduction, il sagit pas de recoder le jeu. Alors sur une console comme la NES les moindres modification de data nécessite l'intervention d'un codeur donc rien n'est facile mais ca me parait tout a fait normale qu'on ne consacre pas plus d'un codeur pour une localisation.

La ou c'est intéressant c'est que la version US de DQ c'est un peu plus que la simple localisation habituel. Deja la cartouche change de technologie, adieu le vieux mapper CNROM pas du tout adapté a DQ et place au MMC1 (Coca_impact n'etait pas loin). Du coup meme si on reste sur une configuration ROM cpu + ROM graphique, ils peuvent cette fois choisir les capacité adapté a chacune donc au lieu de 32Ko + 32Ko ca devient une configuration 64Ko + 16Ko plus adapté au jeu.
Mais du coup ca demande des modifications dans la répartition des données et dans le code qui gerait l'acces a ces données donc faut mettre la main dans le cambouis.

D'ailleurs on se retrouve avec un paradoxe ou la version US a une ROM graphique 2x plus faible que la version jap tout en etant graphiquement upgradé mais hier je vous ai donner la reponse a cette enigme. Sur la version jap la ROM graphique stock du code CPU ce qui n'est evidement pas le cas de la version US ou chacun est a sa place.
Du coup la version US a bien 16Ko de tuile contre 13.5Ko pour la version jap. Cool ca fait 2.5Ko de rab mais quelle miracle Iwata va bien pouvoir faire juste avec ca?

Premiere chose il ne va pas s'en contenter. Il va aussi grignoter sur l'ecran titre en réduisant son emprunte d'un bon 1Ko par rapport a la version jap. Du coup l'ecran titre perd en complexité, il est plus basique mais pas forcement plus moche, a vous de juger.

(https://lh5.googleusercontent.com/-bNqGXoSps3I/Vbp7Yh2Ef5I/AAAAAAAABnk/PFDzmj5CIuE/w956-h478-no/DQ1c.jpg)

Alors 1Ko de gagné c'est pas grand chose mais avec les 2.5Ko de rab ca lui donne alors un budget total de 3.5Ko. Mais qu'est ce qu'il a derrière la tete pour aller grignoter ces 1Ko sur l'ecran titre?
Je vous ai deja dit que les sprites joueur + pnj de la version jap c'etait 0.5Ko et bien combiné a ces 3.5Ko ca donne 4Ko soit une bank complete de tile. L'idée c'est d'exploiter la meilleur granularité du mapper MMC1 qui permet de switcher des bank de 4Ko (au lieu de 8Ko) et donc de pouvoir switcher pendant le jeu entre 2 pages 4Ko de sprites au lieu d'etre bridé a une seul sur la version jap.
Du coup maintenant Iwata se retrouve avec une bank 4ko de sprite juste pour le joueur et les pnj tandis que les monstres sont sur l'autre bank (qui reste la meme que sur la version jap, rien ne change pour les monstres). Comme ils ne sont jamais affiché en meme temps il suffit de switcher les 2 bank de sprite selon que le joueur est en combat ou pas.

Ainsi il fait passer le budget des sprites du joueur et des pnj de 0.5Ko a 4Ko ca fait une upgrade x8 !! ce qui change pas mal de chose. Un peu plus de variété dans les pnj mais surtout des sprites qui sont enfin capable de s'orienter dans les 4 directions (sachant que l'orientation Est ou Ouest impose d'avoir vraiment 2 frames d'animation car on ne peut plus se contenter du flipping de sprite) ce qui va meme avoir une influence sur le gameplay puisque la boite de dialogue qui te demande de choisir dans quelle direction tu veux parler disparait rendant le jeu plus agréable.

(https://lh3.googleusercontent.com/-MsB5tA1R9_M/Vbp7Y8iqRuI/AAAAAAAABns/OsNFRIVV-Bs/w1046-h480-no/DQ1a.jpg)

On voit que les personnages sont libres en orientation, que le joueur est mieux différencié par rapport aux soldats, que le Roi ressemble cette fois a un Roi.
Donc c'est vraiment pas mal comme gain car c'etait le defaut le plus visible du jeu mais c'est pas la seul upgrade. Alors vous allez me dire qu'il ne reste plus de budget Ko pour ameliorer quoique ce soit d'autre?
Sauf qu'il est possible de gagner un peu d'espace sur la police de caractère moins lourde pour la version US. Le gain sera seulement d'une quinzaine de tile soit a peine 0.2Ko mais ca va suffire a améliorer un autre défaut visuel tres visible du jeu qui est son littoral taillé a la serpe. Ils vont pouvoir créer des tiles dédié au littoral.

(https://lh5.googleusercontent.com/-OoZJwmvkBeg/Vbp7ZiyeY5I/AAAAAAAABnw/ycFblAis70M/w1042-h480-no/DQ1b.jpg)

Un petit détail a 0.2Ko qui change pas mal de chose.
Donc oui on peut dire que Iwata a fait du bon boulot avec peu de moyen.
Reste qu'il y a aussi 13Ko de plus du coté CPU. Les upgrade graphiques se limite a ce que j'ai montré mais possible qu'ils aient aussi upgradé la bande son? Je dirais plutot enrichie le texte?



PS: Une autre Astuce que j'ai bien aimé mais qui est present aussi dans la version d'origine c'est la superposition de 2 polices de caractère. L'ecran titre a une police de caractère qui lui est propre et qui n'est pas la meme que le jeu mais la bank  graphique de l'ecran titre sert aussi pour le boss final et nécessite donc aussi d'y stocker la police de caractère du jeu (ce qui fait doublon avec celle deja contenu dans l'autre bank du jeu) juste pour cette dernière phase du jeu qui a toujours besoin de text box.
Du coup ils ont fusionné les 2 polices de caractères, l'une par dessus l'autre. L'idée c'est qu'une police de caractère peut se contenter d'un format 1bpp (une seul couleur + bg) alors que les tiles de la NES sont des tiles 2bpp (3 couleurs + bg) du coup les 2 polices se superpose en utilisant pas le meme bit de codage et on sélectionne l'une ou l'autre (ou plutot on cache l'une ou l'autre en lui donnant la couleur du fond) en jouant avec la palette.
Titre: Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Juillet 31, 2015, 07:35:02 PM
Citation de: pippoletsu le Juillet 31, 2015, 06:42:02 PM
Tu devrais t'intéresser aux 1er Ultima pour rire.
J'y ai pensé mais le monde du micro j'ai plus de mal, c'est moins intéressant pour moi.
D'ailleurs je suis pas sur qu'un Ultima 1 soit forcement moins gros qu'un DQ faut verifier (et ca donne quoi le premier du point de vue rpg? je sais que c'est la base mais jamais essayé)

Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Juillet 31, 2015, 07:36:42 PM
Si si c'est plus riche.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Juillet 31, 2015, 07:53:23 PM
J'ai chopé la version DOS du premier Ultima et c'est quand meme 326Ko donc effectivement c'est pas la meme categorie, c'est 5x plus que DQ.

EDIT: La version originel sur Apple II fait deja 280Ko, meme la version C64 fait 329Ko, et en plus ils ont bien plus de RAM qu'une NES ce qui permet de compresser les données et les decompresser en RAM. L'equivalent sur NES c'est plutot DQ4 et FF3.
Les micro n'ont jamais ete vraiment confronté au probleme de stockage, y a toujours eu soit les cassettes ou les disquettes. Sur console il a fallu d'abord apprendre a faire des jeux sur 2Ko puis 8Ko puis 32Ko... C'est tout un art.
Titre: Re : Hardcore Retrogaming
Posté par: CrichtonCrais le Juillet 31, 2015, 08:01:16 PM
Chapeau pour le boulot upsilandre !

:clwink:
Titre: Re : Hardcore Retrogaming
Posté par: dheen le Juillet 31, 2015, 11:01:51 PM
Upsilandre, tu es un psychopathe. Mais c'est toujours super interressant de te lire.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 01, 2015, 02:45:17 PM
Ce qui est terrible c'est que moi ca m'amuse vraiment, parfois plus que de jouer a un jeu.

J'en ai pas completement fini avec DQ, reste une question qui m'intrigue sur la version jap, j'ai envie de savoir de quelle facon ils manipulent les données CPU qu'ils ont stocké dans la ROM graphique (et quelle type de données c'est) car le CPU n'y a pas acces, faut faire des requêtes au GPU et ensuite les transférer en RAM... ou plutot a mon avis dans la RAM de la cartouche qui sert pour les sauvegardes et je voudrais savoir si c'est la bonne hypothèse parce que ca rejoint une question plus globale que je me pose sur ces cartouches qui embarque une mémoire pour les sauvegardes.

Ce type de mémoire a l'epoque c'est pas de la mémoire flash comme on utiliserait aujourd'hui mais simplement de la RAM accompagné d'une pile pour la garder sous tension (un peu comme si t'éteignais jamais ton PC) et c'est une RAM du meme type que celle utilisé par la console et qui se trouve dans la plage mémoire du CPU donc parfaitement visible pour le CPU au meme titre que la RAM principale (meme si pas dans la continuité) donc en théorie cette mémoire utilisé pour les sauvegardes devrait pouvoir etre utiliser comme de la Work RAM ce qui n'est pas négligeable car en général c'est 8Ko de RAM qu'ils mettent dans les cartouches pour les sauvegardes alors que la NES n'a que 2Ko de RAM (c'est un peu comme si on avait des jeux PS4 en cartouche avec dedans 16Go de GDDR5 pour les sauvegardes du jeu  :roll2:) . Dans l'hypothèse ou un jeu n'utiliserait que 2Ko ou 4Ko de cette mémoire pour les sauvegardes ca permettrait deja de fortement booster la RAM de la console et justement les RPG ont besoin de RAM.

Donc je pense que si ce type de mémoire sont indispensable a tous RPG NES de l'epoque c'est pas seulement pour la sauvegarde mais aussi parce que ca soulage la RAM de la console ce dont a aussi besoin un RPG. Mais pour ca faudrait que je vérifie et que je fasse un peu de reverse engineering sur le code ce que je ne fais pas normalement mais la semaine dernière je l'ai fais sur Battletoad (qui est incroyable en terme de code, Rare etait a ce moment la le ND de l'epoque) pour vérifier comment etait codé l'effet de scrolling différentiel multidirectionnel (pas tres courant sur un jeu NES, c'est peu de le dire)
(https://lh5.googleusercontent.com/-6HHvRpfWaPQ/VSlBpUC4f_I/AAAAAAAABPQ/LITaogRZ2lI/w256-h240-no/Battletoads.gif)

Donc je me suis dit cette fois faudrait que je mette un peu plus les mains dans le cambouis et ca ete un succes, avec un peu de méthode j'ai réussis a trouver le bout de code responsable de cette effet et ca correspondait assez bien a mon hypothèse. Du coup je pourrais retenté des choses dans le genre.


Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Août 01, 2015, 02:59:18 PM
J'imagine que qq comme Douglas Alves pourrait répondre à ce genre de question.
J'aimerais aussi vraiment beaucoup un jour réaliser une série de je sais pas quoi encore pour une grande et belle vulgarisation des techniques hardware. D'autant que je n'y connais absolument rien moi-même...
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Août 01, 2015, 03:05:58 PM
Toujours super passionnant à lire !! Tu te permet même de nous teaser  :bave2:
CitationJ'imagine que qq comme Douglas Alves pourrait répondre à ce genre de question.

Douglas Alves a toujours la réponse, Douglas Alves est un Wiki vivant, Douglas Alves est la réponse à tous les problèmes d'animation de conférence ou de débat , et à tout problème concernant le JV.
Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Août 01, 2015, 03:27:18 PM
Je ne vous cacherais pas que j'étais un peu en mode groupie dimanche passé lors du Podcast...
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 01, 2015, 03:43:24 PM
Ce qui est dommage c'est qu'il existe aucun forum pour discuter avec Douglas. A priori il fréquente pas ou plus d'endroit public sur le web. C'est triste car les choses auxquelles il s'intéresse c'est précisément ce qui m'interresse et t'en croise pas beaucoup des gens comme ca sur le web francophone.
Titre: Re : Hardcore Retrogaming
Posté par: dheen le Août 01, 2015, 10:17:34 PM
Hum reste plus qu'à programmer un podcast thématique sur le hard rétro :)
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 02, 2015, 02:28:34 AM
Je doute que ce soit adapté au format

Bon j'ai fini DQ de A a Z. J'en ai profité pour matter les credits mais pas de trace de iwata, y a 5 programmeurs cité mais c'est probablement les credits de la VO.

J'en ferais bien un second sur NES en faisant le grand ecart. Ca serait tentant de faire DQ4 pour comparer mais un FF3 serait un plus grand gap visuel. Y a un rpg qui est considéré comme meilleur que les autres sur NES?
Titre: Re : Hardcore Retrogaming
Posté par: dheen le Août 02, 2015, 08:16:45 AM
Mother ?
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Août 02, 2015, 11:03:04 AM
Ouain Mother...ou YS ?
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 02, 2015, 12:06:38 PM
Plutot que de debugué le code de DQ pour voir comment etait utlisé la RAM de sauvegarde sur la cartouche je me suis dis que l'emulateur doit bien créer pour son usage un fichier emulant cette RAM et avec un editeur hexa je vais voir deja ce que je peux en decripter.
Effectivement l'emulateur crée un fichier de la sorte pour tous les jeux qui utilise ce genre de RAM de sauvegarde sur la cartouche mais surprise en l'ouvrant y a quasiment rien dedans, c'est principalement du vide. C'etait doublement intriguant car ca voulait dire a la fois que les sauvegardes du jeu sont de taille tres faibles (j'avais utilisé les 3 slots) et que cette RAM n'etait pas utilisé non plus par le jeu comme une extension de la RAM principale (sinon j'aurais trouvé des données dedans car y a pas de raison a priori que l'emulateur puisse faire la distinction entre l'espace réservé aux sauvegarde et celui réservé a l'extension de RAM)

J'etais un peu embarrassé car ca correspondait pas a mes attentes, ca n'avait pas trop de sens... Jusqu'a ce que je comprenne que c'est juste la version US qui a une RAM se sauvegarde. La version jap originale etait en fait un RPG a code bordel!!
J'aurais du y pensé puisque j'avais deja fait des recherches sur l'historique d'apparition des sauvegardes dans les jeux cartouche et ca débarque pas avant 1987, bien apres DQ. Du coup ca explique tout puisque la version US ne fait que stocker les codes dans ces 8Ko de RAM de sauvegarde (bien trop grosse pour 3 codes, d'ailleurs ils en stock 10 copies a chaque fois par sécurité) et le jeu ne peut donc pas non plus utiliser l'espace RAM disponible (et y en a beaucoup) car le jeu n'a pas ete concu pour ca.

Ca explique aussi la si faible persistance du monde du jeu qui m'a surpris, a un moment j'ai meme cru a un bug de l'emulation quand tu te rend compte que chaque porte ouverte avec une clé magique durement acquise les première fois revient a son etat initial (verrouillé) quand tu reviens et nécessite une nouvelle clé. Pareille pour les coffres qui repop a chaque fois. J'ai trouvé que c'etait peut etre ca l'aspect le plus archaique du jeu finalement, pour un rpg c'est un peu embetant.

Du coup DQ1 n'est pas seulement un RPG qui relève le défie de tourner avec seulement 64Ko de ROM mais aussi un RPG qui tourne avec seulement 2Ko de RAM et juste quelques octets de sauvegarde (les codes. 16 octets de sauvegarde + 8 octets de nom). C'est triple défie comparé aux autres RPG. Les contraintes etaient vraiment enorme ca en fait vraiment un RPG a part.

Mais du coup il me faut effectivement un autre RPG pour mieux etudier l'usage des RAM de sauvegarde.

Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 02, 2015, 12:22:43 PM
Mother c'est vrai que on en a tellement entendu parler et puis c'est original. Ys j'ai joué juste un petit peu, je vous avait d'ailleurs fait un décorticage en regle y a quelques pages entre les versions NES et SMS.

Mais comme je suis plutot dans une démarche comparative, ce qui m'interresse c'est l'evolution technique des rpg sur NES. Donc je suis quand meme tenté soit de comparer DQ1 a DQ4, soit a FF1 soit a un FF3 (qui a le plus gros pool graphique). Je peux pas trop me permettre de faire un rpg NES juste pour le plaisir (sinon je pense que j'en ferais plutot sur SNES), faut que j'ai des raisons techniques de le choisir. Deja je vise plutot les cartouche 512Ko pour justement voir ce qu'ils arrivaient a faire avec cette quantité de donnée qui est a l'opposé de DQ1.

Une petite liste
http://www.listal.com/list/rpg-world-nes-edition
Titre: Re : Re : Hardcore Retrogaming
Posté par: dheen le Août 02, 2015, 12:36:10 PM
Citation de: upsilandre le Août 02, 2015, 12:22:43 PM
Mother c'est vrai que on en a tellement entendu parler et puis c'est original. Ys j'ai joué juste un petit peu, je vous avait d'ailleurs fait un décorticage en regle y a quelques pages entre les versions NES et SMS.

Mais comme je suis plutot dans une démarche comparative, ce qui m'interresse c'est l'evolution technique des rpg sur NES. Donc je suis quand meme tenté soit de comparer DQ1 a DQ4, soit a FF1 soit a un FF3 (qui a le plus gros pool graphique). Je peux pas trop me permettre de faire un rpg NES juste pour le plaisir (sinon je pense que j'en ferais plutot sur SNES), faut que j'ai des raisons techniques de le choisir. Deja je vise plutot les cartouche 512Ko pour justement voir ce qu'ils arrivaient a faire avec cette quantité de donnée qui est a l'opposé de DQ1.

Une petite liste
http://www.listal.com/list/rpg-world-nes-edition

p**** cette liste, qu'est ce que j'ai pu joué a hillsfar. Sinon le gap graphique entre FF1 et FF3 doit etre purement esthetique, je ne suis pas certain que les mécanique technique on grandement évolué... (c'est d'ailleur assez impressionnant de voir que de FF1 a FF9 le mode de jeux n'a pas beaucoup évolué)

Entre le 1 et le 3 la taille de la cartouche a doublé je soupçonne cette place d'avoir été utilisé pour plus de diversité graphique :)

techniquement ce qui peut être intéressant c'est de comparer un Zelda 1 et 2 meme si ce ne sont pas des RPG a proprement parlé :D, coté RPG DQ1 et DQ4 semble un bon choix aussi vu que tu as déjà decortiqué le 1 ;)

Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 02, 2015, 01:06:06 PM
J'avais oublié la serie historique des Hydlides. Voila donc un RPG en 32Ko sur MSX.
Sur NES il sort un mois avant DQ sur une cartouche sans mapper donc 40ko (Ce qui est grotesque c'est qu'ils ont gardé sur la version NES les techniques d'affichage et de scrolling des machines qui n'avait pas de fonction de scrolling comme le PC-88 et le MSX, c'est ridicule).
J'ai trouvé aussi Dragon Slayer sur MSX en 32Ko un peu dans le meme genre que Hydlide. Les 2 on l'aire d'avoir des combats temps réel avec peu de critere (stats, magies) et une absence de background et de dialogue avec des pnj... On s'eloigne du RPG, j'ai pas l'impression qu'on soit dans la meme dimension qu'un DQ. C'est plutot comme DragonStomper sur VCS, deja l'absence de texte dans un rpg ca me parait eliminatoire.
Si vous connaissez qu'est ce que vous en pensez? J'ai l'impression que 64Ko c'est quand meme le minimum pour faire un vrai rpg.


https://youtu.be/7gKW_fQBn9o

https://youtu.be/M9c4Pg4C5cs

Titre: Re : Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Août 02, 2015, 01:19:55 PM
Citation de: dheen le Août 02, 2015, 12:36:10 PMSinon le gap graphique entre FF1 et FF3 doit etre purement esthetique, je ne suis pas certain que les mécanique technique on grandement évolué...
Entre le 1 et le 3 la taille de la cartouche a doublé je soupçonne cette place d'avoir été utilisé pour plus de diversité graphique :)

Oui y a un peu plus du double de pattern graphique mais c'est ca aussi qui m'interresse. Quelle variété graphique ils arrivent a simuler. DQ s'en sort bien avec tres peu et beaucoup d'astuce. Meme si un FF3 a beaucoup plus de donnée graphique que DQ ca reste faible dans l'absolu. On est sur du 170-180Ko de tuiles. Ca demande toujours a etre astucieux pour donner l'illusion de la variété. Quand je parle de qualité graphique je pense a cette variété visuel, avoir l'impression de traverser plein de lieux differents, de croiser une grande variété de monstres et de pnj. (je trouve que sur le bestiaire DQ s'en sort pas mal, un renommage et color swap intelligent ca fonctionne quand meme bien sur l'effet de surprise).
C'est ca le défie technique qui m'intéresse dans les rpg, simuler un monde immense et vivant avec tres peu de donnée.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 02, 2015, 04:30:12 PM
Il existe une version MSX de Dragon Quest. C'est la version Famicom (Meme ecran titre, sprites, littoral) donc sans les petites améliorations de la version US. Mais encore plus plus moche et avec un scrolling facon "MSX". Tout ca avec une ROM 2x plus grosse (128Ko), 4x plus de RAM et 8x plus de VRAM. La NES  :cool:

https://youtu.be/OTN1ui8c4eI
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 05, 2015, 06:36:08 PM
Apres l'avoir fait en entier je me suis attaché a ce jeu (DQ). Du coup je continu les investigations pour mieux comprendre ce qu'il y a vraiment dans ces fichus 64Ko.
Je remet quand meme en perspective ce que represente 64Ko. C'est 5 secondes d'un podcast HBGD ou un centième de seconde de bluray. On pourrait mettre 128 copies de DQ sur une vieille memory card PS2 d''il y a 15 ans. Ou le dupliquer intégralement 130 000 fois rien que dans la RAM de la PS4.

Pour moi c'est aussi un prétexte pour mieux maîtriser les outils de débogage car jusqu'a maintenant je me contentais des outils de débogage GPU qui sont simple a lire car ils t'affichent la RAM tilemap sous forme de tilemap, la mémoire CHR-ROM sous forme de Tileset, la mémoire palette sous forme de palette... Donc c'est tres visuel, tu vois tout de suite ce qu'il se passe, faut juste etre un minimum informé sur comment ca fonctionne pour comprendre.

Par contre les outils de débogage CPU qui consiste cette fois a observer l'execution du code du jeu lui meme c'est une autre paire de manche mais ca te donne acces a tout. Et puis comme j'ai toujours envie de programmer sur NES, faire du débogage CPU c'est parfait pour garder un doigt dans l'engrenage et bien se préparer. Ca t'oblige a bien connaitre la machine (notamment a bien mémoriser tout le mapping mémoire, c'est a dire a quelle adresse se trouve exactement chaque type de mémoire et chaque registre pour les identifier dans le code et savoir ce qu'il se passe).
Maitriser les outils de débogage c'est super important si tu fais du homebrew sur des vielles machines, ca me sera de toute facon tres utile si je me lance (ou relance puisque j'avais presque commencé l'année derniere avant de consacré plutot mon temps a decortiquer les autres consoles). Sur Atari 2600 l'outil de débogage intégré a l'emulateur (en général c'est comme ca, c'est l'emulateur qui integre les outils de débogage puisque pour débogué il faut deja amuler la machine) etait tres bon et m'a ete indispensable. Faut que je maitrise ceux de Fceux (l'emulateur NES).

D'ailleurs j'ai une idée de projet qui me trotte dans la tete maintenant que j'ai un peu approfondie le debugage de la NES (et apres avoir joué a DQ) c'est d'initier une traduction en francais d'un RPG NES. J'ai bien aimé jouer a DQ notamment parce que j'avais pu le patcher en francais, l'anglais et moi ca fait 2 et quand je fais l'effort c'est pour des docs techniques uniquement parce que j'ai pas le choix car ca me demande trop d'effort mais pour un jeu non merci.
Des hack de traduction de vieux jeux y en a pas tant que ca car justement c'est compliqué, c'est pas du tout comme un jeu d'aujourd'hui, faut vraiment passer par une phase hasardeuse de reverse engineering du code du jeu sans savori si ca va vraiment pouvoir aboutir et c'est un exercice qui me tenterait bien mais qui implique de trouver une seconde personne pour faire la traduction, jouer a fond au jeu pour bien le connaitre et aussi faire des beta testes.

Donc je me suis pas encore renseigné mais si vous avez une idée de RPG NES qu'il serait intéressant de traduire et qui n'aurait pas deja ete traduit en francais (je pense que c'est la grande majorité, un Ys NES en francais?). Le top ca serait de trouver un RPG NES qui n'aurait meme pas ete traduit en anglais et quelqu'un capable de traduire le japonais (pour faire les 2 versions tant qu'a faire) mais bon la c'est un autre niveau. Deja qu'une bonne traduction a partir de l'anglais ca doit pas etre facile.


Moi je retourne sur DQ.
En tout cas je trouve que le bestiaire est bien réussit vu les contraintes
(https://lh6.googleusercontent.com/-idWpvG-DfDE/VcaPVn1q5uI/AAAAAAAABrg/thMBsN59KNc/w676-h203-no/monsters-3.gif)
De gros sprites détaillés (bon ils sont statique et a ce moment la y a que ca a afficher comme sprite mais la on parle surtout de la contrainte d'espace ROM qui est la véritable contrainte). Une bonne variété avec une belle utilisation du color swap (sachant que la NES c'est normalement 3 couleurs par sprite alors qu'ici y en a en général 6 et meme 9 pour le boss final donc y a un véritable effort de contourner les limites) agrémenté d'accessoires qu'ils ajoutent pour mieux les différencier voir du flipping (et des noms parfois tres differents d'un color swap a l'autre, ca aide aussi a les personnifier)  et hop on a un jolie bestiaire de 40 ennemis.

Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 09, 2015, 01:12:43 AM
Je m'amuse vraiment beaucoup a mener mon enquete sur DQ et c'est bien le mot, c'est vraiment comme un jeu d'enquete mais en mieux car on te sert pas le truc sur un plateau.
Et pour mener mon enquete j'ai ca: https://lh6.googleusercontent.com/-uX8Gq2VKHn0/VcZxqQ1XkeI/AAAAAAAABrI/auvkqLYw5-Y/w1906/Debug.jpg

Avec ca tu peux analyser toute l'execution du code et donc tout découvrir si t'as du temps. Et c'est vraiment comme une enquete, faut faire des hypoteses, essayer de trouver des indices, faut judicieusement placer les "break point" qui servent a interrompre le programme au moment qui peut etre le plus intéressant (car en une seconde il se passe beaucoup de chose dans une machine, tu peux pas éplucher cycle par cycle). Moi je fais vraiment ca comme je jouerais a un puzzle game (bon faut dire que je fais des puzzle game un peu bisarre comme SpaceChem ou dernierement TIS-100, mais finalement je préfere  autant faire du debug de jeu NES)

La ce qui m'a intéressé dans mon enquete c'est le texte et les tilemaps du jeu. Savoir quelle quantité de donnée ca represente sur la cartouche, quelle format (compressé, pas compressé) et comment ils ont répartie entre les differentes ROM/Bank. J'ai a peu pret résolu ces questions, je vais commencé par le cas du texte.


_______________________________________________________________________________________



Alors au sujet du texte de Dragon Quest mon hypotese c'etait qu'il etait stocké dans la ROM graphique car le texte pendant un dialogue meme en mode "fast" s'affiche seulement a un caractère par frame donc c'est un acces aux donnée tres lent et qui colle bien avec la situation puisque effectivement le CPU ne peut pas accéder facilement a la ROM graphique. Ils ne peut meme pas y acceder du tout, il peut juste dire au GPU "tiens tu peux m'envoyer l'octet qui se trouve a tel adresse dans ta ROM merci" et seulement faire ce genre de demande quand le GPU est au repos c'est a dire pendant le retour de balayage vertical (Vblank) qui est court.

Alors effectivement en surveillant les acces CPU en lecture vers le GPU grace a des break point bien placé la confirmation est vite venu. Quand y a du texte a afficher le CPU fait effectivement des acces a la ROM graphique et en surveillant aussi le bank switching du mapper j'ai identifier ou.
Puis j'ai pensé a une astuce en utilisant un autre outil qui m'a permis de visualiser toute la ROM du jeu comme si c'etait une enorme tilemap et en mettant en entrée comme tileset la partie qui contenait la police de caractère du jeu. Je me suis dit que si le texte n'etait pas compressé je devrais directement le voir apparaître et bingo il est apparu. Il remplit une bank complete de 8Ko de la ROM graphique + d'autre morceau ailleurs.

Sur la version US (plus simple a dechiffrer quand meme) le texte prend quasiment 2x plus de place (ce qui repond d'ailleurs plus ou moins a la question de ce qui pouvait remplir l'espace supplemantaire de la cartouche US). Je saurais pas dire si c'est parce que le texte lui meme est plus riche (pour profiter de la place supplémentaire) ou parce que le japonais prend naturellement moins de place avec ses caractères plus riche.
Le fait est que y a quand meme une forme de "compression" du texte et qui semble plus poussé sur la version japonaise. Chaque caractère prend bien un octet mais certain octets "speciaux" code pour des commandes (comme en ASCII) ou des mots contextuel.

Par exemple sur la version US ce type de code de commande sont assez limités. J'ai identifié par exemple l'octet $F8 qui au milieu d'un texte sert a indiqué qu'il faut ecrire le nom du joueur a cette endroit (du coup ca fait plusieurs caractère pour un seul octet d'ou un effet de compression). $F4 pour le nom du monstre que tu combat, $F5 pour ecrire une valeur qui vient d'etre calculer (des point de HP perdu par exemple), $FC pour marquer la fin d'un texte, $FD pour un saut de ligne, $FB pour demander au joueur de valider pour passer a la suite du texte. En gros ca se limite a ca sur la version US alors que sur la version Jap il y a bien plus de codes de commande (dans un octet y a largement la place pour mettre un paquet de code de commande) qui a mon avis pointe chacun vers une bibliothèque de petit groupe de 2 ou 3 caractère qui sont récurent dans la langue mais je connais pas le japonais et donc ne peut pas aller plus loin mais c'est claire que c'est quelque chose de ce genre et donc un texte qui est en quelque sorte un peu plus compressé sur la version jap (mais sur la version US ils avaient aucunement besoin de ca avec les 13.5Ko supplémentaire qu'ils avaient).


Si on visualise les 4 bank 8Ko de la ROM graphique (qui sont donc censé contenir uniquement des tuiles graphiques) ca donne ca:

(https://lh5.googleusercontent.com/-kk-U7qrpJOk/VcYFGzfSURI/AAAAAAAABpw/S2MiHm_SCjk/w556/DQbank.jpg)

- On voit bien que la bank 0 qui est la bank par defaut (avant switching) est bien une bank graphique et c'est celle qui accompagne tout le jeu et contient tous les graphismes du jeu (avec donc aussi la police de caractère).

- La bank 1 on voit tout de suite que ce n'est plus des patterns graphiques, n'importe qui je pense le remarque juste a l'oeil. Et c'est cette bank la qui contient le texte brute de tous le corps du jeu.

- la bank 2 on voit qu'il y a une majorité de pattern. Ce sont celle de l'ecran titre et celle du sprite du boss final. En haut a gauche on pourait douter que ce soit des pattern graphique mais c'en est bien, c'est juste un peu confus a cause d'une superposition de 2 polices de caractère (celle de l'ecran titre et celle du jeu pour le boss final) dont on peut cacher l'une ou l'autre avec une astuce de palette.
Mais dans la derniere partie en bas a droite on voit bien que encore une fois ce ne sont pas des patterns graphiques. Effectivement dans ce paquet de donnée destiné au CPU on trouve encore du texte. On trouve le texte de fin du jeu suivie du texte des credits. Le reste des données j'ai pas pu déchiffrer.

- la bank 3 comme on le voit tout de suite c'est encore une fois des données destiné au CPU donc pas de pattern graphique.
J'ai identifié la dedans la table de pointeur qui sert au texte. En effet pour que les développeurs puissent modifier le texte du jeu sans devoir modifier tout le code du jeu pour indiquer ou se trouve maintenant chaque morceau de texte, ils passent par une table de pointeur intermédiaire qu'il suffit de corriger pour que les modifications de texte soit bien intégrer.
En décryptant cette table de pointeur je pourrais d'ailleurs proposer une meilleur traduction que ce qui a ete fait pour le hack VF de ce jeu car j'ai aussi analyser la VF et ils ont juste remplacé le texte de la version US dans la ROM mais avec la contrainte que chaque morceau de texte doit entrer dans les limites de la version US (et au final avec pas mal de gachi), c'etait pas un mauvais choix car c'etait effectivement le plus simple et rapide mais en décryptant la table de pointeur on aurait put faire une traduction plus riche et en adaptant la longueur de chaque texte aux besoins. Donc je pourrais peut etre finalement apporter ma pierre sur ce genre de projet de fan-trad.
Reste que l'essentiel de cette bank 3 m'échappe. Je vois bien que le jeu y accede chaque fois qu'on entre ou sort d'une ville/donjon, ou lorsqu'on entre en combat, et meme a l'allumage du jeu pour l'ecran titre. J'ai beaucoup soupçonner que c'etait les musiques (qui change effectivement chaque fois qu'il y a un acces a cette bank) mais j'arrive pas a suivre la piste. Je vois le CPU remplir 2x un buffer de 150 octets a chaque fois sauf qu'ensuite il n'utilise pas ce buffer avant de l'ecraser donc je comprend pas (en plus sur NES y a tellement peu de RAM que les buffers en RAM servent pour 36 choses differentes). Mystère.



donc en gros sur cette version jap (si j'ai rien raté) y a environ 10Ko de texte (avec ses metadatas), finalement un peu moins que les patterns graphiques (13.5Ko). Sur la version US c'est l'inverse (le texte pèse plus lourd que les patterns graphiques)
Prochaine fois j'evoque le cas des tilemaps qui est un peu plus intéressant je pense.

Titre: Re : Hardcore Retrogaming
Posté par: CrichtonCrais le Août 09, 2015, 04:59:06 AM
Question : As-tu vu les vidéos de Double Fine où le créateur de Hack'N'Slash fait ça sur Legend of Zelda (NES) ?

https://www.youtube.com/watch?v=1bYrd6uDLeM&ab_channel=DoubleFineProd
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 09, 2015, 12:55:31 PM
Je connais pas (trop d'anglais pour moi) mais effectivement c'est intéressant.
Meme si je comprend pas bien ce qu'il dit j'ai quand meme tout compris a ce qu'il fait et ca c'est plutot rassurant pour moi, je peux le refaire. En plus il utilise exactement les memes outils que moi (Fceux qui est vraiment l'emulateur ultime de la NES, et le meme editeur hexa) du coup je suis pas dépaysé.

Le "RAM watch" de Fceux c'est un outil que je connaissais mais que j'avais pas encore utilisé donc c'est ca surtout qui m'a intéressé dans la video, ca m'a permit de voir le fonctionnement avant meme de l'essayer. C'est effectivement un outil plutot destiné au hack (si tu veux par exemple avoir des vies infinis et chercher des variables en particulier) d'ailleurs il est pas rangé dans le menu debug (meme si ca peut servir aussi de debug).

Ce genre de hack ca peut etre tres amusant a faire, c'est le genre de truc qui peut effectivement me plaire mais je me dis que tout a probablement deja ete fait surtout sur les classiques comme ca du coup je m'y suis pas trop intéressé mais peut etre que je me trompe. Si jamais y a un hack que vous voudriez sur un jeu je peux tenter, d'ailleurs avec Fceux plutot que de modifier le fichier ROM je peux aussi générer un code "gamegenie" qui permet au final de hacker les vrais jeux sur les vrais consoles sans faire du cartmodding (sans demonter les cartouches pour remplacer la ROM par une EPROM).
Le cartmodding d'ailleurs ca pose des problemes en ce moment car c'est beaucoup utilisé pour les jeux homebrew. Chaque fois qu'un gars vend un jeu homebrew a 200 examplaires sur une vieille console il a fallu dabord sacrifier 200 veritables cartouches d'epoque et qui ont la meme configuration (le meme mapper et configuration rom/ram) que les besoins de son jeu.

Et dans la video j'ai appris un truc aussi sur HexEditor, le coup des fichiers .tbl pour definir sur mesure la conversion hexa > ascii de l'editeur c'est effectivement vachement utile pour les jeux si on veut changer du texte (non compressé) dans un jeu. Pas besoin de coder un outil pour ca. Ils ont du faire comme ca pour la trad de DQ vu qu'ils ont pas modifier la taille du texte. C'est claire que ca a pas du leur prendre bien longtemps (juste le temps de la traduction mais y a pas beaucoup de texte).
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 09, 2015, 04:31:47 PM
Du coup tu m'as donné envie de hacker DragonQuest ce que j'aurais peut etre du faire pour simplifier mes tests et effectivement c'est assez facile  :p
J'ai trouvé la table des levels qui sert a determiner ton level selon tes points d'experiences, du coup j'ai mis 0 au level 30 (level max d'apres la table, c'est bon a savoir aussi) donc avec 0 point d'experience t'es levels max (donc dès le debut du jeu et toutes les magies).
Ensuite j'ai hacké le premier coffre dans la salle ou l'on debute le jeu pour qu'il te donne 64000 pieces de quoi tout acheter dans le jeu. Et voila :vice:

On peut faire ce qu'on veut. J'aimerais bien aussi hacker le jeu de facon a ce qu'on puisse se balader sur la map sans declencher de combat. C'est plus compliqué mais c'est probablement faisable.

Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 09, 2015, 07:35:11 PM
Alors que dire des tilemaps de Dragon Quest.
Je rappel ce que c'est qu'une tilemap. C'est une sorte de tableau 2D ou chaque case contient une valeur entre 0 et 255 sur NES qui pointe vers l'une des 256 tuiles graphiques (qui font 8x8 pixels) et qui permet donc de composer une image en assemblant les tuiles.
Voila une illustration SNES

(https://lh3.googleusercontent.com/-MQGwMY81fHI/VcDEREBwLdI/AAAAAAAABpU/ZZto0_WPS3s/w800-h511-no/TilemapExemple.jpg)

A gauche c'est l'image a l'ecran.
Au milieu (le tableau 2D) c'est la tilemap en VRAM.
Et a droite c'est le tileset (la bibliothèque de tuile) en CHR-RAM ou CHR-ROM.
C'est pas plus compliqué que ca. Et pour remplir un ecran NES faut une tilemap de 32x30 cases.
L'affichage des consoles par tilemap c'est en quelque sorte deja un mode de compression. Ca fait un peu penser au Jpeg qui essaie de crée des bloques de 8x8 pixels qui se repete. C'est ce qu'on fait avec les tilemap sauf que l'algo de compression c'est le cerveau du devellopeur, c'est a lui de choisir les bloc qui se répète et de les assembler a la main, la console ne fera que la decompression (le plus facile).


Sur Dragon Quest y a une map globale du monde + un certain nombre de map pour les villes et donjon. Les map sont dispo sur le net donc il est facile de calculer leur taille.
La map globale est simple, c'est une map qui fait 256x256 tuiles donc meme si c'est pas tres grand ca represente deja beaucoup de donnée. Une tilemap sur NES ca consome 8.5 bit par tuile (8bit pour désigner la tuile et 0.5bit pour definir la palette, en réalité 2bit pour un bloc de 2x2 tuiles) donc une tilemap de 256x256 c'est 68Ko c'est deja plus que la cartouche et reste les autres tilemap des villes et donjon (mais la map globale c'est 60% du total)
En tout (exterieur, ville, donjon) le monde est un assemblage d'un peu plus de 110 000 tuiles ce qui represente 114.4Ko de tilemap ce qui est beaucoup trop.

Y a une methode utilisé par DQ et qui est assez classique je pense a cette epoque qui consiste a utiliser des Metatiles.
Une metatile c'est une sorte de mini tilemap qui défini alors un assemblage de 4 tuiles qui forme donc un bloc de 16x16 pixels qu'on va utiliser comme une tuile (mais plus grosse) et d'ailleurs vous pouvez regarder sur les jeux de l'epoque, c'est en général la taille des elements du décors, la plupart du temps y avait pas besoin d'avoir un controle du decors avec une granularité 8x8 pixels.

Voila un exemple de quelques metatiles de Dragon Quest. On voit bien que la taille minimum des bloc du décor que j'ai entouré en rouge font 16x16 pixels c'est donc un assemblage de 4 tuiles.
(https://lh5.googleusercontent.com/-QNXVX9ffCmI/Vb_H0HgN3mI/AAAAAAAABo4/8p1_h-iUENk/w496-h480-no/DQ1d.jpg)

Du coup une solution de compression assez simple est de crée des metatilmap qui au lieu de pointer des tiles vont pointer des metatiles (qui elle meme pointe des tiles) et ainsi on peut composer une image avec une table 4 fois plus petites (meme un peu plus car on peut zapper aussi les palettes qui seront associer directement aux metatile)
Par contre ca demande ensuite au jeu de transformer en temps réel la metatilemap en tilemap car le GPU a besoin d'une tilemap, c'est une forme de décompression donc faut des ressources CPU et RAM supplémentaire et faut aussi créer une bibliotheque de metatile (un metatileset).

Alors dans DQ c'est simple toutes les maps du jeu n'utilise que 24 metatiles differentes (et encore la derniere n'est utilisé qu'une seul fois donc c'est plutot 23). J'ai d'ailleurs réussit a trouver cette bibliotheque dans la ROM cpu.
(https://lh6.googleusercontent.com/-IHa9K-A0T8w/VcZq3QY9dGI/AAAAAAAABqs/hz6-mv7sVck/w412-h276-no/DQmetatile.jpg)

voila elles sont toutes la (et dans l'ordre ou on les trouvent sur la ROM). Du coup la bibliotheque prend seulement 120 octets (5 octets par metatile, un pour pointer chaque tile qui la compose + un pour la palette) ce qui est insignifiant donc l'economie total est bien réel. On passe de 8.5 bit par tuile a 2bit par tuile + la bibliotheque de metatile. Donc on passe de 114.4Ko a 27Ko et du coup ca devient viable.
Mais 27Ko ca reste encore beaucoup quand on sait que la ROM cpu fait seulement 32Ko.
Qu'est ce qu'on peut encore faire? On a vu que la bibliotheque de metatile est composé de seulement 24 metatiles mais la metatilemap utilise un octet complet pour pointer une metatile et un octet complet ca permettrait de pointer jusqu'a 256 metatiles differente donc il reste encore ici pas mal de gachie. Y a moyen de compresser les metatilmaps elles memes.

Moi j'avais fait une hypothèse sur DQ en remarquant qu'il n'y a jamais plus de 16 metatiles differentes utilisé sur une meme map donc ca ouvrait la possibilité d'encoder 2 metatiles dans un seul octet et donc de diviser encore par 2 (on passerait alors a 1 bit par tuile et 13.5Ko au total, ca serait parfait) mais force etait de constater que c'etait pas la solution utiliser dans le jeu. Cette solution aurait ete facilement identifiable dans les données de la ROM car ca aurait fait apparaître plein d'octet symetrique.
En partant de l'hypotese qu'ils encodent alors sur 5bit (Ce qui est donc assez pour pointer les 24 metatiles) y avait aussi la solution d'utiliser un bloc de 5 octets pour encoder 8 metatiles mais ca collait pas non plus. Au final je me suis rendu compte qu'ils utilisaient des bloc de 2 octets pour encoder 3 metatiles donc 1 bit de perdu mais plus facile a manipuler et decoder.

Au final ca donne donc 1.33 bit par tuile soit 18Ko au total pour ce qui concerne la place occupé par les tilemaps sur la cartouche DQ (et tout ca est dans la ROM cpu). Faudrait aussi prendre en compte la place du code qui sert a faire ces transformations supplémentaire et qui prend aussi de la place donc on peut peut etre ajouter au pire 1Ko. C'est donc le plus gros pool de donnée (sur la version US c'est juste comparable aux données textuel)
Ma solution aurait permis d'economiser encore 4.5Ko et aurait en plus ete plus simple a décoder mais probablement que les devs ne pouvaient pas anticiper a l'avance le fait que aucune de leur map n'utiliserait plus de 16 metatiles differentes a la fois et si ils s'en sont rendu compte plus tard c'etait sans doute trop tard pour recoder le truc mais en tout cas y a encore de la marge, ca aurait pu permettre d'enrichir un peu plus le texte.



Ce qui est surprenant aussi c'est que tout l'environnement du jeu est donc composé de seulement 24 metatiles elles meme composés de seulement 71 tuiles differents alors que le simple ecran de combat lui utilise 73 tuiles soit plus que tout l'environnement du jeu.
Je parle de cette ecran de fond derrière les monstres

(https://lh5.googleusercontent.com/-nan1_e6x6r4/VcZojIaJi-I/AAAAAAAABqY/8jsiJCjLR2A/w256-h240-no/Dragon%2BQuest%2B%2528Japan%2529-1.jpg)

Cette simple image pourrait faire sourire d'autant que c'est la meme pour tout les combats du jeu donc on pourrait trouver ca radin alors qu'en vrai ca a demandé de vrai sacrifices l'aire de rien (pour le coup on est + sur une approche bitmap avec peu de récurrence graphique d'ou le cout) donc c'est qu'ils y attachaient de l'importance. C'est un élément immersif important du jeu.
Titre: Re : Hardcore Retrogaming
Posté par: dheen le Août 09, 2015, 10:22:57 PM
C'est vraiment intéressant ce que tu dis. Donc en théorie on pourrais améliorer graphiquement le jeux assez facilement. (créé de nouveaux metatileset pour diversifié la carte par exemple.)
Titre: Re : Hardcore Retrogaming
Posté par: CrichtonCrais le Août 09, 2015, 10:51:50 PM
upsilandre il te fait des articles de fond sans réclamer d'abonnement Premium.
Titre: Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Août 10, 2015, 12:17:33 AM
Citation de: dheen le Août 09, 2015, 10:22:57 PM
C'est vraiment intéressant ce que tu dis. Donc en théorie on pourrais améliorer graphiquement le jeux assez facilement. (créé de nouveaux metatileset pour diversifié la carte par exemple.)
On peut en tout cas gagner encore quelque Ko sur la cartouche. Ensuite la facon d'utiliser ces Ko ca serait plutot pour du texte ou alors pour ajouter des donjons/villes. Enrichir l'aspect graphique ca pose d'autre probleme lié au type de configuration de la cartouche et du mapper.
Les metatiles sont dependantes des tiles qui elles sont pas nombreuse. C'est donc le tileset qu'il faudrait enrichir, la ou sont vraiment les pattern graphiques du jeu. Et le tileset du jeu c'est celui qu'on voit dans la bank 0 et il est deja full et on peut pas vraiment en utiliser un autre en cours de jeu.
Avec un mapper comme le MMC3 qui permet de switcher des bank graphiques par petit bout de seulement 1Ko la oui il aurait ete possible d'ajouter une ou 2 autre petite bank 1Ko de tuiles qu'on aurait pu switcher au bon moment pour créer d'autre environnement (et sans pour autant perdre les patterns des sprites ou de la police).

Mais le plus efficace quand t'es vraiment limité en ROM (car je parle toujours dans le cadre ou l'on veut faire un rpg avec 64Ko de ROM, c'est un peu le theme) c'est plutot un mapper de type UNROM et qui etait quasiment dispo au moment ou est sortie DQ (le premier jeu a utiliser ce mapper est sortie 2 semaines apres DQ et c'est Maikaimura).
Avec ce genre de mapper y a plus du tout de ROM graphique. Elle est remplacé par une seul bank 8Ko de RAM dans laquel tu construis toi meme sur mesure ton tileset tuile par tuile. Les pattern etant cette fois stocker dans la ROM cpu avec le reste du jeu. Du coup si tu veux changer juste 1 ou 2 tuile dans le tileset au moment ou tu entre dans tel donjon alors tu peux donc c'est bien plus simple de faire varier les graphismes de facon contextuel (au prix de transfere entre la ROM cpu et la RAM graphique qui sont lent) et dans ce cas la oui on aurait pu utiliser les quelques Ko gagné pour ajouter des tuiles.
Mais avec le mapper de DQ on peut pas, la bank du tileset c'est de la ROM et elle est fixe. Si tu veux changer les tuiles t'es obligé de changer les 512 tuiles du tileset en meme temps (les 256 du background et les 256 des sprites) avec un bank switching ce qui est problematique.

Et si en plus d'un mapper UNROM on avait pu aussi avoir une RAM de sauvegarde avec une pile on aurait pu ameliorer aussi la persistance du jeu qui est trop limité, et d'autre chose grace a la RAM supplementaire donc avec 64Ko de ROM y a surement moyen de faire encore mieux que DQ avec la bonne configuration de cartouche.


EDIT: a moins que tu faisais allusion au background de la zone de combat? Dans ce cas si on remplaçait ce background par un ecran noir effectivement on libere beaucoup de tile. On doublerait les tiles disponibles pour l'environnement du jeu.
Titre: Re : Hardcore Retrogaming
Posté par: dheen le Août 10, 2015, 04:05:58 PM
Enfaite je parlé des créer d'autres metatiles avec des tuiles existantes, pour amener de la diversité. mais la aussi la place n'est pas suffisante.

je pense que ca serait dommage de noircir la scene de combat, comme tu l'a dit elle amene a l'immersion du jeux, et si tu remet dans le contexte de l'epoque c'etait une belle demo technique :)

Titre: Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Août 10, 2015, 06:54:38 PM
Citation de: dheen le Août 10, 2015, 04:05:58 PM
Enfaite je parlé des créer d'autres metatiles avec des tuiles existantes, pour amener de la diversité. mais la aussi la place n'est pas suffisante.
On peut effectivement étendre la bibliotheque de metatile. l'encodage tel qu'il est permet de monter jusqu'a 32 metatiles sans rien avoir a changer dans les fondations du code donc on pourrait en ajouter 8 et ca fait seulement 40 octets donc facile a caser quelque part. Mais quelle nouvelle metatile tu voudrais faire avec uniquement les tuiles qui compose celles ci?
(https://lh6.googleusercontent.com/-IHa9K-A0T8w/VcZq3QY9dGI/AAAAAAAABqs/hz6-mv7sVck/w412-h276-no/DQmetatile.jpg)



A la rigueur on peut faire 8 metatiles qui soit des combinaisons de paturage et de desert pour des transitions moins anguleuse. Ca donnerait ca
(https://lh5.googleusercontent.com/-dXa6gUwIFvc/VcjUuqjfwwI/AAAAAAAABsY/xAdbDM5iG0o/w530-h438-no/DQMetatileExt.jpg)


C'est pas genial.
Non faudrait de nouvelles tuiles comme ils ont fait pour la version US en créant 12 nouvelles tuiles pour faire un jolie littoral mais c'est parce qu'ils ont pu éliminer 12 tuiles dans la police de caractère.

Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 10, 2015, 07:07:23 PM
Ou alors des vignes et des arbres isolé  :o


(https://lh3.googleusercontent.com/-GeRUxZBDHT4/VcjaJMSvBDI/AAAAAAAABsw/Zt0M_eHpyDI/w188-h95-no/TilemapExempleb.jpg)
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 10, 2015, 08:01:55 PM
J'ai fais encore un peu de hacking sur le jeu.
Dans la piece ou tu debutes y a un coffre avec une clé qui te sert a sortir de la piece et les clés sont des consommables (elles ne servent qu'une fois) ensuite faut attendre la moitié du jeu pour pouvoir acheter des clés. Et bien maintenant cette premiere clé est magique et non consomable, elle te permet d'ouvrir toutes les portes du jeu :)

C'est comme un reve de gosse de pouvoir hacker les jeux de notre enfance comme je veux. Gamin je trouvais ca assez mysterieux ces cheat codes sortie de nulle part qui permettait de briser un jeu, parfois des jeux qui nous avait fait longuement souffrir.



Puis en tentant de hacker le systeme de sauvegarde par code j'ai trouvé plus ou moins une reponse au dernier mystere, a savoir ce qu'il y avait dans la bank 3 de la ROM graphique (autre que la table de pointeur des textes qui doit pas occuper beaucoup de place). Et en fait ca a l'aire d'etre principalement du code CPU, de vrai bout de programme chargé en RAM.
Dans la bank 1 ils ont donc mis des données destiné au CPU (le texte) et dans la bank 3 c'est a priori plutot du code pure.
Si je dis ca c'est parce que j'y ai trouvé tout l'algo de décryptage des codes de sauvegarde.
(https://lh6.googleusercontent.com/-diDKWNtCNoM/VciehjSUoHI/AAAAAAAABr8/JhRqLgl9zmA/w554-h266-no/DecryptCode.jpg)

Tout le morceau encadré en rouge c'est juste le bout de programme qui sert a decrypter les codes de sauvegarde (et qui je le repete n'a donc en théorie rien a faire dans la ROM destiné aux patterns graphiques).
Ce bout de code occupe la place de 70 tuiles soit l'equivalent de toutes les tuiles qui servent pour tout l'environnement du jeu!

Donc voila en réalité le vrai coupable, celui qui occupe le plus de place sur la cartouche, c'est le programme du jeu.
C'est la grande difference avec notre epoque ou la place occupé par le code est totalement insignifiante face aux données/assets alors qu'a cette epoque y avait tellement peu de place que le code occupait une grosse partie du stockage. D'autant plus sur le 6502 qui etait un CPU rapide mais avec un jeu d'instructions basique (et peu de registre) qui necessite parfois une succession d'instructions pour faire une operation simple et donc occupe un peu plus de place que du code Z80 (Master System, Coleco, MSX...) par exemple.


Titre: Re : Hardcore Retrogaming
Posté par: dheen le Août 10, 2015, 09:26:05 PM
Hum, a l'époque l'optimisation faisait vraiment partie du boulot de dev. et il avais une vrai conscience des limitation du hard.

maintenant, ça a beaucoup changé....

Du coup pour DQ je suppose que le code a du etre pas mal optimisé dans les version suivante (en plus du changement de format du mapper, pour améliorer grandement les choses)
Titre: Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Août 11, 2015, 11:14:41 AM
Citation de: dheen le Août 10, 2015, 09:26:05 PM
Du coup pour DQ je suppose que le code a du etre pas mal optimisé dans les version suivante (en plus du changement de format du mapper, pour améliorer grandement les choses)
Je pense que je vais quand meme essayer un peu DQ4 pour voir.
DQ1 je le connais par coeur maintenant c'est peu de le dire :lol: J'arrive meme tres bien a y jouer en japonais.

J'ai pas pu m'empecher de faire un dernier hack (apres faut que j'arrete) et celui la me plait bien  :D
Dans DQ tu debutes dans un chateau avec la particularité d'apercevoir dès le debut le chateau du boss final de l'autre coté de la rive mais dont tu ne pourra acceder qu'a la fin apres un long detour et quelques items speciaux pour debloquer le chemin

(https://lh5.googleusercontent.com/-SuMJBPxLJyk/Vcm5H-huuQI/AAAAAAAABtQ/88MyxIQ-iRE/w256-h240-no/Dragon%2BQuest%2B%2528Japan%2529-0.png)



Bon ba j'ai fais venir quelques pelleteuses et j'ai construit un sentier direct vers le boss et ca marche  :roll:

(https://lh5.googleusercontent.com/-TNe5asa66d8/Vcm8lxOzUjI/AAAAAAAABtw/xJjKfEhB_aM/w256-h240-no/Dragon%2BQuest%2528Hack%2529-3.png)

Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 11, 2015, 02:30:33 PM
Tu met $04 a l'adresse $E4 en RAM et ca active le trigger comme si t'avais tué le boss et du coup tu peux te deplacer sur la map sans combat, pratique.
Tu met $FF a l'adresse $BE toujours en RAM et t'as un equipement (arme/armure/bouclier) full.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 11, 2015, 06:48:30 PM
Namco qui fetes PacMan avec un jeu inspiré par le glitch du level 256 de la version original, belle référence, bravo.  :laporte:


https://youtu.be/Vl5t5mf7Yts
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Août 13, 2015, 04:29:27 PM
J'ai tout ratrappé...T'as bien gratté dis moi ! Et c'est pas pour me déplaire, c'est vraiment passionnant, je me dmande toujours comment tu as pu avoir une telle maîtrise de tout ça, alors que j'imagine que il ny'a pas grand chose en français à son propos...GG pour les hack en tout cas  :laporte: ( même si c'est peut-être pas ça qui t'as pris le plus de temps...)
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 13, 2015, 08:04:12 PM
Faut se dire que c'est moins complique que ce qu'il y parait.
La j'ai testé 2 autres outils de Fceux. Le code/data logger et le trace logger et la encore c'est génial et super utile. Ils ont vraiment tout prevu. Cette emulateur est un vrai petit bijoux, chapeau les mecs qui bossent sur ce genre d'emulateur pendant des années. La j'ai fini le tour des outils Fceux, si jamais je me met a coder sur NES ca me sera utile.


Attention exercice oculaire.
Voila la ROM graphique de super Mario

(https://lh5.googleusercontent.com/-qFnsU98ASGc/VczQ8RM_nuI/AAAAAAAABuM/_oo5RM104jk/w519-h262-no/Mario.png)

Tout est la, a cette epoque y avait pas de mapper et donc qu'une seul bank 8Ko pour les graphismes.
Est ce que vous voyez quelque chose de particulier dans ces patterns?
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Août 13, 2015, 09:07:47 PM
Il y a du code en bas à droite non ? (http://image.noelshack.com/minis/2015/33/1439492844-capture.png) (http://www.noelshack.com/2015-33-1439492844-capture.jpg)
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 13, 2015, 10:09:40 PM
:boyle:  :yeah:  :jospin:

On voit effectivement en bas a droite un paquet de données destiné au CPU (c'est pas du code mais c'est pareil, c'est pour le CPU) qui encore une fois n'a donc rien a faire la. Pourtant Mario je l'ai lancé plein de fois en mode debug mais j'avais jamais fait attention.
On voit l'equivalent de 19 tuiles soit 304 octets de donnée destiné au CPU stocker dans la ROM graphique. J'ai bien sure regardé a quoi correspondait ces données et ce sont les informations qui servent au CPU a construire l'ecran titre. C'est une sorte de tilemap mais dans un format compressé assez avancé (Mario n'utilise pas de metatile mais un vrai format de compression de tilemap). En tout cas ca indique au CPU quelle tuile utiliser pour l'ecran titre et ou les placés. Ainsi ils ont réunit au meme endroit les data (pattern) et metadata (tilemap) peut etre parce qu'ils ont fait ca en dernier.

(https://lh4.googleusercontent.com/-gYrJGNX8d3Q/Vczy1LOBhfI/AAAAAAAABu4/DA8j2YEAOAs/w512-h480-no/SMStitle.jpg)


L'ecran titre c'est juste le panneau et le menu de selection, le reste c'est juste le debut du jeu qui sert de background.
Mais malgres ce genre d'astuce (utiliser le debut du jeu comme background de l'ecran titre) on voit que beaucoup des tuiles du tileset background (celui de droite sur fond bleu) sont utilisés uniquement pour l'affichage du titre. A peu pret un quart du tileset (en comptant donc le bout de donnée CPU).
Malgres les astuces l'ecran titre reste toujours quelque chose de gourmand dans les jeux de cette epoque et qui devait chaque fois etre un peu un dileme. On pourrait sans doute ecrire un dossier rien que sur les ecrans titres.
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Août 13, 2015, 10:49:22 PM
Go le dossier :D
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 14, 2015, 03:00:06 PM
Non non non

Par contre j'ai quand meme testé vite fais DQ4 et FF3.
FF3 semble plus tourné vers les combats qui semble plus aboutis en terme de mecanique, d'interface plus ergonomique, de dynamisme, de visuel, un bestiaire plus riche... DQ4 par contre semble plus tourné vers l'exploration avec un monde qui semble plus grand et clairement plus de lieu a visiter avec j'imagine plus de pnj et de dialogue. Ce qui a du faire le succes de la série j'imagine.

Dans DQ4 ils ont quasiment tout compressé meme le texte et les patterns des sprites du bestiaires. La cartouche (512Ko donc les plus grosses de la NES) est vraiment pleine a craqué. Quand j'avais appliqué sur toutes les roms NES mon petit programme qui enlevait les redondances et espace vide d'au moins 16 octets pour voir a peu pret le niveau d'optimisation de l'espace ROM, DQ4 etait ressortit comme la cartouche la plus remplit en donnée juste apres Kirby (mais qui utilise une carotuche 768ko, la seule) preuve de son niveau de compression, elle faisait meme un meilleur score que les jeux qui utilisent des cartouches 640ko.




Mais ce qui m'impressionne dans ces 2 jeux c'est le bestiaire vraiment chouette pour de la NES.

(https://lh6.googleusercontent.com/-YC4EjXj3wbk/Vczx0lWVIuI/AAAAAAAABuk/rVXqg_JqgSk/w1253-h724-no/Bestiaire.jpg)

J'ai enlevé les color swap pour mieux voir la variété. Les styles sont differents mais tres réussit pour de la NES, le nombre de couleur par sprite est elevé pour de la NES et ca a forcement ete pas mal de casse tete pour les graphistes. Le bestiaire de DQ4 est encore plus riche en couleur mais c'est lié a la simplicité de leur mode de combat qui n'affiche rien d'autre que les monstres.

Sur NES t'as seulement 8 palettes simultanément  (la moitié pour les sprites et l'autre pour le bg) de 3 couleurs.
FF3 affiche un morceau de décor pendant les combats pour situer l'action et qui utilise deja une palette + les 4 personnages du joueurs qui sont des sprites et utilisent en tout 3 palettes +  l'interface qui est travaillé visuellement et utilise aussi une palette + une palette réservé a certain effet (coup d'épée, affichage des point de dommage...). Reste seulement 2 palettes pour les ennemis! et seulement des tuiles de background, pas de possibilité d'utiliser des trick en superposant background et sprites pour plus facilement contourner la limite de 3 couleurs.
Du coup ca a du etre un sacré casse tete pour les graphistes de FF d'autant que differents monstres peuvent etre combiné sur l'ecran, il a fallu donc que les monstres qui se combine utilise la meme double palette pas le choix. Ces contraintes ont du limiter les libertés artistiques et les combinaisons de monstre (et aussi de color swap, y en a d'ailleurs moins que sur DQ qui mise beaucoup la dessus pour etendre son bestiaire)

De son coté DQ a toutes les palettes a dispo pour les monstres. Les combats n'affichent ni décors, ni les heros, ni aucun FX d'aucune sorte, et l'interface est en noir et blanc. On pouvait pas faire plus minimaliste. Du coup a priori c'est une liberté maximum pour les graphistes qui produisent les monstres qui peuvent chacun etre associé a au moins 2 palettes personnalisé au choix (et en combinaison background + sprite) et ensuite pouvoir combiner les differents monstres a l'ecran comme ils veulent car chacun aura ses palettes, et aussi ajuster le colo swap de chaque monstre comme il le souhaite.

Donc sur DQ4 ca donne un bestiaire peut etre encore plus travaillé artistiquement mais force de reconnaître qu'il y a une génération d'ecart sur la représentation des combats. FF3 releve le défie de rendre les combats dynamique et ergonomique.
Malgres le fait que dans les 2 jeux on reste sur de simple image statique pour représenter les monstres, DQ4 se contente de ca alors que FF3 affiche un décor (juste une bande mais ca suffit a situer l'action), anime tes personnages pendant le combat, te permet de sélectionner a l'ecran qui tu attaques avec une véritable GUI pour visualiser tout ca et pendant la phase active tu visualises qui attaque qui grace a de simple translations des personnages et a des fx visuel, tu visualises aussi les degats qui s'affiche sur les monstres... bref plein de petites choses qui mettent une génération d'ecart a DQ4. Meme l'effet pour faire disparaître un monstres mort est bien foutu.
Ils se sont vraiment cassé la tete. Mais les approches et priorités des 2 jeux sont differentes.


Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Août 14, 2015, 04:17:19 PM
DQ IV était le testamznt d'enix sur NES, ils ont tout donné.
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Août 14, 2015, 08:01:27 PM
Du coup tu m'as donné envie de passer une petite heure sur FF3...et WOW  :ouch: C'est tellement dans le tur-fu !! La gestion des équipements, des magies, des combats, l'interfaces, il est vraiment en avance...enfin je pense, parce que des RPG NES j'en ai fait aucun qui ne soit pas un Remaké  :sarcastic:
Je découvre d'où FF-XIII-2 puise son système de classe  :lol:
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 14, 2015, 08:45:33 PM
J'espere que tu utilise Fceux 2.2.2  :cool:

Sinon ce qui me fait marrer c'est qu'a cette epoque tu pouvais faire des rpg en moins d'un an. Un DQ2 qui commence a etre solide (d'ailleurs c'est lui qui semble vraiment posé les bases de la serie, dans les suivants on retrouve les memes code couleurs, pattern, interface et la meme taille de world map meme si plus riche en contenu) c'est juste 7 mois.

DQ4 et FF3 il commence a vraiment passer du temps mais encore une fois c'est quelque chose qu'il faut mettre en parallele avec la taille des cartouches pour comprendre. Pour le joueur japonais je pense que ca a du etre intéressant de suivre la serie DQ qui a eu vraiment un parcoure progressif sans sauter d'etape 64Ko > 128Ko > 256Ko > 512Ko. ils ont du ressentir que chaque aventure avait plus d'ampleur que la précédente et ca devait etre adictif cette douce progression qualitative (lié en grande partie a la technologie).
Ca permet de voir ce qu'il est possible de faire a chaque palier meme si ils ont l'aire de s'etre concentré uniquement sur le contenu sans jamais vraiment faire evoluer la forme ce qui se fait sentir sur la fin face a FF3.
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Août 14, 2015, 09:08:19 PM
J'imagine  :o













J'ai just DL la rom sur Romstation  :roucas:
Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Août 14, 2015, 09:22:53 PM
Ouais enfin les classes, c'était déjà dans DQ III.
Titre: Re : Re : Hardcore Retrogaming
Posté par: Coca_Impact le Août 14, 2015, 09:44:51 PM
Citation de: pippoletsu le Août 14, 2015, 09:22:53 PM
Ouais enfin les classes, c'était déjà dans DQ III.

Avec le systeme de points pour switcher et tout ?
Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Août 14, 2015, 09:46:02 PM
Pas exactement, mais tu pouvais déjà construire des builds bien complet.
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Août 14, 2015, 09:49:56 PM
 :boltquestion:
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 14, 2015, 11:50:14 PM
Truc que je viens de voir sur la world map de DQ2 ils ont intégré une version miniature de la world map de DQ1, connection sympa entre les 2 jeux! (c'est peut etre aussi ce qui distingue la serie des FF?)

Par contre je viens de me rendre compte aussi qu'ils avaient toujours pas de sauvegarde dans DQ2 :sweat:, il est sortie trop tot  mais vu que le jeu est plus riche ca a du etre bien galère de faire sans sauvegarde.
D'ailleurs ca se ressent dans le code a entrer, on passe d'un code de 20 caractères pour DQ1 a... 52 caractères pour DQ2, t'as interet a pas te gourer :oh:

52 caractères dont chacun code 6 bits (y a 64 caractères different pour les codes) ca fait donc 39 octets d'enregistrer dont 3 octets servent pour enregistrer le nom du joueur (4 caractères) et y a au moins un octets voir peut etre 2 qui servent de checksum (un code de hachage pour verifier si le code est pas random, un seul octet c'est un peu leger ca te laisse une chance sur 256 de tomber juste en faisant un code random, sur DQ1 ils ont utilisé un seul octet mais 2 sur DW puisqu'il y a une mémoire a pile)
Ca laisse au mieux 35 octets de sauvegarde pour le jeu, le triple de DQ1 mais les jeux a pile doivent utiliser 1000 ou 2000 octets de sauvegarde.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Août 28, 2015, 03:06:45 PM
Pour aider un gars qui voulait utiliser des outils de rom haking de Megaman 3 pour refaire Makaimura j'ai du me pencher un peu sur le sprite engine de Megaman. Les sprites engine c'est la partie la plus compliqué des jeux de cette epoque (et du coté hardware c'est aussi la tres grande majorité des transistors du GPU) donc ca m'a permis d'y voir un peu plus claire, c'etait intéressant.

Mais du coup j'ai aussi relancé le Makaimura de la NES qui etait un des rares portage du jeu réussit a l'epoque mais qui malgres tout est quand meme plein de defauts techniques. Pas possible de corriger les problemes de framerate, de judder, de désynchro mais j'aurais bien aimé rectifier le sprite du zombi qui a une superposition de sprite au niveau de l'abdomen (ils ont 2 abdomen superposés) qui meme si je devine pourquoi ils ont fait ca me parait un peu idiot car ca ajoute 3 tonnes de flickering pour un gain dérisoire. Mais ca serait tres difficile et long aussi a corriger.

Du coup je me suis contenté de corriger un autre truc qui m'a toujours agacé dans cette version et qui t'agresse dès les premières secondes de jeu c'est le choix de couleur des zombis par rapport a la version original qui est un peu troublante, respecter les couleurs c'est un peu la base quand tu fais un portage.

Alors sur NES c'est vrai que tu choisie pas forcement tes couleurs car chaque palette est partagé entre plein de sprite differents et dans Makaimura certain sprite comme Arthur ou les zombis justement utilise deja 2 palettes differentes donc on peut deviner que ca necessite des compromis mais finalement j'ai trifouillé un peu et y avait moyen d'eviter cette faute de gout. Du coup je me suis fait une version hacké plus conforme.

(https://lh3.googleusercontent.com/-icuivWY99Ms/Vd8wzp7DP5I/AAAAAAAAByQ/wmhKF-FWLhE/w1030/GGhack.jpg)

Bon je voulais faire ca vite fait mais finalement ca m'a prit plusieurs heures car evidement il suffisait pas de refaire les pattern pour utiliser la palette differement. Le zombi utilise une palette pour la tete (blanc, rouge, bleu) et une autre palette pour le corps (blanc, rouge, noir) ce qui lui permet d'avoir 4 couleur au lieu de 3. Pour reproduire la VO (et toujours les meme 4 couleurs) ce qu'il me faut ici c'est une palette blanc,rouge pour la tete et blanc,bleu,noir pour le corps .

Or la palette du corps je ne peut pas la modifier car elle est utilisé pour plein d'autre sprite notamment Arthur par contre je peux utiliser celle ci pour la tete car y a du rouge et du blanc. Restait plus qu'a trouver les data qui associe les sprites a une palette.
Pour le corps j'ai modifier la palette de la tete que j'ai alors utiliser pour le corps. En effet cette palette blanc,bleu,rouge est surtout utiliser par les autres sprites pour son bleu et son blanc et moi j'ai juste besoin de changer le rouge en noir donc ca a peu de conséquence d'autant que les quelques sprites qui utilisait aussi le rouge de cette palette le faisait mal (par exemple le corbeau est plus jolie maintenant je trouve avec le noir a la place du rouge)

Donc restait plus qu'a trouver l'emplacement de cette palette pour la modifier et ensuite trouver les differents sprites des zombis pour modifier leurs metadata ainsi que leurs patterns (tout en sachant qu'il y a des redondances sur la cartouche, plusieurs fois le meme pool de sprite agencé differement qu'il faut corriger aussi)

Mais certain autres sprites du jeu utilisaient aussi cette palette blanc,bleu,rouge que j'ai modifié mais uniquement pour utiliser le blanc et le rouge et il se trouve que du blanc et du rouge y en avait deja dans l'autre palette (celle qui etait utilisé pour le corps du zombi et dans Arthur) donc la aussi il a fallu que je rectifie tous ces sprites pour modifier leur pattern et metadata mais il a fallu dabord rejouer tout le jeu pour les identifier (trouver ceux ou sa bug). Resultat ca concernait les flammes produit par l'arme de feu qui s'affichait en noir au lieu de rouge, pareille pour les flammes du level du pont enflammé et les explosions des ennemis ainsi que les tires des gorilles. J'ai du tous les modifier.

Au final j'ai quand meme réussit a obtenir le bon résultat sur tout le jeu. Comme quoi la aussi c'etait plutot un manque d'effort de Capcom. Quand je regarde dans le detail j'ai l'impression que le jeu a ete développer un peu dans la précipitation (Rien que quand tu vois tout le gachis d'espace qu'il y a sur la cartouche, c'est la toute premiere cartouche 128ko mais finalement mal exploité, je suis convaincu que c'est une décision de fin de développement et que le jeu etait concu au depart pour du 64Ko).
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 08, 2015, 12:18:19 AM
Je me suis décidé a mettre les mains dans le cambouis la semaine dernière pour enfin refaire Alex Kidd sur NES.
C'est juste une sorte d'exercice de programmation pour le plaisir et avoir des bases sur NES comme pour la VCS. J'ai pas l'intention a priori de faire plus que le premier level (qui est emblématique). Et au rythme de mes envies, j'ai pas d'objectif et suis pas pressé.
Comme toujours il sagit bien sur de programmation assembleur et "from scratch" comme on dit.

J'en suis au tout debut mais au moins j'ai réussis a produire un fichier ROM correct avec les octets au bon endroit (header, bank PGR, CHR, les pointeurs IRQ...), a faire un reset correct de la machine, a afficher un background fait maison, a le faire scroller (juste une vulgaire boucle de scroll horizontal mono-screen), a coder un debut de sprite engine et a afficher des sprites et a gérer les inputs.

Apres de long ajustements je suis assez content d'avoir réussit a reproduire correctement le background malgres les spécificité de la NES (pas de palettes RGB, seulement 3 couleurs par pattern, seulement 4 palettes de 3 couleurs, seulement une palette par metatile). Visuellement au moins ca fonctionne. Ca m'a retardé dans le code mais j'avais besoin de savoir.
J'ai aussi refais et upgradé le sprite par rapport a mes premiers essais pour etre vraiment pixel perfect avec l'original (a par quelque nuances de couleurs). Pour arriver a faire un beau sprite comme sur SMS avec la NES ca demande de la bidouille et + de budget sprite. Je me suis autorisé a augmenter le budget du sprite d'alex car apres calcule et avec un peu de bidouille ca devrait passer (je parle au niveau flickering, d'autant que sur la version Master System les sacs de pognon sont des sprites ce qui est idiot et ajoute une charge inutile dont je ferais l'économie en les intégrants au background), j'avais ete un peu strict sur mon premier jet (je voulais pas surcharger car je connais les limites de la machines) mais ca vaut le coup qu'il soit réussit.

J'ai donc aussi commencé a implémenter l'animation et le controle d'Alex au pad. On peut se deplacer (j'ai laissé le scrolling horizontal mono-screen), s'accroupir, donner un coup de poing. Manque le saut et y a bien sur aucune interaction pour l'instant, on en est loin.
Mais rien que sur ces premiers elements de controle je me suis acharné a reproduire parfaitement le comportement original comme la durée des frames d'animations, les coefficients d'accélérations et de décélération (j'ai récupéré les valeurs de la version SMS), les 10 frames de freeze quand tu fais un punch, le fait de garder l'inertie de décélération en position accroupi (glissade) ou de pouvoir se retourner, le fait que la sequence d'animation de la marche se prolonge meme une fois lacher le stick tant que la décélération n'est pas terminé, le fait de pouvoir cumuler la décélération naturel + l'accélération en sens inverse quand tu fais un demi-tour, de pas pouvoir prolonger les 10 frames de punch en appuyant tres vite ect...
C'est tout les petits détails qui font qu'on a l'impression ou pas de controler l'original donc c'est important.

Le lien de la ROM (que je mettrais a jour au fur et a mesure, le lien reste le meme):
https://drive.google.com/open?id=0B399kteofpYuT0tnd0lzZmFHcjQ


(https://lh5.googleusercontent.com/-z5mjuBUDn90/Ve6VBipX_tI/AAAAAAAAB0o/1klI-1qmBrU/w511-h480-no/AlexProto.png)
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Septembre 08, 2015, 12:44:05 AM
La version Master System

(https://lh3.googleusercontent.com/-9s1LzMXY_v4/Ve4QWlBM4vI/AAAAAAAAB0Q/_sSTW7wpeAY/w512-h384-no/Alex%2BKidd%2Bin%2BMiracle%2BWorld.png)


Le truc intéressant c'est qu'avec la NES on a + de résolution vertical et justement sur SMS avec ce démarrage en scrolling vertical descendant on etait un peu a l'etroit, ca genait un peu le gameplay, sur NES on sera plus a l'aise pour ce genre de scrolling (surtout en emulation ou l'on voit toutes les lignes).
Titre: Re : Hardcore Retrogaming
Posté par: Yo Riso le Septembre 08, 2015, 09:23:58 PM
Hey les mecs, comme vous me semblez assez calé en jeux rétro japonais, au sujet du MSX, si vous pouviez par mp m'envoyer votre TOP5 ce serait sympa, je viens de finir un TOP50 amstrad, ça m'a pris 3 semaines complète, à raison de plus de 150h pour répertorier 550 jeux, jouer à 200 et n'en conserver que 50 pour mon top50, mais le truc c'est que je connaissais les jeux de la bécane...alors que le msx....je pars de très loin. Donc même si vous avez des brochettes de jeux à me conseiller c'est pas de refus, d'avance merci à ceux qui m'aideront.
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Septembre 16, 2015, 08:42:09 PM
https://www.indiemag.fr/articles/creer-jeux-seulement-13ko-js13kgames

Hahaha...une jam où le projet est limité à moins de la moitié d'une cartouche NES...13 Ko, je me demande bien comments diable ils ont fait ça les bougres !
Titre: Re : Hardcore Retrogaming
Posté par: Yo Riso le Septembre 24, 2015, 10:22:10 AM
Si tu veux halluciner tu peux chercher des vidéos sur Relentless un jeu homebrew AMSTRAD, il ne fait que 16ko et c'est bluffant...;)
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Novembre 07, 2015, 12:42:01 PM
Content de voir que dans la fournée d'aujourd'hui de "Old Classic Retro Gaming" on a eu le droit a un longplay en 5 parties et full HD 60fps de "I Robot" le premier jeu 3D flat a la grande epoque ou Atari etait le maitre de la 3D (oui oui)

https://youtu.be/EHkwdvfXHJc


10 ans avant Virtua Fighter ou StarFox.
Pour se donner une idée on peut d'ailleurs le comparer techniquement a StarFox qui joue dans la meme categorie de moteur.

StarFox versus I Robot
224x192 vs 256x256
8 a 12fps vs 10 a 20fps
3D en 15 couleurs vs 256 couleurs
+ de polygones sur I Robot

Par contre StarFox a l'avantage d'agrémenter la 3D par du background 2D (sol inclus) et du sprite géré par la SNES ce qui enrichie de pas mal de details et couleurs et le son aussi qui est bien meilleur.
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Novembre 07, 2015, 02:38:25 PM
C'est tout bonnement impressionnant ! :roll2: Moi qui voyant Star Fox comme un monument de de la 3D (sur console, certe) !

Le frame-rate est tout bonnement impressionnant !
Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Novembre 07, 2015, 03:17:09 PM
Après il faut quand même préciser que I,  Robot, c'est sur un hardware dédié, vu que c'est de l'arcade. Ça fait une PETITE différence.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Novembre 07, 2015, 03:31:02 PM
C'est un peu le cas de Starfox. Starfox tourne pas vraiment sur SNES (qui s'occupe juste du layer background) mais sur le SuperFX (accompagné de sa propre RAM) qui est un hardware plutot dédié a ce jeu justement.
C'est surtout le cout du hardware qui fait la difference.
Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Novembre 07, 2015, 03:35:22 PM
C'est largement plus limité car sur I , Robot, il n'y a aucune limitation de base, comparé à la SNES.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Novembre 07, 2015, 05:34:13 PM
arrete de chouiner et console (arcade) toi avec ca  :roll:


https://youtu.be/ogsUi5I2Rf0


edit: oui y a Wonder Boy et Out Run dedans  :o
Titre: Re : Hardcore Retrogaming
Posté par: Yo Riso le Décembre 13, 2015, 09:46:07 AM
Hey pour les fêtes !  Un p'tit TOP50 MSX2, ça vous dit !?

J'espère que ce dernier vous fera découvrir ou redécouvrir une partie des meilleurs jeux MSX, bon je n'ai pas la prétention de vous proposer la liste ultime et absolue, mais j'espère qu'elle aura le mérite de vous faire passer un bon moment.

http://www.youtube.com/watch?v=usMQho6FrcA

Merci à la communauté du site de http://msxvillage.fr (http://msxvillage.fr) , sans quoi le démarrage aurait été plus laborieux. Parce qu'après tout, j'étais loin de savoir à quoi m'attendre en commençant ce TOP si particulier. ;)

Bonnes fêtes à toutes et à tous !

Oh et j'allais oublier...merci surtout à Django pour ses traductions non officielles.Retrouvez d'ailleurs une partie de son travail ici :

http://traf.romhack.org/?p=groupes&gid=14 (http://traf.romhack.org/?p=groupes&gid=14)

ainsi que la plupart des patchs de traductions par ordre alphabétique ici :
http://www.passionmsx.org/modules/mydownloads/viewcat.php?cid=72&min=100&orderby=titleA&show=10 (http://www.passionmsx.org/modules/mydownloads/viewcat.php?cid=72&min=100&orderby=titleA&show=10)
ou ici:
http://www.romhacking.net/?page=translations&platform=19&languageid=12&perpage=50&startpage=1 (http://www.romhacking.net/?page=translations&platform=19&languageid=12&perpage=50&startpage=1)
allez et un petit dernier pour la route :
http://forum.legendra.com/index.php?/topic/4259-patches-de-trad-rpg/ (http://forum.legendra.com/index.php?/topic/4259-patches-de-trad-rpg/)

et si vous recherchez les plus grosses database sur msx vous avez tout d'abord :

http://www.generation-msx.nl/software (http://www.generation-msx.nl/software)

et bien sûr le saint des saints :

http://msx.jpn.org/tagoo/search.cgi (http://msx.jpn.org/tagoo/search.cgi)

et aussi deux sites de passionnés passionnants dont un qui est issue d'un membre du site http://msxvillage.fr

http://mymsx2.free.fr/menu2_msx.html (http://mymsx2.free.fr/menu2_msx.html)

et j'en oublie, tellement car il y a en réalité une multitude de site traitant du msx :)
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Décembre 13, 2015, 01:59:29 PM
Ce qui me rend dingue avec le MSX2 c'est le fait qu'il y ai toujours pas un vrai support du scrolling (et le scrolling c'est la vie), truc que la NES fait magistralement depuis le debut. Pour des machines qui au final ont toujours eu une aura "console" et visé un peu le marché de Nintendo/Sega ca fait tache.
D'autant que cette fois ils y etaient presque (y a un support hardware du scrolling vertical, le plus facile d'un point de vue hardware, mais pas horizontal). Faut attendre la 3eme génération de GPU avec le MSX2+ pour avoir un vrai support du scrolling.

C'est marrant parce que la Master System et le MSX2 partent exactement de la meme base GPU (le celebre TMS9918 de Texas Instrument qui equipe la SG1000 de Sega et le MSX1) qu'ils ont chacun (Sega et Yamaha) fait evolué dans une direction differente. plus vers le bitmap pour le MSX (Ce qui donne une touche plus micro) et vers le scrolling et le full 4bpp en tile pour la Master System.
On aura une troisieme et ultime evolution de ce GPU facon Sega ou Yamaha avec la Megadrive et le MSX2+ chacun continuant dans sa voie et creusant les differences brouillant l'origine commune. C'est interressant du point de vue hardware de regarder avec le recule cette chronologie de machine qui a un timing assez similaire (SG1000/SMS/MD et MSX1/2/2+).

La grande question. Est ce que le MSX2+ est la machine ultime, le climax de la génération 8bit ou est ce que c'est la PC-Engine? (pas qu'il y ai vraiment debat sur la superiorité de la PCE je pense mais sur le fait que ce soit une machine 8bit)
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Décembre 13, 2015, 03:13:01 PM
Super emission !!  :chat1:


Citation de: upsilandre le Décembre 13, 2015, 01:59:29 PM
Ce qui me rend dingue avec le MSX2 c'est le fait qu'il y ai toujours pas un vrai support du scrolling (et le scrolling c'est la vie), truc que la NES fait magistralement depuis le debut. Pour des machines qui au final ont toujours eu une aura "console" et visé un peu le marché de Nintendo/Sega ca fait tache.
D'autant que cette fois ils y etaient presque (y a un support hardware du scrolling vertical, le plus facile d'un point de vue hardware, mais pas horizontal). Faut attendre la 3eme génération de GPU avec le MSX2+ pour avoir un vrai support du scrolling.

C'est marrant parce que la Master System et le MSX2 partent exactement de la meme base GPU (le celebre TMS9918 de Texas Instrument qui equipe la SG1000 de Sega et le MSX1) qu'ils ont chacun (Sega et Yamaha) fait evolué dans une direction differente. plus vers le bitmap pour le MSX (Ce qui donne une touche plus micro) et vers le scrolling et le full 4bpp en tile pour la Master System.
On aura une troisieme et ultime evolution de ce GPU facon Sega ou Yamaha avec la Megadrive et le MSX2+ chacun continuant dans sa voie et creusant les differences brouillant l'origine commune. C'est interressant du point de vue hardware de regarder avec le recule cette chronologie de machine qui a un timing assez similaire (SG1000/SMS/MD et MSX1/2/2+).

La grande question. Est ce que le MSX2+ est la machine ultime, le climax de la génération 8bit ou est ce que c'est la PC-Engine? (pas qu'il y ai vraiment debat sur la superiorité de la PCE je pense mais sur le fait que ce soit une machine 8bit)

Vraiment intéressant comme remarque, j'aimerai bien en lire + :D
Titre: Re : Hardcore Retrogaming
Posté par: Yo Riso le Décembre 13, 2015, 04:46:43 PM
Ah je dirais que la PC engine a un coup d'avance mais c'est plus vraiment du 8bits, même si c'est pas non plus du 16bits ! ^^
En tout cas merci pour toutes tes précisions techniques, en tout cas je suis tombé amoureux du standard MSX avec 30 ans de retard ;). Maintenant j'ai envie de me pencher sur NEC PC-9801 pour voir à quoi ressemble XAK III sur ce support et aussi tester les jeux tournant sur le X68000.
Titre: Re : Re : Hardcore Retrogaming
Posté par: dunmcl le Décembre 13, 2015, 09:10:34 PM
Citation de: upsilandre le Décembre 13, 2015, 01:59:29 PM
Ce qui me rend dingue avec le MSX2 c'est le fait qu'il y ai toujours pas un vrai support du scrolling (et le scrolling c'est la vie), truc que la NES fait magistralement depuis le debut. Pour des machines qui au final ont toujours eu une aura "console" et visé un peu le marché de Nintendo/Sega ca fait tache.
D'autant que cette fois ils y etaient presque (y a un support hardware du scrolling vertical, le plus facile d'un point de vue hardware, mais pas horizontal). Faut attendre la 3eme génération de GPU avec le MSX2+ pour avoir un vrai support du scrolling.

C'est marrant parce que la Master System et le MSX2 partent exactement de la meme base GPU (le celebre TMS9918 de Texas Instrument qui equipe la SG1000 de Sega et le MSX1) qu'ils ont chacun (Sega et Yamaha) fait evolué dans une direction differente. plus vers le bitmap pour le MSX (Ce qui donne une touche plus micro) et vers le scrolling et le full 4bpp en tile pour la Master System.
On aura une troisieme et ultime evolution de ce GPU facon Sega ou Yamaha avec la Megadrive et le MSX2+ chacun continuant dans sa voie et creusant les differences brouillant l'origine commune. C'est interressant du point de vue hardware de regarder avec le recule cette chronologie de machine qui a un timing assez similaire (SG1000/SMS/MD et MSX1/2/2+).

La grande question. Est ce que le MSX2+ est la machine ultime, le climax de la génération 8bit ou est ce que c'est la PC-Engine? (pas qu'il y ai vraiment debat sur la superiorité de la PCE je pense mais sur le fait que ce soit une machine 8bit)

Tres peu de jeux sur le turbo-r donc je ne saurais dire , mais au dessus du msx2+ y'a surtout le turbo-r de panasonic mais je crois de memoire que c'est un 16bit donc je suis hors sujet ^^ perso la pce est 8bit , sinon faudrais revoir beaucoup de console et ordi niv ref
et vu ce qu'on en a sortit , c'est clairement le must du 8bit
Titre: Re : Re : Hardcore Retrogaming
Posté par: dunmcl le Décembre 13, 2015, 09:14:01 PM
Citation de: Yo Riso le Décembre 13, 2015, 04:46:43 PM
Ah je dirais que la PC engine a un coup d'avance mais c'est plus vraiment du 8bits, même si c'est pas non plus du 16bits ! ^^
En tout cas merci pour toutes tes précisions techniques, en tout cas je suis tombé amoureux du standard MSX avec 30 ans de retard ;). Maintenant j'ai envie de me pencher sur NEC PC-9801 pour voir à quoi ressemble XAK III sur ce support et aussi tester les jeux tournant sur le X68000.

fais gaffe pour le x68000 , si tu met la main dans l'engrenage tu es foutu , j'en sais quelque chose...et ton porte monnaie aussi , mais çà c'est pas grave
par contre attention la machine est tres fragile et faut l'entretenir , surtout si tu sais pas d'ou elle viens (faut direct changer tous les condo suivant le modele)
Titre: Re : Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Décembre 13, 2015, 09:46:14 PM
Citation de: dunmcl le Décembre 13, 2015, 09:10:34 PM
Tres peu de jeux sur le turbo donc je ne saurais dire , mais au dessus du msx2+ y'a surtout le turbo-r de panasonic mais je crois de memoire que c'est un 16bit donc je suis hors sujet ^^ perso je dirais la pce , en tout cas ce que les programeur en on sortie est le mieux que j'ai vu en 8bit
oui le turbo ce n'est plus le Z80
En fait grossierement ce qu'on appele les 8bit ca se résume a ces 2 enormes familles de machines equipés soit d'un CPU Z80 soit d'un CPU 6502 et qui englobe des dizaines de machines differentes (quasiment toutes les machines de l'epoque). Les derniers representants de ces familles sont effectivement le MSX2+, la PCE et... la GX4000 qui doit etre vraiment la dernière (je compte pas les portables). On peut meme compter la SupergrafX qui est une PCE avec 2 GPU.
Titre: Re : Re : Re : Re : Hardcore Retrogaming
Posté par: dunmcl le Décembre 13, 2015, 10:20:27 PM
Citation de: upsilandre le Décembre 13, 2015, 09:46:14 PM
oui le turbo ce n'est plus le Z80
En fait grossierement ce qu'on appele les 8bit ca se résume a ces 2 enormes familles de machines equipés soit d'un CPU Z80 soit d'un CPU 6502 et qui englobe des dizaines de machines differentes (quasiment toutes les machines de l'epoque). Les derniers representants de ces familles sont effectivement le MSX2+, la PCE et... la GX4000 qui doit etre vraiment la dernière (je compte pas les portables). On peut meme compter la SupergrafX qui est une PCE avec 2 GPU.

voir GX4000 a cote de msx2+,psc,et supergrafx , çà fait qand meme tout drole lol
Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Décembre 13, 2015, 10:26:28 PM
1ere console régressive de l'histoire.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Décembre 13, 2015, 10:53:42 PM
C'est sur que quand tu lis une chronologie elle apparait comme un bug en venant apres la Megadrive, SupergrafX et NeoGeo. C'etait un peu la strategie de la Wii mais sans les arguments.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Décembre 13, 2015, 11:09:13 PM
D'ailleurs je vous met la chronologie perso que je m'etais faites y a pas mal de temps si jamais vous avez des truc a corriger ou ajouter (j'ai mis surtout les machiens qui m'intéresse moi), j'ai fais parfois pas mal de recherche. Y a certaines machines tres difficile a dater comme l'Astrocade, la Creativision (tres compliqué, pas mal d'information erroné) ou justement les MSX (et surtout MSX2) car c'est des standard donc sur le MSX ca m'intéresse d'avoir une chronologie précise des premieres machines commercialisé.
Je vous fais le copier-coller


CitationLes consoles de salons cannoniques: (+1millions, +100 jeux)
- Oct 1977: Atari 2600 VCS d'Atari
- Jul 1978: Odyssey2 (Videopac) de Magnavox (Philips)
- Dec 1979 en test market puis 1980: Intellivision de Mattel
- Aou 1982: ColecoVision de CBS Coleco
- Jul 1983: Famicom / NES de Nintendo
- Oct 1985: Mark 3 / Master system de Sega
- Oct 1987: PC-Engine / TurboGrafx  de NEC
- Oct 1988: Megadrive / Genesis de Sega
- Avr 1990: NeoGeo de SNK
- Nov 1990: Super Famicom / SNES de Nintendo
- Avr 1993: 3DO de Panasonic
- Nov 1994: Saturn de Sega
- Dec 1994: Playstation de Sony
- Jun 1996: Nintendo 64 de Nintendo
- Nov 1998: Dreamcast de Sega
- Mar 2000: Playstation 2 de Sony
- Sep 2001: Gamecube de Nintendo
- Nov 2001: Xbox de Microsoft
- Nov 2005: Xbox 360 de Microsoft
- Nov 2006: Playstation 3 de Sony
- Nov 2006: Wii de Nintendo
- Nov 2012: WiiU de Nintendo
- Nov 2013: Playstation4 de Sony
- Nov 2013: Xbox one de Microsoft

L'intégral:
- 1961-1962: Spacewar, debut projet - premiere version
- 1966-1968: Brown box, debut projet - version final
- Sep 1971: Galaxy game
- Nov 1971: Arcade computer space
- Mai 1972: Odyssey de Magnavox en demonstration dans divers lieu public, Bushnell s'y rend le 24
- Aou 1972: Odyssey de Magnavox commercialisé
- Nov 1972: Arcade Pong
- Dec 1975: 1er Pong d'Atari (seal)
- Aou 1976: Channel F de fairchild
- Jan 1977: Studio2 de RCA
- Jun 1977: apple II
- Oct 1977: Atari 2600 VCS
- Dec 1977: Professional Arcade de Bally (Astrocade) en commande
- 1er trim 1978: Professional Arcade de Bally (Astrocade) distribution des commandes
- Jul 1978: Odyssey2 (Videopac) de Magnavox (Philips)
- Nov 1979: TI-99/4 de Texas Instrument
- Nov 1979: Atari 800
- Oct 1979: Microvision de MB
- Dec 1979 : Intellivision de Mattel en test market dans une ville de californie
- Jan 1980:  Intellivision de Mattel commercialisation national
- Avr 1980: Game&Watch
- Jun 1981: TI-99/4A de Texas Instrument
- Aou 1981: PC IBM 5150 (pour les pro)
- Debut 1982: Creativision de VTech a HongKong, un peu plus tard au japon/europe
- Avr 1982: ZX Spectrum
- Aou 1982: ColecoVision de CBS Coleco
- Aou 1982: Commodore 64 
- Oct 1982: Vectrex de General Consumer Electric 
- Dec 1982: Atari 5200
- Jul 1983: SG-1000 de Sega
- Jul 1983: Famicom / NES de Nintendo
- Oct 1983: MSX
- Mar 1984: IBM PCjr
- Jun 1984: Amstrad CPC 464
- Jun 1985: Atari ST
- Jul 1985: Amiga 1000 de Commodore
- Aou 1985: Amstrad CPC 6128
- Oct 1985: Mark III / Master System de Sega
- 1985/1986: MSX2
- Jan 1986: Atari 7800 (test market jun 1984)
- Mar 1987: Sharp X68000
- Jun 1987: Archimede de Acorn
- Oct 1987: PC-Engine / TurboGrafx  de NEC
- Oct 1987: Amiga 500 de Commodore
- 1988: MSX2+
- Oct 1988: Megadrive / Genesis de Sega
- Dec 1988: CD-ROM² de NEC
- Avr 1989: Gameboy de Nintendo
- Oct 1989; Lynx d'Atari
- Nov 1989: SupergraphX de NEC
- Avr 1990: NeoGeo de SNK en location
- Jun 1990: NeoGeo de SNK a la vente
- Sep 1990: GX-4000 d'Amstrad
- Oct 1990: Game Gear de Sega
- Nov 1990: Super Famicom / SNES de Nintendo
- Dec 1990: PC-Engine GT de NEC
- Dec 1991: CD-I de Philips
- Dec 1991: MegaCD de Sega
- Fev 1993: FM Towns de Marty
- Avr 1993: 3DO de Panasonic
- Sep 1993: Amiga CD32 de Commodore
- Oct 1993: LaserActive de Pioneer
- Nov 1993: Jaguar d'Atari
- Sep 1994: Playdia de Bandai
- Nov 1994: Saturn de Sega
- Nov 1994: 32X de Sega
- Dec 1994: Playstation de Sony
- Dec 1994: PC-FX de NEC/Hudson Soft
- Jul 1995: Virtual Boy de Nintendo
- Oct 1995: Nomad de Sega
- Dec 1995: Pippin de Apple/Bandai
- Jun 1996: Nintendo 64 de Nintendo
- Sep 1997: Game.com de Tiger
- Oct 1998: Neo-Geo Pocket de SNK
- Nov 1998: Dreamcast de Sega
- Mar 1999: WonderSwan de Bandai
- Mar 2000: Playstation 2 de Sony
- Mar 2001: Nuon de Samsung/toshiba
- Mar 2001: Gameboy Advance de Nintendo
- Sep 2001: Gamecube de Nintendo
- Nov 2001: Xbox de Microsoft
- Oct 2003: N-Gage de Nokia
- Nov 2004: Nintendo DS
- Dec 2004: PSP de Sony
- Nov 2005: Xbox 360 de Microsoft
- Nov 2006: Playstation 3 de Sony
- Nov 2006: Wii de Nintendo
- Fev 2011: 3DS de Nintendo
- Dec 2011: PS Vita de Sony
- Nov 2012: WiiU de Nintendo
- Nov 2013: Playstation4 de Sony
- Nov 2013: Xbox one de Microsoft
Titre: Re : Hardcore Retrogaming
Posté par: chou le Décembre 14, 2015, 06:38:39 AM
Bon je ne suis pas de ceux qui pourront donné son grain sel a une tel liste mais je peux te dire un grand SUPER !

C'est tres intéressant et surtout utile pour plein de chose ( une escale ou alors plein autre situation ) , en tout cas pour moi , ça m'aide.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Décembre 14, 2015, 06:21:32 PM
Une bonne chronologie c'est toujours super utile. C'est pour ca que je m'en suis fait une car j'en trouvais pas a mon gout.


Les 2 grandes familles 8bit.

- La famille 6502 debute avec l'Atari 2600 en 1977 et termine avec la SupergrafX en 1989 avec au milieu de ca la NES.
Coté micro ca sera AppleII, Atari800, C64, Oric... et coté portable on va citer la Lynx.

- La famille Z80 debute avec l'Astrocade en 1978  et termine avec la GX4000 en 1990 avec au milieu la Master System.
Coté micro ca sera ZX-Spectrum, CPC, MSX, PC-88... et coté portable on va citer la Gamegear

Choisissez votre camp
Titre: Re : Re : Hardcore Retrogaming
Posté par: dunmcl le Décembre 14, 2015, 11:52:07 PM
Citation de: upsilandre le Décembre 14, 2015, 06:21:32 PM
Une bonne chronologie c'est toujours super utile. C'est pour ca que je m'en suis fait une car j'en trouvais pas a mon gout.


Les 2 grandes familles 8bit.

- La famille 6502 debute avec l'Atari 2600 en 1977 et termine avec la SupergrafX en 1989 avec au milieu de ca la NES.
Coté micro ca sera AppleII, Atari800, C64, Oric... et coté portable on va citer la Lynx.

- La famille Z80 debute avec l'Astrocade en 1978  et termine avec la GX4000 en 1990 avec au milieu la Master System.
Coté micro ca sera ZX-Spectrum, CPC, MSX, PC-88... et coté portable on va citer la Gamegear

Choisissez votre camp

meme si je porte la master system dans mon coeur , quand tu as d'un cote la apple2/pce  /famicom / superfx , la messe est dite pour moi
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Décembre 16, 2015, 01:53:46 PM
Oui c'etait un faux un choix, la famille 6502 explose tout, elle contient toutes les machines historiques.
Pourtant c'est pas parce que le 6502 est un meilleur CPU (meme si moi j'ai un faible pour ce CPU), il est meme tres archaique mais c'est vrai qu'il a toujours eu un rapport cout/perf imbattable et qu'il s'est toujours retrouvé dans des machines de rupture ou il etait accompagné de chips innovant et ingénieux alors que le Z80 c'est toujours retrouvé accompagné de chip générique sans personnalité. Y a la Master System qui sort un peu du lot car Sega avait un peu bosser sur le GPU.
Titre: Re : Hardcore Retrogaming
Posté par: Yo Riso le Décembre 16, 2015, 11:34:47 PM
J'ai un faible pour l'atari 800 XL et le C64/C128 , en ce moment je me refais grâce aux émulateurs toute la période fin 85 / début 86, j'analyse tout les meilleurs jeux mois après mois sur chaque machine de cette période, de l'exelvision à l'oric en passant par l'atari 130 XE, c'est le chant du signe du 8 bits et l'essor du 16 bits, et j'irai peut être jusqu'au FM Town, j'en ai pour des années à tout couvrir, mais c'est un régal.

Et merci pour ta liste, c'est un pense bête qui remet les choses en perspective.
Titre: Re : Re : Hardcore Retrogaming
Posté par: dunmcl le Décembre 17, 2015, 12:24:45 PM
Citation de: Yo Riso le Décembre 16, 2015, 11:34:47 PM
J'ai un faible pour l'atari 800 XL et le C64/C128 , en ce moment je me refais grâce aux émulateurs toute la période fin 85 / début 86, j'analyse tout les meilleurs jeux mois après mois sur chaque machine de cette période, de l'exelvision à l'oric en passant par l'atari 130 XE, c'est le chant du signe du 8 bits et l'essor du 16 bits, et j'irai peut être jusqu'au FM Town, j'en ai pour des années à tout couvrir, mais c'est un régal.

Et merci pour ta liste, c'est un pense bête qui remet les choses en perspective.

Le fm town est une superbe machine , jamais utiliser dans ses dernier retranchement helas , mais c'est clair que tu n'as pas finit parceque le fmtown c'est 32bit ^^
Titre: Re : Hardcore Retrogaming
Posté par: Yo Riso le Décembre 17, 2015, 06:35:11 PM
Ouais je vais couvrir chaque mois de fin 85 à 93, j'en ai pour 6/7 ans si j'arrive à couvrir un mois par mois, mais j'ai déjà deux mois de retard là, je suis bloqué à octobre 85 pour l'instant ;). Et comme tu peux voir j'irai pas au dessus de 32 bits enfin je pense pas.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Décembre 17, 2015, 07:00:45 PM
t'en est a octobre 85 le probleme c'est que ca explose a partir de 86 :D (en tout cas sur console l'histoire commence vraiment la)
Titre: Re : Re : Hardcore Retrogaming
Posté par: dunmcl le Décembre 17, 2015, 10:56:03 PM
Citation de: upsilandre le Décembre 17, 2015, 07:00:45 PM
t'en est a octobre 85 le probleme c'est que ca explose a partir de 86 :D (en tout cas sur console l'histoire commence vraiment la)

d'ailleur en parlant fm-towns , il apparais pas sur ton tableau , il devrais etre en 89 , fevrier je crois
et pourquoi fm towns de marty? c'est la fm towns marty , la version console du fm towns , toujours de fujitsu ;)
Titre: Re : Hardcore Retrogaming
Posté par: Yo Riso le Décembre 17, 2015, 11:25:00 PM
Ah ah, bah ça explose déjà de mon point de vue en 85, vu que je considère comme des événements significatifs l'arrivée d'ordinateurs en version 128 comme par exemple le C128, du CPC 6128, de l'ATARI 130 XE, le ZX Spectrum 128,  le TO9 sans oublier l'Oric Stratos, les MSX2 et bien sûr les nouvelles générations comme le 520 ST et l'AMIGA 1000.
Peut être que 250 sorties de jeux par mois en France c'est peu en 85 mais c'est déjà foisonnant de mon point de vue, évidemment la suite ne sera pas en reste ;)
Titre: Re : Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Décembre 18, 2015, 03:01:30 PM
Citation de: dunmcl le Décembre 17, 2015, 10:56:03 PM
d'ailleur en parlant fm-towns , il apparais pas sur ton tableau , il devrais etre en 89 , fevrier je crois
et pourquoi fm towns de marty? c'est la fm towns marty , la version console du fm towns , toujours de fujitsu ;)

merci pour la coquille
Pour ce qui est des micro j'ai essayé de me limiter au strict essentiel , surtout si ils sont innovant niveau hardware ( comme le C64, L'atari 800, l'Amiga et le X68000 voir l'Archimede. Ca c'est les micros qui m'interresse vraiment). Je voulais pas d'une chronologie submergé par les micro (surtout par les PC et ses variantes) et c'est vrai que le FM towns n'evoque pas grand chose pour moi, cela dit c'est une machine qui est quand meme marqué par le jeu video donc je pourrais quand meme la mettre rien que pour ca.
Par contre niveau console comme c'est ce qui m'intéresse j'essaie d'etre plus exhaustif donc je l'ai mis au moins la.

Mais je me dis que je devrais peut etre mettre quand meme la commercialisation des CPU Intel historique pour contextualiser par rapport a l'industrie micro.
Titre: Re : Hardcore Retrogaming
Posté par: Yo Riso le Décembre 25, 2015, 07:20:19 AM
Pourquoi pas, tu dpourrais mettre peut être à partir du 286, et placer aussi un 386, 486 et le pentium 90 par exemple, ça pourrait faire office de balise en effet.

Joyeux Noël à tous ;)
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Janvier 04, 2016, 11:26:18 PM
https://en.wikipedia.org/wiki/Yamaha_YM2151

... Je me plongerai peut-être dans le monde des Sound-chip si je trouve le temps, j'aimerai bien utiliser VOPM...
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Janvier 05, 2016, 12:35:47 AM
le SID et rien d'autre  :o
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Janvier 05, 2016, 09:22:29 PM
Celle de la commodor ?
Je connais pas grand chose, je découvre, c'est passionnant, j'aimerai vraiment savoir utiliser un de ces trucs.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Janvier 05, 2016, 09:54:40 PM
Oui c'est le C64. Le SID c'est la reference du son PSG et a l'epoque c'etait vraiment tres au dessus du lot (on parle de 1982, je saurais meme pas a quoi comparer la situation du coté GPU tellement ca enterrait la concurence), par exemple c'est bien superieur a ce qu'on pouvait avoir dans un Atari ST (y avait juste un defaut de parasitage sur la sortie) ou une Master System. T'avais une resolution 16bit et un grand controle sur les canaux, type de wave, envellope, modulation. A la base c'etait un chip plutot concu pour un synthétiseur qui se retrouve dans un micro ce qui a ravie toute une génération de geek.

La vrai sound chip old-school celle qu'on aime c'est ca, ce sont ces waves purement synthetique (square wave, pulse wave, triangle wave, sawtooth wave, noise) et le SID c'etait le top de ce type de son old-school.
Apres dans la sound chip purement synthetique on peut effectivement inclure aussi la seconde génération avec les son FM qui etait intéressante aussi car toujours purement synthetique sans sampling mais je préfere quand meme la sound chip PSG .

Paradoxalement une square wave c'etait la facon la plus simple de produire numeriquement un son mais en meme temps les transformation de Fournier te dise que dans une square wave y a une infinité d'harmonique (a l'inverse d'un simple son sinusoïdale qui est un son pure, une seul harmonique) , c'est peut etre ca inconsciemment qu'on aime bien aussi.

Si tu veux entendre du SID un bon debut c'est Rub Hubbard mais y a eu beaucoup de compositeur de talent sur le SID (et meme aujourd'hui certain groupe de musique hors jeu video continu d'integrer du SID dans des productions pour faire des clin d'oeil).

https://youtu.be/QE589HrGPkI

https://youtu.be/uDcE94-MVTw


C'est vraiment la que la sound chip a commencé, les outils de musique electronique aussi, la scene demo...


Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Janvier 05, 2016, 10:25:23 PM
Moi avec mes 3 square en chords et mon sawtooth en basse, ça fait pas pareil  :lol:

Je dirai que la sinusoïde, c'est "noble", puisque son harmonique principale est la quinte, soit la note (presque) jamais altérée, du coup elle sonne beaucoup plus "naturelle". C'est pas le cas pour la square, je sais qu'un progression classique (do-la-fa-sol par exemple) sonne fausse parfois. Enfin, d'expérience personnelle, certaines progressions très jolies sur mon piano passait beaucoup moins bien sur Milkytracker...

En tout cas merci beaucoup, c'est vraiment toujours un plaisir de te lire !
Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Janvier 05, 2016, 10:37:42 PM
T'es musicien coca ?
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Janvier 05, 2016, 11:24:02 PM
Ca c'est sur qu'une square wave c'est pas naturel mais c'est aussi tout l'interet  :love:.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Janvier 05, 2016, 11:36:49 PM
d'ailleurs y a quelque jours je m'interressais a l'Atari 7800.
l'Atari 7800 c'est 1986 (4 ans apres le C64) et la partie audio c'est celle de l'Atari 2600 bordel!! (c'est a dire le niveau pré-musical, quand on pouvait faire des sons mais pas avec suffisement de précision pour avoir une gamme de note correct) tout ca pour simplifier la retrocompatibilité.
Et du coup c'est je pense une première historique ou la nouvelle génération (L'Atari 7800) se fait enterré au niveau du son par la précedente (l'Atari 5200 qui elle embarquait le Poke des micro Atari 400/800 qui etait pas mal pour l'epoque de ces micros). C'est comme si la SNES se faisait enterrer par la NES ou la Megadrive par la Master System.
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Janvier 06, 2016, 07:14:46 PM
Quand on écoute l'OST de Journey to Silius on en est pas loin xD

Citation de: pippoletsu le Janvier 05, 2016, 10:37:42 PM
T'es musicien coca ?

oué  :cool:
Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Janvier 06, 2016, 07:15:36 PM
La classe :maldini:
De profession ou en amateur ?
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Janvier 06, 2016, 07:18:53 PM
J'ai 17 ans  :chattriste: Mais j'ai commencé très tôt
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Janvier 06, 2016, 07:26:06 PM
Journey of Silius, Silver surfer... La NES avait une tres bonne chiptune relativement aux standard de l'epoque (tout le monde avait les meme soundchip Texas instrument et General Instrument). Et si tu veux du son FM sur NES y a Lagrange point avec son chip embarqué.
Avec le C64, la NES c'est la sound chip que je préfere.
De toute facon on a vite birfurqué vers le sampling meme si ca a ete par etapes (des assemblages de petits samples avec l'Amiga ou la SNES).
Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Janvier 06, 2016, 07:38:53 PM
Il y a surtout Akumajou Gaiden dont la puce a été virée en Europe et aux US...
Titre: Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Janvier 06, 2016, 08:15:28 PM
Citation de: pippoletsu le Janvier 06, 2016, 07:38:53 PM
Il y a surtout Akumajou Gaiden dont la puce a été virée en Europe et aux US...
Le VRC6 de Konami dans cette cartouche permet juste d'augmenter le nombre de canaux (3 de plus) mais c'est les memes type de waves que ceux de la NES, ca denature pas.
Le VRC7 de Lagrange Point la c'est carrement du son FM sur 6 canaux (le meme chip que pour la Master system jap) donc ca fait un gap assez identifiable.

De toute facon l'audio custom sur NES c'est forcement reservé au Japon car seul la famicom a les pins au niveau du port cartouche pour faire passer l'audio. Le port cartouche de la NES a moins de pins et c'est ca qui a sauté. En plus seul le japon a eu le Famicom disk autre moyen de customiser l'audio NES. Si on ajoute a ca le cas de la Master System alors on peut dire que le Japon a et vraiment privilégié niveau audio a cette epoque 8bit surtout que pour eux c'est un peu la premiere génération de console.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Janvier 06, 2016, 08:59:50 PM
Si Lagrange Point embarque le meme chip que la Master System jap, je viens de decouvrir que Gimmick (un jeu NES qui justement vient d'etre speedruné sur le live AGDQ autre coincidence) embarque un mapper qui lui integre un equivalent du celebre soundchip General Instrument AY-3-8910 qui equipe l'Intellivision, Vectrex, Amstrad , MSX, Atari ST...
Le monde du soundhip etait petit.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Janvier 07, 2016, 04:06:38 PM
ba tiens a 17h c'est le speedrun d'Akumajou et sa chipune custom, décidement  :crazy:
Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Janvier 07, 2016, 04:16:05 PM
Yeah!
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Janvier 07, 2016, 04:30:42 PM
et avec Mr MV  :cool:

http://www.twitch.tv/gaminglive_powerplay
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Janvier 07, 2016, 05:11:49 PM
Faut savoir que Konami a ete le premier au Japon a integrer un mapper dans une cartouche Famicom, avant meme Nintendo.
Au Japon les tiers historiques de la Famicom se sont vite inflitrer dans une breche et se sont mis a fabriquer leur propre cartouche (et du coup aussi leurs propres mappers) car y avait pas de puce de verouillage obligatoire made in nintendo .
Quand Nintendo a lancer la NES au US ils ont rectifier le tire et verouiller les cartouches et obligé que la production passe par eux. Ils ont aussi crée toute une serie de mapper tres utilisé (les MMC) surtout au US puisque les tiers n'avait pas le choix (je sais pas trop quelles etaient les passe-droit de ce coté)

Du coup un mapper comme le VRC6 de Konami qui integre aussi de l'audio custom et qu'on trouve dans Akumajou densetsu meme si le port cartouche de la NES avait ete bien cablé ils n'auraient pas pu l'utiliser.
Meme si ils ne pouvaient pas garder les pistes audio originels ils auraient sans doute préferé garder leur mapper VRC6 pour Castlevania 3 US si ils avaient pu mais ils ont du prendre un mapper Nintendo et se sont porter sur le plus gros mapper Nintendo le MMC5 ( arrivé en fin de vie, tres peu utililisé) sans doute car c'est le seul qui permettait d'emuler le bank switching du VRC6 qui avait une granularité fine.
Mais l'ironie de cette histoire c'est que le MMC5 embarque aussi une partie audio custom (le seul des MMC) et qui est justement tres proche du VRC6 donc y aurait eu moyen de quand meme préserver le son original si le port cartouche NES etait cablé comme la Famicom.


Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Janvier 07, 2016, 05:17:01 PM
La race sur Akumajou commence. Mr MV en tant que musicien a présenté le jeu en evoquant le VRC6 de la version jap :)
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Janvier 08, 2016, 07:13:40 PM
Ha oui la différence est vraiment impressionnante  :ouch:

https://www.youtube.com/watch?v=7v9339JUK3U
Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Janvier 08, 2016, 07:48:10 PM
Ah je pensais que la Run était déjà en vod :(
Titre: Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Janvier 08, 2016, 08:21:50 PM
Citation de: pippoletsu le Janvier 08, 2016, 07:48:10 PM
Ah je pensais que la Run était déjà en vod :(


https://youtu.be/bG-ot_7hcnY
Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Janvier 08, 2016, 08:39:10 PM
Excellent merci
Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Janvier 09, 2016, 12:28:56 PM
Le mec qui remporte la Run :maldini:
Le GG est total.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Janvier 09, 2016, 12:56:52 PM
Ce soir a partir de 22h c'est le moment du show TASBot (du TAS mais toujours de facon detourner pour faire des truc originaux et spectatulaires). Ca c'est le truc que je manquerais pas
4 demonstrations Tasbot qui vont donc etre encore completement delire j'imagine.

22:04   TASBot vs Humans -- Mystery Game
22:24   TASBot plays Brain Age
22:54   TASBot plays Super Mario Bros. 3
23:09   TASBot takes Total Control of...

Juste apres c'est un speedrun Zela link to the past avec MV et ensuite c'est Bloodborne. La soirée ultime.

Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Janvier 10, 2016, 01:09:13 PM
Hier on a donc eu le droit a plus de 2 heures de TASBot, c'etait un régale. Y a eu 6 demonstrations finallement.
Je commence par les TAS classiques qui consistent donc a speedrunner le jeu de la facon la plus extreme possible, audela des capacités humaines. On en a eu 2 et c'etait plutot tres reussit.

Mario Kart 64

https://youtu.be/YRMwiqRmXkI


Et Zelda 2

https://youtu.be/df2XWF3EYlM




Puis on a eu aussi 2 TAS de "total control" qui est une categorie assez recente et rare qui consiste a trouver une faille pour corrompre la memoire et réussir a injecté du "code arbitraire" c'est a dire en gros pouvoir recoder comme on veut le jeu mais toujours avec de simple commande au pad (car c'est ca le TAS, on intéragit avec le jeu qu'au travers des inputs du pad comme un joueur).
C'est quelque chose dont j'ai deja parlé plusieurs fois avec l'exemple de Super Mario World qui est pour l'instant la réference du total control et qu'on revoit tout les ans a l'AGDQ. Il etait encore la cette année (avec un "total control" qui a consisté a coder un mario maker dans super mario world) mais surprise ils ont enfin trouvé une nouvelle cible au "total control" avec Super Mario Bros 3 et donc cette fois sur NES.


Super Mario World

https://youtu.be/ne3monibrUA


Super Mario Bros 3

https://youtu.be/grYq5q_Ezpo





Puis avec TASbot y a toujours aussi les inclassables et la aussi on en a eu 2.
On a eu le droit a une race tres original "humans vs TASbot". C'est un jeu NES homebrew développé en 2015 et calibré pour cette epreuve sur lequel s'est entrainé 2 speedrunners pendant quelques semaines (3 semaines je crois) et le jour de l'epreuve ils ont aussi donné le jeu a 2 teams de tasseur qui ont eu 4 heures pour produire un TAS. Ensuite au moment de la race y a eu confrontation entre les speedrunner et les TAS. C'est l'un des TAS qui a gagné a 5 secondes devant un speedrunner. C'etait serré.

https://youtu.be/cRHQ17RNxuk



Et l'autre inclassable c'est une demonstration de TASbot sur Brain Age DS qui consiste a résoudre les calcules en faisant un dessin plutot qu'ne mettant le bon chiffre et manipuler le systeme de reconnaissance de chiffre pour valider quand meme la reponse.
Tout ca n'est ici qu'un pretexte pour faire des blagues, c'est pas du speedrun, et effectivement c'est assez drole a voir. C'est aussi la premiere fois qu'on a un TASbot sur DS. Faut comprendre que TASbot c'est pas du simple TAS par emulateur mais du TAS qu'on balance sur une vrai console par l'intermediaire d'une carte type rasberry je crois et qui est intégré a un R.O.B. (pour le look) et connecté donc au pad de la console. Et donc faire ca sur une DS c'est complexe car les input c'est pas seulement un pad mais aussi le touch screen donc il a fallu cablé TASbot pour qu'il accede aussi aux input du touch screen.

https://youtu.be/j5SZD6X7ZBM






Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Janvier 10, 2016, 01:21:07 PM
Citation de: upsilandre le Janvier 10, 2016, 01:09:13 PM
Faut comprendre que TASbot c'est pas du simple TAS par emulateur mais du TAS qu'on balance sur une vrai console par l'intermediaire d'une carte type rasberry je crois et qui est intégré a un R.O.B. (pour le look) et connecté donc au pad de la console. Et donc faire ca sur une DS c'est complexe car les input c'est pas seulement un pad mais aussi le touch screen donc il a fallu cablé TASbot pour qu'il accede aussi aux input du touch screen.



ça a pas dût être évident... Du coup il y a pas de re-record ? La RNG existe du coup ? ça a forcément des conséquences sur la manière de faire la TAS non ? Je peux aussi rien y comprendre  :vice: .
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Janvier 10, 2016, 01:36:50 PM
Le TAS c'est la serie d'input final apres tes multiples tentatives quand t'as reussit a manipuler la RNG. Normalement il doit s'executer toujours de la meme facon que ce soit sur l'emulateur ou la vrai console. Mais les emulateurs ne sont jamais parfait du coup la regle maintenant c'est quand meme de valider les TAS par des verifications sur les vrai machines et y a des gens qui s'occupent de faire ce genre de verif (ca fait pas mal de temps quand meme qu'on sait balancer un TAS sur une vrai machine).
Je suis pas spécialiste mais oui y a sans doute des jeux qui ont une RNG qui n'est pas compatible avec du TAS sur une veritable console du coup ca en fait des TAS pas vraiment legit a priori. Mais les TAS sur des machines classique comme la NES, la SNES... sont en grande majorité des TAS verifier sur console. Je pense que les tasseurs ne se contenterait pas d'un TAS sur une machine classique qui ne passerait pas la verif.


Titre: Re : Hardcore Retrogaming
Posté par: pippoletsu le Janvier 10, 2016, 01:47:06 PM
Tout ceci est foutrement passionnant :laporte:
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Janvier 10, 2016, 02:22:34 PM
<<Mhh...Je vois.
Je pensais que certains événements n'étaient pas manipulables et que la TAS étaient donc rejouée jusqu'à ce que cet événement se comporte comme on voudrait qu'il le fasse. Je me trompais donc, comme quoi  :cool:
Encore une fois ce live explicatif de la TAS de SuperMetroïd était vraiment très bien et détaillée, et claire, j'aimerai vraiment retrouvé cette VOD, mais je suis même pas sure qu'elle existe  :cry2: Il me semblait que c'était un In Vino VeriTAS, mais non  :cry2:

Oui c'est sure que c'est passionnant, j'ai souvent voulu m'y mettre, mais ça bouffe tellement plus de temps qu'un simple run à la manette, qui demande beacoup moins de logistique préalable, pour les non initiés comme moi en tout cas.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Janvier 10, 2016, 02:46:47 PM
Le re-record dont tu parle c'est quand tu crée le TAS, tu reviens en arriere, tu change un peu tes input pour modifier la RNG et voir si le changement est favorable mais une fois que t'as finit de construire ton TAS et ta serie d'input la RNG va se comporter chaque fois pareille, c'est le bute du TAS. Le TAS c'est une partition d'input qui une fois (durement) crée peut etre rejouer autant de fois que tu veux en la balancant dans un emulateur (ou sur une vrai machine) ce n'est pas un one-shot dont on garde juste une video en souvenir.

La veritable RNG ca n'existe pas vraiment. A la limite quand t'allume une console tu peux avoir des valeurs random dans la RAM et pas seulement des valeurs nulles, en tout cas c'est ce qui se dit (je sais par exemple que mon emulateur Atari VCS permettait de simuler ca pour mieux simuler le vrai hardware) alors que l'emulateur va plutot mettre des valeurs nulle par defaut donc on pourrait imaginer une RNG qui sur une vrai console avant meme de nettoyer la RAM va tenter de récuperer une valeur random en RAM et avoir une vrai RNG mais j'y crois pas trop. Et puis les devs eux meme n'aime pas je pense avoir une veritable RNG qui se comporte jamais pareille quand tu reproduit exactement une meme situation, pour le debugage c'est vraiment pas terrible donc je crois pas qu'il existe des jeux avec une vrai RNG.

A mon avis le probleme pour les TAS vient plutot de savoir quand démarre l'algo de RNG. Une bonne RNG facile a manipuler par un TAS c'est une RNG qui se lance en meme temps qu'une input (par exemple quand tu fais start pour lancer la partie) donc a partir de la ta RNG sera synchrone avec les inputs et elle reproduira donc toujours la meme chose en TAS.
Par contre une RNG qui se lancerait dès que t'allume la console c'est a mon avis ce qui est problematique car a la limite en TAS sur emulation tu peux esperer reproduire la situation (que la premiere input du TAS arrive toujours au meme moment apres l'allumage virtuel de la machine) mais sur une vrai machine dans ce genre de cas ca me parait tres compliqué a synchroniser donc ca doit etre ce genre de cas qui pose probleme.
C'est ce genre de RNG qui simule le mieux une vrai RNG (sans en etre une) mais encore une fois je pense pas que les devs apprécies ce genre de RNG. Les RNG classique suffisent largement a donner l'illusion y a pas de raisons d'en faire plus. Y a que les TAS qui trahissent la supercherie parce qu'ils ont un controle des inputs a la frame chose impossible pour un joueur.
Titre: Re : Hardcore Retrogaming
Posté par: minikenshin le Janvier 10, 2016, 03:44:30 PM
J'ai vu le TASBot sur brain age hier, c'était extra :)
Titre: Re : Re : Hardcore Retrogaming
Posté par: Coca_Impact le Janvier 10, 2016, 03:50:16 PM
Citation de: upsilandre le Janvier 10, 2016, 02:46:47 PM
Le re-record dont tu parle c'est quand tu crée le TAS, tu reviens en arriere, tu change un peu tes input pour modifier la RNG et voir si le changement est favorable mais une fois que t'as finit de construire ton TAS et ta serie d'input la RNG va se comporter chaque fois pareille, c'est le bute du TAS. Le TAS c'est une partition d'input qui une fois (durement) crée peut etre rejouer autant de fois que tu veux en la balancant dans un emulateur (ou sur une vrai machine) ce n'est pas un one-shot dont on garde juste une video en souvenir.

Oué je sais j'ai lu Wikipedia entre temps :D

Citation de: upsilandre le Janvier 10, 2016, 02:46:47 PM
La veritable RNG ca n'existe pas vraiment. A la limite quand t'allume une console tu peux avoir des valeurs random dans la RAM et pas seulement des valeurs nulles, en tout cas c'est ce qui se dit (je sais par exemple que mon emulateur Atari VCS permettait de simuler ca pour mieux simuler le vrai hardware) alors que l'emulateur va plutot mettre des valeurs nulle par defaut donc on pourrait imaginer une RNG qui sur une vrai console avant meme de nettoyer la RAM va tenter de récuperer une valeur random en RAM et avoir une vrai RNG mais j'y crois pas trop. Et puis les devs eux meme n'aime pas je pense avoir une veritable RNG qui se comporte jamais pareille quand tu reproduit exactement une meme situation, pour le debugage c'est vraiment pas terrible donc je crois pas qu'il existe des jeux avec une vrai RNG.

A mon avis le probleme pour les TAS vient plutot de savoir quand démarre l'algo de RNG. Une bonne RNG facile a manipuler par un TAS c'est une RNG qui se lance en meme temps qu'une input (par exemple quand tu fais start pour lancer la partie) donc a partir de la ta RNG sera synchrone avec les inputs et elle reproduira donc toujours la meme chose en TAS.
Par contre une RNG qui se lancerait dès que t'allume la console c'est a mon avis ce qui est problematique car a la limite en TAS sur emulation tu peux esperer reproduire la situation (que la premiere input du TAS arrive toujours au meme moment apres l'allumage virtuel de la machine) mais sur une vrai machine dans ce genre de cas ca me parait tres compliqué a synchroniser donc ca doit etre ce genre de cas qui pose probleme.
C'est ce genre de RNG qui simule le mieux une vrai RNG (sans en etre une) mais encore une fois je pense pas que les devs apprécies ce genre de RNG. Les RNG classique suffisent largement a donner l'illusion y a pas de raisons d'en faire plus. Y a que les TAS qui trahissent la supercherie parce qu'ils ont un controle des inputs a la frame chose impossible pour un joueur.
:hmm: Bien sure Bien sure...

D'ailleurs, je viens de parcourir deux trois forums sur Hourglass qui est un outil de TAS pour les jeux PC 32bits...C'est intéressant, ça me tenterait bien de bricoler deux trois trucs avec.
Tu sais des trucs sur L'Hexediting ? j'ai juste entendu que c'était l'ancienne façon de faire une TAS, mais j'ai pas tellement trouvé plus...J'ai déjà utiliser une éditeur Hexadecimal en cours de SI, mais j'avoue que j'ai du mal à faire le lien avec la TAS...C'est plutôt évident de se dire q'une valeur hexadécimal sur 2 bits correspond à un input manette, mais j'arrive pas du tout à me figurer un repère temporel...
Titre: Re : Hardcore Retrogaming
Posté par: Yo Riso le Janvier 14, 2016, 01:26:53 AM
Merci pour le partage des vidéos upsilandre ;)

Titre: Re : Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Janvier 14, 2016, 04:37:02 PM
Citation de: Coca_Impact le Janvier 10, 2016, 03:50:16 PM
D'ailleurs, je viens de parcourir deux trois forums sur Hourglass qui est un outil de TAS pour les jeux PC 32bits...C'est intéressant, ça me tenterait bien de bricoler deux trois trucs avec.
Tu sais des trucs sur L'Hexediting ? j'ai juste entendu que c'était l'ancienne façon de faire une TAS, mais j'ai pas tellement trouvé plus...J'ai déjà utiliser une éditeur Hexadecimal en cours de SI, mais j'avoue que j'ai du mal à faire le lien avec la TAS...C'est plutôt évident de se dire q'une valeur hexadécimal sur 2 bits correspond à un input manette, mais j'arrive pas du tout à me figurer un repère temporel...

A la base le TAS est une discipline qui a mon avis est apparu avec l'arrivé des fichiers "movie" dans les emulateurs qui te permettaient d'enregistrer ta partie de jeu et de la rejouer de la meme facon que certain jeu moderne propose des replays. Et ce genre de fonction "replay" ne produit pas un fichier video , ca enregistre juste les inputs du joueur a chaque frame pour rejouer ensuite la partition d'input ce qui donne le replay avec donc un tout petit fichier source (au lieu d'un gros fichier video).

Donc a mon avis le TAS est venu d'un detournement de ce genre de fichier. Certain on du editer ce genre de fichier "replay" ou "movie" des emulateurs pour changer a la main les inputs enregistrer dans le fichier et travailler ainsi la partition jusqu'a ce qu'elle soit parfaite.
Et en général quand tu veux editer a la main un fichier au format inconnu de type binaire tu le fait avec un editeur Hexadecimal. Par exemple pour hacker une ROM tu l'ouvres avec un fichier hexa, L'hexadecimal reste la facon la plus commode de visualiser des octets (car chaque caractère hexa correspond exactement a un groupe de 4bit, et comme y a que 16 configuration differente d'un groupe de 4bit on finit par connaitre et reconnaitre facilement quelle configuration de 4bit donne quelle caractère hexa).

Le plus probable est qu'un fichier "movie" ne soit qu'une succession d'octets ou chaque octet correspondait a l'etat du pad pour chaque frame (l'etat de chaque bit de l'octet correspondant a l'etat d'un bouton par exemple). Donc en modifiant un octet tu modifias l'etat des boutons a cette frame la (par exemple si tu modifie le 10 000eme octet du fichier movie alors tu va modifier l'etat du pad a la frame 10 000. Bon en vrai y a forcement un header en debut de fichier donc faut ajouter la taille du header dans le calcule d'indexation). Un editeur hexa te permet de visualiser plus facilement ces octets (et en les numérotant pour savoir ou t'es).

Mais y a aussi des emulateurs qui je crois produisaient des fichiers "movie" au format texte tout simplement en utilisant un caractère ascii pour chaque bouton (par exemple "D" pour down, "U" pour up...) et le fichier etait alors une succession de caractere ascii (ou d'absence de caractère exprimé par l'utilisation d'un caractère neutre) que tu peut alors editer et visualiser avec un simple editeur de texte type notepad (surtotu pas un editeur hexa) et donc plus facile a visionner et a modifier mais du coup ca prend plus de place (un octet par bouton au lieu d'un seul bit). 

Aujourd'hui je pense qu'il y a des emulateurs avec des fonctions TAS dédié bien plus pratique sans devoir passer par une edition manuel des fichiers movies (meme si ca doit probablement encore se faire par exemple pour coller bout a bout plusieurs bout de fichier movie si plusieurs TASeur on reussit a se partager le travaille sur des levels differents qu'il faut assembler ensuite pour produire le TAS final). Mais a la fin c'est toujours la meme chose que tu produit, un fichier de type "movie" qui n'est qu'une bete succession d'octets représentant chacun l'etat du pad (ou d'un seul bouton si c'est du texte), ton TAS c'est ce fichier que tu peux partager et que n'importe qui peut modifier avec n'importe quelle editeur de texte ou hexa. 
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Janvier 14, 2016, 07:04:34 PM
Le retour de Rob Hubbard sur le meilleur soundchip de tout les temps, la classe  :cool:


https://youtu.be/xNAZFUyxQ3M
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Janvier 14, 2016, 07:36:00 PM
Avec un simple C64 et une simple cartouche 16Ko  :love:

https://youtu.be/7I1zqkyIYC4


Le C64 c'est vraiment la machine que je regrette de pas avoir connu (probablement a cause du CPC). Dans la categorie micro je le place au dessus de tout les autres meme Amiga, X68000, MSX...

Titre: Re&nbsp;: Hardcore Retrogaming
Posté par: pippoletsu le Janvier 14, 2016, 08:12:02 PM
Doug serait d'accord toi. Pas Dunn par contre.
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Janvier 14, 2016, 08:15:58 PM
Citation de: upsilandre le Janvier 14, 2016, 07:36:00 PM
Avec un simple C64 et une simple cartouche 16Ko  :love:

https://youtu.be/7I1zqkyIYC4


Le C64 c'est vraiment la machine que je regrette de pas avoir connu (probablement a cause du CPC). Dans la categorie micro je le place au dessus de tout les autres meme Amiga, X68000, MSX...


Impressionnant  :laporte:

Citation de: upsilandre le Janvier 14, 2016, 07:04:34 PM
Le retour de Rob Hubbard sur le meilleur soundchip de tout les temps, la classe  :cool:


https://youtu.be/xNAZFUyxQ3M

Genesis Porject...Mais je connais ça !  :vice:
https://www.youtube.com/watch?v=N2s04YYO0Wg
Titre: Re : Re&nbsp;: Hardcore Retrogaming
Posté par: dunmcl le Janvier 14, 2016, 10:00:38 PM
Citation de: pippoletsu le Janvier 14, 2016, 08:12:02 PM
Doug serait d'accord toi. Pas Dunn par contre.

Non mais je peux comprendre  :catwink:
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Janvier 15, 2016, 04:32:22 PM
J'aurais bien aimé connaitre aussi l'Atari 800, c'etait une belle machine, 1979 donc vraiment la préhistoire mais un CPU plus puissant que le C64 et une partie sonore et graphique innovante qui n'a pas ete négligé ce qui est exceptionnel pour un micro de l'epoque (et meme audela) et probablement l'un des derniers moment d'inspiration d'Atari ( a coté meme l'Atari ST etait tres générique technologiquement), il fait d'ailleurs partie des micro ou y a une scene demo, c'est plutot révélateur.

Mais il semble que des machines comme l'Atari 800 ou le C64 sont le resultat de projet initiaux de machine de gaming (console, arcade) qui ont muté vers des micro en court de développement car plus dans l'aire du temps. Je pense que ce ne sont pas des cas isolé et qui explique que certain micro comme ceux la se sont largement demarqué par leur GPU et SPU tres gaming relativement aux centaines d'autre models de micro (qui se résume en général a un CPU + plein de RAM et un clavier).
Mais la génèse de ces machines reste quand meme assez flou (pareille pour le X68000) et ca devient meme inquietant avec le temps qui passe de voir les trous qu'il y a quand meme dans l'histoire de toutes ces machines.

A l'inverse on a eu aussi pas mal de console qui voulait se faire passer pour des micro. L'exemple le plus grotesque c'est l'Odyssey2/Videopac fournit avec son clavier intégré qui n'a jamais servie et a raison, c'est aussi la machine la plus mal adapter a l'afficher de texte de tout les temps meme parmis les consoles (a part peut etre la VCS).


Titre: Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Janvier 16, 2016, 08:02:04 PM
Citation de: upsilandre le Janvier 14, 2016, 07:04:34 PM
Le retour de Rob Hubbard sur le meilleur soundchip de tout les temps, la classe  :cool:


https://youtu.be/xNAZFUyxQ3M

Je l'ecoute en boucle  :roll2:, y a rien a faire, chaque fois que je tombe sur du Rob Hubbard ca fonctionne sur moi a tout les coup, pourtant j'ai aucun affect nostalgique avec. Et on reconnait bien le style, meme 30 ans apres.
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Janvier 16, 2016, 09:37:18 PM
C'est le Coltrane de la square wave  :cool:
Titre: Re : Hardcore Retrogaming
Posté par: Yo Riso le Janvier 21, 2016, 09:57:16 AM
C'est le papa des musique de Populous aussi ^^
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mars 05, 2016, 01:17:28 PM
J'aime bien cette chaine, des comparatif HD 60fps tous les jours, aujourd'hui Daytona, outch :)

https://www.youtube.com/watch?v=xlDPW6Yx3hM



Sinon la je suis en train de me faire entierement Phantasy Star sur Master System. Une version avec la fantrad FR et le son FM de la version jap  :love:
Je suis pas du tout joueur de rpg ni jrpg mais comme pour DQ1 que j'ai fais entièrement, j'aime bien tester les tout premier rpg pour le defi technique que ca representait a l'epoque a cause de l'espace bien trop faible pour cela.

Phantasy Star j'imagine que c'est un jrpg important dans l'histoire. Je crois que c'est le premier jrpg a debarquer en france bien avant les autres car Sega nous a fait une sortie tres rapide apres la sortie japonaise alors que les autres jrpg de l'epoque sur NES (les DQ, FF et compagnie) c'est tout l'inverse, il ne sortait pas du japon donc gros coup pour nous d'autant qu'en France la Master System est particulièrement a son avantage (grace a notre RGB)

En plus avec Phantasy Star Sega tape tout de suite tres fort car ils attaquent direct avec une cartouche 512Ko (bien avant que sa debarque chez les autres rpg NES) sans passer par les etapes intermediaires comme DQ (64Ko puis 128Ko puis 256Ko puis 384Ko puis 512Ko...) et avec de la compression du coup comme la principale contrainte technique des jrpg c'est de loin la quantité de donnée c'est tout de suite une clac technique pour l'epoque.
On a plein de belle illustration full screen pour les differentes zones de combat ou de dialogue (par exemple sur DQ1 y avait qu'une seul illustration pour tous le jeu et pas full screen), des petites animations pour les monstres meme gros, une bande son riche.
Et surtout on retient les donjons 3D en first view reprit de la tradition des rpg occidentaux (ultima, wizardry) mais cette fois meme si les deplacements dans les donjons sont toujours par "case" comme ces anciens jeux cette fois c'est animé (a 10fps translation et rotation) et ca meme Dungeon Master le fait pas, ca faisait son petit effet a l'epoque. C'est cette aspect technique la qui m'interresse le plus (je vois comment ils gére en memoire video avec une sorte de double buffering mais pour l'instant je sais pas si les tiles sont uniquement du précalculé ou si y a de la génération temps réel, ca m'intrigue)
Son seul defaut d'un point de vue technique et visuel c'est le coté statique des pnj dans les villes. Dans un DQ1 pourtant bien plus limité on avait des villes plus vivante avec des pnj qui etaient animé et se deplacaient, on comprend l'interet de faire comme ca mais effectivement ca enleve un peu de magie.

A cela s'ajoute un contexte plutot original j'ai l'impression. L'idée de soupoudrer l'aspect fantasy d'un peu de SF, mettre une femme comme hero principale, voyager entre les planetes. Mais dans le fond ca reste strictement la formule DQ1, c'est assez flagrant.
Je me souviens qu'a l'epoque le jeu m'intriguait meme si je n'y ai pas joué d'autant que je voyais qu'ils marquaient certain joueur autour de moi (mon cousin avait craqué sur ce jeu), le jrpg c'etait un peu nouveau et frais.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mars 05, 2016, 02:04:52 PM
D'ailleurs c'est quoi le premier grand classique jrpg sur une console Nintendo en france?
Titre: Re&nbsp;: Hardcore Retrogaming
Posté par: pippoletsu le Mars 05, 2016, 02:27:24 PM
Mystic Quest sur SNIN.
Sur Master System, il y a aussi eu Ultima IV et Miracle Warrior dès la sortie de la console.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mars 05, 2016, 04:03:25 PM
Mystic Quest d'apres wiki c'est 1993, du coup y aurait eu 5 ans (et une génération d'ecart) entre les premiers vrai jrpg sur console sega et ceux sur console nintendo? wahou, c'est d'autant plus paradoxal que la Famicom etait bourré de jrpg.
Du coup Phantasy star devait vraiment etre un peu un ovni dans le paysage videoludique francais en 1988 en bousculant ainsi la vrai chronologie (et en etant en meme temps une cartouche 4Mbit plusieurs années avant qu'on en est sur NES).

Miracle Warrior je l'ai eu, j'en ai un mauvais souvenir deja raconté ici, faut croire que les rpg c'etait pas mon truc  :o. Peut etre que finalement c'est mieux d'etre plus jeune et ne pas avoir ete confronté au tout premier rpg tres austère et minimaliste. Peut etre que je serais tomber dedans si j'etais plutot de la génération SNES ou le jrpg a vraiment explosé en qualité (et puis j'ai pas eu de SNES, c'etait la courte periode ou j'avais arreté de joué, ca s'est joué a pas grand chose je pense)
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mars 06, 2016, 03:38:18 AM
Apres Daytona, Riiiiiiiiiiiidge Racer!
La bonne epoque ou l'arcade avait encore 10 ans d'avance.

https://www.youtube.com/watch?v=SrBsVQLzB8g
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mars 06, 2016, 05:06:58 AM
Mon theme préféré pour l'instant, tres jolie.

https://youtu.be/qhazGzHs6Z4



Mais chez nous c'etait plutot ca. Ca me va aussi vu que j'aime bien le vieux son PSG de base

https://youtu.be/ObSNtdRso_I
Titre: Re&nbsp;: Hardcore Retrogaming
Posté par: pippoletsu le Mars 06, 2016, 08:48:31 AM
Une belle melodie, ça fonctionne toujours.
Tu m'as donné bien envie de me remettre à la version GBA du jeu. Mais j'ai trop de truc sur le feu là...
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mars 06, 2016, 12:15:40 PM
C'est quand meme difficile de rejouer a ce genre de jeu car si on les enleve de leur contexte et qu'on les confrontes a tous les jeux auquels on a acces aujourd'hui on peut pas dire que ce sont de bon jeu. Avec notre temps de jeu finit y a beaucoup d'autres priorités plus pertinentes donc faut trouver une autre motivation. Moi je le fais "pour la science"  :vice:. Reste que hors contexte il est impossible aujourd'hui de perdre 60 heures sur un jeu comme ca donc faut trouver des compromis pour compresser le temps de jeu (et on a plein d'outils, map, guide internet, savestate...) du coup c'est pas la veritable experience mais c'est bien mieux que regarder une video, c'est intermediaire.

Moi c'est vrai que j'ai une affection particulière pour les jeux des consoles 8bit et ce qui m'amuse je crois c'est a quelle point le gamedesign a ce moment de l'histoire videoludique est extrement impacté et piloté par les contraintes techniques a une echelle que vraiment peu de gens soupçonne je pense, chaque choix, chaque décision. C'est sans commune mesure par exemple avec la periode suivante des 16bit qui est deja une rupture sur ce point et libére les créateurs. Vraiment je pense pas que les joueurs se rendent compte a quelle point.






Titre: Re&nbsp;: Hardcore Retrogaming
Posté par: pippoletsu le Mars 06, 2016, 12:29:28 PM
Ben c'est bien que des gens comme toi par exemple le rappelle et le vulgarise.
Honnêtement, quand j'ai refait la version GBA (qui a une carte dans les donjons !!!) j'ai pris mon pied. Mais je suis un enfant de cette époque, pour un joueur sans ce terreau, ça peut paraître abominable...
Titre: Re : Re&nbsp;: Hardcore Retrogaming
Posté par: upsilandre le Mars 06, 2016, 01:00:07 PM
Citation de: pippoletsu le Mars 06, 2016, 12:29:28 PM
Honnêtement, quand j'ai refait la version GBA (qui a une carte dans les donjons !!!)
Voila un tres bon exemple parmis d'autre de gamedesign impacté par la technique, quand ils decident de pas mettre de map dans le jeu sur SMS c'est tres clairement un choix technique, pas un choix de gamedesign. Ajouter une simple map c'est deja un enorme defi technique quasi insurmontable selon le contexte. Et ce type de compromis lourd sur le gamedesign n'existe deja plus vraiment sur 16bit.
Apres c'est sure que faire ses map de dungeon soit meme sur une feuille de papier c'etait marrant aussi.



Sinon je vois que Ys aussi etait sortie en France sur SMS (et bien sure pas sur NES). La console des jrpg a cette epoque c'etait vraiment la SMS et pas juste d'une petite longueur, c'est plutot le jour et la nuit, c'est ca qui est dingue car c'est l'inverse de la réalité.

Titre: Re : Hardcore Retrogaming
Posté par: Yo Riso le Mars 06, 2016, 01:11:42 PM
C'est vrai que même si on aime le rétrogaming, pour ce qui est des JRPG 8bits j'ai vraiment du mal.
Titre: Re&nbsp;: Hardcore Retrogaming
Posté par: pippoletsu le Mars 06, 2016, 01:23:46 PM
Citation de: upsilandre le Mars 06, 2016, 01:00:07 PM
Voila un tres bon exemple parmis d'autre de gamedesign impacté par la technique, quand ils decident de pas mettre de map dans le jeu sur SMS c'est tres clairement un choix technique, pas un choix de gamedesign. Ajouter une simple map c'est deja un enorme defi technique quasi insurmontable selon le contexte. Et ce type de compromis lourd sur le gamedesign n'existe deja plus vraiment sur 16bit.
Apres c'est sure que faire ses map de dungeon soit meme sur une feuille de papier c'etait marrant aussi.



Sinon je vois que Ys aussi etait sortie en France sur SMS (et bien sure pas sur NES). La console des jrpg a cette epoque c'etait vraiment la SMS et pas juste d'une petite longueur, c'est plutot le jour et la nuit, c'est ca qui est dingue car c'est l'inverse de la réalité.
Bah en fait tous les RPG (assez peu nombreux au final) SMS nous sont arrivés, pas du tout ceux sur Nes qui étaient pourtant über nombreux.. 
Même  si, bon, on a eu faxanadu et la trilogie kemco par exemple.
Après pour la map, t'es sûr que c'est juste une question technique et pas juste parce que à l'époque, c'était normal que le joueur note des info en dehors du jeu ? Enfin, je sens que c'est une question d'œuf et de poule ça...
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mars 06, 2016, 02:23:00 PM
C'est vrai qu'une map si tu la construit dans un ecran a part a partir des données deja existante qui servent a construire le donjon lui meme c'est je pense tout a fait accessible. C'est peut etre pas effectivement un bon exemple dans ce contexte notamment car dans ce cas des donjon la map doit pas vraiment consommer de data sur la cartouche (le nerd de la guerre). Mais souvent c'est seulement au moment de chercher a coder et integrer le truc que tu decouvre des contraintes que t'avais oublier de prendre en compte.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mars 06, 2016, 02:52:03 PM
Faxanadu ca sort vraiment du schema jrpg a la DQ, c'est du side-scroller avec de la plateforme et du combat temps réel , on dirait du Zelda 2.
Par contre The legend of ghost lion de Kemco c'est vraiment du clone de DQ donc c'est bien ce que je cherche mais je trouve pas de trace d'une sortie francaise.

Par contre je me suis plié de rire en voyant les boites

La boite jap  :cool::

(http://static.giantbomb.com/uploads/original/2/23093/2423254-legend_of_the_ghost_lion_japon.jpg)


La boite US  :cry2: :lol:

(https://upload.wikimedia.org/wikipedia/en/c/c6/Ghost_Lion_Coverart.png)


Ce flagrent delit de manque de respect  :ouch:
Et pourtant dans le jeu ca ressemble bien a ca.

(http://cdn.supersoluce.com/file/docs/docid_51e4077d8f152f4547000032/elemid_4ee9faa20a2fe93d0e000010/legend-of-the-ghost-lion-022.jpg)
Titre: Re&nbsp;: Hardcore Retrogaming
Posté par: pippoletsu le Mars 06, 2016, 07:11:15 PM
Je pensais plus à la trilogie autour de Shadowgate.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mars 06, 2016, 07:45:33 PM
ah ok je connaissais pas. Mais effectivement la c'est du jeu d'aventure graphique type micro/occidental, ca a l'aire pas mal du tout pour de la NES (car elle est vraiment pas adapté pour ca en théorie) mais on s'eloigne vraiment loin du jrpg au format DQ. Faut croire qu'ils pensaient vraiment que ce format jrpg DQ c'etait pas pour nous car ils les ont vraiment tous exclus sans exception.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mars 07, 2016, 04:50:57 PM
Ca y est j'ai finis Phantasy Star, full equipé, j'ai tout vu (et j'en ai profité pour "print screen" tous le visuel du jeu pour faire des composition et des gifs)
Mon Dieu la tour Baya Malay cette enfer pour trouver le chemin, j'imagine ceux qui ont fait ca a la main  :vice:. Et merci les savestate, c'est parfait pour manipuler la RNG des rpg.


Donc comme je disais le point fort technique du jeu c'est d'avoir une enorme cartouche 4Mbit (0.5Mo) qui a l'epoque est une première (seulement 2 ans plus tard sur NES). On est fin 1987 au japon,  seulement 1 an et demi pile apres DragonQuest 1 et on se retrouve deja avec une cartouche 8 fois plus grosse (et deja environ 4 fois plus que le Famicom Disk), je sais pas si vous vous rendez bien compte?.
C'est evidement tres important pour un rpg, de quoi un peu se libérer des contraintes (tout est relatif, ca reste un jeu de seulement 0.5Mo faut bien garder ca a l'esprit) et d'aller un peu plus loin dans le voyage.
Faut quand meme rappeler que les pixels sur SMS sont plus lourd a stoquer que sur NES car ils font chacun 4bit contre 2bit sur NES (donc 2 fois plus lourd) , ici Sega compense en partie en utilisant un algo de compression sur les tuiles elle meme (alors que a l'epoque on se contente de compresser les tilemap, c'est a dire juste le schéma d'assemblage des tuiles mais pas les tuiles elle meme).

L'impact de cette grosse cartouche va donc etre surtout visuel. On commence enfin a avoir un peu de place pour s'exprimer (meme si ca reste tres limité). Sur ce type de RPG y a en gros 3 pools graphiques: La map du jeu la ou on se deplace, Le bestiaire et les background (voir illustration) pour les phases de battle ou de dialogue.

-- Pour ce qui est de la map du jeu le format est classique du type 256 tuiles x 256 tuiles (2048x2048) plus ou moins qu'on retrouve dans la plupart des rpg de l'epoque. Par contre ici y a 3 map (une par planete) et quand meme plus riche et varié visuellement que celle d'un DQ1 evidement. De ce coté on peut dire que le voyage est deja bien upgradé, le principe des planetes aux biotope different vend du reve pour l'epoque.
http://www.pscave.com/ps1/images/palma2.gif
http://www.pscave.com/ps1/images/motavia2.gif
http://www.pscave.com/ps1/images/dezoris2.gif


-- Le bestiaire sur les jrpg est souvent la partie qui a l'emprunte graphique la plus lourde car c'est le coeur du jeu. Il faut qu'il soit varié et comme on est plutot sur du statique il sagit aussi de proposer de gros sprite (justement parce qu'on peut s'affranchit des sprites pour les representer) et donc le bestiaire pese tres lourd sur la cartouche.
Avec sa grosse cartouche Phantasy Star se permet alors d'en mettre plein la vue avec un bon panel de monstre varié mais surtout une taille assez impressionnante avec meme le luxe d'ajouter des petites animations (animer c'est couteux) pour les rendre moins statique.
http://www.spriters-resource.com/resources/sheets/12/12512.png

Voila un exemple de monstre de taille imposante. On peut voir la methode d'affichage sur ce gif. Y a une partie qui est composé de tuiles de background auxquelles on ajoute des sprites pour les contours. Une astuce technique qui sera assez classique pour l'affichage des monstres dans les jrpg 8bit.

(https://lh3.googleusercontent.com/J-7bj6OEJPGlNTQ-X06QcLh6fXLiy87_MRadoIBjFjqkzGEflSs6GR7KWz9oIOSoYw17GkfmRttMdCC5tx4qaXGhFRxEzeu-nHexXWN5wwuiQeOAuEhKjVaDQPsku2tBXon3k-ffXVf1qpTYIM5zm30ZYtGOXHw6OG8lJOYwoAzkpF321PtKjgoxBoOPQTKiRFuynI8yjEAEshfg3BAhnN3m17RH-2wDLXUwkTJ_9me-5BX4br6cOsA_54npkEM7phCShqgj_afZKRR2rguhUxzci31ScyrST79q8Y74m9IO5nMgZwgNF-wkOi3hweTTNQko47nAJ-dX-8Gr8fGoBkBU5JMpel2Di9e6-YFejG8X2_XjahtyEZt9SDaq8sjGGWAVtAQBpFXL0y9GdCz83P5uxiIPX8s9x9iBwMwxxVoNJrZZkW49NxAQ3BWS2n52jhVHrC0CwR87-C_I5_3asIn5OKwQ-5tUWmV1Q_AIag4jx4N3pucHYFtUbiqD8ibaLiqq08pwhlW-0AHAdXRIbgBiqbIoehFLalQmvsiqBQgsohz3mpueprMLoaVmktLdfvU4=w256-h192-no)


Les animations sont parfois vraiment reussit, c'est une touche supplementaire tres apréciable (qui evidement n'existe pas dans DQ) pour l'epoque ca devait vraiment faire son effet. Tous les monstres n'en ont pas. Celle que je préfere:

(https://lh3.googleusercontent.com/WuyyNOpfU5Fm6qVAqpnjBQpsFuwdW6lzEwNgkV_jFN2pJownxKYiLl-8xZpK8SJqjT3voSE9ivPcLhpmTY_jWTLIwauCqo8Tyo-jKDikz7YpTfc9dXcc76Up-7NOFKRgXVe3q0LAzH4dlN2O2QqAwTWLgc73xFBhxdt31TdcI1yODGz7_p5VnVrMGdgx02-FojPlAtBFwUw8MOSwYf2D6a_pBdhnSojlbvR03t2RInat9402UaHFDQNGPQyOrh5kvddB6r9v7aKLDM6jSodfs0zY55rCQLQzjiYxWzlWBj_5O7Vp_hX2BRn7cTFlCxb8Hzr-rCKvOvDbOb0rk_36Be8bAfs5h3uyAvCBVDbiKG2aZaI93d2G9URHjLh6b3titFUWsC0USZVDIZINGas8GLi99s_lo6d82WbxeUI8fol7vliSl3U6fEZpjmYbgZkvOc1iC4lQgU34fzap81Yqo_ivK7F6kz1V_hvD1_8Vc9MnV12vF3V4-PGvqMwAjlchl7299kY71TVyF3ukD4gS48nK2trg5Fvy7MZt3dPd8qajxMFnpir9TU7o5UdFCaOGmiXO=w146-h112-no)



-- et y a donc aussi la partie images background/illustration. C'est une partie qui est parfois facultatif dans ce type de jeu sur 8bit  tant la place est precieuse, certain font quasiment l'impasse car dans cette categorie on est proche du format bitmap (on est moins dans l'assemblage de tuile) et c'est tres couteux.
Sur DQ j'en ai deja parlé, on avait un unique background pour tout le jeu utilisé pour les battles et qui n'etait pas fullscreen (juste une petite portion d'image) mais deja c'etait un sacrifice qui bouffait une bonne partie des graphismes du jeu.

(https://lh3.googleusercontent.com/89iU9qemclYk8qmX9UBbmibyYMowXjs_WAvzwodto2HwGj5JXg2DT7pCdpU2-cd8MS_0Wpsyp24GaMAsMm3abRcSTQI_XWv-jidk0kaRMbrc2X58Hp_EJBz8ASIveMCABJr_18DBGiPUsGTYYBA9mOxlJer1ReAoXRucyVNr-3ugPEzsrqHTJzcJFFm8RnnA9m42EcX4Rztx4VWk1eqnS-3-zfT5o_ysvpiMCcV6drGGkk_9fFMZrJOlrmBWBD9ME5lrLDMev5wmKY6DLlEzUmW3lzu0yV0GGFSRThiLi-uB_qrQau5XA_WLWOZPlBK8ruiWwZnFLYaaE-b_AxMABRY1YVe6WWs7OO2kenIyypri1uSNoCYZEGmd140Bi__tGNxxbh00ZdvkAVUfsDBc9gsW4awIjSA_S8zh5pGivNtYCQZ-L5q-fLrKNNQ_9YdVzX11dH87pOI4n930BfhHjJrrnAWWwZ7lv_AUjrMTFsSpq874mhC1PnEppSRebREKhcOBaxuKo5hCSbPSadnzuenLuXHvbnh7ZS55KvGtFA4HmOh6GhA2w0AfM3VCqoyZ1JmN=w256-h240-no)


Sur ce point Phantasy Star s'est vraiment lacher, c'est peut etre la qu'il y a la plus grosse rupture.
Alors c'est sur qu'une fois tout reunit ca peut nous parraitre dérisoire en quantité mais pour l'epoque c'est enorme  (meme si on voit qu'il y a bien sure encore beaucoup de recyclage, color swap, tiling, symetrie... pour que ca rentre).
En plus c'est que du fullscreen (pour ca la Master System est mieux lotie en pouvant allouer toute la VRAM pour le background avec un tileset 100% background la ou sur NES t'es obligé de partager le tileset entre 50% background et 50% sprites) avec le luxe en plus d'ajouter parfois des petites animes dans le background pour que ce soit moins statique. La aussi je pense qu'en terme de voyage ca devait etre une petite claque a l'epoque.
J'ai fais un composite de tous les background du jeu (ceux des battles et ceux en villes/commerces).

(https://lh4.googleusercontent.com/oVga5SQdiD7gonB_cEXyoO98OHpGHJ2JdVxwphf7h0NgC2McSiK75A149vsYM7fj9ZHpss_f65FiBwsRSzWv_sTsAt5tmbGRvCcs2upwe-2RJvJJUyEbr8nq8THKyJFcaHCcOUUa1-tYqFfJpb_URCksfl9ucUfrB3praX3islZNseNGmFFLh_0yul0z7dG6rmmv1gbYFKx9OFm9gKAIQH00HfXOGmqSKykQ9SXWvMCNEMZWgMXX2_n383E5vJy5DoRYNAJqremBg3vALVk--Abd3b6P1tZ816AGRzmcmVZLaLcsdFcpgy48HYPp193qEVgJCkMvTFUF-uF43oNHiacJ7-kB2uYINBUgIl45cWe-1mE3ZHJC3ntHNDh8xyw_TC8nLdOM9d8TJGajo20wjanDGlJkgTDBcEHa__Jl0-pRie1VR3Rp70l17df1fnW4zI-0AKlg7x8JwswOiLbba0qmgzlWhenAe2jUpm9uvgKRblX4BKa-4GRR_hNnDUnYUIysJsL2dCP3MmzYUjFlqVZnpc0yXpsS3Sirpg46idbfniXsbPDcLw=s16383-w1024-no)


Mais la partie background n'est pas complete si on evoque pas les donjons qui sont la plus grande originalité du jeu (et technique aussi) car contrairement aux autres jrpg qui ont des donjons sous forme de map comme le reste du jeu ici les donjons sont comme un flot de background successif (car ca reste purement de la 2D ici) pour te faire vivre les donjons en vue subjective. et surtout les deplacements sont vraiment animé (10fps) contrairement par exemple a un dungeon Master ou on avance case par case.

(https://lh3.googleusercontent.com/TU86UJxHxbTvNpCEcQ0lHNEQAyyfe0l17C-cGDoWPB8ul3-ARuQ7covkHhZw-q5voqf0HWvtt2MF8J34Y_f-fD00uylyhEQhIxo5wtxsDUZ6HaSEhgz_X45Id-RHEG1ehu9N0yVwtl_lsZCiXRmHQ9tHCoB4fB9d3WWt40aZMhx9S0s5mrydUFgN2xexO3Osoo_m_N61jP4UMdSvu16MCw0RWN7Wv4bqtFDkECCG6ZhjSlM3NDDXL49UAUCz4Y_6QJKZ8l-k3EJpyCu1P9bBK8PnOcN1n4mRPGSAgNBoa82oO8QRObyfudaU6xn-RtY3zWcA0LW7hoUBI9UjE7st7miJqv4NzVeAdM5x7J3QrkU2cf-YVCLFleCQ3FmSlBov3Z1hRMwWDMUkd39n8_uxD89MtOfTrKtOz6JnHdDb1d-w5zxQSWp4AieXTYfz1KCxuwXKazW7GKzlOAfyA7QY3XW95ZZLug5-xj7Zb8Rdrrw8YofSmZ3NA7db2BoOCjGBfsFuSFYTYhvytV45iTbtGyLXygftsNGgi0MWwjQZzqcMO9b0HMpcPT70cZW1RklWIoWl=w256-h192-no)


A priori ca a l'aire d'etre entièrement précalculé (je vois pas mal de mouvement sur les registres du bankswitching lors des deplacements) meme si j'arrive pas a trouver les tuiles sur la cartouche meme en decompressant, peut etre un autre format de compression specifique aux donjon qui ont un aspect graphique plus minimaliste avec des aplat de couleur. Y a sans doute beaucoup d'astuce en exploitant les symetries, les répétitions, les aplats de couleur, les compromis (par exemple les couloirs perpendiculaires disparaissent lors de l'animation de rotations entre autre) ou peut etre meme des constructions temps réel partiel mais malgres tout ca doit consommer sur la cartouche (j'aimerais bien savoir combien exactement mais j'ai pas le courage d'investiguer plus, ca serait compliqué) mais ca permet d'ajouter tout un flot de background supplementaire meme si tres semblable.

(https://lh3.googleusercontent.com/g3Rh7dQ5N5zn6OL9IIHGHRTXVmHaK_-kwe28AnAYzHeOvHRgx6Xwp8MLeq-0g6I-K7iZJi3Sqomw9ZvtWd402qdj_E58RQH3I6ryb26nOlgVevQmn-jYUHqPLvcPAqDNoHz-SNvMsSHlqXCF1xIwZmakZhvbXTxH56sbuoa4k5_iMh38t7ssHjmyVXPRyybxGhX2Te7mV-t_9ZpL2R9E5bv3VBBQxMVJ5OaGPFQhEWRpPu_vu0J_26oRJBFm0bXKjxfinBvZPBcoKz0X546NcPT2K0bPFxyAOX4XkRLNGhLhTCurHFYqQrbxNuoI6Nm9gw72stA05E84VQ9OcWsst7HaQQOWv0IgauD1HO6oyfbT7_YttNOFP3gzgYtM0LUG_qC5KfE1ARsqPJVDc7ZaKsf2K-j8OP4q1bO-t_6PKkgi_W0TMSiFgt5LzjL9DxlzVTs48dR4j7V4D_oFOBtQSNT0CgjKjLcz5pXpNdWTB2aa00fMBZ-TmfR04M8su6CsBn6gB8PJ5FEDNpdxP3-7oxgy0N933r0f4cWMsaGpH3-Pcnt_KtC8i_wqTmEo-xcRwXfg=w1024-h768-no)


Ca c'etait quand meme une vrai claque. Tu pouvais vendre le jeu rien que sur cette promesse des donjons je pense.
Donc niveau images de background Phantasy Star etait vraiment bien loti. Pour se rendre compte a quelle point suffit de regarder du coté de Phantasy Star 2 sur Megadrive qui malheureusement n'a pas une cartouche vraiment plus grosse que le 1 sur SMS (elle est seulement 50% plus grosse, c'est dire si Phantasy Star 1 etait une grosse cartouche) du coup ils ont fait le choix de faire l'impasse complete sur les background avec un unique background qui ressemble a rien (celui des battles) pour l'integralité du jeu (y a par contre des vignettes d'illustration pour les dialogues, marchant).

(https://lh3.googleusercontent.com/3S4NfgkUN4TFfdQG9Wsd2lG8ozHNMEQym3mNbZxCYT6WsgbIy_EibX9prBZKuwD7aauRLD5cOS9XxwSPwlq_TET156DoRTcL-l6dFoymVppjcfpjrv1VLeMQ_pJZGQTaTjd6QoxSqg9m_jzU7F-A0dTHaWwqN49EiOUZBmpzoO2i1WDTGHRFzNHoTd6UqkF8II--zDXpkqWYo237dir0j9KstwEHpKL4OzDkoVcFl-CGBECc0ZTkGLN1CbGvH-TRoEBvhVYVkvFEWsjzmYVITF6KHy2UpBiMGRqK64Giv5LtWqAOTSOvY2BBzcI5PxkbyMzrHfJvipHeL771vylhxvhhL-eKg82kBFrgPTzPlcc7mrVE-BfUJc_8bBu4NhJfVKTWJiOgHyFPmEDoagaNGNVmjz8UKC9Vo4x5WETfqF28HuHf5j097lwacYJ0mB10UzIwd_5mMG36HqxPvkvlkq1wbIzwj0xjrfjO5UaLvgTkbHKaw0SzB6WZhZ-bARNGLhwGlYemTbMw3SksNHt-Z1JB2Sonqb698cTqND8Ada5epmDdH6T3csXGPFJmNjhl9fCw=w320-h224-no)



A coté de ca le jeu se permet aussi le luxe de quelques illustrations naratives (9 en tout) qui ne sont pas full screen mais encore plus bitmap (pas de repetition de tuile)

(https://lh3.googleusercontent.com/xrAZ7e2E2hDa9GlRZM1fu_ggdohH2GsJ-L4HeB7ccOXZoXq0mNTpInhYrIbsOFOsgSdW1Wqhe2mge7v9hTBtIp5XysEP0fcyaF56RSfutlbOBqn8UmpmqN94vGw0qpEjCj39a0HliLgG0XWYeZyQRzU0znK5M2XE0YJpNvvhhPeG7AnHPEeMcmIG91xvfj7DsNyr74MChoaBijXAI9FkPr8hAn4QL1bxX0W7WIziXyTVkSOTN58N8IfUk7vytxtbi7RU-DRgKkKFEYEPrSEQ-pHpSMGsW8_yEsalJKjXqs19OLLyi05d9n-lIHaIw_aVf5ppPp_HPZR6OYeyVMfIwUstzyS5a1faGK-atz6Iu-6WRfWNIYigCC2V80rDlVCwedccTq2TviUFT7hsVPuklqk57ShWIyQ_TxY7SLKmxgnpJSnXThNbqgIsGPhCjCcky8tADRAIIELvzmBvoQiKEPkwjbeoQlZOmSHduJuNrPNTnq5jb5gwuB6NxbaXwsvUJJGVpTc7NfCVkF-0sD0NWHgYSU7eNHfskdvyyvI4mFjniUzfz4u1eBDjVOrzh1_Npq1T=w576-h384-no)


Et 2,3 autres elements graphiques (ecran titres, fin du jeu) qui sont ici

(https://lh3.googleusercontent.com/9UjgA_uBbMGcprNzfcGStLlI5ArgxPFq7uv3HwnOnltTG6g0-5gA5RON4rLAetqwxCzamEBiPnc0pUYb3pGcsfW4dqzMvJfkuBlK_3GN2mleC00UYmLE_W1JOcO2b0bcIqhAXtO1YqQBIJNT8nE2CWnWNIA7WuqqMeAChTGXdkK75ZJzcBCS4sOSGdUySUl23C2NIDve9JL8qewQihmUjBn4kbP8MBIWV57HNDRbZOohhon7DCX2p61E0KyfK2qa2gWQNHao4xvO5TfJx01aApN-a5fNG0HdROwqvJ2jrkL_t25t89MzbgnVawlnkR00ry-tLNZQOOLFKrMOufTjjk62_02uFgDLLcxMUC3DNyTj07J58EYYY9HGhNpU2m9rnlm9N-QJFbPGwuJj3ty4S1NBNEZiUYriABrWZKL49MeAJ4vuRGK90sORvw9CLzdN0kxUEh6Nh8mta3RPyaqLwYsZ4hvIbgqGIQUQJGE8szdlNuE17DaWKsO7RzYJs7Fs2MeE_UqRumguaKZimY4jbmUfN-fL7x9xlxyJ41giA6EvnPwGBwEt5-FjMHAvGT-WatcO=w206-h330-no)



Donc un jrpg graphiquement riche en contenu pour l'epoque. Ca nous a permis en France de debuter le genre directement avec du lourd.

Titre: Re : Hardcore Retrogaming
Posté par: Drizzt_daermon le Mars 07, 2016, 05:13:29 PM
Quel boulot génial Upsilandre, Bravo!  :love:
Une telle remontée de souvenirs que je suis passé à deux doigts de la descente d'organes  :D

Sérieusement, ça doit être le tout premier JRPG que j'ai squatté chez mon poteau Sega fan (j'étais de la team Nintendo) avec des souvenirs de ouf sur cette machine géniale qu'est la master system et que je n'ai jamais eu personnellement.
Ca me rappelle les longues sessions de jeu sur Golvellius, Wonder Boy III et Alex Kid in Shinoby World.  :clouais:

Merci encore pour ce décorticage. Ca te prends combien de temps pour analyser tout ça?
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mars 07, 2016, 05:26:02 PM
La c'est un decorticage tres succinct et en surface contrairement a DQ dont j'ai vraiment decortiqué/hacké la ROM.
C'est surtout de faire le jeu en entier qui m'a pris du temps (tout est relatif, je l'ai torché en quelque jours) mais je l'ai pas fais uniquement pour le decortiquer, c'est aussi pour le plaisir de jouer a des jeux que t'as raté de peu a l'epoque.
De toute facon j'attend d'etre en congés pour faire ce genre de turc.
Titre: Re : Hardcore Retrogaming
Posté par: Drizzt_daermon le Mars 07, 2016, 05:31:45 PM
T'as posté ici pour ton analyse de DQ, ça m'intéresse également?
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mars 07, 2016, 05:48:38 PM
Page 21,22,23,24 :)
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Mars 07, 2016, 07:59:33 PM
Elles est passionnante, une révélation pour ma part, bonne lecture Drizzt
Titre: Re : Hardcore Retrogaming
Posté par: Drizzt_daermon le Mars 08, 2016, 09:23:27 AM
Génial, merci, je lirai tout cela ce soir  :love:
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mars 08, 2016, 03:02:34 PM
https://www.youtube.com/watch?v=kyBW8HkVcLw


Les premieres secondes on se dit que c'est exactement le meme jeu puis quand ca se met a bouger on voit la difference. Deja niveau framerate la version arcade est a 60fps. Et puis surtout la version arcade c'est la categorie super-scaler c'est a dire qui est capable de zoomer les sprites en temps réel ca change pas mal de chose, ca renforce le coté saccadé de la version MD.
Et du coup comme la MD doit simuler le zoom en utilisant un systeme de LOD avec des sprites supplémentaire sur une ROM deja plus petite on perd aussi la variété de sprites de la version arcade qui sert a representer la moto adverse sous different angles de vue selon sa position relative ce qui renforce l'effet de 3D sur la version arcade (sur MD les moto n'ont qu'une seul représentation vu pile de derriere meme quand elle est sur le coté).


En fait j'etais en train de me dire que contrairement a l'arcade on a pas eu chez nous de console purement 2D de type super-scaler spécialisé dans le zoom de sprite a la chaine. On est passé directement des MD, SNES, NeoGeo sans aucune capacité de zoom de sprite ( la SNES peut seulement zoomer/pivoter un seul objet graphique mais de grande taille, la NeoGeo ne peut que réduire les sprites pas le zoomer et avec beaucoup de contrainte) a des consoles 3D avec framebuffer qui par definition peuvent tout scaler car la 3D est vectoriel. A part peut etre le MegaCD.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mars 08, 2016, 05:47:36 PM
Mon dieu cette playlist de music C64 ou l'on peut directement visualiser les waves produitent par le SID c'est tellement merveilleux a regarder :ouch:, je sais meme pas laquelle vous choisir en exemple donc je met la liste complete (en plus c'est plein de Rob Hubbard)
https://www.youtube.com/playlist?list=PLXhLeiiveJmNhFf5ShVwwXspGfgt-ww8c

car elle montrent toutes des particularités differentes, tout est intéressant a regarder a la loupe (en faisant des pauses) on voit toutes les possibilités offerte par le SID qui est un véritable synthé et le génie des programmeurs.
On reconnait bien deja les differentes waves de base, square wave, triangle wave, sawtooth wave, noise wave et que le SID peut en plus appliquer a n'importe quelle des 3 voix ou sur les 3. Mais on voit surtout aussi la précision et le controle total. On voit le controle total sur le duty cycle du square wave (que du coup on appele "pulse wave", le square wave devient alors juste un cas particulier ou c'est 50% high et 50% low), on voit l'utilisation des envellope pour controler l'amplitude a l'attaque et en fin de note, on voit les effets de filtre low-pass et high-pass, les effet de ring modulation, les synchro... Y a une richesse infinit d'effet de wave possible. Le génie aussi des programmeurs comme Hubbard pour faire de la polyphonie (entrelacer plusieurs pistes sur la meme voix) on le visualise tres bien aussi. c'est génial cette chaine.


Et a coté de ca on retrouvait un peu partout dans les micro (ou par exemple la Master System), meme dans l'Atari ST,  le classique 3 squares waves basique sans aucun autre choix (a part le noise), ni controle (du vrai square carré 50/50), ni filtre ou enveloppe ou modulation et avec une précision inferieur (le SID c'est du 16bit)

https://youtu.be/z4vfo6JJ9Cg


Meme en coupant le son, rien que visuellement on comprend qu'on est pas du tout dans la meme categorie de sound chip.
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Mars 08, 2016, 08:09:57 PM
J'ai cette envie de doubler le thème à la tiers  :crazy: C'est le grand désavantage des morceaux en trois pistes, toujours devoir trouver un compromis entre l'harmonie et la section rythmique. Les musques de DQ1 par exemple, prennent plutôt  partie pour l'harmonie, du coup c'est assez riche, mais aussi assez chiant.
Après ouai, il y a les bons qui font les deux (sacré Hubbard)
Titre: Re : Hardcore Retrogaming
Posté par: Drizzt_daermon le Mars 09, 2016, 10:30:15 AM
Bravo pour ton travail upsilandre, c'est remarquable.
J'ai pas saisi la plupart des subtilités techniques et autres données qui me sont complètement ésotérique mais c'est plutôt fascinant à lire et voir les astuces développer pour utiliser à fond les capacités modérées offertes par les techno de l'époque.
Passionnant
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mars 12, 2016, 12:14:54 PM
J'aime beaucoup cette nouvelle chaine de comparatif que j'ai deja partagé
https://www.youtube.com/user/ComparandoGames/videos


L'idée est bonne d'utiliser le 1080p pour faire des comparatif side by side car le retrogaming c'est de toute facon du low-res (meme ce qu'on appelait le hires a l'epoque). et puis comme c'est du 60fps on a aussi un comparatif de framerate. C'est une bonne exploitation de ce que permet Youtube aujourd'hui. et le speaker de gauche sort le son du jeu de gauche et vice versa donc on peut meme comparer le son.
En plus le gars a un debit dingue, il sort a peu pret une video par jour depuis 6 mois. Et c'est pas juste des comparatif techniques, y a parfois des comparatif version Jap vs occidental ou version censuré et non censuré, ou version bullshit trailer et version commercial... Y a beaucoup de choix (meme niveau plateforme y a de tout)


Je viens d'ailleurs de voir ce comparatif NeoGeo vs NeoGeo CD

https://www.youtube.com/watch?v=Uy25SZfb0a4


Impressionnant de voir la difference, je pensais pas que c'etait a ce point. la version NeoGeoCD utilise des sprites clairement plus petit. Ca se voit clairement sur l'ecran de selection (les ecrans de selections affichent toujours les persos en 1:1) mais surtout ingame car sa bride la fonction "zoom" du jeu (justement parce que la Neogeo ne sait pas zoomer , elle peut seulement retrecir les sprites, la taille maximum du zoom ets donc la taille native du sprite)
C'est une belle demonstration que meme 7Mo de RAM (NeoGeoCD) ne suffisent pas a bien emuler l'avantage de la cartouche ROM dans certain cas et donc explique que les PS1 et Saturn (qui tourne autour de 3Mo) avait bien du mal a reproduire parfaitement les gros jeux de combat NeoGeo.



Sinon on trouve les grand classiques, comme ce comparatif d'Aladdin  :p

https://www.youtube.com/watch?v=ktoYbyzBM0s


Faut bien reconnaitre que la version MD est plus jolie, en partie grace au talent des artistes notamment dans l'animation sublime, a l'usage plus intelligent des plans, et j'aime bien aussi la résolution superieur de la MD qui rendait les jeux plus sharp et précis, mais ce qu'on oublie tout le temps de dire sur ce classico c'est que la version MD utilise une cartouche 16Mbit contre seulement 10Mbit sur SNES (c'etait une petite cartouche) et ca c'est pas un détail, je le dis assez souvent. Sans cette avantage la version MD n'aurait sans doute pas pu tenir cette qualité d'animation.


Titre: Re&nbsp;: Hardcore Retrogaming
Posté par: pippoletsu le Mars 12, 2016, 12:44:58 PM
M'y suis abonné à cause de toi.
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Mars 12, 2016, 01:10:00 PM
pareil
Titre: Re : Hardcore Retrogaming
Posté par: Alphonse le Mars 12, 2016, 01:56:05 PM
Très intéressant  :philo: Le son dans Aladdin MD en revanche  :sweaf: Et le gameplay a l'air moins fun (je l'avais sur SNES :o )
Titre: Re&nbsp;: Hardcore Retrogaming
Posté par: pippoletsu le Mars 12, 2016, 02:01:33 PM
Le plus gros pb de la version snin c'est qu'il était hyper facile...
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mars 18, 2016, 06:39:17 PM
J'ai decouvert une nouvelle "console" tres rare et pas inintéressante.

L'Adventure Vision de Entex
(http://standalonepost.com/sites/all/pictures/Nikopik/AdventureVision-Box-front.jpg)


C'est une console sortie la meme année que la Vectrex en 82. C'est une vrai console (c'est a dire programmable avec un CPU et des cartouche ROM) mais accompagné d'un ecran sur le meme schema que la Vectrex , format mini-borne.
Alors je préfere la Vectrex avec son affichage vectoriel unique dans l'histoire du home videogame, ses jeux (ou ses lunettes 3D) y a pas photo mais l'AV n'est pas dénué de curiosité comme machine.

Deja on a le droit cette fois aussi a un affichage exotique (plus modeste) car on retrouve la meme solution que le Virtual boy donc rien que cette anecdote vallait le coup!
Ce sont juste 40 led rouge qui se projette sur un "miroir" rotatif (verticalement) comme la Virtual boy mais en version macro. Le "miroir" est entrainé par un moteur de lecteur cassete avec sa couroi, il tourne a 7.5 tours par seconde ce qui donne un affichage 15hz (la surface reflechissante a 2 faces qui d'ailleurs ne sont pas parfaitement equivalente du coup l'affichage bouge d'une frame a l'autre et produit un effet wobble) et donc par un balayage horizontal de gauche a droite (les 40 led forme une colonne sur la gauche de l'ecran). Comme y a 40 led ca fait 40 lignes pour une resolution final max de 150x40 (et monochrome). Ca doit quand meme piquer les yeux tout ca (le 15hz...)
Ca a pas l'aire de trop consomer (enfin comparer au CRT de la Vectrex) du coup la machine fonctionne a pile pour en faire une console transportable. C'est important a savoir pour la suite...

Niveau CPU c'est un microcontrolleur Intel (ce qui veut dire que le chip contient aussi de la RAM et de la ROM), le meme que celui de l'Odyssey2 (ou Videopac) mais a une frequence 2x superieur. Ca fait donc encore une autre console qui tourne sur de l'Intel, c'est intéressant a savoir, comme quoi y en avait a l'epoque.
au dela de la toute petite RAM interne au microcontrolleur y a une RAM externe de 1Ko (et aussi un bios de 1Ko intégré au microcontrolleur comme pour la videopac avec des routines utiles aux jeux), un petit chip audio mais pas de GPU!

L'affichage fait donc penser a la StudioII de RCA (et plus vaguement a la VCS) c'est a dire que c'est le CPU qui gére l'affichage a la volé en alimentant les registre des LED en temps réel du coup le CPU est totalement occupé pendant l'affichage (comme sur StudioII et VCS) donc ca aussi c'est une info qui m'intéresse car c'est assez rare comme categorie de console. Les 1Ko de RAM servant alors principalement de frame buffer au format bitmap 1bpp (les 3/4 de la RAM, le dernier quart sert de Main RAM pour le jeu) qui sera donc lu par le CPU pendant la phase d'affichage.

L'autre truc tres amusant a savoir sur cette machine c'est que le type de clock utilisé est du genre a avoir une frequence pas stables, assez variable. De ce que j'ai compris ca pourrait etre volontaire car quand les piles s'affaiblissent le miroir tourne moins vite... mais le CPU aussi du coup on garde une certaine synchro qui permet de garder un affichage plus constant. Mais du coup le framerate varie entre 15fps et 13fps selon la charge des piles, si ca c'est pas caucasse  :p

Apres le probleme c'est qu'il y a eu que 4 jeux et des cartouches seulement 4Ko.

https://youtu.be/FtPCgKuUUy0
Titre: Re : Hardcore Retrogaming
Posté par: Drizzt_daermon le Mars 24, 2016, 12:54:51 PM
Quel techos de luxe tu fais upsilandre  :love:
Merci pour cette découverte de console qui m'était inconnue ainsi que d'avoir dévoilé immédiatement le fonctionnement de la bête.
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Mars 25, 2016, 04:19:43 PM
Haha énorme  :lol: :lol: Ve serait drôle de faire un affichage similaire avec des uC modernes. Si je trouve le temps j'essayerai de faire un truc du genre voir ce que ça donne.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mars 26, 2016, 10:08:29 PM
Je vous ai fais (un peu pour mes archives aussi) un petit résumé de l'histoire technologique des consoles 2D en prenant l'angle de l'évoquer uniquement au travers de ce que chaque machine a apporter de plus significatif par rapport a la précedente (sur la partie graphique) plutot que d'entrer dans le detail individuel de chaque machine.
Ca permet de tout connecter, de comprendre la chronologie et d'avoir une vue d'ensemble assez fine sur cette famille de machine (car c'est la meme famille de machine, celle qui construit en temps réel une image 2D a la volé pendant le balayage ecran sans framebuffer ni bitmap) a partir de quelque chose de plutot condensé et pas trop laborieux a lire.

Avant ca je fais quand meme un petit rappel sur le terme bpp (bit par pixel) qui défini le nombre de bit que le GPU associe a chaque pixel, ce qu'on appelle aussi la profondeur du pixel.
1bpp veut dire 1 bit par pixel ca indique que les tuiles et les sprites vont etre monochrome (meme si la couleur peut changer d'une tuile/sprite a l'autre), 2bpp c'est 3 couleurs par tuiles/sprites (+ la couleur de background) et 4bpp c'est 15 couleurs par tuiles/sprites (+ couleur de background).



Atari 2600 >> Intellivision
L'intellivision nous fait entrée dans l'aire des GPU 2D.
Celui de l'Atari2600 etait ce que je nomme un GPU 1D, c'est a dire qu'il a besoin qu'on lui dise quoi faire et quoi afficher a chaque ligne sinon il se contente de dupliquer la meme ligne indéfiniment sur tous l'ecran, son autonomie est limité a une ligne.
Avec l'Intellivision arrive le premier veritable GPU 2D capable tout seul dans son coin de composer une image complete en assemblant des tuiles 2D a partir d'un plan de construction ( la tilemap ) et capable aussi d'afficher des sprites (le terme sera inventé pour lui) par dessus cette image et tout ca en parfaite autonomie.

Intellivision >> Colecovision
On a une explosion de la quantité de memoire video pour plus de richesse graphique et l'apparition d'un mode video exotique plus avancé qui permet de contourner la limite des 1bpp (sans etre du 2bpp) pour le background seulement (pas les sprites) et ainsi avoir des tuiles moins monochromes et des backgrounds plus colorés.
La résolution augmente pour atteindre le standard de 256 pixels par ligne qui sera ensuite récurent.

Colecovision >> NES
On passe enfin a un vrai GPU 2bpp (finit les tuiles et sprites monochromes) combiné a un doublement de la capacité d'affichage de sprite.
Et surtout on voit debarquer un veritable support hardware complet du scrolling horizontal et vertical.
Les mappers (deja present sur Atari2600) deviennent omnipresent dans les cartouches et permettent de s'affranchir de la limite 16bit du bus d'adressage des CPU 8bit ce qui combiné a l'effondrement du cout des ROM a partir de 86 permet l'explosion de la taille des cartouches et donc de la richesse graphique.

NES >> Master System
On passe deja a un GPU full 4bpp qui sera le standard du jeu video (notamment en Arcade) pendant un bon moment (meme une Neogeo ne va pas audela). Avec un choix de seulement 2 palettes le 4bpp sera bridé sur SMS mais c'est une belle avancé.

Master System >> PC-Engine
La quantité de memoire video explose (x4) tout comme la capacité d'affichage de sprite (x4) et le nombre de palette aussi (x16) ce qui permet au 4bpp de prendre toute son ampleur avec des graphismes tres riches et colorés.

PC-Engine >> Megadrive
C'est l'arrivé du support hardware d'un second plan de background qui va permettre de nouvelles libertés proche de l'arcade.
La Megadrive innove aussi sur le support hardware du scrolling qui n'a pas vraiment evolué depuis la NES en apportant cette fois le support hardware d'une table complete de scrolling qui permet une gestion tres fine du scrolling ligne par ligne pour faciliter tout ce qui est effet de parallaxe avec cette possibilité nouvelle de pouvoir faire des parallaxes verticales qui servira pour divers FX (comme simuler des rotations).

Megadrive >> SNES
On voit apparaitre le support hardware de la transparence. L'ajout d'un 3eme plan de faible qualité (2bpp) pour certain effet ou pour le HUD. Le support hardware du zoom et rotation limité a un unique tres gros objet (le background). un mode 8bpp mais relativement anecdotique a l'usage (la console reste avant tout une machine 4bpp ainsi que les jeux)


Sans oublier qu'en parallèle de tout ca les cartouches sont passé de 2Ko a 4096Ko ce qui a tout autant participé a l'evolution graphique que tout ce que j'ai decris au dessus.


Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Mars 28, 2016, 10:55:15 AM
Ho ! Super, ça aide bien en effet, une belle rétrospective bien faite c'est toujours vraiment utile.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mars 28, 2016, 08:43:08 PM
Oui j'espère que ca aide a comprendre.

La j'ai eu le malheur de trouver ca:
http://www.jmargolin.com/ (Aller Voir surtout la partie "Atari Stuff")

Une sorte de blog d'un lead ingenieur hardware de la branche Arcade de Atari des années 80, Jed Margolin . Le gars etait spécialisé dans la 3D (et les ecran vectoriel) et justement l'histoire de la 3D dans le jeu video c'est ce qui m'intéresse le plus apres celle des vieille console 2D et Atari etait le pionnier du jeu 3D.

Le gars a notamment concu le hardware de la PCB du Starwars 3D de 1983 et de Hard Drivin (qui pour moi qui m'interresse a ces technologies sont justement 2 jeux marquant)
Donc j'en ai profité pour récuperer un max d'infos sur le hardware de ces 2 jeux.

Mais le gars a meme publier 10 ans de sa correspondance, tous ses mails interne et rapport. Passionnant (il a meme publier l'annuaire interne de l'epoque   :p  )  
http://www.jmargolin.com/vmail/vmail.htm

Moi je me suis concentré surtout sur ses debuts et sur les années de conception de Hard Drivin. Je vous met quelques mails que j'ai trouvé.


Voici un mail pour continuer a defendre les choix technologiques qu'il avait fait sur Starwars en utilisant une combinaison maison de chip TTL pour executer les calcules vectoriels plus rapidement et moins chère qu'avec la solution précedente sur Battlezone avec des chips dédié.
Il semble avoir l'impression qu'ils se rendent pas bien compte de l'interet (et ce plains que c'est mal exploité dans Starwars)
Spoiler
To: Rick Moncrief
Fr: Jed Margolin
Re: "Video-game makers rush to add 3-D chip"
Dt: 3/7/83

Attached is a copy of an article that appeared in the San Jose Mercury News, March 2, 1983. The chip being touted as a magic chip to do 3-D is the 2516 16*16 multiplier. I talked to Dave Barnet of Weitek last year when it first came out and again this afternoon to update my information.


The 2516 is an NMOS version of a TRW Bipolar Multiplier. Because it is NMOS it dissipates less power and so can be packaged in plastic. It also runs slower than the TRW part.

Last year the 2516 was being offered in a 1 us version for $68. This year it is a 200 ns part and goes for about $40 in quantities of 5,000. (The TRW Bipolar Multiplier does a multiply in about 40 ns and costs twice as much.)


The 2516 was not cost effective last year at $68 and it is not cost effective this year at $40. The multiplier/accumulator  
that I use in Star Wars is made out of MSI and costs about $12 (and does more than just multiply).


The basic operation in doing 3-D transformations is to accumulate products such as in ACC'= ACC + A*B. The 2516 does not accumulate products, it is  only a multiplier. (Weitek has expressed an interest in working with Atari to produce a low power multiplier/accumulator.) My Multiplier/Accumulator also does a presubtract to make calculations more efficient [ ACC'= (A-B)*C + ACC ]. On the other hand, my multiplier is slower (2.7 us vs 200 ns for the Weitek).


Raw multiplier speed is only part of story in doing 3-D transformations. In performing the 3-D math, lots of data has to be fed into the multiplier, and results retrieved, and additions performed (if the multiplier does not also accumulate products). If a device such as the 2516 were put on an 8 bit microcomputer bus, even if the multiplier took zero time it would be several times slower than the current Star Wars hardware. (A 2516 put on a 10 MHz 68000 or 6 MHz 16032 would probably be nice and fast, but a multiplier/accumulator would be better).


The Star Wars hardware deals with the throughput problem by having a simple microprogrammed device keep the multiplier/accumulator fed. The points that define an object are downloaded by a 6809 host processor at the beginning of the game (or wave) into a RAM it shares with the microprogammed machine (the Matrix Processor). When it comes time to display an object, the host processor supplies a pointer which tells the matrix processor where the object's points are stored. The host processor tells the matrix processor which algorithm to use, and each of the object's points is transformed, one at a time.

I resent having to generate this memo, having to defend hardware that I designed THREE YEARS AGO. When the project was Warp Speed it received no support from management. Now that it has become Star Wars and Atari has paid George Lucas one or two million dollars there is more interest in the project. However, the game that is being developed does not take advantage of the real capabilities of either hardware or algorithms. This is very discouraging and makes it very difficult to maintain any enthusiasm in a subject area for which management obviously has so little regard. And I don't want to hear any more crap about Weitek's great 3-D chip.
[Fermer]


Celui la est super intéressant. C'est les calcule de cout des PCB de Hard Drivin (plus d'un an avant la commercialisation)
On voit que le plus chère c'est les 1Mo de Vram pour le gros framebuffer. ensuite le DSP qui s'occupe des calcules vectoriel (finit le bricolage "mathbox" utilisé sur les jeux wireframe, y a maintenant de vrai DSP spécialisé). Ensuite la ROM du jeu puis les 2 GPU (un GPU pour la rasterisation des polygones, le second ne sert pas du tout aux graphismes, ils l'utilisent de faocn detoruné uniquement pour les calcules physique du comportement de la voiture)
Spoiler
Driver Main and ADSP Costs 10/16/87 J Margolin

Prices are Stuffed and Tested.
Prices include program ROM but do not include overhead and certain other costs.
System does not include Sound Board.
Does not include extra Zeropower RAM.

==============================================================================
GSP Turbo 48 MP/sec, 32 VRAMs @6.95:    =   $706.10
ADSP Board    =   $255.90
       --------
       $962.00


(Main Board Comes with 16 Program ROMs, 200ns, OTP.)
(ADSP Board comes with 4 Graphics ROMs, 250ns, OTP.)
(Without ROMs, $962.00 - 16*4.80 - 4*4.10 = $868.80)


The big chunks are:
(32) 64Kx4 VRAMs $6.95 $222.40
ADSP-2100 $105.00
(16) 27512 (Main) $4.80 $ 76.80
    34010-40 $50.00 $ 50.00
  34010-50 $88.00 $ 88.00
PC Board  16x16 $0.30 $ 76.80
(20) SRAMs (ADSP) $1.85 $ 37.00
PC Board  15x8 $0.30 $ 36.00
(4) 27512 (ADSP) $4.10 $ 16.40
AD7582 12B A/D $ 15.00
68010 $ 15.00
Timekeeper $ 15.00
-------
$753.40

This represents  78.3% of the cost.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

GSP Turbo 24 MP/sec, 16 VRAMs @6.95:    =   $594.90
ADSP Board    =   $255.90
       --------
       $850.80


(Main Board Comes with 16 Program ROMs, 200ns, OTP.)
(ADSP Board comes with 4 Graphics ROMs, 250ns, OTP.)
(Without ROMs, $850.80 - 16*4.80 - 4*4.10 = $757.60)


Driver Main Costs:
(1) 68010 uP $15 (Plastic) $15.00

(1) 68681 DUART     $4.00 $ 4.00

(4) 6264 8k x 8 SRAMs   $2.25 $ 9.00

(16) 27512 64kx8 200ns, OTP   $4.80 $76.80

(1) 48TO2 2k x 8 Timekeeper $15.00 $15.00

(32) 4461 64k x 4 VRAMs   $ 6.95 $222.40

(4) 4464 64k x 4 DRAMs $ 3.00 $12.00

(3) R2R Ladder Networks $ 0.50 $ 1.50

(6) 1Kx4 SRAMs $2.00 $12.00

(1) 34010-40 (MSP) $50.00 $50.00
(1) 34010-50 (GSP) $88.00 $88.00

(1) 32 MHz Oscillator Module $1.50 $ 1.50
(1) 48 MHz Oscillator Module $1.50 $ 1.50
(1) 40 MHz Oscillator Module $1.50 $ 1.50

(26) AS,F $1.00 $26.00
(46) ALS $1.00 $46.00
(30) LSTTL $1.00 $30.00

(1) ADC0809, 8 bit A/D $2.00 $ 2.00

(1) AD7582, 12 Bit A/D $15.00 $15.00

(1) PC Board, 256 sq.in. $.30/sq.in. $76.80
-------

Driver Main 32 VRAMs @6.95: Total $706.10


ADSP Board Parts - Full Data and Program Memory

(1) ADSP-2100 105.00

(1) 32 MHZ CLOCK MODULE      1.50

(20) 4Kx4 SRAM, 45 NS @1.85 37.00

(4) 8Kx8 SRAM @2.25  9.00

(4) 27512-250, OTP @4.10 16.40

(27) LS @1.00 27.00

(17) ALS @1.00 17.00

(7) AS @1.00  7.00

(1) PC Board (8 x 15 = 120 x 0.30) 36.00
-------
$255.90


For ADSP Board with 1/2 Program and
1/2 Data RAM: (10) * $1.85      -$18.50
-------
$237.40
[Fermer]


Celui la c'est des retours de playtest sur le jeu vers la fin du projet. C'est intéressant (avec enfin une breve allusion a I robot, c'est le grand mystère de ces recherches, je trouve pas de reference a ce jeu qui est pourtant technologiquement le jeu de l'avant garde de la 3D mais semble etre venu d'ailleurs comme tombé du ciel)
Spoiler
To: Rick Moncrief
Fr: Jed Margolin
Re: Focus Group 6/8/88, Hard Drivin'
Dt: 6/9/88


The Seat
-------
The three groups uniformly seemed to like the seat.


The Graphics
------------
The first two groups liked the graphics. In the third group someone said the
graphics reminded him of I ROBOT. I am not sure if he said he didn't like the
graphics or if Lyle said the guy didn't like it.


The Steering Wheel
------------------
When people were talking about the steering wheel it was not always clear
whether they were talking about the physical effort to move the steering
wheel or about how the car handled. It was clear that the third group did not
like the way the car handled.

Part of the problem may be the speedometer and dash. People did not seem to
use the speedometer much. Several commented that it was hard to see. I expect
that it is also lost in the clutter of guages that are not used, like fuel
and temperature. You should consider making the Tachometer and Speedometer
twice as large, dumping the unused guages, and making the dashboard background
color darker.


Realistic Simulation
--------------------
All three groups seemed to think that the realistic simulation of a car was a
good idea.


Transmission
------------
The third group seemed to have the most trouble with the transmission, mostly
the automatic transmission. It did not help that first gear was usually "out".

I recommend that with the automatic transmission the shifter not be used.

I personally prefer a semi-automatic transmission, using the shifter to select
the gears, but not using the clutch.


Tracks
------
Most people seemed to think the long track was too boring.

The stunt track was too hard for almost everybody. The stunt track has too
many stunts.

There needs to be more tracks, with the number and difficulty of stunts
properly apportioned.


Traffic Cars
-----------
The third group wanted more interaction with the traffic cars. The first two
groups seemed content with the existing traffic. (They probably had enough
to do just to drive.)


Instant Replay
--------------
A clear winner with all three groups.


Sound Effects
-------------
People generally liked the sound effects but,

Someone in the third group noted that at 7000 RPM the engine did not
sound like an engine at 7000 RMS.

Although they generally appreciated the voice help, they would have
preferred a different speaker. I think they would have liked an
appropriate female voice.

Several people expressed their desire for music. Several wanted to
be able to choose from a selection of tunes.


Rear View Mirror
----------------
Several people expressed their interest in having the rear view mirror work,
although one guy in the third group said he didn't need it.


Other
----
One gentleman was consistently able to drive over the rainbow, leading to
suggestions that the hardware was at fault.

The brake is too close to the gas, and the clutch is too close to the brake.
[Fermer]

Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mars 28, 2016, 08:44:02 PM
La c'est 3 idées de futur jeu (qui n'ont pas existé, y a aussi des projet de hardware jamais sortie sur lequel on le voit bosser) dont surtout un qui n'est rien d'autre qu'un Battlezone 2 qui utiliserait le hardware de Hard Drivin en 3D pleine. Marrant comme clin d'oeil sachant qu'on va bientot y jouer en VR.
Spoiler
Game Idea - BattleZone II
Jed Margolin 8/8/88



Perspective: 3D with Polygons


Hardware: Driver System or MultiSync


Cabinet: 1. Driver Sitdown
2. Upright


Controls: Star Wars Control,
Footpedal for Gas,
Lever to select Forward or Reverse
Switch to select Magnification factor,
Switches to select Weapons.


Screen: The lower part of the screen has a control panel which
contains:

  Fuel Guage,
Speedometer,
Radar Display,
Weapons Display,
Message Screen.


Weapons: 25mm machine gun (coaxial with the main gun)
Armour piercing shells
High Energy Shells
TOW Missiles


Situation: The player is inside his tank, able to drive it, change
the angle of the main gun, select weapons, and fire them.


Game Play: The player drives around and is confronted by other vehicles:
American and Russian Tanks, American and Russian Helicopters,
and American and Russian Personnel Carriers.

The player must identify the targets. Destroying an American
vehicle loses a player's life, but a Russian vehicle that is
not destroyed in time will fire on the player.

Destroying a Russian vehicle earns the player big points.

The player starts with appropriate supplies of fuel and
ammunition.

Machine gun and main gun rounds follow ballistic trajectories.
TOW Misiles are guided by the player to the target.

Some targets can be destroyed with machine gun fire (There is
a lot of 25mm ammo.) Some require High Energy or Armour
Piercing. (There are fewer rounds of this ammo). Some targets
can only be destroyed with TOW Missiles. (There are not many
TOW Missiles.)

If the player reaches a resupply depot he can replenish his
supplies. However, resupply depots are considered prime
targets by the enemy.


Game Link: Up to six of these units can be linked together in the
Atari Battle Network, accommodating BattleZone II (Tank),
the Helicopter Game, and the Jet Aircraft Game.


Game Over: The game ends when the player loses the requisite number
of lives. A player who runs out fuel and ammunition will
not long survive.







Game Idea - Helicopter Game
Jed Margolin 8/8/88


Perspective: 3D with Polygons


Hardware: Driver System or MultiSync


Cabinet: Driver Sitdown


Controls: Floor mounted joystick,
Throttle/Collective Pitch,
Footpedals for Tail Rotor,
Switches to select Weapons.

Mode 1: Extensive computer assist in flying the craft.
Mode 2: Mostly Manual (No Engine Torque correction required).
Mode 3: Full Manual (Engine Torque correction required).


Screen: The lower part of the screen has a control panel which
contains:

Altitude Indicator,
Airspeed Indicator,
  Fuel Guage,
Engine RPM,
Radar Display,
Weapons Display,
Message Screen.


Weapons: 25mm machine gun
Heat Seeking Missiles
TOW Missiles


Situation: The player is inside his helicopter, able to fly it, select
weapons, and fire them.


Game Play: The player flies around and is confronted by other vehicles
and aircraft: American and Russian Tanks, American and Russian
Helicopters, and American and Russian Personnel Carriers.

The player must identify the targets. Destroying an American
vehicle loses a player's life, but a Russian vehicle that is
not destroyed in time will fire on the player.

Destroying a Russian vehicle earns the player big points.

The player starts with appropriate supplies of fuel and
ammunition.

Machine gun rounds follow ballistic trajectories.
Heat Seeking Missiles will seek heat sources; if fired at an
appropriate target at an appropriate range it will hit the
target. TOW Misiles are guided by the player to the target.

Some targets can be destroyed with machine gun fire (There is
a lot of 25mm ammo.) Some are best handled with Heat Seeking
Missiles; others with TOW Missiles. (If the target is in front
of the sun, do not use a Heat Seeking Missile.)

If the player reaches a resupply depot he can replenish his
supplies. However, resupply depots are considered prime
targets by the enemy.


Game Link: Up to six of these units can be linked together in the
Atari Battle Network, accommodating BattleZone II (Tank),
the Helicopter Game, and the Jet Aircraft Game.


Game Over: The game ends when the player loses the requisite number
of lives. A player who runs out fuel and ammunition will
not long survive.






Game Description - TomCat GSP Jed Margolin 12/14/87
----------------------------------------------------------------


The following is the description for the updated TomCat game using the latest
GSP raster hardware.

************************ Flying Game - Jet Fighter ************************

The player is flying a jet fighter on various missions. In completing these
missions the player will encounter computer generated opponents. Opponents
may be in the air (other aircraft) or on the ground (anti-aircraft fire,
missiles, tanks, tanks firing missiles, etc.)

In linked games the other player could be an opponent or the two (or more)
players can fight as a team.
----------------
TRAINING:

At the beginning of the game the player selects whether he wishes full
control of his aircraft or whether he wants some measure of computer assist.

The player may also choose which mission level to start the game with.

There will be at least two Training Missions:

  1. The computer gives the player a course on how to fly.

2. Training with easy opponents to shoot down.
----------------
COMBAT:

Combat missions start with the player taking off (either under computer control
or by himself) and receiving instructions on his mission and a vector to
fly. (The vector is what direction to fly.) Examples of combat missions are:

1. The target is an oil refinery. Opponents are few (and easy).

2. The target is a railway line. (Extra points for derailing the train.)
  Opponents are few but more aggressive than before.

3. The target is an airfield. More targets enroute. Try to destroy the
  enemy aircraft while they are still on the ground.

4. The target is a radar station.

5. The target is an oil tanker.

6. The target is an aircraft carrier. (Opposition can be expected to
  be fierce.)

7. The target is an enemy missile base. The player must destroy the
  base before it can launch its missiles. A countdown timer will
  be provided.

Game Description - TomCat GSP Jed Margolin Page 2
----------------------------------------------------------------
 
A High-Score table will be kept for each mission, with the time and date the
high score occurred.

The Time-Keeper RAM can be used to periodically introduce additional missions
and mission elements. For example: On a certain date the opponent will receive
a new kind of aircraft. All the games in the country will change on the same
day, WITHOUT THE OPERATOR DOING ANYTHING.
----------------
Hardware: The GSP hardware provides a 3D display with the objects made up
of polygons. The Full Turbo can do about 500 polygons with an
update rate of 20 Hz. It is able to change the memory display
buffer on the fly which makes the instrument panel easier.
It also does PIXBLTs.

    MultiSync Turbo (or Full Turbo for increased performance)
    ADSP Board (For Math)
    A/R Sound Board

Monitor: The hardware will support standard or medium speed, high or
low resolution.

Top Of The Line Game: A sitdown with three 25" Medium Speed Monitors.
Economy Model: An upright with a single low resolution monitor.

Display Format:  512 x 384.  The bottom 128 will be used for the instrument
panel, leaving 512 x 256 for the cockpit window.

The instrument panel will display airspeed, altitude, heading,
fuel remaining, ammunition and missiles remaining, etc.

It will have an area for messages from the aircraft's
computer.

It will have a Radar.


************************ Flying Game - Helicopter ************************

It is remarkably similar to the "Flying Game - Jet Fighter" except the player
flies a helicopter. A helicopter is more effective for dogfights because it
can turn faster than a fixed-wing aircraft.

[Fermer]

Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mars 28, 2016, 08:44:10 PM

Et la une jolie trouvaille. Je suis tombé sur des echanges de mails lié a des bug avec les PCB francaises. Ca permet de savoir qu'en Mars 1989 le jeu semblait etre dispo en france (donc a peu pret au meme moment qu'au US)
Spoiler
To: Pat Brosnan
Fr: Jed Margolin
Dt: 21 March 1989
Re: Problem with Hard Drivin' board set in France



"ADDRESS ERROR" indicates a software bug, possibly because it is trying to
report a hardware problem with the ADSP board that was not simulated in
testing that software version.


Please find out:

1. Was this one of the games at ATE that was sold?

2. What version of software is it? The software version appears on the
  Main Test Menu on all production software.

3. Does the ADSP Test in Automated Self-Test report bad ADSP Memory?

4. Does it do it at the start of the ADSP Test or at the end?

5. Does the game run?



If I know what software release it is I can simulate an ADSP memory error
and determine if the problem is software.
_____________________________________________________________________________

To: Pat Brosnan
Fr: Jed Margolin
Dt: 22 March 1989
Re: Problem with Hard Drivin' board set in France


It sounds like a problem with the ADSP Board.

There are actually two problems:
  1. The game doesn't run.
  2. Self-Test gets an Address Error when it tests the ADSP Memory.
-----------------------------------------------------------------------------
Part 1 (In order to be rigorous about this thing):

1. The most recent software available in English Language, Left Hand Drive
  is Version 8.1  . Please confirm this is what they have. (The software
  version appears on the Main Test Menu.)

2. Does the Driver Main PC Board have the mod to the GSPWAIT circuit?
  This is shown on Drawing No. A044425-01 "ASSEMBLY, SUB, DRIVER MAIN PCB"
  The mod to the GSPWAIT circuit is the mod that starts:

  MODIFICATIONS TO ASSEMBLIES USING 044426-01 REV A,B and C PC BDS:
1. COMPONENT SIDE OF PC BOARD:
  FOLLOW THE TRACE FROM 190E PIN 1 TO THE FEEDTHROUGH.

and so on.

3. Did the game ever run?
------------------------------------------------------------------------------
Part 2:

4. This sounds like a problem on the ADSP Board.

  Could you give them a new ADSP Board and send the old one to me?
  (Sending me the whole board set would be better.)
 
  The reason is that I don't think I have seen this problem before. When I
  test the memory routines I usually pull out the RAMs, one at a time. (I have
  a board set with all the RAMs in sockets.)  This may be a problem that only
  causes this software reporting problem when the RAM errors are at certain
  addresses.

5. Rick has told me it is a chore to be sending boards through Customs and has
  suggested that the main Distributor in each country where we sell these
  games have a spare board set so that individual boards can be more easily
  swapped.  What do you think?
------------------------------------------------------------------------------
Part 3:

6. We will probably do a flying game on Hard Drivin' hardware but it won't be
  much like the TomCat game you saw. And it certainly won't be called TomCat.
  I was really unpopular with management for insisting on doing the game and
  as a result now I only do hardware (and some test programs).


Regards,
_____________________________________________________________________________

To: Pat Brosnan
Fr: Jed Margolin
Dt: 23 March 1989
Re: Problem with Hard Drivin' board set in France


3. Audio problem:

   A. It is possible that in working on the ADSP board the Interconnect Cable
      has become flakey. Try a new one.

   B. If the Interconnect Cable is not the problem:
      If the Sound Wave ROM checksums are bad it could be because the ROM is
      bad or because there are circuit problems. One way to find out is to
      plug the ROMs into an empty socket on the Main Board and do ROM
      checksums in 'Special Functions'.

      Location 200 V is ROM 4 H and 210 V is ROM 4 L. Do not unplug existing
      ROMs. Also, the ROM 7 pair will not work because they are connected
      through Slapstic which is not loaded.

      This only works with 27512s. The Sound Program ROMs are 27256s which
      cannot be checked this way.

4. Spare Board Sets at Distributors: Rick suggests one board set per Customs
  boundary.

5. I am sending you some block diagrams.

6. Erik says he wants his case back first.



Regards,
_____________________________________________________________________________

To: Rick Moncrief 1 of 1
Fr: Jed Margolin
Re: Hardware Status
Dt: 23 March 1989



Driver Main - Color RAM Problem
-------------------------------

I have given Art the real fix for the Color RAM problem, to update the
board.



MultiSync
---------
We have signed off Film and Fab for MultiSync Rev A.

We need to add the Color RAM fix to it; it looks like we will be
able to do it before Purchasing buys boards.

We need to decide on the 40 MHz oscillator module before releasing
the parts list.


Driver Compact
--------------
We have received the boards for the Single Optical Steering Wheel Reader
and for the Dual Optical Steering Wheel Reader. Karen has built some up.
We should test them electrically.



Jed
_____________________________________________________________________________

To: Rick Moncrief 1 of 1
Fr: Jed Margolin
Re: Hardware Status
Dt: 27 March 1989



Driver Main - Color RAM Problem
-------------------------------
We have gone out for Film for the new boards with the real fix for
the Color RAM problem.


MultiSync
---------
Art had Gary do the board even though Joe had been scheduled to do it.

I have received plots and schematics for the MultiSync board and sent the
schematic back with several part value corrections.


Driver Compact
--------------
We have received the boards for the Single Optical Steering Wheel Reader
and for the Dual Optical Steering Wheel Reader. Karen has built some up.
We should test them electrically before they are released.


Pat Brosnan
-----------
I responded to several faxes from Pat Brosnan. It appears that there was a
Hard Drivin' in France that:

Was a production game;
Had Software release 8.1 (English, Left Hand Drive)
The game did not run, it said 'ADSP Timeout' in Attract Mode;
The ADSP Test in Automatic Self-Test said the ADSP RAM was ok;
In 'Special Functions ADSP' the RAM Test terminated in an address
error at 810003 and did not display the board picture.

Not all the information is consistent. Although I explained that I had not
seen that failure before and that it would be really useful if they returned
the board to me, they elected to replace some (all?) the 6264s on the ADSP
Board, thus solving the problem. Now we will never know.

His last fax was that now the Sound Board didn't work, that there were ROM
checksum errors. He didn't say if the checksum errors were Sound Program ROM or
Sound Wave ROM. I relayed Erik's suggestion that the Interface Cable may have
been damaged while they were playing with the ADSP Board. I also suggested
that if the ROM errors were Sound Wave ROMs, he could check them by putting
them in ROM 4 sockets on the Main Board and running the ROM Checksum test.
This would identify whether the ROMs were really bad or if there was a circuit
problem on the Sound Board.

He asked for information about how the hardware worked. I sent him a block
diagram.

I have not received a response.


Jed
[Fermer]


Et la c'est quelques impressions qu'on lui a envoyé au sujet de jeux d'arcade concurrent (japonais)
Le passage sur Power Drift m'intéresse car c'est un jeu qui participe a la transition vers la 3D car l'affichage est 2D en sprite/billboard mais géré en 3D en interne. Mais ici le gars n'en fait pas allusion, il en fait plutot une critique (je sais pas qui c'est, il a peut etre pas les competences pour transmetre des infos pertinentes)
Spoiler
From: ERNIE::RICE         19-AUG-1988 13:00:40.99
To: @SYS$MAIL:JUNK
CC:
Subj: New test pieces from Sega


Two new test pieces are testing at this very moment down at Emerald
Hills Golfland.  Both are from Sega.

1)  Dynamite Dux- looks like a potential kit.  Joystick and two buttons.
                 One button jump and the other is punch.  Gameplay is
                 a Woody Woodpecker character that roams the streets
                 picking up treasures, bombs, guns, and other items
                 using these for fire power against oncoming so-called
                 enemies.  These enemies are believe it or not, moose
                 heads and dog heads.  At the end of the first wave, there
                 is a big Mr. Fire Blaze that he character must put out
                 with the water guns he picks up.  

                 The game is a two player on 25 cents per play.  Not
                 one person played the game while I was there.


2)  Power Drift-  Another expensive looking driving game from Sega.
                 This one is an Outrun perspective dune buggy type
                 driving game.  Has the same graphics as Galaxy Force.
                 These graphics make the game very difficult to play
                 because they are so washed out and it is hard to
                 get a good feel for the track.

                 The player chooses from 5 categories of tracks and
                 starts on one of five tracks within that category.
                 Player must place in what appeared to be a predetermined
                 finish before he can continue.

                 The game has steering wheel, shifter, gas and brake pedals.
                 Coinage is set on 50 cents per play.

If you all have a chance to go out and see these games please do so.  Capcom
is also testing Rough Ranger at Emerald Hills.  This is the Rolling Thunder
rip-off.







From: KIM::RAINS         7-OCT-1987 17:48:42.99
To: @SYS$MAIL:ENGINEER
CC:
Subj: Report from JAA show, Tokyo


FLASH FLASH FLASH FLASH FLASH FLASH FLASH FLASH

  Late report from our man, Dan Van, in the heart of enemy territory, Tokyo,
Japan.  He reports that the JAA show is pretty busy, and there are plenty of
new products being shown.  A quick rundown:

SEGA:  showing AFTERBURNER in 4 or 5 different cabinet configurations,
including a new intermediate cost sit-down.  The program has been updated
slightly, but remains basically the same.  They were also showing a Baseball
game in the same cabinet and on the same hardware as DUNK SHOT.  Excitement
on afterburner is still high in Japan, and among the international visitors
at the show.

NAMCO:  is getting a lot of interest by American and European visitors in
their PACMANIA game.  Dan feels confident that we will have to show this
product at the AMOA and make it available before Christmas.  Namco is also
showing their new linkable cabinet multiplayer driving game, FINAL LAP.
They have four 2-player cabinets linked into an 8-player Pole Position type
game.  Dan isn't sure how significant the product will be, though the game
gets a lot of play at the show.

DATA EAST:  is showing their 3-player Gauntlet-style REAL GHOST BUSTERS game,
but Dan claims it's a bust.  Not to worry....

TATSUMI:  is showing a new first person, 3-D flying game which Dan claims is
graphically superior to Lock-on or Afterburner.  He's not sure if the game is
better than afterburner,  but it looks like someone else is starting to do
some real 3-D stuff.

TAITO:  showed a video machine gun game, OPERATION WOLF, which was apparently
receiving some attention.  Dan says the compact cabinet design was highly
favored as a good concept.

KONAMI:  is showing their 2-player Gauntlet-style game, DARK WARRIOR.  Dan
says the graphics are good, and the view is zoomed in much closer, so the
characters and monsters are more than twice as big as Gauntlet.

KASCO:  has a genuine shooting game.  The player gets 5 shots from a rifle
with pneumatically fired plastic pellets.  He shoots at a moving paper
target, and the machine vends the target at the end of play.  The rifle is
secured to the cabinet by a cable and retaining bar arrangement, but is
probably not safe enough.  The cabinet is about 4' x 8'.


  There were a few other odds 'n ends, but that's the bulk of his report.  
I'll let him fill in the details when he get's back.

[Fermer]





Alors c'est pas classe tout ca?
J'adore entré directement dans l'intimité de cette epoque. la magie d'internet.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mars 30, 2016, 03:39:08 PM
En fouillant dans les archives je suis tombé sur ce mail


CitationFrom:   BERT::WOOD         12-DEC-1988 11:28:45.24
To:   @SYS$MAIL:EVERYBODY
CC:   
Subj:   New Tengen manufactured NES cartridges


The attached news release announces a very important event to all of us.
Over the next few weeks it will attract the attention of this industry,
the media and consumer public.

The information and image we, as employeees, give to the outside world
will have a great impact on how we are perceived.  For this reason,
Rogers & Associates of Los Angeles has been retained to answer ALL
inquiries of our new venture.  In this way the information released can be
accurate, consistent and professional.

Specifically, refer any calls to Ron Rogers or David Ellis at (213) 552-6922.
Your strict cooperation is appreciated.

                TENGEN TO MARKET FIRST INDEPENDENTLY PRODUCED
                     NINTENDO-COMPATIBLE GAME CARTRIDGES;
                 EXPECTS SALES TO MORE THAN DOUBLE NEXT YEAR

SAN JOSE, CALIFORNIA, December 12, 1988 -- Tengen Inc. a wholly-owned
subsidiary of Atari Games Corporation, has introduced the first independently
produced and manufactured Nintendo-compatible video game cartridges.

The company will launch its new line of vide game cartridges with three
current hit titles, including Pac-Man, Gauntlet and RBI Baseball.  The games
will be available at Tengen's national network of authorized retail outlets
immediately.

The new cartridges provide complete compatibility with the Nintendo Enter-
tainment  System (NES).  The Tengen cartridges are manufactured in the
United States and built to the highest quality standards.

Nintendo is the world's largest manufacturer of video game software and
hardware.  Introduced in 1986, Nintendo has gained 100 percent of the
manufacturing market for Nintendo-compatible games, more than 80 percent
of the home video game machines market, and projects 1988 U. S. sales to
exceed $1.7 billion.

The new cartridges were developed in respnse to widespread consumer demand
for Tengen titles, according to Randy Broweleit, Senior Vice President of
Operations.  "In the past, Nintendo was the only manufacturer of NES game
cartridges.  The only way to market games for the NES format was to have
Nintendo produce them.  As a result, Nintendo had total control over the
supply.

"As the popularity of video games increased," Broweleit continued, "both
retailers and consumers became frustrated by the unavailability of some
of our most popular titles, like RBI Baseball and Gauntlet.  Having
control over the manufacturing of our own products became a necessity.

"This development puts us in control of our own destiny," Broweleit said.
"Until now, we were only able to satisfy a fraction of the demand for our
products.  Controlling the manufacturing of our own cartridges will help
bring product supply more in line with actual consumer demand."

Pac-Man, Gauntlet and RBI Baseball will be complemented by four all-new
titles which will be introduced at the Winter Consumer Electronics Show
in Las Vegas on  January 7th.  These include NES-compatible versions of
Atari Games arcade hits, Super Sprint, Rolling Thunder and Vindicators.
Tetris, a unique skill game developed in the Soviet Union, will also be
introduced at WCES.  The new products will be available early next year.\

Tengen will also enter the home computer game market this winter with the
introduction of four new gams:  RBI Baseball, Blasteroids,  Road Blasteers
and Rolling Thunder.  The games will be produced in all popular home
computer formats including IBM, Apple and Commodore.

Headed by President, Hide Nakajima, Atari Games was formed in 1985 as a
result of the break-up of the old Warner Communications-owned Atari Inc.
Atari Games is a manufacturer of quality arcade games, and has extensive
research and development resources.  Over the past 17 years it has
created arcade hits such as Pong, Asteroids, Centipede, Gauntlet and
Super Sprint.

Tengen Inc. was created by Atari Games in 1987 in response to the growing
demand for home entertainment software.  Adapted directly from the most
popular Atari Games arcade games,  Tengen home products have the same
graphic excitement and high-quality sound as the arcade versions.

During its first year, Tengen's initial produce line will general $35
million in revenues.  With the new manufacturing capabilities, Tengen
projects 1989 sales to more than double.

Tengen Inc. is a wholly-owned subsidiary of Atari Games Corporation, and
is headquartered at 1901 McCarthy Boulevard, P. O. Box 360782, Milpitas,
California 95035.  Atari Games is a privately held company and is not
affiliated with Atari Corporation.


:nerd:
C'est chaud comment Atari voulait la mettre profond a Nintendo, je connaissais pas cette histoire, apparemment ca c'est finit par des proces.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mars 31, 2016, 03:57:56 PM
Super scaler vs Megadrive ca fait toujours mal

https://www.youtube.com/watch?v=n1e2hrbSx_k


Y a au moins le tunnel qu'ils ont reproduit (et c'est deja pas facile, ca demande pas mal de bidouille)
Qu'est ce que j'ai pu joué a ce jeu a l'epoque, j'avais bien accroché.
Titre: Re : Re : Hardcore Retrogaming
Posté par: dunmcl le Avril 01, 2016, 02:07:38 PM
Citation de: upsilandre le Mars 31, 2016, 03:57:56 PM
Super scaler vs Megadrive ca fait toujours mal

https://www.youtube.com/watch?v=n1e2hrbSx_k


Y a au moins le tunnel qu'ils ont reproduit (et c'est deja pas facile, ca demande pas mal de bidouille)
Qu'est ce que j'ai pu joué a ce jeu a l'epoque, j'avais bien accroché.

ma megadrive avais plus que chauffé avec ayrton senna monaca gp2....
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 01, 2016, 09:06:13 PM
J'aime bien ces jeux la car c'est que de l'astuce d'affichage (Faut trouver des atsuces pour la deformation de la route qui simule les virages, pour l'alternance de bande de couleur qui simule le deplacement et pour le zoom des sprites) et du coup les astuces sont assez differentes d'une machine a l'autre selon les spécificité hardware.

J'ai bien aimé justement comment ils gerent l'alternance des bandes de couleur sur MD. Au lieu d'utiliser une astuce de modification de la palette de couleur facon "copper bar" comme sur Master System (Out Run, Hang on...) ils utilisent la particularité hardware de la MD qui est sa table de scroll.

(https://lh3.googleusercontent.com/XAdBQWC9hq6N516W6_pJd9a13Nyk_zoBL5nI10eToi2u_p5jdRoTe42YdBPg3S5IwVPTgYxLTj8L7acaAccSXlflWK2dZnv2COsTIahKgyhUBi4MBKHUjjRjVay_ceA-3RBpVjgp9xvocyFqOBXWWdC-XngeOssEZJ543FueLgBLcS_GLCW2b-5Jhp3-Zk3EYRMHv_2Z954EmbW4SyB4x3SywUFcFJpir7cLz67ab8pqclhMnVEjRWgHzajPOjrqgxcfMMkZkR0wRjxnNlsm7ObGsnjAISNmgA9juF7TxctSOXKkeeJW3uFFCJU4ESd7FWz548ymRvy9rvA5tmzGk3FCk3H-ZVpdJ3_0CPC695MyTmA2_H5_woip2fF702DT-SSfqhTbDF5iX-pkZVrlG-iXt31WHgxn84lzXoop6edeauQz6TtJ0-PHc6AuZUykeoEj7-begRzM0M0BgEddTWCnkJMmUwZXhvfz2ZeJNM829Sp-xGrNi3RRS27k-0j588-odSH1Eensype0029GRcrRDWW-K-OlS6IbuuGEkXGqD6ZYfRN53voEXfX17ZvaAxgB=w1165-h448-no)



Ils ont 2 versions de la route en VRAM avec des couleurs differentes, l'une au dessus de l'autre et comme la table de scroll permet de changer les valeurs de scroll horizontal et vertical a chaque ligne ils l'utilisent a la fois pour deformer la route (scroll horizontal) lors des virages mais aussi pour le swaping de couleur des bandes grace au scroll vertical qui permet a n'importe quelle ligne ecran de switcher entre les 2 versions de la route juste en faisant un gros scroll vertical imposé de faocn autonome par la table de scroll.
Du coup ils font tout d'un coup avec la table de scroll, et ca permet de gérer plus finement le deplacement des bandes de couleur (a la ligne pret) et sans bouffer un paquet de place dans les palettes (qui est deja le point faible de la MD, y en a seulement 2x plus que sur Master System).
Franchement cette table de scroll de la MD c'etait vraiment cool, ca sert a plein de truc (c'est sa seul particularité hardware mais elle est sympa, tres "arcade" dans l'esprit)
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 02, 2016, 06:06:35 PM
Marrant ce Pacman, je connaissais pas

https://www.youtube.com/watch?v=TSGnVtYFJ-g
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 03, 2016, 06:36:35 PM
Ca fait pas tres longtemps que j'ai appris que OutRun etait un jeu 30fps en arcade, ca m'a toujours rendu un peu sceptique cette histoire car j'en ai pas trop le souvenir et ca m'interrogeait sur les autres jeux Sega de l'epoque du coup j'ai voulu verifier une bonne fois pour toute. Alors pas en emulation car j'ai toujours peur du biais (meme si des emulateurs comme mame normalement simule bien le hardware) et ne connaissant pas de lieu ou trouver des bornes facilement j'ai cherché des video des jeux d'arcade d'origine sur Youtube.
Bien entendu on trouve jamais de video 60fps (bien dommage, et puis quand tu veux youtube tu met un filtre 60fps dans le moteur de recherche) mais pas grave on peut se debrouiller avec des video 30fps, faut juste trouver des video de gars qui film une borne avec une camera (pas de la capture video direct) et comme la camera finit toujours pas se desynchro avec l'ecran du jeu tu arrives toujours (si la camera a un temps d'obturation suffisant) a voir si y a 60 frames differentes ou seulement 30.

Apres 2 ou 3 heures a chercher des videos, les downloader (pas loin d'une vingtaine) et les analyser a la frame je peux effectivement confirmer. OutRun en arcade est bien un jeu 30fps mais surtout ce n'est pas le cas de HangOn et SpaceHarrier sortie avant ni de AfterBurner sortie apres.
Quand on sait que meme lorsque Sega s'est mis a la 3D ils ont attaqué directement avec du 60fps (contrairement a Namco ou Atari) est ce que Outrun pourrait etre le seul jeu d'arcade 30fps de Sega? Si jamais quelqu'un croise Douglas un jour peut etre que lui en connait d'autre.
Ca serait une anecdote amusante pour l'histoire de Outrun (la je pense a pipo) et puis ca alimente les debats toujours d'actualité sur le 60fps.


(http://www.hardcoregaming101.net/outrun/outrunarcade-05.png)  (http://www.hardcoregaming101.net/outrun/outrunarcade-09.png)


Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Avril 03, 2016, 08:24:30 PM
C'est vrai que c'est surprenant ! Vraiment bon boulot !
Titre: Re : Re : Hardcore Retrogaming
Posté par: dunmcl le Avril 03, 2016, 08:28:02 PM
Citation de: upsilandre le Avril 03, 2016, 06:36:35 PM

Quand on sait que meme lorsque Sega s'est mis a la 3D ils ont attaqué directement avec du 60fps (contrairement a Namco ou Atari) est ce que Outrun pourrait etre le seul jeu d'arcade 30fps de Sega? Si jamais quelqu'un croise Douglas un jour peut etre que lui en connait d'autre.
Ca serait une anecdote amusante pour l'histoire de Outrun (la je pense a pipo) et puis ca alimente les debats toujours d'actualité sur le 60fps.


Apres avoir fait le pod sur les 30ans de space harrier avec doug , j'essayerais de m'en rappeler si on fait les 30 de outrun ^^
Titre: Re&nbsp;: Hardcore Retrogaming
Posté par: pippoletsu le Avril 03, 2016, 08:43:33 PM
Appelle moi si vous le faites :o
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 03, 2016, 10:02:50 PM
Du coup avec mes tests indépendant j'ai pu confronter Mame et donc verifier qu'effectivement on retrouve bien les framerates que j'ai trouvé, ca se recoupe. Et donc en validant Mame ca me permet de pouvoir continuer les tests sur Mame avec une relative confiance (a coup de fraps pour faire des captures 60fps et verifier histoire de pas me fier seulement a mes yeux surtout sur un moniteur LCD)

Donc dans Mame aussi OutRun est bien a 30fps (par contre ca m'a permis de remarqué que le scrolling du background au loin est a 60fps, tout le reste, la route, le decors, les vehicules, sont bien a 30fps)
Hang On 60fps
Space Harrier 60fps
Super Hang On 60fps
Enduro Racer 60fps
Thunder Blade 60fps
After Burner 60fps
Super Monaco GP 60fps

Donc Out Run semble bien etre l'exception de Sega
En faite j'ai trouvé un autre jeu Sega a 30fps... Turbo Out Run  :| (et lui meme le scrolling du background est 30fps...)
Comment tu le vie Pipo d'etre la groupie d'un jeu qui jette l'opprobre sur toute la production Sega  :o :vice:

Si vous avez une idée de jeu Sega a tester?


Titre: Re&nbsp;: Hardcore Retrogaming
Posté par: pippoletsu le Avril 03, 2016, 10:39:00 PM
La musique, le reste, même à 2 fps ne suffirait pas à limiter ma passion pour ce jeu.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 03, 2016, 10:58:12 PM
Par contre apparemment y a pas mal de jeu Sega 3D qui tourne finalement en 30fps sur Mame (notamment Model 1). L'emulation 3D c'est plus delicat donc faudrait verifier mais ca a l'aire de coller (notamment parce que le scrolling du background de VF et de VR sont bien en 60fps malgres l'affichage 3D 30fps). C'est pas le souvenir que j'en avais meme ca me surprend pas non plus.

Mais bon la 3D ca compte pas, y a meme des jeux d'arcade a 10fps en 3D, ca change pas que si OutRun est le seul jeu 2D 30fps de Sega c'est quand meme la honte  :o  :D
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 04, 2016, 02:28:25 PM
La j'essai surtout de reconstruire la chronologie des premiers jeu 3D Flat.
En général les dates indiqué ne sont pas les bonnes (souvent les dates associé aux jeux sont celle du copyright de l'ecran titre mais qui ne correspond pas toujours a la commercialisation a cause des retard de fin de développement)
Par exemple Hard Drivin n'est pas sortie en 1988 mais en Fevrier 1989 a cause de conflit interne (du coup ca le met apres Winning Run sortie en decembre 1988 au japon).
I Robot qui etait prevu pour 1983 serait finalement sortie en juin 1984 a cause de difficulté technique.
Du coup est ce que c'est le premier du genre car y a aussi Cube Quest qui rasterise des polygones (melanger a de superbe background en video sur laser disc et qui inspira des jeux comme Galaxian 3) et qui sort a la meme epoque.
Difficile de trancher.

J'aime beaucoup cette article de decembre 1983 tres intéressant sur "l'avenir de l'arcade" avec notamment le laser disc et la 3D.
http://www.dragons-lair-project.com/community/related/articles/allgames/pic1.gif
http://www.dragons-lair-project.com/community/related/articles/allgames/pic2.gif
http://www.dragons-lair-project.com/community/related/articles/allgames/pic3.gif
http://www.dragons-lair-project.com/community/related/articles/allgames/pic4.gif
http://www.dragons-lair-project.com/community/related/articles/allgames/pic5.gif
http://www.dragons-lair-project.com/community/related/articles/allgames/pic6.gif

On trouve justement un interview d'un ingé de Cube Quest encore en développement et juste apres on trouve un interview aussi de Sherman de chez Atari, le nom du jeu encore en développement n'est pas evoqué mais je l'ai reconnu (et le nom du gars aussi que j'avais deja repéré), c'est bien I Robot dont il est question, aucun doute.
Tres cool de les avoir tous les 2 dans cette article. Le témoignage coup sur coup des 2 premiers jeux en 3D flat a ce moment la encore en développement, c'est emouvant, le debut de la revolution 3D (le wireframe et l'affichage vectoriel je trouve que c'est encore un autre monde).

En recoupant d'autre interview j'ai l'impression que Cube Quest serait sortie en janvier 1984. Ca pourrait donc etre le premier a rasteriser des polygones. De son coté Sherman dit que son jeu est le premier du genre.

C'est pas tres important, les 2 sorte a peu pret en meme temps, perso j'ai une préférence pour I Robot. Deja c'est uniquement de la 3D (pas melangé avec de la video qui est presque un autre genre) avec pas mal de polygone (plus que Cube Quest) et y a meme du shading notamment sur le visage/boss en rotation (ca aussi c'est une premiere, un visage modelisé en 3D dans un jeu).

Atari avait crée un chip graphique custom pour ce jeu qui etait un veritable rasterizer de polygone, le premier en arcade. C'est curieux qu'il n'y ai pas eu de suite niveau hardware. Le jeu a bidé et c'est comme si ensuite Atari avait abandonner l'idée de faire des chip custom en interne dans leur labo ce qui explique peut etre qu'on a ensuite attendu quasiment 5 ans pour avoir Hard Drivin en 3D (et rien entre les 2) cette fois avec des chip générique obtenu chez des fournisseurs type Texas Instrument (et quand meme pas mal d'astuce d'ingenierie interne pour transformer le bus 16bit du TMS34010 de TI en bus 128bit et avoir un fillrate a la hauteur des besoins).

Ca explique aussi peut etre que Hard Drivin marque un peu le passage de relais vers les japonais et la perte de leader ship d'Atari sur la 3D car face a Hard Drivin sort Winning Run de Namco sensiblement plus impressionnant, c'est le debut du system 21 (et la y a du chip custom a priori) et de la guerre Namco/Sega.
Peut etre que si I Robot n'avait pas bidé les choses aurait ete differente. D'ailleurs Sherman voulait faire un jeu de course mais son hardware n'etait pas encore assez performant pour ca du coup ca a ete I Robot, avec un jeu de course c'est sure que ca aurait ete plus marquant sans doute.

Je vais me faire I Robot en emulation, apres avoir creusé c'est vraiment un jeu historique, je veux l'experimenté plus profondement.


Cadeau bonus. L'une des track video de Cube Quest mais qui servait uniquement pour le test mode :)

https://www.youtube.com/watch?v=KnNwatyEnE8


Ce qui est marrant c'est que le prototype "proof of concept" de Cube Quest a ete fait sur Vectrex avant que le hardware arcade en soit pret.
Titre: Re : Re&nbsp;: Hardcore Retrogaming
Posté par: dunmcl le Avril 04, 2016, 03:44:11 PM
Citation de: pippoletsu le Avril 03, 2016, 08:43:33 PM
Appelle moi si vous le faites :o

ah bon , tu aime outrun toi?  :D
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 05, 2016, 01:04:36 PM
https://www.youtube.com/watch?v=JYnzCJdtfOo


Je sais pas si la version NeoGeoCD est parfaitement representatif de la version NeoGeo mais meme en l'etat on voit que la PS n'arrive pas a reproduire la qualité d'animation des personnages et surtout les explosions (qui prennent tres chere que ce soit en nombre de frames mais aussi en résolution)
Alors c'est pas une questions de performance car la version PS est plus fluide, mais bien une question de quantité de RAM encore une fois. Difficile de simuler les plus grosse cartouches NeoGeo.
Titre: Re : Re : Hardcore Retrogaming
Posté par: dunmcl le Avril 05, 2016, 10:13:34 PM
Citation de: upsilandre le Avril 05, 2016, 01:04:36 PM



Je sais pas si la version NeoGeoCD est parfaitement representatif de la version NeoGeo mais meme en l'etat on voit que la PS n'arrive pas a reproduire la qualité d'animation des personnages et surtout les explosions (qui prennent tres chere que ce soit en nombre de frames mais aussi en résolution)
Alors c'est pas une questions de performance car la version PS est plus fluide, mais bien une question de quantité de RAM encore une fois. Difficile de simuler les plus grosse cartouches NeoGeo.

Normalement pas de differences sur metal slug 1 aes ou neocd , çà commence a changer a partir du 2
Titre: Re : Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 06, 2016, 05:51:57 PM
Citation de: dunmcl le Avril 05, 2016, 10:13:34 PM
Normalement pas de differences sur metal slug 1 aes ou neocd , çà commence a changer a partir du 2
Oui faut quand meme que la cartouche soit grosse pour que ca pose probleme.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 06, 2016, 05:52:05 PM
(http://cdn.gamer-network.net/2015/usgamer/Amstrad-GX4000-Header.png)


J'ai creusé un peu plus la GX4000 d'Amstrad et c'est vraiment du caca cette machine.
Elle sort en meme temps que la SNES et la NeoGeo au japon mais n'atteint meme pas la qualité des jeux NES et SMS (et je parle meme pas de la PCE sortie 3 ans avant qui l'explose)

Je me souviens encore tres bien de la sortie de la machine en France. Elle a vraiment fait partie de l'actualité et a eu une veritable campagne marketing. Elle a ete réelement traité dans tout les journaux specialisé comme une veritable nouvelles machines (rien a voir avec une C64GS par exemple) , elle etait meme sur les salons de jeux video. Mais le bide fut rapide (26 jeux).

Donc la machine sort fin 1990 et est basé sur de nouveau chip custom comme une evolution des micro CPC d'Amstrad (et qui va donner une nouvelle gamme de micro en meme temps que la sortie de la GX4000)
Quand tu lis rapidement la fiche technique tu peux etre surpris que les jeux soit au final meme pas a la hauteur des 8bit, on pourait penser l'inverse (ne serait ce que par logique) et c'etait mon cas a l'epoque, j'avais suivie un peu les infos sur la machine, mais en entrant un peu dans les details tu comprend:


-- La resolution
Deja la tres gros probleme car si tu lis la fiche technique on va te dire que ca monte jusqu'a 640x200 (c'est en fait les meme resolution que sur CPC) sauf que ca c'est pour du monochrome. Le seul mode utilisable (et utilisé) pour les jeux comme sur CPC c'est le mode 4bpp et c'est alors du 160 pixels de large, c'est a dire qu'on revient 10 ans en arriere a l'epoque de l'intellivision car dès l'arrivé du TM9918A dans la Colecovision en 1982 on est definitivement passé au 256 pixels comme standard sur console.
Donc on se retrouve avec une console qui propose la meme resolution que les consoles portable de l'epoque (Gameboy, GameGear, Lynx). Deja la c'est tres mal barré quand meme.

-- Les couleurs
La on t'en met plein la tronche dans la fiche technique avec les "4096 couleurs" qui est l'une des upgrade par rapport au CPC sauf que il sagit juste ici de la palette globale, c'est a dire la finesse du DAC. Effectivement ca coute rien du tout a cette epoque de mettre un DAC 12bit et une petite CRAM 12bit d'autant que ca demande pas de modification dans l'architecture GPU , c'est d'ailleurs ce que Sega a fait au meme moment avec la Gamegear qui est une Master System dont le DAC passe de 6bit a 12bit car justement c'etait facile a faire.
Mais si ca donne en effet plus de liberté artistique c'est pas ca qui modifie le plus important a cette epoque qui est le nombre de couleur affichable a l'ecran et la GX4000 c'est du 4bpp comme une Master System sauf que c'est du bitmap et pas un affichage par tuile donc tu n'a qu'une seul palette 4bpp (16 couleurs) pour tout le background la ou sur Master System tu peux piocher dans 2 palettes 4bpp.
En fait les 2 machines ont seulement 2 palettes 4bpp en tout donc le meme nombre de couleur affichable a l'ecran (une trentaine) sauf que sur GX4000 chacune des palettes a une fonction fixe (une qui sert pour le background et l'autre pour les sprite) alors que sur SMS tu peux utiliser les 2 palettes pour le background (et une seul des 2 pour les sprites)
Donc meme avec son DAC 12bit difficile de dire que la GX4000 a l'avantage sur les couleurs car  seulement 16 couleurs affichable pour le background contre 32 sur SMS (et face a la Gamegear qui a aussi un DAC 12bit y a plus debat) a moins de faire un raster effect pour faire un degradé de ciel en dehors de ca l'avantage est dérisoire.

-- Le scrolling
On t'annonce un support hardware du scrolling. Alors oui ils ont ajouté un petit registre pour permettre d'avoir un offset sur l'image au pixel pret alors que sur CPC si tu pouvais deja deplacer un pointeur dans le framebuffer c'etait avec une granularité de 2 octets (donc tous les 4 pixels).
Donc c'est cool tu peux faire maintenant du scrolling au pixel comme sur console sauf que la force du scrolling d'une NES ou d'une SMS c'est pas seulement de pouvoir deplacer facilement le pointeur d'affichage au pixel dans le framebuffer, c'est aussi d'avoir un affichage par tuile qui est tres leger a mettre a jour (car quand tu fais un scroll faut bien mettre a jour ton framebuffer pour faire apparaitre le nouveau decors a moins de boucler sur un seul ecran) alors que sur GX4000 c'est du bitmap donc faut mettre a jour des pixels pas juste des pointeurs de tuiles.
Par exemple sur SMS lors d'un scroll horizontal t'as juste besoin de deplacer 48 octets tous les 8 pixels. Sur GX4000 il faudra deplacer 16 fois plus d'octets. Du coup comme ca demande bien plus de donnée a deplacer c'est forcement pas le meme usage, et d'ailleurs on retrouve sur les jeux GX4000 l'usage de gros HUD qui prennent un tiers de l'ecran pour reduire la zone de jeu et alleger le scrolling.
Donc sur le scrolling aussi la GX4000 se fait demonter par les 8bit.

-- Les sprites
C'est le plus gros changement par rapport au CPC. Un vrai support hardware de sprite comme dans une console. C'est généralement le critère qui te fait entrer dans le monde console.
Alors on t'annonce 16 sprites, ca fait peu par rapport aux 64 sprites de la NES et la SMS sauf que c'est des sprites de 16 pixels de larges (contre 8 sur NES et SMS) et c'est vraiment le nombre de sprite supporté par le pipeline. La NES et la SMS sont plutot des consoles qui supporte seulement 8 sprites (la limite affichable par scanline) mais combiné a un support hardware avancé de multiplexage de sprite qui permet au GPU de modifier a la volé ces 8 sprites pendant le balayage pour augmenter artificielement le nombre de sprite a l'ecran et de pouvoir gérer alors de facon autonome une liste de 64 sprites. Ce support hardware du multiplexage de sprite est venu encore une fois avec le TMS9918 et la Colecovision et est devenu le standard (meme sur 16bit).
De ce point de vu la GX4000 est donc encore une fois plus archaique que les 8bit car y a rien niveau hardware pour t'aider a gérer plus de sprite a l'ecran mais par contre ca veut dire qu'elle peut donc réelement afficher 16 sprites de 16 pixels sur la meme scanline donc ca a priori c'est cool (c'est superieur au 8bit et leur 8 sprites de 8 pixels).
Donc on se dit qu'il suffirait de faire du multiplexage en software a la main (comme sur Intellivision ou C64) pour avoir quelque chose qui cette fois surpasse les 8bit... Sauf que l'integration hardware des sprites est d'un tel archaisme que c'est impossible.
Pour afficher les sprites sur GX4000 il faut deplacer directement les patterns (donc les 16x16 pixels) dans une memoire interne plutot que de simplement modifier un pointeur vers ces patterns. Sur les consoles (meme sur Intellivision) pour modifier l'apparence d'un sprite t'as juste a changer un pointeur dans un registre pour qu'il pointe sur une autre pattern, c'est juste un ou 2 octets a modifier. Sur GX4000 il faut changer directement toute la pattern 16x16 et pire que ca, malgres que les pixels soit 4bpp il faut faire des acces de un octet pour chaque pixels individuel (au lieu de pouvoir en modifier 2 a al fois) donc pour modifier l'apparence d'un sprite 16x16 (par exemple pour l'animer, ou le remplacer par un autre une fois sortie du champ) il faut deplacer 256 octets alors que sur SMS tu modifie 2 octets et c'est bon.
Donc y a meme pas d'espoir de pouvoir s'amuser a faire du multiplexage de sprite en software pour augmenter le nombre de sprite a l'ecran, tu te retrouve un peu coincé avec tes 16 sprites lourd a modifier (au moins y a pas de risque de clignotement).
L'integration hardware des sprites est d'un archaisme absurde qui gache tout. on retrouve aussi cette archaisme dans l'absence de flipping des sprites (qui existe pourtant sur Atari 2600 et Intellivision, la on est en 1990...) donc pour simplement retourner ton personnage va falloir deplacer des centaines d'octets (et bouffer de la place sur la cartouche.
Du coup meme niveau sprite difficile de dire que la machine a un interet par rapport aux 8bit, y a des elements trop archaique qui gache tout.


A coté de ca on a aussi les meme limites de cartouche que sur les consoles 8bit (128Ko ou 512Ko max), meme le pad est un pad 8bit. Y a vraiment rien a récuperer de cette machine. Et je vous ai pas fait l'affront de la comparer a des consoles 16bit ou meme a la deja vieille PC-Engine car ca serait un carnage.
C'est vraiment une honte en terme d'ingénierie pour cette epoque.
Titre: Re : Re : Re : Re : Hardcore Retrogaming
Posté par: dunmcl le Avril 06, 2016, 06:36:28 PM
Citation de: upsilandre le Avril 06, 2016, 05:51:57 PM
Oui faut quand meme que la cartouche soit grosse pour que ca pose probleme.

en generale les jeux superieur au fameux "330mega"
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 07, 2016, 01:44:15 PM
Citation de: dunmcl le Avril 06, 2016, 06:36:28 PM
en generale les jeux superieur au fameux "330mega"
J'ai jamais compris d'ou leur venait ce chiffre limite de 330 Mega qu'ils affichaient fièrement parce que c'est pas une limite qui vient de l'architecture de la NeoGeo qui dès le depart est capable d'adresser 1024 Mega rien que de ROM graphique (sans compter le son qui peut monter a 256 Mega et le code). Les mappers ne sont apparu que pour etendre les ROM de code 68000 au dela de 8 Megabit.
A priori 330 Mega c'est pile ce que t'obtient en te limitant a un quart du potentiel graphique et audio que peut adresser la machine nativement. C'etait sans doute une  limite lié a la taille des chip ROM de l'epoque mais donc ca ne pouvait qu'etre temporaire.


Sinon j'ai profité de mes congés et de ma nouvelle connection fibre pour enfin archiver en video (avant d'oublier et de les perdre) les petits exercice homebrew que j'avais fait.
Du coup avec la fibre je me suis pas fait chier, j'ai fais des enregistrements HD 60fps en raw avec fraps et j'ai uploadé directement les fichiers brutes de plusieurs Go, en quelques minutes c'etait reglé   :cool:


https://youtu.be/jMZXb51qYfg


https://youtu.be/cV1H5QD9vfw


https://youtu.be/KuPjskJl4Ug


https://youtu.be/Zes2P_WYt3Y


https://youtu.be/cJJgydLyHFU
Titre: Re : Hardcore Retrogaming
Posté par: Drizzt_daermon le Avril 08, 2016, 02:08:32 PM
Encore une fois, quel travail upsilandre  :roll2:
Dis moi, tu peux proposer une thèse vu la quantité de boulot que tu abats (c'est peut être le cas d'ailleurs?)
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 08, 2016, 03:59:38 PM
Je prend plein de notes mais une thèse non   :D
Un truc que j'aimerais bien faire c'est une chaine youtube sur le sujet ( l'histoire et l'ingénierie du retrogaming) pour plusieurs raison.
- le vocale ca a des avantages par rapport a un gros pavé ecrit, je sais que moi j'ecoute des debats ou des conferences qu'il ne me viendrait pas a l'idée de lire a l'ecrit. Ca permet de faire autre chose en meme temps.
- J'aimerais beaucoup faire des illustrations animé pour expliquer certain truc.
- J'ai plein de truc a dire meme si y aura toujours plus legitime.
- Je trouve rien sur le sujet dans le paysage francophone.

Mais bon je sais pas par ou commencer notamment quelles outils utiliser pour faire des illustrations animés, du montage...
A choisir je préférerais que d'autre le fasse (par exemple j'adorais une chaine youtube Douglas Alves :D y a vraiment pas grand chose sur le sujet ) mais parfois ca me manque de créer quelque chose peu importe quoi donc je pourrais le faire moi meme. Idéalement je voudrais plutot coder des jeux retro mais c'est encore infiniment (et c'est peu de le dire) plus chronophage que de faire ce genre de video (qui serait deja un boulot enorme).
Disont que ca fait partie des choses que je ferais si je trouvais le moyen de ne plus avoir besoin de travailler (quand vous voulez le revenu universel pour tous  :o :p )
Titre: Re&nbsp;: Hardcore Retrogaming
Posté par: dheen le Avril 09, 2016, 09:13:39 PM
Citation de: upsilandre le Avril 08, 2016, 03:59:38 PM
Je prend plein de notes mais une thèse non   :D
Un truc que j'aimerais bien faire c'est une chaine youtube sur le sujet ( l'histoire et l'ingénierie du retrogaming) pour plusieurs raison.
- le vocale ca a des avantages par rapport a un gros pavé ecrit, je sais que moi j'ecoute des debats ou des conferences qu'il ne me viendrait pas a l'idée de lire a l'ecrit. Ca permet de faire autre chose en meme temps.
- J'aimerais beaucoup faire des illustrations animé pour expliquer certain truc.
- J'ai plein de truc a dire meme si y aura toujours plus legitime.
- Je trouve rien sur le sujet dans le paysage francophone.

Mais bon je sais pas par ou commencer notamment quelles outils utiliser pour faire des illustrations animés, du montage...
A choisir je préférerais que d'autre le fasse (par exemple j'adorais une chaine youtube Douglas Alves :D y a vraiment pas grand chose sur le sujet ) mais parfois ca me manque de créer quelque chose peu importe quoi donc je pourrais le faire moi meme. Idéalement je voudrais plutot coder des jeux retro mais c'est encore infiniment (et c'est peu de le dire) plus chronophage que de faire ce genre de video (qui serait deja un boulot enorme).
Disont que ca fait partie des choses que je ferais si je trouvais le moyen de ne plus avoir besoin de travailler (quand vous voulez le revenu universel pour tous  :o :p )

Et pourquoi pas proposer a Hobes un thématique?
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 09, 2016, 09:54:16 PM
C'est trop un truc de niche, c'est trop excluant, ca collerait pas.
Mais des petites video de geek pour des geek avec des petites animations fait main pour illustrer les expliquations un peu techniques, décortiquer une vielle machine, decortiquer un vieux jeux, raconter l'histoire du scrolling, l'histoire du sprite... ca ca serait cool.
Titre: Re&nbsp;: Hardcore Retrogaming
Posté par: dheen le Avril 10, 2016, 09:30:30 AM
Citation de: upsilandre le Avril 09, 2016, 09:54:16 PM
C'est trop un truc de niche, c'est trop excluant, ca collerait pas.
Mais des petites video de geek pour des geek avec des petites animations fait main pour illustrer les expliquations un peu techniques, décortiquer une vielle machine, decortiquer un vieux jeux, raconter l'histoire du scrolling, l'histoire du sprite... ca ca serait cool.

Hum pas plus que certaine analyse d'Alphonse qui grace a son talent deviennent simple ☺ je pense que tu sous-estime le tien en terme de vulgarisation. Mais si tu fais des petites video sur le sujet je suis preneur !!!!!!
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Avril 10, 2016, 10:33:07 PM
Moi aussi, vraiment c'est passionnant, j'ai pas eu le temps de lire tes derniers articles mais je soutiens !!
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 10, 2016, 10:43:29 PM
30 ans apres quelqu'un a decouvert un nouvelle easter egg dans Punch out NES qui est aussi une astuce de gameplay
http://fraghero.com/gamer-discovers-new-mike-tysons-punchout-easter-egg-29-years-after-its-release/


J'ai ete surpris que ca n'ai pas ete decouvert plus tot juste en regardant le tileset.
Du coup j'ai regardé de plus pret a l'interieur de la RAM video et effectivement ca aurait pu etre trouvé bien avant car la tuile associé a l'animation de ce spectateur est effectivement rangé a part... avec l'animation d'un autre spectateur qui semble aussi unique et qu'on ne voit pas bougé normalement c'est celui avec les lunettes qui se trouve dans la meme position que le barbu mais a droite. Y a forcement quelque chose de spécial avec lui aussi mais comme je suis pas un spécialiste de Punch Out c'est peut etre deja quelque chose qui est connu, sinon on a alors l'occasion de faire une premiere mondiale!  :ouch:

(https://lh3.googleusercontent.com/KS1sAPha_gL42UCBT8AxlEwjMF6xgfwgUeYwihnh2_GIRnRIIwlL4qEgOowQ9XFWldi9E4jGCA_aYYR3VCyTZcyNlfafbjG3wCutc61uBfMeTPF-DQyaIBg5eaOkc7wkr3WIVhLWCINiU8kherK0HiMyQ-n6uyb_36JJ-2ZcWx2__bxMqgC6lxTze-mYQIWFpGOfS34_p5OnwRyzxYdt6CCtkdDEvITRkgP2Kx3MYXlkxFosD5SxlgpFe8zl7K226U7VxUoEWeZ-DSMZXrW6o8W74w2ICTz4sRIzNchzUQAwB1HFbbN-MMXE9yEpAjzq5X_R2O6HpVKBeDL4hrTJ9slNbz2fUihkVRm2KFuDR2K1H5XKQBeMJXEk2-zLcaZWCqecW6oVI2brgppCX9-P3w57S_uU3l13eZxz5nCdpizxXxKRrn_lcWZl7rERRvbyx3Pyo8fMW2J8jFmGkiJ-ktVm23MgMz5pDtZ3Rid8BOhpOD3bUTLVaWzhMIIVZcU_mNvh8kDUZwHZrkvxF836UN7lQqFkW-cwTTxfzx20sY1lH1I5ah97OsObL11c2TswBQFN=w1063-h526-no)
https://drive.google.com/file/d/1KZBqVq346bZXrCJz13fz7IqCLsAQnVPfnw/view?usp=sharing

Dans le tileset a gauche on voit les tuiles des spectateurs

- en bas j'ai entouré en bleu ciel les tuiles qui correspondent a la bande principale de spectateurs ainsi que leur animation, on y voit deja le barbu et le gars a lunette mais sans leurs animations.
- en jaune j'ai entouré les tuiles qui servent aux animations des flash des appareils photo a la fin d'un match
- en rose j'ai entouré les tuiles qui correspondent plutot aux spectateurs de la bande la plus haute
- en rouge les tuiles spéciales des spectateurs qui sont sur les cotés collés aux poteaus et qui necessite donc une tuile graphique special.

- Et tout en haut j'ai entouré en vert la second frame du barbu... et de ce qui semble etre l'homme a lunette. Comme par hasard ils sont tout les 2 isolés dans le tileset et comme par hasard ils ont tous les 2 une position particuliere dans le public (et symétrique) et sont statique, il ne sont jamais animé... sauf que pour le barbu on vient de voir que son animation sert a indiqué un coup special d'un boxer, pour l'homme a lunette c'est obligé qu'il serve aussi de cette manière?
Reste plus qu'a trouver (a moins que ce soit deja un truc connu dans ce cas oubliez ce que j'ai dis), faut que tous le specialiste de la NES ici present enquete (ne serait ce qu'en visionnant des video youtube)
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 10, 2016, 11:41:11 PM
J'ai fais une recherche préliminaire sur la ROM et autant je trouve les instructions CPU qui trahissent vraisemblablement l'animation du barbu, autant je trouve pas de trace des instructions CPU qui pourrait trahir une animation de l'homme a lunette, il semble définitivement figé (malgres l'existence d'une frame d'animation le concernant).
Je pense que les devs s'etaient bien réserver au depart la possibilité futur effectivement d'utiliser 2 spectateurs speciaux comme des astuces caché de gameplay mais qu'au final ils en ont exploité qu'un seul dans le jeu final (et n'ont donc pas utiliser la frame d'animation de l'homme a lunette qui est quand meme resté dans le tileset)
A mon avis c'est pas la peine de chercher
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Avril 11, 2016, 08:27:40 PM
mhhh, tout de même intéressant à noter.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 11, 2016, 09:56:37 PM
Oui ca fait au minimum une anecdote, si on vous dit
- "tiens tu savais que le barbu la derriere il fait un signe pour signaler un coup spécial?"
vous aurez qu'a repondre
- "et toi tu savais que le gars a lunette a droite il etait prevu qu'il ai une fonction semblable, l'idée a ete abandonné mais il en reste une trace dans la rom"
succes garantie car ca il ne pourra pas le savoir  :cool:
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Avril 12, 2016, 11:39:46 AM
 :lol:
Briller lors d'un dîner mondain grâce à Upsilandre !
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 12, 2016, 01:29:38 PM
Avec une probabilité de 0.00000000000000000001%
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Avril 12, 2016, 08:13:19 PM
j'avoue
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 14, 2016, 11:59:42 AM
Apres SMB3 je me suis fais Contra sur NES.
Tout le monde connait la difference Contra/Probotector mais je sais pas si tout le monde connait la difference entre Contra US et le vrai Contra Jap.
Faut savoir que le vrai Contra jap c'est une cartouche 256Ko alors que le Contra US ainsi que Probotector sont des cartouches 128Ko. On comprend tout de suite que ca sera pas le meme jeu.

Ce qui a disparu dans les versions occidentales ce sont les sequences narratif illustré (notamment toutes l'intro) tres gourmande en espace mémoire mais qui contextualise le jeu et sont quand meme importante. Ainsi que la map facon Ghost'n goblins en introduction de chaque level et donc la aussi on perd en contextualisation, ca change l'aire de rien la perception du jeu.

Ensuite on a perdu aussi sur l'aspect graphique ingame. Toute les animations de background ont été retiré.
Par exemple l'animation des arbres dans le premier level ou celle de tous l'environnement du dernier level

(https://lh3.googleusercontent.com/6nEArMepBvUgOcSyarocxvnsBuER-OOGHOZNa_ifKx4JarQSn31ZzYaF4ibpunwDl8WEmIavZFjMvPVezIzy8QH05DSDsyyyoclqR6NnnqnjZfAd_Ez50uz6k3bOub1_F00jtVgOGsHxpSgLPWhxXNIgblDs8gEpuUuuKaVbAI3-z18-50AjnRNLmLtyv8fzOY13cGuB7Lp50wR1VqBdYfq7b1Dsc98aW_cI92TvWg5tWq-of1YhjO70g_kOnKnPvV5hj2JZ-ApoSrHn86NjL2dblC12XnHgLr2Ug3qVNqJmCqlxQ609sKLxU8wVy3KeAcBFpS9OLWX9AJE7grfJVbQaW4CjuUbRrwu--08DSInjV-LG5jtvwrEbZa_NXtYgK3K4P_rd-jrgNzdU79Dh63qMIW4fQaPeAnC5XeTWFNVGjxfKtq0LnF8i2b3n7qqvLgVsADZVnPogWnDwvE4DmuZWPfaJrScAGJ_GbBq0sLoNR63P_QVxrLPxp3O9JI-L_7ilX6pnKDPJz9yypqEVM_IYTWsvtkUaHwX2AwXLuw_Vm2w7o9hkIc1DWcHFvqmEv7r0=w256-h240-no) (https://lh3.googleusercontent.com/9POWNtUFbcBxm2_2QFSEOtGDQ5xyz0RaBcyQvlfRhMgDNiHq3GRchkfE1SVKJRg5CB3ZH0Tum2kSgnHQ2U5xhMu6hAZq_GEB2gOLxHV1LbJgz5JBnr9GrTY7fwuj77pK5HHI7vxlITqnEAJWjS1HCjFyTdRYyJTmiQIRCcq22iwKvlGDWpCb77uGl3Rw6KvwOKAmLY2HBnHkYv63A0uMHp5_X6oqeSGqEhnE7mlq4mamNvujBRZKpExkI_srImRXsTDGRY7eHN1Y64JoGU7xF_4UpOvzDsw0vr_uiuSf_daVW4TbHffJO9ixfXwNXO8HFzR8bpyp6yE-nkXLOqQfTyKH6sPqN3nBcCTWC5ve9ZMrV5yHAEJ_Jl4f2RVX7DqLMQqzsTAnOZsDKe77Hq2zto3SwNgHBQaTHKFQq1fpTuXo-qtcvuLQz5rGP6VtedC8CCJnr95J08muG8i1isxCl0u-b0wD41hXPNN-UhAxP9OwinnK6EXYHNZmOzdXI2NMPwDNFSDlIIIFlLfIXdZ_9ljtf1fVVUKw7hEaQAuVnYeGEea8KI8IYfHJUV6PLQHy8OEr=w256-h240-no)
https://drive.google.com/file/d/1wCNmXBf4ym4n9ZivQgXI6g4qJQ0UvpEv4w/view?usp=sharing
https://drive.google.com/file/d/1Sxdr1M8G_28Lmq5cL-VFQ7IvBYcqTJ6Nqw/view?usp=sharing

Dans les versions occidentales tout ca est totalement statique ce qui ne rend pas pareil.
On retrouve cette difference aussi au level sous la neige ou les arbres sont animés dans la version jap mais pas seulement, on a aussi un effet de chute de neige qui a disparu dans les versions occidentales

(https://lh3.googleusercontent.com/wHsBvgboPeZTLs53tTqF-cN67-vHlXvWggFKxbC2iBadcC63jQ_Csbjv7WWPs3nWdid8SsX6rM5vCjT62sBL5Hc77VQGc_YWXziv312g9I5CwQLwrFdLH5j81IlHwDMxDQmQVV_87cBY_c6iPCkEERJZ-4lO93y8mF44u_2L2_6XyL8_weM0rxkB80Lk-RJSB8_-KdyAj_bxDrRuFFeGlU_9Yh4ca3UjLs1rK_2a7WZhUEumxOPf-MVNFkZIulLO6ULBBLh4rAo6xX3_2iwSyOIJCCJedo6kt3ZIKO2_QpJej3tT-pjVQcLHjhMTQq6HIYUsPRktGdiKh_i_d6wwJJfHOQ5bds58hk2uE5tJaGgUBPFaGKtQVtgvcjKYNPr_PAjMwMNtnZ15ZmMOgZ2wAT3EgFUi1U1P3pwS7akAw8q-FurdfbxXroOffqKKh7AfYoS_UYi7Cnw74byyDJPqrQjPvr1AwE9xxAn7h4yahYjhVrgI9HV6aPV1Vg4ELZU8xMCsO85lst7xGIv8YLRr0Q87pTnwQLKLQ22gkelZqfkwTNqFE3KyZIYBYt-6MYnRrPA4=w256-h240-no)
https://drive.google.com/file/d/12ihJeWK8WQU4qGGRcAPaRAItclzD-pT_jg/view?usp=sharing

Alors c'est curieux d'avoir enlevé aussi l'effet de chute de neige car graphiquement c'est juste un flocon, ca prend pas de place dans le tileset... si on prend pas en compte le bout de code qui doit gérer cette effet et qui lui doit prendre pas mal de place, peut etre l'equivalent d'une dizaine de tuile.
En plus le jeu utilise le mode 8x16 pour les sprites. Sur NES et SMS y a 2 mode pour les sprites, le mode classique ou les sprite sont au format 8x8 et un mode 8x16 rarement utilisé car ca oblige a gérer tous ses sprite en mode 8x16 ce qui peut poser probleme typiquement dans ce genre de situation ou tu te retrouve a devoir utiliser des sprite 8x16 pour representer des flocon (ici jusqu'a 16 a l'ecran)  qui font seulement 3x3 pixels. Ca veut dire que chaque flocon de 3 pixels de haut peut en réalité générer des conflit de flickering sur 16 lignes de haut.
Donc je pense qu'ils ont enlevé cette effet pour economiser de la place sur la cartouche mais aussi parce que c'est un effet qui de toute facon est une charge forte sur le flickering de sprite.


Mais le plus intéressant c'est le level de la cascade.
Cette fois le background est animé meme dans les versions occidentales
****************US/EUR***********************************JAP**************
(https://lh3.googleusercontent.com/gJH5aG9q5kO_Oz-Wkj3sAF__dmSJtq1aWw0cRArYrGt-eWHYUU_5VB3xR8QodKG4D5OE2oc6ae_WEsFkeUGmPgqeouV7stSJiVF2wXg18yqD2w9ctnAMo1Ak0lOBieOfG98x5J3yO_CVr8hGTDDQSO3xvh0NGHeeiFC0VzU7459C1V2n8Sq67EvVlJ3iG3tkORtOu1gBVmqKDsxXaJVIA14yj501f8jTyplBp1bBi70YN5-0pyYUutqj7CbetGrFD4_YeDmnmNeC1lj9GsRYW0CbOfPALezdtboWTQhuPYOF-DA57cCgRFZbDff2ahHlE3x4Eb9lWlLz85sk9rJC7fWvZZK2903125y_WSyyj4wfEPojIn1IEmgvRVflowV5D99yN7cvb1t0peB7KXHTYZ2SFKhhfYPeCKv05pbFAdTffNV035HqKe-WLNU5GuIbbWb6IypN_QUhHsdJfyY1Zq4ZGBawKS0Sw7ilqc0mXpabjBWJNfaIjU8x4yv47Jh4OLULRD19c97QBx2HN7-gS2XM_xYEDoK_237XMi_ZOxeBKmb8Aw4iIKui7R68Td42T3ri=w256-h240-no) (https://lh3.googleusercontent.com/ndt3S2FZ_SVxQSdGuesR1CFX6eA7Ox7L5YW6BrkmASCivPr3tLHdje5wewDqDa59lY9MrRT7kcO3zXsfWPCXuah6dQ1Jt4hJExrBpu1L0-fpWtRK_7jWnuEfRQTAo54Mxujb9DnohmJbB5hcLj9iG9bRWxAuukAuhcu0ZCnRcj4DnQe8WVsACb5mAmGP6rZTxBG_OEvNs1KjvGkUw_S6a7pWbss33E4MWUiF8QXVMe9nG3Ang-ZtqvdmV8xh_rdkcYfpC4EG0n1oPjS96J1Nr_mdR433ZvYGChUegPITztFWepn_tOhpvVEh-HnnW_IkNPlwp2cPceSKRh-YLEFZtm4PjoFvzcLZ1Lo0sA6Wbpd5l7ZXpExKHRns40pZEsu6z8u_3lUBx62e-5nETS95hv-10Myq-IesJ_45rydm3Qy0rfcbGchecMpNYWrXEsZK2xeOc_AHzuVg0w1aIqMPEL2f0eiu6MwiKGrSKXJIVWoIUwMzoJqbeMIn0nomSrdu-bxt0vmj6p49Vj9_sWXRP5zPDvHpVU7NSGbrGPjbfsBDBelx6OVlzpFWTbBKOzB_dW5N=w256-h240-no)
https://drive.google.com/file/d/1vglt41GRs0jsq8D5r6Ht-MwslbWBFI67dQ/view?usp=sharing
https://drive.google.com/file/d/1kEtdvvj1CN3G8FChehHh6Zd5ciQxqgYv6A/view?usp=sharing

Alors si j'ai dis qu'ils avaient enlevé toutes les animations de background sur les versions occidentales c'est pas une erreur car ici aussi ce n'est pas a proprement parler une animation. C'est l'occasion justement de parler d'un trick souvent utilisé dans les jeux 8bit et qui consiste a juste faire cycler une palette de couleur pour simuler un mouvement.
Ici le fond de la cascade US est composé de 3 couleurs, ils suffit d'une frame a l'autre de faire glisser les couleurs de proche en proche dans la palette, remplacer par exemple le bleu claire par le bleu median, le bleu median par le bleu foncé et le bleu foncé par le bleu claire, et de répéter cela (ici c'est un cycle de 3 frames puisqu'il y a que 3 couleurs) pour donner l'illusion d'une animation. alors que rien ne bouge et rien n'est animé, c'est 100% statique, juste un effet de palette.

A l'inverse sur la version Jap on a une veritable animation de tuile sur 4 frames (donc chaque tuiles a 4 versions différentes) ce qui donne un effet plus réaliste.
En plus la pattern du fond de la cascade est plus grande et donc moins répétitif. Sur la version US c'est une simple pattern 16x16 et donc on voit fortement la répétition du pavage. Sur la version Jap c'est une pattern 32x16 et combiné a une autre pattern 24x32 plus rare (on la vois 5 fois sur l'image, elle donne l'impression d'une perturbation dans le flot comme si y avait un cailloux) qui brise la répétitivité. Et tous ca multiplier par 4 a chaque fois pour l'animation.

Du coup on passe d'un fond de cascade composé de seulement 4 tuiles sur la version US a 80 tuiles sur la version Jap! C'est pas du tout le meme budget graphique et je compte pas toutes les tuiles spéciales qui servent aux jonctions entre la cascade et la roche.
Sur la partie final de la chute c'est encore plus flagrant, le color cycle fonctionne moins bien pour simuler le fracas.
****************US/EUR***********************************JAP************
(https://lh3.googleusercontent.com/kc0RJo0M7QKA1vRDmPFuXoVMjg8EwT52OOf67VjKuV5CU7oMxcJx_Hhxke7g7RKiK3YXMPAHzGAZOq2hwTWkozF0ivc2knv8JbymtGN5kKsxnP7iMCc-eJ6r2Q8WwAwljB7zl--6jKkPxl4mtdjChpHHt-LcTo6JCbp0xyXI5mWRjAFB60864B3Q8gjhonUeGQXKoaXIgnNkLxM06D3gNWXXOVnEPDjvAeSZLQYvg2n4s-9egEqD7IaiJn2hMOIV2JJ78fQkO4cjYZdiNWBO4Q94j-ESfJSAwAfrvUwHdRfEKdlMqbvGKav5Fbq4unDyL1_v303IFy6eBMbUrR-8_itClT357XPIlOMabmJ7v4jpRu4OhcIr8T-8e-sig96A2PHXsdCqAiySxoYHiopIuDiWjl9wq9RHRjzlSzV0yhocoCR3bAbncFIH5EfjlSLimbmjejvy4cTSzBJ9F-G_Xxo9xp51vo7rlHPGYycmEK24PdMyTLuueijJiXVgu8j-0u1aCcMJx6B-PhFcAyyKdDQyv4Olgjxz7OfEOxq6qsx_fvzZ7zybz9dj_l-Ud3Xnokbl=w256-h240-no) (https://lh3.googleusercontent.com/MKlotN2lf3VLXsqS5MiEFuh_VSfz1DI48cXY_BADDPJvOvl9RNew2ooyX9QPt43YgM8ov4SXo4Frw7paHVUBFTgaQ5bsST34IbJFAKwjn7IhXu5YFTFH33jrWFkMU4AVf1Nr4RwAmHpicIA9lrdRcP-7tyJjDqmu1F_T3oK-wO7GKQCn2mvCroP-Y75OjtvAsxdB9SPZr2ieRSQC2sOt4aZhvKh3d2-AW-14akow5KIQHb5o5oO1Ba-WTL88zEkITP453BEESRI-BRUYj8lkjPBzBoMpeHO2I97bnPupbecin2ENCrdqsiWVlVxOixizWm3Y-VgbUWQgkuh6YCGl21_JWMcEfZgRDaXc1WzHW5HdZzpFCW-ORLjY4aBI-2FMpNnbah3M8KaOeNPicYBgQ1K3CWJVdIw0GI_O1MpxPeiV9HWTOHgmsTZnk8lS_IiG4FiH2HuiHO50a2NKmZJ2heXLuF7DMNjHBFfqDHDJNRap41ixfMRbv1TQIBoH1_u_6w-n3HDyJCEnHeckL5eUQpCyzINPJvaNTJLWrn8236_jXv68Vomrosli3pV_fHB2F-Ah=w256-h240-no)
https://drive.google.com/file/d/1e4wpBz5nXug0MZ6i2mXItpalyCyBg4oFdg/view?usp=sharing
https://drive.google.com/file/d/1fM8Xl5XNDj-iXdjMAAzqmKDQaVhRCkYx4A/view?usp=sharing

Au total le budget pour la cascade version Jap c'est 244 tuiles et 10 fois moins sur la version US/EUR.
Mais globalement ca montre quand meme que le color cycle c'est un trick tres énomique et donc quand meme efficace pour donner un peu de dynamisme aux background tres statique de l'epoque d'ou sont utilisation fréquente (surtout pour les chutes d'eau justement) mais ca vaut pas une veritable animation.


PS: L'album https://goo.gl/photos/ffmMB5SPGGaFQYk37
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 14, 2016, 12:44:12 PM
Alors la question qui se pose c'est pourquoi une version 128Ko en occident et 256Ko au Japon? Pour se faire plus de marge en occident? Je ne crois pas. Voila mon hypothèse.

Je rappel que la NES a cette particularité d'avoir un GPU directement connecté aux cartouches contrairement a toutes les autres consoles (a l'exception de la NeoGeo) ce qui a fait apparaitre 2 type de configuration de cartouche. Les cartouches qui contiennent une ROM CPU + une ROM Graphique et les cartouche qui n'ont qu'une ROM CPU (qui contient alors aussi les graphisme) + une RAM Graphique de 8Ko qui simule alors la ROM Graphique et qu'on va remplir au fur et a mesure des besoins.

La version Jap de Contra (qu'on peut donc considérer comme la version original) utilise la premiere configuration. 128Ko de ROM CPU + 128Ko de ROM Graphique. Et les animations de background sont produit par un simple bankswitching de la ROM Graphique mais pour cela faut pouvoir bankswitcher avec une granularité de 1Ko (donc diviser la ROM en 128 pages) et pour faire cela Konami avait son propre Mapper. Le célèbre MMC3 de Nintendo le fait tres bien aussi mais ils est arrivé plus tard (avec SMB3).

Or a mon avis c'est la que les choses se complique c'est qu'au Japon les tiers historique avait des droits particulier lié au tout premiers contrats signé avec Nintendo qui etait tres avantageux. Notamment ils avaient le droit de produire eux meme leur cartouche et donc aussi leurs mappers.
Je connais pas tout les tenants et aboutissant mais a priori ce droit la ils l'ont perdu sur le marché occidental que Nintendo a attaqué plus tard avec donc un peu de recule sur ce qu'il fallait changer. Du coup ils ont perdu aussi le droit d'utiliser leurs mappers maisonb et doivent passer par ceux de Nintendo sauf que les tiers avait souvent un coup d'avance niveau mapper par rapport a Nintendo qui trainait un peu et pour Contra on se retrouve typiquement dans cette situation ou Konami qui etait au taquet niveau mapper aurait besoin d'un mapper Nintendo de type MMC3 pour remplacer son propre mapper sur le marché occidentale mais Nintendo ne l'a pas encore développé.

Du coup sans cette granularité 1ko du bankswitching ils ne peuvent plus garder leur animations de background et ca complique aussi toute la gestion des sprites. Du coup ils sont obligé de partir sur la seconde configuration de cartouche qui offre plus de liberté. Ils enlevent alors les 128Ko de ROM Graphique mais qu'ils sont obligé alors de remplacer par 8Ko de RAM Graphique ce qui donne pas forcement une cartouche moins couteuse, ca doit etre assez proche, mais les oblige alors a devoir caser les graphismes dans la ROM CPU qui elle reste a 128Ko, va donc falloir faire entrer ca au chausse pied.
Ca leur a sans doute demander de recoder pas mal de chose donc un cout aussi de developpement (un effort qui a du etre fait en parallèle car les 2 jeux sont sortie simultanément).


Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Avril 14, 2016, 01:33:53 PM
Mhh D'accord. Une sortie internationale à cette époque c'est possible ?
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 14, 2016, 02:18:33 PM
Apparemment oui, US et JAP en meme temps (mais pas la meme qualité)
Nous on l'a eu quasiment 3 ans apres  :mouai:
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Avril 14, 2016, 03:17:07 PM
  :clgniii: ça m'aurait étonné aussi.

J'ai enfin trouvé le temps de lire l'article que tu as partagé il y a quelques postes ... C'est vraiment dingue, de lire l'espoir dans les paroles de ceux qui ont cru en le Laser Disc  :lol: Enfin c'était très intéressant mais je me demande bien où tu as choppé ça !
On a toujours tendance à retenir sur ce qui a réussit, sans vraiment s'attarder sur tous les tenants et aboutissants du turning point, on imagine pas toujours tous ce qui a été sacrifier au profit de la technologie qui s'est imposée.


Citation de: upsilandre le Avril 07, 2016, 01:44:15 PM



Sinon j'ai profité de mes congés et de ma nouvelle connection fibre pour enfin archiver en video (avant d'oublier et de les perdre) les petits exercice homebrew que j'avais fait.
Du coup avec la fibre je me suis pas fait chier, j'ai fais des enregistrements HD 60fps en raw avec fraps et j'ai uploadé directement les fichiers brutes de plusieurs Go, en quelques minutes c'etait reglé   :cool:



Hé ben tu sais quoi ? Je suis très heureux avec mes 300Ko/s  :hautain:


La GX4000 sert au moins d'exemple. C'est pas donner à tout le monde de comprendre que peu de choses bien agencées valent bien mieux que pleins de trucs biens mis en vrac !
Titre: Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 14, 2016, 09:43:39 PM
Citation de: Coca_Impact le Avril 14, 2016, 03:17:07 PM
La GX4000 sert au moins d'exemple. C'est pas donner à tout le monde de comprendre que peu de choses bien agencées valent bien mieux que pleins de trucs biens mis en vrac !
De ce coté la NES est magnifique. Y a tellement peu de chose dedans, peu de chips, de transistors, de silicium mais beaucoup de potentiel.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 14, 2016, 10:10:01 PM
Election du meilleur jeu categorie "cartouche 128k"
J'aime bien l'idée d'une categorie 128k comme la categorie poid leger ou poid lourd. C'est a la fois un moyen arbitraire de reduire fortement la liste infini de jeu et donc le choix pour lui donner une taille humaine et en meme temps ca evite de comparer des choses trop differente. Ca permet meme d'aller piocher du coté 16bit si on veut tant qu'on arrive a trouver du jeu 128k mais y aura pas grand chose a part du PacMan ou du Galaxian meme sur PC-Engine.
Et puis cette barre des 100Ko j'en ai deja parlé mais c'est une frontière particuliere qui une fois atteint a permis au jeu video d'exprimer enfin son potentiel et de prendre la forme qu'on lui connait et en meme temps ca restait extrement faible et contraignant, j'aime bien cette categorie.
J'ai fais une petite selection NES et SMS relativement exhaustive (ca reste ma selection), y a deja du lourd dans la catégorie 128k.

NES:
Zelda
Metroid
Metal Gear
Megaman 1
Ducktales 1 et 2
Castlevania
Contra US
Ghost&Goblins
Dragon Quest 2
Kid Icarus
The Goonies 2
Wizard & Warriors
Life Force (Salamander)
The Guardian legend
Rad Racer
Dr Mario
Asterix
Bomberman 2
Gunsmoke
Ikari Warriors
Solstice
Rygar
Fantasy Zone

SMS:
The Ninja
Fantasy Zone
Wonder Boy
Alex Kidd
Black Belt (Hokuto no ken)
Choplifter
Secret Commando
Zillon
Power Strike (Aleste)
Quartet
Enduro Racer
Rygar
Gauntlet

Je sais qu'il y a des specialistes du MSX ici, moi je connais tres mal donc on pourrait sans doute ajouter quelques jeux culte en cartouche 128K du MSX et MSX2, y en a sans doute un certain nombre.
Y a aussi les consoles portables, y a pas tant de cartouche 128k que ca sur portable car elle sont arrivé a une epoque ou les rom 128k etait deja dépassé mais y en a quand meme surtout sur gameboy. C'est pas non plus un domaine qui me touche donc moi mon top 128k sera pas sur portable mais y a sans doute des perles a signaler (c'est pas une perle mais ca permet par exemple d'ajouter Outrun dans cette catégorie car seul la version GameGear entre dedans, mais c'est une version qui ne vaut pas la version SMS qui elle meme n'est pas non plus fantastique meme si tres sympa)
Du 128k y en a aussi quelqu'une sur GX4000  :vice:

Moi avec mes expériences recentes je serais pas loin de nommer Duck tales 1 dans cette categorie.  Je trouve que pour un jeu 128k ce jeu reunit beaucoup de qualité qui me plaisent et qui sont pas facile a réunir avec cette contrainte.
Apres moi mon affecte est plutot du coté de la Master System, je suis un gros fan de The Ninja et de Wonder Boy mais je reconnais que ca n'a peut etre pas la profondeur et la replay value d'un Duck tales.
Titre: Re : Hardcore Retrogaming
Posté par: dunmcl le Avril 14, 2016, 11:03:56 PM
Sur les ordi jap dois y avoir pas mal de truc interessant aussi hors msx , sur le sharp x1 et le pc 88 notamment
meme si la bien sur on est plus dans la problématique cartouche
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 14, 2016, 11:15:36 PM
Oui j'ai préféré limité au format cartouche car c'est un format un peu particulier plus facile a identifier et en meme temps difficile a comparer avec d'autre format de stockage. Et ca permet de bien limité la liste sinon ca devient vraiment le foutoir (et j'avoue j'ai pas d'affect avec les jeux micro de l'epoque, pour moi le jeu video c'est plutot le mouvement donc c'est pas sur micro que sera mon poulain  :p )
Titre: Re : Re : Hardcore Retrogaming
Posté par: dunmcl le Avril 14, 2016, 11:29:32 PM
Citation de: upsilandre le Avril 14, 2016, 11:15:36 PM
Oui j'ai préféré limité au format cartouche car c'est un format un peu particulier plus facile a identifier et en meme temps difficile a comparer avec d'autre format de stockage. Et ca permet de bien limité la liste sinon ca devient vraiment le foutoir (et j'avoue j'ai pas d'affect avec les jeux micro de l'epoque, pour moi le jeu video c'est plutot le mouvement donc c'est pas sur micro que sera mon poulain  :p )

J'ai pas un gros affect sur les micro 8bit jap , par contre le x68000....  :love: , c'est tout de meme la base pour la creation du cps1 de capcom
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 15, 2016, 12:53:01 AM
http://kotaku.com/1980s-anime-lives-on-in-this-r-type-tribute-1769072397
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 16, 2016, 02:56:39 PM
Je me suis amusé a tester toutes les versions 8bit de Fantasy Zone. Ce qui est intéressant c'est qu'on le retrouve a la fois sur MSX, sur SMS et 2 versions différente sur NES (c'est ca qui m'a intrigué) et une version PCE. Et elles sont toutes des versions 128k (sauf sur PCE ou c'est du 256k)

Moi j'ai un affecte avec le jeu car je l'avais sur SMS et j'aimais bien (notamment les musiques), c'est Defender revisité. C'est d'ailleurs la première cartouche sortie sur Mark III.
Mais j'ai ete surpris de découvrir que la version Famicom de Sunsoft est plus proche de l'arcade que la version SMS de mon enfance. On retrouve une taille de zone de jeu plus conforme, que ce soit en hauteur (on retrouve le scrolling vertical qui est absent sur SMS) qu'en largeur (5 ecrans contre 4). On retrouve aussi un HUD plus conforme avec notamment le radar qui t'indique ta position sur la map et celle des bases restantes et qui a disparu sur la version SMS. On retrouve aussi sur Famicom l'animation des bases (statiques sur SMS) et un nombre plus proche de l'arcade (8 bases a detruire contre 6 sur SMS et 10 en arcades)
Donc beau boulot de sunsoft (comme souvent sur Famicom). La version SMS a quand meme l'avantage d'etre plus clean, y a bien moins de flickering de sprite (grace au 4bpp qui simplifie les psrites et aussi les bases statiques qui du coup ne sont pas des sprites mais du background) et les graphisme RGB 4bpp donne un aspect visuel plus proche de l'arcade.

Mais ce qui est drole c'est la seconde version sur NES pour le marché US. Une version qui sort 2 ans apres par Tengen pour le marché US et qui est une toute nouvelle version (v savoir pourquoi) mais tellement mal codé par rapport a la version Sunsoft pourtant bien plus vieille. Je vous epargne les détails mais c'est surtout sur la gestions des sprites que c'est une catastrophe, j'ai jamais vu ca. Les sprites sont mis a jour au mieux une frame sur 2 (et pas tous en meme temps) parfois une frame sur 3 voir sur 4 pour les bases ou les bullets du bosse et comme les sprites ne sont pas mis a jour en meme temps que le scroll (ou que les autres sprites) ca donne des flottement pas possible (sur les bases c'est horrible, jusqu'a 4 frames de retard sur le scrolling), faut le voir en vrai sur emulateur plutot qu'en video pour comprendre le massacre.
Meme l'ecran titre est classe sur la version Sunsoft avec des FX de codeur. Tous les studio n'etait pas equivalent.

La version MSX c'est une horreur comme souvent (désolé pour les fans du MSX  :p ), et les bombes completement cheaté  :roll: . C'est drole a comparer a la version Famicom, et 128k pour les 2.
Et le top c'est la version PCE forcement (mais c'est du 256k), on retrouve vraiment tous les ingredients de la version Arcade dans les moindres détails (sauf le second plan). La musique par contre je la trouve raté.


https://youtu.be/1n8JtWOixwE

https://youtu.be/WVXAtEYJlnQ

https://youtu.be/W6b7G_sGazI
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 16, 2016, 03:32:03 PM
nan mais regardez moi cette affichage de sprite a droite, la base censé etre posé sur la plateforme, quelle horreur  :burp:
https://www.youtube.com/watch?v=W6b7G_sGazI&feature=youtu.be&t=3m44s

On avait ce defaut sur Ghost&goblins NES dans une moindre mesure (mais embetant puisque la c'est vraiment un jeu culte). Y avait un flotement de sprites du a la mise a jour a 30fps qui etait aussi appliqué sur le scrolling mais de facon asynchrone donc le scrolling ne bougeait pas en meme temps que les sprites.
Bon la c'est pire car t'as un scrolling 60fps et des sprites parfois a 15fps, impossible d'accrocher un sprite sur le decors.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 16, 2016, 10:16:18 PM
J'ai joué pour la première fois a Gunsmoke, quelle surprise, quelle bonne idée de gameplay, c'est excellent pour un vieux jeu 128k de l'epoque, je m'y attendais pas, c'est le "the ninja" de la NES, ca  enterre les autres classique de la meme catégorie, Commando, Ikari warrior et compagnie.
Capcom c'etait vraiment l'editeur number one de la NES, meme du coté des disney (doit y en avoir une dizaine) y a des perles, je testé vite fais Darkwing Duck ca a l'aire tres bon.


Sinon aujourd'hui c'est Shinobi

https://youtu.be/bSjRNTmGHqo

C'est marrant de voir le nombre de classique Sega sur la NES (Shinobi, Fantasy Zone, Space Harrier, After burner...). C'est jamais edité par Sega. J'aimerais bien connaitre l'histoire derriere ces editions. Quelles etaient les contrats sur les droit d'exploitations, lié a des regions? a des plateformes?
Est ce que les editeurs achetaient les droits pour les micro par exemple et qu'ils prennaient ensuite la liberté d'exploiter les droits sur toutes machines non Sega. Est ce que ca exploitait des vides juridiques? (a l'epoque y avait des truc un peu freestyle, quand tu vois comment Midway exploitait la licence PacMan en faisant des Miss PacMan, Baby PacMan, PacMan Jr... sans l'accord de Namco)





Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Avril 17, 2016, 12:25:41 PM
La propriété ça devait être un sacré bordel à l'époque   :o
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 17, 2016, 07:50:47 PM
Bon je crois bien qu'il va nous faire tous les jeux Sega NES vs SMS. Je predis que le prochain sera After Burner

https://youtu.be/Z8UAbidlK0Q


La c'est 2 approche completement différente (et c'est 128k vs 256k). Le 4bpp de la SMS offre bien plus de possibilité de trick et sur ce genre de jeu il en faut des trick. Rien que le défilement du damier qui utilise un simple color cycle c'est pas terrible a faire sur NES avec un cycle de seulement 3 couleurs alors que sur SMS ici t'as un cycle de 8 couleurs et donc un défilement plus fluide sur 8 frames, au moins ca ressemble a quelque chose.
Le resultat sur SMS est assez chouette mais c'est du 15fps.
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Avril 17, 2016, 11:17:25 PM
C'est vrai que c'est vraiment plus dynamique sur SMS
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 17, 2016, 11:46:38 PM
Tu peux pas faire ce jeu sur 8bit juste avec des sprites (a part sur la PCE) et c'est ce qu'ils essayent de faire ici sur la NES.
Sur SMS avec son 4bpp y a plus de liberté de fake donc tout est en faux sprite (a part le héro et ses tires), les faux sprites sont backé dans le background mais c'est pas du sprite software comme After burner ou Golden axe, c'est vraiment juste des morceaux de background mais avec une bonne astuce pour que l'incrustation soit discrète. Ils changent la couleur 0 communes a toutes les tuiles du background et il font ca mid-screen au moment de la transition ciel-sol et ainsi tous les faux sprite ont automatiquement une couleur 0 de fond qui correspond a celle du ciel ou du sol selon le contexte et meme quand ils sont a cheval entre les 2 du coup ca se voit pas trop que ce sont de faux sprite.
Apres ca fait quand meme beaucoup de manipulation a faire dans la tilemap car les faux sprite sont tres gros du coup ca tourne a 15fps et puis tu peux pas deplacer les faux sprites avec une précision au pixel donc a l'inverse du défilement du damier qui lui est plus fluide que sur NES, les faux sprites eux ont une animation tres saccadé.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 18, 2016, 07:54:05 PM
Comme prevu aujourd'hui c'est after Burner... et meme Altered Beast (toujours du Sega)
Et encore une fois comme pour Space Harrier ce sont 2 jeux tres particulier sur Master System car ils font partie des rares jeux (qui se compte sur les doigt de la main) a utiliser une technique de sprite software (et low-framerate) pour afficher de gros sprite (c'est du vrai sprite software, pas du faux sprite comme Space Harrier). En terme de code c'est assez impressionnant.
La version Famicom de After Burner (Sunsoft encore une fois) est tres intéressante aussi, alors niveau sprite c'est du classique, on peut pas utiliser les trick de la Master System sur NES, mais niveau background ils ont exploité une particularité de la NES pour proposer des background animé plus riche et jolie que la version Master System avec meme aussi des sequences impressionnante en canyon inexistante sur SMS (faut voir un longplay), j'y reviendrais.
C'est en tout cas un exemple intéressant de jeu qui a exploité les particularité de chacune inexploitable sur l'autre.

https://youtu.be/IwBxDBNn_dI


un longplay de la version Famicom pour voir les passages en canyon
https://youtu.be/9xdT2nVpm6A




Et altered Beast, y a moins de chose a dire si ce n'est les sprites software  impressionnant de la version SMS
https://youtu.be/CcE1dCzWZuA
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 18, 2016, 09:56:34 PM
C'est assez surprenant d'ailleurs comment la version PCE de Afterburner est superieur a la version Megadrive. Framerate et graphisme sensiblement meilleur, y a pas photo c'est assez impressionnant le boulot de la version PCE et tout en 60fps (mais la version Arcade est tellement superieur a toutes les autres version).
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 19, 2016, 09:15:07 PM
Donc au suje de la version Famicom de Sunsoft (encore eux) ils ont fabriqué un mapper uniquement pour ce jeu qui permet de mapper une partie de la ROM graphique par dessus la VRAM de la console qui contient normalement la tilemap pour l'affichage de l'image.

Normalement la ROM graphique de la cartouche contient uniquement des tuiles, sur After burner y a la moitié (128Ko) qui contient les tuiles et l'autre moitié qui contient uniquement des tilemap. Du coup au lieu de devoir charger octet par octet la tilemap dans la VRAM on peut le faire instantanément par un simple bank switching. Du coup tout l'affichage du decors (le defilement et les rotation a 360°) sont précaculé dans une succession de tilemap qui sont alors affiché par un simple bankswitching, c'est instantané et sans effort.

Le format de stockage des tilemap est donc le meme qu'en VRAM, c'est donc des tilemap brute sans compression. 1Ko pour un ecran donc 128Ko ca laisse la place pour 128 ecrans et en général les tilemap NES font 2 ecrans (de large ou de haut selon la configuration choisie) donc ca fait 64 tilemap.
Du coup je me suis dit qu'en ouvrant la ROM dans un simple editeur hexa on devrait peut etre reconnaitre visuellement les tilemap et c'est ce que j'ai fais. Suffit d'enlever les 16 premiers octets du fichier qui sont un header pour les emulateurs et qui brise l'alignement du fichier, puis de configurer l'affichage de l'editeur en 32 colonnes (la largeur d'une tilemap) et alors comme par magie on reconnait les ecrans juste en regardant la conversion ASCII.

https://goo.gl/photos/brFACfh8VE89HK1B7
Spoiler
(https://lh3.googleusercontent.com/6z--Jyud4K4EFhHdE7QCgvkWRNUyAeUNy3-0VivD0oWaL8bB8ycptDhRzLanpDLGgXXDAqz4VYpWapLC0RciaFYtCdpC4b6ZiuBw-DqjOjVIKtD2JgRE49hfkKRfKeRCbi5CtuDYjYsFHY74yzzGxZA9gqTCxmoUgX0RCBjHty8sdB9wfnaoeY5AnRVMm1-TvnQmFSMVT1kKn0Px5lfIxJGbSAygOJpMMk6lhQfxSt1trayKnr5ljyLoEJi1mxPhaaBJ1b7eD6J3X0iGJUjbX79bHq_-gPPduKFBSKlg_-uUoQEla0zQl2-WbHTIl9A_UJbXEuJYA9je6UvdKfLcAucK-N6usSnMIa0RkxSdpVHJRNgvmGi6KknAgasNnmH3am2ZpF58BvCCwQhUwSg0WRK2XaPZGJbb5aYWVQlM1gwThl39Mqbb4V0DDcwf4OeTWXrsSc698OlXen91m8-GWrlQUOwD5V43RRPFQU2mqwrcmP_avwJh0VMaGmM9OHWJwEBDePgTpg0ejQWLWnHnYXoal1Gx1aVcKIFThewu5oBZlh7tBVYqxqZEy1gIjdpS5Ag0=w1661-h549-no)
[Fermer]

https://goo.gl/photos/jau6Zbni9CYdwu676
Spoiler
(https://lh3.googleusercontent.com/s_fyE-7vdUfDiBmJ6nJ6ezeG1d93IRTpnHIW3Sq5bDovbkUAT3oQcjxPmGPXWibKhBHUODQ-P-Xm3qzEdexBFRQQz14m4YQguhPnve0x2l4zjvLKeYnjAPKkqSOpYkRCDoLgk46L-ELwbzTF4HVauwSWWULrABh3QsEGKNrYR70lGms5eUM98p1HLabXYowvx7DXuu_HWNkcmHcO1qwymofmhZ4X0lnCJ0u3s0iA41gwH3GxsPVVHgz4HJ6apWdAji3O58LleQlLbmwgefxsAqblnUL7r6mpRdCvqIrqqfpTdQT_xp13-R3BeltTEwSVq_Jv2ApZZTIEXB5zb7YDwb0FVsUEAGWkCJmUUpcU9zDwJlbTJPWapzJsejheeYG1b01L0ghYQFHRTxNpvfA_8J6W1Nndy1XfiYguBEYuB2bH5WvtpRNL5jlleItBvD57SuxFPCbPQFtEiP2QXYgJfP_dez050W5KJ_qy4btVjxEBxGARJi4CjvyFGaP-8DWG2rYLn33jvzl_3FVfjDb7QI_00Ky6um59YbvjAXMOB59UayiOeIZLOYpViDCeiuz82x73=w1700-h773-no)
[Fermer]


Y a donc 44 ecrans (44Ko) juste pour la scene du canyon, ca veut dire 22 tilemap de 2 ecran (3 tilemap de 2 ecrans verticaux pour l'animation d'introduction quand on entre dans le canyon avec un scrolling vertical puis ensuite 19 tilemap de 2 ecrans horizontaux pour la sequence de zigzag dans le canyon)
Et 50 ecran (50Ko) pour les levels classique soit 25 tilemap double ecran (verticaux). 4 tilemap pour la sequence de defilement du sol (donc en 4 frames) en position neutre puis 4 en position penché completement a gauche et 4 pour la position a droite puis 13 tilemap pour les transition et la rotation complete 360° (qui est décomposé en 16 frames)
Tous les levels utilisent ce meme pool de 25 tilemap pour le background, seul le tileset (les tuiles) change d'un level a l'autre pour changer l'apparence du background (mais pas la structure puisque les tilemap reste les meme d'ou quand meme une certaine ressemblance) et y a uniquement 6 levels different (+ des color swap de ces 6 levels) donc 6 tileset different. En fait le tileset de chaque level est lui meme composé de 4 tileset de 256 tuiles (donc 1024 tuiles par level soit 16Ko) qui switch selon les besoins ( selon l'angle d'inclinaison de l'avion) donc ca fait 24 tileset pour les levels classique (96Ko) et un seul tileset de 256 tuiles pour le canyon.

Ce genre de possibilité de pouvoir bankswitché le tileset (assez courant sur NES) ou de bank switché la tilemap (unique a After Burner) c'est quelque chose de propre a la NES et au cablage de son port cartouche. Ca veut pas forcement dire qu'on pourrait pas réussir a faire un truc a peu pret equivalent sur SMS en deplacant tout octet par octet mais ca serait beaucoup plus compliqué (charger la tilemap ca prend quasiment une frame complete, changer le tileset ca prend plusieurs frames)
Titre: Re : Re : Hardcore Retrogaming
Posté par: Hobes le Avril 19, 2016, 09:53:05 PM
Citation de: upsilandre le Avril 16, 2016, 10:16:18 PMEst ce que ca exploitait des vides juridiques? (a l'epoque y avait des truc un peu freestyle, quand tu vois comment Midway exploitait la licence PacMan en faisant des Miss PacMan, Baby PacMan, PacMan Jr... sans l'accord de Namco)

Je n'ai pas fait de recherche à ce sujet mais je me souviens avoir lu je ne sais ou que Midway avait obtenu une licence pour exploiter PacMan sur le territoire américain.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 20, 2016, 05:00:58 PM
Le droit de distribuer Pacman sur le marché US oui ca il l'avait c'est sure. La question c'est sur les droit ensuite d'exploiter la licence Pacman pour faire leur propre jeux/declinaison/suite sans que Namco donne l'autorisation.


Sinon pour revenir sur AfterBurner NES, tout comme pour Fantasy Zone qui etait aussi un jeu Sunsoft (adapté d'un jeu Sega), After Burner a aussi été récuperé par Tengen pour le marché US (tout comme Alien Syndrome, aussi un jeu Sega adapté par Sunsoft et récupéré par Tengen au US).

Alors je sais pas a quelle point Tengen avait les droit de récuperer les jeux Sunsoft (qui n'avait pas de branche US) ni meme si c'etait en accord avec Sega mais bizarrement Tengen semblait etre sur tous les coup Sunsoft/Sega et avec des pratiques un peu etrange puisque sur Fantasy zone ils avaient refais entièrement le jeu pour faire un truc completement raté, on comprend pas le projet, et ici sur After Burner ils ont reprit strictement le jeu de Sunsoft mais en modifiant légèrement les tuiles pour changer un peu l'apparence (facon hack amateur) pour faire comme si c'etait leur jeu, on comprend pas bien non plus le projet.

Quand tu regarde les composants dans les cartouches ca a l'aire de coller avec l'epoque ou Tengen avait décidé que finalement ils avaient pas besoin de passer par Nintendo pour editer des jeux NES et qu'ils pouvaient faire leur propre cartouche NES sans reverser de royalties.
Je vous rappel que Tengen (qui est en fait la branche Arcade de Atari qui bossait sur des jeux micro/console mais sans etre justement la branche micro/console d'Atari) j'en avais deja parlé ici quand j'ai décortiqué les archives des mails de la branche Arcade de Atari des années 80, j'etais tombé sur une perle ou Tengen etaient tout fier d'annoncer qu'ils allaient court-circuité Nintendo pour vendre leurs propres jeux NES fabriqué maison et ils avaient l'aire tres content de cette idée.
Peut etre que ca leur venait de l'experience Activision qui est né de cette facon (editer leur porpre jeux atari 2600 sans la permission d'Atari) sauf que sur le marché US Nintendo avait justement verouillé leur console pour eviter cela avec une puce de sécurité et Tengen a eu cette "génial" idée de recopier la puce ainsi que le mapper Nintendo pour editer ses propres jeux NES sans royalties (genre Gauntlet) et Fantasy Zone et After Burner semble etre de cette categorie car je vois que la puce CIC (la puce de sécurité) c'est pas celle de nintendo obligatoire mais leur puce maison ainsi que les mappers (ils ont apparement recopier aussi le mapper que Sunsoft avait fait pour Afterburner mais cette fois produit par Motorolla au lieu de NEC)

Donc j'ai vraiment l'impression que les gars etait totalement free-style d'ou les proces avec Nintendo et que ces adaptations Sega/Sunsoft sont lié a cette periode et donc pourait etre tout aussi frauduleuse ( Je sais pas si c'est le fait de venir de l'arcade, ils avaient du mal avec les regles particulière au marché console).

Shinobi sur NES aussi c'est Tengen. Tous les jeux Sega sur NES au US c'est eux (et leur bricolage).
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Avril 20, 2016, 06:46:19 PM
 :lol: Marrant. Mais du coup, leur adaptations étaient pas toutes mauvaises si ?
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 21, 2016, 07:25:26 PM
J'ai pas vraiment d'avis, Fantasy zone est raté en tout cas et After Burner c'est la version Sunsoft, reste Shinobi et Alien syndrome, ca passe.

Je pense quand meme qu'ils ont du negocier ca avec Sega. Le fait qu'ils aient un probleme avec le principe de royalties sur consoles et qu'ils considèrent qu'ils n'ont pas besoin de passer par un tiers pour editer leur jeu ne veut pas forcement dire qu'il n'ont aucune notion de propriété intellectuel et qu'il considère aussi que les jeux de Sega ne leur appartiennent pas. Donc la dessus je leur laisse le bénéfice du doute, mon gros doute ca serait plutot sur after Burner.

On peut imaginer que dans leur excitation lié a cette "superbe" idée qu'on pouvait editer soit meme ses jeux NES ils se sont dit qu'il y avait un bon filon a exploité avec pas mal d'argent a faire sur une NES en pleine explosion et qu'ils ont alors acheté des droits d'exploitation de jeu pour pouvoir rapidement en produire. Venant de l'arcade ils se sont donc sans doute naturellement intéressé a Sega. Reste que c'est quand meme bisarre que Sega ait cédé les droit au US, au Japon ca peut se comprendre car Sega etait deja mort la bas, au US c'etait encore que le debut.

Mais passont et partons du principe qu'ils avaient obtenu les droits. Sega avait deja vendu les droit a Sunsoft au japon qui avait deja fait certain jeux comme Fantasy Zone et AfterBurner. Mon intuition c'est que pour Fantasy Zone qui est un jeu simple Tengen s'est fait chier a refaire le jeu (avec le resultat raté qu'on connait) et que pour passer ensuite a AfterBurner qui est un autre tour de manche bien plus compliqué ils se sont dit pourquoi se faire chier alors qu'il a deja ete fait sur Famicom au Japon par Sunsoft et ils ont alors piquer la version japonaise, ils ont exploiter leurs aptitudes hardware venu de l'arcade a recopier les chips et qu'ils avaient deja utilisé pour reproduire le CIC et le MMC1 de Nintendo (leur MMC1 maison ils l'ont appelé MIMIC1  :crazy: ) pour faire de meme avec le mapper de Sunsoft nécéssaire au fonctionnement de AfterBurner et ont donc finallement recopier toute la cartouche, ROM incluse (ce qu'on voit bien sur la PCB, tous les composant sont tamponé Tengen alors qu'en théorie c'est impossible, le CIC appartient a Nintendo et le mapper a Sunsoft) et on juste changé légèrement l'apparence des tuiles grpahiques et l'ecran titres pour s'approprié un minimum le jeu.
Donc a mon avis ce jeu la c'est a la fois un coup de pute a Nintendo (qu'ils ont court-circuité) et a Sunsoft, y a peut etre que Sega qui s'en sort. Shinobi et Alien Syndrome n'existe pas a priori sur le marché japonais donc la ils ont du partir de zero.

Titre: Re : Hardcore Retrogaming
Posté par: Yo Riso le Avril 21, 2016, 11:35:00 PM
Upsilandre si tu pouvais faire une chaîne sur le rétrogaming ce serait génialissime, en fait ton érudition sur le plan matériel est une qualité rare. Je t'avoue je préfèrerai découvrir tout ton savoir en vidéo plutôt que de lire tout tes pavés sur le sujet.
En tout cas je plussoie à 2000% si tu montes une émission, en gros ça ressemblerait un peu à l'émission "very hard" qu'il y avait sur Nolife mais en mieux ;)

Titre: Re&nbsp;: Hardcore Retrogaming
Posté par: pippoletsu le Avril 22, 2016, 08:30:29 AM
Du travail est effectué sur "Very Hard" depuis qq mois, pour une version upgradée.
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Avril 22, 2016, 05:43:25 PM
Je suis petit lecteur, et pourtant je me suis vachement attaché au format des postes d'Uspilandre  :lol: Du coup je serais plutôt partant pour un livre...même le topic constitue en soit une mine dont je suis loin d'avoir fait le tour! Je vois pas vraiment l'urgence de changé le format, à part pour faire une diffusion plus large.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 22, 2016, 10:46:09 PM
Je suis vraiment pas pressé de toute facon, y a pas urgence.
Very hard c'etait cool meme si de mon coté le hardware c'est pas tant du point de vue materiel (quand meme un peu) qu'il m'interresse mais plutot sa transcription logique et son interaction avec le software, au final c'est le fonctionnement du jeu qui m'intéresse et qui nécessite de comprendre la structure logique du hardware donc mon approche du hardware est a une couche d'abstraction superieur (par exemple je vaut zero en electronique)

Sinon je commence le speedrun Super Mario, au moins c'est pas tres long, ca demande pas trop d'investissement tant que t'es pas tres exigent. Je voudrais au moins faire un sub 7mn et idéalement plutot un sub 6 (en gros 1 minutes de plus que le WR ca me parait bien suffisant comme défi).

.
Titre: Re : Hardcore Retrogaming
Posté par: Yo Riso le Avril 23, 2016, 03:21:35 AM
Justement tu sembles faire la synthèse entre les capacités techniques et le gameplay, enfin je crois, bref...rien ne presse comme tu dis, à part le speed run effectivement.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 25, 2016, 02:00:35 PM
Ca c'est pour Pippo. En feuilletant SDA je suis tombé sur ca,  Ys en 16 secondes
http://speeddemosarchive.com/YsTheVanishedOmens.html
Titre: Re&nbsp;: Hardcore Retrogaming
Posté par: pippoletsu le Avril 25, 2016, 03:24:35 PM
Nice.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Avril 30, 2016, 11:16:08 PM
Je commence a avoir pas mal ecumé le romset de la NES. Je vais essayer de vous faire une selection de mes jeux NES préféré (Et vous devinez que la technique derriere ces jeux joue evidement un role dans l'affect globale que je porte a ces jeux, mais c'est aussi l'interet de ma selection)
Mais j'hesite encore, c'est difficile de choisir. Y a trop de jeu que j'ai pas assez pratiqué.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 01, 2016, 08:53:50 PM
J'ai du mal a choisir donc j'ai fais 2 catégories. Les coup de coeur qui sont les jeux pour lesquelles j'ai vraiment un affect (qui reunit la plupart du temps a la fois un affect ludique et technique) et que j'ai l'intention de pratiquer encore et la categorie "remarquable" au sens premier du terme, qui pour moi meritent d'etre remarqués, d'etre connus (pour des raisons technique ou pas) mais qui ne sont pas mes coup de coeur pour des raisons assez varié et auquel j'ai pas vraiment l'intention de rejouer.
J'avais commencé a expliquer le choix pour chaque jeu (et fait quelque nouveau gif) mais je me suis vite rendu compte que ca prendrait au moins 10 pages et que ce genre de truc a l'ecrit j'ai plus trop envie donc j'ai un peu abandonné en cours.
Donc en bref (ca peut evoluer):


Coup de coeur
- Ducktales 1
- Ducktales 2
- Batman
- Super Mario Bros
- Super mario bros 2 (US)
- Crisis force (Jap only)
- Life force
- Ninja gaiden 3
- Shatterhand
- Zelda
- Punch Out


"Remarquable"
- Batman return of the jocker
- Battletoads
- 3d battles worldrunner
- Dragon quest
- Gunsmoke
- Xevious
- Adventure island 4 (jap only)
- The guardian legend
- Super mario bros 3
- Bomberman 2
- Ys

Apres je pourrais détailler pour certain jeux.
En balotage y a des jeux comme les Megaman, les Castlevania, Metroid... qui me laissent pas indifferent mais auxquelles j'arrive pas a accrocher et sur lesquelles j'ai pas grand chose a dire, a creuser.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 02, 2016, 06:55:12 AM
Une video sympa pour voir la difference entre du 20fps et du 30fps

https://youtu.be/qO_PMZLu1eo
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Mai 04, 2016, 03:36:56 PM
La jeu tourne en résolution plus Basse sur Saturn non ?

Holà oui si tu t'engageais dans une description, connaissant ton sens du détail ça aurait été un sacré pavé  :lol: (mais toujours plaisant à lire u_u ) , la liste est intéressante et finalement à force de te lire, on peut presque se souvenir tout seul de pourquoi tel jeu est là! C'est quand même incroyable de se taper des RPG's NES juste pour voir techniquement ce que ça donne alors qu'on aime pas le genre. Même moi qui ne joue presque qu'à ça, descendre en dessous des 16 bits j'ai vraiment vraiment du mal  :roll:
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 05, 2016, 02:49:13 PM
Faire un effet de pluie avec un simple color cycle de palette, sans aucune animation de tuile.

(https://lh3.googleusercontent.com/Wanr-a2QgqPpW8DL3BIPk5s1-AFMhm0E4P-pcwYfUkPAuRjh-pa7ADCtGWKKrk8PRE-LjJp5mvNlpzgVycoVQQUUocr7ntPzA3IqtVnZvcxDxm3gnJAYWKZ5ba9IPl0M-qeNkVeMXJ1gnnr309qulSPqfNYwzpafmoKHnBA8qXilkwa6zF0b33B3hRQIU8Q2t5XLOeAvQst2lgFAEPWihBi4PVsJ8zqwGKCYDDc8lxFIoOACKiIPd-wH6CDU4qJc5qKEnbQndPCbN-l6oXek2SU3oR9V_lYjtp1avjCDA5khrtxqpQC5wmfTkFxzr3jjFtLxP4RYdnolxqvEgvmRhWh8yq4iBPQYvKi46Sj2Gm44_U8m93ani1ip5LMc9iR5if-2fEkmPolf4AZ5xLQJB6UM1lkJVWhGn8pVRS-ipni2YA5jpj9178XTkKlGii8jB6aq_0gakOjfD9O0vBPqpczWDmJTRt5P976ce_70vTwpPB13YzGX9ghTxWTjIIBaTfZCS9JIMZbcFXRvfuPRrXmzRIZwWd8UP5tO2MincoyleZTcQbqR7A=s256-w256-h240-no)
https://goo.gl/photos/ZsWi1r8JyjfpshQW6

C'est reussit, on peut meme suivre chaque goutte (et voir qu'elles tombent pas a la meme vitesse) et cela sans aucune animation, en consomant juste 8 tuiles (128 octets) et rien en ressource CPU. C'est du Ducktales tout craché.
D'ailleurs le 2 est peut etre encore plus reussit. Pour du 128Ko c'est vraiment incroyable de qualité.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 05, 2016, 03:55:25 PM
(https://upload.wikimedia.org/wikipedia/en/thumb/e/e7/Xevious_Start2.png/220px-Xevious_Start2.png)

Je me suis intéressé a Xevious. Faut savoir que c'est le jeu (avec Scramble de Konami) qui a revolutionner le shoot. Avoir un scrolling et un decors qui defile comme ca sous toi sans se répeter...
Et justement ca c'est ca qui est intéressant, reussir a faire un scrolling et pas avec un decors qui boucle en seulement 2 screens.
Le jeu a ete adapté sur Famicom en 1984 et j'imagine que ca a du etre une clac de voir debarquer l'arcade a la maison. Sur Famicom c'est la premiere cartouche produit par un tiers, c'est aussi la premiere cartouche 40Ko et le premier jeu Famicom avec un vrai scrolling (y avait un scrolling dans Devil World le premier jeu de Miyamoto mais c'etait une boucle mono-screen donc pas un vrai scrolling)

Comment faire un shoot avec seulement 40Ko?
Dans Xevious y a 16 stages et l'idée qui est génial dans Xevious c'est qu'il y a qu'une seul map pour tout le jeu.
Une map 1024x2048 donc bien plus large que l'ecran du joueur (grosso modo c'est 4 ecran de large et 8 ecran de haut)
(http://cdn.wikimg.net/strategywiki/images/3/36/Xevious_world_map.png)

Et a chaque stage (qui s'enchainent sans interruption) on va retraverser la meme map mais sur une bande verticale differente et donc avec l'impression d'un décors different qui ne se répete pas (d'autant que les ennemis/sprites au sol change d'emplacement a chaque stage).
C'est quand on survole la bande horizontal de foret qu'on voit en debut et fin de map que le décalage de bande se fait de facon invisible, le joueur est alors décaler vers la gauche ou la droite sans qu'il ne puisse s'en rendre compte.
un petit montage des 16 bandes verticales des 16 stages:

(https://lh3.googleusercontent.com/sFg6wJCQI08em6xfA7sxj8KKXAU0RDXpcMPl3r8fhPwtBrQ6xKCYN017q-1L3Da8pB9OTDM7QyK4qRwbPLYKn_fQuapTz8HB5Ihl0uzjO1Gb9rxLwrVc5_xjBT7J9DfJ2zF0MMWROyzT3pZTHsl9IYN2TNdg4Boblhx--Sh1afjd0_Bp13djsqu3BBu2oz0yO3Yd6z9EIbyxzKcGYCfyhYJgJxIXCjBOvNuwBzj1hCSfhwYDbBV_JEpG6GiQkq1GvnWmfpKgG1fvZumZ-46EUKdBUYdtT1AktOvrntTQHouN-izMnq76ytYGe11tSC-J_ZOLgzZkZE0mnrAQGPiJq38kmsPoqL9pU39Jd-M0CJyjC5eGx86XlmWFy877tEW3UIcifkG7lPwqS1h3V73qQMU0k9wg-N0Ci3WNjGB7HvRy_RPLbO3hjbFn4L-5y3XCu0Ngu9UbKjaL6eZilLe5k6I6t2ZbNYeaG0FC6pkYckulNjVWm_ffch6k9AW4kTw2U725NjVBPGYNwXHSTtUdU_84y7N5StAMsCaw1d5zMB3erCwMSb3aYAFs7Oe__4iv7un1=w823-h411-no)


La version Famicom reprend exactement la methode de la version Arcade. C'est meme exactement la meme map de 1024x2048 (avec des graphismes plus grossier) construit a partir d'un catalogue de tuile tres limité et assez simple qui sont alors utilisé comme des briques elementaires qu'on assemble pour construire les differente lignes du décors. Ainsi ils ont tres bien répartit la charge des graphismes vers la tilemap (dans la ROM cpu qui est 4 fois plus grosse) plutot que le tileset (dans la ROM gpu qui fait seulement 8Ko a cette epoque). Et on retrouve les 16 stages avec les meme décalage et bande vertical.
La difference c'est le format d'ecran qui n'est pas le meme, en Arcade c'est du 224x288 et sur Famicom du 256x240.

Des choix judicieux qui permettent alors de proposer au joueur un scrolling qui dure quasiment 20 minutes en donnant l'illusion que ca se répete pas (ou presque). Voila comment on fait un shoot avec 40Ko, good job!
La Famicom etait vraiment la plateforme idéal a ce moment la pour recevoir ce portage. Deja parce que a ce moment la c'est la seul machine a la maison qui a un vrai support hardware du scrolling et en plus la Famicom avait une résolution vertical élévé (240 lignes, une MD ou une SNES c'est 224, une SMS c'est 192) qui permettait de mieux simuler les shoot verticaux (surtout maintenant qu'on peut afficher la NES sans overscan).
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 06, 2016, 04:04:22 PM
Les cartouches NES qui ont la pire optimisation de l'espace (c'est a dire les cartouches qui contiennent le plus d'espace vide et de redondance) sont 3 jeux tres connu, devinez lesquels?
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Mai 06, 2016, 05:09:31 PM
MegaMan, Duck Hunt et DonkeyKong ? (oui c'est absolument random oui)
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 06, 2016, 06:22:23 PM
ouai c'est random mais on peut identifier quelques regles.
Deja les plus petites cartouches sont celle qui sont le mieux optimisé en général donc typiquement celle que t'as choisie comme Donkey Kong et Duck Hunt qui sont des cartouches minuscules (24Ko) n'ont quasiment aucune redondance et espace vide (ca tourne a 95% d'occupation une fois enlevé les bloc vide et redondant d'au moins 16 octets), le meilleur etant Super Mario Bros qui dépasse les 99%.

En général les cartouches qui utilise une configuration avec une ROM cpu et une ROM gpu ont aussi plus de redondance que celle qui n'utilise qu'une seul ROM cpu (qui permet de mieux optimisé le tileset et faire du sur mesure), surtout quand elles utilisent un mappers MMC1 au lieu du MMC3 qui est mal adapté au bankswitching du tileset et produit encore plus de redondance dans le tileset et donc de gachie.
Megaman1 est dans la catégorie ROM cpu uniquement (et plutot une petite cartouche) du coup c'est le plus optimisé des Megaman sur ce point (meme si globalement les Megaman sont pas super optimal) celui la est a environ 87% ce qui est bien.

Non les pires cartouche en fait sont simplement celle qui sont des adaptations de jeu Famicom Disk. Le Famicom Disk en double face ca contient des jeux qui font entre 80ko et 110Ko (donc moins qu'une cartouche classique 128ko) mais avec une gestion plus flexible des transfères de donnée (par rapport a du bankswitching on pouvait faire des tout petit fichier) du coup parfois ca devait poser des problemes pour un transfère sur une cartouche 128Ko (qui est deja pas optimal), c'est pas la meme facon de gérer les données. Du coup plutot que de s'emmerder a trop modifier le code du jeu certain on été transféré sur des cartouche 256Ko, et c'est surtout Nintendo qui a fait ca car forcement c'etait un gachie qui leur coutait moins chère a eux.
Du coup les pires cartouches sont Super Mario Bros 2 (US) avec 40% d'occupation suivie de pret par Zelda 2 avec 42% et Castlevania 2 avec 42%. Les autres jeux FDS comme Zelda, Castlevania, Metroid sont sur des cartouche 128Ko donc avec des chiffre bien moins catastrophique mais qui reste pas terrible (entre 60 et 70%).  en plus dans le FDS on avait une extension de RAM du coup les adaptations de jeu FDS en cartouche embarque souvent un chip de RAM supplementaire, ca fait des cartouche vraiment pas optimisé. Ces grand classsique que sont Zelda, Metroid, Castlevania... sont vraiment des jeux FDS et pas optimisé pour les cartouches, on le sait pas forcement.

En fait moi je viens surtout de découvrir que notre SMB2 etait un jeu FDS a la base. Je savais que la version jap SMB2 lost level etait un jeu FDS (une sorte de DLC de SMB sur disquette) mais je savais pas que le Doki Doki dont est tiré le SMB2 occidental etait aussi un jeu FDS. J'ai regardé un peu sur la cartouche c'est une cata tout l'espace gaché du coté tileset. Du coup rien que pour la scene de Mario qui ronfle a la fin du jeu et qu'ils ont du rajouté juste pour cette version ils ont utilisé 6 bank graphiques (donc 12 fois l'integralité des tuiles du background de tous le jeu Super Mario bros) histoire de remplir un peu la cartouche et vraiment sans effort d'optimisation.

Je soupçonne tres fortement aussi Ghost&Goblins d'etre a la base un jeu FDS qui au dernier moment a basculé sur cartouche (la toute premiere cartouche Famicom de 128Ko, ils ont saisie l'opportunité pour s'adresser au plus grand nombre je pense) vu comment la cartouche est mal exploité avec des redondances qui n'ont pas de sens.
Mais si ont exclus ces jeux FDS handicapé devine ce qu'on trouve pas loin derrière ces 3 jeux? L'adaptation de Shinobi par Tengen avec un score de 43%  :o
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Mai 06, 2016, 11:37:01 PM
Ha, j'y avait pensé à ceux-là, mais j'ai trop d'affect pour eux pour les suspecter de non-perfection.

Tengen Champion ! Je crois qu'au final j'aime bien cette société  :cool:
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 07, 2016, 07:22:23 PM
J'arrive a terminer Ducktales en moins de 9mn, avec plus d'entrainement on peut faire du sub 8.
En tout cas je commence a bien connaitre le jeu et tous ses secrets, j'ai rattrapé mon retard. C'est mon jeu NES préféré.
Le 2 on en parle moins, pour l'instant je l'ai juste survolé une fois (sans aller a la vrai fin, les Ducktales se paye le luxe en plus de proposer plusieurs fins et toujours avec 128Ko) mais il m'a l'aire au moins aussi bon. Je vais le creuser un peu plus.
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Mai 07, 2016, 09:51:49 PM
Creuser --> pelle --> Shovel Night --> Duck Tales, la boucle est bouclée.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 08, 2016, 11:16:28 AM
Ce qui est marrant c'est que moi j'ai joué a Shovel knight bien avant Ducktales.  :o

L'invention du gameplay du pogo en 89 je trouve que c'est génial. Surtout le fait que Picsou ne puisse pas tuer un ennemi autrement, de face (contrairement a Shovel). Ca transforme chaque ennemi en obstacle (ca c'est reprit finalement de Super Mario) mais en plus ca demande un niveau d'execution suplementaire car faut sauter puis presser bas puis appuyer sur un autre bouton. Donc passer un ennemi devient une veritable gymnastique qui demande vraiment de l'execution, on peut pas foncer dedans et juste le traverser ne appuyant sur un bouton au bon moment pour le tuer (voir le tuer a distance) ni meme juste sauter par dessus.
Et le fait que chaque ennemi soit un veritable obstacle assez complexe c'est parfait pour la NES car ca permet de pas avoir besoin de charger les scenes en sprites (d'autant qu'il y a pas de "bullet" non plus) et du coup ca leur permet d'avoir de tres beau sprite (superposition de sprites pour avoir 5 couleurs sur Picsou par exemple) et cela sans meme que ca soit la fete au glignotement.
C'est vraiment tres propre et du coup tres intelligent comme idée de gameplay sur NES mais c'est pas tout. Le pogo a en plus d'autres fonctions en terme de gameplay, il est tres riche. Il sert aussi de super jump pour acceder a des plateformes impossible avec un saut ordinaire et avec la aussi une mecanique originale puisqu'il fonctionne aussi comme un auto-jump tant qu'on reste appuyer sur le bouton, ca aussi c'est innovant et fun en plus. Et le pogo a plusieurs niveaux de maitrise en terme d'execution, notamment si tu relache et réappuie sur le bouton a la bonne cadence (et sans relacher bas) alors tu peut controler la hauteur de ton pogo et faire des petits pogo qui te servent a franchir certain passage sans te cogner a des pic au plafond ou a executer certaines pattern optimales contre les boss.
Le pogo a aussi encore une autre fonction, celle de permettre de te deplacer sur des surfaces sur lesquelles tu ne peux pas marcher (les pics) et parfois le pogo intéragis avec les surfaces de jeu differement (par exemple la neige, on s'enfonce dedans, c'est une surface anti-pogo). C'est tres simple et a la fois tres riche comme idée de gameplay.

Ce gameplay du pogo c'etait du génie je trouve et encore plus de le faire sur NES car c'etait une bonne approche des limitations techniques. Et a coté de ca le gamedesign du jeu est aussi parfait. Ces levels non linéaires bourrés de secrets c'etait sans doute tres appréciable a l'epoque, une veritable petite aventure ou l'on voyage sur tous les continents. Une tres bonne variété d'ennemis et des boss avec pas mal de RNG qui ont plusieurs niveaux d'execution. La replay value qui est vraiment excellente que ce soit par tous le systeme de scoring qui est bien foutu et demande pas mal de recherche et reflexion (avec la possibilité de refaire 2 fois chaque level et certaines astuces), ou le speedrun vers lequel te pousse le jeu et qui l'a aussi reserve plusieurs niveau de pratique (notamment grace a la RNG des boss). LE jeu te propose meme 3 fin differente dont une pas facile a deviner/executer (finir le jeu avec 0$)
Y avait aussi cette possibilité de pouvoir selectionner le level qu'on veut dès le debut facon Megaman et ca aussi ca a du participer au succes du jeu car gamin ca arrivait qu'on ne joue qu'au premier level d'un jeu en boucle et c'etait frustrant, ici meme en etant tres mauvais on avait acces a presque tout le jeu (a part le boss final) et meme pour le joueur experiementé c'etait génial pour le training (si tu veux faire du scoring ou du speedrun).

A coté de ca la musique est tout aussi marquante et les graphismes sont superbe aussi pour l'epoque. Notamment derriere chaque sprite (y a environ une trentaine de perso/ennemi/pnj) on sent qu'il y avait un veritable artiste et c'etait un sentiment plutot rare je trouve pour l'epoque. Et puis le climax de tout ca c'est que ca tienne sur une cartouche 128ko, que ce soit le 1 ou le 2 a aucun moment tu peux deviner que ce sont des jeux de la catégories 128k.

Est ce qu'on a un historique des equipes Capcom de l'epoque? savoir si y en avait plusieurs et qui faisait quoi?
Titre: Re&nbsp;: Hardcore Retrogaming
Posté par: pippoletsu le Mai 08, 2016, 11:49:50 AM
T'as une histoire de Capcom qui sort chez Pix ces jours-ci.
Sinon demande à tmdjc, il sait peut-être des trucs :o
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 08, 2016, 01:13:24 PM
J'aimerais bien savoir notamment si ils ont eu plus de temps de développement que d'habitude ce dont j'ai l'impression car juste avant Ducktales y a eu Megaman 2 qui justement a ete tres serré en temps de devs, genre 4 mois, y a peut etre eu des changements apres MM2 (mais en meme temps y a encore plus de jeu qui sorte apres MM2, entre les Megaman, tous les jeux Disney qui debarque et les adaptations de jeu d'arcade). et pourquoi s'etre échiné a faire entrer le jeu dans du 128Ko alors qu'ils etaient deja passé au 256K avec Megaman 2. Ils ne croyaient pas trop au projet? (ce qui serait contradictoire avec un temps de devs plus confortable et le fait de pouvoir profiter de la licence Disney) ou le considérait comme secondaire? pour les enfants?

J'ai fais un album photo de mes archives retrogaming avec notamment les gifs. Je continuerais de l'alimenter. Je met le lien.
https://goo.gl/photos/N4KKncKzZyTRfCCP8


Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Mai 08, 2016, 03:42:52 PM
ça fait une belle retrospective en image, j'ai presque versé une larme  :cry:
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 08, 2016, 04:21:19 PM
Je me suis fait les 2 fins alternatives
Une terminé avec plus de 12 millions de $  :cool: (aidé par les savestates)

(https://lh3.googleusercontent.com/bL6RVNH_t_cIIoEs7ztEdhw9YYSI525mmtbWz1nT3KhrwZ6I60vG2KKeUcRZcvahZRPorxJS3iq52Hf8TiTqESzApXnw5ElQhM4w7AM6kJS0wgQ2_bV89YJac1MpAsRBsMnQlOBio5SruUR9wBv9Jx1wLZFaRtGvQEM5S0msGYzxlunXzitpaLEaCVbCWrjP_YurNVuvYjZRsM7M-NE8iPNa3i1m0c8qPfV6tUCxcKd-IWaj0p1zqgoMlIWxH4GeuIjYQRtl7Qe5gYjSiTK59sqwFkluvPVhuG2F0owZUQXxqAOSvj7Zd-ryPWaCHz3i2epV_QIRjMzUt_Nd8lz-v5oe5FMsr2fHCtuQkPnGxzoqmP-qShPY85ldmCtn0iroKRnOYwZl5Cg9RSkurlZXtzg65IWlS3C-Wj6kUIDQz9pWgyKYOJ00EC8ifudkyt7bWEcPtmEw9I6PdRjQf1L0_rQn6eM6o9Hscld9qNFeXyvNrm8RLWJf3o0JemMzdWX6Klg3xTHjFHRK6FpVqSmG--WWA6on9LfpZjVkjrRb9NA0clv5Pen0J4XDjdDCqpBkiWdlaoeppUU0SGHZDk1m66xFNWx6xAg=w256-h240-no)(https://lh3.googleusercontent.com/BIn639VnjpkzB6Ah6eS5lwEhb1mOuvsSNRROLjI4yn65S86Ds4gQSWvfbHAJ0Ncpw60VRmnc-hXzraE8unnbLhvg0H45vWiuwb149rGhqHmh6Kf5UW7CUSX1mR-XV_0Mt-y7lRp31Hs2sHijWNSIfBqtaXQgbJdso9mk8HAyGArvm4jGWoG4McuUyCbTELFgOoZLI9eMLb3_55Z7teisSV3Fu_OTwCBz5I50lidqZcDyD8KDfVaD-oeH-GsMr-wQWYd8395DPQxWT49zutxdrvSYnK4aNTUHn_dY5FsZGDp4tInXOLs6ATobKwH0i021rPGJtEpAons60X8ChVMK85KaOuuL70fB3PwJzKeGZb9CJmmFMmcahCVmjZymI-tMK0OUdMFnSRIm2Wwdb3Hh5ZjSev_uyiHq_ZE87GbaQmNJryKloN2n4IiqY8p4IwLd3PNqGLJpaeiqMhEhNj4A1bzEgHKxT-3DS4RVAUBu8s-g6lAva8YxInZI-q64KTNv36r3DRyNxzAAml2pWCyu3S2nAhhZimZL6WSjvY8N8E776KTrjl0PaI5uWN-uxxqC5qLJvRVWAMXnYvNvG63RcaWQNeCTb4A=w256-h240-no)


et l'autre avec 0$ qui n'est pas si compliqué finalement une fois qu'on sait comment faire.

(https://lh3.googleusercontent.com/05fuWhfv0boBtqZw-EEl5mYalXPTzPQk3pc5QEmzx0YWNVom6tpFm8ldD5EERa85uO5JkyTwfgvRfbIOcNhTHyUeZUKzww7iT2Yf50TKQN31uuzN85NDR9ZnkoWzykV3Q2cqqRRr2LdKMvarbB1yIKk8Lz3ajZMXfqiAYNwkUhCWuUft1SiTsX_NGEwHnC5MS3Zkm4blMNXYJM-kKVNc1LSccBXHp_Udq09X9udplQmf5EB8XGF3angLcLc5IZm1uUi9LoJsKLzEeVUCLztyRgCTQHL4jpQ3tpcg6NdO_wqYIqvhc61v5BJV6vDVuCd0ukX5fEKs5RT7B7jKbgQzErO6cicQlAM1UUFAzCA-LHcZGexZbX6Ylor97LTXBCyUkhwqbpHXr7wghxAn7iPjbBTlObyy0ZGeI3oEn6B5SA-Fqt50qlTm3_XT0NvZifEVKRx6z9WA0C2y9Xw_Gr8Yq8YnADx5i8iCl_AHkQn3YRmyqv6ndJkzaN0tZ4IUp1EbI-LWg7SUVC902iif2u8wkfQ1rJxpDDalu9NJkJJq-bKQm5cGYPOGYo2Awu_DmVV5vvz3j_KdKl48-jSpA62nu7eMt3OGfv0=w256-h240-no)(https://lh3.googleusercontent.com/JcbFsLeWL-F46wUOgkfxhqV0PI1P_EU_--cXdPuQnm3MiYR6DFr4x5XJnaIPj-EOm2Ygq4Cl7Kdx7sVeNTPEPQYXt-hU4Le2VcAfG5CVfWf_I99aiU_oG66bJSKPMlFbOTcj_v1kw1VuLl4-pg7QiTiySppuVHWLuq4EqWBRfzARRxPe9sYth3FAbm13ftMjHOLgR1KZkpF8AFtF_YHAGzbRAC5TVwDUN_mXbdcdnce9_tzMHZKSfrkf8-cNAsV-P9ST2bQ5CMg2nvQwgGYJxv71tw-KZLF0QI-BsvDaOWK4HNnQcgvWSonJAgZKUeq86lFehnGJig8QSt3A16GZCRqqv7SI0JwjVawBT6On6CCY863rp7daFxbXQsnOswdNLKrD9gB67y8BEhl1UWdyFVF1ekt51Pr-6o2KbSTxI9DIBLHr2PlEoZVgDx5xopHJjMf6X6jmfcf93QR_XS-4veLu8Y4U-g1UYvAOOn2ppnWOA4jY3evtY0IopnClWkPWtOTMpQqQYEfUeUUa3VwRnm3LuEuSa5pQ49triIvl3KCDyOebcdUSohzCIq0EH82s9dAPz6lTaLBUPmcdbHZNtlaBGJwelGI=w256-h240-no)


Je peux ranger definitivement le jeu, je le connais par coeur maintenant, probablement mieux que si je l'avais fait a l'epoque.

Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Mai 08, 2016, 11:02:57 PM
J'ai fini de programmer mon ray-casting  :cool: je suis vraiment assez fier, je pensais vraiment pas y arriver (aussi bien).

D'ailleurs ça bouffe vraiment rien ,et je serais vraiment curieux de savoir comment ils en font tourner un texturé sur NES, alors qu'on ne peux pas zoomer/dézoomer les sprites...Je sais pas.

https://www.youtube.com/watch?v=po69zgqyFWM
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 09, 2016, 04:56:58 PM
Le ray-casting c'est amusant.
J'avais pas vu cette demo NES. zoomer des sprites ca servirait pas a grand chose ici, le raycasting c'est une approche 100% software donc ce qu'il faut c'est surtout un bon CPU, c'est pour ca que ca a fait son effet quand ca a debarqué sur PC a une epoque ou les carte 3D n'existait pas c'etait la solution idéal, et pour ca aussi que sur Jaguar ca a bien marché aussi car elle n'etait pas cablé pour la 3D (ni pour zoomer des sprites) mais par contre son GPU etait comme une sorte de second CPU puissant, c'etait plutot adapté pour ce genre d'approche software.
Le probleme sur la NES c'est que poru le raycasting faut pas juste un bon CPU mais aussi un affichage en bitmap (et au moins 4bpp) avec un double buffering si possible. La NES en plus d'avoir un petit CPU est tres handicapé par son affichage par tuile et son 2bpp qui pousse au monochrome sans parler des 2Ko de RAM donc c'est la pire machine je pense pour faire ce genre de chose, je sais pas trop comme ils bricolent cela..

Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 10, 2016, 01:47:32 PM
Et donc tu l'as fais sur quoi ton raycasting?
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Mai 10, 2016, 07:16:12 PM
En C avec SDL, je l'ai mis en free Download sur mon drive Orange si ça intéresse quelqu'un. J'en ai vraiment chié, pas sur le principe, mathématiquement c'est facile (seulement utiliser un peu de trigo [matrice rotation, et les formules de collège], et on [je l'ai fait avec mon frère] a vraiment pris du plaisir à imaginer comment faire), mais on a passer au final plus de temps à debugger ( et à concevoir les outils de debuggage) qu'a coder en soit.

On avait commencer avec 60 rayons, pas satisfait on a fini sur 600  :cool:
https://share.orange.fr/#cM7mrAMHPP176739868a

et ça consomme vraiment rien avec la façon dont on a coder l'affichage avec SDL, on aurait pu déclarer autant de surface que de bandes, et tout afficher, mais finalement on a fait une sorte de mémoire tampon, où le même objet est afficher 600 fois de manière différente sur une seule surface plus grande, la seule qu'on affiche au final (avec celle de la main, mais on était obliger pour le culling)

Normalement tout fonctionne sans logiciel spécifique tant que vous êtes sous windows :
Une vidéo démo si vous avez la flemme : https://share.orange.fr/#P4R3RVTa4H1767398865
https://share.orange.fr/#5TReDHWAix17673988b6
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 11, 2016, 03:01:49 PM
Je vois que tu t'amuses bien :) et puis t'as fais l'effort d'integrer au moins les test de collision c'est toujours plus cool.
Mais y a un truc qui cloche dans le comportement de ton ray-casting, notamment le fait que la resolution semble etre plutot "world space" que "screen space", en gros la resolution varie selon que le mur est proche ou loin comme si ils etaient composés de brique elementaire et que la résolution dépendait de ces briques, d'ailleurs ca donne meme parfois des distorsions, des sorte de courbe. Je pense que ton approche du ray-casting ne ressemble pas a un ray-casting tel que je l'envisag, ca a l'aire curieux :D
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Mai 11, 2016, 04:12:06 PM
Ouai complètement, et c'était encore plus appuyé avant. On en est pas trop certains mais on pense que ce sont les troncatures qui sont faites lors du passage des coordonnées des rayons de décimal en entier. Ce qui nous fait penser ça, c'est que l'effet s'est amoindri quand on a déclaré "positioncamera" (la position du joueur) en en tant que "double" au lien d'entiers. Mais ça me paraît étonnant que ce soit la seule raison, on hésite à coder notre propre système d'arrondis pour éviter les troncatures. Mais si c'est pas ça le problème on aura bien perdu notre temps...
Il y aussi un autre indice, visible "in-game" qui met sur la piste normalement... :D
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 11, 2016, 08:15:39 PM
J'aime bien les 3 Super Mario bros pour des raisons differentes mais ils ont chacun un truc qui m'agace un peu donc je cherche des alternatives, le jeu de plateforme NES parfait (autre que les Ducktales).
J'ai tenté Gimmick (de Sunsoft qui fait vraiment pas mal de bon truc sur NES) et Little Samson qui semblaient tous les 2 tres prometteur en video et dont j'entendais du bien mais dans la pratique je trouve que ludiquement ca tiens pas, soit des gros defaut de gamedesign soit du level design insipide, bref ca arrive pas a la cheville d'un Ducktales qui tiens pourtant sur une cartouche 3 fois plus petites que ces jeux, c'est toujours ca qui est fou.
Kirby j'aime pas (et lui il fait carrement 6 fois la taille d'un Ducktales, vraiment too much pour de la NES comme type de cartouche). J'ai fais aussi Adventure island 4 qui est en quelque sorte le Monster land de la NES, j'aime bien, c'est mieux que ceux que j'ai cité mais il manque encore un petit quelque chose (toujours pareilles, ludiquement ca ne tiens pas face aux Ducktales malgres que ce soit encore une grosse cartouche) mais ca m'a fait rigolé que l'ultime arme du jeu soit la hache en pierre de Wonder boy :)
Donc si vous avez des idées.

Les jeux 8bit vieillissent quand meme mal ludiquement (par rapport aux jeux 16bit qui vieillissent pas), c'est difficile de trouver de vrai bon jeux en faisant abstraction de l'effet nostalgie.
Par contre en puzzle game les adventure of lolo c'est cool.
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Mai 11, 2016, 08:39:17 PM
Bah, j'aime beaucoup Megaman, mais surtout grâce au X, mais je trouve le 2 très bon [#classisime]. Sinon mon Plateformer de la Nes c'est vraiment Metalstorm. Vraiment je le trouve super lisible et jouable, alors que l'écran est quand même super chargé. C'est un des rare plateformer Nes autre que les classiques que j'ai fini, et surement celui qui m'a le plus plût, avec un renouvellement constant du Gameplay. Il compose vraiment bien avec les capacités qu'on lui offre et il ne souffre d'aucune limitation. Son level designe est super intelligent, et est divisé en deux phases claires : la première, l'échec, et la compréhension de l'idée du level; et la deuxième : l'échec et l'entraînement, le travail de l'exécution. Bon on meurt assez vite ( pas de barre de vie, je crois que le moindre impact c'est la mort ) , mais c'est pas si gênant car les niveaux sont courts mais super denses et intelligents (encore une fois).
En plus bonjour c'est beau :
(http://img.gamefaqs.net/screens/2/7/f/gfs_3276_2_2.jpg)


J'aimerai bien pouvoir recommander Journey To Silius, mais il est clairement moins solide que Metalstorm ou Ducktales...et je l'aime surtout pour sa soundtrack.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 11, 2016, 10:01:13 PM
Effectivement c'est 2 jeux sur ma liste que j'ai deja survolé. Metalstorm pour son utilisation extreme du bank switching a 60fps pour simuler un second plan (et aussi pour avoir des sprites tres bien animé) et c'est quasiment l'un des seul jeu NES qui le fait comme ca (pas juste des parallaxes, un vrai second plan). j'aime bien ce genre d'utilisation de la NES mais par contre j'y avais peu jouer (j'etais juste aller au second stage) donc ca me donne envie de peut etre le faire en entier pour voir (et puis j'avais oublié de le gifer celui la). Avec le temps je me rend compte que certain jeux que j'ai testé y a longtemps et que je trouvais ordinaire sont finalement au dessus du lot en terme de gameplay et de level design comparé au reste qui vole souvent pas tres haut donc ca merite d'y retourner.

Journey To silius il est dans ma liste, je crois pas y avoir vraiment joué, je l'avais noté effectivement comme référence dans l'usage du sound chip NES (il montre tres bien a quelle point la NES est superieur sur ce point a notre SMS) et puis parce que c'est un jeu Sunsoft et que les jeux Sunsoft sont toujours intéressant a tester au dela des incontournables batman (Journey to silius, Blaster Master, Super Spy Hunter, Mr Gimmick... Y a toujours un truc intérressant que ce soit sur la technique, visuel, audio, voir des idées de gameplay meme si il manque toujours un petit quelque chose).

Les Megaman j'ai toujours la flemme de m'y mettre, c'est une série fleuve. Chaque Megaman est deja presque comme un double jeu alors la serie complete c'est comme tester 10 jeux d'affilé qui se repete pas mal, c'est too much (au niveau des cartouches aussi c'est too much, a part le 1 et le 2 le reste c'est des grosses cartouches et pas super optimisé, j'aime pas trop quand ca va au dela des 256Ko, pour de la NES je trouve ca un peu trop et pas representatif de la machine), mais c'est sur que c'est du solide donc faudra que je les fasse mais y a quelques truc qui me dérange dans le gamedesign (le coté un peu bourin avec une grosse barre d'energie et plein a ramasser sur le trajet qui t'incite a foncer dans le tas et puis le fait de devoir passer tres souvent par les menu pour switcher les objets/armes) mais c'est sur que comparer a beaucoup d'autre jeu c'est mieux foutu et donc faudra les faire, au moins le 2 et le 3 je pense (le 1 je l'ai deja survolé pour voir ce qu'ils arrivaient a faire avec 128Ko).



Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 11, 2016, 10:44:58 PM
Mais sinon qu'est ce qui fait que c'est toujours Megaman 2 qui ressort du lot dans la serie?
Ca semble faire l'unanimité et c'est d'autant plus surprenant quand tu sais comment le développement a ete rushé, limite baclé,  sur cette episode la justement. Y a quelque chose qui le distingue en particulier? moi ca me convient car sur cette episode on reste justement sur un type de cartouche standard, dans la parcimonie comme j'aime, mais ca m'intrigue.
En dehors de Megaman 2 j'ai tenté de savoir si y en avait un autre qui faisait l'unanimité (histoire de pas tous me les taper) mais personne ne semble d'accord.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 12, 2016, 04:12:45 PM
Par contre je cherche un outil pour faire de la capture d'ecran video sur mon PC. Je voudrais un truc qui permet de faire de la capture de mon ecran jusqu'a 60fps si nécéssaire et juste dans une fenetre qu'on delimite soit meme.
en gratuit j'avais pris CamStudio qui apparemment semblait etre le classique dans le domaine mais ca marche tres mal, y a aucune correspondance entre les reglages de framerates que tu fais et ce que tu obtiens (qui peine a depasser les 20fps meme si je choisie une toute petite fenetre, c'est vraiment calibrer pour des tutos ou le framerate est secondaire)
En fait je voudrais un truc aussi efficace que Fraps (avec lequel je capture sans probleme a 60fps et en HD) quite a ce que ca compresse tres peu pour etre leger en charge mais qu'on puisse definir la fenetre d'enregistrement dans notre ecran (ce que Fraps ne fait pas) et puis aussi un petit logiciel de montage basique tant qu'a faire.
Titre: Re : Hardcore Retrogaming
Posté par: glen le Mai 12, 2016, 04:27:16 PM
J'aime bien nvidia share pour capturer (bien plus performant que fraps sur ma config), tu peux même faire un semblant de montage avec maintenant
Spoiler
(http://image.jeuxvideo.com/medias/144233/1442327450-8218-capture-d-ecran.jpg)
[Fermer]

Sinon en logiciel de montage gratuit, tu as Pinnacle Videospin.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 12, 2016, 05:09:13 PM
merci
Apparement mon GPU est trop vieux (GTX 560) pour le share video, il veut pas en dessous de GTX 600
Je note pour Pinnacle Videospin
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Mai 12, 2016, 06:22:19 PM
J'ai trouvé ca
https://jp9000.github.io/OBS/sources/windowcapture.html
c'est nickel.
Titre: Re : Hardcore Retrogaming
Posté par: Yo Riso le Mai 21, 2016, 10:06:28 PM
C'est ce que j'allais te proposer, j'ai abandonné fraps depuis 2 ans pour OBS. je capture tout mes jeux rétro avec, ça permet de faire des captures plus légère parce que quand tu testes plus de 30 jeux différents par vidéo ça commence à faire des heures et des heures et avec FRAPS je faisais souvent péter les 2 To de rush...
Sinon pour Ducktales, j'arrive pas à comprendre comment il a pu devenir un classique, je n'y ai pas rejoué depuis sa sortie, donc je me base sur mes souvenirs mais c'est un des platformers NES qui m'avait le plus déçu, tout simplement parce qu'il m'avait laissé sur ma fin, je l'avais acheté et fini en une après midi, ramené avant la fermeture du magasin pour me faire rembourser et pris un autre jeu à la place. J'avais pas l'habitude qu'un jeu ne me résiste pas au moins un peu.
J'ai l'impression que c'est le premier jeu "casual" auquel j'ai joué. Je sais pas Metroid j'avais galéré 6 mois, Castlevania 2 j'avais perdu une semaine sur l'énigme de la flute ( je dis ça de mémoire), Megaman 2 je l'avais fini en 2 semaines je crois bien et yen a plein que je n'arrivais tout simplement pas à finir. Mais Ducktales...finir chaque niveau en une seule tentative ça m'avait choqué, enfin bref j'ai dû louper un épisode, t'es pas le premier à encenser ce jeu, faudrait que je le reteste.
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Juin 20, 2016, 06:23:39 PM
Je prend un sacré plaisir à essayer de comprendre les trick que tu met en évidences dans les Gifs que tu met sur ton Drive. C'est vraiment sympas comme idée, et puis ça nous laisse un peu autonome  :p
Titre: Re : Re : Hardcore Retrogaming
Posté par: Hobes le Juin 25, 2016, 03:19:59 PM
Citation de: upsilandre le Mai 11, 2016, 10:44:58 PM
Mais sinon qu'est ce qui fait que c'est toujours Megaman 2 qui ressort du lot dans la serie ?

J'ai l'impression que Pippo, Futch ou même Sprite Oddity n'ont pas vu la question.

(je la remonte parce que je me baladais sur Senscritique et comme toi j'ai pu observer que le 2 avait la meilleure note. Il y a sans doute une raison à cela, au delà des thèmes que je connais... alors que je n'y ai pas joué, ce qu'est toujours fort).
Titre: Re&nbsp;: Hardcore Retrogaming
Posté par: pippoletsu le Juin 25, 2016, 03:28:25 PM
C'est simplement le plate-forme action parfait de sa génération.
Exigent, mais pas absurde comme le premier parfois, avec des thèmes musicaux inoubliables, un level design au pixel près.
Et ça illustre parfaitement les tendances de LD/GD de l'époque, aérien, rythmé,  avec toujours un soupçon de stratégie dans les approches.
Certains épisodes sont peut-être préfèrables mais le 2 reste l'épisode qui aura inscrit la série dans l'histoire du JV.
Titre: Re : Hardcore Retrogaming
Posté par: Yo Riso le Juin 26, 2016, 03:21:02 AM
Oui le 2 était bien mieux que le premier niveau équilibrage, et puis il y avait 8 boss au lieu de 6, quand t'es gamin ça suffit pour te combler et puis ça complexifie les possibilités pour l'ordre de sélection des levels, c'est pas rien.
Titre: Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Juillet 10, 2016, 09:59:01 AM
Citation de: Coca_Impact le Juin 20, 2016, 06:23:39 PM
Je prend un sacré plaisir à essayer de comprendre les trick que tu met en évidences dans les Gifs que tu met sur ton Drive. C'est vraiment sympas comme idée, et puis ça nous laisse un peu autonome  :p
J'ai effacé les albums google photo pour divers raison mais garder l'archivage bien pratique sur le Drive google et je met tous en doublon sur postimg pour les liens forum (mais comme ce genre de site peut disparaitre ou devenir payant a tout moment le plus important est l'archive sur le drive, je me suis deja fait avoir suffisement de fois) J'ai refais et retraité pas mal de gif ancien que j'avais fais.

Je met le liens vers le repertoire Gif de mon drive (c'est uniquement les gif, pas les images)
https://drive.google.com/open?id=0B399kteofpYuZ0FyeDNWNzQ1Ylk

Et l'equivalent sur postimg
https://postimg.org/gallery/2g5iwfmn4/

Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Juillet 13, 2016, 09:17:11 PM
J'ai retourné Zelda1 dans tout les sens, depuis le temps que je voulais creuser ce jeu que je connaissais tres mal.
Presque tout etait deja present dans cette episode, il a quelque chose d'assez moderne, c'est impressionnant. Zelda m'apparait maintenant comme le jeu qui symbolise le mieux la bascule de 86. Y a la periode pré-86 (le monde de l'arcade et de la micro) et la periode post-86 (un faisceau d'elements qui font basculer le jeu video dans le salon ce qui va changer la facon de faire les jeux) et Zelda joue parfaitement le role du jeu de la rupture qui ouvre la nouvelle ère post-86.
Deja il ouvre l'année en sortant en tout debut 86 et c'est quasiment le tout premier jeu console a etre vraiment ambitieux. il profite du boost de capacité qu'offre le tout nouveau Famicom Disk (meme si le jeu garde un pied dans le minimalisme pré-86) et innove plus qu'aucun autre. Il ne ressemble ni a un jeu micro ni a un jeu d'arcade, il marque bien cette nouvelle émancipation du jeu de salon et il arrive avant tout les autres (les castlevania, metroid et compagnie... ).
Dans la periode pré-86 on peut résumer les consoles a un seul jeu, Mario, qui est sortie quelques mois avant et qui etait l'exception (grace entre autre a un exploit technique d'avoir fait tenir un jeu aussi riche avec le minimalisme des cartouche de cette epoque pré-86) qui sert un peu de signale annonciateur de la révolution a venir mais c'est Zelda qui ouvre vraiment cette nouvelle ère, c'est un peu comme ca que je le vois.

Parmis tout ce que j'ai noté sur le jeu y a au moins 2 point sur lesquels je voudrais m'arreter

1: le menu de selection des items. J'ai pas compris pourquoi ils ont foiré l'interface. Le HUD qui scroll pour ouvrir le menu visuellement c'est plutot chouette comme idée pour l'epoque (meme si au final un menu qui switch direct aurait ete plus rapide) donc c'est pas ca qui m'a dérangé. Mais le menu de selection est composé de 2 lignes de 4 items mais on peut pas passer d'une ligne a l'autre, le haut et bas du Dpad ne sont pas utilisé du tout dans le menu, ca se comporte comme si t'avais qu'une seul ligne de 8 items ce qui est vraiment désagréable pour la selection (meme a la fin du jeu je m'y etais toujours pas fait) et je vois aucune explication technique a cette erreur d'ergonomie surtout que devoir passer par un menu pour selectionner des items c'est deja toujours chiant donc faut au moins soigner l'ergonomie c'est important. J'ai du mal a comprendre une erreur aussi grosse venant d'une equipe a priori bourré de talent (sur un autre jeu ca ne m'aurait moins surpris).

2: Les deplacements de Link. Bon forcement le premier truc qui saute au yeux et qui fait oldschool c'est l'absence de diagonale pour les deplacements qui rend le truc assez rigide. Je me suis d'abord dit que c'etait sans doute pour economiser des sprites de link en ayant que 4 orientation au lieu de 8 (on se souvient de DQ1 qui lui n'avait qu'une seul orientation pour faire des economies) mais non suffit de se rappeler de Zelda 3 ou le jeu gère tres bien les deplacements en diagonale mais le sprite n'a malgres tout que 4 orientations (l'orientation durant les deplacements en diagonale depend alors de la derniere orientation prise) donc c'est pas une explication.
Mais en creusant un peu plus je me suis rendu compte que la sensation un peu bisarre quand on manie Link n'etait pas du seulement a l'absence de diagonale mais au fait que link se deplace sur une grille ou les intersections sont disposé tous les 8 pixels. Mais pour autant Link ne se deplace pas par bloc de 8 pixels en passant automatique d'une intersection a l'autre de la grille comme c'etait le cas sur un Ys ou un Hydlide ou un DQ (sur DQ c'est meme 16 pixels). Link a l'inverse de ces jeux la peut s'arreter entre 2 intersections de la grille, on est libre de ses deplacement sur une ligne de la grille mais par contre il ne peut changer de direction qu'au intersection du coup quand tu presses une direction Link a tendance a d'abord partir dans une direction perpendiculaire a celle que tu presses pour rejoindre l'intersection la plus proche sur la grille et alors changer de direction a ce moment la.
Ca veut dire par exemple que si tu presse vers le haut alors Link peut partir d'abord vers la gauche pendant 3 frames avant de se diriger vers le haut. Alors 3 frames (qui est le cas maximum, c'est entre 0 et 3) c'est pas grand chose mais c'est quand meme 50ms ou Link se deplace pas du tout dans la direction pressé et ca se ressent quand meme je pense. ca lui donne se comportement un peu bisarre qui lui est particulier mais qu'on arrive a integrer comme partie de la mecanique de jeu.
La y a sans doute une explication technique, ca doit simplifier certain test de collision mais j'aimerais beaucoup jouer a une version remanier toujours sans diagonale mais ou les deplacements serait 100% libre au pixel pour tester voir si y a une difference de ressentie. Et aussi une autre version avec en plus les diagonales, vraiment comme un Zelda3 pour voir.


Sinon je me suis encore un peu entrainé sur le scroll glitch. Il est vraiment difficile a faire mais je commence a bien le maitriser, j'aimerais bien le faire sur une vrai console, faudrait peut etre que j'en achete une un jour avant que ce soit trop chère...

(https://s19.postimg.org/njwaqa60j/ZeldaScrollGlitchNES.gif) (https://s19.postimg.org/ef26l0noz/ZeldaHudScrollGlitchNES.gif)

Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Juillet 14, 2016, 07:24:19 PM
Je me suis amusé a calculer la vitesse de deplacement de quelques personnages de jeux emblématique de la NES pour comparer. Il a fallu parfois que j'aille fouiller moi meme dans la RAM de la console pour trouver les valeurs précises. C'est des valeurs en pixel par seconde (pps)

SMB1 marche: 90 pps
Course: 150 pps

SMB2 Doki Doki marche: 90 pps
Course: 135 pps
Course de Toad qui porte un ennemi: 161.25 pps

SMB3 marche: 90 pps
Course: 150 pps
Course + power: 210 pps

Zelda(Link): 90 pps

Metroid(Samus): 90 pps
morph ball: 90 pps

Ducktales 1,2: 90 pps

NinjaGaiden 1,2,3(Ryu): 90 pps

Megaman 1,2: 82.5 pps

Megaman 3,4: 77.8125 pps
Glissade: 150 pps

Batman Joker: 127.96875 pps

Batman 1: 78.75 pps

Rygar: 63.75 pps

Castlevania 1,2,3(Simon): 60 pps

Ghosts'n Goblins(Arthur): 60 pps

Contra: 60 pps

Alex Kidd SMS: 120 pps
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Juillet 26, 2016, 11:51:36 AM
90 apparaît un peu comme un Standard du coup ? En tout cas les valeurs sont plutôt logiques avec l'image que j'ai des jeux!
Comment tu as fait pour trouver ces "regles" de déplacement sur Zelda 1?
Titre: Re : Re : Hardcore Retrogaming
Posté par: upsilandre le Juillet 27, 2016, 04:39:14 PM
Citation de: Coca_Impact le Juillet 26, 2016, 11:51:36 AM
90 apparaît un peu comme un Standard du coup ?
C'est le constat que j'ai fais, y a une sorte de standard pour la marche a 90 pps mais ca tombe mal quand meme car le chiffre idéal c'est 60 ou 120. 90 c'est 1.5 pixels par frame ce qui n'est pas possible, ca implique un scrolling avec du judder (un coup 1 pixels, un coup 2 pixels) mais faut croire que malgres ce handicape le 90 etait préféré. Le 60 etait sans doute souvent trop lent pour la marche et le 120 trop rapide. C'est pas de bol car c'est une histoire de résolution avant tout.
Les Coleco, NES, SMS, PCE, SNES avaient toute la meme résolution 256 pixels et donc la meme problematique. Par contre sur le 320 pixels de la Megadrive ca veut dire que sur cette console le 120 pps correspond a une vitesse de 96 pps sur les autres consoles donc proche du standard mais cette fois sans judder.


Mais y a plus intéressant. J'ai eu la bonne idée d'aller voir ce que donnait Mario en version PAL bien de chez nous car il fait partie de ces jeux qui ont ete optimisé au format PAL. Si le jeu n'avait pas ete adapté on aurait eu un Mario qui marche a 75 pps (au lieu de 90) et qui court a 125 pps (au lieu de 150), les fameux 20% d'ecart.
Quand on regarde les valeurs en RAM qui nous intéresse on voit effectivement qu'ils les ont changé pour compenser le 50 hz et s'aligner sur la version NTSC du coup on a bien eu un Mario qui court exactement a 150 pps comme en US et Jap et chez nous sans judder (car la c'est 3 pixels par frame au lieu de 2.5) par contre il marche a 87.5 pps un peu moins vite que la version NTSC.
Mais la ou c'est encore plus intéressant c'est que pour avoir aussi des vitesses verticales proche de la version NTSC (saut, chute...) la c'est plus compliqué, il a fallu ajuster les parametres de gravité et ca a pour conséquence de modifier la hauteur des sauts (et par la meme occasion la longeur) ce qui n'est pas rien pour un jeu de plateforme, ca modifie le gameplay. C'est cocasse car si ils n'avaient fait aucun effort d'adaptation de la vitesse les saut eux serait resté plus fidèle a l'original (ca serait strictement les memes), c'est pas facile d'adapter les jeux en PAL.

Du coup ca donne ca pour les hauteurs de saut en pixel:
au repos NTSC: 66  PAL: 64
en marchant NTSC: 71  PAL: 68
En courant NTSC: 83  PAL: 86

Faut savoir aussi que les palliers des plateformes sont a 64 pixels et le suivant a 80 pixels.
on voit des differences de 2-3 pixels ce qui n'est pas rien. On remarque que les saut de Mario PAL sont donc plus difficile qu'en NTSC quand il ne court pas mais plus facile quand il court. Y a clairement une prime plus grande a la course sur la version PAL , on gagne 18 pixels de haut par rapport a la marche contre 12 en NTSC (soit +50% de prime a la course) et si on considère le pallier de plateforme a 80 pixels, en version NTSC t'as 3 pixels de marge et en PAL 6 pixels soit +100% de marge.
Et du coup la longueur des saut quand tu court est aussi plus grande en PAL de 4 pixels soit une demi tuile c'est pas rien. Donc en version PAL si tu maitrise bien et que tu cours tout le temps alors tout les sauts sont plus facile. Je crois que c'est pas tres connu cette difference entre les 2 versions. (Cela dit quand les jeux etait 20% plus lent ca les rendait aussi plus facile)

Citation
Comment tu as fait pour trouver ces "regles" de déplacement sur Zelda 1?
J'ai du lire un truc sur une page de TAS car c'est la qu'il y a souvent des informations pointu, ca devait etre en creusant le fonctionnement du scroll-glitch car c'est un peu lié, et ensuite j'ai testé en récuperant les valeurs X,Y de Link en RAM pour les avoir sous les yeux pendant que je joue et la tu vois tout de suite que tu te deplaces sur une grille, ensuite un peu de test en frame-advance pour voir comment ce comporte link frame par frame lors des changement de direction et effectivement tu le vois régulierement partir dans la mauvaise direction pendant quelques frames (c'est maximum 3 frames donc faut utiliser la fonction frame-advance sur son emulateur pour le voir mais si tu sais l'utiliser alors tu peux verifier toi meme). Une fois que t'as vu ca tu comprend les sensations un peu bizarre parfois.
Titre: Re : Hardcore Retrogaming
Posté par: upsilandre le Juillet 28, 2016, 03:48:12 PM
J'adore comment ils ont reproduit l'effets de zoom sur PC-Engine

https://youtu.be/EvRVhtetvQs


Alors comme sur NeoGeo faut plutot parler de shrinking, la position zoomé est la position normale et ensuite faut trouver des moyens pour reduire l'image en enlevant des pixels mais sur PCE y a pas de fonction cablé de shrinking comme sur NeoGeo alors comment faire.
Deja le probleme se divise en 2, y a la question du shrinking vertical du background et celle du shrinking horizontal du background (puis le shrinking des sprites)

Pour le shrinking vertical on sait faire. On sait deformer un background verticalement meme sur NES (pas sur Master System par contre a cause de son Vscroll locké) ca consiste en un Raster Effect. il sagit de modifier le scroll vertical pendant le balayage pour sauter des lignes et ainsi comprimé l'image.
C'est ce genre de raster effect:
Sur MD
(https://s19.postimg.org/okpd9m5wz/Batman_Robin_Rideaux_MD.gif)

Sur NES
(https://s19.postimg.org/mx0d6s54j/Summer_Carnival2_NES.gif)

ou meme ca pour produire le relief
(https://s19.postimg.org/r4lyo1rsj/RadeRacer.gif)

Donc ca on sait faire, faut juste maitriser le Hsync et la PCE a tout ce qu'il faut pour faire ca proprement. Dans le cas present il va falloir sauter une ligne sur 4 pour l'enlever et compresser ainsi le background de 25%.

Mais comment faire pour compresser l'image horizontalement? C'est la que l'idée est génial. il sagit de changer la résolution a la volé. Changer de résolution sur console retro ca se limite toujours a la résolution horizontal (la résolution verticale, le nombre de ligne, lui reste toujours le meme et lié au standard NTSC/PAL) et c'est ce qu'on a besoin ici.
Justement la PCE dans sa resolution standard utilise un dot clock de 5.37 mhz comme une SNES (qui correspond au 256 pixels) mais elle a aussi un mode 7.16 mhz bien mieux résolu et donc en switchant en mode 7.16 mhz ca compresse l'image horizontalement de 25% (mais cette fois on perd meme pas de pixels).

Et la combinaison des 2 permets donc un scaling complet du background. Pour que l'effet soit moins brutale ils executent tout ca en plusieurs etapes, dabord le changement de resolution horizontal puis ensuite le shrinking vertical en 3 paliers. Du coup ca fait un effet un peu bisarre (dabord compression horizontal puis vertical) mais ca rend pas mal.

Pour les sprites ils ont juste précalculé une version reduite (sans transition). Comme le jeu utilise le CD-ROM et l'arcade card ca pose pas de probleme d'utiliser plus de mémoire pour les sprites et c'est donc plus simple de précalculé mais sinon il existe aussi des bidouilles qui consiste a jouer avec la structure du meta-sprite. le sprite du perso etant alors un assemblage de plein de petit sprite on va modifier la position relative des petits sprites pour les rapprocher/superposer et donner un peu l'illusion d'une réduction. L'amplitude est assez limité car les artefact sont vite dégueulasse.
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Juillet 29, 2016, 09:51:03 PM
J'ai du mal à voir le Raster effect sur le 2eme Gif NES pour créer le relief de la route.... l'illusion marche beaucoup trop bien sur moi !

Intéressant encore une fois
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Septembre 11, 2016, 12:02:41 AM
https://www.youtube.com/watch?v=_3ve0YEQEMw  :crazy:

Ce Bisqwit alors, je l'aime vraiment beaucoup (je l'ai découvert en cherchant des infos sur la programmation d'un ray-casting, et il est en fait très actif dans la communauté JV, notamment dans le TAS PC)
Série super intéressante, bien que assez difficile à suivre
Titre: Re : Hardcore Retrogaming
Posté par: Yo Riso le Novembre 19, 2016, 02:40:16 PM
Bon on s'amuse comme on peut hein !? alors j'ai sélectionné 40 jeux homebrew 8 bits sur un paquet de plateformes différentes, je vous mets les liens en dessous.

Si vous voulez voir la vidéo récapitulative ça se passe là
Spoiler
http://www.youtube.com/watch?v=8c8yPHvps-Y
[Fermer]

Spoiler

ATARI VCS 2600 (1977) testé sous EmuHawk
Jupiter Sumo
https://demozoo.org/sceners/12949/

Atari 8bit 400/800/XL/XE (1979/1985) testé sous Atari800Win
Yoomp
http://yoomp.atari.pl/


ATARI 5200 (1982) testé sous Atari800Win
Blowsub
http://gury.atari8.info/games/6909.php


ZX Spectrum (1982) testé sous EmuZWin
Wanderers Chained in the Dark
http://www.rgcd.co.uk/2015/06/wanderers-chained-in-dark-zx-spectrum.html

Stormfinch
http://www.indieretronews.com/2015/05/stormfinch-zx-spectrum-shoot-em-up-with.html



C64 ( 1982)
http://csdb.dk/release/index.php?id=115523
X-Force 2015 C64
http://www.psytronik.net/newsite/index.php/c64/63-xforce

Soulless
http://psytronik.net/newsite/index.php/c64/39-soulless

Hessian 
http://csdb.dk/release/?id=145473
http://covertbitops.c64.org/

Guns 'n' Ghosts 
http://psytronik.net/newsite/index.php/c64/44-gunsghosts



COLECOVISION (1982) testé sous CoolCV
Jeepers Creepers (2007)
http://cvaddict.com/list.php?filter=4

Quest for the Golden Chalice (2012)
http://colecovision.dk/jeepers-creepers.htm
http://teampixelboy.com/quest_chalice.php
http://colecovision.dk/golden-chalice.htm

Princess Quest (2012) testé sous CoolCV
http://colecovision.dk/princess-quest.htm
http://teampixelboy.com/princess_quest.php

Burn Rubber (2007) testé sous blueMSX
http://www.colecovision.dk/burn-rubber.htm


VECTREX (1982) testé sous ParaJVE
Nebula Commander



ORIC (1983) testé sous oricutron
Space : 1999
http://space1999.defence-force.org/


Oricium
http://oricium.defence-force.org/




MSX (1983) testé sous blueMSX
Ninja Savior
http://www.relevovideogames.com/ninja-savior/

Wing Warriors
http://www.msxgamesworld.com/gamecard.php?id=4607

SHMUP!
http://imanok.msxblue.com/games.html

BitLogic 
http://www.msxgamesworld.com/viewer.php?id=4624&view=4#wmsx-screen
http://msxdev.org/2016/04/30/msxdev15-fourth-entry-bitlogic/



FAMICOM (1983)
The Wit.Nes (Demo)
https://dustmop.itch.io/the-witnes

DPADHERO 2
http://www.dpadhero.com/Home.html

Assimilate
https://nessylum.wordpress.com/downloadplay-demo/


Battle kid 2
http://sivak.nintendoage.com/nesgames/BK2.cfm



Amstrad (1984)
Magica
https://www.usebox.net/jjm/magica/

Doomsday Lost Echoes
https://doomsdayproductions.org/
https://www.dropbox.com/s/5c5t8z6fa9rkfuz/Doomsday_Lost_Echoes_v1.0.rar?dl=0


Pinball Dreams
http://www.pouet.net/prod.php?which=68387
http://www.joycogames.com/download/pinball/pd_preview.zip


MSX 2 (1985)
Transball

http://www.msxgamesworld.com/gamecard.php?id=4696
password lvl 4 vheverls
http://www.indieretronews.com/2016/07/transball-difficulty-increased-in-this.html#more

Uwol Quest For Money
http://imanok.msxblue.com/games.html

Zelda
http://www.msxgamesworld.com/gamecard.php?id=3176
http://www.msxvillage.fr/forum/topic.php?id=787&pt=1



ATARI 7800 (1986) testé sous ProSystem
http://atariage.com/forums/topic/199637-work-in-progress-bentley-bear-crystal-quest/
http://atariage.com/forums/topic/226666-homebrewpalooza/



MASTER SYSTEM (1986)

Gekioko PunPun Maru
http://68000.web.fc2.com/oko/
http://www.smspower.org/Homebrew/GekiokoPunPunMaru-SMS?sid=747503f01c23bc5b45d4f0c46fb19fec

Cimmerian
http://www.smspower.org/Homebrew/CIMMERiAN-SMS

Bara Buru
http://www.smspower.org/Homebrew/BaraBur%C5%AB-SMS
http://www.smspower.org/uploads/Homebrew/bb-sms_manual.pdf



PC ENGINE (1987)

Bug Hunt
http://pce.lifeabroad.org/
http://www.retrogamer.ca/retrogaming/homebrew/bug-hunt-chassez-les-insectes-sur-sega-genesis/

SANTATLANTEAN
http://www.aetherbyte.com/aetherbyte-santatlantean_for_pc-engine_and_turbografx-16.html



GAME BOY (1989)

Retroid
https://retroidgameboy.wor198dpress.com/

the bouncing ball
http://gb.lifeabroad.org/blog/the-bouncing-ball/

Ant Soldiers
http://emultest.free.fr/dossierpdgb2.htm



GAME BOY COLOR (1998)
Alien Planet
http://www.gambitstudios.com/freedom2001_entries.asp
http://pdroms.de/files/gameboy/alien-planet

Tom Atom
http://pdroms.de/files/gameboy/tom-atom

[Fermer]

Titre: Re : Hardcore Retrogaming
Posté par: Alphonse le Novembre 19, 2016, 02:43:03 PM
Ce boulot  :| :leuv:
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Novembre 19, 2016, 07:27:08 PM
En Effet super boulot  :hein:
Titre: Re : Hardcore Retrogaming
Posté par: Yo Riso le Novembre 27, 2016, 09:45:36 PM
Merci, c'est toujours agréable à lire  :love:

En espérant que ça mette à l'honneur des 8bits dont on ne parle pas toujours.
Titre: Re : Hardcore Retrogaming
Posté par: Yo Riso le Janvier 16, 2017, 05:35:10 PM
Si vous le voulez bien, prenons en embuscade les jeux d'escarmouches au tour par tour entre 83 et 88 !

Spoiler


http://www.youtube.com/watch?v=rIknW-uTBPQ

[Fermer]
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Janvier 17, 2017, 07:50:02 PM
P'tin Chaos me fait envie, je connaissais pas du tout, je suis surpris. Un remake moderne serait super cool.

Encore une fois super boulot, j'attends la suivante de pied ferme  :)
Titre: Re : Hardcore Retrogaming
Posté par: Yo Riso le Janvier 18, 2017, 01:48:41 AM
Hey merci, au fait ton souhait est exaucé, tu as un remake moderne de Chaos, Julian gollop a sorti "Chaos Reborn" entre temps ;)
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Janvier 18, 2017, 05:02:15 PM
Exact, j'en avais entendu parlé en plus, mais j'avais pas du tout fait le lien en  voyant ta vidéo  :lol:

La DA du reborn me plaît moyen, je dois dire. Je le prendrais surement en promo  :o

T'as des "sources" pour trouver tous ces jeux où tu te fait des palettes de ROMs ?
Titre: Re : Hardcore Retrogaming
Posté par: Yo Riso le Janvier 31, 2017, 06:39:25 AM
Je vais sur les sites spécialisés en rapport avec chaque support, je rentre les mots clefs adéquats en fonction du thème choisi et je passe tout ce qui s'affiche en revue... :roll2:
Titre: Re : Hardcore Retrogaming
Posté par: Yo Riso le Février 27, 2017, 07:43:15 PM
Les "Survival horror" ne se sont jamais aussi bien portés, mais c'était comment avant que Resident Evil n'en fasse un genre à part entière ? Allez on rembobine et on voit ça illico.

Attention tout de même c'est à déconseiller aux âmes sensibles !  :roll:

Spoiler

http://www.youtube.com/embed/TFhk0nfpIhs
[Fermer]
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Février 27, 2017, 08:32:16 PM
intéressant comme d'hab! C'est une belle lecture de l'histoire du Survival; qui sort des sentiers battus donc je dis oui!
Titre: Re : Hardcore Retrogaming
Posté par: Yo Riso le Août 16, 2017, 09:41:41 PM
Et voilà c'est bientôt la rentrée, donc c'est reparti pour de nouvelles aventures archéoludiques.

Spoiler
[Fermer]
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Août 19, 2017, 08:09:56 PM
Toujours un plaisir de suivre! La sélection est vraiment cool  :ouch:
Titre: Re : Hardcore Retrogaming
Posté par: Yo Riso le Août 21, 2017, 09:43:10 PM
Ah merci, j'essaye de surprendre les amateurs de retro-gaming dans la mesure du possible.
Titre: Re : Hardcore Retrogaming
Posté par: Yo Riso le Septembre 06, 2017, 11:54:52 AM
Cette fois ci je vous propose un épisode Homebrew FULL Amiga , régalez vous !

Spoiler
http://www.youtube.com/watch?v=UF5uIyn_2nA
[Fermer]
Titre: Re : Hardcore Retrogaming
Posté par: Yo Riso le Septembre 14, 2017, 07:04:19 PM
Ça y est la nouvelle saison Génération Amiga commence, cette année on devrait se focaliser sur les jeux unreleased, il y a moyen de trouver quelques pépites peu connu du grand public et même des initiés.

ACSYS Review
Spoiler
http://www.youtube.com/watch?v=C_L1gPR1YUE
[Fermer]
Titre: Re : Hardcore Retrogaming
Posté par: Yo Riso le Septembre 21, 2017, 05:47:48 AM
Bon si ça continue je vais me brûler les ailes à sortir autant de reviews en si peu de temps, mais comme c'est pour la bonne cause ;) en plus ça tombe bien puisque c'est du Dogfight !


Wings of Fury Review
Spoiler
http://www.youtube.com/watch?v=rWVbgrtDa0A (http://www.youtube.com/watch?v=rWVbgrtDa0A)
[Fermer]

(http://www.gamesdatabase.org/Media/SYSTEM/Commodore_Amiga/Cart/Thumb/Thumb_Wings_of_Fury_-_1990_-_Br%C3%B8derbund_Software.jpg)
Titre: Re : Hardcore Retrogaming
Posté par: JiHaisse le Septembre 21, 2017, 09:47:16 AM
Je mets en liste de lecture sur YT. :jap:
Titre: Re : Hardcore Retrogaming
Posté par: Yo Riso le Septembre 26, 2017, 09:43:05 AM
Merci JiHaisse, c'est une excellente idée !  :D

Je reviens d'expédition et je vous rapporte « Light Quest », ce jeu du Game designer Laurent Cluzel et du Codeur Alain Fernandes nous éclaire de son avance sur son temps, et même plus de 25 ans après il continue de rayonner...

Review  [ Unreleased | Light Quest ]
http://www.youtube.com/watch?v=dwzfblJ-yqk (http://www.youtube.com/watch?v=dwzfblJ-yqk)

(https://i.pinimg.com/originals/30/53/b0/3053b07f76ad50d29b0ee593840cf241.jpg)
Titre: Re : Hardcore Retrogaming
Posté par: Yo Riso le Novembre 07, 2017, 11:36:13 AM
Salut petit coucou pour dire que je n'ai pas oublié le retrogaming, c'est juste qu'il peut aisément se passer de moi le temps que je fasse ma petite popotte dans mon coin. De toute façon au vu du nombre de chroniques que j'ai déjà réalisé sur des centaines et des centaines de jeux, il y a de quoi faire pour ceux qui auraient envie de faire un tour sur ma chaîne, ce sont des vidéos qui ne se périment pas. Et puis niveau chroniqueurs retrogaming vous avez l'embarras du choix, que ce soit en vidéos ou en articles. Pour ma part je travaille sur une grosse vidéo qui me prend trop de temps mais j'ai qu'à me bouger le derche...putain d'Adobe cloud... Bon ça reste des chantiers solitaires et je préfère que les choses soient ainsi de toute façon. Pour donner quelques détails mon premier gros taf c'est le docu sur l'histoire de l'Amiga de A à Z, je ne suis pas spécialisé Amiga pour rien, mon second projet sera juste de réaliser les assets complet d'un jeu de combat managériale en pixel, de là à ce qu'il tourne sur 68000 ou sur steam, j'en ai fichtrement aucune idée et je m'en fous en fait, mais c'est mon jeu et mon game design et au moins je serai sûr que ça me plaira, rien à ajouter, j'ai pas de phrases à la con pour vous dire autre chose qu'à bientôt et merci à ceux qui suivent mes chroniques !
Titre: Re : Hardcore Retrogaming
Posté par: Coca_Impact le Novembre 09, 2017, 10:39:26 PM
Impressive ! Bon courage  :)
Titre: Re : Hardcore Retrogaming
Posté par: Yo Riso le Novembre 18, 2017, 02:15:50 AM
Merci Coca_Impact, bon après ça le deviendra si j'arrive au bout, pour l'heure c'est juste des mots...et d'ailleurs parce que j'avais dit que j'arrêtais les reviews, bah en voilà une, question de ne même pas suivre mes propres résolutions...xD

Vous vous souvenez sûrement de Blue Byte !? Great Court, Pro Tennis, etc...Mais ce studio n'a pas fait que des jeux de tennis, en fait il est surtout connu pour ses jeux de stratégie, on se rappelle des excellents Battle Isle et Historyline, mais aujourd'hui on s'intéresse au premier épisode d'une très longue saga qui perdure jusqu'à aujourd'hui. Et je veux bien sûr parler de The Settlers. Bon entre temps Blue Byte, qui, à l'époque était édité par Ubi Soft, pour une partie de ses premiers jeux, a fini par être racheté par ce dernier, mais peu importe. 

Sous ses faux airs de jeu stratégie temps réel façon god game, et, dans une certaine mesure s'inspirant aussi de Little Computer People, et bien il semblerait que The Settlers soit en fin de compte un City-builder. En fait disons plutôt qu'à sa sortie, le jeu ne ressemblait à aucun autre, et j'irai plus loin en disant qu'il représente surtout l'antithèse des RTS. Là où le nombre de clics à la minute est fondamental pour l'obtention de la victoire, ici dans The Settlers on joue un peu plus plan plan, mais ça n'en est pas moins jouissif comme vous allez pouvoir le constater.

Spoiler
http://www.youtube.com/watch?v=yBopqyRUwRY
[Fermer]