Spidertron "Shift+Left Click" pathing queue impacted by autosave
-
- Manual Inserter
- Posts: 2
- Joined: Mon May 08, 2023 3:21 am
- Contact:
Spidertron "Shift+Left Click" pathing queue impacted by autosave
I have been playing this game since at least 2016 and I never though I would find a glitch! Very excited at the potential; however, it is likely already known, given how amazing this game is and the player base
To create the glitch: If you "SHIFT + Left Click" your Spidertron with its remote, so that it will take a specific path along the points selected (only tested with a group of 3 spiders), if during the course of taking this path the game issues an autosave, it will erase this path when the the game issues that autosave and your spiders path will change from the pre-ordered points to a straight line from where it is at the time of the autosave to the final destination!!!
I have noticed it before and was like, "why on earth did my spider army get caught on this lake???, I swear I pathed them correctly... *scratching head*" - CUT TO, today, I notice what has been causing it. A Glitch?!
Perhaps there is some dev reason why these path queues are not saved and pulled over the autosave event horizon, but I was so excited at the prospect that this may be a legit glitch I have discovered that I had to take a break from playing and make this post.
Okay, gtg back to the factory so it can grow.
To create the glitch: If you "SHIFT + Left Click" your Spidertron with its remote, so that it will take a specific path along the points selected (only tested with a group of 3 spiders), if during the course of taking this path the game issues an autosave, it will erase this path when the the game issues that autosave and your spiders path will change from the pre-ordered points to a straight line from where it is at the time of the autosave to the final destination!!!
I have noticed it before and was like, "why on earth did my spider army get caught on this lake???, I swear I pathed them correctly... *scratching head*" - CUT TO, today, I notice what has been causing it. A Glitch?!
Perhaps there is some dev reason why these path queues are not saved and pulled over the autosave event horizon, but I was so excited at the prospect that this may be a legit glitch I have discovered that I had to take a break from playing and make this post.
Okay, gtg back to the factory so it can grow.
Re: Spidertron "Shift+Left Click" pathing queue impacted by autosave
Cannot reproduce, post a vanilla save and exact steps to produce the issue please, see 3638.
-
- Manual Inserter
- Posts: 2
- Joined: Mon May 08, 2023 3:21 am
- Contact:
Re: Spidertron "Shift+Left Click" pathing queue impacted by autosave
I also cannot reproduce in vanilla.
I think what was happening was that during the auto save the user was issuing commands and mistook what was happening for a glitch
The user feels embarrassed, but, ultimately, happy that Factorio has been vindicated.
I think what was happening was that during the auto save the user was issuing commands and mistook what was happening for a glitch
The user feels embarrassed, but, ultimately, happy that Factorio has been vindicated.
Re: Spidertron "Shift+Left Click" pathing queue impacted by autosave
This is constantly happening to me too. Steps to reproduce: shift click to enqueue/chain waypoints for a spidertron on a map and when the autosave is triggered around the moment a next waypoint is being created the entire chain gets cancelled after the autosave finishes
Re: Spidertron "Shift+Left Click" pathing queue impacted by autosave
Are you saying it is cancelled when the autosave happens right when you set another waypoint or when the spider moves to another waypoint?charonme wrote: ↑Sun Apr 07, 2024 10:31 am This is constantly happening to me too. Steps to reproduce: shift click to enqueue/chain waypoints for a spidertron on a map and when the autosave is triggered around the moment a next waypoint is being created the entire chain gets cancelled after the autosave finishes
Re: Spidertron "Shift+Left Click" pathing queue impacted by autosave
when I set a new waypoint right around the time an autosave is triggered. The already set waypoints get discarded after the autosave finishes. If I quit the game and load the autosave the waypoints are still there
Re: Spidertron "Shift+Left Click" pathing queue impacted by autosave
I think I might know what's going on but I won't be able to test until tomorrow.
If you want to get ahold of me I'm almost always on Discord.
Re: Spidertron "Shift+Left Click" pathing queue impacted by autosave
Ok, I know why it happens but I don't have a solution for it yet.
The root issue is: we can't process player inputs while the game is saving (since we need the game to nto change while saving) so we queue any inputs while saving is happened.
Except the queuing is not perfect and it will still record that keys are up or down instantly outside of the queueing. Meaning: if you release shift while auto-save is happening the queued mouse click - when processed after auto save happens - will be executed as if shift was not held when it was pressed.
So what's happening is: you shift + click while auto-save is running, release shift, then the queued click is processed after running auto-save and it thinks you just pressed the mouse button without shift held.
The root issue is: we can't process player inputs while the game is saving (since we need the game to nto change while saving) so we queue any inputs while saving is happened.
Except the queuing is not perfect and it will still record that keys are up or down instantly outside of the queueing. Meaning: if you release shift while auto-save is happening the queued mouse click - when processed after auto save happens - will be executed as if shift was not held when it was pressed.
So what's happening is: you shift + click while auto-save is running, release shift, then the queued click is processed after running auto-save and it thinks you just pressed the mouse button without shift held.
If you want to get ahold of me I'm almost always on Discord.
Re: Spidertron "Shift+Left Click" pathing queue impacted by autosave
I don't see any solution for this that doesn't have other issues so for now I'm going to move this to minor issues.
Possible options:
* We leave it as is - multi-key inputs don't work right if one is released while auto-save happens
* We drop inputs while auto-save happens - possibly even more annoying
* We try to do some proper queuing of events - but the way we have it structured internally it just doesn't seem viable without re-working the entire thing which I estimate to be about 3 weeks worth of time and then 1 year of intermittent bug fixes. Doesn't seem worth it.
Possible options:
* We leave it as is - multi-key inputs don't work right if one is released while auto-save happens
* We drop inputs while auto-save happens - possibly even more annoying
* We try to do some proper queuing of events - but the way we have it structured internally it just doesn't seem viable without re-working the entire thing which I estimate to be about 3 weeks worth of time and then 1 year of intermittent bug fixes. Doesn't seem worth it.
If you want to get ahold of me I'm almost always on Discord.
Re: Spidertron "Shift+Left Click" pathing queue impacted by autosave
Ah yes I just realized this doesn't happen if I keep holding shift.
So clicks are queued, but releasing shift isn't queued? Maybe just queue the clicks in conjunction with the information whether shift was held during that click
So clicks are queued, but releasing shift isn't queued? Maybe just queue the clicks in conjunction with the information whether shift was held during that click
Re: Spidertron "Shift+Left Click" pathing queue impacted by autosave
I'm sure I've come across input APIs where modifier keys generate no events so must be tested when the event (eg mouse button down) is processed, which sounds like may be the case in Factorio. In any case I've seen the same effect in numerous other applications when they are momentarily unresponsive, but Factorio is particularly likely to trigger the problem as it is effectively unresponsive for the duration of the autosave.
I think that's close to what Rseding had in mind for their third, discounted, option.Maybe just queue the clicks in conjunction with the information whether shift was held during that click