Just checked out the [Index] topic. Turns out I'm hardly the only one who thought this and there already multiple solutions for this.
I will now go and check out which one matches my requirement, but keeping the following for anyone interested in discussing this.
I use multiple monitors, with X4 on just a single one.
I tend to take screenshots of things like mission objectives, Build Storage filled amounts etc and keep them on the second monitor.
I had actually started making a program that would be useful in decision making for station management, but realised that it would require me to always manually feed all values before I could use it. After a while, I realised it wouldn't be fun to use and dropped it.
But the idea of a companion tool still seems useful to me.
From what I know currently, the best I can do is make something that reads saved files and make the companion tool update whenever I save the current game state.
On the other hand if we could have a REST API over an IPC interface like maybe POSIX Message Queues (Or maybe just localhost if it becomes hard for using with Windows), one could do multiple things with the companion app with just read access.
- Select any station's build storage and provide real-time (every 2 seconds or sth) updates on its requirements
- Select any running station and advise on any resource getting low or that may get low given the production/consumption rate, similar to what is shown in the station overview, but can be further extended
- Immediately tell the ship's loadout, health and other relevant parameters when the player enters it (I tend to have to look at the parameters if I enter a random ship mid combat)
- ... (I had though of more things but forgot at the time of writing)
The best part is, that the companion app need not suffer the same UI lag that in-game menus suffer from once the game gets very heavy. This would work at least in my condition where 4 out of 16 cores (including hyper-threading) are used by the game and overlay UI performance seems to be GPU dependent, giving a small but noticeable lag. And if the companion app is made using something that does not clash with the game's resources (QtWidgets in my case), then it should give an overall +ive experience for things that otherwise require the user (me) to pause the game and open the overlay menu to check stuff out.
Alternatively, we can also consider a publisher-subscriber type API. Whichever is easier and doesn't make the main threads slower.
___
I understand this is not exactly a "Scripts and Modding" thing, but seems relevant here. Feel free to move it if there is a better place.
[Stale] Groundwork for possible companion tools
Moderators: Scripting / Modding Moderators, Moderators for English X Forum
-
ulterno
- Posts: 19
- Joined: Tue, 18. Nov 25, 18:03
[Stale] Groundwork for possible companion tools
Last edited by ulterno on Sat, 31. Jan 26, 22:31, edited 3 times in total.
-
ChemODun
- Posts: 595
- Joined: Mon, 12. Feb 07, 21:58

Re: [Suggestion] Groundwork for possible companion tools
Does you mean something like this - X4 External App ?
Multiply entropy by absolute zero
Freedom in space
Freedom in space
-
ulterno
- Posts: 19
- Joined: Tue, 18. Nov 25, 18:03
Re: [Suggestion] Groundwork for possible companion tools
Oh, so there already is one.
Yes, a quick look at the screenshots tells me that it gives most of the things I am looking for.
I didn't realise how extensible the modding really is.
The term "non-blocking callback" makes me think that it won't cause a greater slowdown on the game itself.
Guess I'll try porting this to the GoG Linux native version if there are corresponding Linux so's for the dlls used in the mod.
-
beko
- Posts: 91
- Joined: Thu, 11. Jun 20, 21:14

Re: [Stale] Groundwork for possible companion tools
Ship Loadout? Working on that: https://github.com/bekopharm/x4-simpit
Edit: Have a demo of this in action: https://www.youtube.com/watch?v=wp1PkVhH9cc
Edit: Have a demo of this in action: https://www.youtube.com/watch?v=wp1PkVhH9cc
