Fractal Softworks Forum

Please login or register.

Login with username, password and session length
Pages: [1] 2

Author Topic: [Request] Ship rarity refinements.  (Read 3718 times)

Tartiflette

  • Admiral
  • *****
  • Posts: 3529
  • MagicLab discord: https://discord.gg/EVQZaD3naU
    • View Profile
[Request] Ship rarity refinements.
« on: June 02, 2019, 01:35:51 AM »

Currently managing ships' rarity is kind of convoluted:
First there is the Faction Doctrine,
Then the distinction between import and produced hulls,
Then the relative total weight of all the variants for a given ship in a given role,
Then the relative total frequency multiplier of this particular hull in the faction file.
And on top the result depends on the ship Deployment Cost and there is a Fleet Inflater to limit the number of ships to 30.

This is quite obscure to grasp leads to an extreme variability depending on the number of ships added by mod to a same faction. (Pirates are a good example since most factions gives them a bunch of ship).
Ships that were merely uncommon with just vanilla become vanishingly rares in a fully modded game, and the overall system is extremely prone to errors.

I have a few suggestions to make a more consistent system.

First easy improvement: the total weight of the variants shouldn't affect the rarity. It should be normalized, thus removing one multiplier and the most error prone one.

Bandaid fix: Like the variant editor, we could use some "fleet analysis" dev mode menu, looking like the doctrine editor but instead of priorities it shows the effective rarity of ships in fleets.



Proper fix: slice the rarities into different "classes": Common, uncommon (such as XIVth skins) and rare (Hyperion, Tempest, Legion XIVth). Corresponding hints would be added to ship_data.csv, and generated fleets would have some guaranteed uncommon and rare ships depending on the size of that fleet:

Picket fleet would be all common ships,
Large patrols would be 90% common hulls, 10% uncommon with a small chance to have 1 rare ship,
High level bounties would be guaranteed to have 1 uncommon or rare flagship and a bunch of uncommon ones with officers.

Faction multipliers would be kept since they would have a much more controlled effect.
Logged
 

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 24114
    • View Profile
Re: [Request] Ship rarity refinements.
« Reply #1 on: June 02, 2019, 10:44:45 AM »

Thank you for the well thought-out suggestion! Hmm.

What I could see doing is:

1) Normalizing variant weight for a hull within a role, and
2) Adding a "use_rarity" column to ship data that governs how common it is (as opposed to blueprint rarity) (yeah, it ought to be "frequency", not "rarity"...)

I think that just about covers what you're suggesting, right? Aside from adjustments to fleet generation based on tiers of common-ness, but that to me is a much more extensive thing and something of a different topic. In any case, made a note, will see if I can work this in or if there's any unexpected difficulties.


And on top the result depends on the ship Deployment Cost and there is a Fleet Inflater to limit the number of ships to 30.

(It's the fleet point value, btw, not the deployment points.)
Logged

Tartiflette

  • Admiral
  • *****
  • Posts: 3529
  • MagicLab discord: https://discord.gg/EVQZaD3naU
    • View Profile
Re: [Request] Ship rarity refinements.
« Reply #2 on: June 02, 2019, 01:34:15 PM »

I'm not sure I get what 2) would change compared to the faction file's frequency. Unless it's an overriding factor?
Logged
 

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 24114
    • View Profile
Re: [Request] Ship rarity refinements.
« Reply #3 on: June 02, 2019, 01:41:14 PM »

2) would be a per-hull multiplier rather than per-faction and they'd be multiplicative with each other - so not overriding, but contributing.

Currently for example vanilla uses lower variant weights to make certain ships (like the Hyperion) show up in fleets more rarely. If the weights were normalized, this would instead move to the use_rarity column in ship_data.csv.
Logged

Tartiflette

  • Admiral
  • *****
  • Posts: 3529
  • MagicLab discord: https://discord.gg/EVQZaD3naU
    • View Profile
Re: [Request] Ship rarity refinements.
« Reply #4 on: June 02, 2019, 02:21:49 PM »

So what would be the benefit compared to only using the faction file as the sole frequency multiplier? I mean, that is kind of the point to remove the variant weight. Unless there is a use case where the faction file isn't enough I'm not seeing here.
You want to keep both a hull multiplier and a faction multiplier due to the pirates being able learn blueprints, is that why?
Logged
 

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 24114
    • View Profile
Re: [Request] Ship rarity refinements.
« Reply #5 on: June 02, 2019, 02:43:21 PM »

Say you want the Hyperion to be generally rare - having to put that into every single faction file, both vanilla and modded, would be a major pain. Better to have a baseline rarity and then have any faction that wants to go against that explicitly do that by adjusting the value.

And, yeah, it gets worse when factions like the pirates are able to learn blueprints, and the existence of such kind of has to be assumed since even if the vanilla pirates didn't, mods might.


A multiplier in ship_data.csv is better than weights in the roles file, though - it means that mods can add new variants for a hull without making it more likely to show up due to having a larger number of variants.
Logged

Histidine

  • Admiral
  • *****
  • Posts: 4682
    • View Profile
    • GitHub profile
Re: [Request] Ship rarity refinements.
« Reply #6 on: September 21, 2021, 03:07:28 AM »

[bump since this recently came up with some mod debugging on Discord]

I'm thinking that the priorityShips/Weapons/Fighters lists should probably be removed, with factions relying only on hullFrequency to control how often a hull shows up, and corresponding weaponFrequency and fighterFrequency tables added.
Or at least clarify how it works in documentation somewhere, with big warning comments above the existing entries in the .faction files.

Right now, priority ships and fighters seem to mean "use this thing to the exclusion of all other things within the same role". Which is a great trap for noob modders, who unthinkingly add ships to the priority list since the vanilla .faction files do the same thing. Then one mod causes e.g. Tri-Tachyon to only use the one mod cruiser, excluding all other vanilla and mod cruisers the faction knows, and someone wonders why cranking the other hulls' frequency up to 200 or more does nothing to fix this.
« Last Edit: September 21, 2021, 03:09:28 AM by Histidine »
Logged

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 24114
    • View Profile
Re: [Request] Ship rarity refinements.
« Reply #7 on: September 21, 2021, 09:40:45 AM »

Hmm. There *is* a "# listing ships here will make the faction mostly use them even if other hulls become available" comment there in all the .faction files, that seems like it's fairly clear? Maybe it doesn't convey the complete extent of "mostly" being "just about 99%", but it seems as likely that this sort of thing is an issue with someone just not considering other mod ships possibly being added to the faction.

Re: removing the priority section, I'm not sure I want to do that - there's potential for some unexpected repercussions, so I wouldn't want to touch it without having a good long testing cycle afterwards. For example, when no local faction production is available, the "imported" ships don't follow priority settings, so removing the priority section and changing it to hullFrequency (and adding it for weapons etc) could skew those in potentially weird ways. And offhand I'm not sure what it'd do to ship-for-sale availability.

And possibly/likely more things I'm not thinking about right now; including causing problems for mods that rely on this behavior. I could see how being unable to say "only use this even if other ships/weapons are known" could be a serious problem for guaranteeing the use of faction-specific equipment.

(It also "already works" and I'm not a huge fan of redoing things that do... I mean, a lot of this would be kind of mindless content-work but still, quite a lot of it.)
Logged

Helldiver

  • Captain
  • ****
  • Posts: 382
  • space fruit
    • View Profile
Re: [Request] Ship rarity refinements.
« Reply #8 on: September 21, 2021, 10:02:30 AM »

I don't mind the current way that various factors affect "rarity", even if it requires a mod user to spend some time fine-tuning a variety of files to achieve the desired result. It gives a good amount of control once you get how it works.

I think it could do with being better explained for new modders and users though (especially "default_ship_roles" 's effects).

On a different but similar note, "weaponFrequency" and "fighterFrequency" are dearly needed pls pls pls :'(
Logged
Afflictor bean plushie that glows purple when you squeeze it
30$

Tartiflette

  • Admiral
  • *****
  • Posts: 3529
  • MagicLab discord: https://discord.gg/EVQZaD3naU
    • View Profile
Re: [Request] Ship rarity refinements.
« Reply #9 on: September 21, 2021, 10:11:25 AM »

That control is meaningless when rarities are multiplied by the sum of the weights in the pool: You can fine-tune it all you want, it is all for naught when adding another ship pack, even a fine tuned one, dilutes your pool. That's why I suggested rarity tiers rather than multipliers so that rare ships can still be found in a heavily modded game.

For example my Seeker mods add ships with roughly 1-2% chance of showing up in Tri-Tachyon fleets. If you add a couple ship packs on top, that frequency drops into the .01%, and there is nothing I can do to prevent that. If on the contrary we had tiers, the rarity would only be divided by the number of ships in that tier instead.
Logged
 

Helldiver

  • Captain
  • ****
  • Posts: 382
  • space fruit
    • View Profile
Re: [Request] Ship rarity refinements.
« Reply #10 on: September 21, 2021, 11:04:32 AM »

You can fine-tune it all you want, it is all for naught when adding another ship pack, even a fine tuned one, dilutes your pool.

I didn't write anything about mods not affecting each other tho! I indicated that its the mod users themselves that have to fine tune, which is not for naught - but the users must make changes to all related mods in their list simultaneously, and any new addition results in changes being needed for all previously added mods as well to retain a balance.
In my case, it must have taken a few hours total modifying each mod individually as well as vanilla files to get the wanted result between all the added ships and factions (using an edited version of SWP's recently added swp_custombattle mission as a faction "fleet tester", doing many many tests).

I don't have a problem with that though, my perspective being that the modder makes their mod with their vision and it's up to the mod user to make it fit in their own personal collection of mods since the modder can't know what the user will throw on top (and the modder already did the hard work free of charge, they're not responsible for what breaks their mod if the user uses other mods with it).

I would love to hear more about your tier suggestion since it's not in the OP (unless it's the "classes" suggestion and I'm stoopid in which case disregard this). I don't disagree with any suggestion about adding more control (more power to modding) but I don't want to see the current features go since I like them (like the suggestion to remove priorityShips or make variant weights not affect rarity).
« Last Edit: September 21, 2021, 01:56:38 PM by Helldiver »
Logged
Afflictor bean plushie that glows purple when you squeeze it
30$

Tartiflette

  • Admiral
  • *****
  • Posts: 3529
  • MagicLab discord: https://discord.gg/EVQZaD3naU
    • View Profile
Re: [Request] Ship rarity refinements.
« Reply #11 on: September 22, 2021, 07:37:26 AM »

Proper fix: slice the rarities into different "classes": Common, uncommon (such as XIVth skins) and rare (Hyperion, Tempest, Legion XIVth). Corresponding hints would be added to ship_data.csv, and generated fleets would have some guaranteed uncommon and rare ships depending on the size of that fleet:

Picket fleet would be all common ships,
Large patrols would be 90% common hulls, 10% uncommon with a small chance to have 1 rare ship,
High level bounties would be guaranteed to have 1 uncommon or rare flagship and a bunch of uncommon ones with officers.

Faction multipliers would be kept since they would have a much more controlled effect.

I would expand on that idea by having both a rarity tier (common, uncommon, rare, legendary) and a quality tier (so that there can be rare garbage ships too). But the premise is that by having tiers, each pool only dilute themselves instead of diluting everything. In effect if a mod has 10 common ships and 2 rare ships for a given faction, but 2 other mods adds 10 more common ships each, then the rare ships still are just as rare as before instead of being 3 times rarer with the current weight multiplier.
« Last Edit: September 22, 2021, 07:47:49 AM by Tartiflette »
Logged
 

Warior4356

  • Ensign
  • *
  • Posts: 3
    • View Profile
Re: [Request] Ship rarity refinements.
« Reply #12 on: September 22, 2021, 06:20:45 PM »

After doing a lot of experimentation. It may be worth changing the comment to reflect how the priority behaves. At least in a faction's market it behaves as follows:
  • roleSmall: Usually spawns these ships, but almost always has at least one ship outside the priority.
  • roleMedium: Sometimes, but not often has a ship outside the priority.
  • roleLarge/Capital: Never spawns ships outside the priority list.

A lot of modders (rightly) assume that the priority means it won't prevent cruisers/capitals from spawning entirely unless they are priority, if the faction has any priority ships in the large/capital roles.
Logged

Tartiflette

  • Admiral
  • *****
  • Posts: 3529
  • MagicLab discord: https://discord.gg/EVQZaD3naU
    • View Profile
Re: [Request] Ship rarity refinements.
« Reply #13 on: September 23, 2021, 12:56:09 AM »

I think those observations are more related to the fact vanilla priorities are only set for very few roles (essentially combat capital ships, carriers and phase ships)
Logged
 

Warior4356

  • Ensign
  • *
  • Posts: 3
    • View Profile
Re: [Request] Ship rarity refinements.
« Reply #14 on: September 23, 2021, 07:59:41 AM »

I think those observations are more related to the fact vanilla priorities are only set for very few roles (essentially combat capital ships, carriers and phase ships)

These observations were made by setting a mod ship to be priority in a role that wasn’t normally a priority and then seeing if other ships in that role still populated.

Another interesting effect I noticed that might be useful for modders to know is the fail downward system used by ship roles uses priority. That is to say, if for whatever reason a faction had a combatLarge set as a priority and all their capitals were not, as combat large is a low chance to happen for combatCapital that combatlarge will take the place of all that faction’s capital ships.
Logged
Pages: [1] 2