21 Şubat 2013 Perşembe

Bağımsız Oyun Yapımcısı, Hüseyin Uslu


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.

19 Şubat 2013 Salı

Türkiye'de Amatör Oyun Sektörü


Merhaba arkaraşlar. Uzun zamandır yazı yazmadım, biraz boşladım buraları. Tahmin edebileceğiniz gibi bunun sorumlusu büyük ölçüde derslerin ağırlığı. Hazır tatil, dersler başlamadan bir iki yazı yazayım dedim. Bu seferki yazım bir ders değil, bir tanıtım yazısı. Türkiye'de geliştirilen oyunlardan bahsedeceğim sizlere. Ama öyle sık sık rastladığınız bir yazı olmayacak bu; öyle bir yazı zaten yazmıştım önceden, şuradan ulaşabilirsiniz: http://e-bergi.com/2010/Kasim/Turkiye-Oyun-Sektoru , http://e-bergi.com/2011/Ocak/trkiyede-oyun-sektr-2 . Bizler gibi amatörce oyun geliştirmeye çalışanlardan ve oyunlarından bahsedeceğim sizlere.

Son birkaç gündür forumlarda dolaşıyorum ve Türkiye'de ne kadar çok oyun geliştirmeye çalışan insan varmış, onu fark ettim. Sözü daha fazla dolandırmayıp tanıtımlara geçeyim...

İlk oyunumuz Ornito. Bu oyunun geliştiricis Ahmet Sami Avcı hepimiz gibi çocukluğundan beri oyun oynuyor. Oyun yapımına lise yıllarında RPG Maker ile başlamış. Şu anda Gazi Üniversitesinde İngilizce Öğretmenliği okuyan Ahmet'in şimdiye kadar giriştiği en büyük oyun projesi Ornito. Ornito'nun tarzı J-RPG (Japon rol yapma oyunu). Hikayesi çok farklı başlamıyor ama oyundaki espiri anlayışı ve pop kültüre yaptığı göndermelerle öne çıkıyor. Oyunlarda hikeyeye önem veriyorsanız ve J-RPG seviyorsanız kaçırmayın.
Ornito'nun sitesi www.buwue.org şu anda yapım aşamasında. Şimdilik güncel bilgilere oyungezer forumlarından, http://oyungezer.com.tr/forum?func=view&catid=69&id=1603576 ulaşabilirsiniz.






Sıradaki geliştiricimiz Ege Üniversitesinin Devlet Türk Musikisi Konsetvatuarı mezunu Emre Şaşmaz. Emre'nin şimdiye kadar iki oyun geliştirdi. İkisi de korku türünde. Sayha adlı oyunu dün gece oynamak gibi ufak bir hata yaptım... En son Amnisia'yı oynarken bu kadar tırstım. Konusu da Amnisia'yı andırıyor. Oyunun başında hafızamızı kaybetmiş, biraz da kafayı yemiş bir şekilde bir tımarhanede buluyoruz. Oyundaki ses ve panik atak efektleri oynayanı tedirgin etmeyi gerçekten iyi başarıyor. Ne yazık ki Seyha'nın sadece demosu var, sitesinden daha fazla geliştirmeyeceğini açıkladı. Oyun hakkında daha fazla bilgi almak ve indirmek için http://sayha.pantharay.com/ sitesine bakabilirsiniz.

Sayha'nın grafikleri çok hoş görünüyor.


Çok korkarsanz panik atak geçirebilirsiniz.

Emre'nin ikinci oyunu Mühürkent. Ne yazık ki demosunu deneme fırsatım olmadı ama gördüğüm ekran görüntülerinden ve sitesinde izlediğim videodan Seyha'dan aşağı kalır bir yanı olmadığını gördüm. Son gelişmeleri Emre'nin blogundan, http://blog.pantharay.com/ 'dan takip edebilirsiniz.


Bundan sonra bahsedeceğim oyun Ocean City Racing. Ocean City Racing'i Yeditepe Üniversitesinin Yönetim Bilişim Sistemlerinden mezun olan Onur Uça geliştiriyor. Ocean City Racing açık dünya bir yarış oyunu. Unreal Engine ile geliştirilen oyun görsel açıdan çok iyi görünüyor. Henüz bir demosu olmadığı için oynanışı konusunda bir yorum yapamayacağım ama sitesinde birçok videosu mevcut. Ayrıca oyunu şu anda Steam GreenLight'ta bulabilir ve destek verebilirsiniz. Oyunun resmi sitesi: http://www.oceancitygame.com/ Steam Greenlight Sitesi: http://steamcommunity.com/sharedfiles/filedetails/?id=93449140&searchtext=ocean+city+racing . Onur'un diğer projeleri için sitesini inceleyebilirsiniz: http://www.onuruca.com/ .


