Fractal Softworks Forum

Please login or register.

Login with username, password and session length

Author Topic: [0.95a] Better Ships v1.0  (Read 5337 times)

Delta_of_Isaire

  • Lieutenant
  • **
  • Posts: 65
    • View Profile
[0.95a] Better Ships v1.0
« on: June 08, 2021, 06:04:08 AM »

true
Better Ships

    <<< That's a download button!

Mod Features
  • Changes Ordnance Point (OP) capacity of all standard, Derelict and Remnant ships according to a new, simple formula, tuned to provide a 'fun' amount of OP to play with. 'Fun' means that OP Capacity still forces trade-offs, but you are not restricted to a bare minimum loadout. You can get more of what you want, but you still cannot get everything you want (even with 3 s-mods).
    Exactly how much OP is 'fun'?
    How much OP is 'fun'? In my opinion, enough OP to have:
        > A medium-tier weapon in every slot
        > Max vents
        > Max Capacitors
        > Integrated Targeting Unit
        > One other expensive hullmod, for which I use Heavy Armor as the benchmark.

    This is not saying that all good loadouts should have for example max capacitors or these exact two hullmods. This is more of a default, balanced reference build that provides room for trade-offs if you want something more specialized. Bigger weapons at the cost of Capacitors, or two smaller hullmods instead of one expensive hullmod, et cetera.
    [close]
    Implementation details
    For most ships, OP capacity changed to equal the sum of:
        > Maximum number of Vents (without skills), i.e. 10/20/30/50
        > Maximum number of Capacitors (without skills), i.e. 10/20/30/50
        > OP cost of Integrated Targeting Unit, i.e. 4/8/15/25
        > OP cost of Heavy Armor, i.e. 8/15/20/40
        > 0/5/10/15 OP for Fourteenth Battlegroup (XIV) modification
        > 5 OP for every small gun mount (OP cost for average weapons like IR Pulse Laser and Light Assault Gun)
        > 4 OP for every small missile mount (standard OP cost of small missiles)
        > 10 OP for every medium gun mount (OP cost for average weapons like Heavy Autocannon, Pulse Laser)
        > 10 OP for every medium missile mount (standard OP cost of medium missiles)
        > 20 OP for every large gun mount (OP cost for average weapons like HIL, Autopulse Laser, HAG, Mark IX)
        > 20 OP for every large missile mount (baseline OP cost of large missiles)
        > 10 OP for every fighter bay

    Composite/Synergy/Universal mounts are considered gun mounts for OP calculation.

    Weapon and Fighter slots with built-in non-removable weapons are not counted (e.g. Flak Cannons on Monitor, Mining drones on Venture).

    For Civilian ships that are not combat-freighters (so real non-combat ships), the new OP capacity does not include the bonus for ITU and Heavy Armor.

    For Ox and Salvaging Rig the OP capacity is unchanged for balance reasons.

    For Guardian the OP capacity is also unchanged, because the new calculation would result in a significant loss of OP (375 vs original 450) and this thing deserves to be good.
    [close]
    What's the result?
    On average this results in a 30% increase in OP capacity compared to vanilla. But note that some ships benefit (much) more than others.

    Average OP increases from 90 to 117, an increase of 30%.
        > Among Frigates the average increase is 29% or 11 OP.
        > Among Destroyers the average increase is 38% or 25 OP.
        > Among Cruisers the average increase is 36% or 44 OP.
        > Among Capitals the average increase is 21% or 56 OP.

    3 Ships lose OP while 109 ships gain OP and 2 ships remain the same.

    The losers are Hyperion (-3), Kite (S) (-5) and Paragon (-4). Unchanged are Ox and Salvaging Rig.

    Ships with a relatively small % increase in OP include Afflictor (+4%), Ziggurat (+6%), Onslaught (+7%), Harbinger (+8%), Aurora (+9%), Radiant (+11%) and Tempest (+12%).

    Ships with a relatively high % increase in OP include Colossus Mk.III (+218%), Colossus Mk.II (+182%), Condor (+129%), several Derelict ships, Heron (+65%), Mora (+61%), Drover (+56%), Shrike (P) (+44%) Atlas Mk.II (+43%) and Astral (+42%). So Carriers notably benefit a lot.
    [close]
  • Tweaks the Deployment Point (DP) cost of a few ships for better balance after the OP changes.
    Which ships are affected?
    Radiant - now 60 DP (was 40) because it is at least as good as Paragon.
    Guardian - now 60 DP (was 40) because it is at least as good as Paragon.
    Colossus Mk.II - now 12 DP (was 9) because it is no longer held back by low OP.
    Colossus Mk.III - now 12  DP (was 8 ) because it   is no longer held back by low OP.
    Scarab - now 10 DP (was 8 ) because Temporal Shell makes it stronger than Tempest and Shrike.
    Scintilla - now 15 DP (was 12) because it is easily as good as a Drover (even ignoring the Drover's bugged performance).
    Afflictor - now 10 DP (was 8 ) because it's a better Shade.
    [close]
  • Overwrites vanilla goal variants with versions that account for new OP capacity and that are less terrible.
    You mean vanilla goal variants are terrible?!
    Yes. Yes they are. Well, some of them. Maybe a lot of them, actually. No offense to Alex  :P
    [close]
    What are the new variants like?
    The new variants are designed to fill the same role, do the same things, as their vanilla counterparts. They are literally just tweaked to properly utilize the new OP capacity and generally do what they try to do better. So the changes are vanilla-friendly and all that.
    [close]
    Implementation details
    This mod replaces vanilla .variant files completely, using the "replace" tag in mod_info.json.

    This approach is necessary to overwrite vanilla .variant files. Normally mod files are merged into their vanilla counterparts, but for variant files that leads to issues like multiple weapons fitted into the same mount etc because the originally specified weapons and hullmods are not replaced/removed.

    The alternative would have been to add the modified variants under a new name, and then edit default_ship_roles.json to set the weights of vanilla variants to 0 and add the new variants with their corresponding vanilla weights. I felt that this approach would be more complex and less reliable.

    The drawback is mod compatibility. Normally you want mod files to merge into vanilla rather than replace vanilla, so that multiple mods can affect (diferent parts of) the same file. For variant files however, few mods alter them and you wouldn't want merging behavior because that could will cause conflicts as noted above.
    [close]
  • Reduces randomness of autofitting, so that ships try to adhere to goal variants more closely.
    Why?
    Because random loadout changes are more likely to reduce than improve the combat performance of a ship variant. Provided that the goal variant is actually decent of course, which the new variants added by this mod should be.
    [close]
    How did you do it?
    By setting "autofitRandomizeProbability" to 0 in all relevant .faction files (in /data/world/factions).
    [close]
    What's the result?
    This tweak means randomly spawned ships adhere fully to goal variants, unless the required blueprints aren't available because either (1) the faction doesn't have those blueprints at all or (2) the game randomly decided that, for fitting this particular ship, certain blueprints aren't available. So it doesn't completely remove autofit variation, but greatly reduces it.

    For weapons, when the target weapon cannot be fitted a different weapon of the same type (same mount size, same damage type if possible) is fitted instead. For example, Hypervelocity Driver might be replaced by Heavy Autocannon, Sabot SRM might be replaced by Harpoon MRM, or Pulse Laser might be replaced by Mining Blaster (which is a terrible replacement but that's another topic).

    It is rare for hullmods to be omitted, in part because I designed the replacement variants with vanilla blueprints limitations in mind. But when some hullmods cannot be placed, or there is extra OP left over because some weapons were replaced by cheaper alternatives, then some randomly chosen hullmods may be added.
    [close]

>>> Improved AI goal variants and better adherence to those variants will make battles more challenging!

Mod compatibility
  • Can be added to existing save files. However, existing ships will not have their loadout updated. Most NPC ships will eventually respawn, but you'll have to refit your own ships to account for OP changes.
  • Removing this mod from a save is not recommended. The game probably won't crash, but it will leave existing ships with 'illegal' loadouts that spend more OP than should be possible.
  • Compatible with mods that do not change ships, i.e. most utility/feature mods, etc.
  • Compatible with mods that add new variants for vanilla ships. Autofit will ensure that these variants are "upgraded" to the new OP capacity.
  • Compatible with mods that add new weapons, but don't expect these to show up on NPC ships very often.
  • Compatible with mods that add new ships. However, the new ships will likely be underpowered because this mod buffs vanilla ships.
  • Not compatible with mods that change any stats of vanilla ships in ship_data.csv.
  • Not compatible with mods that edit vanilla .variant files.
Logged

Jaghaimo

  • Admiral
  • *****
  • Posts: 661
    • View Profile
Re: [0.95a] Better Ships v1.0
« Reply #1 on: June 08, 2021, 06:33:14 AM »

What can I say here... I love the idea, will slap this onto my current play through. Always liked to tinker with numbers in this game.

Shouldn't clash with Rebalanced Doom, right? https://fractalsoftworks.com/forum/index.php?topic=21607.0

Also, you've leaked your whole `.git` folder in the release.
« Last Edit: June 08, 2021, 06:35:13 AM by Jaghaimo »
Logged

Arcagnello

  • Admiral
  • *****
  • Posts: 1011
  • Arguably Heretical, Definetly Insane
    • View Profile
Re: [0.95a] Better Ships v1.0
« Reply #2 on: June 08, 2021, 08:09:47 AM »

Looking forward to seeing how the mod influences game balance, it all seems very good.
I was especially surprised by how stable the Ordinance Point amounts remained for a lot of ships I feared would just get a lot stronger.
I'm also really looking forward to the end of the scourge that is autofit and the better crafted ship variants :)
Logged
Arranging holidays in an embrace with the Starsector is priceless.
The therapist removed my F5 key.

ASSIMKO

  • Commander
  • ***
  • Posts: 158
    • View Profile
Re: [0.95a] Better Ships v1.0
« Reply #3 on: June 08, 2021, 12:36:24 PM »

Eitha!!! I won't need to poke around anymore to increase the OP so I can test some weapons. I just need to find a mod that autere the duration for more days of personal bounty hunts. Thank you for mod.
Logged

BreenBB

  • Commander
  • ***
  • Posts: 150
    • View Profile
Re: [0.95a] Better Ships v1.0
« Reply #4 on: June 08, 2021, 12:38:54 PM »

Nice idea, also thanks for formula of OP calculation, useful if I want bring modded ships to same standard :)

I found some ships while being appealing but because of lacking OP unable to fit it somehow effective, I will try allying that formula, and look how it affects them. Also about Guardian you can also do version with reduced OP's, but make it with auto_rec tag, so player also can use them too.
Logged

Delta_of_Isaire

  • Lieutenant
  • **
  • Posts: 65
    • View Profile
Re: [0.95a] Better Ships v1.0
« Reply #5 on: June 09, 2021, 01:13:26 AM »

Shouldn't clash with Rebalanced Doom, right? https://fractalsoftworks.com/forum/index.php?topic=21607.0

Nope, it's compatible :)

Also, you've leaked your whole `.git` folder in the release.

Yeah noticed that. Will fix in the next update. First time using Git to publish a mod  :-[


Nice idea, also thanks for formula of OP calculation, useful if I want bring modded ships to same standard :)

I found some ships while being appealing but because of lacking OP unable to fit it somehow effective, I will try allying that formula, and look how it affects them. Also about Guardian you can also do version with reduced OP's, but make it with auto_rec tag, so player also can use them too.

Interesting idea about Guardian. Making it recoverable is something to think about. It would be a very powerful bonus ship, particularly in player hands even if it can't be piloted directly...

Guardian has no_autofit which I think means that its loadout variant isn't sanitized for things like exceeding the normal OP limit, or having S-mods and the like (yes you can specify S-mods in .variant files, but autofit removes them :/ ). So rebalancing its OP capacity without affecting the NPC version loadout might be possible.
Logged

BreenBB

  • Commander
  • ***
  • Posts: 150
    • View Profile
Re: [0.95a] Better Ships v1.0
« Reply #6 on: June 12, 2021, 12:28:37 AM »

About this mod, interesting, can it be made with scripts so it can be modify all ships included modded ones? It takes time adjusting big mods with lots of ships manually.

Hullmods can add OP's, like Extreme Modifications from SWP and Junker Hullmods in HMI do, but i'm not sure if possible to add OP's in "insides" off hullmod, I think one of ideas is make scripts which add special hulmods to all ships, like Second Wave Options do, its adds special hullmod to all of ships via script. And this script first negates all OP of ship to zero, then it checks all available slots where player can add weapons and fighters via loop, and then adds some OP's on top depending of ship class, and does it have hullmods like civilian ones and built in safety overrides.

Also interesting, how you balance Luddic Path ships with built in Safety Overrides? I'm not sure how better to balance them, since they already have most expensive hullmod, and if they have same OP as non path version they will be simply too superior.
Logged

Delta_of_Isaire

  • Lieutenant
  • **
  • Posts: 65
    • View Profile
Re: [0.95a] Better Ships v1.0
« Reply #7 on: June 15, 2021, 12:23:30 AM »

If you can point me to a good explanation of how scripting works then I might consider it.


Pather ships with build-in SO are balanced same as in Vanilla: by getting the Ill-advised Modifications mod. (which in its current form is actually too harsh, but that's another discussion)
Logged

BreenBB

  • Commander
  • ***
  • Posts: 150
    • View Profile
Re: [0.95a] Better Ships v1.0
« Reply #8 on: June 15, 2021, 01:52:29 AM »

About hullmods, adding just general quantity of OP is easy just by making hullmods which does nothing at all and have simply negative cost. But problem is what we need to add specific amount of OPs depending of quantity of ship hardpoints, but I'm not sure how to do it, its possbile to make some weapons cheaper, but I don't know if its possible influence OPs directly in hullmod script.
Logged

Jaghaimo

  • Admiral
  • *****
  • Posts: 661
    • View Profile
Re: [0.95a] Better Ships v1.0
« Reply #9 on: June 15, 2021, 02:10:05 AM »

WeaponSlotAPI form ShipHullSpecAPI has the info you need:

https://jaghaimo.github.io/starsector-api/interfacecom_1_1fs_1_1starfarer_1_1api_1_1loading_1_1WeaponSlotAPI.html

To get all weapon slots call getAllWeaponSlotsCopy:

https://jaghaimo.github.io/starsector-api/interfacecom_1_1fs_1_1starfarer_1_1api_1_1combat_1_1ShipHullSpecAPI.html

As for how to apply it, my bet would be to use this:

https://jaghaimo.github.io/starsector-api/classcom_1_1fs_1_1starfarer_1_1api_1_1combat_1_1BaseHullMod.html#aade4030b287b2c896f920683f0eead56

And in this method calculate desired OP using ship.getHullSpec().getAllWeaponSlotsCopy(), and apply the difference from current OP. And in mod plugin, just go over every ship in the game (perhaps add a blacklist for modders to opt out / opt out some of the ships you found "just right") and add this hull mod.
« Last Edit: June 15, 2021, 02:15:23 AM by Jaghaimo »
Logged