Logo Platform
logo amplifiers simplified

Custom Gaming Affinity

Reply
Copied to clipboard!
7 years ago
Jul 8, 2017, 10:39:21 AM

The Area to start looking in would be the files beginning with SimulationDescriptors these files are were most (commands are the exception) of the effects of thing are set. Like faction traits effects are set in the SimulationDescriptors[FactionTrait].XML file (Edit: Knyghtefall has done a much more in-depth guide below)


With modding one of the best programs to use is Notepad++ (It's Free)

One its most useful features (for me at least) is the "find in files" feature which allows you to search all the files in a directory for a particular string.


For example, you might want to use it to search for "RawMaximumPopulation" with the filter "*.XML" (so it only search XML files) in the directory "C:\Program Files (x86)\Steam\SteamApps\common\Endless Space 2\" (or whatever your install directory is)


RawMaximumPopulation is the TargetProperty that sets the population slots on planets using the find in files feature will show you how its used for faction traits (Crowded Planets), Planets, Empire Improvements and buildings.


The Feature also allows you to find the interconnected nature of the files, Things Start with a <XDefinition> in one file which points to a <SimulationDescriptor> in a different file. <XDefinition> shares a name with a <GuiElement> which refers to a %title & %Description in the Localization files




Edit: SimulationDescriptors[Planet].xml Contains 

<!-- Defined by size, type -->
<Property Name="RawMaximumPopulation"   BaseValue="0" MinValue="0" MaxValue="14" RoundingFunction="Floor"/>
<!-- Raw + improvements & stuff -->
<Property Name="BaseMaximumPopulation"  BaseValue="0" MaxValue="14" RoundingFunction="Floor"/>
<!-- Default = Base. Can be overriden by motherships for example -->
<Property Name="MaximumPopulation"      BaseValue="0" MaxValue="14" RoundingFunction="Floor"/>

(Floor Means Round down)

Which is what sets the 14 max population slots per planet, you could try changing it but I don't know how the game will react (especially the GUI). 

So one inhabited system with no pop limit might be more doable than I originaly Thought.

Updated 7 years ago.
0Send private message
7 years ago
Jul 11, 2017, 1:26:28 PM

The game calls it suzerianship when another faction gains majority favor with a minor faction. Even when it has been brainwashed, the game still calls it suzerianship and the majority favor can oscillate between one or another faction. I'm not sure why.

Updated 7 years ago.
0Send private message
7 years ago
Jul 10, 2017, 8:35:24 AM
HereandThere wrote:
CyRob wrote:

I think the faction should not be able to diplomatically capture (annex) minor factions but use the Vodyani's diplomatic capture system where you don't control the system but get most of its benefits (also stops other factions from capturing it diplomatically)

Actually, others can steal suzerianship and assimiliate the minor faction. Happened to me on several occasions.

Not suzerainship but rather the Vodyani's brainwash function. I have not had any other factions assimilate a minor faction after I’ve brainwashed them and I have never been able to take one that has been brainwashed.

0Send private message
7 years ago
Jul 10, 2017, 1:11:34 AM
CyRob wrote:

I think the faction should not be able to diplomatically capture (annex) minor factions but use the Vodyani's diplomatic capture system where you don't control the system but get most of its benefits (also stops other factions from capturing it diplomatically)

Actually, others can steal suzerianship and assimiliate the minor faction. Happened to me on several occasions.

Updated 7 years ago.
0Send private message
7 years ago
Jul 9, 2017, 3:45:14 PM

1) Could be achieved by making the population similar to guardians where they are locked unable to be moved and give a +1 population slot for each one on a planet (killing 2 birds with one stone) but that only would work if it does not stop pop growth.


2) A Unique Planet is quite doable (all factions have them) but I don't think unique system would be (I think home system generation is handled by the assemblies).


3) This could be done with the special production system by the capital building (an issue might be that if the system is captured the special production system will still be used, if that is an issue and not what that is)


4) Can be done like the Lumeris.


I think the faction should not be able to diplomatically capture (annex) minor factions but use the Vodyani's diplomatic capture system where you don't control the system but get most of its benefits (also stops other factions from capturing it diplomatically)

0Send private message
7 years ago
Jul 9, 2017, 3:02:46 PM

I just had a few thoughts reading through this again.



1) This faction should not be able to expand it's population type to other planets/systems. 

2) This faction should likely have a unique planet/system

3) Any planets that this faction captures should use the standard system for Production

4) This faction should not have any colonizer ships


Using these design constraints, you only then have to worry about balance for the home system. In a lot of ways, this more resembles the Riftborn, but with the idea that their population is constrained to their home system, where their 'tear in space' is located.

0Send private message
7 years ago
Jul 9, 2017, 1:03:30 AM

3D model, huh? I would have thought it would just be two image layers, the top one moving over the rear one. Whatever the case, hope it all goes well. That idea of limiting the subsequent colonies to one pop is a great idea. Maybe make it use the arks and be unable to build leechers to severely restrict the rate of expansion.

0Send private message
7 years ago
Jul 9, 2017, 12:31:28 AM
HereandThere wrote: 


If I do put together an outline for the faction, I suppose I should take the time to calculate scaling and such.

It's a good idea, like make sure they are viable on huge galaxies yet not overpowered on tiny ones. (for that you could do something like have the large pop cap on the capital but only 1 pop per planet on all other systems for example).


I was wondering about the project you are working on, CyRob. It all seems pretty nifty. Do you intend to create animated portraits eventually? Seems like it might not work very well.

I don't know, to make an animated portrait (if the modding system ever supports it) I would have to create half a 3d mesh (you only need the side "facing" the screen) for each hero and then skin it which would most likely require me to recreate it all myself. So I would need a lot of time, a good reason (as this will take longer than amplitude spent on the current heroes (as there is less of them 48 V 82 )) and more artistic skill than I currently have. So I might but I will need a lot of help.


But currently what I'm doing is looking at the feasibility of implementing the ES1 Hero skill tree system, it's going well but has its difficulties.

0Send private message
7 years ago
Jul 8, 2017, 11:17:52 PM

I'll look at it all in between work. I am currently playing different matches with a solitary system and things are going pretty well. I keep nerfing the faction, finding a level that is not viable. If I do put together an outline for the faction, I suppose I should take the time to calculate scaling and such.


I was wondering about the project you are working on, CyRob. It all seems pretty nifty. Do you intend to create animated portraits eventually? Seems like it might not work very well.

Updated 7 years ago.
0Send private message
7 years ago
Jul 8, 2017, 9:30:34 PM
HereandThere wrote:

I am way in over my head. It is useless for to dive into this without the basic knowledge of programming. 

You don't need to know programming, you just have to spend some time looking at the files to understand the whole system, but it’s all in XML which is easy to understand once you get the hang of it.


And even if you don't, if you fully create a design idea of the faction (in a implementable way) Me (or Knyghtefall possibly?) could give a try at coding it (or parts of it)

Currently, I have my hands full with my ES1 Heroes mod (which is mostly design work) and a few secret projects. But if you spend some time putting together a full comprehensive design I will happily evaluate it (for its feasibility) and when my hands aren’t full I’ll even have a go at coding it.

0Send private message
7 years ago
Jul 8, 2017, 7:45:21 PM

I am way in over my head. It is useless for to dive into this without the basic knowledge of programming. At least I sparked a cool idea. Even if it is possible to scale production off of manpower, the balancing might be difficult to remain consistant or compettitve throughout the game. I used the scion of the endless mod last night to make a super powerful faction and tested if it was reasonable to play with one system. I dominated even on endless difficulty. I'm going to redistribute some traits and try to find a better balance tonight. Some of those traits are interesting in that you can scale production off of industry.

0Send private message
7 years ago
Jul 8, 2017, 10:56:14 AM

I don't know all the details off the top of my head, but the way that Production interacts with Population is at the System and Planet level. The properties and values used are generally in files that start with "SimulationDescriptors". The ones I would start with are:


\Public\Simulation\

SimulationDescriptors[ColonizedStarSystem].xml 

-- The specific property here is NetSystemProduction; there are a lot of ways this is being manipulated in this file


SimulationDescriptors[Planet].xml 

-- PlanetInitialIndustry describes how much Industry/Production a planet has a baseline


SimulationDescriptors[Population].xml 

-- This file lists the bonuses given to each race. For example, Riftborn (listed as TimeLords) have the following:


    <SimulationDescriptor Name="ClassPopulationAssimilatedEmpireAffinityTimeLords" Type="ClassPopulationAssimilated">
        <Modifier        TargetProperty="PopulationsAssimilated"            Operation="Addition"        Value="1"    Path="../ClassEmpire" TooltipHidden="true"/>
    </SimulationDescriptor>
    <SimulationDescriptor Name="ClassPopulationAssimilatedPlanetIDS" Type="ClassPopulationAssimilated">
        <Modifier       TargetProperty="BonusPopulationIndustry"  Operation="Addition"    Value="3"      />
        <Modifier       TargetProperty="BonusPopulationDust"      Operation="Addition"    Value="3"      />
        <Modifier       TargetProperty="BonusPopulationScience"   Operation="Addition"    Value="3"      />
    </SimulationDescriptor>

Meaning, for example, they get a bonus of +3 Industry, Dust and Science per population. 


Further on down in the same file, there's this:


    <!-- Time Lords -->
    <SimulationDescriptor Name="ClassPopulationStarSystemAffinityTimeLords" Type="ClassPopulationStarSystem">
        <Modifier         TargetProperty="CannotMigrate"                     Operation="Force"    Value="1" TooltipHidden="true"/>
        <Modifier         TargetProperty="ShouldPopulationGrow"           Operation="Force"    Value="-1" TooltipHidden="true"/>        
        <Modifier         TargetProperty="MaximumSystemProductionStock"   Operation="Force"    Value="$(MaximumSystemGrowthStock)"  Path="../ClassColonizedStarSystem,ColonizedStarSystemStateOutpost" SearchValueFromPath="true" Priority="1" TooltipHidden="true"/>
        <Modifier       TargetProperty="PopulationWithGrowth"       Operation="Subtraction" Value="$(PopulationCount)"                      Path="./ClassStarSystem" TooltipHidden="true"/>
    </SimulationDescriptor>

There's two interesting lines here:

        <Modifier  TargetProperty="ShouldPopulationGrow" Operation="Force"    Value="-1" TooltipHidden="true"/>        

        <Modifier  TargetProperty="PopulationWithGrowth"  Operation="Subtraction" Value="$(PopulationCount)"  Path="./ClassStarSystem" TooltipHidden="true"/>


What they mean is that the population of the Riftborn does not grow according to the 'normal' rules. These lines force the game to stop the Riftborn from growing their population by 'normal' growth and, in fact, subtract the "PopulationWithGrowth" value by the "PopulationCount" to keep that "PopulationWithGrowth" at zero.


I'm pointing this out because you'll likely need to so something similar if you want to switch from using the "normal" method of Population modifying Production to using Manpower to modify Production.


0Send private message
7 years ago
Jul 6, 2017, 2:45:18 AM

I, like a few other players, am a huge fan of the Cultist faction from Endless Legend. Upon the announcement of Endless Space 2, I was excited to learn of the fate of the Cultists. Now that it is out, I am not quite satisfied with the Vodyani as the space Cultists. What I want is a faction that sits in one system and never makes any colonies.  As I was lying in bed last night, my mind kept mulling over the idea it acquired during the course of a conversation earlier in the night.


Basically, I am wondering if it would be feasible to mod this game to the extent that I have in mind.

0Send private message
7 years ago
Jul 7, 2017, 10:12:06 PM

