Thursday, January 15, 2015

Photoset: Kalbim o kadar soğuk değil

Belki görmüşsünüzdür; bende ışık yayan ve ışığın rengini değiştiren bir kalp var. Onun kar ve buz üzerinde resmini çektim bugün.












Sunday, January 11, 2015

Crimm's Son'dan haberler, Ölen hayalgücü, Latte ve siyaset



Oyunlarımı takip edenler için güzel bir haberim var. Kasım ayında Crimm's Son adlı oyunum üzerinde yeniden çalışmaya başladım. Oyunun 3D renderlarını eskiden The Sims 3 grafikleriyle yapıyordum, şimdi Unity'ye geçtim. Başka bir oyunun görsellerinden faydalanarak oyun yapmak hem ameleceydi, hem de çok sağlıklı bir izlenim bırakmıyordu.

Crimm's Son'ın introsunu yayınladım, buradan indirip izleyebilirsiniz. Introda henüz Türkçe dil desteği yok, ama tüm oyunlarımda olduğu gibi bittiği zaman bunda da Türkçe dil desteği olacak.

Kötü haber; şu an aktif olarak Crimm's Son üzerinde çalışmıyorum. Oyuna başladığımdan beri 2-3 tane dışarıdan iş aldım, önce onları bitireceğim. Eğer bu almak üzere olduğum üçüncü iş kesinleşirse 3-4 ayımı o işe harcamam gerekecek, ama Aslan Game Studio'nun kasasına biraz para girmiş olacak. Zaten başka gelirim de yok, zira henüz kendi yayınladığım oyunlardan elle tutulur miktarda para kazanabilmeyi başarabilmiş değilim. Oyun yapmayı başarmakla o oyundan para kazanabilmeyi başarmak çok farklı becerilermiş.

-----
Ölen hayalgücü
Son birkaç aydır hayalgücümün öldüğünü hissediyorum. Film, dizi izlemekte zorlanıyorum, kendimi hayal dünyasına kaptıramıyorum. Kendi zihnimde yankılanan, içinde bulunduğum gerçeklikle ilgili düşünceler o kadar gürültülü ki, hiçbir şeye kaptıramıyorum. Yaşadığım kötü olaylar, pişmanlıklarım, bir daha asla tatmin olmayacak arzularım, yetersizliklerim... Haftasonları normal insanlar dışarı çıkar, evde film milm izler, kitap okur, oyun oynar, bir şeyler yapar, ben yapamıyorum. Yatakta yatıyorum, iç dünyama dalıyorum, iç dünyamdakiler bazen beni rahatlatıyor, bazen de öfke nöbetlerimi tetikliyor.

İç dünyamın derinliklerinde dalmak en çok yaptığım şey. Kötü olan bir şey var, hayal gücüm de zarar gördü. Eskiden Arleonlu, Asporialı hikayeler yazardım, aklıma yeni oyun fikirleri gelirdi. Artık gelmiyor. Pişmanlıklarım, tatminsizliğim, geleceğe dair endişelerim, gerçek hayata dair her şey benim zihnimi tıkıyor. DeviantArt'ta sürekli fotomanipülasyon yayınlayan, sürekli hikaye yazan Ahmet'i özlüyorum. Hayaller beni sakinleştirirdi. Hayal kurabilmeyi özledim.

-----
Latte ve siyaset
Geçen haftalarda Wikipedia'dan sevdiğim kahve türleriyle ilgili makaleler okuyordum. Latteyle ilgili makalede şöyle bir içerikle karşılaştım; Batı'da siyasi tartışmalarda "latte içiciler" diye bir hakaret varmış. Şehirde yaşayan, köy hayatından uzak elitist insanlara söyleniyormuş. Bu latte içiciler hakareti çok komiğime gitti, ben de benden zıt görüşe sahip insanlar için içimden "Kahrolası latte içiciler" demeye başladım. Ama çok alakasız insanlara (çünkü normalde ben de o latte içiciler klasına giriyorum biraz). Mesela "Çocuk yaşta gelin almak kahrolası latte içicilere caizmiş!"

Kendi kendime birkaç gün eğlendim. Sonra Paris'teki korkunç katliam gerçekleşti. Bu saldırıdan daha korkunç olanı, mâlum kesim tarafından verilen "Oh olsun" tepkisiydi. Bu insanlara latte içici diye geyik-hakaret etmenin hiçbir komik tarafı yoktu.

