Ayın Konusu Unity Oyun Motoru

Konu, 4 Haz 2019 tarihine kadar sabit.

Spac

OMGAME
Sponsor
Asistan
Mesajlar
33
En iyi cevaplar
0
Puanları
1,080
Ruh Hali


2019-03-18-image-24.jpg



Unity Oyun Motoru

Eğlence söz konusu olduğunda insanlar çoğu zaman oyunlara yöneliyorlar. Bunun sebebi ise oyunların toplumdaki her kesime hitap etmesi diyebiliriz. Para ödemenize gerek olmadan yanınıza bir arkadaşınızı almanız yeterli. Yani eskiden bu şekilde yapardık. Şimdiki oyun oynama anlayışında başrol elektronik cihazlar ve bu cihazlar için yapılan milyonlarca oyun var. Oyuncu kitlesine ve bu alanda yapılan harcamalara baktığımız zaman büyük paralar döndüğünü görebiliriz. Ortada bu kadar ilgi varken oyun yapımcıları her geçen gün daha kaliteli oyunlar yapıp kitleyi elinde tutmak istiyorlar. Son zamanlarda oyun geliştiricilerinin sayısı bir hayli arttı. Büyük şirketlerin yanı sıra küçük şirketler ve hatta bireysel geliştiriciler bile seslerini duyurmayı başarabiliyorlar. Oyun yapımını kolaylaştıran kütüphaneler ile çok az kodlama bilgisi olan her insan oyun yazabiliyor.

Bu yazımda kendi oyununuzu geliştirebileceğiniz Unity Oyun Motoru hakkında bilgi vermeye çalışacağım. Herkese selamlar ben Spac.


Unity Oyun Motoru Nedir?

Bir oyun yapmak için öncelikle bir oyun motoruna ihtiyacınız vardır. Oyun motorları sizin yaptığınız oyun ile ilgili kolay erişilebilir kütüphaneler bulundurur. Örneğin bir araba yarışı oyunu yapıyorsunuz ve arabanızın ileri gitmesini istiyorsunuz. Oyun motorları ile araba.ileri fonksiyonu tarzında hazır bir fonksiyon kullanarak arabanızı ileri yönde hareket ettirebilirsiniz. Eğer oyun motoru kullanmıyorsanız ileri fonksiyonunu kendiniz yazmak zorunda kalacaksınız. İşin teknik kısmından anlamayan arkadaşlar için şunu söyleyebilirim: oyun motorları sizin yapmanız gereken bazı işlemleri önceden yapıp hazırlar ve size sadece doğru yerde kullanmak kalır. Unity Oyun Motoru piyasadaki oyun motorları arasında en çok tercih edilenidir. 2D ve 3D oyunlarınız için geniş bir kütüphaneye sahiptir. Tercih edilmesinin tek sebebi bu değil elbette. Diğer sebeplerini başlıklar altında inceleyelim.

Zengin ve Genişletilebilir Editör

Windows, Mac ve Linux'te kullanılabilir olan bu programımızda oyun yapımına dair ihtiyaç duyduğunuz bütün araçlara tek pencereden erişebiliyorsunuz. Oyun dünyaları tasarlayıp oyun mantığını planladıktan sonra eş zamanlı test edebilir ve nerede hatanız varsa anında görebilirsiniz. Oyun içerisinde mantıklı bir şekilde hareket eden NPC'ler oluşturabilirsiniz. Unity'ye özel olan bu navigasyon sistemini kendi isteğinize göre ayarlayabilirsiniz. Mesela korunması gereken bir bölge var ve bu bölgeye asker konumlandırıyorsunuz. Asker A noktasından B noktasına gidip gelecek. Aradaki engelleri hesap ederek bir rota belirleyip askerin bu rotaya bağlı şekilde hareket etmesini sağlayabiliyorsunuz.

Önceden hazırlanmış demo modellerden ihtiyacınız olanı kullanıp zamandan tasarruf edebilirsiniz. Üçüncü şahıs kontrolleri, kamera hareketleri, assetler gibi içerikler ücretsiz olarak kullanımınıza sunuluyor. Kullanıcı arayüzü hazırlarken hiç zorlanmazsınız. Unity aklınızdakini anında gerçekleştirebileceğiniz kullanımı basit ve geniş kapsamlı bir UI oluşturmanıza olanak sağlar. Fizik motorları Box2D, DOTS-based Physic system ve NVIDIA PhysX desteği ile yüksek performanslı oyunlar yapabilirsiniz. Performans ile kütüphaneler ne alaka demeyin, ne kadar sade ve kullanışlı bir kod yazarsanız o kadar performansı yüksek bir oyun elde edersiniz.



12.png



Çoklu Platform Desteği

Mobil, Masaüstü, Konsol, TV, VR, AR ve Web üzerinde 25'ten fazla platform için oyununuzu geliştirebilirsiniz. Bu konuda Unity rakiplerine ciddi anlamda fark atmış gibi görünüyor. Daha adını duymadığımız "Ne bu yenir mi ?"diyeceğimiz platformlar için bile Unity desteği mevcut. Son zamanlarda XR platformuna yönelen büyük bir kitle olduğunu söylemeden geçmeyelim. Çoğu oyun yapımcıları ve benim de takip ettiğim birkaç bireysel geliştirici özellikle VR oyunlarına yönelmiş bulunmakta.

Motor Performansı

Unity'nin gelişmiş profil oluşturma özellikleri ile oyununuzu geliştirirken sürekli optimize tutabilirsiniz. Örneğin geliştirdiğiniz oyunun CPU'ya ya da GPU'ya bağlı olup olmadığını kontrol edip gerekli yerlerde iyileştirme yapabilirsiniz. Burası biraz teknik kısma girse de söylemezsem olmaz hani demiştik ya performans için kütüphaneler önemli diye, C++ için kendi geliştirdikleri Backend IL2CPP Script ile performansı daha da arttırdıklarını ifade ediyorlar. Çok çekirdekli işlemcileri fazla yormadan tam verimde kullanıp yüksek performans sağlamak için oluşturdukları temel, üç alt sisteme sahip. Bunlardan birincisi paralel kod yazmak için güvenli bir sanal alan sağlayan C# Job System, ikincisi normal olarak yüksek performanslı kod yazmak için bir model Entity Component System, sonuncusu da yüksek seviyede optimize edilmiş yerel kod üreten Burst Compiler.

Bir üst paragrafta ne söylediğim hakkında bir fikriniz yoksa sorun değil, dediğim gibi işin biraz teknik kısmına giriyor bilmeseniz de bir şey kaybetmezsiniz. Belki bu konularda biraz fikri olan vardır diye her ihtimale karşı anlatıyorum :)


VR ve AR Deneyimi

Unity, XR oyun ve uygulama konusunda kendine rakip tanımıyor. Ubisoft gibi büyük oyun stüdyolarından tutun NASA'ya oradan Hollywood yönetmenlerine kadar çok geniş bir kullanıcı kitlesi var. Yukarıda dediğim gibi VR teknolojisi önümüzdeki yıllar adını dillerden düşürtmeyecek. Bu konuda kendinizi geliştirmeyi düşünüyorsanız çok doğru düşünüyorsunuz, pişman olacağınızı hiç sanmıyorum.


maxresdefault-84.jpg



Grafik Render

Grafik Render konusunda kendi tecrübelerimi aktaramayacağım, bunu test edebilecek bir oyun geliştirme deneyimim olmadı. Araştırmalarım ile bu konuyu biraz açıklamaya çalışayım. Gerçek zamanlı Render motoru ile bütün aydınlatmaları, animasyonları ve fizik tabanlı hareketleri görebilir, oyununuzu tasarlerken aynı zamanda oynayabilirsiniz. Bunlar yine Unity'nin sağladığı kolaylıklar. Grafikten bahsederken aydınlatmayı atlarsak olmaz. Renk doygunluğu ve ışıkları en ince detayına kadar ayarlayabiliyorsunuz. Daha profesyonel bir iş çıkarmak isterseniz ücretli olarak asset store üzerinden satın alabileceğiniz birkaç farklı aydınlatma eklentileri mevcut. Bunları kullanarak görüntü kalitesini inanılmaz derecede arttırabilirsiniz. Sonucun nasıl olduğunu görmek istiyorsanız YouTube üzerinden Unity ADAM animasyon filmini izlemenizi tavsiye ederim. Oyun motoru ile film mi yapılır diyorsunuz biliyorum ama bence bir izleyin göreceksiniz ki kaliteli bir iş çıkarmışlar. İzleyen olursa da yorumunu bekliyorum.

