Unity ile oyun yapmak zor mu?

Ha bi' de, sistemin düşükse cidden Godot'u tavsiye ediyorum. Unity açılana kadar insanın pes edesi geliyor. Yetmedi Unity için hesap mesap oluşturacaksin. Splash Screen yaparken ilkernumi games yazacakken önce made with unity yazisi çıkacak onu kapatmak için premium gerekiyor. Godot ise 2D ve 3D destekli C# desteği de var (Gdscript varken tavsiye etmem bi ton süslü parantezle uğraşmiyorsunuz). Godot beleş, premium gibi biseyi yok. Splash Screeni ayarlayabilirsin. Açık kaynaklı. Steamden indirirken büyük ihtimal 500Mb depolama alani ister onun da çoğu örnek projeler verdiği içindir. Yani motor sade haliyle indirsen depolamada yer kapladığıni bile hissetmezsin ayrıca kolay açılıyor.

Ama seçim size kalmış tabii ki. Ben Godot kullandığım için tecrübelerimi anlattım. Unity de kullandım ama dediğim gibi bi saat geç açılıyor bende + visual studio felan istiyor. Visual Studio yukledim kodları yazarken kodları göstermiyor gibi sorunlarla uğraşıyordum neyseki Godot'un kendi script editöru vardi hiç dert çekmedim.
Satır Satır kod yazmak istemiyorum. Godot Script sistemi var değil mi?
 
Nasıl yani? Şuanlık google dinozor oyunun bir parodi oyununu yapmak istiyorum.
Yapacağın oyunun önce algoritmasıni düşünmen lazım.

Google Dinazor oyunu ile Flappy Bird birebir aynıdır.

Altta bir yol vardır o yol sağdan sola hareket eder. Dinazora yön tuşlarını atarsın, yer çekimi atarsın(Unity'de rigidbody2d olduğu için yercekimi atmaya gerek yok ama Godot'ta rigidbody2d yerine kinematicbody2d tercih ettiğim için onda yercekimini kendim ekliyorum)

3-4 kaktüs çizersin bunların boyları büyük küçük olur. Ve bunlara 1 2 3 4 diye numara atarsın. Bir tane spawner oluşturursun. Rastgele bir sayı söyler 1'den dörde kadar ona göre kaktüs çıkar.

Kuşların pozisyonu da aynı şekilde.
 
Yapacağın oyunun önce algoritmasıni düşünmen lazım.

Google Dinazor oyunu ile Flappy Bird birebir aynıdır.

Altta bir yol vardır o yol sağdan sola hareket eder. Dinazora yön tuşlarını atarsın, yer çekimi atarsın(Unity'de rigidbody2d olduğu için yercekimi atmaya gerek yok ama Godot'ta rigidbody2d yerine kinematicbody2d tercih ettiğim için onda yercekimini kendim ekliyorum)

3-4 kaktüs çizersin bunların boyları büyük küçük olur. Ve bunlara 1 2 3 4 diye numara atarsın. Bir tane spawner oluşturursun. Rastgele bir sayı söyler 1'den dörde kadar ona göre kaktüs çıkar.

Kuşların pozisyonu da aynı şekilde.
E şimdi dinozor oyununda kendi kendine uzayan bir platform eklemem gerekmez mi?
 
Satır Satır kod yazmak istemiyorum. Godot Script sistemi var değil mi?
Satır satır kod yazmak istemiyorumdan kastın kodsuz oyun yapmak istiyorum ise Godotta VisualScript var. Unity'de de Bolt diye bir eklenti vardı. Unreal Engine'daki kodsuz programlamaya benzer ama tavsiye etmem.

Eğer kastınız az kod yazmak ise, Gdscript Python'a benzer bir dildir. Artı, kendi editörunde kod yazacağınız için gereksiz şeyleri göstermez.

Örneğin C#'da using.System felan diye başlar sonra using.UnityEngine yazar sonra fonksiyon açılır fonksiyon ana fonksiyondur onda 1 haf giderse proje gider. O fonksiyonun içine kod yazıyorsun her yere süslü parantez koyuyorsun bir yerden sonra başa bela oluyor o parantezler.

Godotta ise diyelim KinematicBody2D Node'una (Unitydeki komponentler gibidir) script atadiniz. Scriptte tek göreceğiniz komut extends KinematicBody2D komutudur.

Sonra fonksiyon açarsanız fonksiyonun aonuna iki nokta üst üste koymanız yetiyor süslü parantez olayi yok
E şimdi dinozor oyununda kendi kendine uzayan bir platform eklemem gerekmez mi?
Platforma gelirsek; Diyelim oyun 1280x720 piksel. O işin hilesi şudur. Ben platformdan 2 tane eklerim. Sonra komutu veririm sağdan sola doğru şu hızda git diye. İlk platform sahneden cikarsa (Yani x ekseninde 0dan küçük olursa) onu silerim ve ikinci platformun hemen yanına konumlandiririm kodla. Ama düşündum de platform kütük gibi yerde kalsa pek sıkıntı olmaz bence
 
Platforma gelirsek; Diyelim oyun 1280x720 piksel. O işin hilesi şudur. Ben platformdan 2 tane eklerim. Sonra komutu veririm sağdan sola doğru şu hızda git diye. İlk platform sahneden cikarsa (Yani X ekseninde 0'dan küçük olursa) onu silerim ve ikinci platformun hemen yanına konumlandiririm kodla. Ama düşündum de platform kütük gibi yerde kalsa pek sıkıntı olmaz bence.

Aklıma şöyle bir şey geldi platform hareket etmeyecek sadece karakter animasyonu oynayacak ve rastgele bir sıra ile spawn olan engeller karakterin üzerine doğru gelecek böylece platform hareket ediyormuş ve karakter ileri gidiyormuş gibi gözükecek.
 
Aklıma şöyle bir şey geldi platform hareket etmeyecek sadece karakter animasyonu oynayacak ve rastgele bir sıra ile spawn olan engeller karakterin üzerine doğru gelecek böylece platform hareket ediyormuş ve karakter ileri gidiyormuş gibi gözükecek.
O işin hilesi odur zaten :D. At0m adlı kanalın Flappy Bird videosunu izlemenizi tavsiye ederim.
Bu arada tekrar söylüyorum. Godot'u indirince Unityden daha az karışık gelecektir ve Unity gibi 2D 3D olayi var. Yani ucuza çok ayrıntılı bir oyun motoru kullanmış gibi olacaksınız. Gdscript biraz size ters gelebilir çünkü C# gibi diller heryerde kullanabilirsiniz ama Gdscript sadece Godota özel. Ama Şu var. (Tabi kendime programcı felan demiyorum)

Bence, C# desteğimiz var demelerinin amacı tamamen Syntax(Dilin yazım şekli) ile alakalı. Sonuçta Ne kadar iyi C# bilseniz de Unity'nin Komponentlerine göre çalışacaksınız ve aynı şey de Godotta geçerli.

Ve Godottaki Scene ve Node (Sahne ve Düğüm) olayi çok iyi.
 
Son düzenleme:
Gerçekten Unity ile başlamak istiyorsan emin ol ki iyice alışana kadar hiç bir şey yapamıyorsun. Ben 3 yıldır Unity kullanıyorum fakat hala daha güzel bir oyun yapamadım. Godot ardından GMS2 daha sonrada Unity geçmeni tavsiye ederim.
 

Yeni konular

Geri
Yukarı