trakea

Yeni üye
6 Şub 2017
2
0
0
(34) İstanbul Avrupa
Öncelikle Merhaba

Daha önceden Unity kullanıyordum. Unity ile ilgili pek bir sorunum yoktu. Derin olarak Unity'i tanıyordum tek sorunum performanstı bu sebeple 2 gündür yaptığım araştırmalarla Unreal'a geçmeye karar verdim.

Önceki projemi Unreal'a taşımak istiyorum ama proje tamamen kod tabanlı yani gezengen generator falan var, sandbox birde yani tamamen kodları geçirmem lazım. Sahne elle yapılmadı.


Ama ana konu şu benim oyunumda ben Kendi Network Manager'ımı yaptım yani temel NObject dediğim obje tipleri var sqllite veri tabanım var. Objeler veri tabanına, NObjecteki dataları ve Başında büyük "N" olan Componentleri ile kayıt ediliyor. Hangi Cliente veri göndereleceğini ben seçiyorum NClient, NClientEye dediğim class larım var.

Ve bunların hepsi Unity deki en eski networking sistemi ile beraber çalısıyor.

2 ayrı proje var Server ve Client olarak.

İste Unreal'a bu sistemi geçirmek istiyorum internette genel de temel basit networking sistemi gösteriliyor ama benim bütün gelen giden verileri kontrol etmem ve Server'ı ayrı olarak yazman gerek.

kısaca ihtiyacım olan iki ayrı proje açmak ve aralarında bağlantı kurduktan sonra RPC ile mesaj göndere bilmem gerek(byte olarak).

Ama bunun dışında Unreal daki sistemde bunu yapmanın daha kolay bir yolu var mı onuda merak ediyorum.

Birde Unreal' daki projeleri build ettikten sonra Unity gibi BatchMode 'da çalıştıra biliyormuyuz.

Kısaca Hiç bir fikrim yok. Yani berki konuyu açmam bile gülünç olabilir ama hiç bir fikrim yok

EDIT: Aslında bilmek istediğim Unreal Dedicated server yaptığımızda nasıl çalısıyor arka planda ne yapıyor neyin senkonize edilip neyin edilmeyeceğine nasıl karar veriliyor. Build ettiğimde server ile alakalı kodlar clientte oluyor mu? Sadece Serverda çalısacak kodları nasıl belirliyoruz ayrımı nasıl yapıyoruz tek bir proje üzerinde
 
trakea' Alıntı:
Öncelikle Merhaba

Daha önceden Unity kullanıyordum. Unity ile ilgili pek bir sorunum yoktu. Derin olarak Unity'i tanıyordum tek sorunum performanstı bu sebeple 2 gündür yaptığım araştırmalarla Unreal'a geçmeye karar verdim.

Önceki projemi Unreal'a taşımak istiyorum ama proje tamamen kod tabanlı yani gezengen generator falan var, sandbox birde yani tamamen kodları geçirmem lazım. Sahne elle yapılmadı.


Ama ana konu şu benim oyunumda ben Kendi Network Manager'ımı yaptım yani temel NObject dediğim obje tipleri var sqllite veri tabanım var. Objeler veri tabanına, NObjecteki dataları ve Başında büyük "N" olan Componentleri ile kayıt ediliyor. Hangi Cliente veri göndereleceğini ben seçiyorum NClient, NClientEye dediğim class larım var.

Ve bunların hepsi Unity deki en eski networking sistemi ile beraber çalısıyor.

2 ayrı proje var Server ve Client olarak.

İste Unreal'a bu sistemi geçirmek istiyorum internette genel de temel basit networking sistemi gösteriliyor ama benim bütün gelen giden verileri kontrol etmem ve Server'ı ayrı olarak yazman gerek.

kısaca ihtiyacım olan iki ayrı proje açmak ve aralarında bağlantı kurduktan sonra RPC ile mesaj göndere bilmem gerek(byte olarak).

Ama bunun dışında Unreal daki sistemde bunu yapmanın daha kolay bir yolu var mı onuda merak ediyorum.

Birde Unreal' daki projeleri build ettikten sonra Unity gibi BatchMode 'da çalıştıra biliyormuyuz.

Kısaca Hiç bir fikrim yok. Yani berki konuyu açmam bile gülünç olabilir ama hiç bir fikrim yok

EDIT: Aslında bilmek istediğim Unreal Dedicated server yaptığımızda nasıl çalısıyor arka planda ne yapıyor neyin senkonize edilip neyin edilmeyeceğine nasıl karar veriliyor. Build ettiğimde server ile alakalı kodlar clientte oluyor mu? Sadece Serverda çalısacak kodları nasıl belirliyoruz ayrımı nasıl yapıyoruz tek bir proje üzerinde

Bildiğiniz gibi Unreal Engine C++ kullanır. Bir unity projesini Unreal Engine motoru üzerine geçirmek istiyorsanız bu gerçekten çok zor. .fbx dosya uzantılı modellerinizi kolay aktarabilrisiniz fakat düşündüğünüz üzere bir tam olarak proje aktarma servisi yok çünkü farklı motorlar ::)

Biraz daha dikkatli bakarsan wikipediada RPC'in nasıl kullanıldığı hakkında bir dökümantasyon var.
https://docs.unrealengine.com/latest/INT/Gameplay/Networking/Actors/RPCs/

Bunun dışında herhangi bir TCP/UDP soketleri üzeriden haberleşmeyi iki farklı proje üzerinden haberleşebilirsiniz.

TCP/UDP Mesajlaşması hakkındaki örnekler: 
https://wiki.unrealengine.com/TCP_S..._From_an_IP/Port_Into_UE4,_(Full_Code_Sample)
https://wiki.unrealengine.com/UDP_Socket_Sender_Receiver_From_One_UE4_Instance_To_Another

Bundan önce, GameMode, GameState, PlayerState, Pawn, PlayerController gibi temel kavramları öğrenmeniz gerektiğni unutmayın.

BatchMode dediğin şeyi anladığım kadarıyla "terminal" denilen kod bloğu. Oyun içinde "~" tuşuna basarsanız konsol açılır bunun dışında Window-> developer tools -> Output Log sekmesinden konsol komutlarını uygulayabilirsniz.
 
Khubur' Alıntı:
trakea' Alıntı:
Öncelikle Merhaba

Daha önceden Unity kullanıyordum. Unity ile ilgili pek bir sorunum yoktu. Derin olarak Unity'i tanıyordum tek sorunum performanstı bu sebeple 2 gündür yaptığım araştırmalarla Unreal'a geçmeye karar verdim.

Önceki projemi Unreal'a taşımak istiyorum ama proje tamamen kod tabanlı yani gezengen generator falan var, sandbox birde yani tamamen kodları geçirmem lazım. Sahne elle yapılmadı.


Ama ana konu şu benim oyunumda ben Kendi Network Manager'ımı yaptım yani temel NObject dediğim obje tipleri var sqllite veri tabanım var. Objeler veri tabanına, NObjecteki dataları ve Başında büyük "N" olan Componentleri ile kayıt ediliyor. Hangi Cliente veri göndereleceğini ben seçiyorum NClient, NClientEye dediğim class larım var.

Ve bunların hepsi Unity deki en eski networking sistemi ile beraber çalısıyor.

2 ayrı proje var Server ve Client olarak.

İste Unreal'a bu sistemi geçirmek istiyorum internette genel de temel basit networking sistemi gösteriliyor ama benim bütün gelen giden verileri kontrol etmem ve Server'ı ayrı olarak yazman gerek.

kısaca ihtiyacım olan iki ayrı proje açmak ve aralarında bağlantı kurduktan sonra RPC ile mesaj göndere bilmem gerek(byte olarak).

Ama bunun dışında Unreal daki sistemde bunu yapmanın daha kolay bir yolu var mı onuda merak ediyorum.

Birde Unreal' daki projeleri build ettikten sonra Unity gibi BatchMode 'da çalıştıra biliyormuyuz.

Kısaca Hiç bir fikrim yok. Yani berki konuyu açmam bile gülünç olabilir ama hiç bir fikrim yok

EDIT: Aslında bilmek istediğim Unreal Dedicated server yaptığımızda nasıl çalısıyor arka planda ne yapıyor neyin senkonize edilip neyin edilmeyeceğine nasıl karar veriliyor. Build ettiğimde server ile alakalı kodlar clientte oluyor mu? Sadece Serverda çalısacak kodları nasıl belirliyoruz ayrımı nasıl yapıyoruz tek bir proje üzerinde

Bildiğiniz gibi Unreal Engine C++ kullanır. Bir unity projesini Unreal Engine motoru üzerine geçirmek istiyorsanız bu gerçekten çok zor. .fbx dosya uzantılı modellerinizi kolay aktarabilrisiniz fakat düşündüğünüz üzere bir tam olarak proje aktarma servisi yok çünkü farklı motorlar ::)

Biraz daha dikkatli bakarsan wikipediada RPC'in nasıl kullanıldığı hakkında bir dökümantasyon var.
https://docs.unrealengine.com/latest/INT/Gameplay/Networking/Actors/RPCs/

Bunun dışında herhangi bir TCP/UDP soketleri üzeriden haberleşmeyi iki farklı proje üzerinden haberleşebilirsiniz.

TCP/UDP Mesajlaşması hakkındaki örnekler: 
https://wiki.unrealengine.com/TCP_S..._From_an_IP/Port_Into_UE4,_(Full_Code_Sample)
https://wiki.unrealengine.com/UDP_Socket_Sender_Receiver_From_One_UE4_Instance_To_Another

Bundan önce, GameMode, GameState, PlayerState, Pawn, PlayerController gibi temel kavramları öğrenmeniz gerektiğni unutmayın.

BatchMode dediğin şeyi anladığım kadarıyla "terminal" denilen kod bloğu. Oyun içinde "~" tuşuna basarsanız konsol açılır bunun dışında Window-> developer tools -> Output Log sekmesinden konsol komutlarını uygulayabilirsniz.

Öncelikle cevap için teşekkürler.

Daha önceden C ile C++ kullanmıştım ama ilk önce C# öğrendiğim için C# gibi kullandıydım kendi obje sistemimi falan yaptıydım. Ama sanırım C++ ve C 'yi normalde kullananlar benden daha farklı kullanıyor.

Benimde kafam bu yüzden bir an karıştı şuanda tutorial'ları izliyorum. Dediğin kavramları ve bir çok yeni kavram öğrenmem gerek sanırım çünkü yapı olarak çok farklı.

BatchMode derken demek istediğim build edilen projenin grafik kullanmadan arkaplanda çalısması. Örneğin server gibi. Unity ile yapılmış herhangi bir oyunu "-batchmode" komutu ile çalıştırırsanız hiç bir grafik, render'lama işlemi olmadan uygulamayı çalıştıra biliyorsunuz. Ama sanırım Unreal'da gerek olmaya bilir? Emin değilim?