Gameplay modding questions, ideas

Hi. I was reading through the entity text files and had ideas for a gameplay mod that would make ships less self-sustainable. The idea is that even though fleets can operate remotely, behind enemy lines, after enough combat they need to come back to base to be fully repaired and resupplied. Attacks would have to be better planned and coordinated as if a fleet gets hit hard then it will have a tough time building back up strength without going back home to recharge.

I'm primarily interested in modding for single-player, but perhaps some of these ideas would work in multiplayer as well.

I'm looking for input on answering the following questions for the ideas below:
* Is the mod feature possible with the current game
* Would developers have to add features to make the mod idea work?
* Would any of these ideas break the AI?

1) Fighter manufacturing changes
* Ships would no longer build their own fighters (but would carry more squadrons)
or, ships can still make fighter ships, but extremely slow to build and cost antimatter
* The Hanger Defense structure would be responsible for preparing new fighters for ships with hanger bays
* Would this change break the AI, as in, the AI would have no idea it ran out of fighters and would have to go back to pick up more?

2) Hull regeneration changes
* Ships would regenerate hull up to a certain percentage, such as 60% of maximum hull.
To repair any more requires going back to a Repair Platform or being repaired by another support ship (such as the Robotics Cruiser)
* Would add Robotics-cruiser like support ship for all races
I get the feeling this change would require the developers to add a new ship attribute, such as MaxRestoreHullPoints, which would work with the HullPointRestoreRate.

3) Ship production changes
* When ships are created they are fully stocked with shields and antimatter and fighters.
* For ships with hanger bays the ship construction time would be extended to allow building of the full fighter capability.
The problem with creating default maximum fighters is how to set the default selection, fighters and/or bombers. Could a GUI be introduced to allow players to decide what fighter types are selected by default when a new cruiser or capital ship is constructed?

4) Civilian Platform changes
* Give civilian platforms light defensive capabilities. Or, perhaps make this feature an upgrade for civilian platforms.

5) General combat changes
* Capital ships would have some point-defense capabilities against fighters and smaller ships (haven't thought this one out, yet). Perhaps this feature would be an upgrade.

Any input appreciated, thanks.
7,469 views 12 replies
Reply #1 Top


1) For my mod I have "faked" the requirement to replenish squadrons from a supply depot. The way I did it was, as you suggested making squadrons cost antimatter, and then additonally removing the antimatter regen on carriers, as ships spawn with full anti matter this means that on first build you get squadrons "free" but should your squads get destroyed you have to retreat to a friendly planet to recharge the antimatter to rebuild them.
As far as i am aware this is currently no way of moving squadrons from one unit to another, but you could *possibly* do as i just described, but give hangar platforms a targeted antimatter recharge ability that has a constraint that means it only applies to carriers. ugly perhaps but tactically similar

2) Would most likely require the devs to add something either percentage value for hulldamage, as currently all the repair abilities work on an actual value. or as you suggest and just a cap for automatic hull repair

3)not feasible with the current info available to us.

4) would require adding a weapon helper to the mesh of each building, but thats fairly easy

5) if replacing\modding an old weapon, easy, if adding a new weapon, hard as you can only have 3 distinct weapons per ship. as an upgrade as far as i am aware there is no way of changing the abilities\type of a weapon via research etc this would include simpying enabling the weapon.
Reply #2 Top
Thanks, Terraziel. Your mod is the one you posted about the Legends of Galactic Heroes theme? Sounds like a good idea, I hope it progresses along well.

On the antimatter-dependent technique for replenishing fighter squadrons, do you know if that adjustment breaks the single-player AI? Does the AI know that it's carrier-type ships need to go have their antimatter restored in order to build more fighters?

I assume the capital ships not designated as carriers but have fighter bays would still operate as they do now, since they need antimatter for other abilities.

I had another idea of using antimatter to power jumps and make it replenish very slowly, so ships can't jump at a high frequency, but if I restrict carriers to having no antimatter recharge then they would have to rely on another support ship to provide antimatter again.
Reply #3 Top
The ships are uses antimatter for jumps in the original game, too. If you delete the ship antimatter regeneration, That carriers, won't be able to use their abilities. The standard Sova in level 3, got 330 units of AM. For every jump, the ship uses 100 units. So this means, the ship has a range of only 3 jumps without using abilities.
Maybe the removal of the abilities AM requitement would be a good idea. After all abilities got only a timer such as, the TEC scout PROBE ability.
By the way... making this Range/Fighter limitations for the game sounds very interesting.
Reply #4 Top
Changing the antimatter cost for jumps is easy, its simply a number in the race entity file, more important is that ships will always jump even if they dont have the required amount of antimatter.

And to cover some of the other questions,

No the AI doesnt effectively utilise carriers currently (ie retreat to replenish) except when it is actually retreating as a whole, but as soon as we can mod the AI it should fairly easy to help it figure it out.

Additionaly i should point out that for the Galactic Heroes mod i have removed the current CapShip abilities (I intend on replacing them with something more suitable) so removing antimatter regen doesnt affect me as much. But you could do like Skyline_HUN suggested and "simply" rebalance the CapShip abilites around time rather than antimatter cost.

For covering carriers having no antimatter regen and still being able to jump (should you figure out a way of actually enforcing the antimatter jump limit), you could give carriers a buff that makes there jump antimatter cost miniscule, say 1 antimatter, and then give them sufficient antimatter regen to recoup 1 antimatter in the same length of time as other ships get to their jump cost, as you can go to 6 decimal places it should be feasible
Reply #5 Top
After digging through the entity files, I had an idea for an alternate approach to enforcing fighter replenishment from player-controlled structures, leveraging the repair platform and the Tech's instant-build fighter ability. Essentially, if the idea will work, the repair platform will not only repair a ship but also replenish fighters in the target ship if it detects the ship can hold fighter craft. Note my comments for each change (not to be added to the file) use a C++/C# convention for comments ("//"): 1) Add ability to the repair platform for instantly building fighters, by making a new ability-entity file as a copy of the existing AbilityInstantBuildFighters.entity Current Tech orbit repair abilities from the .entity file: file PLANETMODULE_TECHORBITALREPAIRPLATFORM.entity TXT entityType "PlanetModuleStandard" minZoomDistanceMult 2.000000 ability:0 "AbilityRepairPlatformTech" ability:1 "" ability:2 "" ability:3 "" ... //add the instantfighter build ability, //create new file AbilityInstantBuildFightersTarget.entity //result: TXT entityType "PlanetModuleStandard" minZoomDistanceMult 2.000000 ability:0 "AbilityRepairPlatformTech" ability:1 "AbilityInstantBuildFightersTarget" ability:2 "" ability:3 "" ... 2) Create and update new file AbilityInstantBuildFightersTarget.entity Made from a copy of AbilityInstantBuildFighters.entity with following change: TXT entityType "Ability" buffInstantActionType "ApplyBuffToTarget" //changed from "ApplyBuffToSelf" instantActionTriggerType "AlwaysPerform" buffType "BuffInstantBuildFightersSpawner" ... 3) Add targetFilter constraint to new AbilityInstantBuildFightersTarget.entity I found the "CanHaveFighters" constraint in the BuffBattleMeditationSelf.entity file targetFilter numOwnerships 1 ownership "Friendly" numObjects 2 object "CapitalShip" object "Cruiser" //for the Cruisers that carry fighters numConstraints 2 constraint "NotSelf" constraint "CanHaveFighters" 4) See if the BuffInstantBuilldFightersSpawner.entity and BuffInstantBuildFightersTarget.entity will work properly to replenish the fighters in the target ship if the friendly ship travels in range of the repair platform. Perhaps the antimatter cost of the buff for the repair platform should be reduced if it will repair and provide fighters at the same time, unless this buff will instead use antimatter from the target carrier ship. If this adjustment to trigger the automatic instant building of fighters works from the repair platform, then it would be possible to create a new tactical structure that has the sole purpose to trigger the instant fighter build in carrier ships. Do you think these adjustments will work? I will probably have time to test them tomorrow, once I figure out how to get a mod working.
Reply #6 Top
hmm, that reply didn't copy and paste properly. I'll repost something better formatted once I figure out the proper way.
Reply #7 Top
After digging through the entity files, I had an idea for an alternate approach to enforcing fighter replenishment from player-controlled structures, leveraging the repair platform and the Tech's instant-build fighter ability. Essentially, if the idea will work, the repair platform will not only repair a ship but also replenish fighters in the target ship if it detects the ship can hold fighter craft. 1) Add ability to the repair platform for instantly building fighters, by making a new ability-entity file as a copy of the existing AbilityInstantBuildFighters.entity Current Tech orbit repair abilities from the .entity file: file PLANETMODULE_TECHORBITALREPAIRPLATFORM.entity TXT entityType "PlanetModuleStandard" minZoomDistanceMult 2.000000 ability:0 "AbilityRepairPlatformTech" ability:1 "" ability:2 "" ability:3 "" ... ...add the instantfighter build ability, ...create new file AbilityInstantBuildFightersTarget.entity ...result: TXT entityType "PlanetModuleStandard" minZoomDistanceMult 2.000000 ability:0 "AbilityRepairPlatformTech" ability:1 "AbilityInstantBuildFightersTarget" ability:2 "" ability:3 "" ... 2) Create and update new file AbilityInstantBuildFightersTarget.entity Made from a copy of AbilityInstantBuildFighters.entity with following change: TXT entityType "Ability" buffInstantActionType "ApplyBuffToTarget" instantActionTriggerType "AlwaysPerform" buffType "BuffInstantBuildFightersSpawner" ... 3) Add targetFilter constraint to new AbilityInstantBuildFightersTarget.entity I found the "CanHaveFighters" constraint in the BuffBattleMeditationSelf.entity file targetFilter numOwnerships 1 ownership "Friendly" numObjects 2 object "CapitalShip" object "Cruiser" numConstraints 2 constraint "NotSelf" constraint "CanHaveFighters" 4) See if the BuffInstantBuilldFightersSpawner.entity and BuffInstantBuildFightersTarget.entity will work properly to replenish the fighters in the target ship if the friendly ship travels in range of the repair platform. Perhaps the antimatter cost of the buff for the repair platform should be reduced if it will repair and provide fighters at the same time, unless this buff will instead use antimatter from the target carrier ship. If this adjustment to trigger the automatic instant building of fighters works from the repair platform, then it would be possible to create a new tactical structure that has the sole purpose to trigger the instant fighter build in carrier ships. Do you think these adjustments will work? I will probably have time to test them tomorrow, once I figure out how to get a mod working.
Reply #8 Top
Well, crud. Sorry about the wall of text. After the forum upgrade I can't space out my sentences.
Reply #9 Top
Ok, hopefully this time the post will work properly... After digging through the entity files, I had an idea for an alternate approach to enforcing fighter replenishment from player-controlled structures, leveraging the repair platform and the Tech's instant-build fighter ability. Essentially, if the idea will work, the repair platform will not only repair a ship but also replenish fighters in the target ship if it detects the ship can hold fighter craft. Note my comments for each change (not to be added to the file) use a C++/C# convention for comments ("//"): 1) Add ability to the repair platform for instantly building fighters, by making a new ability-entity file as a copy of the existing AbilityInstantBuildFighters.entity Current Tech orbit repair abilities from the .entity file: file PLANETMODULE_TECHORBITALREPAIRPLATFORM.entity TXT entityType "PlanetModuleStandard" minZoomDistanceMult 2.000000 ability:0 "AbilityRepairPlatformTech" ability:1 "" ability:2 "" ability:3 "" ... //add the instantfighter build ability, //create new file AbilityInstantBuildFightersTarget.entity //result: TXT entityType "PlanetModuleStandard" minZoomDistanceMult 2.000000 ability:0 "AbilityRepairPlatformTech" ability:1 "AbilityInstantBuildFightersTarget" ability:2 "" ability:3 "" ... 2) Create and update new file AbilityInstantBuildFightersTarget.entity Made from a copy of AbilityInstantBuildFighters.entity with following change: TXT entityType "Ability" buffInstantActionType "ApplyBuffToTarget" //changed from "ApplyBuffToSelf" instantActionTriggerType "AlwaysPerform" buffType "BuffInstantBuildFightersSpawner" ... 3) Add targetFilter constraint to new AbilityInstantBuildFightersTarget.entity I found the "CanHaveFighters" constraint in the BuffBattleMeditationSelf.entity file targetFilter numOwnerships 1 ownership "Friendly" numObjects 2 object "CapitalShip" object "Cruiser" //for the Cruisers that carry fighters numConstraints 2 constraint "NotSelf" constraint "CanHaveFighters" 4) See if the BuffInstantBuilldFightersSpawner.entity and BuffInstantBuildFightersTarget.entity will work properly to replenish the fighters in the target ship if the friendly ship travels in range of the repair platform. Perhaps the antimatter cost of the buff for the repair platform should be reduced if it will repair and provide fighters at the same time, unless this buff will instead use antimatter from the target carrier ship. If this adjustment to trigger the automatic instant building of fighters works from the repair platform, then it would be possible to create a new tactical structure that has the sole purpose to trigger the instant fighter build in carrier ships. Do you think these adjustments will work? I will probably have time to test them tomorrow, once I figure out how to get a mod working.
Reply #10 Top
Hopefully this time the post will format properly:

After digging through the entity files, I had an idea for an alternate approach to enforcing fighter replenishment from player-controlled structures, leveraging the repair platform and the Tech's instant-build fighter ability.

Essentially, if the idea will work, the repair platform will not only repair a ship but also replenish fighters in the target ship if it detects the ship can hold fighter craft.

Note my comments for each change (not to be added to the file) use a C++/C# convention for comments ("//"):

1) Add ability to the repair platform for instantly building fighters, by making a new ability-entity file as a copy of the existing AbilityInstantBuildFighters.entity

Current Tech orbit repair abilities from the .entity file:

file PLANETMODULE_TECHORBITALREPAIRPLATFORM.entity

TXT
entityType "PlanetModuleStandard"
minZoomDistanceMult 2.000000
ability:0 "AbilityRepairPlatformTech"
ability:1 ""
ability:2 ""
ability:3 ""
...

//add the instantfighter build ability,
//create new file AbilityInstantBuildFightersTarget.entity
//result:

TXT
entityType "PlanetModuleStandard"
minZoomDistanceMult 2.000000
ability:0 "AbilityRepairPlatformTech"
ability:1 "AbilityInstantBuildFightersTarget"
ability:2 ""
ability:3 ""
...

2) Create and update new file AbilityInstantBuildFightersTarget.entity
Made from a copy of AbilityInstantBuildFighters.entity with following change:

TXT
entityType "Ability"
buffInstantActionType "ApplyBuffToTarget" //changed from "ApplyBuffToSelf"
instantActionTriggerType "AlwaysPerform"
buffType "BuffInstantBuildFightersSpawner"
...

3) Add targetFilter constraint to new AbilityInstantBuildFightersTarget.entity
I found the "CanHaveFighters" constraint in the BuffBattleMeditationSelf.entity file

targetFilter
numOwnerships 1
ownership "Friendly"
numObjects 2
object "CapitalShip"
object "Cruiser" //for the Cruisers that carry fighters
numConstraints 2
constraint "NotSelf"
constraint "CanHaveFighters"

4) See if the BuffInstantBuilldFightersSpawner.entity and BuffInstantBuildFightersTarget.entity will work properly to replenish the fighters in the target ship if the friendly ship travels in range of the repair platform.

Perhaps the antimatter cost of the buff for the repair platform should be reduced if it will repair and provide fighters at the same time, unless this buff will instead use antimatter from the target carrier ship.

If this adjustment to trigger the automatic instant building of fighters works from the repair platform, then it would be possible to create a new tactical structure that has the sole purpose to trigger the instant fighter build in carrier ships.

Do you think these adjustments will work? I will probably have time to test them tomorrow, once I figure out how to get a mod working.

Reply #11 Top
As it happens i had Completely forgotten that that ability existed.

As far as i can tell what you are suggesting should work perfectly, the only things i would say to take note of are

1) the important bit seems to be the entityBoolModifier in the BuffInstantBuildFighterSpawner.entity. The BuffInstantBuildFightersTarget seems to be superfluous for your purposes.

2)It seems to be an all or nothing effect, so there would be no way to only partially replenish the squads of a carrier.

3)
Perhaps the antimatter cost of the buff for the repair platform should be reduced if it will repair and provide fighters at the same time, unless this buff will instead use antimatter from the target carrier ship.
End of quote
this would be easily accomplished simply by adding in one of the antimatter draining buffs.
Reply #12 Top
1) the important bit seems to be the entityBoolModifier in the BuffInstantBuildFighterSpawner.entity. The BuffInstantBuildFightersTarget seems to be superfluous for your purposes.
End of quote

Ok, I'll keep that in mind when testing. This review was just a rough layout of how the changes could work, so I haven't looked at all variables or attributes that would have to be modified


2)It seems to be an all or nothing effect, so there would be no way to only partially replenish the squads of a carrier.
End of quote


True, but that's an OK trade-off for me. If there is enough antimatter to replenish back all fighters then fine, but if not enough antimatter, then the squads won't be brought back to maximum size. I was thinking of having carrier ships carry more ships per squad, so if there isn't enough antimatter to instantly build all squads back to maximum level then that aspect will be the limiting factor.

All this being stated, I realized a problem with this plan: How to determine the default fighter and bomber mix if the repair station is triggering the fighters to be created?

The AI has to select a mix of fighters and bombers, so I'll check and see how that process works in the .entity files (if present there) and see if there is a way to leverage that for the default fighter-type mix for human players.