I’m working on a proof of concept for a hack, and as i got further along with it, i realized that the size limitations of the ROM would hold me back. I know ROM Hacks like "Sacred Trilogy really push the amount of space on the ROM so i was curious as to how far i could go.
I don’t necessarily want to spoil what i’m doing or work on it only to give it up soon after. So if my questions seem crazy, its because this idea is crazy. It will just be a proof of concept and hopefully if it works as well as i’d like it to, i can pass it on for someone else make something out of it.
I know the amount of maps i can use are finite in the ROM and i’m investigating a way around this by splitting the ROM into two parts where when you complete one half of the ROM, you move your save file over to the other and use some event coding to warp you back to the first chapter (which won’t actually be the first chapter.)
How many characters can I actually have? Because i plan to have… over 150-200. I know there is a lot of empty character slots in the ROM labeled as “Enemy” which can be repurposed but i want to know if i can expand this further beyond the normal. I was playing around with the skills patch and was able to increase the character list beyond FF, but i’m not sure what repercussions come with this. I added character in those new slots and they seemed to appear just fine.
How many portraits and animations can I import into the game? Just like the character slots, i know that there is finite space on the ROM and that is the main limiting factor to things like this.
This isn’t specific to this hack but there are some FE hacks that won’t save when playing them on a flashcart on actual hardware, most notably, Sacred Trilogy. I would like to be able to test it on my actual gameboy but i’m worried that the file will get to big and saving will become an issue.
So, is what i’m doing too crazy and i should just give up, or exactly how big can i get the ROM to be before it all breaks down?
The answer to how many animations and portraits can be added is yes. It completely depends on how many you add to one category since the only limitation I know of is romsize and that is a global limitation(meaning more animations=less portraits). And honestly, I am not even sure if it is even possible to really run out of space when just doing normal romhacking.
And when it Comes to characters, you can have FF characters, meaning 255(there is no current way to expand the characterlist that I know of. one of these slots gets used for arena I think, one of them gets used for the broken wall and one of them gets used for a snag. Everything else is usable for characterdata to my knowledge, so one could potentially make a hack that has no generics.
In vanilla FE8, pointers to maps, map changes, events, and tileset stuff are stored in what’s referred to as the EventPointerList. It’s max index is 0xFF, yes, but it has been split with a simple ASM hack, giving you access to as many maps as you would reasonably need. From a design perspective, don’t make your project so long that you need that many maps. Making a project of significant magnitude may be more time-consuming than you expect. If I were you, I’d get started with something simple to get a feel for what you’d be getting into. If you are making a large project, I would highly recommend using a buildfile. FEBuilder is amazing for learning and small projects, but a buildfile will help you with organizing the project and help you manage your ROM space enough so that you’ll never run out of space.
This is somewhat complicated. There are a few distinctions to be made with these limitations. Yes, there are 0xFF character slots. For simplicity, let’s say all 255 are usable. As the player progresses through chapters, each unit’s data (current class, stats, weapon ranks, supports, etc) must be stored in RAM. There’s a maximum of 60 RAM character slots (character structs) for blue units. To my knowledge, increasing this would be difficult enough that this may as well be a hard limit. Keeping the character data in RAM is one thing, but saving the data is another. In vanilla, there are a max of 50 characters saved at once, though this can be increased to the full 60 with ExpandedModularSave. On top of this, if you use the Skill System, character IDs up to 0x46 inclusive can gain learned skills if I remember correctly.
Assuming your space management is okay at best, you should be more concerned with animation and portrait slots than free space. Luckily, these both are stored as shorts, so you’re not limited to 255 as if they were bytes. Really no worries for having many animations and portraits as long as your space management is good.
I don’t know very much about hardware, but I believe Stan’s ExpandedModularSave should work perfectly fine on hardware? Again I don’t know much about playing on hardware.
“Over 150 - 200” characters is a lot. Like a lot a lot. What was your plan for spriting each character? Plus it’s essentially technically impossible. I guess to sum all this up, everything seems to be way more complicated and time-consuming than you’re giving it credit for, which is understandable for a beginner. If I were you, I’d take things easy and try a small project before jumping into something massive.
This is a vast oversimplification. It’s not like there’s a simple sliding scale between having many animations and portraits. Running out of space with good space management essentially doesn’t happen, and WAY more goes into free space other than animations and portraits. To clarify, you have 16 MB at the end of the ROM to work with not even counting the huge free space blocks (unused vanilla data if you get desperate). The entirety of vanilla FE8 uses less than 16 MB.
To clarify, yes you can have 255 character IDs but only 60 existing blue units at a time (with ExpandedModularSave) due to RAM limitations.
What I meant actually was space. If we are talking maximum, then there really is no telling what is the limit of something. If the potential space is filled with idk, over 99999999 Portraits or something, that means less animations can get inserted. Sure, it is not taking everything else into account, but it still applies in a basic sence. And a character is not nessesarily a blue unit.
Just wanted to clarify, your explanation is way better than mine.
I created 63 chapters in one ROM in kaitou.
I think this is the work with the longest chapter at the moment.
You will need about 100 hours to complete this game.
黄昏の魔剣 (tasogare-no maken) of FE8J uses two ROMs.
The story is spread over multiple ROMs, taking over the saved data.
Currently, up to two copies have been created,
but the author says he will make up to four copies.
I think that the problem when making a long story is the status limit and prices, excluding technical issues such as ROM capacity.
If prices are not carefully designed, inflation or deflation will result.
The maximum amount of money a party can have in a game is 999999 gold.
And the selling price of the store cannot exceed 65535 gold.
By using multiple ROMs, it is possible to perform denomination(charge of denomination).
Status caps are similar.
The status limits are fixed, so you need to think carefully about unit’s allocation.
also, if you use multiple ROMs, you can perform denomination.
Some of the official works have been denominated.
In FE3, you can start the second copy by taking over the data that cleared one copy, but the status of the unit will not be carried over.
In FE4, Substantial denominations have been made because of the separation between parent and child generations.
This got a lot more attention than what i was expecting. I guess i should explain what i was/am trying to do. I’m trying to create an FEH type tech demo where you collect certain orbs and those orbs allow you to unlock characters. What i’ve done so far is create a hub which allows you to “cash in” your orbs and receive a “random” character that you can use in the next chapter as well as have made test maps that have “random” drops for characters you can get. You won’t know which character you got until you go back to the hub. My poof of concept was only going to be to unlock roughly 75 characters from different games but after adding in about 10, i realized that having more characters (and villians) would be impossible.
I really want to keep going but i don’t want to leave out characters that i love. But if it aint possible than so be it.
That thread was for character suggestions, there was a different one for the release, which I think makes more sense to link here:
Anyway, maps and portraits don’t really take that much space, a portrait is I think a bit over 4000 bytes, so 256 portraits would take about one MB, one of 32 you have to play with in total.
For maps it depends on the size of the map, but they really don’t take much data at all either, even if you make 256 maps it’s not going to take much space.
Oh, and many flashcarts have issues saving on the GBA FE games because of the type of memory those flashcarts use, sine FE saves constantly (for the resume function) the flashcart can’t keep up and the data gets corrupted. If you want your game to be compatible with all flashcarts you need to disable the suspend data updating automatically.
Just throwing it out there: If you want to use 200 characters and break all these limits, that’s fine for a tech demo and a nice aspiration, but realistically you’re better off using either Tactile or Lex Talionis. Custom engines have essentially no limits compared to romhacking.