Fractal Softworks Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

Starsector 0.98a is out! (03/27/25)

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 - Lukas04

Pages: 1 [2] 3
16
The 30 ships limit is generaly understandable, but can also feel pretty Awkward for certain fleet builds. In the end you just get more value with higher DP ships.
I think giving a +5 to the limit on both Wolfpack Tactics and Support Doctrine would feel nice quite nice and negates the issue atleast a little bit.

17
Have been rendering a the same thing (a full screen background) using two seperate custom campaign entities, so that when you swap between both systems, it should keep the same render, doing this to test some other things.

Doing so ive noticed that theres two frames in which the render function isnt called for either of them, which can give some off results.

Video of it below, you can see it with bare eyes and can see it stop rendering for the final frame in hyperspace and stop rendering for the first frame in the new system.
https://streamable.com/8trgew

18
I think the persean abyss introduced in 0.97a gives a lot of oppertunity to add more towards hyperspace for mods, but there are a few components missing to make it more seamless.
Im gonna mention two things that would be really helpful and i think relatively easy to implement that should help a lot with it.



1. A Settings.json config that disables the clamping of the hyperspace map.

The default behaviour of the hyperspace map (or any map in general) is to not allow moving the camera past the maps bounds.
I think it would be very useful to be able to disable this behaviour through a simple config that a mod can disable if needed.

2. Add a dynamic stat to the player fleet that modifies the abyssal depth.

Replacing the entire "HyperspaceAbyssPluginImpl" class just to modify the abyssal depth would be prone to incompatibility between mods, and is a rather jank way to do so.
I am currently considering adding areas outside of the map bounds, and it would be nice to be able to add a multiplier to the current depth to avoid abyssal behaviour, like the slow down or background change when needed.

3. Enabling a Terrain Plugin to render to the starscape map.

This one is optional, as i asume this requires more work than the others, and is not as essentialy, but being able to only render towards the non-starscape version of the map feels very limiting even outside of the scope im talking here, as most people appear to prefer using the starscape map.



Overall i think most of this would be very useful to modders, as the main area of the persean abyss is very small, and you wouldnt want to clutter it to much, or come in to conflict with whatever a future vanilla update is adding. I would really appreciate if the first two points could be integrated!

19
Mods love to add their own types of automated ships, but a part that tends to be annoying is the reliance on the automated ships hullmod.
Sometimes mods would prefer to add their own handling of automated points, or have extra flavor, different icon or utility added to the hullmod, but as it is you have to add the hullmod on all automated ships, as otherwise the officer picker wont recognize it as an automated ship.

So my suggestion is to either:

1. Add a "automated" tag to hullmods and use this for detecting if something is an automated ship.
2. Check if any of the ships hullmods inherit from the "Automated" hullmods plugin.


20
Making my own modded neural-link adjacent ability currently, and i noticed that giving the ability a bit of slowdown on switch helps to give the ability some impact, and makes it more comfortable to use.
Just a three times time slow down (applied to the engine only, not the ship) that decays over a 4th or half of a second feels pretty good as it doesnt feel disruptive, and feels a bit fairer when you swap in to a new situation.

Example Video: https://streamable.com/0lzdxx


21
Bug Reports & Support / DEMs missing certain damage modifiers
« on: April 21, 2024, 07:01:47 AM »
DEMs currently adjust for the stat changes to ballistic/energy/missile mods, but the "damageToX", X being the hullsize, stats are not currently being applied to DEMs.

This means that if a hullmod adjusts this stat, it does not apply to the DEMs damage.
This can make DEMs both much worse or much better on certain types of ships that adjust for these stats. This also means that skills like Wolfpack tactics have no effect on DEM damage.

22
Fleets previews display bars of how many smods & dmods the ships in the fleet have.
It would be useful to be able to display modded hullmods like it aswell, in case mods have their own, custom unique type of hullmods that would be important to warn the user of.

In terms of how it should be implemented, it would be nice if just returning from a method like "getPreviewBarColor" would cause a bar for the hullmod to be displayed with the specified color.

23
Suggestions / [Modding Request] Officer Picker Listener
« on: January 21, 2024, 06:58:59 AM »
Having a listener for the officer picker in the refit/fleet window would be quite useful and solve a lot of issues with the existing systems.
At the moment, you can only have officer pickers that either select a human officer within your fleets list of officers, or one that creates AI core people based on the cores in your inventory.

This feels rather limitting, as it restricts the choice to those two systems.
Thus, being able to add a listener that is called when the menu is opened, with the following properties:

1. Has access to the ShipAPI/Variant/Member of the selected ship, making it possible to filter based on ship, hullmods, etc.
2. Is able to add PersonAPIs to the list of selectable officers.
3. Can prevent the basegames & lower priority listeners from adding PersonAPIs to the picker if wanted.

This would allow to create a lot more types of ships that may be possible, but have rather clunky implementations and feel unwieldy for the player.
Some example usecases are:

1. An Automated Ship that can only install certain cores
2. An Automated Ship that could decide between different personalities, having rather a built-in set of cores that you can pick one from.
3. Automated ships that do not rely on the "Automated" Hullmod, or allow for the creation of a custom "Automated" Hullmod through this listener.
4. Ships that could house both humans or ai cores.
5. Human Officers that can only be put in to certain ships (Specialities, etc)
6. Ways to add new types of officers besides ai-cores and humans.

And the list goes on, but needless to say it would open the doors for quite a few things.
None of those things are something that vanilla probably needs, but not having a neat way to handle most of those cases has been a struggle so far.

24

Looking for a server about modmaking for starsector?



Click on the Banner above to join!

"Galatia Academy" is a small discord intended for people to discuss modding questions or to share their modded works, and in general just exchange about anything starsector modding.
Be that configuration, spriting, drawing or programming for anything starsector.
The servers goal is to give a platform for improving at making mods, but also just create a positive vibe in which you can share your creative passion.

This server is specificly for mod creation, if you want to chat about just playing starsector, we recommend checking out USC instead.


25
Suggestions / Make AI-Cores show their Point Multiplier on hover
« on: January 07, 2024, 06:16:29 PM »
Its something ive been doing for my mods for a bit, and i think it would be a good vanilla mechanic to have for the three vanilla cores.



Ive seen a lot of people that are even unaware about the points multiplier, since the only place that its mentioned at is in the automated ships skill description.

26
The hullmod picker filters doesnt take the new 0.96a method called "showInRefitScreenModPickerFor" in to account. This causes them to show that there are a certain amount of hullmods in a category, even if there arent.

For example, in this case i have a phase hullmod that only shows up if the ship has another hullmod installed, one that essentialy signifies that its part of a lineup.
In the following screenshot im looking at a Medusa, that of course doesnt ahve that built-in hullmod, so my other hullmod doesnt appear in the list, the filter however will still say that 3 hullmods are available.


27
Bug Reports & Support / Bug in BaseEntity class
« on: September 02, 2023, 11:19:02 PM »
When the "customData" variable in "BaseEntity" is null, the "getCustomData()" method returns a new LinkedHashMap, it however does not assign that map to the Entities customData, so if you were to add something to it, it wouldnt actually be added to the entities customData. This causes scenarios where adding something to that list directly does not work, but using the "setCustomData()" method does, as that method handles it correctly.

28
Adding hullmods through "ShipVariantAPI.addPermaMod(ID, true)" seems to be broken.
It adds the Smod as it is supposed to, however the added smod does not count towards the limit of smods on the ship.

Tested this with only Lazylib + Console Commands active, using the following runcode
Code
RunCode
import com.fs.starfarer.api.combat.ShipVariantAPI;
import com.fs.starfarer.api.fleet.FleetMemberAPI;
import com.fs.starfarer.api.impl.campaign.ids.HullMods;
import com.fs.starfarer.api.loading.VariantSource;
import com.fs.starfarer.api.util.Misc;

for (FleetMemberAPI member : Global.getSector().getPlayerFleet().getFleetData().getMembersListCopy())
        {
            ShipVariantAPI variant = member.getVariant().clone();
            variant.setOriginalVariant(null);
            variant.setHullVariantId(Misc.genUID());
            variant.setSource(VariantSource.REFIT);
            member.setVariant(variant, false, true);

            member.getVariant().addPermaMod(HullMods.ADVANCED_TARGETING_CORE, true);
            member.updateStats();
        }
Example Video showcasing the issue
Tested on 0.96a RC10

In case this is as i expect a bug and not just missing the execution of some other code, is there any way for modders to fix the behaviour before a patch is released?

29
1. The Problem

Starsector lategame has a few issues, and while its generaly a variety of things (lack of new exploration content, basicly having found all the loot you need), Colonies are often an aspect that seem more broken in design than in lack of content.

Colonies, while really cool, are often also some of the weakest gameplay out of an otherwise great package. but despite that, due to the large power boost they give, they start taking up a significant part of the gameplay loop in the lategame. While this isnt an issue by itself, as moving the primary way the player gets put in to battles from exploration to colony management makes sense, it often fails to actually put the player in to the combat gameplay as it is supposed to. This is improved with things like the Hostile Activity event now, but at its root it slowly expands to take up all your time.

A player has to make a choice on where they spend their credits on. In the lategame, this is often:
1. Expanding the Colony.
2. Expanding the players fleet.

The issue with this is, that putting money in to the fleet is wasteful. Why ever spend money on something that makes far less money than the simple upgrade you could purchase for the colony. Just upgrade the colony, wait a few months, and boom, now you have even more money, which you can use to make a stronger fleet!....but you spot another upgrade that could improve your cashflow even more, so you decide to go for it first, and repeat. This is an extremely passive playstyle which the game heavily encourages. This is not an issue every player will run in to, but it is an easy trap to find yourself in. You will often see people that reach this part of the game, waste a year on colony, and then stop their run.

2. Proposed Solution

My personal solution to this would be to split the players currency and the player factions currency in to seperate inventories.
Implementing this basicly means:

- Faction Currency is used for expanding colonies and the faction.
- Player Currency is used to expand the players fleet.

The player of course would still get their own share from colony income, but not a cut that breaks the games scaling, becoming a late-game variation of a faction commission, which will help you keep your fleet afloat, rather than paying for all of its expansion. This removes the feedback loop that pressures players in to hyperfocusing on the colony improvement.

Now, keeping the two entirely seperate however would be a mistake too. The player should be able to move their own money in to the factions bank, but this should be something they only have to do early game to jumpstart their faction. This keeps the requirement of a certain amount of progress from the player to reach this part of the game, without forcing the player to give their credits away for ever.

It opens the door towards more Structures and Industries that either provide quality of life or incentives that arent displayed in forms of credits.
In the current game, this is basicly Heavy Industry, as it allows you to construct your own ships.
Meanwhile tech-mining, as it doesnt create money, unless you get really, really lucky with its rewards and sell them, is often a less desireable choice.
Mods like IndEvo already play in to this side of colonies, and i think this change would make it even more desireable to use those kinds of structures first, instead of immediately growing the factions growth.


3. Side Effects

In the first place, it doesnt really make sense that the player, as a sole person, has access to the entire factions funding for just their own fleet. It basicly paints the player as a dictator by default. of course they basicly are as they have total control anyways, but i think the other aspects are easier to ignore.

Bounties become more desireable again as the cut from the faction income may provide the fleets upkeep, but not enough to expand it.

I think another large benefit is that having a colony fail is a lot less punishing.
You will still loose that colony, but that will be the only punishment you have. If one of your colonies really messes up right now, it can quickly make your fleet bankrupt.
This also means that you can introduce stronger colony threats without it feeling bullshitty, as there is a bit less on the line.



30
Suggestions / [Modding Request] More Tools to work with Locations
« on: May 28, 2023, 11:34:01 PM »
For some time now i wanted to request a few things in terms of Modding Tools to make creating "new" things with Locations/Starsystems possible or easier.
They are probably asking for to much, but i felt like they are worth mentioning atleast.


Creating Locations without adding them to the Sector List

As far as i can tell, the only way to create a location as of now is to use "Global.getSector().createStarSystem()
This method does its job, but it would be beneficial if there was a way to add a Location without it being added to the list of starsystems.

This is partially because it makes compatibility easier in some places. For example, i tried to make a system that is totally isolated and only accessible from one place.
However, since its added to the list of Starsystems, another mod managed to spawn fleets of its own within it.
Usually you can fix it with the right tags, but not all mods do it as well. In this case the workaround i found was to set my system as not generated by procgen (despite it being so) because that was the only variable the other mod checked for to filter out systems.

While it sometimes works, the system not being accessible from the standard list would often be a much easier solution.
I think it would also be slightly beneficial for performance, if i plan to generate many systems, but none of them should be accessible, it would help if they dont get considered from any script that has to iterate through every entity for some reason.

However i can understand that this may be to complicated to implement, depending on how the game is currently structured.

Making Hyperspace-Lookalikes possible

Currently, making a location that replicates how hyperspace is explored doesnt feel quite possible, but i think it would be a great ability to have.
Creating new explorable areas that dont flood the already over-modded Hyperspace would be a great way to add more exploration content without creating to much bloat.

To make this possible it would require a way to enable fuel consumption in a location. It would need a way to tell the game to display the system in the "Sector" tab of the Map UI, instead of the "System" one. This would let it display things like the Fuel-Range. There would also need to be a way to set a locations width and heigth.

While not limited to this application, having a way to delegate the Background Rendering in to another class would be great.
Currently we can only set what texture the background has, not how its sprite is rendered. After looking through the code, the rendering seems to be done in the "BackgroundAndStars" class, but even if that were to be exposed to the API, the only thing you could do with it would be to enable the WarpingSpriteRenderer that the Hyperspace uses, instead i think it would be great if you could insert a delegate in to a location that takes over the "renderBG" function instead. This would allow creating more unique effects for any kind of location.


Pages: 1 [2] 3