Reflections on Romhacking: Lessons I Wish I'd Known Going In

I’m not a hackrom authority, but I’m roughly 1.7 hackroms in and have started on a third. Decided I’d get some reflections down. Maybe they’ll help someone. This is mostly aimed at newbies, and will generally assume FEBuilder because that’s what I know.

This is a stream of consciousness. No guarantee of coherence. It’s more about mentality than technical aspects, though still touches on them from time to time.

there were only meant to be like 5-8 points but here goes i guess

1. A stitch in time saves nine
This is probably the big thing. There will be times where there’s something you don’t want to handle, because it’s fiddly or annoying. Times where you’re looking through a badly-scripted part of a scene and you’re like, ‘yeah, I’ll fix it later’. Don’t fix it later. Fix it now. It’ll keep annoying you, and people will helpfully keep pointing it out and you’ll keep being annoyed by it, and it won’t get any less fiddly or annoying than handling it later. Just fix it on the spot and move on.

Music is especially something that you really want to rip the bandaid off and do as complete a job on as early as possible. But you probably won’t install all the music you need first thing, just because you often won’t know until you think, ‘huh, I don’t have music that fits this scene’. Document everything. The process of ensuring proper credit is painstaking, but it only gets worse if you don’t keep notes as you go.

2. Feedback is a gift
You are one guy. If you’re very lucky, you’re a team of guys, but you’re probably one guy, and you’re approaching every gameplay element from the perspective of someone who inherently likes the gameplay loop you’re promoting (I would hope, anyway!) and every narrative element from the perspective of someone who comes preloaded with information and doesn’t need exposition.

You need other peoples’ points of view. Different opinions, different preconceived notions, different skill levels. Make the Fire Emblem game you have always wanted to see, stay true to your vision of what that is, and with proficient execution, people out there will enjoy it. But you aren’t going to truly fulfil that vision without other people helping you. Your vision won’t be diluted by others’ feedback, it will help that vision come across. Particularly since the worst gameplay experience is frustration, and frustration deflates tension. ‘Oh, it’s meant to suck shit! The player faction’s under a lot of pressure!’ I can guarantee you can make a gameplay segment tense - even cruel! - in line with the story, without just being godawful to play through.

Now, that said, some feedback is more useful than others. Sometimes it really just is that someone doesn’t jive with your design sensibilities. Or that they badly misplayed, got punished fairly and are venting frustrations (though if a lot of people seem to be ‘playing your map wrong’, maybe it’s demanding something too specific of the player, or the signposting is bad). Always take things with a grain of salt when they’re delivered with shrillness, or like they’re trying to punish you for making something they didn’t like.

The most useful feedback is video. Hop on streams whenever someone is streaming your thing. See how they are playing it, what moves they are inclined to make. Do not backseat. Do not attempt to steer the experience. You want to see how someone plays it naturally without you hovering over their shoulder, because that’s how people, by and large, are going to play it. It’s also just obnoxious, but hey.

Also, egosearch. Hear how people just talk about your hack, especially when you aren’t in the room. This is especially useful for character balance, but that deserves its own thing.

3. Try to use the same flags for the same things
This is just one of those dumb little things that can trip you up a few times. Be consistent between chapters in what flags you use for what. For instance, I like to reserve all my boss battle quotes to be 10 through 19, or 1F if need be (and that’s almost always enough). Being consistent allows for fewer ‘mysterious issues’ that just happen to be a flag being used for something.

Related note, clean up vanilla events, don’t just let them linger. Keep a vanilla copy of FE8 around if you need to reference events, but sweep the board clean for every new chapter.

4. Change or recolour UI elements
I know this is really hyperspecific. But it’s also the thing that most screams ‘this was built on FE8’. Changing that stuff is often a pain, it’s packaged in weird places and stapled together in weird ways, but recolouring things will get you most of the way there. At minimum, bring in the darker UI palettes that Builder already has packaged, and replace PreparationsBackground with one of the other PreparationsBackground palettes. Those sandstone hieroglyphics and oddly pale, washed-out tones scream Fire Emblem: The Sacred Stones. You do not want to scream Fire Emblem: The Sacred Stones. And making a new status background is actually pretty easy, and significant.

