“Türkiye’de oyun geliştirmek gerçekten ikircikli bir iş.” değil. Oyun geliştirmenin acı, özveri, insanüstü çaba, mükemmel disiplin, harika yetenekler veya kusursuz hedefe odaklanma gibi şeyler gerektirdiğine de inanmıyorum. İşlerin karışmaya, akla gelen ilk çözümün çalışmamaya başladığı noktalar olduğunu kabul etmem gerek, ancak, yalın olarak oyun geliştirmek, ortaya bir oyun çıkartıp insanların oynarken eğlendiğini görmek oldukça saf, keyifli ve hiç de “ikircikli” bir iş değil.
Oyun geliştiricilerinin başarı/başarısızlık hikayelerinde yer tutan ya da bir şekilde dışarıdan bakıldığında oyun geliştirmenin etrafında döndüğü düşünülen bu karanlık bulutları biraz inceleyelim.
1. Zorunda mıyım?
Öncelikle, oyun geliştirmek zorunda değilsiniz. Amacım kimseyi caydırmak ya da yıldırmak değil, hatta oyun geliştiricilerinin, genel olarak geliştirmeye, kod yazmaya istekli kimseler – ve biraz mecbur kaldığı için daha bilgili kişiler – olduğunu düşünüyorum. Sadece bu blogu, bu komüniteyi takip etmeniz aslında sizin herhangi bir geliştiriciden en az 1 adım daha öteye gittiğinizi gösteriyor. Gelin itiraf edelim, oyun geliştirmek, kendi yaptığımız oyunları oynamak, insanlara oynatmak istiyoruz.
Oyun geliştirmek “sanat için sanat” gibi hissettirmiyor açıkcası. Daha çok “bana kadar sanat” akımı sanki. Yapmak istediğimiz oyunu kendimiz seçiyoruz, yaptığımız oyunların nasıl oynanacağını kendimiz seçiyoruz.
İlk adım olarak oyun geliştirmenin bir külfet, zorunluluk, bir anda kendimizi içinde bulduğumuz bir durum değil yaptığımız bir tercih olduğunu hatırlamak gerekiyor.
2. Acı
Oyun geliştiriciler bir oyunu tamamladıktan (ya da tamamlayamadıktan) sonra hikayelerini paylaşmayı seviyorlar, hatta bazı medya kanalları – sana bakıyorum Polygon – oyun geliştiricilerinin hikayelerini oyunlarının önünde tutmayı seviyor. Her oyunun / geliştiricinin karşılaştığı zorluklar çeşit çeşit, bazıları imkansızlıklara rağmen oyununu tamamlamış, bir kısmı sevgilisinden ayrılmış, kimi ortaklarıyla ayrılmış, arada bütün kaynak kodlarını kaybetmiş, hiç uyumamış, arkadaşında kalmış…
Şimdi çok önemli bir bilgi vereceğim: Sizin acı, imkansızlık hikayeniz de zaten hazır. Öğrenciyken paranız olmadığı için menemen yaptınız, sevgilinizden ayrıldınız, bilgisayarınız çok önemli bir işin ortasında bozuldu. Hatta daha önemli bir bilgi, homo sapiens’in dünyada yürüdüğü ilk günden beri insanların problemleri var.
Ama inanın, tekerleği tekrar tekrar keşfetmenin pek de anlamı yok. Birileri daha önce kaynak kodlarını kaybettiği için sürüm denetim, yedekleme sistemleri icat edilmiş. Birileri daha önce ortaklarıyla problem yaşadığı için iş kanunları yazılmış. Hayat kendi başına zaten yeterince problemli, var olan problemlere takılıp bunlara RAĞMEN ilerlemeye çalışmak sadece omuzlarınızda taşıyacağınız daha fazla yük demek.
“Sonsuz Maymun Teoremi*”nden yola çıkarak ve özünde önümüzdeki bilgisayarları yeteri kadar kağıt ve mürekkep kabul edersek, büyük ihtimalle sizin başınıza gelen büyük imkansızlık, talihsizlik muhtemelen zaten birilerinin başına geldi ve – sürpriz – insanlık/oyun geliştiriciliği yaşamaya devam etti: Birileri bu problemi zaten çözdu; imkansızlık, talihsizlik başına gelmese bile.
Büyük imkansızlıklardan çıkan muhteşem başarı hikayesi kulağa çok cazip gelse de, oyun yapmak size, bana, gözlüklülere, Ankaralılara, Türklere, sarışınlara, uzun boylulara daha zor değil.
3. Özveri
Phil Fish’i sevmiyorum. İşte. Söyledim. Kendisiyle hiç bir problemim olmamasına, yaptığı oyunu, fikrini çok başarılı bulmama rağmen sevmiyorum. Tabii ki yanılıyor olabilirim, zira kendisi hakkındaki fikrimin oluşmasına kaynak olarak kullandığım izlenimlerin tamamı Indie Game: The Movie’de gördüğüm kadarı.
Bir oyun geliştiricisinin oyununa saplanıp kalmasını mantıklı bulmuyorum. Ne ilk yapmaya çalıştığınız oyun kadar başarısızsınız ne de özene bezene yazdığınız framework kadar çılgın. Arka arkaya oyunlar geliştiriyorsunuz, her geliştirdiğiniz oyunla birlikte siz de değişiyorsunuz. Kendi adıma, ne ilk NIBBLES.PAS dosyasını kurcalayıp büyülendiğim zamanki kadar heyecanlıyım, ne ilk Pong yazdığım gün kadar istekli, ne de Gran Tower’a başladığım gün kadar mükemmeliyetçi. Ama bu iyi ve önemli olan da bu!
Eğer bir oyun sizin başyapıtınız olacaksa da, üzgünüm ama, bunu büyük ihtimalle siz seçmeyeceksiniz.
Herkesin iş yetiştirmek için sabahladığı, hafta sonunu atladığı, sevdiğiyle görüşemediği, yemek yemeyi unuttuğu oluyor ama, özellikle de oyun geliştiriciler olarak, bunu zaten seçiyoruz. “Akış**” denilen yere bir kez girdik mi, çıkmamak için çabalıyoruz, evet, kimi zaman hayatın cazibesine direnerek ama bir daha bu seçimle yüzleştiğinizde karar vermeden bir anlığına bir yoklayın, zorunda olduğunuz için mi özveride bulunuyorsunuz, yoksa yapmak istediğiniz için mi?
Story of Mojang‘ı izlemeyenler varsa izlemelerini tavsiye ederim, anlatılanlardan ziyade özellikle küçük bir kesiti benim için çok anlamlıydı. Markus Persson’un Minecon’a gidip “Selam! Oyununu oynuyoruz, harika!” diyerek önüne atlayan insanları gördüğünde şapkasıyla selamlayıp, mutlu mutlu yürümesini izlemek benim için uzun zamandır hissetmek isteyip adını koyamadığım bir hissi tanıdığım ilk andı.
4. İnsanüstü Çaba
Sıradaki sürprizim: Oyun yapmak o kadar da zor değil.
Oyun geliştiricilerinin frameworklerinin, yapay zeka sinir ağı grafiklerinin, yeni nesil motorlarının kahramanlık hikayelerine aldanmayın, size hepsinin süper güçlerinin gizli kaynağını açıklıyorum: İnternet. Hatta bir adım öteye gideceğim: İnternette her şey vardır.
Oyun geliştirmek için büyük süslü titrlere, yazılım geliştirme sürecine dair kapsamlı anlayışa falan ihtiyacınız yok. Hatta severek oynadığımız birçok oyun çok çok basit araçlarla yapıldılar. Örn: Hotline Miami, Gunpoint, Nuclear Throne GameMaker ile yapıldı, Hearthstone Unity ile vs vs.
Yanlış anlaşılmak istemem, yazılım tasarım kalıpları, soyut veri yapıları, literatürde yer edinmiş algoritmalar (A*, Dijkstra, Quicksort), TCP protokolünü bilmek yaptığınız işi kolaylaştıracak, hızlandıracak, daha ileri teknolojiler kullanmanıza fırsat verecek, daha performanslı yazılımlar yapmanıza yardımcı olacaktır tabii ki, ancak oyun yapmak için bir giriş barajı olduğunu düşünmüyorum. Singleton tasarım kalıbına ihtiyacınız olduğunda zaten bu kalıbı internetten öğrenmek durumunda kalacaksınız, ihtiyaç duyarak öğrendiğinizde de bir daha kolay kolay unutmayacaksınız muhtemelen. Ancak bir konuyu akılda tutmak gerekiyor: “Premature optimization is the root of all evil.”
Çabayla ilgili çok önemli olduğunu düşündüğüm bir başka konu da, kapsam. Yutabileceğiniz kadarını ısırın. Kendi oyun motorunu, muhteşem “entity framework”ünü, bir sonraki fizik motorunu yazmak belki bir sonraki GDT toplantısında bir konuşma koparmanıza yarar, ancak gerçekten kullanılabilir bir ürün çıkartmak muhtemelen sabredebileceğinizden daha uzun süre alacak, sizi amacınızdan uzaklaştıracaktır.
(Amaç olarak fizik/grafik motoru yazmak belirlemekte beis görmüyorum, oyun yazmak için yola çıkıp fizik motoru yazmak bahsettiğim konu.)
5. Başarısızlık Kaygısı
Bireysel olarak insanın kendisi ile mücadelesine dayandığı için en önemli bulduğum başlık açıkcası bu başlık.
Eğer daha önce izlemediyseniz ve vakit ayırabilecek durumdaysanız şu konuşmayı izlemenizi tavsiye ederim.
Özetle: İnsanlık tarihinde rönesanstan öncesinde yaratıcı süreçler bireyin kendi dehasından, yeteneğinden ziyade daha üst bir varlık düzleminde bulunan ilahi varlıklarla ilişkilendiriliyordu. İlham perisi gibi. Deha (genius) sözcüğü bireyi tanımlamakta değil, bireyin evinde sahip olduğu farklı bir varlık gibi görülüyordu. Eğer yaratıcı bir sürecin sonunda ortaya çıkan ürün memnun edici olmazsa artistin değil, artiste yol gösteren bu insanüstü varlığın başarısızlığı oluyordu. Bu “uzaklaştırma” yaratıcı bireyin üreteceği ürüne ait kaygılarından sıyrılması için bir fırsat olarak kullanılıyordu. “Aa şiirin iğrenç olmuş, ilham perin ne kadar başarısız!” gibi. Rönesans ile bireyler evrenin merkezine oturdu ve yaratıcı süreçler de bundan etkilendi, artık çıkan ürün ne kadar iyiyse, yaratıcısı o kadar dahi/yaratıcı/harika kabul ediliyor.
Başarısızlık kaygısının günümüzde oldukça büyük bir rol oynadığını düşünüyorum. On sene önce Steam piyasaya çıkıp bilgisayar oyunlarının dağıtımını değiştirmeye ilk adımını attığında, ya da App Store ilk kez duyurulduğunda oyun geliştiricilerine hem bir nimet hem de bir lanet getirdi. Nimet kısmının herkes aşağı yukarı farkında; artık yarattığımız oyunları, büyük şirketlere oyunumuzla birlikte doğmamış ilk erkek çocuğumuzu da kanla imzalanmış bir kontratla vermemize gerek olmadan insanlara ulaştırabiliyoruz. Ancak bu değişiklik farklı bir sonuç daha doğurdu: Dünya üzerindeki herkese karşı rekabetteyiz. Herhangi bir oyuncunun arasından seçim yapabileceği o kadar çok oyun varken, hatta aşağı yukarı bugüne kadar yapılmış her oyuna erişimi varken, zaman da sınırlıyken, neden bizim oyunumuzu oynasın ki?
Bazı oyun geliştiriciler cevabın farklılık olduğunu söylüyorlar, bazıları samimiyet, kimisi kalite. Şahsen hepsinin payı olduğunu, ancak şans faktörünün benim olmasını tercih edeceğimden çok daha büyük bir payı olduğunu düşünüyorum. Muhtemelen şans faktörünün fazla olduğunu düşünmem rönesans öncesindeki dönemde olduğu gibi kendi üzerimdeki başarısızlık kaygısını kendimden uzak tutmak için geliştirdiğim savunma mekanizmasıdır. Ama bir sır: işe yarıyor!
Etrafımda daha önce yapılan/çalıştığım/bir şekilde ucundan dokunduğum oyunlarda (hatta oyun olmak zorunda de değil, yazılım diyelim), bu başarısızlık kaygısı, ya tutmazsa endişesi, şu özelliği de koymazsam, bu piksel kaymasını da halletmezsem, şu son bugı da fixlemesem olmaz düşüncesi yüzünden projenin sarktığını, ekibin motivasyonunu kaybettiğini, sürtüşmelerin çıktığını, sonunda da projenin günyüzü görmeden rafa kaldırıldığını çok gördüm.
Artık oyunların dağıtımı önemsiz bir problem. App Store’da bir oyun çıkartacağınızı düşünün. Tüm ülkelerdeki App Store ile muhattap olan kullanıcı sayısını düşünün, oyununuzu ilk release ettiğiniz hafta gelecek (reklam vb. kullanmazsanız) yüz, beşyüz, haydi bin kişi o kadar önemsiz bir rakam ve onlardan elde edebileceğin geribildirim o kadar kıymetli ki!
Oyununuzun çekirdek oyun döngüsünün çalıştığı ilk gün insanlarla muhattap edin, geribildirim toplayın – arkadaşlarınızla birlikte, zorla oynayın. Eğer geribildirimler oyununuzun eğlenceli olduğu, insanları bir ucundan yakaladığı yönündeyse harika! İlerlemeye devam edin, oyununuzu geliştirin (iteration), cilalayın (polish), muhtemelen başaracaksınız. Ama oyununuz insanlara sizin istediğiniz gibi dokunamadıysa, eğlendiremediyse de vazgeçip yeni bir oyuna başlamaktan korkmayın.
6. Gül Bahçesi Miti
Oyununuzdan bu kadar çabuk vazgeçmenizi tavsiye etmem garip gelebilir. Ancak oyun geliştiriciliği uzun bir yol, ve ana akım medyada sürekli maruz bırakıldığımızın aksine bir gecede zengin olmanın yeni yolu – üzgünüm ama – değil. Bir oyun yaptı zengin oldu, oyun yaptı hayatı değişti hikayeleri bütük çoğunlukla hurafe.
Markus Persson’ı alalım, dışarıdan görünen bir gece Minecraft’ın oynanabilir bir alpha sürümünü forumlara yüklüyor, sonrasında bildiğimiz banka hesabında milyonlar. Anlatılmayan kısımlar ise kendisinin dört yıldan uzun süre King.com da çalışmış olması, işinin dışında onlarca yarışmaya oyunlarıyla katılmış olması. Zira: http://notch.net/games/, Shambles dışındaki oyunları Minecraft öncesi dönemden bildiğim kadarıyla.
Team Meat’i alalım, büyük başarı hikayeleri “Super Meat Boy” aslında daha önce flash oyun olarak yayınlanmış. Super Meat Boy dışında da onlarca oyunları var, yıllardır da denemeye devam ediyorlar.
Gül bahçesi mitine kanmayın, ilk oyununuzla ilgili kurduğunuz hayaller büyük ihtimalle ve istatiksel olarak yerle bir olacak ama bu sizi daha kötü bir oyun geliştirici yapmaz. Başarılı oyunların arkasında insanların görmezden gelmeyi seçtiği onlarca başarısız deneme oluyor genelllikle. Yılmayın, önemli olan istikrarlı bir şekilde denemeye devam etmek.
*
Yazıyı bitirmeden önce, görüşlerimi oluşturmamda rol oynadığını düşündüğüm için beni bu noktaya getiren adımlardan da kısaca bahsetmek isterim.
26 senedir oyunlar oynuyorum. 15 senedir oyunları kurcalayıp yapmaya çalışıyorum. 10 senedir yaptığım oyunları etrafımdaki yakın insanlara zorla oynatıp beğenmeye zorluyorum. 5 senedir çalışıyorum. İlk 4 sene Yogurtistan üzerinde çalıştıktan sonra halen birlikte çalışmakta olduğum Gram Games ekibine katıldım. 1 senedir Railroad Gangs ve son 3 aydır Gran Tower üzerinde çalışmaya devam ediyorum.
Ve şu halimle diyorum ki: çok geride, çok şanssız, çok bedbaht, çok bilgisiz değilsiniz. Bir sonraki oyununuzun büyük “indie hit” olması için her şey tam da olması gerektiği gibi. Yeter ki denemeye devam!
*: “Altı tane ölümsüz maymunu altı daktilonun üstüne koysanız; yeteri kadar zaman, yeteri kadar kağıt ve de yeteri kadar mürekkep onların sadece şansın yardımıyla İncil’den bir dua, Shakespeare’den bir sone, ya da baştan sona bir kitap yazmalarına yetecektir.” ( https://eksisozluk.com/entry/832352 )
**: http://en.wikipedia.org/wiki/Flow_%28psychology%29