- •Downloads:
- •Update Log:
- •Table of Contents:
- •Prologue: Bare Basics
- •Chapter 1: Key Terminology & Abbreviations
- •7Zip Archive – Supposedly the best file archiver there is, but not used as much, and thus less convenient. Requires 7zip or winRar to use.
- •VisualBoyAdvance – most people’s emulator of choice, almost always referred to as “vba” for short.
- •Chapter 2: Using Nightmare Modules
- •I upload anything that I think might be useful to someone on that site. Just use the menus and search until you find it.
- •Chapter 3: File Management
- •In order to be a successful hacker you need to have a lot of good management.
- •Chapter 4: Pointer Tables
- •Chapter 5: Battle Animation Editor
- •Chapter 6: Character Editor
- •Chapter 7: Class Editor
- •Chapter 8: Item Editor
- •Item icon – obvious
- •Chapter 9: Spell Association Editor
- •Chapter 13: Movement Cost Editor
- •If the value next to a type of terrain is ‘255’ then it is uncrossable because a unit won’t have 255 movement points.
- •Chapter 16: Battle Palette Reference Editor
- •If you want to know how to actually edit battle palettes’ colors, you can find that in a later chapter that I will make.
- •Chapter 17: Arena Class Editor
- •It’s a bit of work, but making cGs is quite rewarding, and it’s easier than some stuff, that’s for sure! Good luck with your cg making!
- •Chapter 20: Lyn’s Ending Editor
- •Chapter 21: Tutorial Editing/Getting Rid of the Tutorial
- •Part 2: Downloading the Programs
- •Part 3: Preparing Your midi
- •If you still have more than 10 tracks, you should find another midi. Sorry but, there are limits in life.
- •Part 4: Applying Blazer’s Beta Music Insertion/Instrument Patch
- •Part 5: Converting Your midi
- •Part 6: Making Your midi Repeat and Transferring it to Your rom
- •If the b1 and bc are next to each other then I can almost guarantee you want to replace it, so hit “replace” and do that with every instance and once you’re finished you’re good to go.
- •Part 7: Track Pointers & Repointing
- •Part 8: Finale- Assembling Your Song & Profit
- •If you don’t have this module, you’ll have to use this outdated way of doing it. Do check to see if you have the latest Nightmare Modules in general, but otherwise… well, sorry I guess. Xp
- •Part 9: Possible Errors & Wrap-up
- •Part 10: Documentation and Stuff
- •Atrius’ Notes:
- •Charon’s Notes:
- •Part 11: The Music Hacking Run-Down (Shorter Version of Tutorial & Walls of Text)
- •Part 12: Credits & Thanks
- •Chapter 25: Music Editing with Zahlman’s Song Editor
- •If you actually do type in help and press ‘enter’ on your keyboard, it’ll give you a list of commands, and tell you some stuff. Here’s the important stuff:
- •It worked! Great! I know how to import a song!
- •Chapter 26: Exporting Music with gba2midi
- •Chapter 27: Battle Background Graphics
- •If it doesn’t, I suggest double-checking all your settings (everything should be compressed) and make sure your width is set to 30 and your height is set to 32.
- •Chapter 28: Music Array Module
- •Chapter 29: Sound Room Editing
- •Chapter 30: Chapter Unit Editing with Nightmare
- •Chapter 31: Death Quotes
- •Chapter 32: Event iDs
- •Chapter 33: Battle Conversations
- •Chapter 34: Triangle Attacks
- •Chapter 35-36: The Animation Modules & Repointing Tutorial
- •It should look like this:
- •Chapter 37: Support Editing
- •Chapter 38: Miscellaneous Nightmare Modules
- •In this chapter I’m going to quickly run through what some other nightmare modules do.
- •Vendor/Armory Editors – edits the contents of vendors and armories.
- •Vulnerary Editor – edits the amount of hp restored by a vulnerary. (Default: 10)
- •Vulnerary Editor – edits the amount of hp restored by a vulnerary.
- •Chapter 40: Text Editing with fEditor Adv
- •Chapter 41: Portrait Formatting & Preparation
- •Chapter 42: Portrait Insertion with fEditor Adv
- •I wouldn’t mess with the palette editor (the colorful boxes).
- •Chapter 43: Locating Palettes
- •Chapter 44: Editing Palettes
- •I don’t exactly have a color I want to use for this title screen background, so I’m just going to show you how to get the rgb of some random color on a portrait.
- •If something didn’t work right, make sure you:
- •Chapter 45: Working with gbage
- •Chapter 46: Chapter Data Editor
- •Vision Distance is for Fog of War (fow). If it’s ‘0’, it’s assumed there is no fog of war.
- •Hold it! (Unless you aren’t hacking fe7!)
- •Chapter 47: Map Creation
- •I’m tired of writing this tutorial. Honestly. So from now on, I’m going to stop making so many wasteful comments like the one I am typing right now.
- •Chapter 48: Map Insertion
- •If you’re looking to make a totally new chapter (instead of being limited to the old game’s exact same scenes with exact same events) then read on, because I’m going to hack events next!
- •Chapter 49: Event Assembler Basics
- •I would just always add end guards since it’s not something you need to worry about too much.
- •Chapter 50: Events – The Layout
- •Including the stlb
- •Chapter 51: Events – The Event Codes
- •Items is just a list of items with a max of 4 starting items. I prefer to use the 3rd method of writing them, with the brackets and all. Each item is separated by a comma.
- •Chapter 52: Event Construction
- •VillageGate: // name of tile data group
- •Chapter 54: Chapter Creation Finishing Touches
- •Chapter 55: Importing Tilesets
- •Part 2: The First Frame
- •Part 1b: Palette Preparing
- •Part 2: Testing the Foundation to Your Animation
- •If all goes well, your guy should be standing, kinda like this.
- •Part 3: Making the Rest of Your Frames
- •Chapter 58: Custom Battle Animations – Scripts
- •I just pulled a Xeld. Had to do that at least once in this tutorial.
- •If you don’t know what a sound sounds like, just test it out with your animation and find out. Experiment with the codes if you need to.
- •Chapter 59: Custom Spell Animations
- •0X85 command count for this spell: 10
- •It’s true! It did work! It’s still very much a work in progress, as you can see, but the point is we got he test frame working. The rest just takes time, patience, and the attitude that you can do it!
- •Chapter 60: Weapon Icons
- •If you did, you are successful. Despite the odd format of the icons, you have spotted them, and that is what is most important, in my honest opinion.
- •I have this show up:
- •Chapter 61: Map Sprites
- •Chapter 62: Proper Betatesting
- •Chapter 63: vba’s Tools
- •Chapter 64: Other vba Options
- •In this chapter I’m going to detail some of vba’s semi-obscure but not totally obscure options. Knowing how to use vba will help you test your game in various ways.
- •Chapter 65: Recording Videos & Sound
- •Chapter 66: Fixing the Desync with VirtualDubMod & Video Rendering
- •Chapter 67: ips Patching & General Patching Information
- •Chapter 68: ups Patching
- •I suggest you read the ips patching tutorial (at least the beginning) if you haven’t done so as I will not be as thorough with this chapter as I was the previous.
- •In an extremely similar manner you can apply patches. Take a look.
- •Chapter 69: jfp Patching
- •Chapter 70: xDelta Patching
- •Chapter 71: Nightmare Module Format
- •It is recommended (for reasons of readability by humans) that a newline
- •Is unused ("null") for editboxes.
- •Chapter 72: Miscellaneous Information Archive
- •Chapter 73: Useful Links & Websites
- •Chapter 74: Bonus – Assembly Hacking
- •Preparations:
- •Part 1: Background Info
- •Part 2: Inserting an Assembly Hack
- •Part 2: Breaking Down Your First asm Hack
- •I digressed a lot, but back to the point:
- •Part 3: Second Example – More Codes, More Fun
- •Read other people’s doc.
- •Part 4: More Examples – “Speed-Analyzing”
- •It’s thumb. Write to offset 0. Start with label “Initial”. Push 5 registers and the last register, then start a loop counter in r2 with starting value 0x00.
- •Ifat *Conditional id* *asm routine pointer*
- •I may have mentioned this before, but finding where to hack routines is difficult. And I’m sure I mentioned that finding space for them is difficult.
- •It’s not super long, but it’s got some new things we need to learn. Let’s get started.
- •Part 5: Finding asm Routines & Basics of Using a Debugger
- •Warning: terms may not be accurate. In fact, they almost definitely aren’t accurate, as you’ve probably figured out by now.
- •I don’t know what the flags do either, but they’re there, right next to the window. That’s g.
- •I hope to hear of your achievements in the near future!
- •Final Chapter: Credits, Thanks, and the Epilogue
Chapter 62: Proper Betatesting
There’s a proper way to do most things in life, and that includes beta testing. You might think it’s not a big deal—just play the game and look for glitches—but if you want a professional hack, you need it professionally tested, or the next closest thing, which is what I’m going to detail in this chapter.
To start, a beta patch may or may not come with a README and other files. If the betatest is one that is practically meant to be released to the public (has patching instructions, readme, etc., along with the patch, of course) you’re going to want to make sure that all the files are clear and it is not confusing as to what is what and how one should go about playing the game.
Once you actually start playing the game, it’s time to analyze everything you can while playing the game. For example, if there are different modes (normal, hard) you’re going to want to play both (or at least test it out, maybe use cheats to expedite the betatesting process if you don’t have time). You want to check out the balance of the game, the graphics, and of course TRY and cause glitches, because it’s better that a betatester encounters it when they are testing than when an ordinary person is playing the game.
This chapter is/is going to be (I just know as I’m writing this that it’s going to be) text heavy. But to make it easier (wall of texts get boring quickly) I’m just going to write 50 things you should know about betatesting a game, and call it a day.
50 Things to Know About Betatesting
Make sure that the download isn’t confusing, nor is extracting files or patching the game.
Watch all the scenes in a game. Don’t even skip the opening, even if the creator of the patch hasn’t altered it—it might have been accidentally edited.
Check for spelling everywhere. If you’re not a good speller, have a spell-checker nearby for words that you think might be spelled wrong.
Check for grammar everywhere. I guess in part to be qualified as a good betatester, you kind of need good grammar. Simple stuff like “your” and “you’re” is given, but also run-on sentences and stuff. Of course, if the author intends to use bad grammar in dialog as a means of one’s personal type of speech, or if the game leans toward bad grammar for humorous purposes (or some other obscure purpose), you might want to just ignore the grammar part. But in general, good grammar = good game.
Press buttons. Just try pressing random buttons, and see if something odd happens.
Check all modes of the game in the main menu to see that they are working properly.
In games like Fire Emblem, you may need to check help menus. In Fire Emblem, this is done by pressing “R”, and may also give character or class descriptions, which hackers often forget to change.
Listen to all the songs in the sound room (if there is one).
If you hear a song play in game, make sure it also appears in the sound room (applicable only to some games).
When you hear a song in game and it’s custom, have it loop at least once if possible, not only to make sure it loops, but to make sure that the whole song plays without any problems. Songs from the original game are less likely to be glitchy (and if they are, they’ll probably be obvious).
On games with maps (like Fire Emblem, of course) check all the tiles on the map. Sometimes tiles may act funny (you may move onto non-existant tiles, or tiles may appear crossable but not be, or something else weird).
In dialog, make sure that there are pauses in between to let the player read the text. This may mean having to press a button to continue, or just having text go slowly.
Always look for weird pixels or graphics that might show up somewhere.
If you do encounter a problem, take screenshots and videos to show where it is.
If a problem occurs, it is very helpful to take a savestate (shift+F1-F10, then press the ‘F#’ button to reload a savestate slot) and then give that savestate to the author of the hack so s/he can access the glitch without having to play through the game.
Use all characters in the game at least once.
Keep animations on to ensure that you see that battle sprite are working and are colored properly, amongst other things.
Look at stats to make sure that they aren’t working weird either (crazy high stats, stats that change on their own, “--“ stats, etc…).
Also test animations off to make sure map sprites are working right.
Listen to sounds—make sure the right sound effects are being played at the right time.
Look for balance in enemy numbers and your numbers. In a game like Fire Emblem, you typically don’t want 20 allied units and only 10 enemy units.
Look for balance in unit strength. One of your units shouldn’t be so broken that they can solo an entire chapter (barring the first few chapters, where there are usually only a few units on the entire map…). Similarly, the enemies shouldn’t be so hard that they’re better than your own units, or so weak that they have a 30% chance of doing only 2 damage, or something as ridiculous as that.
Analyze the map. Boring maps with a simple path to the area one is trying to go to are boring and should be edited. The terrain should be as diverse as possible while still adhering to the plot (if the characters are in a desert region, there’s typically not going to be a lot of grass or trees or civilization, of course…).
Pay attention to consistency in the plot. This includes names, characteristics, and plot details in general.
Visit all villages and other places on a map you can possibly go to. This includes looking for secret shops.
Analyze the plot to see which characters can be recruited or perhaps check for character relations. Also check for gaiden/secret chapters and how they might be reached.
Think to yourself “if I weren’t a very smart person”, and question how confusing the plot may or may not be? Is there something that doesn’t make sense, or perhaps a character doesn’t get enough time to develop themselves?
Check for repetitiveness. If every enemy has the same inventory, or only 1 or 2 classes are used for all the enemies on a map, or the same reinforcements constantly come, players won’t feel very excited to play on the map. These things may detract from the enjoyability of the game.
Always try both paths. Try killing off units to check their death quotes, or losing to get game overs. It’s possible someone forgot to code in a game over event!
Look for suspicious areas on the map. Sometimes there may be hidden secrets on tiles you don’t expect.
Check enemy inventories to see if there are any weapons that they have, but can’t be used, as well as droppable items. It’s possible a hacker meant to make an item droppable but didn’t, so question it, even if it’s meant to be stolen by a thief.
Question things that might be right, because they might be wrong. If some unit has lethality as a skill, it might have just been a test. A weapon might accidentally have 100 critical because the player was testing a critical!
If there are custom animations, test all different aspects of the animation. This includes dodge, magic swords (if applicable), close and far range, etc.; and the same thing applies to custom spell animations.
Check to see if something is missing in a game. If one of the characters mentions that “the enemy has ballista” but you don’t see ballista on the map, the hacker likely forgot it, and it’s your job as a betatester to let them know.
Expanding on the “multiple path” idea, use savestates to test out possible split choices. A chapter may have two ways to beat it—try both. You may be given a choice to do X or X. Use a savestate, try one, go back , and try the other. Do this every chance you get to make sure things turn out right.
Custom cutscenes are often full of problems. For instance, the camera may not follow a person, or may jump around if multiple people are loaded. It might even glitch up sometimes while not glitch other times. One thing is that cutscenes sometimes glitch up if you watch the scene, get to the battle preparations, save, and then restart the chapter, so try it out to see if there’s some major problem.
If a certain weapon is broken, suggest to the author that they tone it down.
Make sure PRF weapons are actually limited to a certain character (or maybe class) and aren’t apocryphal.
Check to see that custom classes behave as they should—for example, a class on horse will need the “move again” ability, and will need the “knight” icon. A custom flying unit will need the movement ability to flow over mountains.
Always look for unedited text and other aspects of the game that should probably be edited. This is tricky because it’s not a glitch or a bug as much as it is something the author simply didn’t do. Sometimes character/class/item descriptions, death quotes, battle quotes, or even certain dialog may have been forgotten to be edited. Someone may have left a support of two characters who aren’t supposed to support anymore, or have left an enemy with a weapon that has been edited to be a customized weapon enemies aren’t supposed to have.
Try all the different menus in the game. For example, a hacker may have edited a background somewhere, and that same background may be shared in the ‘Options’ menu, but they may have forgotten to edit the palette (coloring) of the background, and so it may look weird. If you don’t check that menu, you won’t know!
The game shouldn’t be too difficult or too easy in most cases (unless that is the purpose of the hack). Take into thought that you may be a better player at a game than most other people, and so the game might be too difficult for the average person.
Actually test a little bit of hard mode to make sure that it’s working right not just in theory, but in actuality and that hard mode itself isn’t harder or easier than the hacker may have intended. In this case it’s best to just comment on the difficulty level in general rather than say whether it is too high or low.
Check for weird occurrences when you suspend and resume the game. For instance, there was this one glitch where certain stats would increase if the game was suspended and resumed (I won’t get into it, but the point is, check).
Check for portrait colors (consistency and general appearance). Portraits shouldn’t be a mixture of FE7 and FE8 colors if it can be avoided. Also, really bright colors can hurt the eyes, so make sure the hacker doesn’t give reason for anyone to be blinded.
Don’t forget to promote all the units you can too! Savestates are quite useful here. One promotion item can be used to promote units of all classes. You may need to abuse arenas to level units up to level 10, play the game multiple times, or hack the game to help with this, but it’s necessary, because it’s possible the author forgot to do every single promoted battle palette.
When you are actually betatesting, write down everything nice and neat, in bullet or numbered form, in a word or notepad file or something. Do it WHILE you are playing the game, not after—because you’ll probably miss something if you just keep it in your head.
While writing your report, be detailed and include specifications as to where things are and when they might occur. As said before, use screenshots, videos, and savestates as necessary. It might be helpful to organize your comments into different categories, like “Text”, “Forgotten Things”, and “Glitches”, because it helps them tackle down all the problems in one category at a time. It also helps because “glitches” are usually a priority of beta-fixing.
Don’t be too harsh or bias with your betatesting. You don’t want to anger the hacker and make them not want to fix something, or give your opinion on something they don’t care about, like “this portrait looks really ugly, whoever made it sucks at spriting”, or “the plot is really bland, it needs a complete overhaul…”.
Enjoy your time betatesting, because if you don’t play normally, it’ll be more of a job than it is a special privilege!
