Page 1 of 1
Character not relaying actions
Posted: Mon Dec 25, 2017 7:49 pm
by Supernigga
Am I the only person who's character isn't relaying the actions 100% of the time? Sometimes my character refuses to kick, block, grab, or even roll. Is this a bug? My computer/keys being crappy? My connection tends to be pretty good, but it still occurs. What the heck is going on and how do I fix this?
Re: Character not relaying actions
Posted: Mon Dec 25, 2017 10:33 pm
by Noble
There are some occasions where you are at an weird position, like the edge of a table or something like that, and none of your actions will work like they're getting half eaten, and that's a bug. It won't happen a lot, it's rare enough to be never recorded by me till now. Sometimes your jump can undo in the middle, but I think Zyfex recorded and reported this before.
Otherwise, the problem can be your FPS and related to local/server performance, and you can fix by lowering the graphics and effects.
But yeah, it can be related to your keyboard huh, unless I'm letting something pass unnoticed.
Re: Character not relaying actions
Posted: Mon Dec 25, 2017 11:05 pm
by Pricey
You're probably experiencing what's called keyboard ghosting. Essentially, when multiple keys are pressed at once, some keys refuse to work and the pressing of said key is not registered. Due to SFD being quite a fast-paced game, this often happens. My only advice would be to look on the market for a more high-end keyboard with a higher n-key rollover.
Re: Character not relaying actions
Posted: Tue Dec 26, 2017 7:02 am
by Noble
If the case is what Pricey mentioned above, you don't really need to buy a new keyboard, you can essentially change the controls (which is what I did), since the keyboard ghosting is related to specific keys pressed together.
Re: Character not relaying actions
Posted: Wed Dec 27, 2017 12:07 am
by Rick Sanchez
Pricey wrote: ↑Mon Dec 25, 2017 11:05 pm
You're probably experiencing what's called keyboard ghosting. Essentially, when multiple keys are pressed at once, some keys refuse to work and the pressing of said key is not registered. Due to SFD being quite a fast-paced game, this often happens. My only advice would be to look on the market for a more high-end keyboard with a higher n-key rollover.
I dont have this and i have a mechanical keyboard.
Re: Character not relaying actions
Posted: Sat Jan 27, 2018 5:08 am
by Supernigga
What happens if I get a new keyboard and the problem remains? What could be the problem, then? I am tired of pressing block and still getting hit

. And sometimes, on my screen, I am close enough to hit an enemy, but its like I missed or they were too far.
Re: Character not relaying actions
Posted: Sat Jan 27, 2018 4:07 pm
by Gurt
The whole Client-Server network code is a complex topic in SFD. But to simplify it:
Most actions need to be transmitted to the server first before being activated.
Like punches, block does have a small activation time before you actually block on the server. If you press block a few frames before being punched you will most likely be punched anyway as you're not yet blocking on the server.
Your key input might also be ignored due to keyboard ghosting.
The XNA input registering is also special, if you have 60 fps, a frame is 16.67 ms and input can only be read during new frames. For SFD to be able to register a key-input you must press a key for at least 16.67 ms for it to be registered as "pressed" or it will never register as pressed at all. This is a limitation in the XNA framework. If you have worse FPS, like 30 fps, each frame is 33.33 ms. Tapping buttons too fast will just not work.
For the gamepad support in the release version we're using a standalone library and gamepads will not suffer from this problem as input is being queued.
Standing above objects, like tables and barrels, is generally a bad idea as you can't block or punch your opponents below you. All you can do is kick but that might be blocked or you might miss it depending on your opponents melee-range. You can't jump while stunned so you will just end up standing there being punched in the legs - your input isn't being half-eaten is just that the actions you're trying to do is forbidden in your current state.
Jumping near edges is a rare problem where the box2D engine will resolve the overlap in some strange way (wrongly) and reset your vertical velocity. This can happen while testing a map in the editor too. I don't know what's causing it as I only use the box2D engine, I didn't write it. But it has nothing to do with your input. As it's hard to fix and debug it's one of these last bugs we will try to solve (in the "polishing" phase of SFD). :/