Ocean City Racing'in grafikleri oldukça güzel görünüyor.

Ocean City Racing'de araba haricinde de araç kullanabiliyorsunuz.


Bu yazıyı yazmdan önce bansettiğim birçok oyun geliştiricisine mail attım, cevap verenlerden birisi Hüseyin Uslu oldu. Cevabı biraz uzunca oldu, o yüzden tamamını ayrı bir yazı olarak yayınlayacağım. Hüseyin Başkent Üniversitesi bilgisayar mühendisliği bölümünden mezun. Programlamaya çok ilgi duyan Hüseyin Global Game Jam'lere katılarak kendini epey geliştirdikten sonra Minecraft tarzı bir oyun motoru üstünde çalışmaya başlamış. Motorun ismi Voxeliq. İlk gördüğünüzde Minecraft klonu sanabilirsiniz. Görünüş itibari ile çok benziyor olsa da Voxeliq ile birçok farklı şey yapabilirsiniz, mesela oyun gibi. Evet yukarıda da dedğim gibi Voxeliq bir oyun motoru. Minecraft'tan bir diğer farkı da performansı. Açık kaynak olarak yayınlanan bu motorun kodlarını dilediğiniz gibi kurcalayıp geliştirebilirsiniz. Bütün kodlarını şuradan indirebilirsiniz: https://github.com/raistlinthewiz/voxeliq .

Voxeliq Minecraft'ı andırsa da özünde bir oyun motoru.


Hüseyin'in üstünde çalıştığı bir başka oyun da ArchStone. ArchStone Unity3D ile geliştirilen ufak bir şans oyunu. Daha ayrınıtı bilgilere şu steden ulaşabilirsiniz: http://www.int6.org/games/archstone/



Hüseyin'in şu anda üstünde çalıştığı bir proje daha var, ismi Frenzied. Frenzied gerçek anlamda Monogame ile geliştirilen bir bulmaca (puzzle) oyunu. Monogame sayesinde gerçek anlamda multiplatform olan (Windows 8 Store, Windows Phone 7, Windows Phone 8, Android, Windows Desktop, IOS, MacOS, Linux, Ouya) Frenzied yakında tamamlanacak gibi görünüyor.



Hüseyin'in çalışmalarını daha yakından takip etmek için http://www.int6.org sitesini ziyaret edebilirsiniz.

Mail atıp da ulaşamadığım bir site var, Kartoon.gen.tr. Ne yazık ki o siteyi ve içeriğini yapan arkadaşın ismini de bulamadım ama girerseniz siz de göreceksiniz ki sitede çok başarılı ve eğlenceli birçok oyun ve animasyon yer alıyor. Bunların arasında en ünlüsü Abuzittin'in maceraları sanırım. Abuizittin serisi point & click dediğimiz Monkey Island tarzı macera oyunlardan oluşuyor. Seri boyunca arkadaşının nişan yüzüğünü kaybetmesinden mafya işlerine karışmasına kadar bir çok absürt olay geliyor Abuzittin'in başına.

Abuzittin'in maceraları bir yüzükle başlıyor.


Kartoon.org.tr'de bulabileceğiniz oyunlar arasında kendi içerisinde birçok mini oyunu olan Virüslerin saldırısı, yazı tabanlı Gizemli Orman, birkaç tane de ufak oyun var. Hepsi çok eğlenceli yapımlardır, azıcık bile olsa böyle şeylere ilginiz varsa kaçırmayın derim.

Evet, bir yazının daha sonuna geldik. Türkiye'deki amatör oyun geliştiricileri bu kadar değil tabi, bunlar sadece ilk etapta bulduğum ve ulaşabildğim (en azında bilgi bulabildiğim) insanlardı. Siz de kendinizi amatör de olsa bir oyun geliştiricisi olarak görüyorsanız bu yazının altına yorum yazın ya da bana bir şekilde ulaşın, bir sonraki yazıda sizin oyununuzdan ve sizden de bahsedeyim. Bir dahaki yazıya kadar hoşçakalın.