Pas besoin de vous inscrire pour télécharger / No need to register for downloading.
Une fois inscrit, vous devez m'envoyer un mail pour valider votre compte / Once registered, you must send me an email for validating your account.
 S'enregistrer  |  FAQ  |  Lexique  |  Rechercher  |  Liste des Membres  |  Groupes d'utilisateurs 

 Annuaire  |  Connexion 

 Ce forum en page de démarrage

 Informations pratiques 
 N'hésitez pas à inscrire votre site dans l'annuaire, il est là pour ça !  

   Télécharger le sujet
01. Les bases de la programmation
Mike Werewolf
Loup-garou

Site Admin


Inscrit le: 07 Oct 2004
Messages: 1676
Karma: 52
plus / moins

Localisation: France
Répondre en citant
Voici de quoi est composé un perso (ne vous affolez pas si certains termes vous semblent 'obscurs') :

LE FICHIER DEF
Description :
C'est le fichier centralisateur qui va juste servir à déclarer tous les autres fichiers utilisés, plus quelques petits paramètres, comme le nom du perso, le nom de l'auteur, l'ordre de préférence des palettes, etc.
Comment Mugen l'utilise :
Mugen s'en sert pour charger le perso, et savoir quel fichier utiliser lorsqu'un élément est appelé (une anim, un son...).

LE FICHIER CMD
Description :
Il liste les commandes réalisables, et les conditions dans lesquelles ces commandes peuvent produire un effet.
Comment Mugen l'utilise :
Mugen s'en sert à tout instant dans un combat. Il vérifie si les commandes sont exécutées et envoie le perso dans le state indiqué, le cas échéant.

LE FICHIER DE "CONSTANTES"
Description :
Très souvent, il s'agit du fichier CNS. Il liste tout une série de valeurs qui seront fixes, comme la vie du perso, sa puissance d'attaque, son scale, sa vitesse de marche, de saut, etc.
Comment Mugen l'utilise :
Mugen s'en sert au chargement du perso pour fixer ces valeurs, et les applique ensuite tout au long du combat

LE FICHIER DE "STATES" (CNS)
Description :
C'est le coeur du personnage, puisqu'il contient le code de tous les mouvements. C'est ce fichier qui "explique" à Mugen l'effet que doit produire chaque coup. Il peut y avoir plusieurs fichiers CNS pour un perso.
Comment Mugen l'utilise :
Mugen part du fichier CMD : lorsqu'une commande est réalisée et que les conditions de déclenchement du coup sont réunies, Mugen place le perso dans le state indiqué, state qui se trouve dans le CNS.

LE FICHIER DE "STATES COMMUNS" (COMMON STATES)
Description :
Certaines actions basiques et communes à tous les persos (ou presque) sont déjà pré-programmées, ce qui évite aux créateurs d'avoir à les faire. Il s'agit par exemple des states de marche, de saut, de protection, etc. La plupart du temps, on utilise le fichier common1.cns qui se trouve dans le dossier data de Mugen.
Comment Mugen l'utilise :
Mugen s'en sert comme un fichier CNS normal.

LE FICHIER AIR
Description :
Ce fichier contient toutes les animations du perso, ainsi que les boîtes de collision.
Comment Mugen l'utilise :
Les animations sont appelées par différentes fonctions dans les states du fichier CNS. C'est donc ce fichier qui gère l'utilisation des animations.

LE FICHIER SFF
Description :
Ce fichier contient tous les sprites du perso, et leur placement initiaux.
Comment Mugen l'utilise :
Mugen s'en sert pour réaliser les animations du fichier AIR. Les sprites du SFF sont donc "appelés" par le AIR.

LE FICHIER SND
Description :
Ce fichier contient tous les sons du persos. Comme pour le SFF, les sons sont classés par une double référence (groupe, son).
Comment Mugen l'utilise :
Les sons sont directement appelés par le CNS. Certains peuvent être configurés dans les constantes.

LE FICHIER ACT
Description :
Les fichiers ACT sont des palettes, c'est à dire qu'ils répertorient les couleurs par index qui seront utilisées par le personnage. Cf. tutorial sur la création de palette pour plus de détails.
Comment Mugen l'utilise :
Au chargement du personnage, et durant tout le combat, la palette est appliquée à tous les sprites ayant une palette partagée (sous DOS, = tous les sprites sauf le big portrait).



Maintenant, le principe de fonctionnement d'un personnage :
- Au chargement, Mugen initialise les constantes du personnage, plus d'autres petites choses (les palettes, par exemple).
- Ensuite, une fois le perso chargé, le perso est placé dans différents states. Que sont les states ? Je vais "imager" cela : si vous prenez un coup de poing aérien et un coup de pied accroupi, ces deux actions n'ont pas grand chose à voir ; ainsi toutes les actions, mouvements, etc. du perso ont une certaine "indépendance" par rapport aux autres, et du coup, chaque mouvement, coup, action peut se résumer à un "mini programme" (même s'il est possible de créer des liens entre eux). Les states sont ces "mini programmes". Ainsi, à tout moment du jeu, même quand votre perso est inactif ou qu'il encaisse un coup, il se trouve dans un state précis qui définit à ce moment-là comment il doit agir ou réagir. Le truc qui peut sembler complexe au départ, c'est qu'un coup/mouvement peut être décrit par plusieurs states, mais aussi que plusieurs coups/mouvements différents peuvent aussi n'être défini que par un seul state (même si c'est assez rare).
- Lorsque vous réalisez une commande, Mugen vérifie dans le fichier CMD quelle commande a été réalisée, et si le coup/mouvement correspondant peut être déclenché. Si oui, il va placer le perso dans le state du CNS correspondant.
- Ce state va contrôler votre personnage pour lui faire réaliser les actions nécessaires au mouvement (jouer une animation, un son, déplacer le personnage, etc.).

Si vous avez compris ça, vous avez surmonté 80% de la difficulté ! A partir de là, c'est juste de la technique (que nous détaillerons par la suite).

Mike Werewolf.
Mike Werewolf est absent 
cerisier
origami master

Site Admin


Inscrit le: 09 Jan 2005
Messages: 269
Karma: 20
plus / moins

Localisation: Switzerland
Répondre en citant
si la suite est aussi détaillée, mike, je crois que tu va finir par me faire faire un perso. mike.
j'ai d'ailleurs une petite idée. ceux qui sont allé voir mon wip ont pu voir que la priorité 6, c'était la récupération des sprites de byakki de sengoku 3.
si certain sont intéressés, je peux faire cela plus rapidement et distribuer ces sprites. ceux qui le voudront pourront ainsi se mettre à la création avec un persos simple puisqu'il a seulement deux hypers et quelques spéciaux.
Je le fait si j'ai une dizaine de demandes.


il vaut mieux mobiliser son intelligence sur des conneries que de mobiliser sa connerie sur des choses intelligentes. devise shaddock.
cerisier est absent 
Mike Werewolf
Loup-garou

Site Admin


Inscrit le: 07 Oct 2004
Messages: 1676
Karma: 52
plus / moins

Localisation: France
Répondre en citant
J'essaierai que ça soit aussi détaillé que possible. De toute façon, je compte faire quelques "cas pratiques" sur KFM. Je vous ferai une version spéciale "test". Wink

Mike Werewolf.
Mike Werewolf est absent 
PaulAtreide

Invité



Karma:
plus / moins

Localisation:
Répondre en citant
Pour l'instant, ca va, le concept est clair et rejoint en plus détaillé de ce que j'avais lu auparavant. J'avoue que la technique m'a fait un petit peur quand j'ai essayé en septembre dernier. Mais ça va être l'occasion de s'y remettre.

Question quand même :
S'il existe plusieurs CNS, sont-is indépendants ou sont-ils (ou peuvent-ils être) reliés entre eux. De mémoire si je ne m'abuse, j'ai vu plusieurs CNS en cas d'intro de personnage ou de Ending?? Embarassed Mr. Green
Mike Werewolf
Loup-garou

Site Admin


Inscrit le: 07 Oct 2004
Messages: 1676
Karma: 52
plus / moins

Localisation: France
Répondre en citant
Citation:
S'il existe plusieurs CNS, sont-is indépendants ou sont-ils (ou peuvent-ils être) reliés entre eux.

Ils sont indépendant les uns des autres. Du moment qu'ils sont déclarés dans le DEF, Mugen examinera chacun des fichiers jusqu'à trouver le state qu'il veut. La seule limitation qui existe est pour les state -2 (qu'on verra plus tard) : tous les states -2 doivent se trouver dans le même fichiers (on ne peut pas avoir un state -2 dans un fichier CNS et un autre dans un deuxième fichier CNS).

