Logo Platform
logo amplifiers simplified

Is eight empires a hard coded limit?

Reply
Copied to clipboard!
12 years ago
Sep 14, 2012, 1:45:16 AM
GalaxySettings.xml in the alternative galaxy generator mod has statements such as:



"NominalPlayers="16" StrategicResourceNumberPerType="12" LuxuryResourceTypes="8"/>" line but the list box never supports more than 8 empires regardless of what size map I select. I tried modifying EmpiresNumber from 8 to 12 in Galaxy.xml and GalaxyConfiguration.xml and updating the EmpiresNumber settings in GalaxySettings.xml to support the additional empires etc. and that modified the list box as expected, but whenever I selected a number larger than 8 it caused an index out of range exception.



Is it possible to play with more than 8 empires? i.e. is there a hard coded limit that you can not workaround by editing XML files? If not, what is NominalPlayers for?
0Send private message
12 years ago
Sep 14, 2012, 9:48:13 AM
I have to answer "yes, you can change the max number of players"... but this is not a straight forward modification and the New Game GUI don't handle more than 10 or 12 player because there is no "slider" for the player list. I will ask Lt_Miles about it.



But for the record, I list there all modification you need (for now at least):

1) Create a new galaxy shape.

- For simplification, say that you don't want to create a whole galaxy, but modify an existing one. Take the spiral-8 for example.

- Go to /Public/Plugins/GalaxyGenerator/Region

- Copy the Spiral-8.tga one and rename it as Spiral-10.

- Open it with GIMP or ToShop and add two more color on the spiral (in my example, 505050 and F0F0F0)

- Save the new tga.



2) Register the Shape

- Go to /Public/Plugins/GalaxyGenerator

- Open GalaxyShapes.xml

- Add the below code:

[CODE]

GalaxySpiral10"

DensityMap="./Density/GalaxySpiral8_Density.tga"

RegionMap="./Regions/GalaxySpiral10_Regions.tga"

MinConstellations="9"

MaxConstellations="17"

MinEmpires="2"

MaxEmpires="16">

















































































[/CODE]



Which is a copy of Spiral-8 with the add of "two regions" (this is really the important part in fact...) and the modification to use the correct "Region file".



3) Give the GUI the link to the new shape

- Go to /Public/Plugins/GalaxyGenerator

- Open GalaxySettings.xml

- Scroll down until reach ""

- Add this line in the GalaxyShapes element



This will allow the user to select your new galaxy.



- Scrolll down to ""

- Add this line in the EmpiresNumbers element



This will allow the user to select 10 empires.



4) Increase the number of faction color available.

- Go to /Public/Simulation

- Open FactionColors.xml

- Add these lines to the Datatable element







5) Launch the game ! ^^



I hope we will simplify this process and handle more player than 8 in our gui... but I cannot promise you anything on when it will be available... so for now, you will need to do all this *****... sorry guys...
0Send private message
12 years ago
Sep 14, 2012, 2:55:39 PM
That is very interesting. I am actually interested in having 8 real players and N (5? 10?) number of minor races. Each minor race would have one planet, and very limited access to technologies. If we can do that, then we can make interesting scenarios with the galaxy generator, where a race controls access to one wormhole or one *strategic resource*.
0Send private message
12 years ago
Sep 15, 2012, 3:02:01 AM
and i was actually thinking that changing the GalaxyShapes.xml is enough.

Because it also has region colors in it.



Now i need an input field with an integer value thats between 2 values.

Otherwise the select boxes will be to big.



For the minor races thats a good idea.

Technology limitation can already be done which includes no colonize modul/ship.

But for the current galaxy generator it´s a bit to much i think.



And for the alternativ Galaxy Generator you only need step 3 (second part) and 4
0Send private message
11 years ago
Aug 24, 2013, 4:18:08 AM
Sorry for necroing this thread, but in choosing between that and making a new thread and linking to this one, it seems less messy.



I've applied ThorTilla's method to increase the max empires to 12 but in any game played with more than 8 empires, the tooltip under the turn monitor (icon on the upper left that tracks which empires have played their turn) and the diplomacy tooltip return a Argument out of range exception on hover.



I've looked at the xml but I can't seem to find any reference to these tooltips... am I just missing them or is this stuff far off in the lands of code, beyond the reach of these grasping arms?



0Send private message
11 years ago
Aug 24, 2013, 4:25:54 AM
Been there, done that, and failed.



Too much of the game is hard coded such as diplomacy interaction screen and even the little circle counter in upper left corner with 8 colors around it.



