Jika proyek Anda dalam tahap perencanaan, disarankan untuk merancang proyek untuk jaringan sejak awal. Mengaitkan kode jaringan dalam keadaan terakhir dari proyek kemungkinan besar akan mengarah pada refactoring besar-besaran atau sejumlah besar peretasan, menghasilkan kode yang sulit dirawat dan dikuasai bug.
Cara terbersih adalah menerapkan seluruh game seolah-olah itu adalah game jaringan murni. Yaitu, mengimplementasikan kode untuk server khusus, dan mengimplementasikan kode ini hanya sebagai kode server. Terapkan kode klien game dengan cara yang serupa. Server dan klien dapat berjalan dalam proses yang sama dan bahkan tidak perlu menggunakan soket jaringan nyata, tetapi mereka harus entitas yang terpisah dan semua kode harus dirancang untuk bekerja seperti itu. Ketika pemain melompat, jangan mengubah vektor lompatan pemain secara langsung, tetapi kirim paket 'lompat-tekan-tombol' ke server dan biarkan server mengatasinya.
Ini berarti bahwa bahkan dalam permainan singleplayer, ada server tak terlihat yang berjalan di latar belakang. Versi multipemain dari gim yang sama hanya perlu terhubung ke server jarak jauh alih-alih yang lokal dan voila, multipemain dilakukan. Keuntungan dari ini adalah:
tidak ada kode terpisah untuk tunggal dan multipemain, kode jaringan diuji dan dikembangkan selama seluruh kode bersih proyek
Proyek yang menggunakan skema ini hampir semua permainan menggunakan mesin Quake, Civilization 4, Neverwinter Nights, dan banyak lagi.
Untuk menghubungkan klien dan server dalam proses yang sama dengan nol latensi, soket lokal dapat digunakan. Ini disediakan oleh Zoidcom dan mengirimkan paket langsung dari satu ZCom_Control ke yang lain, tanpa melalui soket level OS.