IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Projets Discussion :

SNES Tech démo


Sujet :

Projets

  1. #21
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Merci pour m'avoir fait connaitre cette émulateur que je connaissais pas la max de test me sera utile, sinon je compte acheter un Linker pour la Snes (donc pouvoir tester sur du matériel réel)au début j'hésitais vu que j'avais rien de concret (pour voir une image sur sa console c'est un peu maigre comme motivation pour en acheter un) , mais la comme je commence avoir pas mal de contenu et que je comprend mieux la SNES y'a plus de raison que je l’achète.
    Pour l'affichage du cycle avec ta méthode , c'est plus compliqué parce que je n'ai aucune idée de combien de temps font mes calcul (dans le code), ma technique est simple je fais des calcul (en boucle) , je met une valeur a cette boucle et quand l'affichage saute (en général des bouts de background) , ben je sais combien de temps il me reste et le nombre de cycle.
    Du coup pour savoir combien j'en avais max j’avais fait en sorte d'afficher juste une lettre et quand je ne la voyais plus ben j'ai compris que c'était la limite.
    Bref je me base sur mon visuel pour le savoir , faudrait sinon que j'épluche la doc si il y a un moyen de savoir combien de temps c'est écoulé (en ms).

    Sinon un peu de news niveau code , bon je suis pas expert de la prog SNES et je le confirme encore une petite erreur
    Pour le background le truc qui me prenait beaucoup de temps de calcul, ben j'ai pu baisser drastiquement son temps en cycle , je me demande pourquoi je n'y ai pas pensé plutôt...
    La technique c'est utiliser le DMA (Direct Memory Acces) qui transfère les donnée de manière très rapide (je l'utilisais deja), alors comme je viens de le dire ça permet de transférer des donnés dans la VRAM au lieu de le faire manuellement (coté CPU donc) , mais je n'avais pas pensé a le faire pour les tileset.

    Du coup je suis passé de 4120 a 270 cycle , je m'attendais pas a une tel chute ^^ , en tout cas ça répond a une autre de mes question le texte ,au début j'étais un peu inquiet parce que l'envoyé de cette façon (octet par octet) c'est plutôt lourd , la réponse sera le DMA.
    Je précise mais mes 2 texte a écran sont écrit différemment , le premier il est écris en dur comme mon exemple précédent (pour les tileset) , le deuxième il est plus du genre a la C , une boucle qui affiche des caractères jusqu’à atteindre la valeur 0.
    Bon c'est plutôt pratique d'un point de vue utilisateur , on peut écrire directement du texte comme ceci :
    Par contre niveau calcul c'est ultra lourd pour l'afficher.
    Donc faudra que j'utilise le DMA et faire juste un petit outil (ça va pas me prendre beaucoup de temps pour le faire) , pour pouvoir générer du code pour l'assembleur en écrivant sur un fichier texte par exemple.
    Bon au moins un de mes problème résolu

  2. #22
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    Le texte, il est affiché à partir d'une spritesheet contenant les caractères ?
    Pour la technique du nombre de cycle/temps CPU, je connais pas énormément désolé.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #23
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Je trouve NOSNS génial comme débugger il met absolument tout
    Sinon oui c'est un spritesheet avec 4 couleurs (je précise parce que c'est 2 fois moins lourd en mémoire que avec le 16 couleurs).
    Ben j'en profite pour le détails technique voila un comparatif de compression image (pour du 32x32 pixels) :
    RGBA : 32*32 * 4 = 4096 octets
    RGB : 32*32 * 3 = 3072 octets
    RGB avec palette : 32*32 = 1024 octets
    RGB avec palette snes 16 couleurs : (4*8)*(4*4) = 512 octets
    RGB avec palette snes 4 couleurs : (2*8)*(4*4) = 256 octets

  4. #24
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    C'est le principe du développeur de NOSNS, de faire des débogueurs avant tout, de qualité pro (ils visent à les vendre à des développeurs pro, si j'ai bien compris).
    Ok pour les sprites, merci pour la précision.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  5. #25
    Inactif  
    Homme Profil pro
    c++ java php javascript
    Inscrit en
    Octobre 2013
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : c++ java php javascript
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2013
    Messages : 374
    Points : 179
    Points
    179
    Par défaut
    Citation Envoyé par Kannagi Voir le message
    @Vetea
    Cela dépend , pour le moment pas vraiment (mais tu as pu remarquer qu'il y a par exemple le toit des murs qui sont devant le perso), la SNES permet que chaque tuile a un ordre de priorité (pour ça que j'ai fait mon propre éditeur en partie) et cela consomme rien du tout en terme de CPU.
    C'est très intéressant ça...
    Ca fonctionne comme un genre de z-buffer ? genre chaque tuile a une position "z" et on peut modifier le z des sprites ?
    nous devons inventer la langue de feu pour crâmer la langue de bois

  6. #26
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    C'est exact ça marche comme un z-buffer (assez 'limité' et plutôt casse tête) parce que ordre de priorité change selon la config et le mode.

    Il y a un joli dessin sur la doc officiel :

    En haut la priorité des BG , en bas c'est la priorité des sprites qu'il nomme OBJ(mon perso par exemple).
    Dans ma démo BG1 c'est le fond , BG 2 non utilisé pour le moment , BG 3 c'est le texte.
    Mon BG 1 par defaut c'est 0 , le toit c'est 1 , les perso c'est 2 (le menu sera 3).
    Et le BG 3 il y en a 3 de dessiner(dans l'image) ceci parce que on peut le config son '1' , donc BG 3 c'est 1 avec une config de 1.

    Après c'est un peu différent d'un z-buffer vu que ceci détermine l'ordre de priorité entre plan et entre plan/sprites , pour les sprites entre eux c'est l'ordre de OAM qui le détermine.

  7. #27
    Inactif  
    Homme Profil pro
    c++ java php javascript
    Inscrit en
    Octobre 2013
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : c++ java php javascript
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2013
    Messages : 374
    Points : 179
    Points
    179
    Par défaut
    C'est super intéressant...
    nous devons inventer la langue de feu pour crâmer la langue de bois

  8. #28
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Alors voici quelque news.
    Le code a pas mal changer même si le résultat et un peu le même.
    Alors j'ai mis les sprites en 16x16 , mais j'ai appris qu'on pouvait finalement switcher entre du 16/32 ou 32/64 ect , c'est interessant ,je garde ça en tête
    J'ai presque complètement réorganiser les données en VRAM donc ça donne ça maintenant et pour toujours =P :
    -adresse de 0x0000 - 0x4000 , BG 1 ,16ko
    -adresse de 0x4000 - 0x8000 , BG 2 ,16ko
    -adresse de 0x8000 - 0xA000 , BG 3 ,8ko
    -adresse de 0xA000 - 0xC000 , BG DATA ,8ko
    -adresse de 0xC000 - 0xFFFF , Object ,16ko
    Donc j'utiliserais bien 100% de la VRAM.

    Pour les version PAL et NTSC voici ma découverte , alors soit tout les émulateurs boude la version PAL soit elle marche un peu plus différemment.
    Dans la version PAL en a un peu plus de cycle seconde , le DMA est rapide et ceci même dans la boucle du jeu (qui ne devrait pas être rapide) et faire des calcul sur le VBlank ne permet pas économiser des calculs sur la boucle du jeu.
    Dans la version NTSC on a moins de cycle , le DMA est moins rapide et terriblement lent dans la boucle principal (donc utilisable que dans le VBlank) , et les calculs dans le VBlank ne fait pas perdre de cycle dans la boucle principal et inversement.
    Du coup je ne pense pas que j'aurais des soucis pour les cycles si je m'organise bien finalement.

    Rappel :
    -VBlank : c'est un genre de callback qui est appelé pendant l'affichage.
    -DMA : accélération matériel permettant envoyer des bloc de donnée de marnière très rapide.

    J'ai commencé a implémenté le zorder pour les perso pas fini mais en cours , et plusieurs code pour optimiser /rendre le code plus lisible.

    Nouveau Screen avec un exemple de zorder pour les sprites.



    La nouvelle démo toujours a la même adresse : http://www.mediafire.com/download/9t...62fb6/main.smc

    Voila

  9. #29
    Membre à l'essai
    Homme Profil pro
    Rédacteur technique
    Inscrit en
    Août 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Rédacteur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2014
    Messages : 4
    Points : 11
    Points
    11
    Par défaut Pas étonnant ^_^
    ouh là... j'avais pas capté que les réponses s'ajoutaient en fin de discussion...
    Je répondais au message de Nico65 du 13/08/2014, 12h21 :

    --

    Il ne faut pas être étonné Nico65,
    Il existe principalement deux grands type d'architecture de processeurs : les CISC et les RISC. L'optique des CISC est de faire des instructions complètes avec une richesse de possibilités alors qu'en RISC (qui veut dire Reduced...) c'est une version réduite de l'ensemble des instructions et toute l'architecture du processeur.
    Le but de ces processeurs est d'être spécialisé pour chaque instruction : en gros, elles sont globalement plus rapide que leur équivalente CISC (mais pas forcément toutes). De même, les registres peuvent être restreint en utilisation, il ne sera pas étonnant sur un RISC de ne pas avoir de registre générique qui peut tout faire (être un nombre, une adresse, etc.).
    Et sur ces architectures RISC, justement, en général, il n'y a pas de multiplication ni division. Mais ce n'est pas un inconvénient car comme tu le dis, il peut toujours y avoir un CPU pour le calcul (disons plutôt une FPU) mais il faut savoir que si tu réimplémentes la multiplication sur un RISC, il est possible que ton algo de multiplication ne prennent pas tellement plus de temps à se réaliser que sur un processeur CISC qui le fait en une instruction.
    En général, en programmation pure, il est peu souvent nécessaire d'avoir à faire des multiplications et division et les processeurs RISC, optimisée sur certaines aspects, sont étonnamment plus confortable parfois à "utiliser" (programmer) que leur version CISC. C'est une règle : moins on a de choix, moins on perd de temps ^_^

  10. #30
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Alors voici quelque nouveauté
    Marc4game rejoint mon équipe alors souhaitais le bonne chance dans sa quête de l'assembleur
    Bon pour le moment il réapprend assembleur 65816 et après étudira la prog SNES , et ensuite il s'occupera du menu,random et du 'printf' (ce qui m'aidera grandement).

    Pour le moteur je suis assez content , il commence a y'avoir des Bases solides sur quoi travailler , alors j'ai mis les collisions et le Zorder + le MSB.
    Je vais expliquer je que j'ai fait en détails , alors en gros chaque fois qu'un pnj (ou ennemi peu importe) apparait a écran , il écrit dans un tas mis en mémoire (positon X/ Y et MSB).
    Ce tas supporte jusqu’à 8 élément (donc en tout perso/ennemi compris max 8) , ce qui est très correct.
    Grâce a ce tas j'utilise le Y pour le tri du Zorder , le X et Y pour les collisions et le MSB que je vais l'expliquer.

    Pour ce qui l'ont remarqué quand le pnj était a gauche il disparaissait d'un coup , normal en dessous de 0 cela devient 255 et donc le perso réapparait a droite de écran (du coup je l'enlevait), Nintendo avait surement prévu cela donc il est possible écrire dans une adresse se nommant MSB qui permet d'afficher un perso avec + 256 en pixel (donc une position horizontal de 0 a 512) et si on affiche un perso a 500 pixel ben on verra un peu le perso a gauche de écran (bref comme si on pouvait faire un -12 en pixel).
    Bref du coup cette partie extrêmement chiante , que j'ai debugais et qui fonctionnel est faite , je parle rien que pour le MSB , tout ça pour voir un perso 'coupé en deux" quand le perso est a gauche , sur ce coup la SNES me facilite pas du tout la tache ,de plus la valeur pour le MSB sont par bit et comme j'avais un 16x16 pour les tiles ben je devais modifier le bon OAM (les deux se trouvant a gauche) et de manière dynamique.

    Bref la galère est derrière maintenant je vais pouvoir attaquer un peu le jeu ,faire parler un perso par exemple.
    Enfin avant faut que je test plus en profondeur et finisse quelque truc mais ce sont des détails sans grande difficulté

    NT : Je conçois que cette partie est peut être pas la plus intéressante , mais elle etait assez crucial.
    La démo est toujours a la meme adresse.

  11. #31
    Inactif  
    Homme Profil pro
    c++ java php javascript
    Inscrit en
    Octobre 2013
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : c++ java php javascript
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2013
    Messages : 374
    Points : 179
    Points
    179
    Par défaut
    Ca déchire
    nous devons inventer la langue de feu pour crâmer la langue de bois

  12. #32
    Membre à l'essai
    Homme Profil pro
    Rédacteur technique
    Inscrit en
    Août 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Rédacteur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2014
    Messages : 4
    Points : 11
    Points
    11
    Par défaut
    Oui, bonjour tout le monde.
    Je n'ai pas l'habitude des forums, je vais tâcher de garder un oeil sur les discussions.
    Je reprends en effet les technologies de la SNES depuis le début et le chemin sera certainement plaisant et parfois difficile

  13. #33
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Cela fait un bail que j'ai pas mis de nouvelle
    Bon je n'ai pas toujours le temps de m'y consacré dessus mais j'ai pas mal avancé collision perso/pnj terminé et IA aussi , le texte+fenêtre n'a pas été une partie de plaisir du coup j'ai fait un peu de procrastination .
    Mais cela est enfin terminé , avec l'outil qui va avec il suffit d'écrire un truc dans le genre :

    Texte_1:
    ABCD EFGHIJKLMNOPQRSTUVWXYZ
    abcd efghijklmnopqrstuvwxyz
    0123456789
    Texte_2:
    Bienvenue au village.
    Texte_3:
    ...
    Texte_4:
    $
    Ce jeu est encore en demo.
    J'espere que cela sera
    bientot terminer.
    Texte_5:
    Dommage nous avons pas
    beaucoup de place pour
    le texte.
    Texte_6:
    $
    Je m'appelle Jean , j'ai
    aider elu dans Secret of
    Mana.
    Texte_7:
    $
    Il me semble que ce RPG
    parlera de Demon a vaincre.
    Texte_8:
    Cela demandera bravoure et
    courage.
    Bonne chance mon ami.
    Texte_9:
    Je suis un soldat de
    l'empire.
    Texte_10:
    Ou suis je ?
    Texte_end:
    le $ signifie seulement que je lirait le bloc de texte suivant , et si on écrit ça , ben ça génère ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    Texte_1:
       .db $06
     
       .db $36
       .dw $28c1, $28c2, $28c3, $28c4, $2880, $28c5, $28c6, $28c7, $28c8, $28c9, $28ca, $28cb, $28cc, $28cd, $28ce, $28cf, $28e0, $28e1, $28e2, $28e3, $28e4, $28e5, $28e6, $28e7, $28e8, $28e9, $28ea 
       .dw $28d1, $28d2, $28d3, $28d4, $2890, $28d5, $28d6, $28d7, $28d8, $28d9, $28da, $28db, $28dc, $28dd, $28de, $28df, $28f0, $28f1, $28f2, $28f3, $28f4, $28f5, $28f6, $28f7, $28f8, $28f9, $28fa 
     
       .db $36
       .dw $2901, $2902, $2903, $2904, $2880, $2905, $2906, $2907, $2908, $2909, $290a, $290b, $290c, $290d, $290e, $290f, $2920, $2921, $2922, $2923, $2924, $2925, $2926, $2927, $2928, $2929, $292a 
       .dw $2911, $2912, $2913, $2914, $2890, $2915, $2916, $2917, $2918, $2919, $291a, $291b, $291c, $291d, $291e, $291f, $2930, $2931, $2932, $2933, $2934, $2935, $2936, $2937, $2938, $2939, $293a 
     
       .db $14
       .dw $28a0, $28a1, $28a2, $28a3, $28a4, $28a5, $28a6, $28a7, $28a8, $28a9 
       .dw $28b0, $28b1, $28b2, $28b3, $28b4, $28b5, $28b6, $28b7, $28b8, $28b9 
     
    Texte_2:
       .db $02
     
       .db $2a
       .dw $28c2, $2909, $2905, $290e, $2926, $2905, $290e, $2925, $2905, $2880, $2901, $2925, $2880, $2926, $2909, $290c, $290c, $2901, $2907, $2905, $288e 
       .dw $28d2, $2919, $2915, $291e, $2936, $2915, $291e, $2935, $2915, $2890, $2911, $2935, $2890, $2936, $2919, $291c, $291c, $2911, $2917, $2915, $289e 
     
    Texte_3:
       .db $02
     
       .db $06
       .dw $288e, $288e, $288e 
       .dw $289e, $289e, $289e 
     
    Texte_4:
       .db $16
     
       .db $34
       .dw $28c3, $2905, $2880, $290a, $2905, $2925, $2880, $2905, $2923, $2924, $2880, $2905, $290e, $2903, $290f, $2922, $2905, $2880, $2905, $290e, $2880, $2904, $2905, $290d, $290f, $288e 
       .dw $28d3, $2915, $2890, $291a, $2915, $2935, $2890, $2915, $2933, $2934, $2890, $2915, $291e, $2913, $291f, $2932, $2915, $2890, $2915, $291e, $2890, $2914, $2915, $291d, $291f, $289e 
     
       .db $2c
       .dw $28ca, $2887, $2905, $2923, $2920, $2905, $2922, $2905, $2880, $2921, $2925, $2905, $2880, $2903, $2905, $290c, $2901, $2880, $2923, $2905, $2922, $2901 
       .dw $28da, $2897, $2915, $2933, $2930, $2915, $2932, $2915, $2890, $2931, $2935, $2915, $2890, $2913, $2915, $291c, $2911, $2890, $2933, $2915, $2932, $2911 
     
       .db $22
       .dw $2902, $2909, $2905, $290e, $2924, $290f, $2924, $2880, $2924, $2905, $2922, $290d, $2909, $290e, $2905, $2922, $288e 
       .dw $2912, $2919, $2915, $291e, $2934, $291f, $2934, $2890, $2934, $2915, $2932, $291d, $2919, $291e, $2915, $2932, $289e 
     
    Texte_5:
       .db $06
     
       .db $2c
       .dw $28c4, $290f, $290d, $290d, $2901, $2907, $2905, $2880, $290e, $290f, $2925, $2923, $2880, $2901, $2926, $290f, $290e, $2923, $2880, $2920, $2901, $2923 
       .dw $28d4, $291f, $291d, $291d, $2911, $2917, $2915, $2890, $291e, $291f, $2935, $2933, $2890, $2911, $2936, $291f, $291e, $2933, $2890, $2930, $2911, $2933 
     
       .db $2c
       .dw $2902, $2905, $2901, $2925, $2903, $290f, $2925, $2920, $2880, $2904, $2905, $2880, $2920, $290c, $2901, $2903, $2905, $2880, $2920, $290f, $2925, $2922 
       .dw $2912, $2915, $2911, $2935, $2913, $291f, $2935, $2930, $2890, $2914, $2915, $2890, $2930, $291c, $2911, $2913, $2915, $2890, $2930, $291f, $2935, $2932 
     
       .db $12
       .dw $290c, $2905, $2880, $2924, $2905, $2928, $2924, $2905, $288e 
       .dw $291c, $2915, $2890, $2934, $2915, $2938, $2934, $2915, $289e 
     
    Texte_6:
       .db $16
     
       .db $30
       .dw $28ca, $2905, $2880, $290d, $2887, $2901, $2920, $2920, $2905, $290c, $290c, $2905, $2880, $28ca, $2905, $2901, $290e, $2880, $288c, $2880, $290a, $2887, $2901, $2909 
       .dw $28da, $2915, $2890, $291d, $2897, $2911, $2930, $2930, $2915, $291c, $291c, $2915, $2890, $28da, $2915, $2911, $291e, $2890, $289c, $2890, $291a, $2897, $2911, $2919 
     
       .db $30
       .dw $2901, $2909, $2904, $2905, $2922, $2880, $2905, $290c, $2925, $2880, $2904, $2901, $290e, $2923, $2880, $28e3, $2905, $2903, $2922, $2905, $2924, $2880, $290f, $2906 
       .dw $2911, $2919, $2914, $2915, $2932, $2890, $2915, $291c, $2935, $2890, $2914, $2911, $291e, $2933, $2890, $28f3, $2915, $2913, $2932, $2915, $2934, $2890, $291f, $2916 
     
       .db $0a
       .dw $28cd, $2901, $290e, $2901, $288e 
       .dw $28dd, $2911, $291e, $2911, $289e 
     
    Texte_7:
       .db $14
     
       .db $30
       .dw $28c9, $290c, $2880, $290d, $2905, $2880, $2923, $2905, $290d, $2902, $290c, $2905, $2880, $2921, $2925, $2905, $2880, $2903, $2905, $2880, $28e2, $28e0, $28c7, $2880 
       .dw $28d9, $291c, $2890, $291d, $2915, $2890, $2933, $2915, $291d, $2912, $291c, $2915, $2890, $2931, $2935, $2915, $2890, $2913, $2915, $2890, $28f2, $28f0, $28d7, $2890 
     
       .db $36
       .dw $2920, $2901, $2922, $290c, $2905, $2922, $2901, $2880, $2904, $2905, $2880, $28c4, $2905, $290d, $290f, $290e, $2880, $2901, $2880, $2926, $2901, $2909, $290e, $2903, $2922, $2905, $288e 
       .dw $2930, $2911, $2932, $291c, $2915, $2932, $2911, $2890, $2914, $2915, $2890, $28d4, $2915, $291d, $291f, $291e, $2890, $2911, $2890, $2936, $2911, $2919, $291e, $2913, $2932, $2915, $289e 
     
    Texte_8:
       .db $06
     
       .db $34
       .dw $28c3, $2905, $290c, $2901, $2880, $2904, $2905, $290d, $2901, $290e, $2904, $2905, $2922, $2901, $2880, $2902, $2922, $2901, $2926, $290f, $2925, $2922, $2905, $2880, $2905, $2924 
       .dw $28d3, $2915, $291c, $2911, $2890, $2914, $2915, $291d, $2911, $291e, $2914, $2915, $2932, $2911, $2890, $2912, $2932, $2911, $2936, $291f, $2935, $2932, $2915, $2890, $2915, $2934 
     
       .db $10
       .dw $2903, $290f, $2925, $2922, $2901, $2907, $2905, $288e 
       .dw $2913, $291f, $2935, $2932, $2911, $2917, $2915, $289e 
     
       .db $2a
       .dw $28c2, $290f, $290e, $290e, $2905, $2880, $2903, $2908, $2901, $290e, $2903, $2905, $2880, $290d, $290f, $290e, $2880, $2901, $290d, $2909, $288e 
       .dw $28d2, $291f, $291e, $291e, $2915, $2890, $2913, $2918, $2911, $291e, $2913, $2915, $2890, $291d, $291f, $291e, $2890, $2911, $291d, $2919, $289e 
     
    Texte_9:
       .db $04
     
       .db $2a
       .dw $28ca, $2905, $2880, $2923, $2925, $2909, $2923, $2880, $2925, $290e, $2880, $2923, $290f, $290c, $2904, $2901, $2924, $2880, $2904, $2905, $2880 
       .dw $28da, $2915, $2890, $2933, $2935, $2919, $2933, $2890, $2935, $291e, $2890, $2933, $291f, $291c, $2914, $2911, $2934, $2890, $2914, $2915, $2890 
     
       .db $12
       .dw $290c, $2887, $2905, $290d, $2920, $2909, $2922, $2905, $288e 
       .dw $291c, $2897, $2915, $291d, $2930, $2919, $2932, $2915, $289e 
     
    Texte_10:
       .db $02
     
       .db $18
       .dw $28cf, $2925, $2880, $2923, $2925, $2909, $2923, $2880, $290a, $2905, $2880, $28af 
       .dw $28df, $2935, $2890, $2933, $2935, $2919, $2933, $2890, $291a, $2915, $2890, $28bf 
     
    Texte_end:
       .db $00
    C'est beau hein ?

    Pour mon objectif , il faudrait que j'améliore mon éditeur de map pour qu'il puisse gérer plusieurs résolution et que je puisse mettre des tags sur les tiles (ça permettra par exemple de mettre un événement pour l'histoire ou les entrée/sortie de chaque map) , niveau code de mon jeu c'est plus des formalités pour l'implémenté ceci vu que c'est plus de la lecture de données.
    Le code commence a devenir assez important , je reste assez vigilant vu que pour débugger ça sera coton , de même que niveau data ça commence a devenir serrer , je pense que je passerai directement en une ROM 2mo et je commencerai a ranger les données ça sera plus simple pour moi.

    Donc voici une Vidéo qui montre mon travail actuel :


    Pour le lien de téléchargement : http://www.mediafire.com/download/9t...62fb6/main.smc

    Je suis aussi tombé sur un émulateur en ligne de la SNES : http://nesbox.github.io/emulator/ , je devrais juste essayer de trouver un hébergeur gratuit pour que je puisse host ma ROM avec , comme ça mon jeu devient jouable sur navigateur aussi ^^

  14. #34
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Alors j'ai pu faire une amélioration , celle de la map donc on a 2 BG maintenant et j'ai coder le zorder entre le BG/perso , cela veut dire que vous pouver être devant/derrière un élément (comme un arbre ici , mais ça pourra être une chaise , un rocher ou autre).
    J'ai du modifier mon éditeur pour pouvoir gérer ceci j'ai donc pu mettre des tags , j'essayerai dans une prochaine MAJ de faire les transitions entre 2 map (je pourrais en mettre plus mais ça me demanderai plus de "travail" pour pas grand chose techniquement).

    Voici une vidéo :


    Et le lien pour le téléchargé :
    http://www.mediafire.com/download/9t...62fb6/main.smc

  15. #35
    Membre émérite Avatar de Cirrus Minor
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2014
    Messages
    953
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2014
    Messages : 953
    Points : 2 612
    Points
    2 612
    Par défaut
    C'est génial !

    Je l'ai essayé, il tourne bien sur snes9x, et c'est un voyage dans le temps !

  16. #36
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    hé he merci
    J’espère avoir le temps de l'amélioré de manière régulière ^^ , au fil du temps les test seront de plus en plus intéressant

  17. #37
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Et oui je ne dors pas sur mes laurier , donc une nouvelle maj qui va conclure la gestion de la map
    J'ai fait quelque maj sur mon éditeur , donc la map a pu en profité , donc on peut changer de map (soit en appuyant sur 'A' soit de manière automatique) , la map gère la transparence et j'ai fait une animation de l'eau qui tombe (c'est pour être précis une animation de la palette).
    Sur la nouvelle map , j'ai mis notre bon vieux papi j'ai pas forcément eu le temps de faire une démo avec les sprites que m'a passé Vétéa mais c'est pour la bonne cause >< , j'espere que ce 'caméo' montrera au moins que Papi sur SNES ça rend pas trop mal .

    Pour les détails technique , la transparence de la SNES se fait sur un ou plusieurs plans (un BG ou sur les sprites) ,le truc c'est que ça le fait sur tout les tiles/sprite , par exemple si on fait de la transparence sur le BG2 tout le BG2 sera transparent , pour évité que tout le BG soit transparent il faut juste ne rien mettre derrière et donc on peut choisir avec cette 'astuce' quel tiles est transparent ou non (en changeant la priorité est donc de le mette devant, de même que la transparence ne peut être cumulé si vous mette 2 plans en transparence par exemple).
    J'ai rajouté une musique aussi , je n'ai pas moi qui est codé la musique mais pour le moment ça devrait suffire avant que je m'y mette sérieusement dessus
    Donc me reste plus grand chose le menu et les combat \o/ , enfin les combat d'un coté sera plus simple vu que ça sera plus du gameplay que du code gérant la matériel (qui est ce qui me 'bloque' le plus a vrai dire).

    Voila une petite image de ma map (les carré bleu représente la priorité du tiles ) :
    http://img15.hostingpics.net/pics/257609rendu.jpg

    Et évidemment une vidéo :


    Lien : http://www.mediafire.com/download/9t...62fb6/main.smc

  18. #38
    Expert éminent
    Avatar de Vetea
    Homme Profil pro
    Technicien Test - Maintenance - Production - BE dans une PME d'electronique
    Inscrit en
    Février 2005
    Messages
    2 061
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Test - Maintenance - Production - BE dans une PME d'electronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2005
    Messages : 2 061
    Points : 6 443
    Points
    6 443
    Par défaut
    Bonjour Kannagi,

    C'est carrément génial !!
    Je pensais que les sprites que je t'avais passé ne te convenais pas ... En tout cas, c'est du super boulot et très impresionnant techniquement parlant en tout assembleur .
    Chapeau bas, je m'incline !

    Ps : Merci pour le clin d'oeil !
    Développeur - Créateur Amateur de Jeux vidéos
    Visitez ma page dédiée
    Visitez mon espace Itch.io
    Mon canal Discord

  19. #39
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Merci , bah l'assembleur traine une sale réputation mais d'un coté je pense que si on a en tête ceci "un micro-processeur est indépendant de la machine dans laquelle il tourne et ne fait que lire des données quelque part, appliquer un traitement arithmétique ou logique dessus, et les réécrire ailleurs".
    En gros je pense que n'importe qui peut comprendre ces principes de bases (lire une donné , faire un calcul , et le réécrire quelque part) , finalement les langages haut niveau sont plus complexe d'une certaine façon.
    Non ça me convenais mais en gros si mon moteur est bien fini , il servira pour plein d'autre jeux , disons que faire Papi est plus complexe que un simple shmup .

  20. #40
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Bon pas fait de nouvelle MAJ , mais j'ai acheté un Linker donc j'ai pu testé sur du matos réel , j'ai 2 gros bug les sprites et la map avec la transparente , je m'en inquiète pas trop mais faudra juste que je me consacre un peu de temps la dessus .

    J'ai fait une vidéo très peu inspiré a vrai dire , mais je préfère qu'il y a quelque commentaire sonore qu'une vidéo sans , bon j'ai pas une super jolie voix je trouve , j'espere que cela n'est pas trop gênant sinon sur la prochaine vidéo je serait muet comme une carpe
    vidéo :


    Bonne fête de fin d'année

Discussions similaires

  1. [DB2] Version Démo
    Par borgfabr dans le forum DB2
    Réponses: 4
    Dernier message: 26/12/2004, 10h48
  2. [tech]Visual C++ 6.0 et Visibroker 6.0 configuration?????
    Par darius_the_first dans le forum CORBA
    Réponses: 8
    Dernier message: 22/11/2004, 23h17
  3. message d'erreur "Microsoft SQL-DMO"
    Par tachi dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 17/08/2004, 11h47
  4. SQL-DMO Help
    Par agodinasandrien dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 20/10/2003, 09h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo