Ok, fine. Let's write a tutorial

As instructed by DAT, we shall write a guide on how to hack fe8u.

Serious replies only. Keep your hacking tips and tricks short or I will call Zane down to bully you for redundancy :point_up:

10 Likes

Moulder and Vanessa are spawned in chapter 0x38 “Frelia Castle”, not chapter 1 or chapter 2. If you want to edit their classes and/or starting inventories, check Frelia Castle.

18 Likes

“Do not move” AI refers to the secondary AI2 option. If AI1 is “Chance of Action 100%” and there’s a valid action in range (such as Attack), the unit will still move. A better name for it would be “do not move unless a valid target is in range”.

If you want them not to move whatsoever, set their AI4 to 0x20.

7 Likes

After you get comfortable with hacking, check out the |Add Event, Split Menu| Patch and the |Special Event for each unit/item| Patches. They are easy to use and will increase the things you can do dramatically.

6 Likes

Here’s a quick dictionary for common terms and tools used by hackers nowadays. (Highly subject to change)

Common Abbreviations:

GBA = GameBoy Advance
ROM = Read Only Memory (Meaning it cannot be changed while the game is running)
RAM = Random Access Memory (Meaning it can be changed at any time)
MMB = Modular Minimug Box
MSS = Modular Stat Screen
EMS = Expanded Modular Save
SMS = Standing Map Sprite
MMS = Moving Map Sprite

Tool And Hack Dictionary:

Event Assembler (Or EA):

Event Assembler is a program that reads buildfiles in order to put what you want in your ROM.

Buildfile:

Buildfiles are a group of text files (commonly known as event files) that link together to form a complete set of instructions for Event Assembler to use.
They normally copy a clean ROM, then have Event Assembler put all the new stuff in the copy.

FEBuilderGBA (Or FEB):

FEBuilderGBA is an all in one tool for GBA Fire Emblem hacking made by 7743.

Skill Systems:

The Skill systems is a very big collection of hacks that gives GBA Fire Emblem skills along with many other things.
The buildfile version is on github, and the FEBuilder version is available to use through FEBuilder.

List:

A list is a group of data that gets cycled through.

Item1 2
Item2 3
Item3 2
Item4 4
Terminator (End of the list)

Lists must always have a terminator (This is only relevant to buildfile users. FEBuilder does this automatically).
Some lists (Like the quote lists) stop at the first item that matches what the game is looking for.
In this example, if the game was looking the first item on the list with the value 2. It would stop at Item1.

Assembly (Or ASM):

This is the code that the game runs in order to do things. It looks like this:

push {r14}

mov r0, #0x1 @makes r0 equal 1
add r0, #0x2 @adds 2 to the value in r0
sub r0, #0x1 @subtracts 1 from the value in r0

pop {r1}
bx r1

Assembly is known as a “low level” programming language, meaning there’s very few steps to make it into something the GBA’s computer can use.

Anti-Huffman:

Text in GBA Fire emblem is compressed with something called Huffman encoding. Huffman encoding makes editing text a very hard and annoying thing to do, so a patch was made to allow us to make uncompressed text that doesn’t need to follow huffman encoding’s rules. (It’s vita for hacking, so be sure to use it)

More information:

-If you have a problem with something when using FEBuilder, send a report7z. (This can’t be said enough)
-Since it’s been asked before. You can send a report7z whatever thread you’re asking the question in, or the #febuilder_help channel in the FEU discord server.
If you want to make your own hack, playing other hacks and seeing what you like is a great way to get inspiration.
-Beware the hackbox. It limits how large your portraits can be.
-When making portraits, be sure your mouth and eye frames align to an 8 pixel by 8 pixel grid.

…Oh. …Eh, it’ll be fine.

12 Likes

don’t be afraid to start over if something isnt working. take your time.

4 Likes

Some soft considerations from my own experience regarding writing and gameplay. I’ll add more if I think of any.


Don’t focus too much on world building and lore before actually making anything. People will care about your world if the story and characters are interesting. I’d prioritize characters, then story, then world.

No one reads the Silmarillion until they’ve read Lord of the Rings.


Growth rate totals are a bad metric to assess unit strength. The distribution of growths matters much more than the totals.

There is no formula for getting player and enemy stats right.

It requires patience, playtesting, and adjustments to get the result you want.

Every project you enjoy likely had loads of playtesting.


Memes and self inserts are cringe and age poorly. I’ve never seen a hack with self inserts age gracefully. (The Heroes We Deserve may be the only exception)

Don’t be afraid to be original.


Learn to take feedback well. People will say mean things about you and your work. Try to parse out useful and actionable advice from the inevitable complaints. Don’t take it personally - like coffee, everyone takes their FE differently.

Rework is part of the process and good feedback will only serve to make your end product stronger.


Ambush spawns will never work as well as regular reinforcements. There is nothing you can do to make them functionally better and fair to the player.

It’s a strategy game, a turn based one, so you need to give the player time to plan. If they get punished for not knowing about an ambush, it feels unfair.


Autolevels are your friend. Avoid generic enemy personal bases. Use the autolevels in the chapter data table to manipulate the stats more easily and evenly throughout the game.


Never force a player to send their entire army through a one tile choke point. Conga lines are for parties, not maps.

One tile chokes are fine for side paths or as an alternative to a wider path, but traffic jams can really kill good map pacing.


12 Likes

It’s beneficial to create a sort of ‘‘test hack’’ to use to mess around with FEbuilder, you’re more likely to make mistakes with the hack you want to make if it’s your first go around, some people also just learn better from doing than from seeing or reading.

4 Likes

Absolutely. Mafc or one hour blitz is a good testing ground, too.

3 Likes

When starting out, start with ‘save as’ and give the ROM a different name (wip for example).
Backups are also very handy. Never forget to save before closing FEBuilder (unless you really do not want to save).

3 Likes

In the Chapter Data Table (simply called “Chapter Editor” in FEBuilder), there is a field called “Dark Before Initial Event”. A value of 0x1 here means that after the chapter intro, the screen will be black, and a value of 0x0 means that the map will be shown immediately after the chapter intro.

I would (almost) always suggest setting this to 0x1 for every chapter you make. If the screen is black, it’s easy to shift to something else seamlessly and cleanly. Even if you want to show the map, it probably looks better to fade in from black with an event command as one of the first things you do, as you have more control over the fade-in and where the camera will be. Starting with the map showing from the outset can look clunky and limits your options for making a clean transition.

6 Likes
How to add enemy reinforcements in a map through febuilder

To add reinforcements you’ll need to use both the unit placer and the event condition submenu on builder.


First add the reinforcement units you want to add using the alloc new space button on the middle( the new wave will be named “NEW”)

Second add the amount of units you want in that particular wave using the data expansion button

Third, set up the enemy units you want on the reinforcements including A.I type, army: enemy, the equipment, class and inventory

Next copy paste the address highlighted there

forth open up the event condition menu on builder


click the data expansion button and new event, then select “enemy reinforcement”

Fifth
click the event button on the event condition menu


click the load enemy reinforcement part there and paste the address from the unit placer before. If done right you should see a small image of the reinforcement units you got on the small bar beside the “units” section. Next click change and then write to rom. you should see the enemy unit’s sprite on the new event.

Sixth, edit the event to your liking

  1. Turn start: the turn the enemy reinforcement will appear

  2. Turn End: the turn the enemy reinforcement stops appearing

exp: if turn start is 2 and turn end is 4, reinforcements will appear on turn 2,3,4
if you want the reinforcements to appear once just edit the turn start menu and keep the turn end on 0

P.s: an enemy reinforcement event with a turn start on 1 and turn end on 255 means that the reinforcement is always on. This is usually used when the reinforcements are triggered with completion flags. There’s one wave on chap 1 of fe8 that triggers when you get closer to the upper half of the map.

  1. Army Phase: decides when the enemies will appear. To make them non ambush reinforcement run on player turn, to make them ambush spawns run on enemy phase.

Seventh:


If you’ve done everything right, the reinforcement enemy will now be labelled with the turn number they will appear on in the unit placer.

Please correct if wrong…

2 Likes

For example,
CALL 0x8592140 will fade out from black to show the map only if faded in & it will clean background if one was set. For fe8u.

Basically you can use this anytime you want to make sure the map / conversation is visible. If you use fadi, it will fade to black for a frame I believe.


play this map to learn exactly what NEVER to do when designing side objectives like chests or recruitable units.

What map is it?

that is chapter 10 of fe12, notice those two chests on the outside of the building and how you need to get wendell in to recruit Arlen before he either kills or is killed by Merric. Oh and there are at least two shaver mages and a sniper to stop fliers.

A command to re-spawn generic units every chapter, and keep their status if they did not die. (Made by Vesly)