Fractal Softworks Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

Starsector 0.97a is out! (02/02/24); New blog post: Simulator Enhancements (03/13/24)

Pages: 1 ... 6 7 [8] 9 10 ... 21

Author Topic: [0.97a] AdvancedGunneryControl 1.17.0 - Updated for 0.97a  (Read 174131 times)

DesperatePeter

  • Commander
  • ***
  • Posts: 167
    • View Profile
Re: [0.95.1a] AdvancedGunneryControl 0.11.0
« Reply #105 on: January 16, 2022, 12:46:46 PM »

TL;DR-Version: Target/AvoidShields now consider shield facing, bugs with aiming, respecting selected target (R-Key) and friendly fire considerations.

Hi everyone!

Sorry for the long period without updates, but my interest for Starsector finally got rekindled by the 0.95.1a release =)

After playing 2-3 campaigns with forced custom AI, debugging whenever I noticed something wird, I feel like I was finally able to iron out many of the issues that the custom AI still hard. I also finally managed to get the geometrical shield facing considerations for the target/avoid shield modes to work properly.

This ofc doesn't mean that there aren't any bugs left, but overall it feels a lot smoother now.

Here's the list of bugs I fixed:
  • Weapons should now properly respect the selected ship target. I originally had a line like "if (target == shipTarget){priority *= 0.1}". Unfortunately, target was the name for the target coordinates, not the target entity, which meant that that if was always false... Should work now. Weapons might still fire at other targets if the selected target doesn't match the weapon mode, but overall seem to respect the selected target much more.
  • Weapons will now properly consider the firing ships velocity when calculating which point to aim at, i.e. especially fast ships should have considerably better aim. This also applies for friendly fire calculations.
  • Weapons will now prioritize shooting ships over other stuff (e.g. fighters or station spurs)
  • Fixed some issues with target priority calculation. For instance, before, if there was a target directly in front of the weapon, that could lead to the priority of that target getting multiplied by 0, which made the weapon not consider other targets at all. Similarly, a target without shield capability (for instance...a station spur) could make a weapon set to AvoidShields not consider other targets.
  • Due to some unfortunate math quirks, my friendly fire calculations bugged out in some sectors of the map. Now everything is calculated relative to the weapon, i.e. friendly fire calculations should work everywhere on the map =)
  • Fixed an issue in TimeToTravel calculations for projectiles (mainly relevant for slow projectiles)
  • Tuned some internal parameters, mainly linked to target priority calculations
  • Weapons will not stop firing anymore when there is an ally within range BEHIND the enemy

Any chance of adding a thing for the ship to act like it has a specific type of missile on board? Like you know how ships get real aggressive when they have annihilator pods, or when they get annoyingly timid when they have strike range missiles like pilums? Probably not that big of a problem in vanilla but in modded I've often felt annoyed at how some ships just don't wanna get in range of their main weapons as much.

This is an interesting suggestion, but to be honest I kind of feel like this should be solvable via officer aggression level. Also, to be perfectly honest, I don't really want to add more features to the mod. When I was playing I realized that I only used about half the features (I rarely used ship modes, the GUI and most suffixes) and adding more features might just make the mod more confusing to use. So sorry, probably not gonna happen =/

Hiya sir!!! Any update to the mod yet?:) Thank you very much in advance!

Yup, just released 0.11.0 =)

Hey, logged in to post my thanks for this mod! But I was also wondering whether there could be an option to, say, target shields AND ignore fighters? When I target an enemy ship often times my anti-shield guns ignore my targeting orders and instead shoot at the various annoying fighters flying around. The guns on my ship also spread fire a lot, again ignoring my R targeting orders and instead fire and whatever ship they want to.

Thank you! =)
This is a great suggestion, I believe someone else already posted this idea a while ago. While playing, I also often times wanted to set a weapon to that exact combination xD
Unfortunately, the way I originally implemented weapon modes doesn't really support that. I.e. adding this functionality would require me to rewrite large parts of the mod, which I am currently unwilling to do xD I already explored the concept with ship modes (where you can select multiple).
This is something I definitely want to do at some point, but probably not in the near future. Ideally, I would like to replace weapon modes and suffixes with a list of options where you can select multiple. What makes this more challenging than ship modes is that some weapon options would be incompatible (e.g. IgnoreFighters and TargetFighters) and I'd have to find some way to ensure that only compatible options are selected. Also, I'd have to find a control scheme that works for changing options during combat...

I've also been noticing issues with AI targeting choice. The AI seems to wholly ignore when I R select a target and, instead of concentrating fire on it, will instead pick whatever targets it believes is "best" for the chosen firing mode.

For example, I just had a Conquest rushing me down. I turn to face it, use R to select it, but my anti-shield guns instead turn to fire at other ships around me. It was really starting to trigger me something fierce until I just put every single gun back to its default state. THEN the autofire AI finally obeyed my target selection.