Reading through these files, I cannot identify the pertinent ones. They all just seem to be references. Files to direct the program to access the correct information. Any clue as to which one to check out would be helpful. All I hae is a layman's knowledge of this sort of thing; usung logic to suss out the meanings behind the jargon used in the files.

0Send private message
7 years ago
Jul 7, 2017, 6:02:04 PM

I'm not 100% sure, but it'd be fun to try (scaling industry off of manpower)! 


The majority of the files you'll want to investigate are at:


\Steam\steamapps\common\Endless Space 2\Public\Simulation\



0Send private message
7 years ago
Jul 7, 2017, 3:57:30 AM

Wow, I had no idea manpower could be a way to scale for something. Would you be able to make food, dust, science, and influence scale off of population while industry scaled off of manpower?


Would you happen to know where in the game files I can find the gaming affinities so I can look them over? I have never really modded much, so I am quite curious.

Thanks so much, Knyghtefall.

0Send private message
7 years ago
Jul 7, 2017, 2:48:44 AM

In a lot of ways, production is tied to population, but it doesn't have to be. You could tie production to something like manpower, which is essentially unlimited. Mix in the Riftborn's or Vodyani abilities to create more manpower and you don't ever have to leave your home system. Also tie in the Riftborn's inability to generate population through food and then you've got a cycle of producing manpower which increases production but cuts you off from producing anything else. 



Updated 7 years ago.
0Send private message
7 years ago
Jul 7, 2017, 1:08:28 AM

Can you even make custom gameplay Affinities?


Perhaps give suitable boosts to FIDS and maybe some custom Quest system improvements. One system would need to produce enough resources to remain compettitve. Possibly, set a base number of turns for colony ship production, or make outposts require a lot of food, so expansion is slow. Maybe use essense to make colonisers, but require an inordinate amount to make one.

Updated 7 years ago.
0Send private message
7 years ago
Jul 6, 2017, 4:39:29 PM

You just have to design the faction around the limitations, 

I'm sure you will be able think of a way to implement similar things. 

I.E. instead of having unlimited population cap have their capital building convert excesses food when pop is full into dust, influence, industry and science.

0Send private message
7 years ago
Jul 6, 2017, 3:33:02 PM

I had a feeling those things would be impossible. It really is a shame I did not know about the custom faction contest until it was too late. 

Perhaps a faction that only colonises the dyson sphere stars and disregards the planets...

I am too ambitious for my own good.

0Send private message
7 years ago
Jul 6, 2017, 10:01:30 AM

I'm not sure if it will be fully feasible currently.


Not making colonizers - Can be done using existing Lumeris code

auto-razing systems when conquering them - Can be done using existing Vodyani code but will still leave the X's Hunting grounds for a few turns + what benefit would conquering systems give, there isn't a stockpile mechanic.

Brainwashing Minor Civs - Can be done using existing Vodyani code

one inhabited system with no pop limit - Can't be done, planets have a max cap of 14 and the home system always only has 4 planets leaving a cap of 56.

(Edit: Might be possible See : My Post Below )

systems within the sphere of influence gives the home system a portion of the planets' FIDS - Can't be done + uncolonized planet FIDS are tiny this feature is not really beneficial to the faction

systems beyond the sphere could be exploited with outposts. - No Idea if this is possible I would have to see if system levels are hardcoded or not.

Updated 7 years ago.
0Send private message
7 years ago
Jul 6, 2017, 6:57:43 AM

In Endless Legend, the Cultists stay in one region and build up one city for the entire game. They cannot make colonizers, and raze other cities when they conquer them. For population units and resources, they convert minor civilization villages to their side, sort of like brainwashing in Endless Space 2. My idea is to have one inhabited system with no pop limit. All the systems within the sphere of influence gives the home system a portion of the planets' FIDS. Maybe the systems beyond the sphere could be exploited with outposts.

0Send private message
0Send private message
?

Click here to login

Reply
Comment