sVerentsov / Circuit-Checker-Factorio

Mod for Factorio that helps in troubleshooting your circuit networks.
MIT License
0 stars 0 forks source link

Some feedback/cross-post from mod-portal #1

Closed JohnyDL closed 3 months ago

JohnyDL commented 1 year ago

I'm trying to track a bug in a very large network:

I am tracking the number of items on a sushibelt (sushi everything fun XD) everywhere that something goes onto the belt I count it, everywhere something is taken off that belt I count that too, and I have 3 overlapping networks: +items, -items, current state, the current state lets inserters know when to grab items and +items and -items are so I don't need a million combinators doing individual each*-1=each.

The trouble is the network is LARGE and to highlight it all I have to also highlight the computer that utilizes the information, the computer by design has some combinators that are Errors or Warnings to your mod and this means that the console is just not enough space to try and track down issues. And like I say I'm highlighting several different networks if I could highlight only 1 at a time I'd have an easier time too.

I know it's a really niche use of your mod but you asked for feedback on the mod portal so...

Suggestion 1: Selecting a single power pole/combinator could track down every entity connected by wire to that power pole/combinator and highlight them. This would mean that it's not necessary to highlight unnecessary things in order to track down bugs like inserters that should be connected aren't. (and things that are disconnected but should be connected are easier to spot for the player)

Suggestion 2: As for anomalies if 99% of a type of thing connected to a network are one thing say read belt contents pulse mode and 1% is different say hold mode or even disable the belt maybe that 1% should be warnings... I'm not sure if you could have a computer do pattern recognition easily but if you could that'd be great. (or a way to show configuration as part of the numbers? players can pattern match if pulse is + and hold is * enable/disable - etc?)

Suggestion 3: Some sort of GUI, if you have 3000 things connected to a network then tracking down problems using console (which has no scroll feature to look at all the messages dumped into it by the mod) is not always feasible. A HUD of some kind maybe showing the errors and warnings within a radius of the player might be useful.

Bug 1: Talking of HUDs your mod doesn't play nice with Circuit HUD 2 though I don't expect any sort of fix for that you should be aware

Bug 2: And while I'm on bugs your mod doesn't like when something is connected to the Logistic Network, if I have something in the Logistic Network configuration and your tool selects it then it will complain about the circuit network conditions when it doesn't need to be connected to the circuit network, it doesn't need any circuit network configuration as the logistic network is doing all the enabling and disabling.

Hope this helps I've been loving the mod so far... but it seems like you're not monitoring the mod portal so GitHub might be a little bit luckier.

JohnyDL commented 1 year ago

image Crash was unrecoverable this time sigh

sVerentsov commented 1 year ago

@JohnyDL Thanks for your feedback! Sorry I missed your previous message.

Here are my thoughts on your suggestions:

Regarding bugs:

Regarding your crash, could you please share the blueprint with me so I can reproduce the crash? Also, which version of the game are you using?

Once again, thank you for your reports and suggestions! I haven't been checking the mod portal lately since not many people are using the mod, but I am very happy to see that someone cares about its development.

JohnyDL commented 1 year ago

It's okay, I wasn't actually expecting you to work on everything right away, it's an old project for you after all but I thought Git was probably more likely than the mod portal, I did consider plugging it into GPT but I've already got too many of those projects on the go XD anyway I recently discovered your tool and have been finding it really useful.... I might be almost ready to start with the Grey Goo if I can squash this bug, that might give me the circuits confidence to tackle Recursive BPs for real.

Don't stress too much about pattern matching I know it's a really really tough problem for computers the best way I can think of is using an FFT but that'd be a task and a half to implement in Lua. I think the indicators are the more useful aspect right away anyway.

I do check smaller networks section by section, and I've even made it possible to highlight smaller sections of the big inputs grid but it's still being uncooperative right now... the number of times I've had to purge the lines.... at least I built that function into the computer early.

The crash above was from 1.1.80 and it's a fairly modded run... it'd probably be easiest for me to send you the save file and you sync mods to it.... 40MB is too big for github so G-drive please don't judge my circuits too harshly Map View Zoom Out Map View Zoom In

I am convinced it's related to Circuit HUD 2, the crashes only occurred after placing the HUD combinators which lets you see the contents of the network in a window and then only when selecting them. Network 51 is the one I highlighted above.

I can also get you crash reports and anything else you might want

sVerentsov commented 1 year ago

@JohnyDL Issues with logistic network and Circuit HUD are fixed in v1.1.2, you can download it from mod portal. However your crash report looks like there is another error: it seems that the trouble is caused by a modded entity with multiple wire connectors (like decider and arithmetic combinators). Please check if this issue still occures -- if it does, enable logging in the mod settings and send me a new crash report.

JohnyDL commented 1 year ago

I will do that 👍 thank you for the update

sVerentsov commented 1 year ago

@JohnyDL Added GUI for showing error messages in 1.1.5

sVerentsov commented 1 year ago

@JohnyDL Also now you can check not only selected objects, but connected ones as well, that is for the feature when you click an object, check it and its connections. Take a look at the new player setting Check connected entities, that are not included in selection in 1.1.6.

JohnyDL commented 1 year ago

I've not run into the bug yet but I've stopped using the other mod for now too.

The GUI is great lets me go through everything and click to find it on the map which is amazing

The recursive checking for other connected entities is a bit aggressive, I highlighted one pole so I could see what was attached directly to the red network and it highlighted the green network, and went through all the connected combinators jumping from inputs to outputs etc... it might even have hopped onto a power pole or inserter and found the green network at that point... it'd be nice to be constrained to just the network selected, although now this function exists I can see it having uses, so more options?

I really like the symbols though, power, pulse, storage and hold are really clear (to me)