Yeah, I noticed that issue too. Should hopefully be fixed now =)

DesperatePeter

  • Commander
  • ***
  • Posts: 167
    • View Profile
Re: [0.95.1a] AdvancedGunneryControl 0.11.0
« Reply #106 on: January 23, 2022, 06:34:09 AM »

New pre-release (version 0.12.0, https://github.com/DesperatePeter/starsector-advanced-weapon-control/releases/tag/0.12.0) is out. Note that it has not yet been tested properly, so I appreciate any feedback on whether stuff works as intended or not.

Main features are some improvements to the GUI and suggested weapon modes: The GUI now offers an option to load suggested weapon modes for weapons, defined in data/config/modSettings.json. Other mods may also include suggested weapon modes, if their authors so desire. The actual suggestions are just a first draft, feedback on the suggestions is also appreciated!

Other than that, I converted the PD(Flux>X) and PD(Ammo<X) (disabled by default, re-enable in settings.editme) suffixes into weapon modes, as these suffixes really only worked well when combined with the Default-fire-mode.

EDIT: I just noticed that the big and small ships options needed to be enabled manually. It looks very cool but I was hoping it would allow targeting of all ships and just prioritise based on size. Would it be possible to add this as an alternative mode that is disabled by default?
While I didn't want to add more modes, I did include an option in the settings (at the bottom, called strictBigSmallShipMode). If set to false, those modes will essentially do what you described^^

Looking forward to any kind of feedback =) Do note that "I've played a couple hours and everything seems to work fine" is also valuable feedback!

Dal

  • Commander
  • ***
  • Posts: 146
    • View Profile
Re: [0.95.1a] AdvancedGunneryControl 0.11.0
« Reply #107 on: January 23, 2022, 07:04:24 AM »

In the interest of persistent setting, configuration for allies, etc, have you considered creating a hullmod set for applying your settings? If they were sorted to the end of the alphabet I think the menu bloat would be manageable and it would allow much more convenient use. You could even have AGC settings saved in custom variants. Apologies if it's been discussed before.
Logged

DesperatePeter

  • Commander
  • ***
  • Posts: 167
    • View Profile
Re: [0.95.1a] AdvancedGunneryControl 0.11.0
« Reply #108 on: January 24, 2022, 12:24:34 AM »

In the interest of persistent setting, configuration for allies, etc, have you considered creating a hullmod set for applying your settings? If they were sorted to the end of the alphabet I think the menu bloat would be manageable and it would allow much more convenient use. You could even have AGC settings saved in custom variants. Apologies if it's been discussed before.

Hiya and thanks for the suggestion!
I believe someone already suggested that way back and I actually had already built a working prototype of that idea before, but decided to scrap it.
The way I tried to implement it was: For each weapon group, there would have been a hullmod for each suffix and for each firing mode.
Imho, there's a couple issues with that idea, though (which is why I decided to scrap it):
  • There's a total of 12 fire modes and 5 suffixes (total: 17) and there's 7 weapon groups. That would mean a total of 119 hullmods. That's not only a ton of copy-paste-code to implement, but I kind of doubt anyone would really want to scroll through that list regularly to set up weapon modes. Even if I were to only add hullmods for half of the modes/suffixes, that would still be ~60.
  • Setting up modes like that felt really unintuitive and I believe would take quite long. Just imagine that you want to swap around a couple weapons for a variant and want to adjust the firing modes. You remove the according hullmods and want to add new ones. While you are scrolling through that list, you might have forgotten which group was supposed to get which mode, so you have to close the list, look at weapon groups again and re-open the list etc. I don't know about you, but I'm pretty certain that I would get annoyed by that pretty quickly
  • As this is flagged as a utility-mod, it should be possible to safely update/add to/remove from an ongoing campaign. As soon as I add hullmods, this would not be the case anymore. Something trivial like converting a suffix to a mode (as I did this update) would suddenly break updates.

My next idea was to instead have a couple of "templates". Essentially, you'd have a hullmod called something like "AGC_SetAsTemplate1" and "AGC_ApplyTemplate1". So you would outfit your ship and set up weapon groups, go into the GUI to set up firing modes, go back into the refit screen, add the AGC_SetAsTemplate1 hullmod, remove it again and add AGC_ApplyTemplate1. Now you could save it as an autofit template and apply it to other ships. Unfortunately, that idea didn't really seem to work intuitively either (not being able to see what a template does without switching to the GUI, how many templates should be available? Changing that number might break saves...).

But if you have a good idea of how to implement this in a way that is both intuitive and works well, I might be willing to bite the "save-compatibility"-bullet (I might split it into a secondary mod AGC_Hullmods, that requires AGC, though).

