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)

Pages: 1 2 [3] 4 5 6

Author Topic: [0.98a] RTSAssist (0.1.3)  (Read 23044 times)

Sominar

  • Ensign
  • *
  • Posts: 12
    • View Profile
Re: [0.98a] RTSAssist (0.1.2)
« Reply #30 on: April 25, 2025, 12:30:43 PM »

Two issues. One is a crash although there may have been modded ships thrown in by the bounty fleet, although not sure if the enemy having modded ships is an issue; all I had were onslaughts, dominators, etc vanilla ships.


Code
1781466 [Thread-2] ERROR com.fs.starfarer.combat.CombatMain  - java.lang.NullPointerException: Cannot invoke "java.lang.Float.floatValue()" because the return value of "java.util.HashMap.get(Object)" is null
java.lang.NullPointerException: Cannot invoke "java.lang.Float.floatValue()" because the return value of "java.util.HashMap.get(Object)" is null
at data.scripts.plugins.Utils.RTS_Pathing.RCCast(RTS_Pathing.java:254)
at data.scripts.plugins.Utils.RTS_Pathing.findCollisions(RTS_Pathing.java:220)
at data.scripts.plugins.Utils.RTS_Pathing.findStandardRoute(RTS_Pathing.java:139)
at data.scripts.plugins.Utils.RTS_Pathing.adjustDestCoord(RTS_Pathing.java:65)
at data.scripts.plugins.RTS_ShipMoveToPosition.update(RTS_ShipMoveToPosition.java:132)
at data.scripts.plugins.RTS_ShipMoveToPosition.moveToPosition(RTS_ShipMoveToPosition.java:87)
at data.scripts.plugins.RTS_TaskManager.update(RTS_TaskManager.java:711)
at data.scripts.plugins.RTSAssist.advance(RTSAssist.java:206)
at com.fs.starfarer.title.C.L$Oo.o00000(Unknown Source)
at com.fs.starfarer.combat.oOOO.A.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.combat.CombatState.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.base/java.lang.Thread.run(Unknown Source)


The second is that WASD camera controls seem to stop working if you're zoomed in too much. Works fine again if I zoom out a bit again.

All in all this is an amazing mod, loving it so far, it makes low battlesizes hectic and fun.
Logged

BaoBao

  • Ensign
  • *
  • Posts: 3
    • View Profile
Re: [0.98a] RTSAssist (0.1.2)
« Reply #31 on: April 26, 2025, 12:38:46 AM »

Thankyou and welcome. if I keep getting appreciation like this.. I'll never abandon the mod. Im really glad that you are enjoying it. Let me know if their are any features you think should be added. Remember that the theme of this mod is an RTS conversion but be as creative as you can regardless.

I can't really get down to playing Starsector with your mod yet because of work. I don't have any free time, so I can't give good feedback right now... but I just want to tell you something and throw in a couple of ideas.
I'm a game designer and game developer myself, and I can say that your mod creates a unique gameplay for the gaming industry, simply because no one has thought of combining sandbox and RTS, lol. All RTS just offer you a campaign + skirmish. And the campaign is usually a linear set of skirmishes with some kind of plot. This is very stupid and short-sighted, while such gameplay systems as tactics, shooters, action games have developed in huge variations of genres, RTS is stagnating. For example, Homeworld 3 was recently released, right? They just offered a linear campaign as always. Just imagine if instead of a linear campaign they offered a sandbox like the same Starsector. I can assure you that the gaming industry would simply explode with hype, and everyone on the Internet would be screaming about the revival of the RTS genre.
This is a real niche that can be occupied if you can make your own game, I am 200% sure of it. I can tell you the reason why this is still not on the market, if you are interested. But in general, yes, your mod combined with Starsector is proof of the concept of RTS in a sandbox. And that it works, and that it is very cool.

From the ideas off the top of my head, I can tell you this - Starsector has a clear balance that the larger the ship, the better it is. It is almost impossible to create a fleet of frigates and corvettes that could effectively fight against cruisers or capitals. The reason is in the game design of the combat system. Namely:
Each small ship is processed separately.
The game does not use abstraction during shooting, but uses concretics. That is, the definition of whether it hit or missed is if the projectile hit another ship.

This leads to an unsolvable problem - frigates and corvettes make logical errors and do not understand how to fight against longer-range ships. And they simply become obstacles for shooting by large ships. This problem is solved in fighters, because their logic clearly states to simply fly to the enemy and fight with him until victory. But such logic is not written for frigates and corvettes.
Also, because of that concretics system of misses and hits, even if the first frigate in a horde of frigates guessed to dodge, the one standing behind it will definitely get hit. So a horde of frigates also does not work - it will be very easy to shoot at.
And, frigates also constantly block their own line of sight, not allowing each other to shoot.

There are basically two solutions.
1) Change the concept of what one unit on the battlefield is. Let there be no such thing as 1 corvette. Let one entity mean a wing of 4-6 corvettes that move together and do not interfere with each other's shooting.
This is a complex solution that requires rewriting the foundation of the combat system. But I do not think that it is much more complicated than what you have already done.
2) Bring the hit system into abstraction. Let a die roll (accuracy/dodge) occur during a hit on the hull, and in case of failure, the projectile flies further (visually higher/lower than the ship)

This is just me sharing my thoughts as a game designer about the problems of the starsector balance and their solution, I understand that this is not related to the concept of your mod, lol.
Logged

Raatle

  • Ensign
  • *
  • Posts: 47
    • View Profile
Re: [0.98a] RTSAssist (0.1.2)
« Reply #32 on: April 26, 2025, 12:42:06 AM »

Two issues. One is a crash although there may have been modded ships thrown in by the bounty fleet, although not sure if the enemy having modded ships is an issue; all I had were onslaughts, dominators, etc vanilla ships.


The second is that WASD camera controls seem to stop working if you're zoomed in too much. Works fine again if I zoom out a bit again.

All in all this is an amazing mod, loving it so far, it makes low battlesizes hectic and fun.

Hey!! thanks for the feedback.. The crash is likely due to some modded ships having multiple segments. If I had to guess you tried right click a modded ship that had multiple segments. The crash "should" be fixed in the next patch as adding support for Knights of Ludd has highlighted this issue.

The WASD camera controls is a touch confusing however as I cant reproduce it. Did you perhaps alter the sensitivity or speed in the config file?
Logged

Psuni

  • Ensign
  • *
  • Posts: 7
    • View Profile
Re: [0.98a] RTSAssist (0.1.2)
« Reply #33 on: April 26, 2025, 12:46:30 AM »

Hey Raatle,

Just found out an issue with trying to set a different hotkey for enabling/disabling RTS mode. I may be doing it wrong but wanted to let you know if it's something that may need to be looked at.

Thanks for the feedback. This has been fixed in the latest release posted just now. It was definitely something that had to be looked at thankyou!!

Thanks for checking it out, Raatle! Love it so far and I'm hoping to see this mod really shine in the future.

On another note, I was running a few more tests with the mod to see how it fares with other ships and certainly, you did mention that some of them will act rather odd depending on what systems they may have. From the ones I've played with, I had a good mix of vanilla ships and most from modded packs ie. UAF, Ship/Weapon Pack, Sephira Conclave.

I can say with some confidence that many of the ships there are capable of running just fine with the commands from this mod, but I did notice that regardless of what class of ship they were, a few were either drastically hampered with movement and not using their top speeds, or were completely immobilized. The ones that were not moving at all did show that they were attempting to "move" but were constantly going back between 0 and 1 speed. I am unsure if this is related to the small asteroids that float around from time to time, or if it depends on what angle of movement I place the markers at.

Another thing is that once the ships made it to their destinations, they like to overcrowd around the point. This gets worse if you were to form a battle group and move them towards it. The capitals tend to take up the space, while the smaller ships will engage shields and circle around it and bump into it occasionally. A suggestion might be to provide these movement markers/points with some parameters for ships to stay a distance to once reaching it if one ship has already preoccupied it.

Heck, if it's possible to set up a "formation" of some kind when creating groups, it could just completely solve the overcrowding. But I can already imagine how difficult that is going to be... So for the time being, the workaround is not to create groups but to use one of the ships as a "flagship" of the group, and set the other ships as escorts using the vanilla commands to follow it. Though having a group fly in actual consistent formation is my ideal space opera fantasy.
Logged

Raatle

  • Ensign
  • *
  • Posts: 47
    • View Profile
Re: [0.98a] RTSAssist (0.1.2)
« Reply #34 on: April 26, 2025, 01:12:13 AM »

I can't really get down to playing Starsector with your mod yet because of work. I don't have any free time, so I can't give good feedback right now... but I just want to tell you something and throw in a couple of ideas.
I'm a game designer and game developer myself, and I can say that your mod creates a unique gameplay for the gaming industry, simply because no one has thought of combining sandbox and RTS, lol. All RTS just offer you a campaign + skirmish. And the campaign is usually a linear set of skirmishes with some kind of plot. This is very stupid and short-sighted, while such gameplay systems as tactics, shooters, action games have developed in huge variations of genres, RTS is stagnating. For example, Homeworld 3 was recently released, right? They just offered a linear campaign as always. Just imagine if instead of a linear campaign they offered a sandbox like the same Starsector. I can assure you that the gaming industry would simply explode with hype, and everyone on the Internet would be screaming about the revival of the RTS genre.
This is a real niche that can be occupied if you can make your own game, I am 200% sure of it. I can tell you the reason why this is still not on the market, if you are interested. But in general, yes, your mod combined with Starsector is proof of the concept of RTS in a sandbox. And that it works, and that it is very cool.

I never thought about it like that, a sandbox RTS. I just wanted more control of my fleet but I can definitely understand where you coming from. The closest thing I can think of to a sandbox RTS is likely the totalwar games but that is also very different. It is however an untapped genre I agree and I am refining a idea for a game with similar concepts. Whether I go forward with that isnt something I'll likely be thinking about soon.


From the ideas off the top of my head, I can tell you this - Starsector has a clear balance that the larger the ship, the better it is. It is almost impossible to create a fleet of frigates and corvettes that could effectively fight against cruisers or capitals. The reason is in the game design of the combat system. Namely:
Each small ship is processed separately.
The game does not use abstraction during shooting, but uses concretics. That is, the definition of whether it hit or missed is if the projectile hit another ship.

This leads to an unsolvable problem - frigates and corvettes make logical errors and do not understand how to fight against longer-range ships. And they simply become obstacles for shooting by large ships. This problem is solved in fighters, because their logic clearly states to simply fly to the enemy and fight with him until victory. But such logic is not written for frigates and corvettes.
Also, because of that concretics system of misses and hits, even if the first frigate in a horde of frigates guessed to dodge, the one standing behind it will definitely get hit. So a horde of frigates also does not work - it will be very easy to shoot at.
And, frigates also constantly block their own line of sight, not allowing each other to shoot.

I really like that idea, of adding some RNG to whether a hit lands or not. I think Realistic Combat offers something similar with the updated armor system. Its not really suited for this mod however as it changes the game in a way that doesnt align with concept of this mod. What I am definitely working towards is a system of whereby ships will not obscure each other. That is definitely in the pipeline.


There are basically two solutions.
1) Change the concept of what one unit on the battlefield is. Let there be no such thing as 1 corvette. Let one entity mean a wing of 4-6 corvettes that move together and do not interfere with each other's shooting.
This is a complex solution that requires rewriting the foundation of the combat system. But I do not think that it is much more complicated than what you have already done.
2) Bring the hit system into abstraction. Let a die roll (accuracy/dodge) occur during a hit on the hull, and in case of failure, the projectile flies further (visually higher/lower than the ship)

A wing system is very much in the pipeline but may still be awhile. Like I mentioned earlier adjusting the on-hit system doesn't fall into scope of this mod as I am simply trying to offer a change in how ships are controlled, not the mechanics of ship combat itself.

Some very nice feedback thankyou. You are not the first person to request the "wing" feature so that might get pushed up a bit. Keep playing when you get the chance and give me a shout if any new ideas come to mind or if you come across any "unfortunate" behavior.

Logged

Raatle

  • Ensign
  • *
  • Posts: 47
    • View Profile
Re: [0.98a] RTSAssist (0.1.2)
« Reply #35 on: April 26, 2025, 01:39:50 AM »

Thanks for checking it out, Raatle! Love it so far and I'm hoping to see this mod really shine in the future.

Anytime!! It will shine. Ive got a whole themepark of features and improvements coming up! Its gonna take awhile though.. A good long while but it will get there.


I can say with some confidence that many of the ships there are capable of running just fine with the commands from this mod, but I did notice that regardless of what class of ship they were, a few were either drastically hampered with movement and not using their top speeds, or were completely immobilized. The ones that were not moving at all did show that they were attempting to "move" but were constantly going back between 0 and 1 speed. I am unsure if this is related to the small asteroids that float around from time to time, or if it depends on what angle of movement I place the markers at.

Yeah.. The variety of ships on the mod index is astounding and the creativity with which they make their ships unique definitely offers some challenges. But I'll keep at it. My idea is to support between 10 and 20 of the most popular ship packs myself adding custom code to modify their behavior so that they behave as intended. Later down the line I will be developing tools that will allow ship builders to natively support this mod in their own mods.


Another thing is that once the ships made it to their destinations, they like to overcrowd around the point. This gets worse if you were to form a battle group and move them towards it. The capitals tend to take up the space, while the smaller ships will engage shields and circle around it and bump into it occasionally. A suggestion might be to provide these movement markers/points with some parameters for ships to stay a distance to once reaching it if one ship has already preoccupied it.

Heck, if it's possible to set up a "formation" of some kind when creating groups, it could just completely solve the overcrowding. But I can already imagine how difficult that is going to be... So for the time being, the workaround is not to create groups but to use one of the ships as a "flagship" of the group, and set the other ships as escorts using the vanilla commands to follow it. Though having a group fly in actual consistent formation is my ideal space opera fantasy.

The pathing system is rough. Ive mentioned this in the original post or the readme, cant remember which. Ive already outlined some improvements that will reduce crowding in the situation youve highlighted but that will only be implemented some time later as it is an optimisation in my mind. I do think you've missed out on a feature of this mod however. Holding ALT will allow you translate a group of assignments together, allowing you to arrange your whole fleet and then move them all together with a single command. Their are other tools. Check out the readme for details. Personally I arrange all my cruisers and capital, give my frigates escort orders and then just move my whole fleet using translation and rotation commands. Ounce conflict starts ill then command ships on an individual basis.
In addition wings are on the way, and based how many people seem to want this feature you'll likely see it sooner than expected.

All in all.. Im actually not very familiar with the various ship mods that are available. Ive always liked to keep things feeling as vanilla as possible so anytime a ship pack felt out of place or extraordinary Ive strayed away from it. Its why I love Diable Avionics so much.. To me it feels very much apart of the game. Youve mentioned some ships behaving really badly.. If you dont mind and have the time could you tell me which ships those are specifically. No rush, whenever you get the chance.
« Last Edit: April 26, 2025, 01:43:08 AM by Raatle »
Logged

BaoBao

  • Ensign
  • *
  • Posts: 3
    • View Profile
Re: [0.98a] RTSAssist (0.1.2)
« Reply #36 on: April 26, 2025, 01:42:05 AM »

You are not the first person to request the "wing" feature so that might get pushed up a bit.

I expressed myself slightly incorrectly. When I said wing, I didn't mean a formation of several units in some form. I meant that one unit describes an abstraction of several ships. That is, imagine a capital ship. This is a unit that is technically described somehow, has armor, health, slots for turrets, and so on. Now imagine that this unit is not one capital ship, but 8 corvettes. For example, implemented through a system of ship parts, so that each corvette is one part of the ship.
This will allow such ships to work correctly without rewriting a ton of pathfinding code and AI, since technically they will be something like a strangely shaped capital with many turrets.
Logged

Raatle

  • Ensign
  • *
  • Posts: 47
    • View Profile
Re: [0.98a] RTSAssist (0.1.2)
« Reply #37 on: April 26, 2025, 01:56:05 AM »

You are not the first person to request the "wing" feature so that might get pushed up a bit.

I expressed myself slightly incorrectly. When I said wing, I didn't mean a formation of several units in some form. I meant that one unit describes an abstraction of several ships. That is, imagine a capital ship. This is a unit that is technically described somehow, has armor, health, slots for turrets, and so on. Now imagine that this unit is not one capital ship, but 8 corvettes. For example, implemented through a system of ship parts, so that each corvette is one part of the ship.
This will allow such ships to work correctly without rewriting a ton of pathfinding code and AI, since technically they will be something like a strangely shaped capital with many turrets.

Yeah yeah I get you now.. Totally. Like a single unit but composed of a variety of ships that act in a coordinated manner.. Might be a little tricky to implement as to fight effectively the squadron will need some AI. Its a great idea. Ive written it down and you will probably see some sort of implementation of it in the future.
Logged

Droll

  • Commander
  • ***
  • Posts: 109
    • View Profile
Re: [0.98a] RTSAssist (0.1.2)
« Reply #38 on: April 26, 2025, 06:07:31 AM »

What is the problem with other ship packs specifically?Are there any kind of ships which will work out of the box? or does every single ship mod need a patch to work with this mod?

I'm just trying to get a feel for what work needs to be done for modded ships to work with this mod.
Logged

Sominar

  • Ensign
  • *
  • Posts: 12
    • View Profile
Re: [0.98a] RTSAssist (0.1.2)
« Reply #39 on: April 26, 2025, 06:44:39 AM »

The WASD camera controls is a touch confusing however as I cant reproduce it. Did you perhaps alter the sensitivity or speed in the config file?

