PDA

View Full Version : [Tutorial] Sgt. Custard's Beginners Hacking Tutorial


Sgt. Custard
November 22nd, 2008, 09:19 AM
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!

Νιτραμ
November 22nd, 2008, 10:02 AM
I do not think that it is actually neccessary to scare people with stuff like "ROMs are illegal, ROM hacking is illegal" - ROMs are indeed illegal, but hacking is sort of grey area. You must understand that scaring off people hurts the community. The other parts are fine I suppose. I quite like the way you write about hacking. It's simple yet comprehensive. Maybe you could go a bit into the history of hacking, but that does not matter. Oh, and one thing: I wrote some tips for beginners which will be included in RHN 14. Combined with this guide, a beginner will sure have nice start to hacking ;)

Sgt. Custard
November 22nd, 2008, 10:15 AM
Fair point. Maybe I'll tone it down a little. Thanks for the comment.

EDIT: There we go.

Νιτραμ
November 22nd, 2008, 10:19 AM
Very nice ;) Now the guide's really perfect ;)

Korronensu
November 22nd, 2008, 11:36 AM
Roms are 100% legal. The problem is that many people download them without first owning the game they are getting the rom of. The rom is a backup of your game. If you went out to buy Fire Red from the stores, and then decided you wanted to make some changes, it's no more illegal than using a game-shark, except hacking is more personally involving and rewarding.
Anyways, the point is, own your games and your roms will be fine.

Sgt. Custard
November 22nd, 2008, 11:46 AM
Technically, you are only allowed a ROM if you have it as a back-up. According to Nintendo's website, you can't download them, play them, hack them or anything. That's just the way it is unfortunately. That's not the point of this thread though, so can we get back on topic?

machomuu
November 22nd, 2008, 11:47 AM
It's not nice to say A-text is for lazy people. I'm adept in scripting, but find A-Text very useful.

Snowfield34
November 22nd, 2008, 12:20 PM
This tuturial is kind of bad...

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.

I wouldn't cryed say so...

a program that converts .gba files to .ips files for distribution.
I get what you mean, not a big thing...

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.
- The Reason for quoteing these isn't they're good hacks. Not a big thing for the tutorial, it's just you're telling about the "power" of scripting... Brown is a hack of Red, Remember?

But maybe you could give some links to the other tutorials and the tools which are hosted at this site...

Even if you're intirely new to hacking, you wouldn't get much needed information out of this tutorial as it is now...

Sgt. Custard
November 22nd, 2008, 03:33 PM
I wouldn't cryed say so...


...What does that mean?


- The Reason for quoteing these isn't they're good hacks.


They are good hacks.

Not a big thing for the tutorial, it's just you're telling about the "power" of scripting...

What's wrong with that?

Brown is a hack of Red, Remember?

Yup.

But maybe you could give some links to the other tutorials and the tools which are hosted at this site...

Well I suppose I could add links, although it's not as if it's difficult to find them once you've got the name.

Snowfield34
November 23rd, 2008, 02:29 AM
I mean you should read some more about the legalness of roms...


I like Brown and Prismn, Theyre some of the only hack's I have/will play...

But you're not telling about the power of asm, but simpel scripting...

Sgt. Custard
November 23rd, 2008, 06:47 AM
I don't need to read about the legality of ROM's: they are illegal for our purposes and that's that. I just put Brown and Prism in so people can see what is possible with a ROM and I do say that to be really good you will need ASM. But this is a beginners tutorial and its not appropriate to talk too much about ASM in here.

Bibliophibian
November 24th, 2008, 11:20 AM
I like this, mostly because when you first start looking into hacking, things can be really confusing. 95%+ of the tutorials assume you already have some knowledge of how to hack, and how to use certain programs, which can make it kind of rough out there for people who have never tried any of it before. I know I stumbled around for quite a while before I figured out which programs were necessary, and what some of the terms meant.

The only thing I have as far as a suggestion, is that maybe you should call this an "Introduction to Hacking", instead of a tutorial. It seems to fit more as a crash course in the basics, and some of the terminology rather than a step-by-step how-to, which is what I think of when I think of a tutorial.

Sgt. Custard
November 27th, 2008, 09:13 AM
Thanks for the comment; are there any other suggestions on how I could improve this?

Vrai
November 27th, 2008, 09:30 AM
No, I rather like it. It'd have been a great help to me when I started; maybe it would help others as well.

machomuu
November 27th, 2008, 09:52 AM
Thanks for the comment; are there any other suggestions on how I could improve this?
Add more tools and change the usefulnesses, Advance text can be very useful to hacks, I myself would like to see XSE, the elite map pack, and pokescript up there.

Sgt. Custard
November 29th, 2008, 02:55 PM
XSE and Pokéscript are in the scripting section already.

Well, I'm sceptical of how useful A-Text is. I rarely use it except to edit things I don't know where the pointer is for (e.g. Introduction, Start Menu, Multi-choice boxes).

I'll change it to moderate if someone else agrees with you.

hayitsCARLOS
December 5th, 2008, 12:41 PM
I thought ROMs were legal, if you own the game in real life?

Sgt. Custard
December 9th, 2008, 10:19 AM
Nope. Unfortunately not; you can only have them for back-up purposes, but you can't play them or distribute them etc.

Blackpanfa
February 20th, 2009, 02:09 PM
Thanks, this is really gonna help me get off the starting line! :)

Blazichu
February 20th, 2009, 05:58 PM
Do not revive month old threads.

*Locks*