mrtcnaslnts

Aktif üye
8 Ara 2019
608
2
44
28
Bazılarını biliyorum ama hepsini yazayım dedim.
Multiplayer veya online bi oyun yaptığımızı düşünürsek ve Hile vs yapılmasının da önüne geçebilmek için

1 Karakterin Sağlığı 
2 Karakterlerin Skilleri veya skill hasarları
3 Raund Süresi
4 Karakter Seçme Ekranı
5 Exp sistemi, Yaratıkların verdiği Exp puanı

Hangi BP içine Yazmalıyız?
 
Online oyun yapmışlığım yok doğal olarak şimdilik emin değilim ancak teorik olarak, server bazlı olunca oyuncu değerleri ve malzemeleri vs. log dosyaları halinde serverda saklanır. Oyuncu online olduğunda bu değerleri kullanarak spawn olur. 

Host/server  HP değerleri bilgisi serveran alınır pawn üzerinde saklanır, çeşitli önlemlerle hilenin önüne geçilebilir. 
Host/server  Skiller Pawn ve Animation BP üzerinde saklanabilir. Hasar değerleri Spawn actorler üzerinde oluşturulabilir ve burada sınırlanabilir, böylece hilenin önüne geçilebilir.
Süreler genelde Game State üzerinde oluşturulur. 
Karakter seçme ekranından kastını tam olarak anlamış değilim. bu setup içinde oyuncuya sunulur, oyuncu karakterini oluşturduktan sonra yine server üzerinde saklanır. 
Exp sistemi, max hp değeri, sallıyorum kritik değeri gibi kaybolması muhtemel olmayan değerler serverda overwrite olarak saklanır. yaratıkların ortalama verdiği exp değeri önceden belirlenmiştir, oyuncu kill aldığı anda yaratık servera şu player state e şu kadar exp değeri şeklinde bilgi verir ve overwrite olur. bu değerlerin de oyuncu ekranına yansıtılması genelde player controller üzerinden sağlanır.

Dediğim gibi %100 bu şekildedir demiyorum, yalnızca teorik olarak bu şekilde dediğim üzere,

Kolay gelsin.
 
nonlinear' Alıntı:
Online oyun yapmışlığım yok doğal olarak şimdilik emin değilim ancak teorik olarak, server bazlı olunca oyuncu değerleri ve malzemeleri vs. log dosyaları halinde serverda saklanır. Oyuncu online olduğunda bu değerleri kullanarak spawn olur. 

Host/server  HP değerleri bilgisi serveran alınır pawn üzerinde saklanır, çeşitli önlemlerle hilenin önüne geçilebilir. 
Host/server  Skiller Pawn ve Animation BP üzerinde saklanabilir. Hasar değerleri Spawn actorler üzerinde oluşturulabilir ve burada sınırlanabilir, böylece hilenin önüne geçilebilir.
Süreler genelde Game State üzerinde oluşturulur. 
Karakter seçme ekranından kastını tam olarak anlamış değilim. bu setup içinde oyuncuya sunulur, oyuncu karakterini oluşturduktan sonra yine server üzerinde saklanır. 
Exp sistemi, max hp değeri, sallıyorum kritik değeri gibi kaybolması muhtemel olmayan değerler serverda overwrite olarak saklanır. yaratıkların ortalama verdiği exp değeri önceden belirlenmiştir, oyuncu kill aldığı anda yaratık servera şu player state e şu kadar exp değeri şeklinde bilgi verir ve overwrite olur. bu değerlerin de oyuncu ekranına yansıtılması genelde player controller üzerinden sağlanır.

Dediğim gibi %100 bu şekildedir demiyorum, yalnızca teorik olarak bu şekilde dediğim üzere,

Kolay gelsin.

Tam olarak istediğim cevap bu değildi ama Anlattıkların da işime yarayacak önemli şeyler. 

Sorduğum şey mesela şu şekildeydi

1 Karakterin Sağlığı-- (CharacterBP)?
2 Karakterlerin Skilleri veya skill hasarları-- (Controller)?
3 Raund Süresi-- (Game mode)? veya (LevelBP)?
4 Karakter Seçme Ekranı(CSGO gibi düşün)-- (Game mode)? 
5 Exp sistemi ---(Game Mode) ? (Mesela Exp Değişkeni Nerde Oluşturmalıyım gibi)
6 Yaratıkların verdiği Exp puanı. --(AI_BP)?

Gibi..

Ben bu şekilde yapıyorum doğru mu?
 
Aslında bende yazmıştım sırayla ::)

Hp - characterBp (pawn) 

Skiller - pawn veya animBp, hasarlar skill için spawnlanan actore gönderilen değer üzerinden 

Raund süresi - game state

Karakter seçme - ( hiç Csgo oynamadım) ama seçilen karakteri spawnlama evet Game mode üzerinden

Exp dağıtma - evet maç sonunda game mode üzerinden belirlenip oyuncuya gönderilir ama serverda saklanır. Host bazlı bir oyun yapıyorsan Game Instance üzerinden saveleyip saklayabilirsin.

Yaratık exp - evet AiBp

Küçük bir ekleme yapayım, çünkü sonradan fark ettim. LevelBP yi sadece angarya işler için kullanın, sallıyorum gündüz-gece döngüsü var onu kontrol etsin, veya single player bir oyunda adam bir yere girince video oynatmasını istiyorsunuz, basit bir trigger ile videoyu oynatsın vs. onun harici levelBP kullanmanın hiçbir mantığı yok. Şöyle düşünün, multiplayer oyunda levelBP begin play ile süreyi başlattı, adamın bağlantısı zayıf. sonradan geldi levele o zaman ne olacak,  sürekli get all class of actor ile her milisaniye kontrol mü ettireceksiniz, gibi gibi gibi. yada server bazlı bir oyunda levelBP hep orda çalışıyor (matchmaking değil ise), server üzerinden oyuncular hep sonradan gelenler sınıfında kalacaktır. hatta ve hatta biraz daha açayım,

Basit oluşum sıralaması şu şekilde,
Server ise dediğim gibi levelbp hep orda zaten aktif, host veya single player ise ilk devreye giren levelBP
Game mode
Game mode üzerinden game state
Yine game mode üzerinden player controller
player controller üzerinden pawn ve player state

yani zurnanın son deliği pawndır, multiplayerda bu oluşum sıralamasını dikkate alarak birbirlerine event gönderin yoksa gereksiz hata mesajlarıyla karşılaşırsınız. 

Kolay gelsin