Mr ToutLeMonde et la programmation NES...
+13
tetsuro
uran
ichigobankai
lincruste
drfloyd
Sour
philip
Stef
Tryphon
brokestudio
vincent2105
TotOOntHeMooN
upsilandre
17 participants
Page 11 sur 15
Page 11 sur 15 • 1 ... 7 ... 10, 11, 12, 13, 14, 15
Re: Mr ToutLeMonde et la programmation NES...
Y a un autre moyen d'ameliorer grandement la situation mais qui est plus radicale c'est d'en faire un shmup vertical. L'IA de tes ennemis les pousse a se mettre tous sur la meme ligne devant le joueur ce qui est effectivement la pire situation a eviter sur 8bit.
Mais la meme chose sur un shmup vertical ne poserait plus de probleme mais bon ca collerait plus avec les sprites donc ca serait chiant et ca t'obligerait a trop de changement (et ca reduit la zone de jeu et le temps de réaction).
Ca fait partie des questions a se poser avant de faire un shmup sur 8bit
Mais la meme chose sur un shmup vertical ne poserait plus de probleme mais bon ca collerait plus avec les sprites donc ca serait chiant et ca t'obligerait a trop de changement (et ca reduit la zone de jeu et le temps de réaction).
Ca fait partie des questions a se poser avant de faire un shmup sur 8bit
upsilandre- Interne
- Nombre de messages : 5138
Date d'inscription : 31/05/2015
Re: Mr ToutLeMonde et la programmation NES...
Oui, j'avais hésité et comme j'avais le tileset de super mario sous la main je suis parti la dessus.
Faut voir... si je trouve un tileset sympa et cohérent avec cette idée de gameplay pourquoi pas, mais comme tu l'as dit, ça réduit le temps de réaction, j'ai peur que ça change pas mal le ressenti.
En faisant un mix de sprites (de face) issus de plusieurs jeux ça peut être sympa aussi, mais on aurait à composer avec une autre contrainte : nos 4 palettes de "3" couleurs. Je vais voir à ça.
Faut voir... si je trouve un tileset sympa et cohérent avec cette idée de gameplay pourquoi pas, mais comme tu l'as dit, ça réduit le temps de réaction, j'ai peur que ça change pas mal le ressenti.
En faisant un mix de sprites (de face) issus de plusieurs jeux ça peut être sympa aussi, mais on aurait à composer avec une autre contrainte : nos 4 palettes de "3" couleurs. Je vais voir à ça.
vincent2105- Patient incurable
- Nombre de messages : 1381
Age : 44
Localisation : 82
Date d'inscription : 17/12/2013
Re: Mr ToutLeMonde et la programmation NES...
Je voulais un hud et faire scroller mon background. Mais si on change $2003 comme on le fait, on n'a plus la possibilité d'utiliser le sprite 0 hit à cet effet non ?
Du coup, j'ai choisi de n'afficher que le score en sprites. Le "level" on s'en moque puisqu'il dépend du score.
Le design des chiffres est provisoire, c'était surtout pour mettre chaque chiffre en place dans la bank et le code qui va avec. C'est un peu fastidieux en mode 8x16.
Et voila ce que ça donne avec une nametable que je fais scroller en boucle.
Du coup, j'ai choisi de n'afficher que le score en sprites. Le "level" on s'en moque puisqu'il dépend du score.
Le design des chiffres est provisoire, c'était surtout pour mettre chaque chiffre en place dans la bank et le code qui va avec. C'est un peu fastidieux en mode 8x16.
Et voila ce que ça donne avec une nametable que je fais scroller en boucle.
vincent2105- Patient incurable
- Nombre de messages : 1381
Age : 44
Localisation : 82
Date d'inscription : 17/12/2013
Re: Mr ToutLeMonde et la programmation NES...
Ce qui pourait etre marrant c'est de mettre les sprites en priorité basse pour qu'ils passent derrière les nuages, ou de facon aléatoire.
upsilandre- Interne
- Nombre de messages : 5138
Age : 49
Localisation : val de marne 94
Date d'inscription : 31/05/2015
Re: Mr ToutLeMonde et la programmation NES...
Pour la gestion des collisions, ca serait l'embrouille totale non ?
Mario ne pourrait pas dégommer un ennemi avec une priorité différente de la sienne non ?
Mario ne pourrait pas dégommer un ennemi avec une priorité différente de la sienne non ?
vincent2105- Patient incurable
- Nombre de messages : 1381
Age : 44
Localisation : 82
Date d'inscription : 17/12/2013
Re: Mr ToutLeMonde et la programmation NES...
C'est la nes qui gère les collisions ?
uran- Patient contaminé
- Nombre de messages : 373
Age : 45
Localisation : 34980
Date d'inscription : 17/10/2016
Re: Mr ToutLeMonde et la programmation NES...
Non, mais quand je dis que Mario ne peut pas dégommer un ennemi avec une priorité différente de la sienne, c'est juste d'un point de vue "logique".
Je sais pas si c'est plus clair :/
Je sais pas si c'est plus clair :/
vincent2105- Patient incurable
- Nombre de messages : 1381
Age : 44
Localisation : 82
Date d'inscription : 17/12/2013
Re: Mr ToutLeMonde et la programmation NES...
Pas trop non.vincent2105 a écrit:Non, mais quand je dis que Mario ne peut pas dégommer un ennemi avec une priorité différente de la sienne, c'est juste d'un point de vue "logique".
Je sais pas si c'est plus clair :/
En fait je ne comprend pas pourquoi la priorité affecterait la détection de collision dans ce cas.
uran- Patient contaminé
- Nombre de messages : 373
Age : 45
Localisation : 34980
Date d'inscription : 17/10/2016
Re: Mr ToutLeMonde et la programmation NES...
Bah, si mario (ou sa boule de feu) et l'ennemi ne sont pas sur le même plan, ils ne peuvent pas entrer en collision. Enfin, moi je vois ça comme ça ! :)
vincent2105- Patient incurable
- Nombre de messages : 1381
Age : 44
Localisation : 82
Date d'inscription : 17/12/2013
Re: Mr ToutLeMonde et la programmation NES...
Ha parce que tu l'as codé comme ça!
Mais je ne savais pas que tu utilisais la profondeur sur ton jeu, c'est assez inhabituel pour un shoot', mais intéressant.
Mais je ne savais pas que tu utilisais la profondeur sur ton jeu, c'est assez inhabituel pour un shoot', mais intéressant.
uran- Patient contaminé
- Nombre de messages : 373
Age : 45
Localisation : 34980
Date d'inscription : 17/10/2016
Re: Mr ToutLeMonde et la programmation NES...
lol on s'est mal compris, je disais tout ça suite à l'idée d'upsilandre qui était de faire passer des ennemis derrière les nuages.
Jusque la pas de profondeur non
Jusque la pas de profondeur non
vincent2105- Patient incurable
- Nombre de messages : 1381
Age : 44
Localisation : 82
Date d'inscription : 17/12/2013
Re: Mr ToutLeMonde et la programmation NES...
Dommage, l'idée est plaisante!
Imagine, des ennemis qui passent derrière le nuage, passent derrière toi et qui repassent sur ton plan pour t'attaquer par derrière!
Imagine, des ennemis qui passent derrière le nuage, passent derrière toi et qui repassent sur ton plan pour t'attaquer par derrière!
uran- Patient contaminé
- Nombre de messages : 373
Age : 45
Localisation : 34980
Date d'inscription : 17/10/2016
Re: Mr ToutLeMonde et la programmation NES...
Oui c'est sympa comme idée, mais je pense que lorsqu'on a grand nombre d'ennemis simultanément, ca doit être mission impossible :)
D'ailleurs, en parlant de difficulté, vu que j'ai rajouté un scrolling, j'ai par la même occasion augmenté la vitesse de déplacement des ennemis sinon, on avait l'impression qu'ils faisaient du sur place. Du coup ça corse aussi les choses.
Je pense que pour bloquer le compteur score, il va falloir se lever de bonne heure
D'ailleurs, en parlant de difficulté, vu que j'ai rajouté un scrolling, j'ai par la même occasion augmenté la vitesse de déplacement des ennemis sinon, on avait l'impression qu'ils faisaient du sur place. Du coup ça corse aussi les choses.
Je pense que pour bloquer le compteur score, il va falloir se lever de bonne heure
vincent2105- Patient incurable
- Nombre de messages : 1381
Age : 44
Localisation : 82
Date d'inscription : 17/12/2013
Re: Mr ToutLeMonde et la programmation NES...
Je viens de tester "Santatlantean" sur PC-Engine, c'est un homebrew où tu peux te déplacer vers la gauche ou la droite. Du coup avec différents plans, ce mode de jeu devient envisageable sans que cela ne devienne trop vite difficile.vincent2105 a écrit:Oui c'est sympa comme idée, mais je pense que lorsqu'on a grand nombre d'ennemis simultanément, ca doit être mission impossible :)
D'ailleurs, en parlant de difficulté, vu que j'ai rajouté un scrolling, j'ai par la même occasion augmenté la vitesse de déplacement des ennemis sinon, on avait l'impression qu'ils faisaient du sur place. Du coup ça corse aussi les choses.
Je pense que pour bloquer le compteur score, il va falloir se lever de bonne heure
uran- Patient contaminé
- Nombre de messages : 373
Age : 45
Localisation : 34980
Date d'inscription : 17/10/2016
Re: Mr ToutLeMonde et la programmation NES...
Je viens de regarder cet homebrew, mais je suis pas convaincu, du moins je trouve que ça changerait trop le "gameplay" de mon minishmup. Faudrait ralentir la cadence. Je trouve ça dommage :)
Pour les curieux : la ROM en l'état actuel https://drive.google.com/open?id=1MhUHfrRWotheIZc4CgFI3bVQLoUzXThq
Je serais curieux de voir ce qu'un furieux arrive à pondre comme score
Pour les curieux : la ROM en l'état actuel https://drive.google.com/open?id=1MhUHfrRWotheIZc4CgFI3bVQLoUzXThq
Je serais curieux de voir ce qu'un furieux arrive à pondre comme score
vincent2105- Patient incurable
- Nombre de messages : 1381
Age : 44
Localisation : 82
Date d'inscription : 17/12/2013
Re: Mr ToutLeMonde et la programmation NES...
95 au clavier :|vincent2105 a écrit:Je viens de regarder cet homebrew, mais je suis pas convaincu, du moins je trouve que ça changerait trop le "gameplay" de mon minishmup. Faudrait ralentir la cadence. Je trouve ça dommage :)
Pour les curieux : la ROM en l'état actuel https://drive.google.com/open?id=1MhUHfrRWotheIZc4CgFI3bVQLoUzXThq
Je serais curieux de voir ce qu'un furieux arrive à pondre comme score
uran- Patient contaminé
- Nombre de messages : 373
Age : 45
Localisation : 34980
Date d'inscription : 17/10/2016
Re: Mr ToutLeMonde et la programmation NES...
Ma foi, tu te défends déjà bien.
Allez, record à battre 147 !
Bon ok, ça n'a plus grand chose à voir avec la programmation
Allez, record à battre 147 !
Bon ok, ça n'a plus grand chose à voir avec la programmation
- Spoiler:
vincent2105- Patient incurable
- Nombre de messages : 1381
Age : 44
Localisation : 82
Date d'inscription : 17/12/2013
Re: Mr ToutLeMonde et la programmation NES...
Bon, je sens que le virus va me reprendre
J'ai encore moins de temps qu'avant, mais j'ai bien envie de me lancer dans un nouveau truc encore une fois. Histoire de réfléchir en s'adaptant aux contraintes.
Alors, ca serait un "shoot him up". A la différence d'un shmup on aurait à se démener uniquement contre un seul ennemi (type boss).
Ce type d'exercice me permettrait de me concentrer sur des éléments tel que l'IA où l'aspect esthétique de l'ennemi (je vise des ennemis énormes du genre Parodius, grâce au bankswitch de CHR ROM).
Chaque ennemi aurait ses spécificités, son style de "combat". (Avec des trucs qui tourbillonnent, qui accélèrent, qui se démultiplient... que des p'tits casse têtes sympas ).
Pour le moment j'en suis qu'au stade du brouillon, c'était plus pour garder le contact avec vous chers Gamopats (Content de pouvoir relire Touko et Vetea au passage )
J'ai encore moins de temps qu'avant, mais j'ai bien envie de me lancer dans un nouveau truc encore une fois. Histoire de réfléchir en s'adaptant aux contraintes.
Alors, ca serait un "shoot him up". A la différence d'un shmup on aurait à se démener uniquement contre un seul ennemi (type boss).
Ce type d'exercice me permettrait de me concentrer sur des éléments tel que l'IA où l'aspect esthétique de l'ennemi (je vise des ennemis énormes du genre Parodius, grâce au bankswitch de CHR ROM).
Chaque ennemi aurait ses spécificités, son style de "combat". (Avec des trucs qui tourbillonnent, qui accélèrent, qui se démultiplient... que des p'tits casse têtes sympas ).
Pour le moment j'en suis qu'au stade du brouillon, c'était plus pour garder le contact avec vous chers Gamopats (Content de pouvoir relire Touko et Vetea au passage )
vincent2105- Patient incurable
- Nombre de messages : 1381
Age : 44
Localisation : 82
Date d'inscription : 17/12/2013
Re: Mr ToutLeMonde et la programmation NES...
Yep merci Antoine
Et toi quoi de neuf ? Toujours sur "interNes" ? T'as d'autres projets en cours ? J'ai plus trop le temps de suivre les avancées de chacun
Et toi quoi de neuf ? Toujours sur "interNes" ? T'as d'autres projets en cours ? J'ai plus trop le temps de suivre les avancées de chacun
vincent2105- Patient incurable
- Nombre de messages : 1381
Age : 44
Localisation : 82
Date d'inscription : 17/12/2013
Re: Mr ToutLeMonde et la programmation NES...
Toujours des projets en cours oui. interNES devrait avancer un peu d'ici la fin de l'année après un bon break nécessaire cet été. Je posterai bien des news par ici :)
Re: Mr ToutLeMonde et la programmation NES...
Je sais pas ce que vous utiliser comme assembleur mais moi avant de m'y remettre j'ai changé d'assembleur (je code tellement rarement qu'en général c'est jamais sur le meme assembleur). Je suis passé sur ca65. J'etais hésitant (mais je pense que j'ai du le confondre avec un autre) mais finalement c'est vraiment pas mal. Le système de segment et de linker. J'ai retrouvé aussi les labels anonymes (ca m'emmerde trop d'utiliser un assembleur sans label anonyme. En assembleur t'as des boucles toutes les 3 lignes) et puis surtout j'ai fais la transition pour son intégration dans Mesen. Avec Mesen tu peux directement visualiser l’exécution de ton code source dans le debugger donc quand tu passes de ton code source au debugger t'es pas du tout dépaysé et tu peux placer des break point n'importe ou sur ton code source. C'est sympa.
upsilandre- Interne
- Nombre de messages : 5138
Age : 49
Localisation : val de marne 94
Date d'inscription : 31/05/2015
Re: Mr ToutLeMonde et la programmation NES...
Ahah ! On va peut-être bientôt savoir ce que tu nous concoctes ! :)
Perso, depuis le début, j'utilise NESASM 3. J'ai plus la niaque depuis quelques temps, trop de boulot / manque de temps libre... Je ferai p'tet quelques essais avec le Zapper si ca me reprend, multijoueur si possible, ça serait sympa.
Perso, depuis le début, j'utilise NESASM 3. J'ai plus la niaque depuis quelques temps, trop de boulot / manque de temps libre... Je ferai p'tet quelques essais avec le Zapper si ca me reprend, multijoueur si possible, ça serait sympa.
vincent2105- Patient incurable
- Nombre de messages : 1381
Age : 44
Localisation : 82
Date d'inscription : 17/12/2013
Re: Mr ToutLeMonde et la programmation NES...
oui y a un truc que je voudrais expérimenté si j'ai le temps.
upsilandre- Interne
- Nombre de messages : 5138
Age : 49
Localisation : val de marne 94
Date d'inscription : 31/05/2015
Re: Mr ToutLeMonde et la programmation NES...
J'utilise CA65 quasiment depuis le début et je le trouve vraiment pratique/flexible, le linker est assez puissant.
L'intégration avec Mesen est un gros gain de temps même si je ne suis pas encore passé à 100% sur Mesen pour le moment ...
L'intégration avec Mesen est un gros gain de temps même si je ne suis pas encore passé à 100% sur Mesen pour le moment ...
Re: Mr ToutLeMonde et la programmation NES...
Moi j'aime pas changer d'assembleur donc je ne code que sur 3 principaux
WLA-DX qui me permet de coder sur Nes , Master system, Game boy , SNES (et le SPC700) et PC-Engine !
VASM qui me permet de coder sur le 68000 principalement (mais déjà fait du z80 dessus) donc Mega drive , Neo Geo , Atari St , autre borne d'arcade etc etc
D'ailleurs il est tellement flexible qu'on peut lui rajouter d'autre assembleur du coup j'avais commencer à en faire un spécial pour la Neo Geo pocket :p
Et le dernier le GNU assembleur pour la Dreamcast , Playstation 1 , Playstion 2 ,PSP , GameCube et Wii.
Et je ne pense pas que j'aurais besoin d'autre vu que ça vise facilement 90% des procs existant
Quoique pour les VU de la PS2 j'utilise un assembleur spécifique , j'avais voulu le mettre sur VASM un moment mais celui de la PS2 est trop spécifique (principalement parce que c'est un jeu d'instruction en VLIW).
Pour le full assembleur j'utilise Geany comme IDE graphiquement ça donne ça : https://2img.net/image.noelshack.com/fichiers/2019/05/4/1548936079-linux-geany.png
Avec un bouton compiler et un autre pour exécuter (et donc lancer l'ému + la rom,donc vous pouvez lancer Mesen avec sans souci )
WLA-DX qui me permet de coder sur Nes , Master system, Game boy , SNES (et le SPC700) et PC-Engine !
VASM qui me permet de coder sur le 68000 principalement (mais déjà fait du z80 dessus) donc Mega drive , Neo Geo , Atari St , autre borne d'arcade etc etc
D'ailleurs il est tellement flexible qu'on peut lui rajouter d'autre assembleur du coup j'avais commencer à en faire un spécial pour la Neo Geo pocket :p
Et le dernier le GNU assembleur pour la Dreamcast , Playstation 1 , Playstion 2 ,PSP , GameCube et Wii.
Et je ne pense pas que j'aurais besoin d'autre vu que ça vise facilement 90% des procs existant
Quoique pour les VU de la PS2 j'utilise un assembleur spécifique , j'avais voulu le mettre sur VASM un moment mais celui de la PS2 est trop spécifique (principalement parce que c'est un jeu d'instruction en VLIW).
Pour le full assembleur j'utilise Geany comme IDE graphiquement ça donne ça : https://2img.net/image.noelshack.com/fichiers/2019/05/4/1548936079-linux-geany.png
Avec un bouton compiler et un autre pour exécuter (et donc lancer l'ému + la rom,donc vous pouvez lancer Mesen avec sans souci )
Invité- Invité
Re: Mr ToutLeMonde et la programmation NES...
t'as fais le bon choix dès le debut, surtout pour des gros projet.brokestudio a écrit:J'utilise CA65 quasiment depuis le début et je le trouve vraiment pratique/flexible, le linker est assez puissant.
L'intégration avec Mesen est un gros gain de temps même si je ne suis pas encore passé à 100% sur Mesen pour le moment ...
Je vais maintenant rester sur ca65 et wla-z80 pour le Z80
En tout cas je viens de réaliser qu'il y a un truc qui me dérange vraiment sur NES.
Sur NES c'est apparemment très compliqué de faire du code synchrone avec l'affichage alors que c'est l'un des truc les plus sympa a faire en assembleur (Et le PPU est assez ouvert, y a pas mal de chose qu'on peut modifier pendant l'affichage). On peut pas faire pire que la NES. La dessus c'est bien mieux sur Atari 2600 et aussi sur SMS je pense.
Deja je viens de réaliser qu'il manque une instruction bien utile sur le 6502, un truc auquel j'avais jamais pensé, c'est une instruction type "Halt" qu'on trouve sur le Z80 et qui permet de mettre le CPU en pause jusqu'a la prochaine interruption du coup ca permet j'imagine de bien se synchroniser avec l'irq car sans ca l'irq est retardé d'un nombre de cycle inconnu qui dépend de l'instruction en cours d’exécution au moment de l'interruption et un seul cycle de retard c'est 3 pixels a l'écran du coup tu te retrouve avec des interruptions au timing aléatoire a 10 pixels prêt. Tu peux pas avoir une synchro propre.
En plus de ca les scanlines sur NES ne dure pas un nombre de cycle CPU entier histoire de compliquer les choses. Mais c'est pas tout, les frames pairs et impairs n'ont pas le meme nombre de cycle CPU. Et puis bien sure y a pas de compteur de scanline dans la NES, c'est le MMC3 qui ajoute ca et comme il n'est pas capable de compter les scanline il le fait en comptant les changements sur la ligne A12 du PPU donc ca peut etre source de bug si tu fait pas gaffe a ce que tu fais avec l'adressage PPU, si tu titille le A12 ca peut etre compter comme une scanline.
Sur SMS non seulement t'as un vrai compteur de scanline intégré + une instruction Halt sur le CPU mais si je ne m'abuse la scanline dure un nombre entier de cycle CPU et pas de différence d'une frame a l'autre.
Sur VCS les scanlines ont aussi un nombre entier de cycle CPU et pour la synchro ils ont trouvé une solution externe (car on peut mettre le 6502 en pause par l’intermédiaire d'un signal extérieur) en passant par le TIA. suffisait d'ecrire sur un port particulier du TIA pour que celui ci bloque le 6502 jusqu'au debut du prochain Hblank et ainsi tu pouvais synchroniser ton code au pixel pret (bon heureusement car sur VCS la synchro entre CPU et affichage est central au concept même de la machine) mais c'est ca que j'aurais voulu sur NES. Une compteur de scanline intégré et un port sur lequel on puisse demander au PPU de bloquer lui meme le 6502 jusqu'au prochain Hblank ou a la prochaine irq tu compteurs de scanline. Si je devais changer un truc sur NES ca serait ca (meme si ca reste tres anecdotique dans l'usage courant).
upsilandre- Interne
- Nombre de messages : 5138
Age : 49
Localisation : val de marne 94
Date d'inscription : 31/05/2015
Re: Mr ToutLeMonde et la programmation NES...
@upsilandre
Dommage que tu ais arrêté tes vidéos, elles étaient intéressantes, je te suivais
Dommage que tu ais arrêté tes vidéos, elles étaient intéressantes, je te suivais
tetsuro- Patient contaminé
- Nombre de messages : 593
Age : 47
Localisation : Carcassonne
Date d'inscription : 27/12/2015
Re: Mr ToutLeMonde et la programmation NES...
J'en referais surement. Deja si jamais j'arrive a faire cette petite demo ca sera l'occasion de faire une vidéo pour expliquer comment c'etait chiant
upsilandre- Interne
- Nombre de messages : 5138
Age : 49
Localisation : val de marne 94
Date d'inscription : 31/05/2015
Re: Mr ToutLeMonde et la programmation NES...
Bon je m'y suis remis, j'aimerais réussir à faire quelque chose avec le Zapper.
J'arrive a détecter si je pointe sur une zone noire ou pas. Au passage, il me semble étrange que les zones de couleur autre que noire renvoient la même valeur que les zones blanches, je m'attendais à l'inverse (j'utilise Mesen). Mais j'ai peut-être compris un truc de travers.
C'est tout pour ce soir
J'arrive a détecter si je pointe sur une zone noire ou pas. Au passage, il me semble étrange que les zones de couleur autre que noire renvoient la même valeur que les zones blanches, je m'attendais à l'inverse (j'utilise Mesen). Mais j'ai peut-être compris un truc de travers.
C'est tout pour ce soir
vincent2105- Patient incurable
- Nombre de messages : 1381
Age : 44
Localisation : 82
Date d'inscription : 17/12/2013
Re: Mr ToutLeMonde et la programmation NES...
Les couleurs sont aussi une source de lumière donc c'est peu probable que la cellule photosensible fasse la différence :)
upsilandre- Interne
- Nombre de messages : 5138
Age : 49
Localisation : val de marne 94
Date d'inscription : 31/05/2015
Page 11 sur 15 • 1 ... 7 ... 10, 11, 12, 13, 14, 15
Sujets similaires
» Programmation CPS-1
» Initiation à Programmation
» Programmation sur Saturn
» La programmation Megadrive
» Programmation sous Unity3D ?
» Initiation à Programmation
» Programmation sur Saturn
» La programmation Megadrive
» Programmation sous Unity3D ?
Page 11 sur 15
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum