Oyun Geliştiriciliğine Giriş

Oyun Geliştiriciliğine Giriş

Aklının bir köşesinde oyun geliştirmeye girmek isteyenler için bu makalemde, “oyun geliştiricilik nedir?, ne gibi özelliklere sahip olmam gerekir?”,”oyun motoru nedir?” gibi sorulara cevap vereceğim.


İhtiyacınız Olan Donanım ve Yazılımlar


1-) Bir bilgisayar.

İhtiyacınız olan tek araç çalışan bir bilgisayar. Ne seviyede olduğunun pek önemi yok, başlangıçta çalışacağınız projelerin büyük çoğunluğu oldukça küçük çaplı olacağı için, üst/orta düzey bir bilgisayar zorunlu değil, piyasada cüzi fiyatlara bulabileceğiniz bir dizüstü bilgisayar bile ihtiyaçlarınızı karşılamaya yeter.



2-) Bir oyun motoru

Öncelikle bir oyun motorunu tanımlayalım. Oyun motorları, oyun geliştiriciler için hazırlanmış programlardır. Bu programlarda fizik, objelerin birbiriyle fiziksel interaksiyonları, grafikler ve daha bir sürü özellik, programı indirmenizle hazır halde kullanımıza açık hale gelir. Kendi oyun motorunuzu tabi ki yazabilirsiniz fakat, saydıklarım ve çok daha fazla farklı özelliği sıfırdan kendiniz programlamanız gerekir, bu da genelde kısıtlı olan zaman ve kaynağınız için mantıklı bir seçim olmayacaktır, piyasada ücretsiz/ücretli edinebileceğiniz bir oyun motoru ihtiyaçlarınızı fazlasıyla karşılayacaktır. Popüler oyun motorlarının çoğunu aşağıdaki listede sıraladım:


1-) Unity (Ücretsiz/Pro Lisansı Aylık $125)

Unity C# dilini destekleyen, 2D, 3D, VR ve AR geliştirmeyi destekleyen ve çoğu konsol ve işletim sistemi için oyun geliştirmenizi destekleyen bir oyun motorudur. 2 farklı versiyonu vardır: Kişisel (Personal) ve Pro. Kişisel versiyonunu Unity ile geliştirilmiş herhangi bir projeniz $100.000 kar barajını aşana kadar kullanabilirsiniz, fakat aştıktan sonra, tek seferlik $1.500, veya aylık $75 olarak lisansınızı yükseltmeniz gerekir. Geliştiriciler arasında oldukça popüler bir oyun motoru olduğu için, öğrenebileceğiniz kaynaklar sayısızdır, topluluğu oldukça aktiftir ve bir sorun yaşadığınızda Unity topluluklarında veya resmi Unity forumlarında bu sorunu detaylarıyla paylaştığınızda, dakikalar içinde sorununuzun çözümüne ulaşabilirsiniz.



2-) Unreal Engine 4 (Ücretsiz/Kar Payı)

Unreal Engine, C++ dilini ve Blueprint isminde bir görsel programlama dilini destekleyen, 3D, VR ve AR geliştirmeyi destekleyen ve çoğu konsol ve işletim sistemi için oyun geliştirmenizi destekleyen bir oyun motorudur. Tamamen ücretsizdir, fakat $3.000’dan fazla geliri olan her oyununuz için gelirin %5’i her 4 ayda bir Unreal Engine 4’ün geliştiricisi olan Epic Games’e gider. Unity’e nazaran çok daha küçük bir topluluğa sahip olduğu için kaynakları daha kısıtlıdır, aynı zamanda C++ diğer çoğu dil ile kıyaslandığında bir hayli detaylı ve kullanıcı kontrolüne dayalı bir dil olduğu için, yeni başlayanlar için tavsiye edilmez.
 



3-) GameMaker Studio 2 (139 TL)

GameMaker,  kendine ait GML(GameMaker Language) dilini kullanan, sadece 2D projeleri destekleyen ve çoğu konsol ve işletim sistemi için oyun geliştirmenizi destekleyen bir oyun motorudur. Tek seferlik 139 TL lisans ücreti ardından, hiçbir şekilde kar yüzdesi talep etmeyen bir oyun motorudur. Sadece 2D projeleri geliştirmeyi desteklediği için haliyle kitlesi listedeki diğer oyun motorlarına göre çok daha kısıtlıdır. Kendi dili, diğer programlama dillerine göre oldukça basitleştirilmiştir. 2D projelerinizi herhangi bir kısıtlama olmadan sorunsuz şekilde geliştirmenize olanak sağlar. 2D geliştiricilerin sıkça tercih ettiği bir motor olmakla birlikte yeni başlayanlar için de oldukça uygun bir motordur.



 


3-) Ses efektleri ve müzik için program (Opsiyonel)

Ses efektleri ve müzik oyununuzu tamamlayacak ve eğlenceli kılacak önemli etkenlerden. Ücretsiz olarak tarayıcınız üzerinden kullanımı ücretsiz müzik ve ses efektlerine ulaşabilirsiniz. Eğer müzik/ses efektlerinizi kendiniz yapmak istiyorsanız aşağıda listesini vereceğim programlardan dilediğinizi kullanabilirsiniz. Listedeki programların özellikle yeni başlayanlara uygun seçtim, listedekilerden çok daha komplike ve 


1-) Bosca Ceoil (Ücretsiz)

Arayüzü ve kullanımı son derece kolay olan bu yazılımda, daha önce hiçbir ses düzenleme programı deneyimi gerektirmeden retro müzik ve ses efektlerinizi oluşturmak için kullanmaya hem tarayıcınız üzerinden hem de programı yükleyerek saniyeler içinde başlayabilirsiniz.




2-) BFXR (Ücretsiz)

Bu programda ihtiyacınız olan çoğu ses efektinin taslağı mevcut, isterseniz taslakları varsayılan haliyle ya da üstünde dilediğiniz değişiklikleri uyguladıktan sonra ses efektlerinizi dilediğiniz gibi kullanabilirsiniz.



4-) Sanat için program (Opsiyonel)

Oyununuz için gerekli olan bu dosyaları eğer oyununuz 2D ise “opengameart”, “itch.io 2D ücretsiz oyun dosyaları bölümü”’nden, 3D ise “itch.io 3D ücretsiz oyun dosyaları bölümü”’nden veya “free3d.com” gibi sitelerden ücretsiz olarak elde edebilirsiniz. Eğer kendi sanatınızı kendiniz yapmak istiyorsanız, 2D için, pixel art’a giriş makaleme göz atabilirsiniz, 3D sanattan ise farklı bir makalede bahsetmeyi düşünüyorum. 3D sanat, 2D’ye göre çok daha fazla aşamadan oluştuğu için ve öğrenmesi ve oyun için hazır dosya çıkartması çok daha fazla zaman alan bir sanat formu olduğundan, yeni başlayanların 2D projelerden başlamaları çok daha uygun olur.






İhtiyacınız Olan/Geliştirmeniz Gereken Yetenekler



1-) İngilizce öğrenmek

Oyun motorlarının kitlesinden bahsettik, ama maalesef kitleleri ne kadar geniş olursa olsun, eğer İngilizce dilini, seçtiğiniz motorun dökümanlarını okuyacak ve sorununuzu forumlarda paylaşıp genel cevapları anlayacak yeterlilikte değil ise, kendinizi geliştirmeniz oldukça zorlu ve kısıtlı olacaktır. Biz Toygel olarak oyun geliştiricilerine olabildiğince Türkçe kaynak sağlamaya çalışıyoruz, ancak taşıma su ile değirmen dönmez, bildiğiniz diller size yeni kaynaklara erişim sağlayacaktır, İngilizce de kaynakların büyük çoğunluğunun orijinal dili olduğu için, öğrenmeniz neredeyse şart.


     
                                                                           

2-) Okumayı/araştırmayı alışkanlık haline getirmek

İngilizce öğrenmenin yanı sıra, eğer yaşadığınız en ufak sorunda 15 dakika kurcalamanın ardından forumlara başvurmak çok kötü bir alışkanlık, aynı zamanda geliştirme sürecinizi de son derece yavaşlatacaktır. Bazı zamanlar yaşadığınız sorunları çözmek saatler sürebilir, ancak aklınıza gelmesi gereken ilk çözüm yolu bir topluluğa soru sormak olmamalı. Öncelikle hata kodunuzu kullandığınız dilin veya oyun motorunun dökümanlarında aramalı ve alakalı kısımları okuyup fikir yürütmelisiniz veya  bir arama motorunda hata kodunu veya yaşadığınız sorunu tercihen İngilizce dilinde aratmanız ve çıkan sonuçlara göz atmanız gerekir. Bu yollar sonuç vermez ise (ki doğru araştırmayı kendinize öğrettiğiniz takdirde büyük çoğunluğunda sonuç verecektir.) ancak o zaman alakalı bir forumda sorununuzu yaşadığınız hata kodları ve görseller ile anlatmalısınız. Bu yeteneği er ya da geç öğrenmeniz gerekecektir, ne kadar erken öğrenirseniz, sizin için o kadar yararlı olacaktır.



Yorumlar
Cem Akkaya
Cem Akkaya Ellerinize sağlık çok başarılı, oyun geliştirmeye yeni başlayan arkadaşlar için muhteşem bir yazı.
Cevher Eryurek
Cevher Eryurek Bu yazılara yıldız nereden veriyoruz? :)