Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Matcmaking sistemi
#1
Projemi derledim server ve client olarak 2 ayrı paketlemeyi yaptım sonra dedicated server olarak çalıştırdım ve client olarak da ayrıca çalıştırıp oyuna girip servera bağlanıyorum. buraya kadar hepsi tamam tek sıkıntım şu, "Ana menüde Oyuncu play tuşuna bastığında oyuncular eşleştirilip ilgili mapa gönderilecek". Bunu çözemedim gitti destek vercek birisi olursa sevinirim
Ara
Cevapla
#2
Buraya kadar yapmış birisinin soracağı bir soru değil bu. Her şeyi hallediyorsun, paketleri alıyorsun ama eşleşmeyi mi yapamıyorsun?
Ara
Cevapla
#3
OnlineSubsystem aracılığı ile artık steam, eos veya kendin mi yazarsın bilmem ama eşleştirmen ve server travel ile vereceğin haritaya oyuncuları göndermen gerekli. Lyra örneğine bakarsan orada birçok sistemi açıkladıkları için öğrenebilirsin. Hatta orada olan common user plugini bunun için var.

Odanın sahibi server travel komutunu çalıştırdığı zaman, oyuncular onunla birlikte gelir.
Oyuncu client travel yaptığı zaman, sadece kendini etkiler. Yani oda sahibinin oyununa bağlanması vs. gibi.

Benzer fonksiyonlar burada var. Oynanış videosunda da nasıl bağlandığını göstermiştim.

https://github.com/creosB/NFT-Art-Galler...stance.cpp
Ara
Cevapla
#4
creos Paylaşım için teşekkürler fakat oynanış videosu kısmını anlamadım ve linkte kodlar haricinde bişy göremedim. Atrı bir problemim daha var. Unreal source ile derlenen bi roje olduğu için steam için olan onlinesubsystem plugini ekleyemiyorum onu nasıl çözerim

omer.hatay mantık olarak kafamda oturtamadım session oluşturma sistemini tamam create session vs yapması sorun değil. Tek problem ve kafamda oturtamadığım şey. Şmdi session dediğimiz her oyuncu grubunun oynayacağı bir kanal. Bu durumda her 10 kişilik oyuncu için ayrı ayrı kanal oluşturulması gerekyo yanlış düşünmüyorsam. Mantığıma oturmadı yani her 10 kişide sistem kanal oluşturup onları gönderecek arkasından diğer 10 kişi içinde bi kanal oluşturcak vs vs bu şekilde gidecek gibi düşünüyorum ama bu olayı döngüye alma anlamında kodlama mantığını kafamda oturtamamdım.

Var sayalım 100 kişi aktif ve 50 kişi maç araya bastı SONRA? Oyuncuları 10ar 10ar guplandırıp her grup için kanal oluşturulmasını sağlayıp adamları haritaya göndermek mesele bu. Çok mu karmaşık düşünüyoru bilmiyoru yoksa sistem düşündüğümden daha mı basit. 
Ara
Cevapla
#5
Daha önce böyle bir şey denemedim ama biraz araştırmıştım. Amazon online services gibi dedicated serverlerde matchmaking sistemi var. Oyun arayanları kendi sistemi içinde bir havuzda toplayıp, koyduğun filtrelere göre eşleştirip sonra onları bir game sessiona atıyor. Bunun için aws panelinde de kodlama yapman gerekiyor oyun dışında. c++ gerektiriyor ve ne yaptığından emin değilsen bugları çözmek çok zor gibi görünüyor.

Ama mantık olarak şöyle. Oyun arayan herkesi sabit bir game sessiona bağlıyorsun. Genel lobi gibi maç arayan herkes oraya bağlanıyor. Sonra o game session içinde oyuncuların levelleri, pinglerine göre gruplar belirliyorsun. Belirlediğin gruplar örneğin 10'a ulaşınca o 10 kişi için asıl oyunun oynanacağı yeni bir game session açıp oraya bağlayıp transfer ediyorsun. Artık ondan sonrası kendi oyunları. İki ayrı lobi oluyor yani. Benim anladığım mantık buydu. Tek kişinin üstesinden gelmesi için fazla karmaşık bir sistem bence. Ne yaptığını çok iyi bilmesi gerek insanın.

Bahsettiğin şey daha basit bir şeyse steam subsystem gibi client-server tabanlı eşleştirmeler kolay. Dont starve together gibi oyunlar için ideal mesela. Lobi arama ve bulduğu lobiye bağlanma gibi. 

