fearcry

Yeni üye
30 Mar 2019
2
0
0
(6) Ankara
Merhaba arkadaşlar aranıza yeni katıldım. Yaklaşık 5 yıldır oyun geliştiriyorum  ve son bir yıldır Unreal Engine kullanmaktayım ve çoklu oyuncu kavramını anlayabilmek adına küçük bir proje hazırlıyorum.. Forumdaki konuları inceledim fakat yaşadığım soruna karşı bir çözüm bulamadım.


Hemen hemen lobi  kısmını hallettim gibi hatta oyuncular takımlarını belirleyip hazır olduktan sonra "Host" Başla diyerek oyunu başlatıyor "servertravel" ile test haritasını yükletiyorum.  Bu işlemleride "Lobby Map",  "Lobby Game Mode" ve "Lobby Player Controller"  kullanarak  yapıyorum. Sorun şu ki yeni yüklenen haritada "Lobby Game Mode"  ve "Lobby Player Controller" olmadığı için bir nevi oyun motorunun hali hazırında bulunan "ThirdPersonGameMode" seçili durumda. Ben lobi kısmında Lobby Player Controller  içerisinde playerinfo structure tipinde  değişken içerisinde seçtiği takımı vs. bilgilerini tutuyorum. Maalesef bir türlü bu değişkeni yeni oluşan karaktere aktarmayı başaramadım. Bu konuda bana yardımcı olabilir misiniz. Bunun yolu yordamı nedir acaba?
 
fearcry' Alıntı:
 Bu işlemleride "Lobby Map",  "Lobby Game Mode" ve "Lobby Player Controller"  kullanarak  yapıyorum. Sorun şu ki yeni yüklenen haritada "Lobby Game Mode"  ve "Lobby Player Controller" olmadığı için bir nevi oyun motorunun hali hazırında bulunan "ThirdPersonGameMode" seçili durumda.
  
"Kısaca lobby level  için yaptıklarını game level içinde yapmalısın."


  Oyuncular lobby mapda toplandı diyelim."Lobby Map",  "Lobby Game Mode" ve "Lobby Player Controller"  oyuncu verilerin saklanıyor doğru anladıysam.Eyer ayriyetten "Game mode ", "Game player controller" oluşturmanız gerekiyor."Lobby game mode" ve "lobby player contorller" sınıflarından "Game mode" ve "Game player controller" sınıflarına, oyuncu bilgilerini çekmeniz gerekiyor."Game map" Level oluşturdunuz ve "Game mode" ve "Game player controller" game map "level"world setting kısmından "Game mode" ve "Game player controller" seçmeniz gerekiyor.

Başlangıc için gayet güzel bir eytici.
Multiplayer tutorial Series: 
Bu içeriği görmek için üçüncü parti çerezlerine izin vermeniz gerekli.
Daha fazla detay için çerezler sayfasını ziyaret edin.
 
fearcry' Alıntı:
Merhaba arkadaşlar aranıza yeni katıldım. Yaklaşık 5 yıldır oyun geliştiriyorum  ve son bir yıldır Unreal Engine kullanmaktayım ve çoklu oyuncu kavramını anlayabilmek adına küçük bir proje hazırlıyorum.. Forumdaki konuları inceledim fakat yaşadığım soruna karşı bir çözüm bulamadım.


Hemen hemen lobi  kısmını hallettim gibi hatta oyuncular takımlarını belirleyip hazır olduktan sonra "Host" Başla diyerek oyunu başlatıyor "servertravel" ile test haritasını yükletiyorum.  Bu işlemleride "Lobby Map",  "Lobby Game Mode" ve "Lobby Player Controller"  kullanarak  yapıyorum. Sorun şu ki yeni yüklenen haritada "Lobby Game Mode"  ve "Lobby Player Controller" olmadığı için bir nevi oyun motorunun hali hazırında bulunan "ThirdPersonGameMode" seçili durumda. Ben lobi kısmında Lobby Player Controller  içerisinde playerinfo structure tipinde  değişken içerisinde seçtiği takımı vs. bilgilerini tutuyorum. Maalesef bir türlü bu değişkeni yeni oluşan karaktere aktarmayı başaramadım. Bu konuda bana yardımcı olabilir misiniz. Bunun yolu yordamı nedir acaba?

Kabaca konuşmak gerekirse, eğer Seamless Travel(Kesintisiz Gezinti) ile bir bölüm değişimi geçiş sağlarsan, oyun dünyasında var olan aktörlerin verilerini kalıcı olarak saklaman mümkün. Fakat yükleme sırasında yine de belirlenen transition level ile diğer bölüme geçiş meydana gelmiş olacak levele ait chunk datalar reflection sayesinde serialize edilip kalıcı şekilde aktarılabilinecek.

Kesintisiz Gezinti üzerinden eklenecek olan aktörleri GameMode sınıfıdan aşağıdaki üye fonksiyonunu kullanarak çağırabilirsin.
https://api.unrealengine.com/INT/AP...odeBase/GetSeamlessTravelActorList/index.html

Aşağıdaki dokümanı okursanız daha çok bilgi alabilirsiniz, yukarıdaki yazıda basit olarak neye ihtiyacınız olduğunu belirttim. 
https://docs.unrealengine.com/en-us/Gameplay/Networking/Travelling

GameMode Unreal Engine sınıfı, sadece server tarafında bulunması mümkündür. 

Naçizane önerim, oynanış dinamiklerinin replikasyon etmeden lobi programlama gibi işine girişmeniz kıyamet belirtisi olacaktır. Ki herhangi bir üye kümesini online subsystem sayesinde de bilgileri harici olarak başka topluluk platformlarından alabilirsiniz.