Mr ToutLeMonde et la programmation NES...

Page 10 sur 11 Précédent  1, 2, 3 ... , 9, 10, 11  Suivant

Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 le Dim 14 Jan 2018 - 13:02

@vincent2105 a écrit:
Je pense pas que ce soit un problème de logique dans mon code...
A priori y'avait un peu de ça 

vincent2105
Patient incurable

Nombre de messages : 1016
Date d'inscription : 17/12/2013

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par uran le Dim 14 Jan 2018 - 13:50

MDR
avatar
uran
Patient contaminé

Masculin Nombre de messages : 288
Age : 38
Localisation : 34980
Date d'inscription : 17/10/2016

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 le Jeu 18 Jan 2018 - 22:08

Pour continuer dans les pépins, j'en ai découvert 2 de plus. 

Parfois, l'item n'apparaît pas. C'est très rare, mais ça arrive. Je pense avoir résolu le problème. Il doit apparaitre à l'endroit où j'efface une tile du serpent. Je croise les doigts pour que ce soit ça  Mr. Green

Autre problème : lors de certains changements de direction, le programme saute vers la routine de mort du serpent sans que je comprenne pourquoi.

Sinon dans les trucs positifs, j'ai ajouté un turbo (bouton B). Il aura surtout un intérêt en mode multijoueur. Ca sera une arme à double tranchant, un seul faux pas et on est mort.

Je continue mes tests pour voir si je découvre pas d'autres problèmes avant d'attaquer le mode multijoueur. 
Ca avance pas des masses, je reconnais  Razz
avatar
vincent2105
Patient incurable

Masculin Nombre de messages : 1016
Age : 37
Localisation : 82
Date d'inscription : 17/12/2013

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par uran le Ven 19 Jan 2018 - 6:51

Mais a reste intéressant à suivre
avatar
uran
Patient contaminé

Masculin Nombre de messages : 288
Age : 38
Localisation : 34980
Date d'inscription : 17/10/2016

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 le Ven 19 Jan 2018 - 21:53

Merci uran :)

J'ai résolu mes 2 problèmes apparemment. Biens qu'ils n'aient lieu que très rarement, je ne pouvais pas les laisser, quoi de plus frustrant que de perdre sans savoir pourquoi ?  

Je vais essayer de rajouter quelques sons.
avatar
vincent2105
Patient incurable

Masculin Nombre de messages : 1016
Age : 37
Localisation : 82
Date d'inscription : 17/12/2013

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 le Sam 20 Jan 2018 - 23:33

Bon, j'ai ajouté un "bip" quand le serpent mange un item et je réutilise ce bip lorsque le serpent meurt, au moment où j'efface chacun des maillons. C'est pas la joie, mais c'est mieux que rien  Razz
Je me contenterai de ça, sinon, je m'en sortirai jamais.  Mr. Green
avatar
vincent2105
Patient incurable

Masculin Nombre de messages : 1016
Age : 37
Localisation : 82
Date d'inscription : 17/12/2013

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 le Ven 26 Jan 2018 - 18:25

J'en avais ma claque une fois de plus, je change un peu d'air. 
Voici mes nouvelles bricoles... un mini shmup. Désolé pour la qualité de la vidéo :/
avatar
vincent2105
Patient incurable

Masculin Nombre de messages : 1016
Age : 37
Localisation : 82
Date d'inscription : 17/12/2013

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 le Sam 27 Jan 2018 - 22:08