There might be other ways to do this that don't use hullmods, though.
If I'm not mistaken, your main concern is that you want to be able to autofit multiple ships of the same type and have them all have the same ship/firing-modes and suffixes (without having to manually set up each individual ship), right?

Maybe an option in the GUI called something like "Apply modes set for current ship to all ships with the same type and variant name" would be an option?
Or maybe simply a single hullmod called something like "AGC_CopyModesFromSameVariant" that, when applied to a ship, searches your fleet for ships with the same type and variant name and, if it finds one with non-null modes, applies them to the ship, would be possible.

One cool thing about the very first option (having ~120 different hullmods) would be, that - in theory at least - it could be used for tournament play. But until I know that the tournament folk would be interested in that, I don't really consider that a valid argument.

I'm interested to hear what your thoughts on this matter are and if you maybe have some better ideas! Is there maybe some obvious solution that I simply haven't thought of?

Edit: I just re-read your comment and noticed that you mentioned saving AGC settings in custom variants. That might indeed be a cool idea. Unfortunately, as far as I can tell, there is no "AutofitListener", but I could simply check when a new ship is deployed, if its modes are null, if there are modes stored in the variant.
« Last Edit: January 24, 2022, 12:58:02 AM by DesperatePeter »
Logged

lyravega

  • Commander
  • ***
  • Posts: 140
    • View Profile
Re: [0.95.1a] AdvancedGunneryControl 0.11.0
« Reply #109 on: January 24, 2022, 01:38:12 AM »

I'm not that educated on the subject, but some mods utilize dynamic hullmods. As each ship has an individual ID, the mod stores relevant information somewhere (I believe), and apply the effects based on this thing.

In the firing mode GUI, there can be 3 save options: per-ship, per-variant, per-hull. You open the GUI, select a ship, and change your stuff, then you save it in one of the ways. And on the ship refit screen, just one hullmod can control them all. If the hullmod is installed, your mod will check for the ship ID, if it doesn't find anything for that ID, it can check the variant, if it cannot find anything for the variant, it can check the hull type.

Of course, as you've said, the GUI can also have an option to apply the firing mode selections for the similar types; it already does it per-ship, the other options could be per-variant and per-hull like the hullmod suggestion above.

Anyhow, just spit-balling here. Thank you for the mod =)
Logged

DesperatePeter

  • Commander
  • ***
  • Posts: 167
    • View Profile
Re: [0.95.1a] AdvancedGunneryControl 0.11.0
« Reply #110 on: January 24, 2022, 11:10:23 AM »

TL;DR: Given that adding hullmods would break the utility-mod status of the mod and that a "apply to all ships of the same variant" button in the GUI seems to accomplish the goal almost as well, I'm currently favoring that approach. Feel free to try to convince me otherwise.

I'm not that educated on the subject, but some mods utilize dynamic hullmods. As each ship has an individual ID, the mod stores relevant information somewhere (I believe), and apply the effects based on this thing.
If I understand your suggestion correctly, that's pretty much what I meant by:
Quote
Or maybe simply a single hullmod called something like "AGC_CopyModesFromSameVariant" that, when applied to a ship, searches your fleet for ships with the same type and variant name and, if it finds one with non-null modes, applies them to the ship, would be possible.
If you meant something different, would you mind elaborating further?

Quote
In the firing mode GUI, there can be 3 save options: per-ship, per-variant, per-hull. You open the GUI, select a ship, and change your stuff, then you save it in one of the ways. And on the ship refit screen, just one hullmod can control them all. If the hullmod is installed, your mod will check for the ship ID, if it doesn't find anything for that ID, it can check the variant, if it cannot find anything for the variant, it can check the hull type.
That's an interesting idea, however, I feel like, for non-autofitting use this would just be an additional required step. If you, let's say, have a single Hammerhead in your fleet it seems like an unnecessary step to first have to go to the GUI to set the weapon modes up and then go back to the refitting screen to apply them by adding the hullmod. Additionally, saving per-hull seems kind of risky, since different variants are likely to have different weapons. So if you e.g. have 2 hammerheads, one is an SO hammerhead with reapers in group 1 (and assault chainguns in group 2) and the other is a long range Hammerhead with 2 HVDs in group 1, it seems unlikely that you would want the same modes per weapon group for both. Correct me if I'm wrong, but I feel like this idea wouldn't work all too well in practice =/

Quote
Of course, as you've said, the GUI can also have an option to apply the firing mode selections for the similar types; it already does it per-ship, the other options could be per-variant and per-hull like the hullmod suggestion above.
I think this is currently my preferred option. I don't really see enough benefit in a hullmod-based approach to justify breaking mid-campaign updatability and removability. But I think I'll just implement the per-variant option, as I don't see much use in a per-hull variant. Doing a per-hull variant would probably be super easy to implement once a per-variant version is finished, so if you can give me a convincing argument why a per-hull option would be beneficial, I'm open to change my mind, though =)

Quote
Anyhow, just spit-balling here. Thank you for the mod =)
You're very welcome and thanks for the suggestions!

DesperatePeter

  • Commander
  • ***
  • Posts: 167
    • View Profile
Re: [0.95.1a] AdvancedGunneryControl 0.11.0
« Reply #111 on: January 25, 2022, 11:58:14 PM »

New pre-release (https://github.com/DesperatePeter/starsector-advanced-weapon-control/releases/tag/0.12.1) is out.

It includes the "copy modes to all ships of the same variant" feature in the GUI as well as adding a help hotkey (?-key by default) that will print current key bindings when pressed in combat.

In the interest of persistent setting, configuration for allies, etc, have you considered creating a hullmod set for applying your settings? If they were sorted to the end of the alphabet I think the menu bloat would be manageable and it would allow much more convenient use. You could even have AGC settings saved in custom variants. Apologies if it's been discussed before.
Please let me know if this works for you. As mentioned before, it's a tiny bit more work than having modes directly applied when autofitting, but imho should still do the trick and be a lot easier than having to manually set up modes for every ship.

grinningsphinx

  • Captain
  • ****
  • Posts: 328
    • View Profile
Re: [0.95.1a] AdvancedGunneryControl 0.11.0
« Reply #112 on: January 26, 2022, 08:15:44 AM »

ty for the update!

When i press J, im only seeing six groups in the interface, however there are seven weapon groups when i assigned via the refit fleet interface. Am i missing something here?

EDIT: Getting rid of all old instances of mods and then reinstalling all of them fixed...Chalked up to user error!
« Last Edit: January 28, 2022, 07:02:55 PM by grinningsphinx »
Logged

DesperatePeter

  • Commander
  • ***
  • Posts: 167
    • View Profile
Re: [0.95.1a] AdvancedGunneryControl 0.11.0
« Reply #113 on: January 28, 2022, 07:35:31 AM »

After some more testing, I feel like stuff seems to be working fine, so it's time to crowd-source the testing. I just released 0.13.0 (https://github.com/DesperatePeter/starsector-advanced-weapon-control/releases/tag/0.13.0) as a full release.
It's mostly the same as 0.12.1, I just added a noPD mode, which turns PD-weapons into regular weapons and is disabled by default, and some minor polish.
Also, I recorded a new video showcase for the mod, albeit I still suck at making videos =/

Let me know if you experience any issues.

ty for the update!
You're very welcome! =)

Quote
When i press J, im only seeing six groups in the interface, however there are seven weapon groups when i assigned via the refit fleet interface. Am i missing something here?
Unfortunately, I was unable to reproduce this problem =/
Has anyone else experienced this issue?

lyravega

  • Commander
  • ***
  • Posts: 140
    • View Profile
Re: [0.95.1a] AdvancedGunneryControl 0.11.0
« Reply #114 on: January 28, 2022, 11:15:18 AM »

Unfortunately, I was unable to reproduce this problem =/
Has anyone else experienced this issue?
Could it be some scaling issue or something like that? No problems with the 7th group on my end. My only problem is I cannot read the last option (#10, I can read the top of it, but if there's anything below that, I cannot see it).

By the way, is it possible to add a ForceAutofire suffix command for individual groups? It's for missiles mostly; with some missiles AI tends to be extremely conservative, when it can just spam them and be done with the battle. ForceAutofire works like a charm for those missile groups, and not having to set a do-not-fire suffix for all the other groups seems not only more logical, but also safer in my opinion. As missiles (well, most missiles) don't generate flux, it can be a suffix option for missile groups instead of 'Holdfire<Flux'. (bonus for "retreat after unloading all missiles" command, heheh :D)

Also, if I may request/suggest another thing, is it possible to have an option somewhere that makes changes in-battle temporary? Or is there a way to restore them to pre-combat values after one? Actually, is there an option for that already?!
« Last Edit: January 28, 2022, 11:25:03 AM by lyravega »
Logged

grinningsphinx

  • Captain
  • ****
  • Posts: 328
    • View Profile
Re: [0.95.1a] AdvancedGunneryControl 0.13.0
« Reply #115 on: January 28, 2022, 07:01:18 PM »

I just ran into the conservative missile issue recently with large low ammo count torps...But the ship has inbuilt missile forges constantly restoring ammo. The way the game sees it though is you have 7 non-regen torps, and will be frustratingly conservative about firing them off.



« Last Edit: January 28, 2022, 07:04:09 PM by grinningsphinx »
Logged

DesperatePeter

  • Commander
  • ***
  • Posts: 167
    • View Profile
Re: [0.95.1a] AdvancedGunneryControl 0.13.0
« Reply #116 on: January 29, 2022, 01:06:09 AM »

EDIT: Getting rid of all old instances of mods and then reinstalling all of them fixed...Chalked up to user error!
Awesome, thanks for letting me know!

My only problem is I cannot read the last option (#10, I can read the top of it, but if there's anything below that, I cannot see it).
I should probably try to reduce the number of options xD I think it would be possible to e.g. combine ship/fleet-wide options into a single option, where, if you e.g. hold down ctrl it affects the whole fleet, otherwise only the current ship.

Quote
By the way, is it possible to add a ForceAutofire suffix command for individual groups? It's for missiles mostly; with some missiles AI tends to be extremely conservative, when it can just spam them and be done with the battle. ForceAutofire works like a charm for those missile groups, and not having to set a do-not-fire suffix for all the other groups seems not only more logical, but also safer in my opinion. As missiles (well, most missiles) don't generate flux, it can be a suffix option for missile groups instead of 'Holdfire<Flux'. (bonus for "retreat after unloading all missiles" command, heheh :D)
I think a ForceAutofire suffix is a nice idea, since full ForceAutofire is often a bit too much. It would have to be coupled to a ShipMode such as e.g. "ForceAutofire(SuffixOnly)" though, as a weapon AI plugin doesn't have the necessary permissions to do this. It would be even cooler if you could set this AND a flux-suffix, but the only way I can think off that would allow this would be modular modes (which is something I am considering but would be a lot of work) or prefixes (and I don't wanna go down that route^^).

I had originally planned to add more command ship modes (such as "RetreatWhenCRLow" etc.), but someone informed me that the mod Automated Commands exists and I don't want to have too much overlap between the two mods. I might actually remove the Retreat(Hull<50%) mode in the future for that reason.

Quote
Also, if I may request/suggest another thing, is it possible to have an option somewhere that makes changes in-battle temporary? Or is there a way to restore them to pre-combat values after one? Actually, is there an option for that already?!
Also a good idea!

The easiest (and potentially cleanest) way to implement this would to simply have a setting in settings.editme for this. If set to true, changes made during combat are temporary, otherwise they stick around.

Another option would be to have this option be toggle-able via hotkey (with maybe a default-setting defined in settings.editme). In theory, that sounds better, but personally I would probably constantly forget to toggle this and get frustrated xD

Lastly, adding "double-bookkeeping" would also be an option. I.e. modes set in the GUI would get applied to both books (let's call them A and B), changes made in combat only get applied to book A and when loading modes, they also get loaded from book A. Then there would be an option (in the GUI and/or via hotkey) to reset book A to the state of book B.

From an ease of implementation and usage standpoint, the first option sounds the best to me.

From a flexibility standpoint, the last option seems preferable. Though it does run the risk of making the usage of the GUI less intuitive (should book A or B be displayed in the GUI? If book B gets displayed, there would probably need to be an option like "write book A into book B" to persist changes made in combat. Otherwise, there would need to be an option like "reset book A to book B". Also, this would be another concept that people would need to understand to successfully use the mod. It's probably very intuitive to understand if you've run into this issue before, but less so when you are using the mod for the first time).

Thanks for the feedback, let me know what you think!

lyravega

  • Commander
  • ***
  • Posts: 140
    • View Profile
Re: [0.95.1a] AdvancedGunneryControl 0.13.0
« Reply #117 on: January 30, 2022, 12:24:15 AM »

I should probably try to reduce the number of options xD I think it would be possible to e.g. combine ship/fleet-wide options into a single option, where, if you e.g. hold down ctrl it affects the whole fleet, otherwise only the current ship.
Whole fleet options kinda seems dangerous to me, if you are using lots of different ship types - never used it to not mess up with individual ship settings to be honest. Copy to variant is great, though =) There is a separator that seems to be doing nothing, and save/load options could be combined under one setting if you want to cram everything in one.

I think a ForceAutofire suffix is a nice idea, since full ForceAutofire is often a bit too much. It would have to be coupled to a ShipMode such as e.g. "ForceAutofire(SuffixOnly)" though, as a weapon AI plugin doesn't have the necessary permissions to do this. It would be even cooler if you could set this AND a flux-suffix, but the only way I can think off that would allow this would be modular modes (which is something I am considering but would be a lot of work) or prefixes (and I don't wanna go down that route^^).
Multiple suffixes that you can use would be nice to be honest, and that's exactly what I asked for - a suffix for ForceAutofire, not an AI (one of the bottom options, not the top one as it doesn't make sense in the top area anyway). For now, I believe you can only allow it for missile-only groups where flux isn't a concern - even though there are a few missiles that generate flux, it should be a safe option I think. Just like how you cannot set some AI PD-related stuff on non-PD weapons, perhaps?
I had originally planned to add more command ship modes (such as "RetreatWhenCRLow" etc.), but someone informed me that the mod Automated Commands exists and I don't want to have too much overlap between the two mods. I might actually remove the Retreat(Hull<50%) mode in the future for that reason.
To be honest, yours' is doing it without a hullmod; it's doing the same thing in a different way. It's up to you of course!

The easiest (and potentially cleanest) way to implement this would to simply have a setting in settings.editme for this. If set to true, changes made during combat are temporary, otherwise they stick around.

Another option would be to have this option be toggle-able via hotkey (with maybe a default-setting defined in settings.editme). In theory, that sounds better, but personally I would probably constantly forget to toggle this and get frustrated xD

Lastly, adding "double-bookkeeping" would also be an option. I.e. modes set in the GUI would get applied to both books (let's call them A and B), changes made in combat only get applied to book A and when loading modes, they also get loaded from book A. Then there would be an option (in the GUI and/or via hotkey) to reset book A to the state of book B.

From an ease of implementation and usage standpoint, the first option sounds the best to me.

From a flexibility standpoint, the last option seems preferable. Though it does run the risk of making the usage of the GUI less intuitive (should book A or B be displayed in the GUI? If book B gets displayed, there would probably need to be an option like "write book A into book B" to persist changes made in combat. Otherwise, there would need to be an option like "reset book A to book B". Also, this would be another concept that people would need to understand to successfully use the mod. It's probably very intuitive to understand if you've run into this issue before, but less so when you are using the mod for the first time).
The second option could also work in reverse. Book A could display your persistent settings, and Book B appears only if you made a change during combat, so that you can revise them and apply them to persistent book. Book A, the persistent settings are always loaded, Book B is only there for you to check the changes. When checking out a ship's options, an option could be used to toggle between A and B so that you can see what exactly you've changed. Unless you apply the changes to A yourself, B will vanish on the next battle, something like that. I apologize if this is what you meant by the whole thing, and I misunderstood it in reverse.

That said though, the whole Book A & B thing would make the UI even more cluttered in my opinion. Cluttered is maybe the wrong word, confusing perhaps is the right word. As you've said, what will the user be looking at when they open the GUI? Where will it say that which settings are permanent, and which were temporary; used in your previous battle/test? Unless you can create a completely custom UI, you might not have the necessary tools to deliver that information as cleanly as possible I think. And as far as modding in Starsector goes, I've seen an over-reliance on dialogue and intel panels - either it's easier, or the rest are somewhat hardcoded an inaccessible. To be honest, seeing your 'excel-sheet' for the options was a surprise to me, no other mod I've seen has a menu like that (outside the intel screen).

The first option seems preferable. A setting in the file that's set to false by default; that I need to change in order to make combat changes temporary seems to be exactly what I'm asking for, and thus I'm biased :D If you can detect simulations, the option can be split into two; changes in combat being temporary, and changes in simulations being persistent for example. Though that's another thing. A button to use in-combat to save the temporary changes would go alongside this nicely.

Using the GUI to apply/revert combat changes could also be an option in the GUI; it'd go alongside the persistent/temporary in-combat change setting in the options file. The separator option (is it used for something, by the way?) on 4 for example, if the ship in question had an in-combat change, it can say 'Apply settings from last combat' and when you press it, it can turn into 'Revert changes from last combat'. It is grayed out otherwise. It's a simplified version of Book A/B, per ship, and only appears (not grayed-out) if there's a change.

Anyway, all in all, I'd say the easiest solution might be the best. You can use that time to enjoy the game / do other things instead of making something that might be used by just a handful. I mean I can always try to remember changing stuff back after a battle =)
Logged

DesperatePeter

  • Commander
  • ***
  • Posts: 167
    • View Profile
Re: [0.95.1a] AdvancedGunneryControl 0.13.0
« Reply #118 on: January 30, 2022, 11:42:43 PM »

Whole fleet options kinda seems dangerous to me, if you are using lots of different ship types - never used it to not mess up with individual ship settings to be honest. Copy to variant is great, though =) There is a separator that seems to be doing nothing, and save/load options could be combined under one setting if you want to cram everything in one.
I think I found a decent solution for this one. The whole code for the GUI was getting a bit messy, since I just kept on slapping on more options, so I did a lot of refactoring. Now, by default, only the current ship is affected. If you hold shift, the whole fleet is affected and if you hold control, all loadouts are affected. I might try to add a confirmation dialogue to whole-fleet options, though. I'll put out a new pre-release soon (TM) to get some feedback on this.

Quote
Multiple suffixes that you can use would be nice to be honest, and that's exactly what I asked for - a suffix for ForceAutofire, not an AI (one of the bottom options, not the top one as it doesn't make sense in the top area anyway). For now, I believe you can only allow it for missile-only groups where flux isn't a concern - even though there are a few missiles that generate flux, it should be a safe option I think. Just like how you cannot set some AI PD-related stuff on non-PD weapons, perhaps?
Yeah, I understand that you would like a suffix that does this^^ Unfortunately, that's technically not possible. Suffixes are part of the AutofireAIPlugin, which gets loaded into the weapon. When something that isn't the active ShipAI, such as an AutofireAIPlugin, gives a command to the ship, the game will throw an exception, meaning the game will crash. That's why I said that both a suffix and a ShipMode would be required. That way, the suffix would essentially do nothing and the ShipMode would simply check if a group contains that suffix.

I could, in theory, simply implement the "force autofire for all weapon groups that have a ForceAutofireSuffix" ShipAI and apply it to every ship, even when set to default. But to be completely honest, I don't really want to. So far, when you set something to default, it will keep its original AI. If I did this, all ships would end up with a custom ShipAI, even if set to default, which seems risky/unclean. I'm the kind of person that gets really annoyed when software does stuff like that, so I don't really want my software to do stuff like that... xD

Also, I don't think it's really necessary to restrict it to missile weapons. There are some missile weapons (e.g. the [REDACTED] antimatter missiles) that generate lots of flux and some non-missile weapons that barely generate any flux.

Would you still be interested in this suffix, even if it only works if you also enable the ForceAutofire(SuffixOnly) ShipMode?

Quote
To be honest, yours' is doing it without a hullmod; it's doing the same thing in a different way. It's up to you of course!

I'll think about it. I would at the very least want to talk to the author of automated commands first.

Quote
The second option could also work in reverse. Book A could display your persistent settings, and Book B appears only if you made a change during combat, so that you can revise them and apply them to persistent book. Book A, the persistent settings are always loaded, Book B is only there for you to check the changes. When checking out a ship's options, an option could be used to toggle between A and B so that you can see what exactly you've changed. Unless you apply the changes to A yourself, B will vanish on the next battle, something like that. I apologize if this is what you meant by the whole thing, and I misunderstood it in reverse.

That said though, the whole Book A & B thing would make the UI even more cluttered in my opinion. Cluttered is maybe the wrong word, confusing perhaps is the right word. As you've said, what will the user be looking at when they open the GUI? Where will it say that which settings are permanent, and which were temporary; used in your previous battle/test? Unless you can create a completely custom UI, you might not have the necessary tools to deliver that information as cleanly as possible I think. And as far as modding in Starsector goes, I've seen an over-reliance on dialogue and intel panels - either it's easier, or the rest are somewhat hardcoded an inaccessible. To be honest, seeing your 'excel-sheet' for the options was a surprise to me, no other mod I've seen has a menu like that (outside the intel screen).

The first option seems preferable. A setting in the file that's set to false by default; that I need to change in order to make combat changes temporary seems to be exactly what I'm asking for, and thus I'm biased :D If you can detect simulations, the option can be split into two; changes in combat being temporary, and changes in simulations being persistent for example. Though that's another thing. A button to use in-combat to save the temporary changes would go alongside this nicely.

Using the GUI to apply/revert combat changes could also be an option in the GUI; it'd go alongside the persistent/temporary in-combat change setting in the options file. The separator option (is it used for something, by the way?) on 4 for example, if the ship in question had an in-combat change, it can say 'Apply settings from last combat' and when you press it, it can turn into 'Revert changes from last combat'. It is grayed out otherwise. It's a simplified version of Book A/B, per ship, and only appears (not grayed-out) if there's a change.

Anyway, all in all, I'd say the easiest solution might be the best. You can use that time to enjoy the game / do other things instead of making something that might be used by just a handful. I mean I can always try to remember changing stuff back after a battle =)
In theory, you can pretty much build a custom GUI in whichever way you want. As soon as you deviate too much from what Starsector intended, you are firmly in manual OpenGL-territory, which gets very messy & complicated very quickly xD My custom GUI is mostly default Starsector with just a sprinkling of custom OpenGL stuff. Implementing the kind of GUI that conveniently & intuitively displays the content of two different books would put it into 90% custom OpenGL mode, which is probably a bad idea^^

So I think I agree with your assessment, that the first option alongside a "persist changes"-hotkey is probably the cleanest way to do things (and should be easy enough to implement). I don't even think it's necessary to differentiate between simulation/combat, since you can always press the "persist changes"-hotkey when you want to set stuff up in simulation.

Update:
If anyone is interested, my current roadmap looks something like this:
First, I want to implement a couple QoL-improvements and requested features, such as the ones discussed in this post and maybe the option to apply suggested modes to enemy ships (disabled by default, as this is a bit gimmicky, but has been requested via Discord) and playtest a little more.

