Türkiye'de amatör oyun sektörü konulu yazımda söz verdiğim gibi Hüseyin Uslu'nun kendini ve oyunlarını tanıttığı, en sonunda da yeni başlayanlara ve başlamak isteyenlere birkaç tavsiye verdiği yazıyı yayınlıyorum. Buyurun okuyun.
Adım Hüseyin Uslu, Başkent Üniversitesi Bilgisayar Mühendisliği
mezunuyum ve indie yani bağımsız oyun geliştiricisiyim. Atari 2600 ile
oyunlarla tanışdığım ilk günlerden beri kendimi sıkı bir oyuncu olarak
niteleyebilirim.
Bağımsız geliştirici olarak oyun geliştirmeye
başlamamın temel sebebi olarak ise oyun programcılığının, ilgi duyduğum
gerçek zamanlı sistemlere ve alt-seviye programlamaya yakın bir profil
çiziyor olması diyebilirim. Global Game Jam'lere katılarak birkaç basit
oyunla sürece ısındıktan sonra, ilk olarak Minecraft tarzı bir block
motoru üzerinde çalışmaya başlayarak oyun geliştirmeye ilk adımımı
attım.
Minecraft ve benzeri block tabanlı oyunlar, yapıları itibari oldukça basit olsadalar da işin mutfağında,
tatmin
edici performans alabilmek için bir çok püf noktasına dikkat edilmesi
gereken yapımlar. Ayrıca grafiksel malzeme gereksinimlerin oldukça az
olması nedeniyle, yeni başlayan bir oyun programcısının, tek başına
"programmer-art" olarak tabir ettiğimiz temel materyallerle üzerinde
çalışabileceği ve ihtiyaç duyacağı bütün teknikleri tatbik edebileceği
bir tür. İşte bu yüzden ilk projem, geçen bir kaç ay içerisinde açık
kaynak olarak yayınladığım Voxeliq adlı block motoru (https://github.com/raistlinthewiz/voxeliq) oldu.
Devamında büyük ölçüde tamamlanmış ArchStone adlı (http://www.int6.org/games/archstone/)
bir şanş-oyunu geliştirdim ve yakın zamanda Unity3D'nin platformu
desteklemesi ile birlikte Windows 8 Store'da yayınlamayı planlıyorum.
Şu anda aktif olarak da Frenzied adlı (http://www.int6.org/category/frenzied/)
bir puzzle oyunu geliştirmekteyim. MonoGame ve C# kullanarak
geliştirmekte olduğum Frenzied, Windows 8 Store, Windows Phone 7 &
8, Android ve IOS gibi birçok platformu desteklemekte ve yakın zamanda
sırasıyla bu platformlarda yerini alacak.
Ek olarak XNA'nın varisi olan ve Mono tarafından desteklenen C# tabanlı MonoGame (http://monogame.net/) projesini aktif olarak takip ediyor ve katkıda bulunuyorum.
Yeni başlayanlara vereceğim nacizane tavsiyem ise,
herşeyden önce bu işe küçük adımlar atarak başlamaları gerektiğini
söylemek olacaktır. Genellikle oyun geliştirmeye yeni başlayanların en
büyük hatası, altından kalkabileceklerinden daha büyük proje ve
fikirlerlerle başlangıç yapmaya çalışmalarıdır.
Programlama, oyun geliştiriciliği açısıdan temel
taşlardan biri olsa da, oyun geliştiriciliği çok disiplinli bir süreç
olarak karşımıza çıkmakta. İşte bu yüzden geniş çaplı projelerde, tek
bir geliştirici için bütün bu süreçler bir noktadan sonra ağır bir yük
haline gelebilmekte ve motivasyon kaybının en önemli nedeni olmakta.
Mümkün mertebe, küçük çaplı projelerle yola çıkmak ve her şeyden önce
basit bile olsa birkaç oyunu A'dan Z'ye bitirerek bütün süreci
deneyimlemekte fayda görüyorum. Bu noktada GGJ (Global Game Jam) ve Ludum Dare gibi
kısıtlı sürede oyun geliştirmeniz gereken ve süreci görebileceğiniz
Jam'lere katılmakta oldukça yararlı olacaktır.
Ek olarak oyun geliştiriciliğine yeni başlayanlar,
genelde hangi dili tercih etmelerini gerektiği konusunda karar vermekte
zorlanmaktalar. C++ gibi bir dili bilmek / öğrenmek, bir oyun
programcısı açısından oldukça önemli olsa da, şu unutulmamalı ki,
muhtemelen yeni başladığınızda geliştereceğiniz oyunlar, C++ ve C# gibi
managed bir dil arasındaki performans farkının çok önemli bir faktör
olmadığı oyunlar olacak. İşte bu yüzden C# gibi harika bir dili taban
alan ve Windows, MacOS, Linux, Android, IOS, Windows Phone 7, Windows
Phone 8 ve Ouya gibi birçok platformda çalışabilen MonoGame (http://monogame.net/)
projesini şiddetle tavsiye ediyorum. Tabi ki kullanacağınız dil veya
framework, hiç bir zaman amaç olmamalı, sadece bir araç olarak kalmalı
ve her projeye en uygun dili / platformu tercih etmeliyiz.
Son olarak da sürekli olarak takip ettiğim ve yeni
başlayanlara yararlı olacağını düşündüğüm bir kaç kaynağı paylaşmak
istiyorum;
* http://reddit.com/r/gamedev - reddit'in oyun programcıları için olan oldukça faydalı alt-bölümü.
* http://gamedev.stackexchange.com/ - oyun programlama ile alakalı teknik soru ve cevapları bulabileceğiniz bir kaynak.
* http://www.pixelprospector.com/ - Bir bağımsız oyun geliştiricisinin ihtiyacı olabileceği bütün kaynakları bir araya toplayan bir site.
* https://www.facebook.com/groups/gamedevturkey/ - Diğer Türk oyun geliştiricilerle bir araya gelip paylaşımda bulunabileceğiniz grup.
* http://www.oyungelistirici.org/ - Oyun geliştirme hakkında bulabileceğiniz nadir Türkçe kaynaklardan.
Hiç yorum yok:
Yorum Gönder