No tutaj to już wszystko zależy od podejścia. Można to rozwiązać na wiele sposobów. Przykład (taki trochę w stylu Linuxowym): Piszesz dwie aplikacje: serwera i klienta (podobnie jak na Socketach) i wysyłasz serwerowi informacje o tym, gdzie strzelasz, a on odpowiada Ci, czy trafiłeś, oraz przekazuje drugiemu graczowi gdzie strzelałeś i daje mu "inicjatywę". Oczywiście aplikacja serwera może być odpalona na tym samym komputerze, co klient (w skrajnych przypadkach - obydwa klienty - zdarzało mi się graćw sieciowe gry turowe na jednym komputerze ;) ).
Drugim rozwiązaniem może być wykorzystanie jakiegoś dostępnego zewnętrznego serwera (tak jak ktoś proponował IRC), tylko najprościej by było, jakby to był jakiś serwer chodzący na protokole obsługiwanym przez Synapse. Wtedy ustalasz sobie jakiś system "komend", które wysyłasz bezpośrednio do drugiego klienta (bezpośrednio - to znaczy za pośrednictwem, ale bez interpretacji, serwera zewnętrznego).
Trzecie rozwiązanie - tak jak w większości gier sieciowych - jeden z klientów staje się serwerem ("zakładanie gry"), zaś drugi jest klientem ("podłączanie się do gry"). Reszta jak w rozwiązaniu 1.