[Tutoriel][GBA] Initiation au Rom-Hacking by Sainior [Pour Néophyte]

Pages: [1] 2 3

Sainior

  • Membre
  • 6362 posts
10 juillet 2010, 17:38
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é.


Tutoriel entièrement réalisé par Sainior.  
« Modifié: 02 janvier 2011, 12:03 par Sainior »

The Boss Girl

  • Membre
  • 923 posts
10 juillet 2010, 18:11
C'est parfait pour une débutante comme moi :baffan: !
GG

T@gekiss

  • Membre
  • 2889 posts

Jika

  • Membre
  • 5794 posts
10 juillet 2010, 18:19
Putain, trop de TUTO, overdose!!!
GG, néammoins.

Sainior

  • Membre
  • 6362 posts

Boogy

  • Membre
  • 8335 posts
10 juillet 2010, 18:39
GG, bon TUTO !

yago58

  • Invité
10 juillet 2010, 18:55
gg, plus compréhensible que certains tutos vidéos

Sainior

  • Membre
  • 6362 posts
10 juillet 2010, 18:58
T'as tout lu ?  :baffan:

Boogy

  • Membre
  • 8335 posts
10 juillet 2010, 20:07
J'ai pas tout lu, mais a vu d'œil, c'est extraordinaire.

yago58

  • Invité
10 juillet 2010, 20:08
J'ai pas tout lu, mais a vu d'œil, c'est extraordinaire.

idem  ;D

Jika

  • Membre
  • 5794 posts
10 juillet 2010, 20:12
J'étais en train de le lire là, PUTAIN MAIS C'EST ENORME !
Bien détaillé et tout, Enorme.

Sainior

  • Membre
  • 6362 posts
10 juillet 2010, 21:15
Merci, mais j'ai mis du temps, beaucoup de temps ;)

Koulis de Fraise

  • Membre
  • 1443 posts
10 juillet 2010, 21:51

Bon travail, cela mérite vraiment de la reconnaissance.

The Boss Girl

  • Membre
  • 923 posts
10 juillet 2010, 22:00
J'ai pas tout lu, mais a vu d'œil, c'est extraordinaire.

J'ai tout lu moi *sors* ! En tout cas c'est très clair, même moi j'ai compris facilement :ahah:

Sainior

  • Membre
  • 6362 posts
10 juillet 2010, 22:40
J'en suis ravi, TBG  :castor:

ミSł|ɘɴŦ - λ

  • Membre
  • 2232 posts
11 juillet 2010, 11:06
GG, mais, t'aurais pu donner un lien vers mon TUTO : Éditez un texte avec XSE :baffan:

Sainior

  • Membre
  • 6362 posts
11 juillet 2010, 12:19
Ouais mais comme c'est la base, je me suis senti obligé de le mettre ;)

T@gekiss

  • Membre
  • 2889 posts
12 juillet 2010, 00:17
Cette FAQ est tellement bien foutu que je l'épingle.
Détaillé, et tout. J'aurais pas fait mieux.

Gencives suintantes

  • Membre
  • 14107 posts
12 juillet 2010, 04:04
Ok sauf que c'est pas une FAQ

T@gekiss

  • Membre
  • 2889 posts
12 juillet 2010, 08:32
Je me suis trompé, c'est un tuto. :fail:

Mais dans tous les cas, le HS est interdit ici.
Si vous voulez en faire, faites-le...Nulle part.
« Modifié: 12 juillet 2010, 23:34 par T@gekiss »

M@T

  • Membre
  • 15146 posts
12 juillet 2010, 11:32
Très bon tuto, bien joué.  ;)
Sans les fautes, ce serait encore mieux.  ;D

T@gekiss : ce que tu dis n'a aucun sens, la partie Random ne sert pas à faire du HS sur les topics de la section Pokémon...  -_-
EDIT : Idem pour HS Pokémon, tu vas pas créer un topic là-bas exprès pour chaque sujet de cette section, et consacré uniquement au flood...  :fail:
« Modifié: 12 juillet 2010, 23:09 par M@T »

Sainior

  • Membre
  • 6362 posts
12 juillet 2010, 11:37
Merci M@T, mais j'ai pas eu le courage de tout relire pour trouver les fautes  :fail:

Luigi

  • Membre
  • 1994 posts
12 juillet 2010, 22:50
Pas mal le tuto :P

T@gekiss, depuis quand t'es membre du staff ?

ミSł|ɘɴŦ - λ

  • Membre
  • 2232 posts
12 juillet 2010, 23:16
Depuis que KdF l'a decider, et osef, c'est pas le sujet la :)

The Boss Girl

  • Membre
  • 923 posts
12 juillet 2010, 23:23
T@gekiss, depuis quand t'es membre du staff ?

Il y est depuis hier :baffan:.

EDIT T@gekiss: Je ne supprime pas car cela réponds à une question, et que sinon, il va y avoir tout un pataquès.
Ne réponds plus au HS.
« Modifié: 13 juillet 2010, 00:02 par T@gekiss »

ミSł|ɘɴŦ - λ

  • Membre
  • 2232 posts
13 juillet 2010, 17:20
Sainior,
Je viens de tout lire, et j'ai vu que t'utilisais Free Space Finder pour les offset, mais il y a une autre possibilité, qui est inclus dans Advance Map ;).

C'est simple :

Tu ouvres Advance Map, tu clique sur la loupe, une nouvelle fenêtre apparait, clique sur Ok, une liste d'offset apparait, double-clique sur un d'eux, et clique sur spécification, et copie/coller l'offset ;).

Ah, et, t'es pas un peut bizarre de donner seulement l'exe d'advance Map toi ?  :baffan:. Faut donner le dossier entier hein, et pas la peine d'upload en +, y'a les liens de Pokémon-Legendary. :)
« Modifié: 13 juillet 2010, 17:24 par Sïlver Sö »

Sainior

  • Membre
  • 6362 posts
13 juillet 2010, 19:41
Oui, pardon, j'ai pas fait gaffe, pour le lien  :baffan: Je ré-upload ça  ;)

ミSł|ɘɴŦ - λ

  • Membre
  • 2232 posts
13 juillet 2010, 19:48
Mais pas la peine de ré-upload, Pokémon-Legendary is your friend !  :baffan:

Ouais, de toute facon ta ré-upload donc...

Sainior

  • Membre
  • 6362 posts
13 juillet 2010, 19:50
Pas la peine de perdre du temps à aller sur Pokémon Legendary ; le lien est direct dans le topic  ;)

ミSł|ɘɴŦ - λ

  • Membre
  • 2232 posts
13 juillet 2010, 20:05
Et ca c'est quoi ?

http://pokemon-legendary.com/downloads/a_map.zip

Pas un lien direct maybe ? :boogyfr:

Pages: [1] 2 3    En haut ↑