J'avance pas mal ce soir, du moins, j'ai trouvé un concept qui me plait bien. 
Le nombre d'ennemis maxi sur l'écran augmentera au fur et à mesure (jusqu'a 14 ennemis 16x16 pixels) Ils ne tirent pas, seul leur nombre et leurs déplacements compliquent la tâche.  coquin  
avatar
vincent2105
Patient incurable

Masculin Nombre de messages : 1016
Age : 37
Localisation : 82
Date d'inscription : 17/12/2013

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 le Dim 28 Jan 2018 - 10:57

J'ai rendu 2 types d'ennemis invincibles : boulet de canon et scarabée. Ainsi, pas de safe spot.
J'ai mis en place le systeme de paliers pour l'augmentation du nombre d'ennemis.
Je pense autoriser 9 ennemis simultanément au maximum, ça m'a l'air suffisant, au dela on se retrouve régulièrement avec de l'overflow. A voir... de toute facon, ce n'est qu'un paramètre à modifier.
avatar
vincent2105
Patient incurable

Masculin Nombre de messages : 1016
Age : 37
Localisation : 82
Date d'inscription : 17/12/2013

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 le Dim 28 Jan 2018 - 22:22

J'ai ajouté un sprite pour marquer l'impact du missile sur les ennemis invincibles.
Au passage, on voit qu'avec 7 ennemis randoms, ont est déjà sujet à overflow.
Je vais m'occuper du système de score. Je viens d'avoir une idée, chaque ennemi tué vaudra le double du précédent tant qu'aucun n'arrive à passer à gauche (à l'exception des ennemis invicibles). Je fixerai surement un plafond, mais plutot élevé. Je sais pas si c'est clair. :/ Coté code j'ai pas du tout réfléchi, y'a peut être anguille sous roche.
avatar
vincent2105
Patient incurable

Masculin Nombre de messages : 1016
Age : 37
Localisation : 82
Date d'inscription : 17/12/2013

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 le Lun 29 Jan 2018 - 22:52

Je poursuis mon monologue  clown

Je n'ai pas encore mis en place le score, j'étais sur un bug. Et avec quelques ajouts, j'étais déjà hors vblank à partir de 9 ennemis. Maintenant, c'est bon, j'ai gagné pas mal de cycles (200 à la louche).

Du coup au cours de mes vérifications, et frustré de me faire un peu trop souvent dégommer, j'ai eu une autre idée : pouvoir utiliser une bombe pour faire sauter tout les ennemis d'un coup. Maintenant, reste à définir comment on les obtient / à quelle fréquence. L'idée, c'est de devoir gérer ses bombes au mieux puisqu'une seule collision et c'est perdu !

Bon, j'ai pas mal d'idées, maintenant faut coder  Razz
avatar
vincent2105
Patient incurable

Masculin Nombre de messages : 1016
Age : 37
Localisation : 82
Date d'inscription : 17/12/2013

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par Vetea le Mar 30 Jan 2018 - 0:45

Message d'encouragement !! amoureux 
Allez, tu vas nous le sortir ce petit jeu NES !! Wink
avatar
Vetea
Docteur *
Docteur *

Masculin Nombre de messages : 4756
Age : 46
Localisation : Baillargues
Date d'inscription : 22/06/2012

http://www.rolango.fr/

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par uran le Mar 30 Jan 2018 - 6:54

On pourrait avoir un peu de codec avec l'algol des captures d'écran ?
Juste par curiosité ?
avatar
uran
Patient contaminé

Masculin Nombre de messages : 288
Age : 38
Localisation : 34980
Date d'inscription : 17/10/2016

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par upsilandre le Mar 30 Jan 2018 - 14:34

Ca y est il s'est fixé plusieurs jours sur le meme projet, ca sent bon smile
avatar
upsilandre
Guéri miraculeux

Masculin Nombre de messages : 2023
Age : 43
Localisation : val de marne 94
Date d'inscription : 31/05/2015

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 le Mar 30 Jan 2018 - 14:52

Merci les amis  Wink Après je sais pas si j'irai encore bien loin, vu que j'ai déjà cramé le budget vblank  Mr. Green

@uran : c'est juste un screenshot de l'émulateur que je resize à 200%. Si j'ai bien compris la question Wink
avatar
vincent2105
Patient incurable

Masculin Nombre de messages : 1016
Age : 37
Localisation : 82
Date d'inscription : 17/12/2013

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par uran le Mar 30 Jan 2018 - 17:58

@vincent2105 j'ai tapé la question depuis mon "smart"phone qui essaie de me corriger Rolling Eyes

Enfait c'était plutôt le code de ce que tu expliques qui m'aurait intéressé, avec le screenshot à côté
avatar
uran
Patient contaminé

Masculin Nombre de messages : 288
Age : 38
Localisation : 34980
Date d'inscription : 17/10/2016

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 le Mar 30 Jan 2018 - 19:36

@uran : ah ok ! j'essaierai de mettre un bout de code pas trop vilain, faudra que je le commente aussi, c'est pas trop dans mes habitudes.  Rolling Eyes
Sinon le fiston à fait une p'tite partie c'est plus encourageant que mon projet de snake.  Razz

avatar
vincent2105
Patient incurable

Masculin Nombre de messages : 1016
Age : 37
Localisation : 82
Date d'inscription : 17/12/2013

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 le Mer 31 Jan 2018 - 22:10

J'ai rajouté le score et rectifié quelques trucs. 
Si certains veulent tester :
https://drive.google.com/open?id=1SFAJHzw9BCW6Oq4Uahn6kVGyksM82is-

Perso mon record : 114 points pour l'instant  joueur fou (ému NTSC)

Edit : Record battu 165 points... Qui s'y colle ?


avatar
vincent2105
Patient incurable

Masculin Nombre de messages : 1016
Age : 37
Localisation : 82
Date d'inscription : 17/12/2013

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par upsilandre le Mer 31 Jan 2018 - 23:02

Moi chaque fois que j'arrive vers 75 les sprites partent en couille Mr. Green
avatar
upsilandre
Guéri miraculeux

Masculin Nombre de messages : 2023
Age : 43
Localisation : val de marne 94
Date d'inscription : 31/05/2015

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 le Mer 31 Jan 2018 - 23:05

Oups  Embarassed
J'ai pas retesté sur NES et je suis toujours sur fceux :/ 
Je regarderai  ça demain soir.
avatar
vincent2105
Patient incurable

Masculin Nombre de messages : 1016
Age : 37
Localisation : 82
Date d'inscription : 17/12/2013

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 le Mer 31 Jan 2018 - 23:23

J'ai essayé avec Mesen, et effectivement on a le problème en NTSC  à partir de 8 ennemis :/  En PAL, ça passe...
avatar
vincent2105
Patient incurable

Masculin Nombre de messages : 1016
Age : 37
Localisation : 82
Date d'inscription : 17/12/2013

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par Vetea le Jeu 1 Fév 2018 - 0:18

J'y ai joué !!! Very Happy Very Happy 
Franchement pas mal du tout, très prenant et le principe est simple et addictif, bravo Vincent !!
J'arrive à 50, pas plus .. Faut dire que j'ai joué entre 2 lignes de codes ... Wink

Donc, poursuis sur ce jeu là, perfectionne le, ajoutes y des animations de morts des monstres, des explosions, des écrans intermédiaires, du son, etc ... Bref, tout ce qui faut pour en faire un bon petit jeu d'arcade - Scoring !!
Courage copain !!! Wink
avatar
Vetea
Docteur *
Docteur *

Masculin Nombre de messages : 4756
Age : 46
Localisation : Baillargues
Date d'inscription : 22/06/2012

http://www.rolango.fr/

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 le Jeu 1 Fév 2018 - 21:26

Eheh ! Merci Vetea  ! Ca fait plaisir Very Happy 
Je souhaite vraiment le finir ce petit jeu. L'avantage c'est que le jeu en lui même m'amuse déjà plus que mon dernier projet. 
Maintenant je vais voir si je peux gagner des cycles, c'est indispensable si je veux afficher d'autres choses ou rajouter du son, car comme l'a soulevé upsilandre ça glitch déjà  Mr. Green 

Bon courage à toi aussi l'ami pour tes projets Wink
avatar
vincent2105
Patient incurable

Masculin Nombre de messages : 1016
Age : 37
Localisation : 82
Date d'inscription : 17/12/2013

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par Sour le Ven 2 Fév 2018 - 1:10

@vincent2105 a écrit:J'ai essayé avec Mesen, et effectivement on a le problème en NTSC  à partir de 8 ennemis :/  En PAL, ça passe...
Sans avoir pris le temps de vérifier, ça veut probablement dire que le sprite DMA est fait trop tard à l'intérieur du vblank - en mode NTSC, il doit absolument se terminer avant la fin du scanline 260, sinon tu vas avoir des problèmes (FCEUX n'implémente probablement pas cette restriction).  Un sprite DMA prend environ 4.5 scanlines à s'exécuter - idéalement c'est de le faire le plus tôt possible au début du vblank.

En mode PAL, il y a environ 4-5 scanlines de plus pendant lesquelles le sprite DMA peut être exécuté correctement, mais en général après le scanline 264-265, ça va causer des problèmes aussi.  Mais ça explique probablement pourquoi ça fonctionne en mode PAL.

Sour
Patient en incubation

Masculin Nombre de messages : 22
Age : 33
Localisation : Canada
Date d'inscription : 28/10/2017

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 le Ven 2 Fév 2018 - 7:21

En faisant le sprite DMA juste après la NMI, effectivement ça passe ! Merci pour ton aide :)  J'ai toujours pensé qu'il fallait le faire après mes routines d'affichage  Embarassed 
Par ailleurs, avant de lire ton message, j'ai tout fait pour gagner des cycles, et la plus grosse économie, je l'ai faite en basculant mes sprites en mode 8x16, et même avec un DMA tardif, j'arrivais à gérer 10 ennemis. 

A présent, on peut monter jusqu' 14 ennemis... (Bouton A pour level up)
Mais j'y pense... en basculant mes sprites en mode 8x16, je peux en afficher 2 fois plus !   Je testerai ca ce soir.

ROM : https://drive.google.com/open?id=13xSWkb5WjnfORAGajbZT2foL4jAQZCJD
avatar
vincent2105
Patient incurable

Masculin Nombre de messages : 1016
Age : 37
Localisation : 82
Date d'inscription : 17/12/2013

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par tetsuro le Ven 2 Fév 2018 - 11:31

Pour tester ta rom, tu conseils quel émulateur ? Tu connais un émulateur pour débuguer ?
avatar
tetsuro
Patient contaminé

Masculin Nombre de messages : 437
Age : 40
Localisation : Carcassonne
Date d'inscription : 27/12/2015

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 le Ven 2 Fév 2018 - 19:37

Tu peux utiliser Mesen, l'émulateur de Sour qui a répondu juste avant.  Un topic y est consacré dans cette section du forum Wink 

Ce soir, je vais voir si je peux minimiser l'impact du sprite overflow. La NES ignore les sprites dès qu'on en a plus de 8  (de 8px de large ) sur une même scanline. 
Cette contrainte est embêtante vu que plus on progresse, plus le cas se présente. La plupart du temps, ils apparaissent tronqués, mais dans le pire des cas, ils peuvent être totalement invisibles.
avatar
vincent2105
Patient incurable