After that, I want to start working on a 1.0-version, which will probably change quite a few things. Currently, my plans for 1.0 are roughly:
  • Replace the GUI with a refit-screen integration. Not yet 100% sure how/if this will work.
  • Replace weapon group modes and suffixes with modular tags. So, rather than e.g. setting a group (with HE weapons) to Opportunist with a HoldFire(Flux>75%) suffix, you'd e.g. assign the AvoidShields, Conservative, HoldFire(Flux>Threshold) and Threshold=75% tags or so. I still need to come up with a good control scheme to make this work in combat, though. My current best idea is: You can (either in settings.editme or in a special GUI) define presets (i.e. collections of tags) which you can cycle through in combat the same way you can currently cycle weapon groups. Alternatively, since 0.95 it might actually be possible to make a GUI show up in combat? Not sure though^^

As this will require re-writing large parts of the mod, don't get your hopes up that this will happen anytime soon, though...
I might occasionally put out a work-in-progress build in case anyone wants to help with testing, but I most likely won't be paying much attention to feature-requests etc. until I'm done.
« Last Edit: January 31, 2022, 01:16:56 AM by DesperatePeter »
Logged

lyravega

  • Commander
  • ***
  • Posts: 140
    • View Profile
Re: [0.95.1a] AdvancedGunneryControl 0.13.0
« Reply #119 on: January 31, 2022, 05:27:34 AM »

I think I found a decent solution for this one. The whole code for the GUI was getting a bit messy, since I just kept on slapping on more options, so I did a lot of refactoring. Now, by default, only the current ship is affected. If you hold shift, the whole fleet is affected and if you hold control, all loadouts are affected. I might try to add a confirmation dialogue to whole-fleet options, though. I'll put out a new pre-release soon (TM) to get some feedback on this.
Seems pretty straightforward, and will reduce the clutter I'm sure.

Also, I don't think it's really necessary to restrict it to missile weapons. There are some missile weapons (e.g. the [REDACTED] antimatter missiles) that generate lots of flux and some non-missile weapons that barely generate any flux.

Would you still be interested in this suffix, even if it only works if you also enable the ForceAutofire(SuffixOnly) ShipMode?
It's not much of a big deal to be honest. I thought forcing autofire per weapon group could be possible, if it's crashing the game, not really necessary :D

In theory, you can pretty much build a custom GUI in whichever way you want. As soon as you deviate too much from what Starsector intended, you are firmly in manual OpenGL-territory, which gets very messy & complicated very quickly xD My custom GUI is mostly default Starsector with just a sprinkling of custom OpenGL stuff. Implementing the kind of GUI that conveniently & intuitively displays the content of two different books would put it into 90% custom OpenGL mode, which is probably a bad idea^^

So I think I agree with your assessment, that the first option alongside a "persist changes"-hotkey is probably the cleanest way to do things (and should be easy enough to implement). I don't even think it's necessary to differentiate between simulation/combat, since you can always press the "persist changes"-hotkey when you want to set stuff up in simulation.

Update:
If anyone is interested, my current roadmap looks something like this:
First, I want to implement a couple QoL-improvements and requested features, such as the ones discussed in this post and maybe the option to apply suggested modes to enemy ships (disabled by default, as this is a bit gimmicky, but has been requested via Discord) and playtest a little more.

After that, I want to start working on a 1.0-version, which will probably change quite a few things. Currently, my plans for 1.0 are roughly:
  • Replace the GUI with a refit-screen integration. Not yet 100% sure how/if this will work.
  • Replace weapon group modes and suffixes with modular tags. So, rather than e.g. setting a group (with HE weapons) to Opportunist with a HoldFire(Flux>75%) suffix, you'd e.g. assign the AvoidShields, Conservative, HoldFire(Flux>Threshold) and Threshold=75% tags or so. I still need to come up with a good control scheme to make this work in combat, though. My current best idea is: You can (either in settings.editme or in a special GUI) define presets (i.e. collections of tags) which you can cycle through in combat the same way you can currently cycle weapon groups. Alternatively, since 0.95 it might actually be possible to make a GUI show up in combat? Not sure though^^

As this will require re-writing large parts of the mod, don't get your hopes up that this will happen anytime soon, though...
I might occasionally put out a work-in-progress build in case anyone wants to help with testing, but I most likely won't be paying much attention to feature-requests etc. until I'm done.

Yeah, the manual OpenGL territory is the scary part; it'll look out of game for the most part, and if you can make it look a part of the game, you should release it as a GUI library instead for all to benefit to be honest :D The roadmap looks nice. I'm not sure what you mean by making a GUI showing up in combat though. A GUI to adjust stuff in-combat, or a redesigned info-box of some sorts?
Logged
Pages: 1 ... 6 7 [8] 9 10 ... 21