Citation:
De mémoire si je ne m'abuse, j'ai vu plusieurs CNS en cas d'intro de personnage ou de Ending??

Tu t'abuses ! Laughing Nan, y a pas de CNS pour les intros/endings de persos. Ces intros/endings sont ce qu'on appelle des "storyboards" (scènes cinématographiques où le joueur est passif). Elles se construisent avec un SFF et un DEF.

La plupart du temps (pour ne pas dire toujours), les noms des fichiers d'intros & d'ending sont suffisamment explicites pour qu'on ne les confonde pas avec des fichiers de persos (style ryuending.def ou kyointro.sff).

Citation:
Pour l'instant, ca va, le concept est clair et rejoint en plus détaillé de ce que j'avais lu auparavant.

Tant mieux. Si jamais vous vous sentez largués, ou que vous trouvez que ça devient trop technique, n'hésitez pas à le dire. En plus, pour l'instant, c'est surtout de la théorie, donc pas forcément évident de voir concrètement où ça mène...

Mike Werewolf.
Mike Werewolf est absent 
Invité




Karma:
plus / moins

Localisation:
Répondre en citant
Eh, ce forum va etre une encyclo sur mugen! Je repotasserai tout ca dès que j'aurai fini mon dernier stage!
Alexandre

Créateur/Créatrice Mugen

Créateur/Créatrice Mugen

Inscrit le: 30 Déc 2004
Messages: 51
Karma: 7
plus / moins

Localisation:
Répondre en citant
Moi j'ai une question, si je me trompe pas les required sonts tirées a partir du common, est il possible d indiquer a mugen de piocher les données des required dans un autre common, ca ca l'est, mais est il possible de lui dire de les piocher dans un common placé dans le repertoire du personnage et non dans le data de mugen (vu que mugen recherche automatiquement dans le repertoire data le common).

En exemple pour vous faire comprendre:
Un perso a une transformation ou deux tenues diferentes (pas un simple pal swap), jusque la ca va, mais la ou ca pose probleme c'est au niveau des required, ils seronts fatalement diferents de l'une ou l'autre transformation, on ne peut en programmer qu'une serie (a moins de modifier le common cns, qui se trouve etre dans le repertoire data d'ou mon probleme), alors est il possible de mettre les commons dans le repertoire du personnage et si oui comment indiquer a Mugen d'aller les chercher la.

Et enfin l'exemple en image Laughing

Citation:

stcommon = common1.cns ;Common states (in data/)

C'est tiré du .def d'un perso.


[EDIT]
Au fait ton lien vers le debug bios de chloe marche pas :'( .
[/EDIT]
Alexandre est absent 
Mike Werewolf
Loup-garou

Site Admin


Inscrit le: 07 Oct 2004
Messages: 1676
Karma: 52
plus / moins

Localisation: France
Répondre en citant
Citation:
si je me trompe pas les required sonts tirées a partir du common

Yep. Enfin, une partie. Les "required" couvrent plusieurs choses : les sprites, les anims et les states. Les sprites, c'est selon chaque perso, mais leurs références et leur positionnement doivent être similaire d'un perso à un autre. Pour les anims, elles sont programmées dans le AIR du perso, et là, chaque créateur fait les siennes.

Enfin pour les states (je pense que c'est ce qui nous intéresse), ils sont au départ dans le common1.cns.

Citation:
est il possible d indiquer a mugen de piocher les données des required dans un autre common

Yep.

Citation:
mais est il possible de lui dire de les piocher dans un common placé dans le repertoire du personnage et non dans le data de mugen

Oui, également. Mais on ne le fait pratiquement jamais (je vais expliquer plus loin pourquoi).

Citation:
alors est il possible de mettre les commons dans le repertoire du personnage et si oui comment indiquer a Mugen d'aller les chercher la

Oui, tout à fait. En fait, ce qui se trouve dans le fichier désigné par le "stcommon", c'est un fichier "par défaut". Je vais prendre un exemple simple : pour une raison quelconque, tu as besoin de "personnaliser" un common state (ex : tu veux personnaliser le state de stance, qui est le state 0).

Pour cela, il suffit tout simplement d'incorporer le state en question (donc state 0 dans l'exemple) dans l'un des fichiers CNS (ceux définis par les st = , st1 = , etc.).

Ce qui se passe alors, c'est que quand ton perso doit se mettre en state 0, Mugen le cherche d'abord dans les st, st1, st2, etc. et seulement s'il ne le trouve pas, il ira chercher dans le stcommon.

Donc à partir de là, y a plusieurs choses :
- Soit tu as besoin de modifier seulement une partie des common states : dans ce cas, tu réécris juste ceux dont tu as besoin dans le fichier CNS du perso (et tu laisses le stcommon = common1.cns - ce que je disais avant)

- Soit tu as besoin de réécrire tous les common states : là, soit tu incorpores tous tes states dans le CNS du perso (même méthode qu'au-dessus), soit tu les regroupe tous dans un seul fichier à part (mettons common-perso.cns), tu le mets dans ton dossier de perso, et tu déclares ce fichier normalement en stcommon : stcommon = common-perso.cns (NB : tu peux aussi laisser le common1.cns et déclarer ton fichier common-perso.cns en st1 ou st2, etc.).

Regarde donc KFM-Master : il a un fichier common-master.cns : regarde dedans, ce sont des common states réécris. Wink

Citation:
Au fait ton lien vers le debug bios de chloe marche pas :'( .

Corrigé, merci ! Wink

Mike Werewolf.
Mike Werewolf est absent 
Alexandre

Créateur/Créatrice Mugen

Créateur/Créatrice Mugen

Inscrit le: 30 Déc 2004
Messages: 51
Karma: 7
plus / moins

Localisation:
Répondre en citant
Oki merci, donc du coup on a acces a la possibilité de piocher diferents required suivant avec quelle touche on a selectionné le perso.
Ca me permettrais donc de faire un Kyo avec diferentes de ses tenues sans pour autant avoir besoin d'un jeu complet, comme l'a fais Act Japan en somme.


C'est une supposition de ma part qui n'attend qu'a etre aprouvée Surprised
Alexandre est absent 
dadou

Créateur/Créatrice Mugen

Créateur/Créatrice Mugen

Inscrit le: 29 Déc 2004
Messages: 15
Karma: 3
plus / moins

Localisation:
Répondre en citant
wow ya rien a dire c tres clair et tres bien expliqué Shocked
dadou est absent Kicker ce membre de ce sujet
PaulAtreide

Invité



Karma:
plus / moins

Localisation:
Répondre en citant
Citation:
Oki merci, donc du coup on a acces a la possibilité de piocher diferents required suivant avec quelle touche on a selectionné le perso.

C'est encore un coup à abuser Laughing , mais il me semble que c'est possible mais qu'il fallait faire une double prog dans le perso, je me souviens de l'avoir posé pour l'exemple de seiya qui cassait son armure pendant le combat. Vu que là c'est un changement de tenue, je sais pas. Mais comme on fait appel à d'autres sprites du coup on est obligé de tout doubler derrière AIR et compagnie.

si je me gourre je sens que j'ai un karma qui va sauter Confused Laughing
Mike Werewolf
Loup-garou

Site Admin


Inscrit le: 07 Oct 2004
Messages: 1676
Karma: 52
plus / moins

Localisation: France
Répondre en citant
Citation:
donc du coup on a acces a la possibilité de piocher diferents required suivant avec quelle touche on a selectionné le perso.

Déjà, mieux vaudrait parler de "required" pour les sprites & anims. Pour les states, on parlera de "common" (ou common states). Ca évitera de se mélanger les pinceaux.

Pour répondre à ta question : non, tu m'as mal compris (ou je me suis mal exprimé). Quand on a ça dans le DEF (par exemple) :
Code:
...
st = perso.cns
st1 = perso2.cns
st2 = perso3.cns
st3 = common-perso.cns
stcommon = common1.cns
...


Ca ne veut pas dire qu'on utilise tel ou tel CNS selon la touche utilisée pour sélectionner le personnage. Ca veut dire qu'on utilise TOUS ces fichiers en même temps (quelle que soit la touche utilisée pour la sélection du perso).

En fait, si Mugen doit chercher un state 0 (qui est un common state), il va regarder dans tous les CNS déclarés, en regardant d'abord dans celui déclarer en st, puis dans celui déclaré en st1, puis dans celui déclaré en st2, etc. jusqu'au stcommon.

Quand Mugen trouve le state qu'il cherche, il stoppe sa recherche. Donc par exemple, s'il trouve un state 0 dans le fichier CNS déclaré en st2 (perso3.cns dans mon exemple), il n'ira pas voir s'il y en a un autre dans le stcommon.

Comme le stcommon est déclaré en dernier, c'est celui qui est vérifié en dernier, et Mugen n'ira piocher dedans que si et seulement si le state qu'il cherche n'est pas présent ailleurs. Dans le cas de nos commons, il suffit donc de "réécrire" le(s) state(s) voulu(s) dans un fichier CNS du perso pour que Mugen n'aille pas le chercher ailleurs.

Citation:
Ca me permettrais donc de faire un Kyo avec diferentes de ses tenues sans pour autant avoir besoin d'un jeu complet

Ceci est tout à fait faisable sous Mugen, mais pour cela, on utilise un trigger PalNo qui permet de savoir quelle tenue a été sélectionnée, et donc de faire varier le code selon la valeur de ce trigger.

Citation:
il me semble que c'est possible mais qu'il fallait faire une double prog dans le perso

Ca dépend des différences. Le contenu des fichier AIR et SFF doit être doublé, ça oui, on ne peut pas faire autrement. Pour la prog, ça dépend : si ça ne change rien aux coups, on peut prévoir une formule pour utiliser telle ou telle anim selon la valeur de PalNo.

Mike Werewolf.
Mike Werewolf est absent 
ades

Invité



Karma:
plus / moins

Localisation:
Répondre en citant
est ce que l'on peux faire fichier autre que le cns. par exemple, dans le dernier cas, est ce que l'on peut faire plusieurs fichier sff?
Mike Werewolf
Loup-garou

Site Admin


Inscrit le: 07 Oct 2004
Messages: 1676
Karma: 52
plus / moins

Localisation: France
Répondre en citant
Eh non. On ne peut avoir qu'un seul SFF, un seur AIR, un seul SND et un seul CMD actifs en même temps sur un même perso. Il n'y a qu'avec les CNS qu'on peut ainsi "jongler" entre les fichiers.

Mike Werewolf.
Mike Werewolf est absent 
B92B

Invité



Karma:
plus / moins

Localisation:
Répondre en citant
Peut-être un point à préciser.
A l'origine, un personnage ne doit avoir qu'un seul fichier CNS (constantes), tous les autres codes devant se trouver dans des fichiers ST (states, états). Mais il est possible d'avoir 0 fichiers ST et que des CNS.

Par ailleurs, MUGEN autorise l'utilisation de n'importe quel extension de fichier pour les states uniquement, tant qu'il s'agit d'un fichier texte (avec extension renommée dans notre cas). On peut donc se retrouver avec ceci par exemple :

Citation:
cns = cns/clark_N.cns
cmd = cns/clark.cmd
stcommon = common1.cns
sprite = sff/clark.sff
anim = cns/clark.air
st = cns/clark_N.cns
st2 = cns/clark_S.kof
st3 = cns/clark_H.gta
st4 = cns/clark_O.abf

sound = snd/clark02.snd


au lieu des traditionnels .st / .cns, on peut même trouver du code dans le fichier .def dans les cas extrêmes. Je ne conseille pas de faire cela, ceci porte plus à confusion les éventuels voleurs surpris par les noms de fichiers, même si ces derniers sont ouvrables avec le bon vieux bloc-notes. Je voulais juste le souligner pour ne pas que des questions surgissent lors de l'utilisation de certains personnages.
01. Les bases de la programmation
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum
Toutes les heures sont au format GMT + 2 Heures  
Page 1 sur 2  
Télécharger le sujet
  
  
 Poster un nouveau sujet