Oyun motoro seçimi

171 views
Skip to first unread message

Yakup Çilesiz

unread,
May 17, 2016, 11:25:21 AM5/17/16
to istanbul-coders
Merhaba arkadaşlar;

Oyun motoru seçimiyle ilgili bir kaç sorum olacak. Biz libgdx (java) kullanarak mobil oyun geliştiriyoruz. IOS’a port etmek için RoboVM kullanıyorduk fakat Microsoft, RoboVM ekibini Xamarin’a dahil etti ve geliştirmeyi durdurdular. Nisan 2017’de tamamen kapanacak. Libgdx ekibi alternatifler oluşturmaya çalışsada (Intel Multi OS Engine) stabil hale gelmesi ve 3.parti yazılımların entegresi uzun sürecek bu yüzden yeni bir framework yada oyun motoru kullanmaya karar verdik.

Şuan cocos2d-x, Unity ve Unreal arasında bir seçim yapmayı düşünüyoruz. Uzun bir süre 3D oyun planımız yok, ancak ileriki aşamalarda olabilir. Sizce hangisini kullanmalıyız. Unity veya Unreal gibi editör desteği olan motorlar mı yoksa cocos2d-x gibi daha çok kod yazmamızı gerektirecek bir framework mu?

Cocos ve Unreal’da c++ kodlamak multiplatform için bir artı ama c++, javadan geçecek ekibimiz için zorlayıcı olabilir. Öte yandan Unity’de c# yada javascript kullanıyor.
C# ve js için performans problemleri yada kısıtlamalar var mı çok bilmiyoruz.

Hangisini tercih etmeliyiz?  yada başka bir tavsiyeniz olur mu?

Şimdiden teşekkürler..

Can Tecim

unread,
May 19, 2016, 8:24:19 AM5/19/16
to istanbul-coders
Eğer çok isterseniz cocos ile de javascript kullanabilirsiniz. Açık konuşmak gerekirse javascript'i hiç bir oyun motorunda önermem çünkü javascript ile yazılmış bir kodunuz asla derlenemez sadece ve sadece run time'da kodun işaret ettiği üst seviye bir dil ile yazılmış API'a çağrı yapıyorsunuz. Mesela C++ ile bir oyun motoru yazdınız ve bunun drawLine adına bir fonksiyonu var, javascript desteğiniz şu şekilde olabiliyor, javascript'e drawLine komutunuz bir Javascript Motoru tarafından yorumlanıp sizin belirttiğiniz librarydeki karşılığı çağrılıyor, bu durumda siz C++ ile yazdığınız kodu API haline getirip bir kütüphane yapıyorsunuz. Dolayısıyla javascript kullandığınız her motorda ekstra bir javascript engine katmanı olacağını asla unutmayın.

Javacı arkadaşların bence C++'a geçmesi çok zorlayıcı olmaz(Dilin kendisi zor geliyorsa biraz da öğrenmek için geçmemeliler). Eğer cocos'u seçerseniz C++'ın tüm özelliklerini keşfetmekten sıyrılıp yüzeysel takılarak işinizi görebilirsiniz. Java'da yazdığınız kodda eminim çoğu zaman bellek yönetimiyle uğraşmıyorsunuz. Cocos'da getirdiği dizayn ile aynı şeyi veriyor. Normal bir C++ uygulamasında 100% bellek yönetimi düşünürken cocos'da 0 kod yazarak Scene'larınızı Sprite'larınızı herşeyinizi yönetebilirsiniz.

Bu arada çok üst düzey bir editör'ü olmasada cocos'un bir editörü var SpriteBuilder adında. Assetlerinizi güzelce yönetmenize Scenelarınızı dizayn edip spriteları ekrana yerleştirmede yardımcı oluyor ama eninde sonunda C++ kodu yazarak devam edeceğiniz bir seviyeye geliyorsunuz.

17 Mayıs 2016 Salı 18:25:21 UTC+3 tarihinde Yakup Çilesiz yazdı:

Kerem Karadağ

unread,
May 20, 2016, 11:21:15 AM5/20/16
to istanbu...@googlegroups.com
Kod konusunda sorununuz yoksa veya ekibiniz dil öğrenmek konusunda bir farklılık yaşamayacaksa (kastettiğim C# öğrenmek). Biz ekip olarak Unity de C# tabanlı ama javaScript destekli oyunlar çıkarıyoruz. Editörü Unreal Engine motoruna göre daha pratik geliyor ve en güzel yanlarından biri de Unity'nin çok fazla destek vermesi, atılan ticketlar konusundan gerçekten aktif ve yardımcı oluyorlar, dev kütüphaneleri var ve çok fazla insana ulaştıklarından sorunlarınızın cevaplarını çok daha rahat bir şekilde bulabiliyorsunuz. Bazen bizim bu editörde var mıdır? yada hazır kullanabilir miyiz? dediğimiz bir çok şeye ulaşabiliyoruz. Duyduğum kadarıyla bir çok Unity etkinliğinde de (tabiki yurt dışı tabanlı düzenleniyorlar) oyunlara birçok sponsor ve destekci bulmak konusunda da ideal bir platform. Tabiki bunlar ekstra konular. 

Not:2d konusunda da gerçekten çok rahat kullanabileceğiniz bir platform Unity'de en ufak bir sorun yaşayacağınızı sanmıyorum ama yine de geçmeyi düşünürseniz C# öğrenmeniz kesinlikle gerekecektir, en azından ihtiyaç duyacağınız kısımların olacağına eminim.

19 Mayıs 2016 15:24 tarihinde Can Tecim <can....@gmail.com> yazdı:

--
* Grubun nihai hedefi; grup üyelerinin kendini geliştirebileceği, yanlışlarını görebileceği, bilmediklerini ögrenebileceği, yeni bakış açıları kazanabileceği paylaşımlara ev sahipliği yapmaktır.
* İyi niyetle öğretmeye ve öğrenmeye açık olduğunuzu kabul ettiğiniz için bu grupta olduğunuzu unutmayın.
* Mesajlaşmalarda her türlü hakaret ve sataşma *uyarı olmaksızın* üyeliğin bitirilmesiyle son bulur.
* Saygı sınırlarından dolayı birbirinizin yüzüne karşı söylemeyeceğiniz sözleri lütfen mail'lerinizde kullanmayın.
 
* Slack grubumuz: https://istanbulcoders.slack.com/ dahil olmak icin: https://icodersslack.herokuapp.com/
* Kişilere cevap yazacağınız zaman, lütfen ilgili kişiyi alıcı (to) kısmına koyun.
* Mesaj alım frekansınızı grup üyelik ayarlarınızdan değiştirebilirsiniz.
* İş arama veya ilan verme ile ilgili mailler için konu kısmına [IS_ILANI] tag'i eklemeniz gerekmektedir.
* İş ilanlarında grubu Ek Alıcı (cc) kısmına koyun ki cevap dönenler tüm gruba dönmesinler.
---
You received this message because you are subscribed to the Google Groups "istanbul-coders" group.
To unsubscribe from this group and stop receiving emails from it, send an email to istanbul-code...@googlegroups.com.
To post to this group, send email to istanbu...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages