Removing the Spidertron "screen jitter" on moving around.
Moderator: ickputzdirwech
Removing the Spidertron "screen jitter" on moving around.
This is going to sound weird, so bear with me.
Because of how I see, I seem to be much more sensitive to movement then other people. It makes it hell to play shooters with all the weapons that have recoil, and when the games have flashy graphics or very "pretty" graphics that make the screen too colorful and patchwork/cluttered
For Factorio I have a personal "overwrite" folder that I dump across every time I update the game to fit "my eyes", and I keep adding more and more every year that I play, I also have hacked Shader files to give me perma-day and no weird border on the radar view.
from this : https://i.imgur.com/L5WNhic.jpg
to this : https://i.imgur.com/EhsYgxd.jpg
One thing lately that has been hitting me rather hard is that when you move around in the Spidertron, the spider "jiggles around" quite a bit, on moving and stopping. That would normally be fine, but it's the fact that it takes the "viewscreen" along with it. The easy way to see it is to move the spider just a few squares at the time, and it will say, move right, but because it "has not moved enough to get X distance exactly" the view screen snaps backwards to the left a little bit because it's centered on the spider center body.
What I guess I am saying is "is possible to get HARD movement every time" as in "instead of the spider wobbling back, it always continues and finishes its forward movement so that it never has to snap backwards, unless the path forward is the problem".
Not expecting anything here. Everytime I mention things like these in other places the most common response is "sounds like a you problem" and yes it is, and If I could figure out and hack some files and still be vanilla-compatible I would have done it, mostly I thought I'd put a feeler out there to remind everyone that "forced viewscreens shenanigans" can cause problems because a game is not real life, and human brains work weird, and sometimes, there is easy fixes, and sometimes there might be not. I'm just seeing if this is one of those things.
Maybe people like the "jiggle"? I don't know. All I know is that my brain dislikes it for some reason.
Because of how I see, I seem to be much more sensitive to movement then other people. It makes it hell to play shooters with all the weapons that have recoil, and when the games have flashy graphics or very "pretty" graphics that make the screen too colorful and patchwork/cluttered
For Factorio I have a personal "overwrite" folder that I dump across every time I update the game to fit "my eyes", and I keep adding more and more every year that I play, I also have hacked Shader files to give me perma-day and no weird border on the radar view.
from this : https://i.imgur.com/L5WNhic.jpg
to this : https://i.imgur.com/EhsYgxd.jpg
One thing lately that has been hitting me rather hard is that when you move around in the Spidertron, the spider "jiggles around" quite a bit, on moving and stopping. That would normally be fine, but it's the fact that it takes the "viewscreen" along with it. The easy way to see it is to move the spider just a few squares at the time, and it will say, move right, but because it "has not moved enough to get X distance exactly" the view screen snaps backwards to the left a little bit because it's centered on the spider center body.
What I guess I am saying is "is possible to get HARD movement every time" as in "instead of the spider wobbling back, it always continues and finishes its forward movement so that it never has to snap backwards, unless the path forward is the problem".
Not expecting anything here. Everytime I mention things like these in other places the most common response is "sounds like a you problem" and yes it is, and If I could figure out and hack some files and still be vanilla-compatible I would have done it, mostly I thought I'd put a feeler out there to remind everyone that "forced viewscreens shenanigans" can cause problems because a game is not real life, and human brains work weird, and sometimes, there is easy fixes, and sometimes there might be not. I'm just seeing if this is one of those things.
Maybe people like the "jiggle"? I don't know. All I know is that my brain dislikes it for some reason.
- ickputzdirwech
- Filter Inserter
- Posts: 769
- Joined: Sun May 07, 2017 10:16 am
- Contact:
Re: Removing the Spidertron "screen jitter" on moving around.
No need to apologise in any way. Maybe you know this mod already: https://mods.factorio.com/mod/spidertr ... e913783eeb. It will stop the vertical bobbing. As mentioned in the linked discussion it doesn’t stop the vertical wobble however. And according to the mod author this isn‘t possible. You could try and raise a modding interface request for the latter.
Mods: Shortcuts for 1.1, ick's Sea Block, ick's vanilla tweaks
Tools: Atom language pack
Text quickly seems cold and unfriendly. Be careful how you write and interpret what others have written.
- A reminder for me and all who read what I write
Tools: Atom language pack
Text quickly seems cold and unfriendly. Be careful how you write and interpret what others have written.
- A reminder for me and all who read what I write
Re: Removing the Spidertron "screen jitter" on moving around.
Other games call this effect 'head bob'. I find it extremely annoying as well. Shaking the screen for explosions is also a bad thing. (Don't remember if this game has that though.)
Last edited by jamiechi1 on Tue Jan 24, 2023 6:32 pm, edited 1 time in total.
Re: Removing the Spidertron "screen jitter" on moving around.
Would you be interested in sharing that folder? I like those changes, I would be happy to move them into a mod so it's easier to handle updates and others may benefit (with your permission)
Re: Removing the Spidertron "screen jitter" on moving around.
Any way to get the Game Developers to respond to this issue? Jiggling the screen is really an issue for many of us.
Re: Removing the Spidertron "screen jitter" on moving around.
In general, this "issue", "uneasiness", "hell to play" is perceived only by a fraction of all players. Those blessed people who don't perceive it will never know what this is about, just as a blind man doesn't know what a color is. It varies from just slight uneasiness to sickening bad migraine after 15 minutes that puts you into bed for the rest of the day, worse than the worst hangover you ever experienced.
These symptoms are all some expression of motion sickness, and this is experienced differently by everyone. Those who don't experience at all can praise their luck, and we who experience it praise game developers who add options to their game that mitigate their symptoms. Factorio with its 2d view is pleasant to play in general, but similar to the OP, I'm feeling some uneasiness with the view jiggling around by using the spidertron as well. It's one of the very few downsides in Factorio for me.
These symptoms are all some expression of motion sickness, and this is experienced differently by everyone. Those who don't experience at all can praise their luck, and we who experience it praise game developers who add options to their game that mitigate their symptoms. Factorio with its 2d view is pleasant to play in general, but similar to the OP, I'm feeling some uneasiness with the view jiggling around by using the spidertron as well. It's one of the very few downsides in Factorio for me.
Re: Removing the Spidertron "screen jitter" on moving around.
I agree that this is an important accessibility issue affecting users who suffer from motion sickness and maybe other visually driven neurological disorders.
For me, it is a usability and quality of life issue. I spend most of my time inside Spidertron, but Spidertron wobbles when stopping. This moves my cursor, which is annoying when I'm trying to click on things that are in reach and then not in reach due to the wobbling. I don't mind the wobbling animation, but Spidertron's animations should not change my field of view or the center point of the FOV unless it is moving to another coordinate.
For me, it is a usability and quality of life issue. I spend most of my time inside Spidertron, but Spidertron wobbles when stopping. This moves my cursor, which is annoying when I'm trying to click on things that are in reach and then not in reach due to the wobbling. I don't mind the wobbling animation, but Spidertron's animations should not change my field of view or the center point of the FOV unless it is moving to another coordinate.
-
- Filter Inserter
- Posts: 512
- Joined: Mon Feb 05, 2018 10:01 am
- Contact:
Re: Removing the Spidertron "screen jitter" on moving around.
I'm honestly unsure if I'm in the luck majority or not here, but by the time I get a spidertron I'm almost entirely working from map view.
With the 2.0 improvements to map view, I may never leave it.
(But yes, removing "head bob" toggle should be there, for modded games if nothing else)
With the 2.0 improvements to map view, I may never leave it.
(But yes, removing "head bob" toggle should be there, for modded games if nothing else)
Re: Removing the Spidertron "screen jitter" on moving around.
I, too, find this incredibly annoying, especially if you try to "hand craft" some delicate details, even moreso when those details are not undo-able like precision landfills.
Like, if you want to make a pipe connection over water and move with your spidertron with it (there is no unmodded way to not use a spidertron for this).
I literally have to save and reload frequently every time I do this, it's incredibly annoying.
On top is the annoyance that you're basically required to use a spidertron as there is no other way to move over water if there are only a few spots of landfills instead of a "road", and when it's necessary to ignore buildings for movement.
I really, really can't wrap my head around it, how a that good, that sophisticated team of devs did not see this, has not seen it yet and has not fixed it yet.
Solution:
The screen simply does not has to match the spidertrons movement all the time,
this is deterministic (I assume) so as soon as the player lifts his fingers off the buttons, it is clear where the spidertron will stop,
henceforth the "final" position of the screen is known and all the wobbling is completely unnecessary.
Please, please pretty please fix this, thank you!
Like, if you want to make a pipe connection over water and move with your spidertron with it (there is no unmodded way to not use a spidertron for this).
I literally have to save and reload frequently every time I do this, it's incredibly annoying.
On top is the annoyance that you're basically required to use a spidertron as there is no other way to move over water if there are only a few spots of landfills instead of a "road", and when it's necessary to ignore buildings for movement.
I really, really can't wrap my head around it, how a that good, that sophisticated team of devs did not see this, has not seen it yet and has not fixed it yet.
Solution:
The screen simply does not has to match the spidertrons movement all the time,
this is deterministic (I assume) so as soon as the player lifts his fingers off the buttons, it is clear where the spidertron will stop,
henceforth the "final" position of the screen is known and all the wobbling is completely unnecessary.
Please, please pretty please fix this, thank you!
Re: Removing the Spidertron "screen jitter" on moving around.
This seems to be a common misconception here. The wobble isn't an animation, it is the spidertron actually physically moving in a wobbly way to another coordinate. It's basically a fairly simple physical model where the legs and body are attached with simulated springs.causa-sui wrote: ↑Fri Jun 14, 2024 4:00 pmFor me, it is a usability and quality of life issue. I spend most of my time inside Spidertron, but Spidertron wobbles when stopping. This moves my cursor, which is annoying when I'm trying to click on things that are in reach and then not in reach due to the wobbling. I don't mind the wobbling animation, but Spidertron's animations should not change my field of view or the center point of the FOV unless it is moving to another coordinate.
So it already works exactly as you say you want it to work...
Though I agree that it is annoying to build with the spidertron because it doesn't stop immediately when I release my keys. Like any other vehicle it has momentum.
The wobble isn't really programmed in, and it might be tricky to remove it in a way that looks good and doesn't alter the movement of the spidertron too much.
Landfill is removable in 2.0.Taipion wrote: ↑Tue Jul 16, 2024 10:32 pmI, too, find this incredibly annoying, especially if you try to "hand craft" some delicate details, even moreso when those details are not undo-able like precision landfills.
Like, if you want to make a pipe connection over water and move with your spidertron with it (there is no unmodded way to not use a spidertron for this).
I literally have to save and reload frequently every time I do this, it's incredibly annoying.
On top is the annoyance that you're basically required to use a spidertron as there is no other way to move over water if there are only a few spots of landfills instead of a "road", and when it's necessary to ignore buildings for movement.
Well not everyone is as bothered by it, remote view is improved so you don't need to move around as much and it isn't really that easy to fix. Your "solution" is missing details, like what would actually happen to the camera when you release your keys. Will it teleport when you release they keys or when you press your keys again after having stopped? Or some kind of interpolation? Isn't that going to be annoying as well? If you want the camera to just stop and not deal with that then the spidertron has to stop immediately as well. But that can't happen with the current model. Well of course you can stop it, but it would look really bad, and it would start being pulled towards the feet when you try to move again, flinging you away from where you are. To stop that issue the legs would have to move back towards the head while it is "frozen", which might not actually be possible if there are no footholds that would keep the head stable at the location it is at. And I could keep going, but soon I will have to program my own spidertron movement to explore and show all the details.Taipion wrote: ↑Tue Jul 16, 2024 10:32 pmI really, really can't wrap my head around it, how a that good, that sophisticated team of devs did not see this, has not seen it yet and has not fixed it yet.
Solution:
The screen simply does not has to match the spidertrons movement all the time,
this is deterministic (I assume) so as soon as the player lifts his fingers off the buttons, it is clear where the spidertron will stop,
henceforth the "final" position of the screen is known and all the wobbling is completely unnecessary.
Please, please pretty please fix this, thank you!
My mods: Capsule Ammo | HandyHands - Automatic handcrafting | ChunkyChunks - Configurable Gridlines
Some other creations: Combinassembly Language GitHub w instructions and link to run it in your browser | 0~drain Laser
Some other creations: Combinassembly Language GitHub w instructions and link to run it in your browser | 0~drain Laser
Re: Removing the Spidertron "screen jitter" on moving around.
Technically, setting SpiderVehiclePrototype.html::torso_bob_speed to 0 should stop the wobbling. That's what DMV - Directional Movement Vehicles does with the car-prototypes it converts to spider-vehicles. But those spider-cars have just one invisible leg -- not sure how this would look with the vanilla spidertron.Qon wrote: ↑Wed Jul 17, 2024 11:59 pmThe wobble isn't an animation, it is the spidertron actually physically moving in a wobbly way to another coordinate. It's basically a fairly simple physical model where the legs and body are attached with simulated springs.
[…]
The wobble isn't really programmed in, and it might be tricky to remove it in a way that looks good and doesn't alter the movement of the spidertron too much.
![Smile :-)](./images/smilies/icon_e_smile.gif)
A good mod deserves a good changelog. Here's a tutorial (WIP) about Factorio's way too strict changelog syntax!
- BrainGamer_
- Long Handed Inserter
- Posts: 84
- Joined: Sun Nov 14, 2021 9:52 pm
- Contact:
Re: Removing the Spidertron "screen jitter" on moving around.
torso_bob_speed is not affecting the camera location at all, its just an animation of the spider-vehicle torso bobbing up and down over time (all the time). The actual position of the spider-vehicle does not change.Pi-C wrote: ↑Thu Jul 18, 2024 7:33 amTechnically, setting SpiderVehiclePrototype.html::torso_bob_speed to 0 should stop the wobbling.
The problematic wobble is as Qon described caused by all the legs needing to figure out where they need to end up at once you want to stop moving + their spring like physics coming to an equilibrium which takes some time.
Re: Removing the Spidertron "screen jitter" on moving around.
As long as the camera is centered on the Spidertron, not on some map position, there is probably no chance to get anything changed. Actually, not the Spidertron is wobbling. Its screen position is never changed and always fixed to the center of the screen. Instead, the world is wobbling (and that's actually the reason for this motion sickness uneasiness and the issues with mouse positioning).
A different camera mode has to be implemented, that freezes the map positioning as soon as the engine knows no Spidertron foot will move any more. As soon as every foot has its final position, the body just swings to the center of the foot locations as visual effect, with no real movement any more. If this final swinging could just move the Spidertron body (freeing it from the screen center) and not the whole map any more, just as the up-and-down idle bobbing, this would be nice.
A different camera mode has to be implemented, that freezes the map positioning as soon as the engine knows no Spidertron foot will move any more. As soon as every foot has its final position, the body just swings to the center of the foot locations as visual effect, with no real movement any more. If this final swinging could just move the Spidertron body (freeing it from the screen center) and not the whole map any more, just as the up-and-down idle bobbing, this would be nice.
Re: Removing the Spidertron "screen jitter" on moving around.
Wrong.Tertius wrote: ↑Thu Jul 18, 2024 1:45 pmA different camera mode has to be implemented, that freezes the map positioning as soon as the engine knows no Spidertron foot will move any more. As soon as every foot has its final position, the body just swings to the center of the foot locations as visual effect, with no real movement any more. If this final swinging could just move the Spidertron body (freeing it from the screen center) and not the whole map any more, just as the up-and-down idle bobbing, this would be nice.
Qon wrote: ↑Wed Jul 17, 2024 11:59 pmYour "solution" is missing details, like what would actually happen to the camera when you release your keys. Will it teleport when you release they keys or when you press your keys again after having stopped? Or some kind of interpolation? Isn't that going to be annoying as well? If you want the camera to just stop and not deal with that then the spidertron has to stop immediately as well. But that can't happen with the current model. Well of course you can stop it, but it would look really bad, and it would start being pulled towards the feet when you try to move again, flinging you away from where you are. To stop that issue the legs would have to move back towards the head while it is "frozen", which might not actually be possible if there are no footholds that would keep the head stable at the location it is at. And I could keep going, but soon I will have to program my own spidertron movement to explore and show all the details.
My mods: Capsule Ammo | HandyHands - Automatic handcrafting | ChunkyChunks - Configurable Gridlines
Some other creations: Combinassembly Language GitHub w instructions and link to run it in your browser | 0~drain Laser
Some other creations: Combinassembly Language GitHub w instructions and link to run it in your browser | 0~drain Laser
-
- Inserter
- Posts: 30
- Joined: Thu Jul 18, 2024 9:49 pm
- Contact:
Re: Removing the Spidertron "screen jitter" on moving around.
First, I know almost nothing about how the spidertron's movement is programmed, but I believe what is happening here is that some people are focusing on the symptoms resulting from a jarring interaction between aggressively terminating momentum from movement and the camera following the resulting underdamped second-order differential equation, while others are seeing the underdamping as working as intended as a result of the fantasy of pneumatic-spring-legs and thus reasonably immutable.
The spidertron seems to follow a relatively constant and straight curve of motion while a movement input is held, but when the input is released, it seems to attempt to simulate the process of gently breaking momentum and then coming to rest very close to the place where the input was released. The mathematical simulation for this breaking action is very predictable, and results in an oscillation in one dimension through the endpoint. With a spidertron with some exoskeletons, the high speeds that can be achieved combined with this underdamping stop can result in some severe camera movement that looks like screen shake.
Contrast this to the overdamping of car-prototype vehicles, where the endpoint of motion is necessarily beyond the point where the input is released, resulting in smooth stopping with no return movement, and no camera oscillation at all.
![Image](https://www.researchgate.net/profile/Thomas-Armitage/publication/325528231/figure/fig15/AS:632988756893717@1527927688571/The-response-of-the-alpha-beta-tracker-to-a-unit-step-function-stars-for-under-damped.png)
It's clear, then, that there are two possible solutions:
However, both those variable depend on the speed of the spidertron, which can vary, but falls within reasonable limitations. We can determine discrete chunks of speed from the game engine that can be precalculated and get a very good approximation of the correct damping force or time to eliminate the problem, then include a tiny little table for the game to lookup up what force or time to use based on the spidertron's speed when the movement input was released.
The end result would essentially be the same, but fixing the game engine requires fewer technical changes. There would still be a little wiggle from the spidertron as it comes to a stop, differentiating its movement from car-prototype vehicles and preserving that fantasy of a pneumatic-spring-legs, but the oscillation could be reduced to an emphatic shift back to where the spidertron meant to stop, but couldn't without "excessive g-force".
The spidertron seems to follow a relatively constant and straight curve of motion while a movement input is held, but when the input is released, it seems to attempt to simulate the process of gently breaking momentum and then coming to rest very close to the place where the input was released. The mathematical simulation for this breaking action is very predictable, and results in an oscillation in one dimension through the endpoint. With a spidertron with some exoskeletons, the high speeds that can be achieved combined with this underdamping stop can result in some severe camera movement that looks like screen shake.
Contrast this to the overdamping of car-prototype vehicles, where the endpoint of motion is necessarily beyond the point where the input is released, resulting in smooth stopping with no return movement, and no camera oscillation at all.
![Image](https://www.researchgate.net/profile/Thomas-Armitage/publication/325528231/figure/fig15/AS:632988756893717@1527927688571/The-response-of-the-alpha-beta-tracker-to-a-unit-step-function-stars-for-under-damped.png)
It's clear, then, that there are two possible solutions:
- fix the spidertron's movement calculations to dynamically break with critical damping, or
- find a way to momentarily divorce the camera from the spidertron whenever a movement input is released, since the camera is already very close to where the spidertron is trying to end up, and then smoothly reattach the camera when the underdamping oscillation is complete
However, both those variable depend on the speed of the spidertron, which can vary, but falls within reasonable limitations. We can determine discrete chunks of speed from the game engine that can be precalculated and get a very good approximation of the correct damping force or time to eliminate the problem, then include a tiny little table for the game to lookup up what force or time to use based on the spidertron's speed when the movement input was released.
The end result would essentially be the same, but fixing the game engine requires fewer technical changes. There would still be a little wiggle from the spidertron as it comes to a stop, differentiating its movement from car-prototype vehicles and preserving that fantasy of a pneumatic-spring-legs, but the oscillation could be reduced to an emphatic shift back to where the spidertron meant to stop, but couldn't without "excessive g-force".
Re: Removing the Spidertron "screen jitter" on moving around.
For me, a fix would require that my camera stops moving immediately (from the point of view of subjective "human time") after I have fully depressed all directional movement keys.
I have no position on what the best way to achieve that would be.
I have no position on what the best way to achieve that would be.
Re: Removing the Spidertron "screen jitter" on moving around.
As much as this is a cop-out answer, I would recommend using map mode zoomed in for almost everything if you're on a spidertron. I don't have the same problem, but I *have* misplaced buildings a lot because of that wobble, so I just use remotes to move and map view to place. The only time I leave map view is to open interfaces for changing recipes etc.
Re: Removing the Spidertron "screen jitter" on moving around.
I see this is a place were people overthink and overengineer, but it's really not necessary. ![Very Happy :D](./images/smilies/icon_e_biggrin.gif)
One simple solution would be, to not have the camera stuck pinpoint on the player/vehicle for the case of the spidertron,
and allow some distance between them, which in itself would probably already fix the issue.
Another solution is:
The moment you set your spidertron in motion (hit a key, click), or stop the motion (release a key),
the motion is known in it's speed and direction, the time it will take and the destination are all known at this point already,
and the camera can just adapt to this without janky movement.
![Very Happy :D](./images/smilies/icon_e_biggrin.gif)
One simple solution would be, to not have the camera stuck pinpoint on the player/vehicle for the case of the spidertron,
and allow some distance between them, which in itself would probably already fix the issue.
Another solution is:
The moment you set your spidertron in motion (hit a key, click), or stop the motion (release a key),
the motion is known in it's speed and direction, the time it will take and the destination are all known at this point already,
and the camera can just adapt to this without janky movement.
Re: Removing the Spidertron "screen jitter" on moving around.
Yes, I, too prefer using the map view and remotes for 3 reasons:fwyrl wrote: ↑Mon Aug 05, 2024 3:49 pmAs much as this is a cop-out answer, I would recommend using map mode zoomed in for almost everything if you're on a spidertron. I don't have the same problem, but I *have* misplaced buildings a lot because of that wobble, so I just use remotes to move and map view to place. The only time I leave map view is to open interfaces for changing recipes etc.
- less spidertron noises
- no camera stutter
- easier movement (you know, it feels like an advancement to just go where you want to, especially longer distances, by just one click instead of WASD the way yourself, and it frees up time you can spend elsewhere)
...but there are a lot of things you can't do (yet) in map view, like adjusting combinators, accessing chests and inventories and the like
Re: Removing the Spidertron "screen jitter" on moving around.
Written by someone who doesn't think.
Your suggestions are incomplete. You are continuing the well established pattern in this thread of underthinking and underengineering and just repeating things said before without reading the replies pointing out the issues. Saying "and then magic happens that solves the issues" isn't the genius move you think it is.
![Mad :x](./images/smilies/icon_mad.gif)
![Rolling Eyes :roll:](./images/smilies/icon_rolleyes.gif)
My mods: Capsule Ammo | HandyHands - Automatic handcrafting | ChunkyChunks - Configurable Gridlines
Some other creations: Combinassembly Language GitHub w instructions and link to run it in your browser | 0~drain Laser
Some other creations: Combinassembly Language GitHub w instructions and link to run it in your browser | 0~drain Laser