Not the speed or sensitivity, although I did edit the max zoom to 10. Maybe that did it? I also edited the vanilla settings file to zoom out much more so maybe it's conflicting?
Logged

Raatle

  • Ensign
  • *
  • Posts: 47
    • View Profile
Re: [0.98a] RTSAssist (0.1.2)
« Reply #40 on: April 26, 2025, 06:57:20 AM »

What is the problem with other ship packs specifically?Are there any kind of ships which will work out of the box? or does every single ship mod need a patch to work with this mod?

I'm just trying to get a feel for what work needs to be done for modded ships to work with this mod.

Its not a modification that has to be made for every ship. If a ship behaves like a vanilla ship and its system doesnt affect its movement or position on the map, it should be fine. 90% of the time a ship is problematic because that ships systems have extended scripts that change how it moves usually overriding movement commands given by the AI or straight up just teleporting it to another position based on the logic of the script.

A simple example is the base games "burnDrive" found on the dominator. The script locks the controls and makes the ship move forward for a period of time. The fix is simple. Only let the AI activate the system if its facing where its been assigned to go and is an adequate distance away from it. Then when the ship is close to its destination, deactivate the system.

A more difficult example is the phase grazer core, from Diable Avionics. It modifys the ships stats, such max speed, acceleration, turning acceleration etc. This isnt problematic. What is is that it also propels the ships based on what the AI is telling the thrusters to do. This can make it hard to predict what the system will do if it is activated.

Throw in the fact that sometimes the game engine will delay system activation for a frame, sometimes the only simple solution is to disable the system when controlled by the player using RTS controls. Fortunately for me, none of the vanilla systems are too problematic.

But yeah alot of ships are going to have problems with this mod. It is a major drawback but their is no way around it. I have built tools built for modders but they will add another dependency to your mod and will require strong coding skills. I have plans for building tools that wont have these problems.

If you are building ships and want them to be supported by this mod just ask me. We can either alter your mods scripts so that they support this mod natively or I'll patch it myself, but that will take time.
Logged

Raatle

  • Ensign
  • *
  • Posts: 47
    • View Profile
Re: [0.98a] RTSAssist (0.1.2)
« Reply #41 on: April 26, 2025, 07:00:52 AM »

The WASD camera controls is a touch confusing however as I cant reproduce it. Did you perhaps alter the sensitivity or speed in the config file?

Not the speed or sensitivity, although I did edit the max zoom to 10. Maybe that did it? I also edited the vanilla settings file to zoom out much more so maybe it's conflicting?

Thanks for that. Im done for today, but will take a look at this tomorrow. Will let you know if its a quick fix or if you'll need to wait for the next patch.
Logged

Raatle

  • Ensign
  • *
  • Posts: 47
    • View Profile
Re: [0.98a] RTSAssist (0.1.2)
« Reply #42 on: April 27, 2025, 04:11:56 AM »

The WASD camera controls is a touch confusing however as I cant reproduce it. Did you perhaps alter the sensitivity or speed in the config file?

Not the speed or sensitivity, although I did edit the max zoom to 10. Maybe that did it? I also edited the vanilla settings file to zoom out much more so maybe it's conflicting?

Managed to reproduce this. Im assuming you've also modified your frame rate in settings.json(starsector core) as I was only seeing similar behavior at frame rates above 100fps.
Logged

Sominar

  • Ensign
  • *
  • Posts: 12
    • View Profile
Re: [0.98a] RTSAssist (0.1.2)
« Reply #43 on: April 27, 2025, 06:59:52 AM »

Yes, edited framerate since I have a monitor over 60hz.

EDIT: I have a suggestion to make, can there be a toggle to make single right click be hold position? Or better yet, having it be ALT + RIGHT CLICK?
« Last Edit: April 27, 2025, 12:44:30 PM by Sominar »
Logged

Tron2025

  • Ensign
  • *
  • Posts: 11
    • View Profile
Thumbs up
« Reply #44 on: April 27, 2025, 02:46:01 PM »

I really enjoy RTS games and wanted to say thanks for the mod!

I haven't tried it yet, but I'm excited to get better control over the tactical situation. Starsector is unique and complex with its AI, ship shields, flux, etc. However, switching back and forth to the command screen and watching my ships sometimes plow head on into the enemy, or drift off fighting a shuttle, drives me crazy.

It is good this side of the command is being thought about, thanks for the mod, and keep up the great work!
Logged
Pages: 1 2 [3] 4 5 6