If stuff is inserting wrong for seemingly no reason, use the Colour Reducer built in to FEBuilder. It’s actually a misnomer; even if you have 16 or fewer colours, you can and often should still try putting your thing into it. Often, colour order gets in the way of correct insertion, and the Colour Reducer fixes that.

5. Don’t put a village that is guaranteed to be destroyed through gameplay rather than a cutscene, and can’t be saved mathematically
Trust me.

6. Yes, there IS such a thing as playtesting too much
Playtesting is really important. You need to make sure what you give people isn’t broken. And there will be times you really do need to run a thing through and make sure everything works. I highly recommend making a map really hard at first, saying ‘yes’ to every question of ‘should I put this enemy here’, and then making it easier as you go. I could push out certain DoW maps with extreme confidence because I’d just beaten much harder and at times shittier versions of them.

But every time you play a map, you get better at it. It gets a bit more formulaic. It gets a little more ‘solved’ in your head, and you are a little bit further from the blind experience. Worst of all, playing the same map over and over and over… it’s boring! It’s boring. I don’t care how good the map is. When DoW was complete and I’d played every map a minimum of 4 times, every early game map more like 10-15 times, I needed to shelve it and just did not have the heart to pick it up again for another eight months. You will get burned out and you need to avoid that at all costs, so that you can be ready to pick up genuine errors that just seem to other people like weird but intentional design (this happens!).

Alongside my main file for DoW, I developed a pseudo-ironman file. This was, frankly, the best idea I ever had. Basically I ran through on a B-file with the idea that, if I faced a death, I either had to roll with it or I had to remove whatever element caused it from the game. Suddenly, my bullshit filter got a lot more keen, because the alternative to sucking up my pride and removing the thing was losing Clio. But sometimes I just lost something to a misplay, which also helped test, well, the ironman viability in general. I hugely, hugely recommend this. And it’s also fun and helps shake things up a lot, helps differentiate the files, gives more reason to play. And no matter what, you’ll be playing your hack a lot.

I highly recommend playtesting with FEBuilder’s debugger open so that if you see something obviously wrong like ‘oh I forgot to make the boss stay in place’ or ‘oh I accidentally made this promoted enemy level 18 just like the unpromoted enemies’ or ‘oh I realise now this unit should spawn two tiles over in this direction’ or ‘there just should be one fewer dude here’, you can resolve it in place without breaking the flow of gameplay and starting over.

7. Small changes have big implications
In FE, everything has flow-on effects to everything else. Sometimes it’s connected to a glitch. In Drums of War, I noticed promoted enemies were uncommonly weak in Endgame. It turned out to be a glitch. I fixed the glitch, and curiously weak promoted enemies in Endgame were about what I wanted them to be… and promoted enemies in the midgame, meanwhile, who had been fine, were now massive because they’d been given personal bases to compensate for what I’d thought had been ‘how promoted enemies were calculated’ and what had actually been the glitch I’d just fixed.

This doesn’t just go for glitches, obviously. FE is hugely interconnected. You might think near-universal 2-3 bows are good. I do! I have them in DoW! But I wouldn’t just put them into FE7, because then a ton of enemies get that much more oppressive to kill and Wil and Rebecca still suck because it doesn’t actually fix their issues in that game. This is why most rebalances are dead on arrival. Everything matters in context, and only in context. Think, always, about the big picture, and about the interconnectedness of things.

Related, don’t install patches unless you’re positive you want to keep them throughout, and try to install them early in the process. Also, save constantly. I couldn’t really think of anywhere else to put this.

8. Use inspirations responsibly
Be inspired. Be inspired by everything. Take inspiration from things you loved and take even more inspiration from things that you hated but saw missed potential in. “Good artists copy great artists steal” - Picasso - FEU user Parrhesia, etc.

