devreci, server hiç olmayan multiplayer bir oyun experimental olarak yapılabilir (anlamsız da olsa). ancak client sayısı arttıkça gittikçe problemler artar çünkü kartezyen çarpım işin içine giriyor. örneğin P2P networklerin bir kısmı hiç sunucusuz çalışmakta ve tüm clientlar birbiri üzerinden iletişim kurmaktadır. ama bu multiplayer bir oyun için akıllıca bir yol değildir. ölçek büyüdükçe oyuna yeni girip seni 10 saniye içinde öldüren bir oyuncunun oyuna girdiği bilgisi sana sen öldükten sonra ulaşabilir. bu derece mantıksız bir ring oluşturulmuş olur. bu forumda daha önce birkaç kere tartışıldı multiplayer oyun konusu, takip etmediysen forumda search et önceki topicleri.
server-client ilişkisinde bu tür gereksiz mekanizmalarla uğraşmadan ve clientın ringinde yer alan tüm clientların laglerinden topluca etkilenmeden sadece server ve senin lag miktarın ile sınırlı bir biçimde iletişim gerçekleştirebilirsin. kaldı ki kodlamaya başladığında bunun bile ne derece zor ve varsayımlar/ortalamalar üzerinden yapılması gerektiğini görüyorsun.
"internet sitesinde duran bir..." ile başladığın laf doğrudan server-client ilişkisidir. internet sitesinin durduğu yer bildiğin server işte
ancak hiç server kullanmadan, hatta hatta clientlardan biri server görevi üstlenmeden multiplayer oyun yapmak mümkün ama delilik. oyunun karar mekanizmaları devreye girince anlıyorsun niye delilik olduğunu.
basit bir senaryo:
sen adama ateş ettin, adam vuruldu ve öldü.
adam sen ateş ettiğinde gerçekten orada mıydı? kime göre oradaydı? sana? vurduğun player'a? diğer playerlara? sende lag oluştuysa adam gerçekte hareket ettiği halde sana henüz hareket ettiği bilgisi ulaşmamış olabilir. bu durumda sen onu vurmak için network bandwidth'ini kasan bir uygulama çalıştırsan zaten dondu kaldı karşında di mi?
diyelim adam vuruldu, buna bir şekilde karar verdin. hatta o adam öldü de. ama ona henüz öldüğü bilgisi ulaşmadı ve o anda o başkasını öldürdü. kim kimi hangi sırayla öldürdü? kimin internet bağlantısının hızına güveneceğiz?
bu soruları kendine sormaya başla, server-client ilişkisinin doğru mekanizma olduğunu ve olabildiğince herşeye serverın karar vermesi gerektiğini, clientların daha çok 3d engine slave modunda çalışması gerektiğine kanaat getireceksin.