Jak wydajnie kodować jednocześnie klienta i serwer?

Koduję swoją grę za pomocą modelu klient-serwer. Podczas gry w trybie dla jednego gracza gra uruchamia lokalny serwer i współpracuje z nim tak samo, jak zdalny serwer (multiplayer). Zrobiłem to, aby uniknąć kodowania oddzielnego kodu dla jednego gracza i dla wielu graczy. Właśnie zacząłem kodować...