But all things in moderation. A lot of things you like and things are cool do not belong in your FE hack. Even elements from other FE hacks don’t necessarily belong in your FE hack. At one point I added a bunch of stealables into DoW because it worked in VQ, but it worked in VQ because the game was built around it (you had Esfir, they were everywhere, Treasure Acquisition was a huge part of the gameplay loop on almost every map), but thieves in DoW still felt like a tax because the game wasn’t built around it, so I wound up rolling them back for the most part.

9. Give everyone a shitload of battle quotes
Permadeath (and missable characters generally) in FE are a funny thing, particularly as One Guy making a hack. You want everyone to feel like their playthrough is unique, that they’re having an experience not quite like any other, but you also don’t want to have to make a shitload of conditionals for things that will never be seen, and also don’t want to have so many or so significant conditional rewards that it actually discourages people from pushing through deaths.

The best way to split the difference is battle quotes. They’re easy and fun to write, and a quick little way to affirm to a player, ‘yes, you’re seeing this little thing that not everyone will, I am accounting for the possibility that your favourite blorbo is still kicking around 20 chapters later’. And they don’t imbalance things mechanically, and they’re reliable. Best of all, no need for proper conditional events, and no need to build sequences of scenes that function whether or not they play.

I underutilised these in DoW, but after some prompting, figured out a big shift in mentality. Don’t just think about ‘how will the boss react to this dude’? Think about how the dude reacts to the boss. Sure, Captain Villageburner doesn’t give a shit about Hackrom Soldier, doesn’t recognise his face, doesn’t know his name, For Him It Was Tuesday™. But Captain Villageburner ruined Hackrom Soldier’s life, so have Hackrom Soldier call him a cunt and make Captain Villageburner stroke his moustache about it. Et cetera, et cetera. Take any excuse.

10. Get used to using ‘presentable placeholders’
If graphics are your passion, ignore this. Make gorgeous art. We will love you for it.

If graphics aren’t your passion, don’t panic. The mugs you have in v. 0.1 are not necessarily gonna be the mugs you have in [Complete]. If you don’t really know anything about mugs, learn at least to make basic splices for your significant cast members, and then use the repository for the rest, especially bosses. Some repository splices will be better than what you can make. The issue is that everyone knows they will be better than what most people can make. Most of the standout excellent repository splices are already heavily used in other hacks. Feel free to use them as well! But if you put that one ponytail mug as your lord, people won’t think ‘hey it’s your lord’, they’ll think ‘hey it’s Honeydew VQ’ because they’ve seen her eighteen times before and have eighteen different character associations. Make repo characters your bosses, and if need be, your less important characters.

‘But my splices look bad’, you say. Well, probably. But here’s the thing: people are generous with their time, if and when they can see your product is going somewhere. I’ve benefited from unbelievable generosity from the community. Drums of War would not look nearly as pretty without peoples’ help, often coming unsolicited. But that help only came because people could see that DoW was going to hit the finish line regardless, including a couple dozen Very Okay mugs I had made. Don’t rely on this help and by God don’t take it for granted; treat it like it isn’t coming. But don’t feel like you absolutely must have the complete and final version of the lord on first release when all you can do is put Eliwood’s head on Raven’s body and recolour it. Nobody is equally good at everything. It’s fine.

11. You are not equally good at all aspects of the hack (and that’s okay)
You probably have a really strong idea of some parts of your hack… but not others. That’s natural. Maybe the story is front and centre and the game exists to support it; maybe you only really care about gameplay and just want a story that has like a few likable characters doing stuff that makes sense, something that doesn’t take up much space. Maybe you care a lot about graphics, maybe graphics are just a means to an end.

Here’s the thing: you’ll need to think about it, all of it. Making a hackrom solo means you have to get Okay at several things. You need to be an okay eventer, an okay mapper, make chapters thare are at least fine to play even for a cutscene-skipper. The story needs to not outstay its welcome. If you aren’t a confident writer, don’t try to compensate by padding it out. Focus on making big emotional moments and straightforward but memorable characters. Or, hell, almost completely ignore it. That’s fine, too.

Put focus on the things you want and have other aspects be subservient to it. But don’t forget about them.

