Oyunun Geliştirmeye Nereden Başlanır?
Video oyunlarıyla doğup büyüdün ve bir gün kendi tarzını kurmayı hayal ediyorsun. Şu anda hangi programlama dilini öğrenmelisin? Veya ne kadar sürede bir oyun geliştiricisi olabilirsin?
Birçok oyun geliştiricisi size C ++ ‘ı öğrenmenizi söyleyecektir, ancak bu, olası birçok cevaptan sadece biridir. En iyi cevap, ‘seçtiğiniz platform için en iyi dil’ veya ‘oyun stüdyosunun en çok kullandığı dildir’.
Not : Unity ile yaptığım oyunlardan nasıl para kazanırım.
Binlerce programlama dili varken oyun geliştiricilerine bunlardan sadece bir avuç kullanır.
Oyun Geliştirmek İçin Kullanılacak Diller
1.C ++
C ++ size nesne yönelimli programlamanın temellerini öğretecek olan üst düzey bir dil olduğundan, bunu öğrenmek iyi bir fikirdir. Ayrıca en büyük konsolu ve Windows oyunlarını oluşturmak için kullanılan dildir. C ++ bu oyunlarda C ve düşük seviyeli motor modülleri oluşturmak için assembly dilleri ile tamamlanmaktadır. Python , Lua , UnrealScript gibi komut dosyaları veya bazı şirket içi komut dosyaları kod içinde işleyecektir. Ayrıca, OpenGL veya benzer bir framework kullanır .
Ancak daha büyük oyun şirketlerinde büyük oyunlarla mücadele etmek için C ++ ‘ı bilmek çok önemlidir. Hızlıdır, derleyiciler ve optimize ediciler sağlamdır ve bellek yönetimi üzerinde çok fazla kontrol sahibi olursunuz. Karmaşık grafikleri tasarlamak ve güçlendirmek için kullanışlı olan kapsamlı kütüphanelere sahiptir. Kendinizi geliştirmeniz için bir çok literatür var, çünkü onlarca yıldır programcının tercih ettiği bir dildir ve sorularınızı cevaplamaya hazır ve istekli bir çevrimiçi topluluklar bulacaksınız.
C ++ hiçbir şekilde öğrenmesi kolay bir dil değildir. Ancak, sadece C ++ oyunlarının çeşitli platformlarda dağıtılması kolay olduğu için değil, aynı zamanda C ++ ‘ı biliyorsanız, C # ve diğer nesneye yönelik dilleri de hızlı bir şekilde öğrenebileceğiniz için faydalı olabilir.
Hem C ++ hem de C #, günümüzde popüler oyun motorlarında yaygın olarak kullanılmaktadır, Unreal, Sony’nin özgür PhyreEngine ve en sevdiği Unity Engine gibi – ve oyun motorlarının oyun geliştirme sürecinin büyük bir kısmını alabildiğini biliyoruz.
PlayDead unvanı Inside , Unity Engine kullanılarak yapıldı ve oyunun XBox’a isabet eden ilk ismi olan Limbo’dan daha kolay oldu. Limbo daha çok Visual Basic ile yapıldı.
Ayrıca Unreal gibi bazı oyun motorlarının yalnızca C ++ kullanılacağını hatırlamanız gerekir (motorun komut dosyası dilini sıfırdan komut dosyası olarak kullanmak istemediğiniz sürece).
Özetle, sıfırdan oyun yaratma konusunda ciddiysen, C ++ ‘ı öğren. Bu dil, The Witcher 3 (bu arada, Visual Basic’i IDE olarak da kullanabilmek için Windows üzerinde çalışabilmek için kullandı), Dark Souls ve Elder Scrolls V: Skyrim gibi değerli oyunları yaparken kullanıldı .
Yazar Notu : Skyrim hastası olarak oyunun C++ ile yazılması çok hoşuma gitmişti 🙂
2. C #
C # ‘nın yararı XNA çerçevesinde yatmaktadır . Bu, Microsoft tarafından Xbox’taki veya Windows platformlarındaki oyunlar için özellikle uygun olan bir dizi araç ve çalışma ortamıdır. Fakat eğer C # ile C ++ ‘yı karşılaştırırsanız, C ++’ nın size parametreler, hafıza yönetimi vb. Üzerinde çok fazla kontrol sağladığını fark edersiniz.
Öte yandan, C #, otomatik vites bir araba sürmek gibi. Unity gibi bir oyun motorunda, kodladığınız dildir C#’dır.Ancak motorun çekirdeğinde C ++ vardır. Bir anlamda, sizin için yaratılan bileşenleri kullanarak, çerçeve içinde çalışmak zorundasınız. Bu nedenle, bir oyun motorunu kullanmak bir şekilde sınırlayıcı olabilir, çünkü motordaki tüm oyunlar benzer görünecektir.
3. Java
Oyun programcıları da genellikle Java(Java Öğrenmenin En İyi Yolları) kullanır, çünkü Java çoklu okuma ve soketleri destekler. Çoklu okuma, daha az bellek kullanır ve yoğun işlemler arka planda çalışırken kullanıcıyı engellemeden kullanılabilir CPU’dan en iyi şekilde yararlanır. Soketler, çok oyunculu oyunların oluşturulmasında yardımcı olur. Ayrıca, Java sanal bir makinede çalışır, böylece oyunun dağıtılması daha kolay olur.
Mobil cihazlar için Angry Birds Chrome gibi oyunlar yapmak için Java kullanıldı. Ayrıca , bağımsız şirketlerin Aveyond serisi, Barkley ve Eternal Eden gibi RPG oyunları yapmak için kullandıkları RPG Maker motorunu da destekliyor veriyor .
4. Web Dilleri
Kendinizi tarayıcılar için oyun yaparken görüyorsanız, eksiksiz bir kullanıcı deneyimi sunabilmek için birkaç farklı kod bilmeniz gerekir. Her zaman tek bir dilde uzmanlaşabilirsiniz, ancak muhtemelen şunları bilmeniz gerekir:
· HTML5
· CSS3
· SQL
· JavaScript
Tarayıcılar için oyunlar yapmak, konsollar için oyunlar yapmaktan çok farklıdır. 3D grafiklere veya karmaşık grafiklere ve bir içerik yönetim sistemine ihtiyacınız varsa, SVG veya WebGL’ye de ihtiyacınız olacaktır.
Programlama dilini kullanan Flash animasyonu ActionScript , geçmişte tarayıcı oyunları için yaygındı, ancak söylenti, Flash’ın ölmekte veya ölmekte olduğu.
Unity 3D Engine, Javascript’i kabul eder. MIT’de geliştirilen PlayCanvas gibi WebGL özellikli bir Java motoru , kullanıcıların oyunda aynı anda çevrimiçi bir tarayıcıyla çalışmasını ve birden fazla platformda yayınlanmasını sağlar.
Küçük Oyunlar ve Mobil Oyun Geliştirme Hakkında
Birçok insan için, C ++ programlamaya giriş olarak göz korkutucu görünebilir. Bazı insanlar daha kolay bir dil için C++’dan vazgeçerler.
Visual Basic gibi daha basit dillerde küçük oyunlar yapmak mümkün. Java, VB veya C # kullanılarak küçük konsol oyunları kolayca yaratılabilir.
Başlayabileceğiniz başka bir dil Amaç C’dir. C ++ gibi nesneye yönelik bir dildir. . Objective C genellikle iPad ve iPhone için iOS oyunları oluşturmak için kullanılır, ancak sözdizimini veya noktalama işaretlerini beğenmeyebilirsiniz.
Java Android oyunlar için en iyi dildir. Bazı insanlar C ++ ‘da kodlar, ancak sonra cihazlar arası uyumluluk ile başa çıkma zorluğu vardır. Daha önce belirtildiği gibi, Java sanal makinelerde çalıştığından, Java oyununuzu farklı aygıtlar arasında uyumlu hale getirmek için çabalamanız gerekmez.
Sunuculardaki Oyunlar Hakkında Ne?
Bazı oyunların bir sunucu bileşenine ihtiyacı vardır. World of Warcraft, Guild Wars 2 veya Eve Online gibi MMORPG’ler arka ucu geliştirmek için Java, PHP veya C # kullanıyor. C veya C ++ kullanmaktan ziyade performanslarını düşürürken, sunuculardaki oyunları daha hızlı yaparlar.
Sunucu tarafında Python(Neden Python Öğrenmelisin), Ruby(Neden Ruby Öğrenmelisin) veya JavaScript gibi diğer dilleri her zaman deneyebilirsiniz .
Tüm bu bilgileri kısaca anlatmak için oyun programlaması için ihtiyacınız olacak tek bir dil yok. C ++ ve Java bilgisi değerli varlıklardır. Ancak bazı oyunları geliştirmek için C # ve Visual Basic gibi dillerini bilmeniz gerekir. Her dilin kendine özgü eksiklikleri ve avantajları vardır.
Tanıdığınız veya rahat olduğunuz bir dili seçip buna bağlı kalabilirsiniz. Oyunu yapmak istediğiniz platformu da düşünmelisiniz. Örneğin, çevrimiçi oyun sizi ilgilendiren şeyse, C ++ yardımcı olmaz.
Oyun geliştirmeyi kolaylaştıran yüzlerce oyun motorunu inceleyin. İlgi alanınıza uygun bir şey bulmak zorundasınız.
İlk oyununuz için hangi dili seçeceğinizi düşünüyorsunuz? Aşağıdaki yorumlarda bize bildirin.
bilgilendirme için teşekkürler. sadece araştırıyorum şuan 🙂
değer verip okuduğun için ben teşekkür ederim güzel insan 🙂
teşekkürler
ne demek güzel insan. Vakit ayırdığın için ben teşekkür ederim.
c++ öğrenmek gerek
Merhaba. 2 boyut üzerinde fakat görüntü olarak 3 boyut olarak oynanabilecek. Great Conqueror Rome gibi hem Android hem ios’da oynanılabilinecek ,hem online multiplayer hem de single player bir strateji oyunu programlamayı düşünüyorum. Sizce en uygun programlama dili ve platform(unity, unreal vs.) hangisidir.
benim bilgim şu yönde eğer büyük çaplı bir oyunsa genelde unreal öneriyorlar ama dah küçük çaplı bir oyun ise unity öneriyorlar ama bu illa ki böyle diyemem. Fakat unity ile kolayca hem ios hem de Android uyumlu oyunlar geliştirebilirsin. Umarım tatmin edici bir cevap olmuştur. Yorumun için çok teşekkür ederim 🙂
4 aydır Java öğreniyorum ve bundan önce başka sitelerde oyun için C++ veya C# kullanılması gerektiği söyleniyor oyun motoru olarak sanırım unity veya unreal engine kullanacağım sizce Javayı kullanabilir miyim yoksa zaman kaybetmeden Javayı bırakıp c# veya C++’ı araştırmaya başlayım mı? Ne Tavsiye edersiniz .Teşekkürler, Saygılar Efendim…
c# veya c++ çalışmaya başlayabilirsin ama java yı bırakmana gerek yok güzel insan 🙂
Abiiii bu yazi biiii harika. Yazicak soz yok. Ama ben bagimsizim. Demek istedigim oyun motoru ile oyun yapmak istemiyorum. Sadece yazilim ile pyun yapmak istiyorum. Bana bii zahmet yardim edermisin! Sadce yazilim ile pc yada konsol oyunu yapmak? Simdiden tesekurler
Güzel insan discord kanalımıza gelip istediğin soruları sorabilirsin ! Değerli yorumun için çok teşekkürler güzel insan 🙂
Merhaba öncelikle yazınız harika olmuş, sorum şu;
Bir grafik motoru kullanarak bi oyun yapmam ile bağımsız bir şekilde kendi oyunumu yapmam arasında ne gibi farklar olur? Programlamada normalde Python ve html biliyorum ve genelde programlar ve web siteleri tasarlıyorum ancak son zamanlarda oyun programlamaya yöneldim. Ayrıca soracak bir kaç sorum daha var, yanıtlarken discord linkini de yazar mısınız?
https://discord.gg/KV67MQ884D tüm soruların için bekliyoruz güzel insan
Abi kararsız kaldım JavaScript ile yapsam pubg gibi ama tam pubg değil o tarz bişey yapamam c c++ ve c# zor javadayada baktım oda zor sence bu silah oyunu yapmak için hangi dili önerirsin
Merhaba ben aspnet core ile web sitesi yapıyorum yani c# biliyorum. Son zamanlarda oyun yapımı ilgi çekiyor. C# biliyorken onu okullanabileceğim unity oyun motorunu kullanırım diye düşünmüştüm ama siz yazınızda genelde c++ üzerinde durmuşsunuz. C++ öğrenmeden c# dan devam etmek benim için çok kayıp olur mu?