General FreeSpace > Multiplayer

Horrible hit detection on LAN?

<< < (2/4) > >>


--- Quote from: SSJDiVaD on April 21, 2020, 10:01:01 am ---Wow, I didn't expect a reply that quickly. Thanks! And kudos to Cyborg.

I understand the game's code is written in C++, right? I have a limited amount of experience with C++ myself, but unfortunately no experience writing net code. Do you (or anyone else) think it might be worth me looking into pitching in to help?

--- End quote ---

Even if you can't help with net code, the Source Code Project is always looking for people willing to help with squashing bugs and writing new features. :)

Wow, I really need to enable notifications.

Re Cyborg, I'd love to try! Naturally, I could give you some detailed feedback on my experience with it.

Just to add more detail to my original post: I feel like host and client are never properly sync'd, even from the start. For example, in The Place of Chariots, I've found that even shooting at stationary cargo containers doesn't register hits on the host machine, even if I can see my primary projectiles hitting them and I can see the particle effects on my own screen.

To my limited knowledge, this suggests that host and client started in different states (eg. xyz coordinates of the players and/or other objects were different on the different machines). My guess is that the net code is designed in such as way that the host sends relative updates (eg. "the target moved with vector [x_delta, y_delta, z_delta]") to the client(s), but never sends any "key frames" which guarantee a global sync (eg. disregard what the clients had before; the exact coordinates of the target are now [x_pos, y_pos, z_pos]), in case host and client de-sync'd.

If that's the case, sending more frequent (relative-only) updates is unlikely to solve the problem, because it won't fix the fact that host and client were never in sync in the first place. I feel like the only way to solve this problem is to occasionally send "key frame" absolute updates, which would enforce the reality seen by the host on all clients. But again, I know basically nothing about this stuff other than my own limited experience playing multiplayer games.

I suppose another alternative would be to allow the clients to calculate their own hit detection, and then just tell the host "I just hit this target" when a hit occurs client-side. But of course, this might be undesirable for the obvious cheating reasons.

PS. I'm a casual DBZ fan. The dub I watched here in Canada called them Androids. I suppose you watched a different dub that called them Cyborgs? I understand that "Androids" was a bit of a mis-translation.


My buddy and I tried to play through some Coop campaigns in FSPort last night and while everything appeared to be working great, none of his hits seemed to be registering. (I was host)  I don't know if there was any progress made on helping with this issue or if its a lost cause but I thought I would ask since this thread seems to be the exact issue we're having.


General Battuta:
Until the netcode is revised this game's multiplayer is basically a lost cause in any form, coop or pvp.

Just posting this here for anyone not on Discord: there is being substantial work done on the netcode to improve this issue by two coders, and both are continuing their impressive work with regular private branch updates.


[0] Message Index

[#] Next page

[*] Previous page

Go to full version