12. Different stuff takes different levels of focus
The flipside of this is that there are a lot of different ways to Help Complete Hack over the course of the day. Sometimes you need to play the hack. Sometimes you need to access flow-state and do important stuff. But sometimes you’re just watching a video on the main monitor while absent-mindedly editing battlesprite palettes in the second. Figure out what you can do without really paying much attention, and poke at it when you don’t really feel like focusing on it.

13. Balance is a byproduct, not a goal
You do not want a balanced cast. A cast where all units are equally good is actively undesirable. You want your units to function, to be distinctive, and generally to have a reason to see use going beyond ‘they have a nice mug’ or ‘someone might like their personality’ (though ideally they still have these things regardless).

An early pegasus knight is a fun tool to give a player. It’s also a very powerful one. But if you compensate by making them a truly awful combatant, they’re going to be fucking miserable to use. For an early peg to be fun, she will inherently be one of the stronger units in the game. Jagens are hugely useful for earlygame design, but by being a Jagen they are automatically one of the best units in the game. If an Est isn’t one of the worst units in the game, they literally are not fun for the kinds of people who use Ests; making an Est ‘good’ involves boosting their bases and base level, so.

Pay a lot of attention to what units players use. If everyone uses a given unit, and especially if they think they didn’t want to use other units because that unit existed, then that unit might need a nerf. If you notice that fucking nobody uses a certain unit, that unit probably needs a buff. Be quicker to buff units than to nerf them. And don’t be afraid to make small changes, see how they play out, re-evaluate given more time and re-adjust.

Similarly, ‘class balance’ is completely fake and irrelevant unless and only unless you have branched promotions or some kind of reclass. It’s entirely okay, actually, if all your units would be improved by being Valkyries or Wyvern Lords; most of your units don’t get the chance to be. Being in a strong or weak class is just one lever you can use to help your units be more distinct. Treasure those levers. There aren’t actually that many of them.

14. Think about statspreads and class roles (vanilla’s suck so so bad)
I know more than IS does, and so do you. Look at the vanilla myrmidon and mercenary - enemies, not characters in those classes. One is a 5-move sword unit with mediocre strength, mediocre defence and huge skl/spd; the other is a 5-move sword unit with mediocre strength, bad defence and Huge Plus One skl/spd. It’s a complete waste.

A player sees a mapsprite and you want them to get an idea of what they’ll be facing; it’s a shorthand for their statspread and loadout, and thus for how they should be handled. Always keep in mind WYSIWYG: What You See Is What You Get. Think about the reasons FE10 Hard Mode’s QoL removal doesn’t actually make the game harder, it just forces more busy work.

FE is a macro kind of game. You want the player to be able to survey the battlefield and quickly find the information they need to know how to react. So don’t just make multiple classes with the same stat profiles (or at least, if you do, make it a flavour thing and know it’s just a flavour thing; if you have Nomad Troopers in Nation A and Rangers in Nation B, that’s obviously fine). Give them purpose.

15. It’s about counterplay
When you put a challenge in front of the player, always, always, always think about how the player could possibly react. When you have a question, make sure the player can reasonably produce an answer. ‘Can this work’? ‘Will this be fun’? Well, how are you meant to deal with it, and can you guarantee (or at least safely assume) the player will have those solutions? And if the solution is ‘just don’t roll badly’, ask better questions.

16. Availability is the best ability
At the end of the day, the goal is to get to [Complete]. That finish line is critical. Reach it in your own time, but always keep it in mind, don’t get bogged down; the perfect is the enemy of the good, and you aren’t actually going to get anywhere near perfect, realistically, without reaching v. 1.0 and letting people react to it.

Because this cuts both ways. The work doesn’t, or shouldn’t, stop at [Complete]. [Complete] is going to make a lot of people play that wouldn’t touch it before, rightly or wrongly, and that brings a new wave of feedback, a new wave of experience. A new designer’s first campaign, by [Complete], is still going to be rough as shit. But that’s okay, because if it’s half-decent, people will want to discuss it and you’ll have the chance to reshape it, in small ways that add up.

64 Likes