erdemacr

Unreal MVP
8 May 2018
17
53
0
23
(34) İstanbul Avrupa
Merhaba arkadaşlar,
Ben Erdem Açar, geçen konumda sizlere Gamesparks'tan bahsetmiştim ve birkaç konuyla daha destekleyeceğimi söylemiştim. Bu konumda ise "Gamesparks sunucusu nasıl oluşturulur ve Unreal ile nasıl bağlanılır?" sorusuna cevap vereceğim.

Öncelikle Buradan Gamesparks sitesine gidiyoruz, sağ üstte bulunan "Register" butonuna tıklıyoruz ve kaydımızı gerçekleştiriyoruz.



[img=635x834]https://www.mediafire.com/convkey/9237/ej70oapn28vth3uzg.jpg[/img]

Daha sonra bilgilerimizi girip hesabımıza giriş yapıyoruz.

[img=560x560]https://www.mediafire.com/convkey/33d3/kks9xbo22ob7niezg.jpg[/img]

Giriş yaptıktan sonra karşımıza oyun ekleme sayfası geliyor, bilgileri doldurup devam ediyoruz.

[img=851x753]https://www.mediafire.com/convkey/5a3a/ai0cqqq37w9mde0zg.jpg[/img]

Karşımıza entegrasyon ve araçlar sayfası geliyor, seçim yapıp devam ediyoruz.

[img=851x753]https://www.mediafire.com/convkey/8984/2wf2zq67k5bq6y2zg.jpg[/img]

Karşımıza lokasyon ayarları sayfası geliyor, seçim yapıp devam ediyoruz.

[img=851x845]https://www.mediafire.com/convkey/7993/qqyh026wjj9b8qqzg.jpg[/img]

Evet, sunucumuzu oluşturduk ve yönetici paneli karşımıza geldi. Burdaki API Key ve API Secret Gamesparks'a bağlanabilmemiz için gereklidir.

[img=851x727]https://www.mediafire.com/convkey/b8c5/vclgz8bxhgahi38zg.jpg[/img]

Artık sunucumuz oluştuğuna göre bir Snapshot oluşturmamız gerekiyor. Snapshotlar sunucunuzun konfigürasyonlarını içlerinde barındırır. İstediğiniz kadar Snapshot oluşturabilir ve aralarında geçiş yapabilirsiniz. 

[img=787x589]https://www.mediafire.com/convkey/a967/b7c6u7wi7766ovdzg.jpg[/img]

Evet, sunucu kısmını hallettiğimize göre Unreal ile bağlanmayı deneyelim.

Öncelikle Marketplace'e giderek Gamesparks SDK'yı motora ekliyoruz.

Önemli Not : 4.19 ve üstü sürümler için Gamesparks SDK plugini Market Place'de bulunmuyor.

[img=752x603]https://www.mediafire.com/convkey/ec57/9m3r94veoooc39szg.jpg[/img]

SDK'yı ekledikten sonra, projemizi açıyoruz ve Plugins kısmından Gamesparks SDK'yı aktif hale getirip, projeyi yeniden başlatıyoruz. 

[img=640x437]https://www.mediafire.com/convkey/b2a7/1qt1fmu9s9kcq41zg.jpg[/img]

Evet, Plugini projeye ekledik.

Şimdi "GSConnect" adında bir Actor oluşturuyoruz.

[img=666x497]https://www.mediafire.com/convkey/86f2/gyogxwv4lq5ka47zg.jpg[/img]

Actor'un içine girip Gamesparks componentini ekliyoruz.

[img=359x267]https://www.mediafire.com/convkey/3863/4i6y8f6w8bhhwgdzg.jpg[/img]

API Key ve Secret adında 2 adet string değişken tanımlıyoruz ve Gamesparks yönetici panelindeki bilgileri kopyalayıp, yapıştırıyoruz.

[img=493x323]https://www.mediafire.com/convkey/45fd/0cyhhqm6705e1ggzg.jpg[/img]

Daha sonra Actor'un Event Begin Play'ine gelerek aşağıdaki şekilde Gamesparks bağlantısını sağlıyoruz.

[img=734x532]https://www.mediafire.com/convkey/f015/jg33l2154od2z26zg.jpg[/img]

Evet arkadaşlar, Gamesparks bağlantısı bu kadardı okuduğunuz için teşekkür ederim.
 
Öncelikle Harika bir paylaşım ellerinize sağlık sormak istediğim birşey var bunları yaptıktan mesela oyunu çıkardık build edip oyuncu oyuna girdiğinde otomatik olarak server ‘a bağlanıyor mu Ve oyuncular direk olarak aynı server ‘a yönlendirelebiliyor muyuz yani dedicated server olayına girmeden bu şekilde oyuncular bağlanabilir mi ?
 
Mr.jack' Alıntı:
Öncelikle Harika bir paylaşım ellerinize sağlık sormak istediğim birşey var bunları yaptıktan mesela oyunu çıkardık build edip oyuncu oyuna girdiğinde otomatik olarak server ‘a bağlanıyor mu Ve oyuncular direk olarak aynı server ‘a yönlendirelebiliyor muyuz yani dedicated server olayına girmeden bu şekilde oyuncular bağlanabilir mi ?

Öncelikle teşekkür ederim.
Gamesparks Match ve Challenge sistemleri ile oyuncuları yönlendirir. Sunucuda bir session oluşturur ve oyuncular bu session'a bağlanıp veri gönderip veri alır(TCP/UDP ile) ortada Unreal Networking'de olduğu gibi bir server yoktur Bunun yüzünden sunucu taraflı replicationlarda zorlanabilirsiniz.
 
Size birkaç soru soracağım hocam.

Bu gamesparks oldukça sağlam bir hizmete benziyor. Çünkü kullanan markalar ve oyunlarda çok iyiler. Bende böyle bir oyun geliştirmek istesem. 

1- Sizce bir makina alıp her şeyini sıfırdan mı yapayım. yoksa öğrenci paketinden mi yararlanayım. ek olarak şunu soracağım. 
2- Belli bir sürümden sonra markette yok demişsiniz. En son sürümde oyunlarımızı geliştiremeyeceğimiz anlamına mı geliyor? 
3- Ne tarz oyunlar geliştirilebilir. Çok absürd fikirler vereyim ki en uç noktası görülsün. Clash of clans gibi bir oyun bu sunucuda saklanabilir mi? Ya da CS:Go ya da PUBG 
4- Silah oyunlarındaki fiş çekme hilesini bilirsiniz. Fişi çekersiniz bağlantı gider siz adamı vurursunuz fişi takarsınız adam ölür ya da ışınlanmış gibi olursunuz. Bu sunucudan ne zaman koparsa oyuncu bağlantısı da koparılsın seçeneği ile alakalı mı sizce?
5- Sizce bu süre ne olmalı? Clash of clans gibi net gittiği an bağlantı koparılmalı mı? Böylece hilelerinde önüne geçilmiş olur mu?
6- Unreal engine ile yaptığımız herhangi bir oyunda oyun için satın almaların tamamını hangi ödeme yöntemleri ile alabiliriz? Bu adamlar sonuçta yabancı Türkiye ile ödemeyi nasıl alırız?
7- Steam ile bağlantı kurarken oyunumuzun steam de olmasına gerek var mı yada bir developer apiye ihtiyacımız var mı?

Birçok soru var hocam. Bildiklerinizi cevaplarsanız numaralı şekilde konuya da ekleyebilirsiniz. Herkesin aklında buna benzer sorular olacağını düşünüyorum. Şimdiden teşekkürler.

Ayrıca dersleri video şeklinde youtube kanalına vs eklerseniz daha iyi olacaktır diye düşünüyorum. Zira resimler ile tek tek yapınca arada kopukluklar olabileceğinin düşüncesindeyim.
 
ProjectZ' Alıntı:
Size birkaç soru soracağım hocam.

Bu gamesparks oldukça sağlam bir hizmete benziyor. Çünkü kullanan markalar ve oyunlarda çok iyiler. Bende böyle bir oyun geliştirmek istesem. 

1- Sizce bir makina alıp her şeyini sıfırdan mı yapayım. yoksa öğrenci paketinden mi yararlanayım. ek olarak şunu soracağım. 
2- Belli bir sürümden sonra markette yok demişsiniz. En son sürümde oyunlarımızı geliştiremeyeceğimiz anlamına mı geliyor? 
3- Ne tarz oyunlar geliştirilebilir. Çok absürd fikirler vereyim ki en uç noktası görülsün. Clash of clans gibi bir oyun bu sunucuda saklanabilir mi? Ya da CS:Go ya da PUBG 
4- Silah oyunlarındaki fiş çekme hilesini bilirsiniz. Fişi çekersiniz bağlantı gider siz adamı vurursunuz fişi takarsınız adam ölür ya da ışınlanmış gibi olursunuz. Bu sunucudan ne zaman koparsa oyuncu bağlantısı da koparılsın seçeneği ile alakalı mı sizce?
5- Sizce bu süre ne olmalı? Clash of clans gibi net gittiği an bağlantı koparılmalı mı? Böylece hilelerinde önüne geçilmiş olur mu?
6- Unreal engine ile yaptığımız herhangi bir oyunda oyun için satın almaların tamamını hangi ödeme yöntemleri ile alabiliriz? Bu adamlar sonuçta yabancı Türkiye ile ödemeyi nasıl alırız?
7- Steam ile bağlantı kurarken oyunumuzun steam de olmasına gerek var mı yada bir developer apiye ihtiyacımız var mı?

Birçok soru var hocam. Bildiklerinizi cevaplarsanız numaralı şekilde konuya da ekleyebilirsiniz. Herkesin aklında buna benzer sorular olacağını düşünüyorum. Şimdiden teşekkürler.

Ayrıca dersleri video şeklinde youtube kanalına vs eklerseniz daha iyi olacaktır diye düşünüyorum. Zira resimler ile tek tek yapınca arada kopukluklar olabileceğinin düşüncesindeyim.
1- Bu tamamen oyununuzun işlevselliğine ve sistemlerine bağlıdır.
2- Marketplace'de bulunmuyor fakat Gamesparks bu pluginleri hazırlayıp epic games'e yolladığı için internette bu pluginler bulunuyor
3- Gamesparks ile Battleroyale template'i yapan birisi bulunuyor Buradan gidebilirsiniz. CS-Go tarzı bir oyun da rahatlıkla yapılabilir diye düşünüyorum.
4- Bunun oyunda olmaması gerektiğini düşünüyorum ve evet o seçenekle alakalı.
5- Bu oyununuzun tipine bağlı olarak değişir.
6- Google Play, iOS App Store, Windows Store şeklindeki mağazaları oyununuza bağlayıp satın alma işlemlerini burdan gerçekleştiriyorsunuz.
7- Oyununuz Steam'de olduğu sürece "Integrations" kısmına oyununuzun Steam bilgilerini giriyorsunuz ve Oyuna bağlanırken Plugin'in içindeki "SteamConnectionRequest" i gönderiyorsunuz. Bu request size steam bilgilerinizi, oyuna sahip arkadaşlarınızı vs. döndürüyor.
SteamConnectRequest'i göndermek için de Steam Session Token'i almanız gerekiyor bunun için de Steam SDK'yı kurmanız gerekiyor.


ahtek07' Alıntı:
harika bir anlatım

Teşekkür ederim.
 
Blueprint sistemiyle multiplayer oyun yapılıyor mu ? Ben sadece C++ ile yapılıyor diye biliyorum Unreal de. Unreal in kaynak kodlarını indirip yazarak yapılıyor diye biliyorum.

Bu konuda bilginiz vardır bana bi açıklarmısınız size zahmet ? Blueprint ile multiplayer oyun yapabilirmiyim ?
 
Akifakdemir' Alıntı:
Blueprint sistemiyle multiplayer oyun yapılıyor mu ? Ben sadece C++ ile yapılıyor diye biliyorum Unreal de. Unreal in kaynak kodlarını indirip yazarak yapılıyor diye biliyorum.

Bu konuda bilginiz vardır bana bi açıklarmısınız size zahmet ? Blueprint ile multiplayer oyun yapabilirmiyim ?

Unreal Networking'de Blueprint ile replication yapabiliyorsunuz ama server oluşturabilmeniz için c++ gerekiyor.
Gamesparks ile sadece Blueprint kullanarak Multiplayer oyunlar yapabilirsiniz, Server oluşturmanız gerekmez.
 
Peki gamesparks ile server bağlantısını da anlatır mısın rica etsem hem çok faydalı olmuş olur dedicated server olayından da kurtulmuş oluruz en azından şimdiden teşekkür ederim.
 
Gererdemacr' Alıntı:
Mr.jack' Alıntı:
Peki gamesparks ile server bağlantısını da anlatır mısın rica etsem hem çok faydalı olmuş olur dedicated server olayından da kurtulmuş oluruz en azından şimdiden teşekkür ederim.

Yakında örnek projeler ve videolar paylaşacağım.

Gerçekten çok iyi olur en kısa süre içerisinde bekliyor olacağım teşekkürler :)
 
Merhabalar hocam. ben bir mmofps oyun yapıcam da bu gamesparks ile yapabilir miyim? ayrıca tutucak bir projem var katılmak ister misiniz?
 
ShaNexx' Alıntı:
MMOFPS oyunum için bu çok uygun, başlangıç için 200 kişi yeterli olacaktır. Zaten oyun çıktığında 200'ü aşması 1 saat sürer xd.  :cool: :cool: :cool: :cool: :cool:  :cool:

Projeniz gerçekten çok ilgimi çekti. Özellikle "Zaten oyun çıktığında 200'ü aşması 1 saat sürer xd" merakımı katladı. 
Lütfen beni işe alın.