Bu katliam cidden kan dondurucu. Haberi ilk okuduğumdan beri bu saldırının Penguen ve Uykusuz'a yapıldığını gözümün önüne getiriyorum, o takip edip sevdiğim insanların ofislerinde öldürüldüğünü düşündükçe kafayı yiyorum.

Üzücü olan başka bir konu, biz bunu tartışırken dünyanın uzak köşelerinde çeşitli katliamların halen devam ediyor olması. Nijerya'da 2000 kişinin öldürülüp köylerinin tamamen haritadan silinmesi gibi. Bu gibi katliamlar fazla gözümüzün önünde olmuyor. Benim düşüncem; biz güvenli şehirlerde yaşayan insanlar olarak, savaş içerisindeki coğrafyalarda hayatını sürdürmeye çalışan insanların bu durumunu normal kabul ediyoruz. O 2000 insanın öldürülmesi sanki onların kaderiymiş gibi, çünkü onlar tehlikeli topraklarda yaşıyorlar nasıl olsa. Terör eyleminin Paris'te veya New York'ta gerçekleşmesi insanları şok ediyor, çünkü bunlar "güvenli olması gereken şehirler". Yabancı bir forumdaki arkadaşlarımla bunu tartıştığımda medyayı suçluyorlar. Bence ise suçlu sadece medya değil, ama toplumun kendi bakış açısı.

Sunday, January 4, 2015

GGJ tavsiyeleri

Oyun yapımcısı arkadaş ortamımızda geçen gün Uğurcan Orçun bir öneri ortaya koydu, "GGJ veteranları olarak jam tavsiyeleri verelim" diye, biz de bu fikri beğendik.

Arkadaşlarımın verdiği tavsiye genel olarak "Jam'i yarışma gibi görmeyin, eğlencenize bakın" şeklinde. Ben hep kazanma hırsına sahip bir insan olarak, başarılı jam oyunu yapmakla ilgili tavsiyeler vereceğim (Şu ana kadar ben GGJ ödülü aldım mı? Hayır. Ama bazı önemli kısımları çok iyi biliyorum). Benim odaklanacağım şey jüriyi, oyuncuları etkilemek. Oynanan, sevilen bir oyun yapmak.

Mad World'ü 2014 GGJ'sinde bu vereceğim tavsiyeler doğrultusunda geliştirdik.

İlk gün fikirler ve eğitim içindir.
GGJ cuma akşamı başlar. Cuma gününüz muhtemelen oyun fikri aramakla geçecek. Cuma günü oyununuz için tek satır kod yazamamış olmak sizi endişelendirmesin, bu gayet doğal bir süreç. İlk gününüzü beyin fırtınası yaparak geçirin. Eğer yeni bir dil veya oyun motoru kullanacaksanız, onun için kendinizi eğitmeniz de ilk gün olacak. Gece oyun fikrinin temellerini bulduktan sonra yatıp uyuyun. Enerjinizi, oyunun fikrinin olgun seviyeye geldiği aşamaya (yani sonraki günlere) saklayın.

Basit fikirden gidin.
48 saat bir oyun yapmak için kısa bir süre. Kompleks bir oyun yapmaktan (mesela open world bir strateji oyunundan) kaçının. Klasik bir oyun janrının temel kurallarını alıp değişiklik yapmakta utanılacak bir şey yok (hatta belki de temaya uydurabildiğiniz ve süsleyebildiğiniz sürece, klasik fikri olduğu gibi almakta da). Mad World karmaşıklık-basitlik arasında güzel bir dengedeydi, iki deneyimli programcı olarak oyunu zar zor da olsa yetiştirdik.

Basit ama bütünlük sahibi bir oyun, 4 kat daha karmaşık ama daha çeyreği bitmiş bir oyuna göre çok daha üstündür.

Minimal içerik
Dediğim gibi, 48 saat az bir süre. Hem kaliteli, hem de çok sayıda içeriği üretmek oldukça zor. Nitelik ve nicelik arasında bir seçim yapmak gerekirse niteliği seçin. Oyundaki evde az sayıda eşya olsun. Gerek jüri, gerekse de oradaki oyuncular genel olarak oyununuza 1-2 dakikadan fazla zaman ayırmayacak, o 1-2 dakika kaliteli olsun.

Uzun bir video introyu kimse izlemeyecek.
Oyununuzun güzel bir arkaplan hikayesi olabilir. Ama jürinin/oyuncunun yapmak istediği şey direkt sizin oyununuza dalmak olacak. İlk katıldığım jamlerden birisinde ekibimde gayet güzel bir video hazırlanmıştı, oynayan kimse o videoyu izlemedi. Vaktinizi oyunun kendisine ayırın, introya değil.



"Hikaye anlatımını tamamen es geçin" demiyorum. Eğer sıradışı bir hikayeniz varsa (oyundaki karakterin çılgın bilimadamı tarafından yaratılması sıradışı bir hikaye değil), oyunun mekaniği bu hikayeyle bağlantılıysa bunu KISACA anlatın. Mad World ve Renatus bence güzel örnekler. Mad World'de sadece iki-üç cümleyle hikayeyi anlattık. Renatus'ta 4 tane görsel ve altındaki yazılarla yüm hikayeyi anlattık (biraz Poe edebiyatı oldu, daha sadesi daha kolay okunabilir). Ve dediğim gibi; görselciniz asıl vaktini oyun içine ayırsın, eğer oyunun içi yeterince güzel gözüküyorsa Renatus'taki gibi basit sahneler çizebilir. Ama 1 dakikalık video yapmakla uğraşmayın.

Evrimsel geliştirme süreci
Yazılım geliştirme süreci olarak evrimsel yoldan gidin. Yani ilk önce elinizde o oyunun çok ilkel bir hali olsun (WASD ile etrafta gezinen tavşan), oyuna özellikleri yavaş yavaş ekleyin. Buradaki kritik nokta elinizde oynanabilir bir ürünün erken bir aşamada elinizde olması. Eğer "Ben 40 saat boyunca multiplayer'ı kodlarım, Ahmet 40 saat boyunca fiziği kodlar, Mehmet de animasyonla ilgilenir, sonra son saatlerde tüm oyunu birleştiririz" derseniz başarısızlık büyük ihtimal, o şeyler bir araya zamanında gelemez. Mucize gerçekleştirip son saatte her şeyi gerçekten de birleştirmeyi başarsanız bile, elinizdeki ürünü keyifli bir oyuna dönüştürmeniz için elinizde yeterli vakit kalmayacak. Evrimsel süreçte ise oyunu neyin keyifli kılacağını, neyin sıkıcı olduğunu daha ilk aşamalarda görebilirsiniz.

Her şeyden önemlisi, eğer oyununuzu yetiştiremezseniz, o erken versiyonu halen oyun olarak sunma imkanınız olur. O 40 saat multiplayer modelinde ise görselcinizin çizdiği güzel görsellerin hiç gösterilememesi (çünkü ortada oynanacak bir şey olmaması) yüksek ihtimal. Görselcinizi boşu boşuna uğraştırmış olmayın.

Yüksek seviye dil/teknoloji kullanın.
 Low-level programlamayı seviyorsanız oyununuzu C++ ile yapmak isteyebilirsiniz. Her algoritmayı kendiniz baştan yazmak isteyeceksiniz. Bu sefer, Unity'de veya Flash'ta 1-2 saatte yapılacak işin peşinde 1 gün boyunca koşmanız gerekebilir. Eğer amacınız "ben C++'ı iyice öğreneyim", "önemli olan programcı egom" diyorsanız low-level takılmaya devam edin, ama amacınız bu kısa sürede keyifli bir oyun yapmaksa yüksek seviye bir teknoloji kullanın. Oyun motoru kullanmaktan, öğrenmekten çekinmeyin.

Renatus'u ilk başta C++'la yapıyorduk. Sonra çok zaman aldığını görünce Flash'a (daha doğrusu FlashPunk'a) geçtik, çok daha hızlı ilerlemeye başladık. En başta doğru dil seçimini yapsaydık ortaya daha güzel bir oyun çıkabilirdi. Ben hem Unity'yi, hem de Flash'ı GGJ sayesinde öğrendim, siz de C++'ın dışında yeni bir dili, oyun motoru öğrenmekten korkmayın.

Az sayıda level
 Jüri/oyuncular oyuna 1-2 dakikadan fazla bakmayacak. Eğer öncelikli amacınız jüri ve oradaki oyuncuları etkilemek değil de uzun bir oyun yapmaksa, jam'den sonra zaten bu oyunu geliştirip öyle download'a koyabilirsiniz. Ama yarışma için yapıyorsanız, bu 1-2 dakika sınırını unutmayın. Oynanmayacak, skip edilecek bir level'a değil de, o ilk level'da kaliteli bir deneyim sunmaya ayırın vaktinizi.

Verdiğim tüm tavsiyeler tartışmaya açıktır.