Four armies on one map?

I know that changing 0238B0 to 0xC0 will make the game only check if the units are on the same army for battles, but I’m wondering if there’s a way to make the fourth unit allegiance show up in game. Can you imagine a four way battle on a large scale map?

I think @Brendor made a hack for this recently and has plans to release it public eventually. @ghast is using it in bloodlines and has posted some pictures of it in his updates.

There are majors issues with something like this

1: there is no allocated RAM to hold another array of unit objects
2: there is currently no way to denote a fourth army as &0x80 means enemy and &0x40 means NPC in the unit index number. One way to fix this is to treat the index as a u16 and give some other bit the “4th Army” tag like &0x100
3: even after all this, you’d have to figure out a way to expand the AI to make them act independently
4: allow the palette to exist; there might not be enough space in VRAM even if you got everything else to work
5: you’d probably experience weird unexpected bugs

What I did recently for Ghast as make 2 separate AI bits, one of which would allow the unit to attack all other factions(ie NPC’s attack enemies and allies), and the other allows units to literally attack everything except themselves, but Ghast keeps telling me there are problems with the former AI bit so I’m still looking into it but that’s not a fourth army that’s just allowing units to attack other units outside of normal parameters

0xC0 is used for the 4th affiliation. So this is a non-issue. (Without the mod described in the OP though they’ll be considered allied with enemies like other is allied with player)

Already in by default; link arena.

There are 5 spaces in RAM, but none in suspend data.

AI uses routine described in OP to determine allegiance.

0xC0 is not 4th allegiance, 0xC0 is 0x80 | 0x40 which would have disastrous consequences if you treated it as it’s own bit. C’mon CC

The link arena isn’t the regular game, you can’t just assume it’ll work in all parts of the game if it works in one part.

Which is pointless anyway; you need to allocate a whole bunch of memory in WRAM and SRAM AND make it suspend compatible

Again, you can’t assume it’ll work seamlessly

tl;dr version: it can be done, but someone would have to do a lot of rewriting

Two things.

  1. FEXP/FEXNA can already do this.
  2. Having four armies or whatever number isn’t that great. Either the player just hides and lets all the other armies kill each other, or if any of the opposing armies are allied they might as well be the same army. The only difference is sitting for two phases instead of one. Seriously, having made a map like this, it’s not even remotely as interesting as it sounds.

I can’t remember if you’ve played FE4 or not so I’ll just say “FE4”; also, until FEXNA has an actual release date, you could probably do with not mentioning unavailable software to fix people’s problems

1 Like

Preach

Right, because I totally didn’t mention FEXP which can in fact already do this. And I also didn’t give a long reason why this idea isn’t remotely as cool as it sounds. I’m literally making a game right now with multiple army colors, and the only reason I’m doing it is to make the two enemy armies distinguishable, not to add any strategic value to the game, because in the end it doesn’t actually add any strategic value to the game.

I suppose if someone wanted, they could make like a “defeat one army or the other” goal where defeating one instead of the other adds like a choice branch? Kill red, go to chapter 2A. Kill grey, go to 2B? But making an ‘all out war’ map with multiple army colors just won’t work without reworking a lot of FE mechanics.

One other option is making a story about, say, Elves VS Dwarves while you play as humans, and both armies are neutral to you unless you attack one of them and then that army is your enemy while the other is your ally? (Or vice versa).

Also I’ve played FE4 but it was years ago, and since that game is terribly bland and extremely long and boring I derived very little enjoyment from it.

  1. nobody here will ever use fexp for anything so that point is kinda moot.
  2. FEXNA isn’t released yet so plugging this in here is pretty unnecessary.

Aaah you’re just not being creative enough. 3rd Factions are a ton of fun to design a chapter around.

1 Like

It is used for the 4th player allegiance… try some stuff out; the way it’s set up(the default function) is that two teams are allied (e.g. other and player) if they have the same status of the 0x80 bit. Otherwise, the allegiance is determined by the highest two bits.

What I mean is that this is the in-game’s “is_on_same_team()” function. Seriously, changing it should work in 90%+ of cases.

I just tested it and it breaks in like every area like a motherfucker: the palette doesn’t work, it doesn’t attack anything right, the game crashes on a whim and mad other

Tested what? Just setting some unit’s deployment number to 0xC0+? Of course that won’t work, its graphical data will still be to where it was before, and when you select it it’ll try to write its data in the 4th phase’s units but it’ll look for it where it was and @_@.

Yeah, you’ll need to do it more organically, like how the link arena loads the characters. I don’t believe simple LOU1 is equipped to load them, but I’d be interested.

that’s what I’m talking about. You have to make some special way to load them and get them to work outside of an AI manipulation