Sgt. Custard
Novice Hacker
- 86
- Posts
- 18
- Years
- Rule Britannia!
- Seen Aug 13, 2015
When I first started hacking, I found that learning the basics of hacking was actually quite difficult. There seemed to be an awfully large number of tools and tutorials and it was difficult to know where to start. That is what this tutorial is about. It's designed for beginner hacker to help them learn the ropes. Anyway, let's start.
A Note about ROM's and Legality
You should know that ROM's are illegal and as such cannot be posted on Pokécommunity. Technically any form of hacking or distribution of a ROM is illegal. That said, it's not something that you're really going to get in trouble for unless you try to sell them on eBay or something.
How to play ROM's
OK, so you've decided you still want to hack pokémon. The first thing you will want to do is download an emulator. This allows you to play the ROM's you are going to hack as well as other people's. Visual Boy Advance (VBA) is probably the best one, and it can be downloaded after a quick Google search.
Now you need your ROM. In case you hadn't realised, ROM's are the computer files that contain the game data. They take the form of .gba files. For obvious reasons, its illegal to attach or link to ROM's, but again, it's relatively easy to get one from the internet. You'll probably want to get both Ruby and Fire Red, as they are the most common games to hack.
Lastly, if you want to play or distribute your hack, you'll need Lunar IPS (LIPS), a program that converts .gba files to .ips files for distribution. To play a hack, you simply download the appropriate .ips file and use LIPS to patch it to your ROM.
Now simply open the patched .gba with VBA and enjoy.
The Golden Triangle of Hacking
Before attempting any hacking, you will probably want to try out some other good hacks. Shiny Gold by Zel is good, but there are plenty of other decent hacks in the Hacks Showcase. Although this guide focuses on GBA hacking, it's also worth having a look at coolboyman's Red and Gold hacks, Brown and Prism. These have some of the best scripting of any hack out there, so try them out.
Now, back to hacking. Once you have tried out some hacks, you should have a flavour of what hacking involves. As I see it, there are three areas of hacking: Mapping, Scripting and Graphics. Usually, someone is naturally good at one, maybe two, areas of these, but must work on the others. For example, I am pretty good at scripting, OK at mapping and absolutely pants at anything graphics-related.
The rest of this guide will go through what each area involves and how to get started.
Mapping
While not the most important part of hacking, it very nearly is. This is the first thing someone will notice when they play a hack, and if the mapping is poor, they will be immediately turned off by it and probably won't continue playing. Almost all good hacks have completely revamped maps, so it's worth getting at least a moderate understanding of this, even if you don't intend to do the mapping yourself.
There are two main mapping programs: Elite Map and Advance Map. However, in my opinion, Advance Map is streets ahead of Elite Map, and you can download it here on Pokécommunity in the toolbox. Once downloaded, open up a ROM, and have a fiddle around, trying out what you can do with it. Neti has two good tutorials on mapping in the Documents and Tutorials section. One helps with explaining how to use Advance Map and one with mapping itself. I would recommend reading both carefully.
It's also worth having a look at the Map Rating thread in the Scrapbox to give you an idea of which maps are good and how they are made, as well as looking for inspiration for your own. You should probably get a few maps of your own rated before you even consider starting a full hack.
Scripting
Scripting - the crux of any pokémon hack. Too many people these days try to get away with hacks involving only text edits and maps. Scripting however, is what sets apart a hack from the rest. It is what allows you to actually do stuff and make events happen. There is almost no limit to what scripting can do. If you want to be really good, you will eventually need to learn ASM or Assembly hacking, but that is complex and beyond the scope of this tutorial.
Regular scripting involves using a simple programming language that is converted into hexadecimal numbers and compiled into the game. There are various programs for this, including ScriptED, Pokéscript and XSE. XSE is by far the best nowadays and it can be download from HackMew's Tool Factory in the Toolbox.
Learning to script can be hard for a beginner, but TheTheTheThe's Scripting Tutorial is a good place to start and is a detailed, but easy to follow guide for scripting. Although it's for pokéscript, it will take little adjustment to use XSE instead and a quick look at any basic XSE tutorial will quickly inform you of the differences. HackMew is currently working on his Comprehensive Scripting Guide, but that may not be out for a while, so Thex4's Tutorial is a decent replacement for the time being.
Graphics
Arguably the least important aspect of a hack, but good graphics can still leave a lasting impression on someone, so if you're good at that sort of thing, then it's definitely worth looking into. There are various kinds of graphics editing. These include Tiles, Overworlds and Spriting. Overworlds are the pictures of people seen on the normal world view. They can be edited with HackMew's Overworld editor by exporting them to Paint or similar.
Sprites and other graphics can be found in unLZ-GBA and thence exported to a paint program.
The easiest way to edit tiles (things like grass, houses, water etc.) is to go to Advance Map's Block Editor and Save a tileset as a .bmp file and edit that before loading it back in.
That just about covers the Golden Triangle of Hacking.
Other Useful Programs
There are various other programs you may find useful or essential in your hacking. Some of these follow:
PET/Trainer Edit: These programs allow you to change which pokémon trainers have, as this can't be done by scripting. Usefulness: Very High
A-Starter: Another HackMew creation that helps change the start pokémon without using hex. I just create a separate event, but if you want to keep the Ruby animation this is useful. Usefulness: Moderate
Advance-Text: Used for text edits. This is for lazy people who can't be bothered to learn to script. Could be used to edit things like the intro, however, for those who can script. Usefulness: Low
Elite Map Pack: This is a set of programs, including Elite Map itself that allows you to change various aspects of the game such as pokémon base stats. Most of the tools in there are covered by others already mentioned or those in HackMew's Toolbox, but it can be useful to have. Usefulness: Moderate.
Closing Statements
And that concludes my tutorial. This is only the first draft, so if anyone has any suggestions about how it could be improved, I would be grateful for those. Any beginners who use it, your comments are also appreciated. Happy Hacking!
A Note about ROM's and Legality
You should know that ROM's are illegal and as such cannot be posted on Pokécommunity. Technically any form of hacking or distribution of a ROM is illegal. That said, it's not something that you're really going to get in trouble for unless you try to sell them on eBay or something.
How to play ROM's
OK, so you've decided you still want to hack pokémon. The first thing you will want to do is download an emulator. This allows you to play the ROM's you are going to hack as well as other people's. Visual Boy Advance (VBA) is probably the best one, and it can be downloaded after a quick Google search.
Now you need your ROM. In case you hadn't realised, ROM's are the computer files that contain the game data. They take the form of .gba files. For obvious reasons, its illegal to attach or link to ROM's, but again, it's relatively easy to get one from the internet. You'll probably want to get both Ruby and Fire Red, as they are the most common games to hack.
Lastly, if you want to play or distribute your hack, you'll need Lunar IPS (LIPS), a program that converts .gba files to .ips files for distribution. To play a hack, you simply download the appropriate .ips file and use LIPS to patch it to your ROM.
Now simply open the patched .gba with VBA and enjoy.
The Golden Triangle of Hacking
Before attempting any hacking, you will probably want to try out some other good hacks. Shiny Gold by Zel is good, but there are plenty of other decent hacks in the Hacks Showcase. Although this guide focuses on GBA hacking, it's also worth having a look at coolboyman's Red and Gold hacks, Brown and Prism. These have some of the best scripting of any hack out there, so try them out.
Now, back to hacking. Once you have tried out some hacks, you should have a flavour of what hacking involves. As I see it, there are three areas of hacking: Mapping, Scripting and Graphics. Usually, someone is naturally good at one, maybe two, areas of these, but must work on the others. For example, I am pretty good at scripting, OK at mapping and absolutely pants at anything graphics-related.
The rest of this guide will go through what each area involves and how to get started.
Mapping
While not the most important part of hacking, it very nearly is. This is the first thing someone will notice when they play a hack, and if the mapping is poor, they will be immediately turned off by it and probably won't continue playing. Almost all good hacks have completely revamped maps, so it's worth getting at least a moderate understanding of this, even if you don't intend to do the mapping yourself.
There are two main mapping programs: Elite Map and Advance Map. However, in my opinion, Advance Map is streets ahead of Elite Map, and you can download it here on Pokécommunity in the toolbox. Once downloaded, open up a ROM, and have a fiddle around, trying out what you can do with it. Neti has two good tutorials on mapping in the Documents and Tutorials section. One helps with explaining how to use Advance Map and one with mapping itself. I would recommend reading both carefully.
It's also worth having a look at the Map Rating thread in the Scrapbox to give you an idea of which maps are good and how they are made, as well as looking for inspiration for your own. You should probably get a few maps of your own rated before you even consider starting a full hack.
Scripting
Scripting - the crux of any pokémon hack. Too many people these days try to get away with hacks involving only text edits and maps. Scripting however, is what sets apart a hack from the rest. It is what allows you to actually do stuff and make events happen. There is almost no limit to what scripting can do. If you want to be really good, you will eventually need to learn ASM or Assembly hacking, but that is complex and beyond the scope of this tutorial.
Regular scripting involves using a simple programming language that is converted into hexadecimal numbers and compiled into the game. There are various programs for this, including ScriptED, Pokéscript and XSE. XSE is by far the best nowadays and it can be download from HackMew's Tool Factory in the Toolbox.
Learning to script can be hard for a beginner, but TheTheTheThe's Scripting Tutorial is a good place to start and is a detailed, but easy to follow guide for scripting. Although it's for pokéscript, it will take little adjustment to use XSE instead and a quick look at any basic XSE tutorial will quickly inform you of the differences. HackMew is currently working on his Comprehensive Scripting Guide, but that may not be out for a while, so Thex4's Tutorial is a decent replacement for the time being.
Graphics
Arguably the least important aspect of a hack, but good graphics can still leave a lasting impression on someone, so if you're good at that sort of thing, then it's definitely worth looking into. There are various kinds of graphics editing. These include Tiles, Overworlds and Spriting. Overworlds are the pictures of people seen on the normal world view. They can be edited with HackMew's Overworld editor by exporting them to Paint or similar.
Sprites and other graphics can be found in unLZ-GBA and thence exported to a paint program.
The easiest way to edit tiles (things like grass, houses, water etc.) is to go to Advance Map's Block Editor and Save a tileset as a .bmp file and edit that before loading it back in.
That just about covers the Golden Triangle of Hacking.
Other Useful Programs
There are various other programs you may find useful or essential in your hacking. Some of these follow:
PET/Trainer Edit: These programs allow you to change which pokémon trainers have, as this can't be done by scripting. Usefulness: Very High
A-Starter: Another HackMew creation that helps change the start pokémon without using hex. I just create a separate event, but if you want to keep the Ruby animation this is useful. Usefulness: Moderate
Advance-Text: Used for text edits. This is for lazy people who can't be bothered to learn to script. Could be used to edit things like the intro, however, for those who can script. Usefulness: Low
Elite Map Pack: This is a set of programs, including Elite Map itself that allows you to change various aspects of the game such as pokémon base stats. Most of the tools in there are covered by others already mentioned or those in HackMew's Toolbox, but it can be useful to have. Usefulness: Moderate.
Closing Statements
And that concludes my tutorial. This is only the first draft, so if anyone has any suggestions about how it could be improved, I would be grateful for those. Any beginners who use it, your comments are also appreciated. Happy Hacking!
Last edited: