I made a some sort of a Multiplayer Online Top-down shooter prototype which works, but due the hard nature to program a real-time multiplayer game, i failed to deliver a non-noticeable delay experience on the client's side when certain actions are made. The most noticeable one is when the client shoots, the projectile appears on its screen a bit later than when it should be. I am testing it in a PC in 2 different windows of the same internet browser and in a PC and a notebook over the LAN network. The results are pretty much the same on both cases.
I am trying to keep syching objects to the minimun but the delay still persists.
Is there something terrible wrong i could be doing without noticing it?