Masculin Nombre de messages : 1016
Age : 37
Localisation : 82
Date d'inscription : 17/12/2013

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 le Ven 2 Fév 2018 - 21:32

Je vais tenter un truc. 
Les ennemis sont composés de 2 sprites 8x16. Moitié gauche / moitié droite.
Je vais m'arranger pour déclarer les moitiés gauches de tous les ennemis avant celles de droites. Ainsi, je devrais réduire le nombre de cas où un metasprite entier est invisible. 
Je suis un peu naze ce soir, on va voir ce que ça donne Mr. Green

Edit : j'ai réussi, ci dessous, on a 6 metasprites sur la même ligne. Sans cette modification, 2 ennemis seraient invisibles alors que leurs hitboxes seraient actives. 
C'est pas génial, mais ça a le mérite de rester jouable.
avatar
vincent2105
Patient incurable

Masculin Nombre de messages : 1016
Age : 37
Localisation : 82
Date d'inscription : 17/12/2013

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par upsilandre le Sam 3 Fév 2018 - 0:34

Tu sais y a un concept qui s'appelle le flikering de sprite, utilisé sur tous les jeux 8bit, tu découvres la NES ou quoi? Mr. Green
Faut melanger ta liste de sprite a chaque frame (ou tout du moins la construire differement a chaque frame, pas toujours dans le meme ordre). Sinon plus simple essaye deja d'initialiser differement le registre 2003 a chaque frame avant le DMA de sprite (alterne par exemple les 3 valeurs $00, $C0, $80 puis a nouveau $00, $C0, $80 ect... en boucle, ca rend pas mal)

edit:
Voila ce que ca donne sur l'ancienne version (donc a jouer en PAL pour eviter les bug) juste en jouant avec le registre $2003
https://drive.google.com/open?id=17IFgwbqb82TtudH6t5gfiLlFstmLLGQW

En gros j'ai juste remplacé ton #$00 par une variable (rotationOAM)

 LDA rotationOAM                  
 STA OamAddr_2003        
 LDA #$02                
 STA SpriteDma_4014      

Puis ajouté un bout de code avant ou apres qui met a jour cette variable pour avoir une rotation sommaire de la liste de sprite
avec un cycle de 3 (celui que j'ai utilisé dans la demo)
  LDA rotationOAM                
  SEC                      
  SBC #$40                
  CMP #$40                
  BNE +                
  LDA #$00                
+ STA rotationOAM                

ou un cycle de 4 plus simple mais moins efficace vu la facon dont tes sprites sont rangé sur la demo
  LDA rotationOAM                  
  SEC                      
  SBC  #$40
  STA rotationOAM
avatar
upsilandre
Guéri miraculeux

Masculin Nombre de messages : 2023
Age : 43
Localisation : val de marne 94
Date d'inscription : 31/05/2015

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 le Sam 3 Fév 2018 - 6:31

Pour le flickering, j'en ai pas parlé parce je savais que j'aurai deja du mal avec ma bricole    Razz
Sinon, ta seconde solution rend bien.  thumleft J'aurais pas eu l'idée. Economique en plus... J'adopte !
avatar
vincent2105
Patient incurable

Masculin Nombre de messages : 1016
Age : 37
Localisation : 82
Date d'inscription : 17/12/2013

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par upsilandre le Sam 3 Fév 2018 - 11:51

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 smile
avatar
upsilandre
Guéri miraculeux

Masculin Nombre de messages : 2023
Age : 43
Localisation : val de marne 94
Date d'inscription : 31/05/2015

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Page 10 sur 11 Précédent  1, 2, 3 ... , 9, 10, 11  Suivant

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum