Tuto : INITIATION AU ROM-HACKING POUR LES NEOPHYTES
Plop à tous !
Aujourd'hui, en ce jour merveilleux, notre cher ami Sainior va vous inculquer les bases du Rom-Hacking. Dans ce tutoriel : se servir des principaux logiciels, assimiler les bases, les idées, les principes, et bien d'autres choses qui feront de vous un nouvel aspirant-hackeur !!!
Rom-Hacking ? Kézako ?
Le Rom-Hacking, c'est l'art (lol) de "hacker" une rom. "Sainior, toi pas bien parler la France !" Et bien, tu vois, petit néophyte, "hacker" pourrait se traduire par "pirater", ou éventuellement "modifier". Une rom, pour faire simple, c'est un jeu, de GBA, de DS, etc... Mais ici, on parle de rom Pokémon ! Grâce aux nombreux logiciels disponibles, il est possible de modifier la quasi-totalité du jeu : les maps (cartes), les personnages, l'histoire, les objets, les Pokémons, ... Tout ça t'as donné l'eau (ou le Pastis) à la bouche, n'est-ce pas ? Oui ? Je le savais ! Passons maintenant aux 2 principaux logiciels, ainsi que les bases...
Advance Map
Le must ! Advance Map fait son entrée !
On va commencer par le meilleur, mais aussi un des plus... complexes. Complexe à cause de ses nombreuses fonctionnalités. C'est sur ce logiciel que vous allez passer la plupart de votre temps. Il sert à modifier des maps (cartes), des scripts (on verra plus tard ce que c'est), des personnages, l'histoire par la même occasion, ... On commence ? Let's go !
- Télécharger une rom GBA (on va travailler sur support GBA), disponible sur Rom Hustler.
- Téléchargez Advance Map ici : AdvanceMap. Ouvrez-le. Vous arrivez ici :
Spoiler
Charger votre rom. Pour cela : "Fichier" -> "Charger la ROM" ; où bien cliquez sur le petit icône en-dessous
de "Fichier" (l'autre sert à sauvegarder votre travail).
Bon, maintenant, on va décortiquer l'interface, avec "Bourg-en-Vol" en exemple. Je vais vous expliquer comment modifier une map. Sur le côté se trouvent : "Header de Maps", "Fichier INI", et "Maps temporaires". Cliquez sur "Header de Maps". Une liste va se dérouler :
Spoiler
Explorez un peu, découvrez, pour cela, double-cliquez sur "0" et double-cliquez sur la map de votre choix. Vous pouvez allez voir celles des autres numéros, "1", "2", "3", ... Maintenant que vous vous êtes familiariser avec les maps du jeu, on va apprendre à les modifier. Agrandissez la fenêtre, ce sera plus facile pour travailler J'ouvre Bourg-en-Vol, de Pokémon Emeraude :
Spoiler
Vous avez surement remarquer, sur la droite, ce qu'on appelle un "tileset". Pour faire simple, encore une fois, on pourrait dire que ce sont les éléments qui composent la map. Ce sont des "blocks" qui s'assemblent et forment une maison, un lac, un rocher, etc... Cliquez donc sur un block, et appliquez le sur l'image. Pour ma part, je vais ajouter un rocher :
Spoiler
Vous aurez surement vu, qu'en faisant un clic-droit sur un blocks de la map, le blocks est automatiquement
assigné à votre pointeur =)
"Quoi, mais y a que ça, en blocks ? Pas plus de choix ?" Attend, petit n00b. Attend. Ca va venir. Avant ça, on va apprendre à modifier les "infos mouvements". C'est ce qui permet au personnage de marcher, se cogner, aller sur l'eau, ... Pour modifier les 'infos mouvements", cliquez sur l'onglet "Infos mouvements" (omg). Ca vous donne ceci :
Spoiler
Vous pourrez appercevoir sur la droite, des chiffres, et des lettres. Ce sont les informations de mouvements. Par exemple, le "1" permet d'arrêter le personnage, il va se cogner. On l'applique donc sur les rocher, les maisons, les arbres... Le "C" permet au personnage de marcher, tout simplement. Le "4" lui permet d'aller sur l'eau. Il existe beaucoup d'infos mouvements, mais ce sont les 3 principales. Je vous ferai une liste des fonctionnalités de chaque infos plus bas dans le tuto En pratique : tout à l'heure, j'ai ajouté un rocher. Pour éviter que le personnage le traverse, on va mettre des "1". Ce sont des blocks, comme tout à
l'heure :
Spoiler
Passons à présent aux "évents". Ca va se compliquer, mais pas de panique. Assurez-vous d'avoir bien compris les fonctions précédentes, et ça devrait bien se passer Cliquez sur "Events" pour accéder aux évents :
Spoiler
Les explications sont sur l'image (je vous le dis au cas où). Maintenant que je vous ai donné les noms des 4 types d'events, je vais vous expliquer à quoi ils servent :
- Le personnage (omfg). Il peut interagir avec vous, c'est-à-dire vous parler, faire une action spécial, comme vous donnez un objet, un Pokémon, ...
- La pancarte. Elle affiche un message quand vous lui "parlez".
- Le script. Il va déclencher un évenement spécial. Celui que je vous ai montré déclenche une chose : quand vous marchez dessus, une petite fille vient vous dire de ne pas allez par là.
- Le warp. Il va permettre de passer d'une map à une autre. Exemple de celui que je vous ai montré : il vous permet de passer à la map du laboratoire du Prof. Seko.
Ici, je ne vous apprendrez qu'à modifier les évenements. Pour créer des scripts, il faudra vous reportez à un autre tuto. Justement, comment modifier les évenements ?
Spoiler
Cette fonction se trouve tout en bas à droite. On peut y voir le nombre d'évents présents sur la map. Dans mon exemple, j'ai 8 personnages, 4 pancartes, 3 warps et 9 scripts. Je voudrais rajouter un personnage. Il suffit de cliquer sur la mini-flèche pointant vers la haut, ou bien d'écrire 9 à la place de 8. Le personnage n'est pas ajouter. Il faut cliquer sur "Changer Events". Cette fenêtre s'ouvre alors :
Spoiler
Téléchargez FSF ici : http://www.megaupload.com/?d=PXW73HC4. Extrayez-le et ouvrez-le. Chargez votre rom. Cliquez sur "Rechercher". Cliquez maintenant sur "Copier". Ce que vous venez de copier s'appelle un offset. C'est une série de chiffre et de lettre qui est une "place" dans la mémoire de la rom, un espace inoccupé, si vous préférez. Mais revenons à l'autre fenêtre. Faites tout comme moi :
Spoiler
Puis cliquez sur "OK". Attendez, puis une fenêtre va s'ouvrir, cliquez sur "OK", et "Repointer", en bas de la fenêtre. Il faudra faire tout ça assez souvent, vous verrez. Vous pouvez maintenant constater qu'un personnage est apparu dans le coin supérieur gauche de votre map :
Spoiler
Déplacez le où vous voulez. Voila ! Vous venez de créer un personnage. Pour modifier son script (s'il parle, s'il fait quelquechose de spécial), on verra ça un peu plus tard. Pour ajouter des warps, pancartes, etc, c'est la même chose que pour les personnages. On va maintenant apprendre à modifier le warp, pour qu'il nous emmène là où on veut qu'il nous amène. Faite un nouveau warp, où bien cliquez sur un déjà existant. C'est ce que je vais faire :
Spoiler
Sur le coté, vous appercevrez : "Bank n° :" et "Map :". Ce sont les coordonnées de la map à laquelle il nous emmène. Il suffit de changer ces coordonnées pour modifier la destination du warp. Mais comment connaître ces coordonnées ? Comme ceci :
Spoiler
Le premier chiffre correspond au numéro du Bank. Le Bank, c'est tout simplement le nom (chiffre) du doosier qui contient les maps. Clémenti-ville se trouve dans la Bank 0, tout comme Bourg-en-Vol, ou Poivressel. Le 2eme chiffre, après celui du Bank, est celui du numéro de la map. Clémenti-ville est la map n°0. Lavandia est la n°2. Revenons au warp. Dans "Bank n° :", il suffit de noter le numéro du Bank dans lequel la map se trouve. Dans "Map :", il suffit de noter son numéro. En pratique (je veux que le warp m'amène à Lavandia) :
Spoiler
Je note ses coordonnées, et je clique sur "Atteindre". A vous. Sauvegardez les changements si vous le voulez, et vous vous retrouvez à "votre" map. Bien sur, si je veux pouvoir retourner à Bourg-en-Vol, je dois tout refaire en sens inverse, c'est logique. Lorsque vous faites des changements dans le jeu, n'oubliez pas de sauvegarder votre travail Vous savez modifier les warps !!!
On vient de conclure une grosse partie de votre apprentissage. Pfiou !
On va maintenant s'intéresser aux Pokémons sauvages. Eh oui, vous pouvez même ajouter une zone de capture, ou modifier les Pokémons s'y trouvant ! Cliquez sur l'onglet "Pokémon sauvages" :
Spoiler
Cliquez sur "Créer une zone de Pokémon sauvages" (il faudra au préalable ajouter des hautes herbes et/ou un point d'eau). Cette fenêtre apparaît :
Spoiler
Cochez la case que vous voulez, suivant votre map. Moi, je vais cliquez simplement sur "Hautes Herbes". Cliquez ensuite sur "OK". La même fenêtre que tout à l'heure apparaît. Cherchez un offset avec FSF, bref, faites comme précédemment (ATTENTION : Ne mettez jamais le même offset ! Cliquez sur "Rechercher après" si vous n'aviez pas quitter FSF). Repointez (il faudra le faire deux fois), et vous arrivez à ceci :
Spoiler
Sélectionnez le ou les Pokémon que vous souhaitez voir apparaître, leur fréquence d'apparition, leur zone (hautes herbes, en surfant, en pêchant...), et leurs niveaux Min/Max. Cliquez sur Sauver, et c'est dans la boîte !!!
On a presque fini, avec Advance Map. On va à présent apprendre à modifier l'Header de la map. L'Header, c'est tout simplement l'ensemble des informations relatives à la map, comme sa musique, son nom, sa taille, ses tilesets (oh!),... Cliquez sur Header :
Spoiler
Pour modifier le nom de la map, effacez son nom, et remplacez le par celui que vous voulez. Cliquez ensuite sur "Changer le nom". Il faudra parfois repointer, parfois non. Descendez un peu. Vous arrivez aux caractéristiques de la map. Sa musique, sa météo, ses types de combats,... Modifiez-les comme bon vous semble. Plus bas se trouve le "Level script". Trop difficile pour l'instant, ne vous en occupez pas. Finalement, en bas, se trouve les tilesets
et la taille de la map. Pour modifier les tilesets, il vous faudra modifier les 2 chiffres. Regarder les tilesets des autres maps, et entrez celui que vous voulez dans votre map. Apres avoir modifier la taille, il vous faudra repointer. Et voila ! Nous en avons fini avec Advance Map ! Dans un autre tuto, je vous expliquerai comment ajouter une nouvelle map, et comment l'insérer !
Fin Advance Map
Soufflons donc un peu. On va maintenant s'attaquer à votre apprentissage "secondaire". Je vous le dis tout de suite, la plus grosse chose est faite. Maintenant, on va y aller pepère, tel Bob Marley et son énorme pet' =)
Comment éditer un texte (de personnage, de pancarte) ? Il va vous falloir XSE (eXtrem Script Editor), téléchargeable ici : http://www.megaupload.com/?d=7R0JUWKX. On va l'assigner à Advance Map. Pour cela, ouvrez Advance Map, cliquez sur "Préférences", et sur "Sélectionnez l'éditeur de script". Sélectionnez XSE, et c'est fini ! Trop simple =D ! Pour éditer, ou modifier, un texte de personnage, restez dans Advance Map. Cliquez sur un personnage, et sur "Ouvrir un Script" :
Spoiler
Cette fenêtre s'ouvre :
Spoiler
Pour modifier ce que ce personnage dit, je vais tout d'abord effacer son message :
Spoiler
Je vais maintenant écrire autre chose à la place, tout simplement !
Spoiler
Quand vous avez fini, cliquez sur le petit dessin représentant deux engrenages, il signifie compiler :
Spoiler
Cliquez sur "fermer", puis quitter. Ne sauvegardez pas le script. Sauvegardez plutôt votre travail comme d'habitude. Pour modifier les messages de pancarte, c'est exactement la même procédure =)
Nous approchons de la fin de ce tuto d'initiation. Votre apprentissage est loins d'être terminer, mais vous connaissez les bases pour réaliser une bonne hack-rom. Je voudrais cependant vous enseigner une dernière petite chose. Pour faire une bonne hack-rom, vous aurez besoin d'une équipe. Tout seul, c'est mission quasi-impossible. Ne recrutez pas de gens qui n'ont pas fait leurs preuves, demandez-leur par exemple de vous faire une map, des trucs de base pour les tester, quoi. Faire un (bon) projet demande énormément de patience, et nombreux sont ceux qui abandonnent en cours de route. Vous ne pourrez pas tout faire tout seul, recrutez donc :
- Un ou deux mappeurs. Ils se chargeront de faire les maps que vous demandez.
- Un ou deux spriteurs. Si vous vous lancez dans un gros projet, où vous insérer de nouveaux Pokémons (oui, oui c'est possible), vous aurez besoin de gens qui savent faire des sprite.
- Un ou deux scripteurs. Le post le plus recherché.
- Un scénariste, pourquoi pas. Si vous modifier une histoire, vous aurez surement besoin de quelqu'un qui a de bonnes idées, qui peut vous sortir des scénarios...
- Un débugueur (facultatif). Il traque les bugs présents dans la rom, et les corriges.
- Un artworkeur (facultatif). Ca peut être utile en cas de nouveaux Pokémon, dresseurs...
Voilà pour l'équipe =)
Je rappelle que votre apprentissage est loin d'être terminé, c'est pour cela que je vous (re)conseil fortement d'aller voir les autres tuto disponibles sur le forum/site. Vous apprendrez à changer les starters, à modifier les statistiques des Pokémon, et plein, plein d'autres choses. Une dernière chose : la meilleure façon d'apprendre sera de commencer un projet, et de faire par vous même. On n'apprend jamais mieux que par soi-même
C'est donc sur ces mots que je vous dis à bientôt dans le monde fabuleux du Rom-Hacking !
Liste des mouvements
0 = Une porte ou un escalier. Il sert à faire la transition entre plusieurs étages.
1 = block solide, sert à délimiter un solide (rocher, arbre, etc) afin de ne pas le traverser.
1C = 2ème niveau d'une montagne.
1D = 2ème niveau d'une montagne solide (agit comme 1).
4 = eau, surf seulement.
5 = block solide dans l'eau. Agit comme 1.
10 = un pont, permet de passer en dessous.
14 = 1er niveau d'une montagne.
24 = 3ème niveau d'une montagne.
25 = 3ème niveau d'une montagne solide (agit comme 1).
C = marche autorisée, rez-de-chaussé.
D = block solide, rez-de-chaussé.
1 = block solide, sert à délimiter un solide (rocher, arbre, etc) afin de ne pas le traverser.
1C = 2ème niveau d'une montagne.
1D = 2ème niveau d'une montagne solide (agit comme 1).
4 = eau, surf seulement.
5 = block solide dans l'eau. Agit comme 1.
10 = un pont, permet de passer en dessous.
14 = 1er niveau d'une montagne.
24 = 3ème niveau d'une montagne.
25 = 3ème niveau d'une montagne solide (agit comme 1).
C = marche autorisée, rez-de-chaussé.
D = block solide, rez-de-chaussé.
Tutoriel entièrement réalisé par Sainior.