I have had tooltips being my bane as well for new modules
0Send private message
10 years ago
Sep 28, 2014, 10:22:22 PM
Lets dig up this interresting post. Did anything changes, can we up the number to 12 without bugs ? Or is it still not working ? :/
0Send private message
10 years ago
Sep 29, 2014, 11:00:08 AM
It seems as it can be done but it needs a lot of workaround, more than just editing Galaxy Shape. Current User Interface is just optimized for maximum of 8 players only.



And even If we can actually make the game work I'm not sure what kind of problems we can see after 50-60 turns. It might just get buggy as hell.



Edit: Well I can honestly say that it is really not that hard to create a galaxy of 10 or 12 players. In my case it was 10. It seemed as perfectly playable but there is no way of getting those GUI errors without editing DLL files. I kinda dig into one of those DLL files and saw something like this:



[CODE]public class BannerGalaxyTooltip : BannerGenericTooltip, IComparer

{

public const int MaxPlayers = 8;

public AGEcontrol PlayerTitle;

public AGEcontrol PlayersTable;

public Transform PlayerScorePrefab;

private AGEformTable playersTableForm;

private ISessionManagementService sessionManagementService;



public BannerGalaxyTooltip()

{

base.\u002Ector();

}



public override void InitTooltip(float fadeDuration)

{

base.InitTooltip(fadeDuration);

this.playersTableForm = this.PlayersTable.GetComponent();

this.playersTableForm.ChildrenComparer = (IComparer) this;

this.sessionManagementService = _Services.GetService();

for (int index = 0; index < 8; ++index)

{

Transform transform = UnityEngine.Object.Instantiate((UnityEngine.Object) this.PlayerScorePrefab) as Transform;

transform.parent = this.PlayersTable.transform;

transform.name = "PlayerScore" + (object) index;

transform.GetComponent().Init();

}

}[/CODE]



Again I'm not sure since these kind of things are outside of my scope. But it is also clearly shown to us that it is designed for maximum of 8 players only.
0Send private message
10 years ago
Nov 3, 2014, 1:24:34 PM
Yes, it will be nice to add more than 8 players....



Just writing it to encourage you guys smiley: wink
0Send private message
10 years ago
Nov 4, 2014, 2:05:45 AM
[CODE]

public class BannerGalaxyTooltip : BannerGenericTooltip, IComparer

{

public const int MaxPlayers = 8;

public AGEcontrol PlayerTitle;

public AGEcontrol PlayersTable;

public Transform PlayerScorePrefab;

private AGEformTable playersTableForm;

private ISessionManagementService sessionManagementService;



public BannerGalaxyTooltip()

{

base.\u002Ector();

}



public override void InitTooltip(float fadeDuration)

{

base.InitTooltip(fadeDuration);

this.playersTableForm = this.PlayersTable.GetComponent();

this.playersTableForm.ChildrenComparer = (IComparer) this;

this.sessionManagementService = _Services.GetService();

for (int index = 0; index < 8; ++index)

{

Transform transform = UnityEngine.Object.Instantiate((UnityEngine.Object) this.PlayerScorePrefab) as Transform;

transform.parent = this.PlayersTable.transform;

transform.name = "PlayerScore" + (object) index;

transform.GetComponent().Init();

}

}

[/CODE]



Your looking at decompiled IL so theres a good bit of guess work involved. The original source might use a variable in that for loop. The thing with constants is the compiler will replace each reference to one with the const literal value. I think this article might be related to what Im talking about.

edit: I think I was tired when I wrote this and missed the point lol.



Fact is the gui was definitely NOT designed for more than 8 players. The assemblies will need to be rewritten to fix these issues. On the other hand the rest of the game systems seem as though they can support more than 8 players just fine. Have a look at this other thread where a few fellows took a closer look at the AI. That project shows the bare minimum an AI needs to control an empire and how to rewrite the ES assemblies.



I think this mod is possible.
0Send private message
10 years ago
Nov 8, 2014, 11:22:22 AM
Maybe Amplitude will be kind enough to expand the current limit with the next patch so everyone can make custom galaxies instead of bothering with the things they know nothing about smiley: biggrin That would be gooooood. I already made some 10-12p galaxies, perfectly functional if you ignore GUI errors. smiley: biggrin
0Send private message
10 years ago
Jan 7, 2015, 3:35:19 PM
Has any progress been made on this? If Amplitude could add this to the stack, it would truly make the game Endless...
0Send private message
10 years ago
Jan 8, 2015, 2:53:55 PM
This was the reason I signed up for the forum, to see if there was a way to add more than 8 factions on a map. The game really needs to be 12 player max so you can have all factions in a single map.
0Send private message
?

Click here to login

Reply
Comment