denizcahit' Alıntı:
Hocam bunları zaten yaptım benim asıl merak ettiğim Matchmaking sistemi Unreal Engine 4 üzerinde nasıl yapılabilir? Bu sistemin mantığı nedir? Nasıl işler? Oyunumuzun çok büyük bir kısmı bitti fakat network konusunda deneyimsiz olduğumuz için ilerleyemiyoruz.
@Khubur dediği gibi size söylediğim Online Subsystem ile yapılabilir. Bir Matchmaking için "
Sessions" (Oturum) oluşturmalısınız.
Bir oturumun temeli şöyledir:
- Yeni bir oturum yaratılır
- Oyuncuların oturuma katılması beklenir
- Katılmak isteyen oyuncular kaydedilir
- Oturum başlatılır
- Oyun oynanır
- Oturum sonlanır
- Katılan oyuncuların kayıtları silinir
Teorik kısmı bu şekilde işler. İşi pratiğe dökmek istersek programlanmasından konuşursak; FOnlineSessionSettings classını (sınıfını) kullanmalıyız. Module ise Online Subsystemlerdir. Burada belirlememiz gereken en önemli özellik SteamAPI kullanacak olmamızdır.
FOnlineSessionSettings sınıfı tarafından tanımlanan Oturum Ayarları ise oturumun özelliklerini belirleyen bir özellik çeşitidir. Bunlar şunlardır: İzin verilen oyuncu sayıları, Oturum özel mi değil mi, Oturum ile LAN eşleşti mi, Sunucu dedicated mı yoksa player host şeklinde mi ve sizin istediğiniz oyuna davetler kabul edilir mi gibi şeklinde bu sınıfta yer alıyor. Online oyunlarda ki oyun lobileri oyundan oyuna değişebilir. Örneğin CS:GO, League Of Legends ve GTA V vb. gibi. Bu oyunların her biri bir oturumu ve kendi oturum ayarlarıdır. Örneğin, bazı oturumlar oyuncu-oyuncu (PvP) arasında olabilirken bazıları çok-oyunculu (Co-Op) olabilir. Farklı oturumlar, farklı haritalar veya çalma listeleri oynuyor olabilir, farklı sayıda oyuncu talep edebiliyorlar. Bu sınıf da kullanmamız gereken bazı nodelar var
Create Session, Join Session, Find Session, Destroy Session vb. gibi nodeları kullanmanız gerekmektedir. Kısacası sizin programlama bilginize kalıyor. İlerlediğiniz de takıldığınız yerlerde konu açarak veya soru sorarak daha çok bilgi edinebilirsiniz. Sizde şuan daha teorik kısmındasınız. Bunlar tabii ki blueprint ile yapılması için örnekler verdim fakat FOnlineSessionSettings class C++ için de geçerlidir.