Bir de beklentilerini ayarlaman için edindiğim birkaç istatistiği de söyleyeyim. Bir oyunu PC sine yüklemiş her 100 kişiden 1-3 tanesi aynı anda oyunda oluyor. Aynı anda oyunda olan kişiler de her 30 dakikada bir maç araya tıklayacağını düşünürsen kabaca (50(Anlık oyuncu)*30)/%2 = 75 bin. Yani sürekli aynı anda 50 kişinin oyun arıyor olması için oyunu bilgisayarına yüklemiş 75 bin kişi olması gerekiyor. Onun içinde 100 bin kişinin satın alması gerekiyor. Ve oyunun bu 75 bin yüklü oyun sayısını uzun vadede koruyabilmesi gerekiyor.  Yani kabaca oyunun yüz binler satması gerekiyor. Steamde yüzbinler satan oyun %4 lük dilime giriyor. %4 lük dilime girecek bir oyun yapabilecek misin onu bir düşün. Yapabilirsen 50-100 milyon TL kazanmış olacaksın.
Ara
Cevapla
#6
 [b]Cnrtnbl   [/b]2. satıdaki sistem beni aşıyor hocam en mantıklısı verdiğin oyun örneğindeki sistem bu sistem oldukça basit galiba. Peki onun çin ne yapmam gerekyo gereken araçlar ne sadece steam plugini ile tamamlayabilir miyim ek araç gereç var mı. Projemi Unreal source ile derledim orda steam plugin çalışmyor buna bi çözümün var mı acaba hocam

Birde steamda oyunlarda yazan yazılar ne oluyo tam olarak yani ben dediğin gibi yapsam benimki hangsi oluyor
[/url]ico_multiPlayer.png
Çevrimiçi PvP
Çevrimiçi eşli oyun
LAN Pvpico_multiPlayer.png
LAN Eşli
[url=https://store.steampowered.com/search/?category2=48&snr=1_5_9__423]
Ara
Cevapla
#7
çevrimiçi pvp oyuncuların online olarak birbirleriyle rakip olduğu multiplayer oyunlar.
Çevrimiçi eşli oyuncuların online olarak aynı takımda oynadıkları multiplayer oyunlar.
LAN olanlar ise internet üzerinden değil de kablo ile de bağlanıp beraber oynayabildikleri versiyon.

Client-server multiplayer için dedicated server kurmana gerek yok o yüzden source dan build almana da gerek yok. Sadece steam değil başka client server olan pluginler vardır. Epic online services var mesela. Ayrıca bu pluginlerin de github da source buildleri vardır. Onları manuel olarak plugin dosyası içine yapıştırıp tekrardan build alman gerekiyor sanırım. Yani manuel olarak pluginleri kurman gerekiyor UE'yi source build alırsan.
Ara
Cevapla
 


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Q ve E yle eğilme sistemi FreSTT 3 33 27-05-2023, Saat: 15:31
Son Yorum: serhatwxe
  AI Sistemi hk mrtcnaslnts 5 150 16-03-2023, Saat: 10:43
Son Yorum: omer.hatay
  [ACEMİ SORUSU] Slot sistemi Mustafa0203 2 126 22-02-2023, Saat: 19:25
Son Yorum: Mustafa0203
  AI Sistemi mrtcnaslnts 3 155 30-01-2023, Saat: 22:46
Son Yorum: erginegider
Question Save Sistemi ve Patch TornadoTT 3 423 07-04-2022, Saat: 14:19
Son Yorum: TornadoTT
  [ACEMİ SORUSU] SaveGame Sistemi VictorLazeranka 3 450 23-03-2022, Saat: 22:28
Son Yorum: VictorLazeranka
  YAPAY ZEKA MÜŞTERİ SİSTEMİ yusufcnyilmaz 3 767 26-06-2021, Saat: 12:10
Son Yorum: emin2045
  Multiplayer Bölge Ele Geçirme Sistemi MR Studio 10 1,946 24-02-2021, Saat: 22:03
Son Yorum: MR Studio
  Çalışmayan puan sistemi fatih789 1 573 06-02-2021, Saat: 17:24
Son Yorum: nonlinear
  Tick Time'ın Sistemi Sömürmesini Nasıl Engellerim? Optimizasyon Güray 3 899 13-01-2021, Saat: 20:51
Son Yorum: Güray

Hızlı Menü:


Konuyu Okuyanlar: 1 Ziyaretçi

Unreal Engine Türkiye

This forum is community driven and supported by voluntary community members. It has nothing to do with Epic Games.

Bu site sadece destek amaçlıdır. Epic Games ile bir ilgisi yoktur.