Oyun

Oyun Programlama Dilleri

Hem yazılım hem de oyun tutkunu olanlar, artık oynadığı oyunları kendi yazmak isteyenler! İşte oyun programlamaya adım atmanızı sağlayacak öneriler!

Oyun Programlamaya Genel Bir Bakış

 

Oyun programlamaya başlamadan önce oyununuza dair bütün detayları düşünmeniz gerekir. Oyun programlamanın büyük bir kısmını hazırlık aşaması kapsar. Oyunun ana fikri, hikayesi, tasarım dili, oynanış mekaniği ve hangi mecrada yer alacağı (Web, mobil, bilgisayar vb.) aklınızda tam olarak oturmuş olmalıdır. Kodlamaya başlamadan önce karar vermeniz gereken bir diğer konu ise Tümleşik Geliştirme Ortamı (IDE), yani kodlarınızı yazacağınız program/uygulamadır. Bu adımlar projenizin iskeletini belirler ve oyun programala dilleri arasından hangisini kullanmanız gerektiğini de büyük ölçüde etkiler. Oyunun tasarımları da kodlamadan önce bitirilmelidir. Oyun tasarımı, kodlamadan bağımsız bir alan olduğu için profesyonel şirketlerde ayrı ekipler tarafından yapılır ancak sizin öğrenme aşamasında amacınız kodlara daha hakim olabilmektir. Bu yüzden başlangıçta kodların esnekliğini ve sınırlarını öğrenmek amacıyla basit tasarımlarla ilerleyebilirsiniz. Oyun için bütün hazırlıklarınızı tamamladıysanız, sıra oyun programlama dilleri arasından size en uygun olanını seçmeye gelmiş demektir. O zaman eğlence başlasın!

 

C++

 

Oyun programlama alanında en popüler dil olan C++, günümüzde dünyaca ünlü oyunların da yazıldığı dildir. İleri seviye kodlama dili özelliklerine sahip bu dil her ne kadar öğrenme aşamasında sizi biraz zorlayacak olsa da öğrendikten sonra tam olarak hayal ettiğiniz oyunları yazmanıza imkan tanır. Nesne yönelimli olması oyunlarınızı yazarken daha rahat davranmanızı sağlar. Bellek yönetimi, donanım ve grafik süreçlerindeki kontrol etkisi, hızı, derleyicileri ve optimizasyon konusundaki başarısıyla büyük oyun şirketlerinin gözdesi konumundadır. Fazlasıyla kullanışlı ve geniş bir kütüphaneye sahip olması sayesinde karmaşık grafikler oluşturmanızda büyük avantajlar sunar. Farklı IDE ortamlarına uygunluğuyla geniş bir kullanım alanına sahiptir. Hatta Unreal gibi kimi oyun motorlarında bazı durumlar haricinde yalnızca C++ dili kullanılır. C++ dilinin bir diğer artısı ise özellikle oyun yapımında kullanılan diller arasındaki popülerliği sayesinde çok uzun süredir yazılımcılar tarafından kullanılması ve size takıldığınız yerlerde yardım edebilecek büyük bir kitlesinin olmasıdır. League of Legends, Counter-Strike, Doom III, World of Warcraft ve Starcraft gibi ünlü oyunlar C++ dili ile yazılmıştır.

 

Java

 

Birçok alanda olduğu gibi Java oyun programlama için de hem profesyonel hem başlangıç seviyesindeki yazılımcılar tarafından sıklıkla kullanılır. Özellikle Android oyun programlama konusunda yazılımcıların vazgeçilmez kodlama dili olan Java ile ileri seviye oyunlar da yazmak mümkündür. Örneğin Minecraft, Assassin's Creed: Altaïr's Chronicles, Tom Clancy’s Politika, Star Wars Galaksileri, PES 2009 ve PES 2010 oyunları Java diliyle yazılmıştır. C++ ile olan benzerliği sebebiyle kimi yazılımcılar ikisini aynı anda öğrenmeyi tercih eder. Java’nın en önemli özelliklerinden bir tanesi çoklu platforma sahip olması ve ciddi bir esneklik sunmasıdır.  Çoklu oyunculu oyunlar programlarken Java sıklıkla başvurulan bir dildir.

 

C#

 

C# yazılım dili, C ailesinin bir başka üyesidir. Bu sebeple C++ ile fazlasıyla benzerlik gösterir. C# dili öğrenilmesi çok daha kolay bir dildir ancak bunun yanında C++ ile yapabileceklerinizle kıyaslandığında hareket alanınızın daha dar olduğu söylenebilir. Yazılımcılar genellikle ilk önce C++ dilini öğrendikten sonra C# diline geçer. Bu sayede C# dilini öğrenmesi daha da kolaylaşır. C# özellikle Unity gibi oyun motorlarında çalışmak isteyen yazılımcılar için fazlasıyla önemlidir. Bilgisayar, mobil cihazlar ve konsollar için tasarladığınız oyunları C# ile programlanabilir. Her ne kadar sınırlı bir hareket alanı sunsa da bu durum C# öğrenmenize engel olmamalıdır. Çünkü bu durum çoğu zaman C++ ile yapılan karşılaştırmalarda geçerlidir. Profesyonel oyun firmalarının C# dilini sıklıkla kullandığı göz önünde bulundurulmalıdır. Dünyaca ünlü bazı oyunlar C# ile yazılmıştır. Bunların en bilindik olanlarından bir tanesi NASCAR Heat 3 oyunudur. Bunun yanında Monument Valley 2, Escape from Tarkov ve DRONE The Game oyunları da C# ile yazılmış oyunlar arasındadır.

 

Web Oyun Programlamada Diller

 

Oyun sektörünün ciddi bir bölümü her ne kadar bilgisayar, mobil platformlar ve konsollar gibi alanlarda daha çok varlık gösteriyor olsa da web oyunları bu sektörün büyük bir parçasını oluşturur. Çoğu zaman oyunun oynandığı cihazın özelliklerinden bağımsız olarak çalışan web oyunları, web tarayıcıları tarafından çalıştırılabilen bir yapıya sahip olmalıdır. “Web oyun programlama için hangi dil kullanılmalıdır?” sorusunun cevabı da çeşitlilik gösterir. Web oyunlarında backend için kullanılan diller çoğunlukla JavaScript, PHP, C#, ASP, C#, C++ olarak karşımıza çıkar. Yani oynanış esnasında arka planda gerçekleşecek işlemlerin kodları bu dillerle yazılır. Ardından görsellerin kodlara “giydirilmesi” yapılır. Bir oyun yaparken ihtiyaç duyacağınız dillere genel bir bakış atacak olursak:

 

JavaScript: Yazılımcılar arasında popülerliğini uzun süredir üst düzeyde koruyabilmiş olan bir yazılım dilidir. Web geliştirmenin her noktasında sıklıkla kullanılan JavaScript, web oyunlarında da yazılımcılara fazlasıyla avantaj sunar. Angry Birds serisi, JavaScript’in kullanıldığı en ünlü oyunların başında gelir.

 

CSS3: Asıl olarak web sitelerindeki görsel çekiciliği artırmak için kullanılan CSS3 ile sıfırdan oyun yazmak mümkün olmasa da web oyunları geliştirirken yardımcı bir araç olarak yazılımcılar tarafından kimi zaman tercih edilir.

 

HTML5: Çıkışıyla birlikte büyük ses getiren HTML5, kendi başına fazlasıyla güçlü bir dildir ancak HTML5; web oyun yazılımcıları tarafından CSS3 ve JavaScript gibi dillerle birlikte kullanılan, oyun görsellerinin arka planında görev alan bir dildir.

 

SQL: Web oyunlarının veri tabanlarında görev alan SQL, oyunlarda oluşturulan kayıtlar için kullanılır. Data saklama konusundaki yetenekleriyle yazılımcıların fazlasıyla tercih ettiği bir dildir.

 

Mobil Oyun Programlama Dilleri

 

Mobil oyun programlama son zamanların en popüler yazılım trendleri arasında yer alır. Mobil oyun yazmak için kodlama diline karar vermeden önce hangi platform için yazmak istediğinizi belirlemelisiniz. Çünkü Android ve iOS sistemleri için farklı diller kullanılır. Kullanacağınız oyun motoru da yazacağınız mobil oyunun kalitesinde büyük bir rol oynar. Android için oyun geliştirmek isteyen yazılımcıların en çok kullandığı yazılım dili olarak Java gösterilebilir. Esnekliği ve oyununuzun oynanışı konusunda yapabileceklerinizin geniş olması Java’yı bu alanda zirveye taşır. C++ başta olmak üzere C dil ailesi de fazlasıyla kullanılır. C++ diliyle yapabilecekleriniz hayallerinizle sınırlıdır, denebilir. Ancak bu dili öğrenmek de bir o kadar zor olduğu için C++, kodlamayı profesyonel bir kariyere dönüştürmek isteyenler tarafından tercih edilir. Oyunların farklı cihazlara da uyumlu davranması konusunda Java ile yazılan oyunlar, C++ ile yazılan oyunlara göre daha avantajlıdır. Bu yüzden mobil oyunlarda Java daha çok tercih edilir. iOS için oluşturulmak istenen oyunlar için Objective-C tercih edilir. Apple’ın kendi ürünleri için geliştirdiği bir kodlama dili olan Objective-C, diğer dillerden söz dizimi ve noktalama açısından farklılık gösterir.

Yorumlar

İsmail Emre ARIKAN
13.12.2021 - 08:37

Bunlar hakkında biraz bilgim vardı. Sayenizde daha fazlasına ulaştım.

Koray ADEMOĞLU
29.12.2021 - 12:11

Oyun programlama merakımı arttıran bir içerik oldu.

Hüsrev SERBEST
10.01.2022 - 08:18

İçerik çok güzel. Pandemi bitimi birebir kurs/eğitim programlarının tekrar başlaması ve sadece istanbul ile sınırlı kalmaması dileği ile.

Seo Expert
20.01.2022 - 01:08

Thanks for sharing this useful info. Check it on:stayonthehunt

Erhan Taşdemir
24.01.2022 - 11:51

Güzel Bilgiler İçin Teşekkürederiz.

Funda Türkmen
25.01.2022 - 10:15

çok yararlı bir içerik. elinize sağlık.

Kaan Berk Akyüz
27.01.2022 - 02:38

teşekkürler 

can manay
18.02.2022 - 05:54

qwewqe

Joe Anderson
23.02.2022 - 08:58

I have very little knowledge about game programming and this article helps me to learn more.

Joe from the best concrete company in Irving

Berat Ünlü
10.04.2022 - 01:29

.

Ömer Karagöz
21.04.2022 - 10:41

Teşekkürler çok faydalı olmuş aslında kodlamaya başlayanların okuması gereken bir blog sayfası olmuş elinize sağlık..

Oğuzhan Keleş
30.05.2022 - 06:46

Yazılıma yeni başlamak isteyenlere tavsiye şeklinde olmuş ben de bir tavsiye bırakmak istiyorum Python öğrenmektense C++ ile başlamak her zaman daha iyi ve daha sağlam olucaktır.

PekBlog
19.06.2022 - 11:16

Bu dillere hakim olanlar bence bir an önce yurtdışı yapmalı.
Yurt Dışına Gitme Yolları
Umarım faydalı olur.

mustafa gediz
24.06.2022 - 12:03

BTKakademi de basit oyunlar yapabileceğiniz uygulamalar ve kodlamalar var acaba bunların özelllik bakımından diğer program dillerine göre artı eksi yanları neler ?çok merak ediyorum. kaliteli bir makale olmuş bu arada.