ThePrisonGame_-_Unreal_Editor_2015-12-03_23-35-03

Day 210: Dedicated Server Tests

We have started working on the multiplayer mode for The Prison Game with the help of UE4 networking. This is the unseen part during gameplay.

ded

The Prison Game’s networking has a client and server model. Server’s role is updating clients continually and making critical and important decisions. Clients are always up to maintain approximation of the server’s world. When you hit a fire button, your mouse action is sent to server. Server makes necessary controls and calculations, then instantiates a bullet from your guns muzzle to gun’s direction. Then broadcasts this information to all clients to let them catch up with the server’s game world. When you die, you die on server. When you run, you run on server.

The main point of this logic is to prevent gamers from cheating. Maybe cheating is fun in single player games in some ways but it kills gameplay on multiplayer games. So server decides everything, this is also called authoritative mode.

Thank you for reading

See you in next post!

Share:

Osman

3 comments

  1. Bende kendi oyunumda böyle bir sistem üzerinde çalışıyorum performans sorunun dan korkuyorum gecikme vb.

    1. mesela 100 birimlik alandaki objeleri senkonize eden bir sistem kurdum. buda ne demek bu 100 birimlik alana giren objeler ilk olarak tüm bilgilerini cliente gönderecek, peki 100 birim lik çevrede 100 obje varsa oraya adım attığım attığım anda 100 objenin bütün bilgileri cliente gönderilecek buda ping’i yükseltecek anlık kötü olan bir ileri bir geri gidersem deli gibi veri gönderecek sürekli.
      kafam burada takıldı kaldı farklı yöntemler üzerinde çalısıyorum iste. alana ilk girme durumu dısında bir sorun yok sanırım. Tek başıma çalışıyorum derdimi anlayan birine yazayım dedim 🙂

      1. Bu çok detaylı bir konu. 🙂 Kendin çözüm üretmek yerine örneğin Unreal nasıl bir çözüm üretmiş bunu bir incele. 🙂 Tabi gidip gelecek data bir hayli büyük ancak, gerekli optimizasyonları yaparsan sıkıntı olmayacaktır. Şayet dedicated sunucu kuruyorsan, bu sunucu sürekli herkesi güncellemeli. Bu durumda önceliği karakter update’lerine saklayıp, örneğin şehir yapıyorsan, şehri büyük oranda statik tutup, aksiyonları veya eventleri belirli bir grup oyuncu ile sınırlaman gerekebilir. (Instance mantığı. :))

Leave a Reply