Race limit in HWRM?

Has the race limit been increased at all in HWRM? I know some mods could really benefit from an increase.

2 Likes

I would love to know this as well! Would be awesome if it wasn’t limited as before.

I know there was a limit in some networking code that was changed… but I don’t know what mechanism was limiting the races outside of that. If you know more about what might have caused the limit, it’d be helpful to get you a clear answer.

I posted this on Relic forums too: currently I easily enable 9 races, but I’m using only skirmish and AI behavior is mostly copy pasted. Race colours, multiplayer etc I’m not sure if they do work correctly.

limit in good old hw 2 was 7 races, got around that limit and got it up to 22 =)

Yes, but you used a ugly hack with disadvantages to do it. Native support would be much much better.

1 Like

yes there are issues with it for one thing all races sound the same, and relies on a single AI build config when it comes to subsystems. Otherwise it works fairly well for my purposes but lets see if our GBX overlords got rid of the race limit, so hands off to @BitVenom.

I’m not unwilling to look - I just need more info as to where/why there’s a limit - the things you edit to find it, etc. As I don’t do gameplay at all - this isn’t really my area. I need LOTS more info from the community to track down this info with any authority.

Don’t forget that the disadvantage that the multiplayer host has to manually select the races for each player from within the gametype instead of allowing the player to choose the race himself.

1 Like

AFAIK LeviathansWrath has the most experience with multiple races. I just heard from others that after a certain number things start breaking.

On the other hand, the hack allowed you to use captured production facilities.

1 Like

technically speaking its all one race, so they are all hiigaran which does not break the 7 race limit just bended it by make races based on research. Anyways chris was the one that modified that mod of urs the special fleet mod.

You can easily achive to use captured production by simply setting all the races the same prefix. It does not need to be a single race in the race file.

I used that on my mods too. Giving all the races a MOD_ prefix.

You keep the benefits of seperated races but you are still allowed to capture and use other races ships.

I hope that by bumping this, more of the modding veterans will take notice and correct me if I’m wrong, not to mention hopefully supplement my very incomplete knowledge on the subject…

race.lua in the scripts folder in Homeworld2.big is the only script I am aware of that is used to set up races. I see that the HWR race.lua is different than HW2C’s and sets up all the races in both games, which I take as a hopeful sign that the race selection cap has been lifted. I don’t think I can confirm it however, because the question at the heart of the matter is whether more than seven playable races can be set up. What I can infer about the way this used to work be with HW2 is that the cap on the number of selectable, playable races was most likely hard coded, since no one ever found a way to beat it, except by the above alluded to workaround wherein all the races shared the same prefix in the game, the race selection menu became useless (or perilous to attempt to use), and in order to pick your race you had to find a corresponding option in the list of startingfleet options in the game rules section. So the problem, as any devs watching this may have already guessed, is that no one likely knows where the race limit was specified in HW2C. And the only alternative to the hard-coded theory I can arrive at is that there may have been some undiscovered .lua somewhere in the ether that set a cap on how many race options the race selection menu could list. That is entirely speculative, and also completely unhelpful, I know. But it’s a catch-22; if the community knew where the limit was set into effect, we could probably have simply changed it ourselves.

However, perhaps if nothing about a cap can be easily pinpointed by the devs, it is better to wait until someone actually makes a mod that hits the cap before we worry about it further. Because like I said before, the new race.lua sets up nine races, and that (so far as I can tell) is a hopeful sign, as nine is usually more than seven.

How do you tell the races apart in the gametype script?

Also, a bit off topic, but I wish gametype script authors could add options that appear next to each player’s name in the setup screen. :frowning:

What scripts are there that need race info? HW:@ uses a single-prefix system backed up by a mangled version of your old gameplay enhanced starting fleets, and I can only think of one case that was really much work to set up, that being AI scripts. Each race is granted a research to start off their tech trees, and our AI just checks which root research it has to decide what AI it needs to be.

Our system isn’t the most cleanly coded, and I suspect I’ll need to rework it before too much longer, but it’s worked for us for quite a while.

What about the unit voices. Like Karan’s “Mothership” vs. Makaan’s deep voice “Flagship”?

Hm. That is a trickier issue. It’s been a long time since I looked at that part of the code, you may be able to use similar methods, but I don’t recall for sure.

My mods check for race quite a bit. It’s needed for when determining crate awards, for instance. Or for determining what research to grant or restrict at game start.

I appear to be using slots 10 and 11 with no issues so far.

races =
{
    --HW2 races
  	{"Invalid",  "Invalid", "", "", 0, NotPlayable, 1, "" },
	{"Hiigaran", "$1100", "hyperspace_gate", "etg/special/SPECIAL_ABILITIES_HYPERSPACE_IN", 9.5, NotPlayable, 1, "HGN_"},
	{"Vaygr",    "$1101", "hyperspace_gate_vgr", "etg/special/SPECIAL_ABILITIES_HYPERSPACE_IN", 9.5, NotPlayable, 1, "VGR_"},
	{"Keeper",  "$1102", "hyperspace_gate_kpr", "etg/special/SPECIAL_ABILITIES_HYPERSPACE_IN", 12.5, NotPlayable, 1, "KPR_"},
	{"Bentusi",  "$1103", "hyperspace_gate_bentusi", "etg/special/SPECIAL_ABILITIES_HYPERSPACE_IN", 18.5, NotPlayable, 1, "BEN_"},

    --HW1 races
	{"Kushan", "$1104", "hyperspace_gate", "etg/special/SPECIAL_ABILITIES_HYPERSPACE_IN", 9.5, NotPlayable, 0, "KUS_"},
	{"Taiidan", "$1105", "hyperspace_gate", "etg/special/SPECIAL_ABILITIES_HYPERSPACE_IN", 9.5, NotPlayable, 0, "TAI_"},
	{"Turanic Raiders", "$1106", "hyperspace_gate", "etg/special/SPECIAL_ABILITIES_HYPERSPACE_IN", 9.5, NotPlayable, 0, "TUR_"},
	{"Kadeshi", "$1107", "hyperspace_gate", "etg/special/SPECIAL_ABILITIES_HYPERSPACE_IN", 9.5, NotPlayable, 0, "KAD_"},
	{"P3", "P3", "hyperspace_gate", "etg/special/SPECIAL_ABILITIES_HYPERSPACE_IN", 9.5, NotPlayable, 0, "BEN_"},
	
	--BrickSpace
	{"CLS", "$100002", "hyperspace_gate", "etg/special/SPECIAL_ABILITIES_HYPERSPACE_IN", 9.5, Playable, 1, "CLS_"},
	{"BTI", "$100003", "hyperspace_gate_bti", "etg/special/SPECIAL_ABILITIES_HYPERSPACE_IN", 9.5, Playable, 1, "BTI_"},

	{"Random",  "$3226", "", "", 0, Playable,1,""},	
}
1 Like