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)

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - SafariJohn

Pages: [1] 2 3 ... 14
1
Suggestions / Tech Mining Commodity Supply
« on: March 14, 2024, 08:50:15 AM »
Tech Mining is tedious to use right now and very low value. An easy way to make it less bad would be to let it supply commodities again. Say:

Scattered Ruins:
- 3 Metals
- 2 Organics
- 1 Supplies

Widespread Ruins:
- 4 Metals
- 3 Organics
- 1 Supplies
- 1 Heavy Machinery

Extensive Ruins:
- 5 Metals
- 4 Organics
- 2 Supplies
- 1 Heavy Machinery

Vast Ruins:
- 6 Metals
- 5 Organics
- 2 Supplies
- 2 Heavy Machinery

Supplies and Heavy Machinery are directly useful. Organics reduces non-habitable colony maintenance. And all of them provide income.

Probably too much income - could cap production by population. Size 3 gets full benefit from Scattered, while Vast requires size 6.

2
Modding Resources / [0.97a] RetroLib 1.0.1
« on: February 11, 2024, 07:05:06 PM »
RetroLib
By SafariJohn
Download v1.0.1
Requires LazyLib
Requires MagicLib


A framework for mods to provide ship conversion services.

Changelog:
Version 1.0.1
 Bug Fixes
 - Stopped built-in wings from dropping as LPCs when RetroLib strips a ship

Version 1.0.0
 - Initial release
[close]

3
Bug Reports & Support / Building Limbo Objective Deorbits REDACTED
« on: February 07, 2024, 09:40:42 AM »
Building a sensor array/comm relay/etc. at Limbo's objective causes the REDACTED orbiting it to stop orbiting because it replaces the orbit focus.

4
Suggestions / Ships Lit by Engines in Fleets
« on: January 15, 2024, 08:18:43 PM »
It'd be nice if ships were lit by their own engines on the campaign map, especially in nebula and black hole systems where there is no directional light source.

5
Suggestions / Priority Weapon Groups
« on: November 28, 2023, 08:41:45 PM »
Ship AI prioritizing autofire for weapon groups with a PD weapon when other weapons are not PD is a bug that should be fixed. However, why should the ship AI be hardcoded to prioritize any weapon group? I suggest moving "priority autofire" from the AI logic to the refit screen.

For sanity's sake, only one weapon group, besides all-PD groups, should be allowed prioritization.

6
Bug Reports & Support (modded) / Frigate With Fighters Does Not Engage
« on: October 11, 2023, 05:47:25 PM »
If a frigate without the CARRIER tag has fighters with >0 roam range, it will avoid enemies while all its fighters are alive. If one dies it will move in, but if its wing gets back to 100% then it retreats again.

7
Suggestions / Flux-Aware Battle Groups
« on: September 28, 2023, 06:00:40 PM »
I know I am often frustrated when I have several individually weaker ships facing one or two strong ships and they either won't move in or, worse, go one at a time. Another bad situation is when a low flux ship sits behind a high flux ship and neither of them will move.

I suggest adding combat groupings that allow players to direct a given set of ships to stick closer together, behave more aggressively at low flux, and back off faster when threatened.

To achieve the first, ships in a group should have a preference to move towards the group's center when they are too far away. "Too far away" being something like the sum of all members' collision circles.

For the latter two, apply a modifier to the flux the AI sees when it is deciding how to move. Not weapons, not shields, not actual flux, just for deciding movement. The AI modifier would range from -50% of max flux to +50% of max flux, depending on the ship's flux % and the group's average flux %. I tentatively suggest the following for the ranges, transitioning smoothly between them as group flux increases:
- at 0% group flux, the ship AIs would see -50% from 0% to 80% flux, then linearly to 0% from actual at 100% flux.
- at 50% group flux, they would see -50% at 0% flux, linearly increasing to +50% at 100% flux.
- at 100%, only at 0% flux would AIs see -50% flux - it would linearly increase to +50% of actual at 40% flux.




I also suggest allowing layering: multiple groups can belong to a higher group. Ships would not be shared between groups.


The factions could have standard groupings to differentiate their levels of organization. For example, pirates might not use groups at all, while the Church or Path might just put their whole fleet into one group. League, Hegemony, and TT would probably have 2-3 levels of simplistic groups, like all combat destroyers in one group for Hegs.

8
Bug Reports & Support (modded) / AoE Hits to Modules Still Damage Parent
« on: September 20, 2023, 01:33:44 PM »
When an AoE weapon like a Reaper hits a ship with modules or one of its modules, it damages both the ship and its module(s). I am pretty sure this was supposed to be removed because it "double dips" on damage, but I am still seeing it.

9
Suggestions / Trade Fleets Should Drop Cargo
« on: September 19, 2023, 07:58:59 PM »
It is a feature that the player can drop cargo to distract pirates. I think it would improve the game if trade fleets dropped some of their cargo when they felt threatened by transponder-off fleets.

- Player piracy would be easier and maybe less murderhobo-y
- Players would have a way to learn of the pirate distraction mechanic
- Pirates fleets could actually do pirate-y steal-y things

Might be helpful to also add an "estimated value" to cargo pods so the player can tell whether they want to accept a merchant's bribe.

10
Suggestions / AI Should Aim Hull For Hardpoints
« on: September 14, 2023, 12:20:19 PM »
Please make the AI aim its hull at where its hardpoints need to aim instead of the target's center. I was doing some testing and realize now that a lot of misses I have seen over the years have been because of this.

You can see the AI is aiming wrong in this picture - if the Gryphon dropped shields the Spike Driver shots from the frigate would miss.


11
Bug Reports & Support (modded) / Frigate 1 Port Launch Bay Visual Bugged
« on: August 30, 2023, 08:10:24 AM »
A frigate with a launch bay with only 1 location does not work right. The fighters and sparks appear at the center of the ship instead of at the launch bay's location.

Giving the bay 2 locations right next to each other bypasses the issue. Not sure if the ports can be right on top of each other, though +0 and -0 works.

12
Suggestions / Color-in Unknown Fleet Circles
« on: July 06, 2023, 08:17:56 AM »
When you see the composition of a fleet but not its faction, the broken fleet circle should show a "best match" faction color based on the ships (not checking hidden factions).

If you have seen the fleet closely enough to see its faction, the broken circle should just show the fleet's faction directly.

13
Discord user SoSD reported this crash:

Quote from: SoSD
crash after finishing salvage after combat

9183607 [Thread-3] ERROR com.fs.starfarer.combat.CombatMain  - java.lang.NullPointerException
java.lang.NullPointerException
    at scripts.world.Roider_SystemMusicScript.advance(Roider_SystemMusicScript.java:37)
    at com.fs.starfarer.campaign.CampaignEngine.advance(Unknown Source)
    at com.fs.starfarer.campaign.CampaignState.advance(Unknown Source)
    at com.fs.starfarer.BaseGameState.traverse(Unknown Source)
    at com.fs.state.AppDriver.begin(Unknown Source)
    at com.fs.starfarer.combat.CombatMain.main(Unknown Source)
    at com.fs.starfarer.StarfarerLauncher.o00000(Unknown Source)
    at com.fs.starfarer.StarfarerLauncher$1.run(Unknown Source)
    at java.lang.Thread.run(Thread.java:750)

I've attached Roider_SystemMusicScript.java and these are lines 36 and 37:

Code: java
        for (MarketAPI m : Global.getSector().getEconomy().getMarkets(system)) {
            if (m.isPlayerOwned()) continue; // Don't count player markets

The only way I can see a crash happening on line 37 is if EconomyAPI.getMarkets() returned a list that contained null. That seems like a bug to me.

14
Suggestions / Ship AI Feedback Messages
« on: June 18, 2023, 08:20:08 AM »
The ships giving more feedback as to what they're doing would also help immensely. When a ship disobeys a player's order, there is no feedback as to why the ship is ignoring the player's order. Having it say something like "holding off -- flux too high" or "too many enemy missiles" or "too many enemy ships nearby" or "being harassed by frigates" or "need more reinforcements" or whatever would help the player learn what the AI is actually thinking. Right now the system is pretty much opaque, so the player simply sees the AI disobeying commands without really understanding why, leading to player frustration.

Ships should somehow say things to the player that gives feedback on why they are behaving the way they are, especially when they are deviating from an order.

15
In an EveryFrameCombatPlugin subclass I have a Kotlin lateinit variable for the CombatEngineAPI which is set to the engine parameter of the init() method. I am getting a crash on new game at the end of the initial save because the variable has not been initialized. Most logical cause I can see is the class's advance() method is being called before its init() method.

I can just code around this case, but I can imagine this causing strange issues elsewhere.


EDIT:
Stacktrace
31229 [Thread-3] INFO  com.fs.starfarer.loading.scripts.B  - Loading class: kotlin.reflect.KVisibility
31238 [Thread-3] INFO  com.fs.starfarer.campaign.save.CampaignGameManager  - Saving stage 4
31238 [Thread-3] INFO  com.fs.starfarer.campaign.save.CampaignGameManager  - Saving stage 6
31437 [Thread-3] INFO  com.fs.starfarer.campaign.save.CampaignGameManager  - Saving stage 6B
31439 [Thread-3] INFO  com.fs.starfarer.campaign.save.CampaignGameManager  - Renaming [campaign.xml] to [campaign.xml.bak]
31439 [Thread-3] INFO  com.fs.starfarer.campaign.save.CampaignGameManager  - Renaming [descriptor.xml] to [descriptor.xml.bak]
31439 [Thread-3] INFO  com.fs.starfarer.campaign.save.CampaignGameManager  - Renaming [campaign.xml.inprogress] to [campaign.xml]
31440 [Thread-3] INFO  com.fs.starfarer.campaign.save.CampaignGameManager  - Renaming [descriptor.xml.inprogress] to [descriptor.xml]
31441 [Thread-3] INFO  com.fs.starfarer.campaign.save.CampaignGameManager  - Saving stage 7
31441 [Thread-3] INFO  com.fs.starfarer.campaign.save.CampaignGameManager  - Saving stage 8
31441 [Thread-3] INFO  com.fs.starfarer.campaign.save.CampaignGameManager  - Finished saving
31467 [Thread-3] INFO  com.fs.starfarer.loading.scripts.B  - Loading class: java.lang.StackTraceElement
31524 [Thread-3] ERROR com.fs.starfarer.combat.CombatMain  - kotlin.UninitializedPropertyAccessException: lateinit property engine has not been initialized
kotlin.UninitializedPropertyAccessException: lateinit property engine has not been initialized
   at roiderUnion.combat.TrackerSpeedBoost.advance(TrackerSpeedBoost.kt:28)
   at com.fs.starfarer.title.Object.L$Oo.o00000(Unknown Source)
   at com.fs.starfarer.combat.A.new.o00000(Unknown Source)
   at com.fs.starfarer.combat.CombatEngine.advanceInner(Unknown Source)
   at com.fs.starfarer.combat.CombatEngine.advance(Unknown Source)
   at com.fs.starfarer.title.TitleScreenState.advance(Unknown Source)
   at com.fs.starfarer.BaseGameState.traverse(Unknown Source)
   at com.fs.state.AppDriver.begin(Unknown Source)
   at com.fs.starfarer.combat.CombatMain.main(Unknown Source)
   at com.fs.starfarer.StarfarerLauncher.o00000(Unknown Source)
   at com.fs.starfarer.StarfarerLauncher$1.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
[close]

Pages: [1] 2 3 ... 14