GMS 2 Super blurry sprites when moving

S

Snake Nox

Guest
I had an issue not too long ago where my sprite would warp and distort itself depending on where I was, relative to the camera. I fixed that issue, but I have still a severe ghosting effect when sprites move around. When followed by a camera, its fine. But when the camera is set, they become blurry, and I can see a shadow following them. Yes I have some trailing effects, but only for Dashing.

Its not a Monitor problem, My big TV has the same issue. And I experience no such ghosting with other games. I use Pixelated_Pope's code for my camera, I use GMS2.
https://forum.yoyogames.com/index.p...d-aspect-ratio-management-for-gms1-gms2.7106/

I only use integers to move around, not counting Gravity. Resolutions are 960 / 540. But they persist no matter the resolution. Of course, I deactivated Interpolation, and I have 60fps. Sync to avoid tearing, all that good stuff.
I do scale sprites by *2. But the issues are there whether I scale or not. And my sprite is always fine if I stand still.

Here is a video of the issues. I show some of my Code at the end, of the Player, the Enemy and my Display Manager.

 

RangerX

Member
I see some ghosting from the monitor am currently using when watching your video.
Actually I wouldn't be surprised its real ghosting because you're in a quite high contrast situation there. Black elements on light gray. The higher the constrast in colors, the more you will notice the ghosing on your monitor.
Right now the Samsung I have here doesn't really have visible ghosting but in a high contrast situation I can notice it.

Anyhow, to make sure its not monitor's ghosting, can you actually take a screenshot with "screen_save" or "sprite_create_from_surface" and see if there's any trail?
 
Yes I have some trailing effects, but only for Dashing.
So when you dash there is a shadow effect on the player controlled character like the one you see at 0:50 in the video?
Also the "evil" one also has a shadow effect. But that's all I see on my monitor. I don't see any issues the entire video.
 
S

Snake Nox

Guest
I see some ghosting from the monitor am currently using when watching your video.
Actually I wouldn't be surprised its real ghosting because you're in a quite high contrast situation there. Black elements on light gray. The higher the constrast in colors, the more you will notice the ghosing on your monitor.
Right now the Samsung I have here doesn't really have visible ghosting but in a high contrast situation I can notice it.

Anyhow, to make sure its not monitor's ghosting, can you actually take a screenshot with "screen_save" or "sprite_create_from_surface" and see if there's any trail?
I'll try to see if I can figure out how to do a screen_save (in the help book, what is NUM supposed to be...?)

Interestingly enough, if I pause the video, the ghosting goes away. I notice some pixels might be off, or being slightly blurry, but thats not uncommon, I feel. No other games have this issue on my monitor. Undertale has some blur, but no ghosting. Rosenkreuzstillete (why do I have that game) has even less blur, even though its like 30 fps.

I recorded something else, take a look at the edges of the pillar in this video. When I move right, the left edge kinda darkens. I move left, the right edge darkens. Like the edge is going into the wall. Same when im falling, the top becomes darker.
I will try that on my big-TV. Last time, it had the same issues as my computer monitor. I'd be suprised if it didnt have any issues this time.


Sprites have no issues when just moving on their own. Like when no movement is happening, but Sprites are moving around. I will do and experiment with having a block moved with horizontal movement, and another block just moved with animation alone. Just to see if there is a difference.


[UPDATE]

OK, I checked on my TV, and it actually has no shadows. Like the last video I posted, its barely noticable. HOWEVER. The player sprite and enemy sprite are still VERY blurry when moving around, almost more so than my monitor. It physically hurts my eyes looking at them in motion, because its so unclear how the sprites look. The faces are so blurry and jittery. No other game has this much vibration going on while moving. But yeah, it at least has no shadows, so its something.
 
Last edited by a moderator:

RangerX

Member
So you definetely have a ghosting issue there. Maybe its just now your mind really starts to care and therefore you notice it more than before (or something).
As for the jitter/shaking whatever you said about character, was I supposed to see it in the video? 'Cause I don't. :confused:
 
Yeah. I see the dark edges on the wall (which could also be a pixel-interpolation thing, if your game is scaled).

I don't see any blur or jittering or anything. Everything looks quite smooth.
 
S

Snake Nox

Guest
So you definetely have a ghosting issue there. Maybe its just now your mind really starts to care and therefore you notice it more than before (or something).
As for the jitter/shaking whatever you said about character, was I supposed to see it in the video? 'Cause I don't. :confused:
On the jittering, not in the last video, the object that the camera focuses on has no blur. Its when the camera is set (like the first video) where the pixels melt together kinda when moving around. I compare to other games, Undertale, Mega man, Pixaled_pope's old Zelda fan game, and I can see the sprite perfectly even when moving. When my own sprites move (with a stationary camera) I can barely make out their faces. Its like the sprite is smeared with an ugly filter. As soon as I get somewhat of a decent speed on my character, it starts to get reeeally blurry. But I can play Mega man games and move fast in boss fights and not see any of that blur.

So if I assume that the blur is here to stay, what can I do to mitigate this? More detailed sprites? Skipping frames so I can move at high speed without getting the smeared sprite blur? Actually, Interpolation seems to help the blur somewhat. Too bad the filter is really ugly.

[UPDATE] Woah, I tried something interesting. Every 3 frames, I use draw_flush(); in my draw event. My sprite blinks somewhat, but the blur is almost gone. I can actually see her eyes when she moves around, its not smeared or blurred. You know any possible tricks to make sprites more clear while moving that I can use?

You are a great help, thank you :D
 

RangerX

Member
There might something going on with your game. I dunno.
Is your game scaled up or not? what if you play it at native size?
(native size = view, viewport and appsurface all the same size aka no scaling at all)

If you have blur at native size its even more sign there's something going on. Also, if you're not using the "Post Draw", you might want to try a "draw_clear(c_black);" in there. Which would clear your app surface every step right after its sent to the screen buffer.
 
S

Snake Nox

Guest
Now my character Twitches when moving. Like every second, it twitches slightly to to opposite side of where it is moving. I removed all the changes I made, I reverted it all back to regular old blur face. But now the character twitches when moving. Or the world twitches when the camera is following. I... I dont even know how. I dont get it and Im having a mental breakdown. Im gonna take a short brake, maybe start another non-action game project, that doesnt rely on smooth visuals to be fun. Because this is killing me.

[UPDATE]

Uhh.... Ok so now I am getting different bugs. I did NO change whatsoever, but the results are completely different. My character was super twitchy, but after tried recording using OBS, the twitching stopped. But instead, it jitters (SOMETIMES) when jumping. And I can see black lines above my sprite sometimes.

Is my computer busted? Can it be a memory leak seaping into my actual code or something? Did using Draw_flush() every other frame destroy my CPU? How is this possible? I'll add the video shortly.

 
Last edited by a moderator:
Same stuff
Started working on an arcade. Did the same stuff as in tutorials. When character goes up diagonally - seems ok. When goes down diagonally - some bright pixels leave a pixel long trail. That sucks so hard I'm thinking on changing the engine. Tried and checked like everything.
 

muki

Member
Same stuff
Started working on an arcade. Did the same stuff as in tutorials. When character goes up diagonally - seems ok. When goes down diagonally - some bright pixels leave a pixel long trail. That sucks so hard I'm thinking on changing the engine. Tried and checked like everything.
Take a video capture or screenshot of your character in motion, when you see the trail. Is the trail visible in the screenshot or paused video? If not, then it's just the quality of your monitor. It's a fairly common issue. Not engine related.

Games tend to diminish trailing by playing around with foreground/background contrast.

Also, here's a monitor/blur/trail test you can perform in your browser.
 
Top