Para Kazanma

Unity'de para kazanmanın iki farklı yolu var. Birincisi geliştirdiğiniz oyuna reklam ekleyip bu reklamlar üzerinden gelir elde etmek, ikincisi Unity Asset Store'a içerik hazırlayıp satışa sunmak. İlk yol için de birden fazla seçeneğiniz var ama en popüler iki tanesi Unity Ads ve Google Ads. Bunların hangisi daha avantajlı farkları neler gibi konulara detaylı bir şekilde değinmeyeceğim. Çoğunlukla tercih edilen reklam şirketi Google Ads ama Unity Ads'in tıklanma başına gelir oranı diğerine göre daha fazla. Çeşitli sosyal medya platformlarında bireysel projelerini yayınlayan geliştiricilere danışarak bu konu ile ilgili detaylı bilgi edinebilirsiniz. İkinci yola gelecek olursak; İster bir kod yazın ister model tasarlayın. Unity Asset Store'da ücretli/ücretsiz şekilde yayınlayabilirsiniz. Hazırlayacağınız kod herhangi bir efekt olabilir ya da Unity'nin demo skriptlerini geliştirip işe yarayabilecek fakrlı bir skripti yayınlayabilirsiniz tamamen size kalmış. Model tasarlama işi tabii ki Unity ile yapılmıyor. Bunun için farklı bir program kullanmanız gerekiyor. Eğer merakınız varsa bir programı öğrenip kendi modellerinizi tasarlerken kodunuzu yazabilirsiniz ama oyun geliştirmek için model bilginizin olması gerekmiyor canınız sıkılmasın : )

Nasıl İndirilir/Kurulur?

Unity'de 3 farklı kullanım alanı bulunmakta. Birincisi yeni başlayanlar için ücretsiz olan Bireysel, ikincisi biraz kendini geliştirmiş olanlar için Plus, üçüncüsü de Ekip ya da Freelancer kullanıcılar için Pro. Benim için aralarında hiçbir fark yok ama Profesyonel olarak kullananlar için ek özellikleri mevcut. Bunlardan en önemlilerinden birisi kazanç sınırı. Ücretsiz versiyonda 100 bin dolar kazanca ulaştığınız anda daha fazla kazanmanız için hesap yükseltmeniz gerekiyor. Plus'ta da 200 bin sınırı var. Pro sürümünde herhangi bir limit olmaksızın para kazanabilirsiniz.

Unity'nin websitesine girerek işletim sisteminiz için uygun olan sürümü indirebilirsiniz. Kurulum konusunda bir sıkıntı çekmezsiniz, kurulum tamamlandıktan sonra çalışma alanı olarak bir klasör seçmeniz gerekiyor. Unity içerisinde geliştirdiğiniz oyunlar bu çalışma alanına kaydedilecektir. Sizlere tavsiyem, eğer sisteminizde SSD bulunuyorsa Unity'yi ve çalışma alanını SSD üzerine kurmanız Render ve genel performans açısından çok daha iyi olacaktır. Her şeyi tamamladıktan sonra Unity'ye hesabınız ile giriş yapıp kullanmaya başlayabilirsiniz.

unity.com

Yazımın sonuna geldim umarım Unity hakkında açıklayıcı bilgiler vermişimdir. Herhangi bir sorunuz olursa çekinmeden sorabilirsiniz. Bu yazıyı Unity'yi tanıtmak amacıyla yazdığım için "Nasıl oyun yapılır?" sorusuna cevap vermedim. İstek olursa bu konu hakkında da detaylı bir yazı paylaşabilirim. XXX oyunu nasıl yapılır gibi bir konu isteyen yoruma belirtirse sevinirim.

Bir başka yazıda görüşmek üzere sağlıcakla kalın, selamlar.

 


Son düzenleme: