Yazılımda, oyun tasarımında veya hikaye yazımındaki yeteneklerinizi Android için oyun geliştirme yaparak mı değerlendirmek istiyorsunuz? Sizler için, kat etmeniz gereken aşamaları ve Android’de oyun geliştirmenin bilinmeyen yönlerini derledik. Keyifli okumalar…
Oldukça basit bir oynanışa sahip platformer oyunlardan, karmaşık PC oyunlarının Android versiyonlarına kadar pek çok yapımın yer aldığı Google Play’de yayınlamak üzere oyun geliştirmek istiyorsanız, rekabetin yüksek olduğu bir alana adım atacaksınız. Bu zorlu yolculuğa başlamadan önce, mutlaka kendinize bir ekip kurmanızı, amacınız para kazanmak değil oyun geliştirmeyi deneyimlemek olsa dahi, birkaç kişiyle beraber iş yükünü paylaşmanızı öneriyoruz. Yalnız başınıza denemek istiyorsanız, sizi de es geçmedik, merak etmeyin… Oyun tasarımı için kullanabileceğiniz yazılımlardan, geliştirme aşamasında karşılaşacağınız durumlara kadar farklı yönleriyle Android için oyun geliştirme sürecini ele alıyoruz.
Android için oyun geliştirirken hangi araçları kullanabilirsiniz?
Oyun içerikli olsun veya olmasın, herhangi bir uygulama geliştirmek istiyorsanız, doğru araçları seçmelisiniz. Android’de uygulama geliştirmek için yaygın kullanılan, ve bu alanın sektör standardı diyebileceğimiz araç “Android Studio”. Ücretsiz indirebileceğiniz bu araç, geliştiricilere Android dünyasının kapılarını açıyor. Pek çok farklı eğitim videosundan da faydalanabileceğiniz, çeşitli konularda forumlardan destek alabileceğiniz bu uygulamayı kullanabilmek için için Java programlama diliyle ilgili bilgi edinmenizi tavsiye ederiz.
Android Studio haricinde, oyun geliştirmek için diğer alternatifleriniz “oyun motorları”. Unity, Unreal Engine, Game Maker Studio, Solar 2D, Construct 3 gibi oyun motorları üzerinde Android için oyun geliştirmeniz mümkün. Unity ve Unreal Engine gibi oyun motorları, pek çok platform için aynı anda geliştirme yapmanıza olanak tanırken; Buildbox, Solar 2D gibi araçlar yalnızca mobil cihazlara özel çalışmalarınız için ideal. Elbette, Android için oyun geliştirme sürecine herhangi bir oyun motoruyla başlayacaksanız, yazılım konusunda bilgi sahibi olmanız ve bir programlama diline hakim olmanız gerekiyor.

Bu alanda, “no-code” / kod yazmadan oyun geliştirilmesi için üretilmiş çözümler mevcut. Ancak yazılımın temelinde algoritma bilgisinin olduğunu; spesifik bir programlama dilinde kod yazmaya ihtiyaç duymasanız bile geliştirdiğiniz oyunun doğru çalışabilmesi adına hala onlarca algoritma oluşturmak zorunda kalacağınızı hatırlatalım. Yol yakınken, bir programlama dili öğrenmekte ve algoritmanın temellerini anlamaya çalışmakta fayda var.
Hayırlı Bug’lar!
Size uygun oyun motorunu veya geliştirme platformunu bulduktan ve gerekli programlama dillerini öğrendikten sonra, muhtemelen yazacağınız ilk kod satırından oyunun çıkış anına kadar en sık karşılaşacağınız şey “bug”lar olacak. Özellikle, Android için oyun geliştirme macreasına tek başınıza atıldıysanız, arkanızda sizin adınıza test ve debugging süreçlerini yürütecek geniş bir ekip yoksa, buglarla mücadelenizde bolca sabır göstermeniz gerekecek.
Forumlarda bolca araştırma yaparak geçireceğiniz günlerin öncesinde, düzenli ve sistemli çalışma alışkanlığı kazanmanızı öneririz. Bilgisayarında en son çalıştığı Word belgesini “sonnnnn1112.docx” ismiyle kaydedenler için, yazılım dünyasında uykusuz geceler vardır! Oyun geliştirme sürecini, haritasından karakterine, animasyonlarından seslerine, fazlaca detay içeren bir yapıyı bütünlük ve uyum içerisinde çalıştırmak şeklinde özetlersek, tüm bu detaylar içerisinde kaybolmamak için bir çalışma sistemi oturtmanız doğru bir başlangıç olacaktır.
Hiçbir iş pürüzsüz ilerlemez; bug’ların sizi yıldırmasına izin vermeyin. Karşılaşacağınız engelleri daha önce aşmayı başarmış binlerce oyun geliştiricisi var. Kullandığınız oyun motorunun destek sayfalarından, geliştiricilerin bir araya geldiği forumlara, discord gruplarına ve bloglara bilgi alabileceğiniz pek çok kaynak ve basit hatalarınız için debugging (hata ayıklama) araçları mevcut. Süreç içerisinde yaptığınız işte tecrübe kazanacağınızı ve başlangıçta yaptığınız, düzeltmesi uzun süren hatalarınızı hızlıca fark edebileceğinizi de ekleyelim.
Android için nasıl bir oyun tasarlamalısınız?
Temel bilgilerden ve muhtemelen oyun motoru içerisinde herhangi bir amacınız olmadan geçirilen “keşfetme” aşamasından sonra, sırada sizi bekleyen soru “nasıl bir oyun tasarlamalıyım?” olacak. Bu soruya vereceğiniz yanıt, büyük ölçüde oyun geliştirme yeteneklerinizle ilgili hedeflerinize bağlı… Eğer isteğiniz, hobi olarak oyun geliştirmekse, sorunun cevabı size kalmış… Herhangi bir kaygı gütmeden, aklınızdaki, hayalinizdeki oyunu geliştirmek için tamamen özgürsünüz. Neticede, insanların oyunu beğenip beğenmemesi değil, sizin hobinizden keyif almanız önemli.
Öte yandan, eğer oyun geliştirerek para kazanmak gibi bir amacınız varsa Android oyun pazarıyla ilgili bazı temel noktalarda bilgi sahibi olmanız gerekecek. Herhangi bir öngörüde bulunmadan, geliştireceğiniz ilk oyunun hızlıca Google Play’de en popüler oyunlar arasına gireceğini düşünüyorsanız, maalesef bu konuda ihtimallerin zayıf olduğunu belirtmek isteriz.
Tek başına oyun geliştirdiğinizi veya birkaç kişilik küçük bir ekiple hareket ettiğinizi varsayarsak, konsept aşamasında, fikrinizi mümkün olduğunca basit tutmanız sizin için bir avantaj olacaktır. Google Play’de gördüğünüz pek çok oyun, karmaşık yapılara ve etkileyici grafiklere sahip olabilir. Ancak mobil oyun tarihine damgasını vuran Angry Birds ve Candy Crush gibi oyunların alabildiğine basit fikirlerden çıktığını unutmamakta fayda var. Hala milyonlarca kişinin oynadığı bu oyunlar, basit fikirlerin başarılı uygulanması formülüne dayanıyor.

Sadece fikrinizin basit olması yetmez; oyununuzu indirecek kişilerin, ilk deneyimden sonra telefonu tekrar ellerine aldıklarında oyununuza geri gelmesini sağlamanız gerekiyor. Kısacası, oyuncuyu oyun içerisinde tutacak farklı mekanizmalara ihtiyacınız var. Coin toplayarak daha gelişmiş özellikleri açmaktan, her hafta yeni eklenen level’lara; global liderlik tablolarından rütbe ve rozet kazanımlarına kadar farklı sistemleri oyununuza entegre ederek, oynanma süresini arttırabilirsiniz.
Play Store’a baktığınızda, burada yer alan popüler oyunların haftalık ya da aylık bazda çok da sık değişmediğini görürsünüz. Hypercasual oyunların hızlı yükselişini kalıcı ve sadık kitlelere dönüştüren oyunlar genellikle listelerin üst sıralarında kalmaya devam eder. Aslında, burada esas olan yarattığınız oyunun Lifetime Value’sunu (LTV – Yaşam Boyu Değeri) yüksek tutabilmek adına kendi formülünüzü geliştirmektir. Yarattığınız oyunun özelliklerine bağlı olarak, kullanıcıların oyunu oynadıkları süre boyunca size sağladığı katma değeri yükseltmek üzerine kurulu olan bu formül; oyununuzun size maddi getirisini belirleyecek. Kafa Topu oyunuyla adından sıkça söz ettiren ve kendi kar modelini başarılı bir şekilde oturtan Masomo’nun CEO’su Sertaç Pıçakçı, blog’unda yazdığı makalede, Kafa Topu 2’yi başarıya taşıyan hikayeyi ve kendi formüllerini nasıl oturttuklarını detaylı bir biçimde anlatıyor.
Oyunlarla ilgili bir girişimde bulunmak isteyen kişilerin, diğer girişim alanlarına kıyasla fazlasıyla şanslı olduğu bir nokta var. Oyun geliştiricileri genellikle devlog (development log / geliştirme günceleri) yazmayı ve bu yazılarını kitlelerle paylaşmayı seviyor. Pek çok indie oyun, hatta daha büyük yapımlarla ilgili devlog’lara rahatlıkla ulaşabilirsiniz. Ek olarak, geliştiricilerin ve oyun pazarlamacılarının kendi yazdıkları bloglar da bulunuyor. Bu kaynakları kullanarak, başarıya ulaşan oyunların geliştirme ve satış aşamalarında karşılaştıkları sorunları ve buldukları çözümleri okuyabilirsiniz.
Angry Bird’ün Tıpkısının Aynısı…
Elbette, başkalarının geçtiği yolları öğrenmenin ve onların hatalarından / başarılarından dersler çıkarmanın faydası var. Ancak bu kesinlikle piyasada bilinen oyunları kopyalama noktasına gelmemeli. Fikir aşamasından başlayarak, geliştirme sürecinizin pek çok farklı noktasında başkalarından esinlenebilirsiniz. Burada esinlenmek ile kopyalamak arasında hiç de ince olmayan bir çizgi bulunduğunu söylemeden geçmeyelim. Aslında, başlangıç aşamasında kendinize sormanız gereken soru şu: “Bir oyun yapıp hızlıca köşeyi dönmeyi mi amaçlıyorum?”
Daha önce de belirttiğimiz gibi, oyun yaratmak uzun ve zorlu bir süreç. Bu süreçten geçecekseniz, zorluklarını baştan kabullenmeniz gerekiyor. Milyonda bir olabilecek hikayeler dışında, az emek harcayıp, çoğunlukla başkalarının işlerini ve fikirlerini kopyalayanlar için başarılı olma şansı yok. Başlangıç motivasyonunuz tamamen oyun tasarımından hızlıca para kazanmak üzerineyse, oyun geliştirmeye dair yeteneklerinizi bu işi zaten uzun süredir yapan şirketlerde iş arayarak değerlendirmenizi tavsiye ederiz. Neticede iş bulduktan sonra 1 ay içerisinde maaşınız banka hesabınıza yatmış olacak.
Kopya oyunlarla hızlıca para kazanma fikri ise, basit bir fikir popüler olduğunda binlerce kişinin aynı anda yapmaya çalıştığı, ancak günün sonunda sadece orijinal oyunun değerinin artmasına sebep oldukları bir iş. Çoğunlukla ücretsiz bir biçimde gerçeğine ulaşmak varken, kopya oyununuz neden değerli olsun ki?
Mümkün olabildiğince orijinal bir fikirle ilerlemeli, çeşitli noktalarda başkalarının yaptıklarını kendi oyununuza entegre etmek istiyorsanız da fikre eklemeler veya çıkarmalar yaparak orijinalleştirmelisiniz. Tavla, okey, batak gibi klasik fikirlerle de ilerleyebilirsiniz. Fiziki dünyada oynanan oyunları dijitale aktarıp başarılı olan örnekler mevcut. Bu noktada, oyunun dijital dünyada hala anlamlı kalması ve kolay oynanabilmesi adına geliştirmeler yapmanız ve yeni fikirlerle klasik oyunları daha değerli hale getirmeniz gerekiyor.
Deneme yanılma değil, bilinçli test etme…
Oyunlarla içli dışlı olan herkes “beta” testinin ne demek olduğunu bilir. Ancak bir oyunun geçtiği test sürecinde, beta testi olsa olsa son aşamalardan biridir. Hatta beta testi kelimesi bile, alfa testlerinden sonraki aşama anlamına gelir. Doğrusu, bir oyunun testleri henüz fikir aşamasındayken başlar.
Oyununuzu kaç kişinin oynamasını hayal ediyorsunuz? Bin? Yüz bin? Bir milyon? Sayı kaç olursa olsun, siz kendi başınıza yalnızca 1 kişiyi temsil edeceksiniz. Fikirleriniz, beğenileriniz, hoşunuza giden ve gitmeyen oyunlarla siz yalnızca tek bir kişisiniz. Oysa ki oyununuzu, farklı düşünceleri ve zevkleri olan binlerce kişinin oynamasını istiyorsunuz. Burada yapmanız gereken, fikrinizi başkalarıyla paylaşmak ve düşüncelerini dinlemek olacak. İyi bir fikri olduğunu düşünen herkes, birilerinin bu fikri çalabileceğinden korkar.
Gerçekte ise, fikirler aynı anda dünyanın farklı yerlerinde binlerce kişinin aklına gelir. Hatta genellikle, benzer dönemlerde benzer fikirler ortaya çıkar. Almanca’da bu durumu anlatmaya yarayan, herkesin komplo teorisi belgeselleriyle tanıdığı bir kelime var: Zeitgeist. Bu kelime Türkçe’de “zamanın ruhu” anlamına gelir. İnsanların, içerisinde bulunduğumuz dönemde hislerinden ve günlük yaşamlarından vücut bulan tercihleri, alışkanlıkları ve taleplerinin etkisiyle görülen akımları açıklamakta kullanılır.
Kısacası, koronavirüs döneminde onlarca “yayılan virüs” temalı oyun yapılıyorsa, bu durum zeitgeist‘ın ta kendisidir. Her ne kadar zamanın ruhu kendisini her zaman bu kadar açık ve seçik bir biçimde göstermese de, aklınıza gelen bir fikir sizle benzer yaşantılara sahip olan bir başka insanın aklına da mutlaka gelecektir.
Burada önemli olan, bu fikri hayata geçirebilmektir. İnsanların aklına gelse dahi, bunu girişime dönüştüren kişi sayısı çok az olacak, çoğu kimse “vallahi benim aklıma gelmişti” diyerek hayıflanmayı seçecektir. Fikrinizin çalınmasından korkmadan (elbette çaldıktan sonra doğrudan uygulamaya geçirecek kişilere de gitmeden!) etrafınızdaki insanlarla paylaşın. Bu, oyununuzun ilk test aşaması olacak.
Devamında, eğer yeterli bütçeniz varsa, oyun fikrinizle ilgili pazar araştırmaları yapabilir / yaptırabilirsiniz. Stüdyolar, anket formundaki araştırmalarla oyunlarının tutup tutmayacağıyla ilgili fikir edinmeye çalışırlar. Sonraki aşamalarda ise, oyunun farklı detayları ortaya çıktıkça -mesela bir wireframe (tel çizim) çalışması yapıldıktan sonra- sınırlı sayıda kullanıcının katılımıyla fikirler olabildiğince denemeye tabi tutulur.
Geliştirme aşamaları içerisinde de, gerek yazılım kısmındaki hataları gidermek, gerekse kullanıcı deneyimini maksimumda tutabilmek adına testler durmaksızın devam eder. Alfa ve beta testleri, geniş çapta kullanıcıların katıldığı; oyunun genellikle büyük ölçüde hazır olduğu versiyonların test edildiği aşamalardır. En son noktada da, siz de geliştirme sürecinde A/B test aşamasından geçeceksiniz.
Özetlemek gerekirse…
Kısacası, oyun geliştirme sürecine başlama kararınızdan, oyunun çıkışına kadar kat etmeniz gereken aşamalar şunlar olacak:
1- Doğru araçları / oyun motorunu seçin ve ilgili programlama diline hakim olun
2- Basit bir karakter animasyonundan, kocaman bir bölümün işleyişine kadar her aşamada bug’larla karşılaşacaksınız. Psikolojik olarak bu duruma hazırlanın ve sistematik çalışma alışkanlığı geliştirin.
3- Pazar araştırması yapın, başarılı olan oyunları ve iş modellerini inceleyin.
4- Olabildiğince basit bir fikir oluşturmaya çalışın
5- Fikrinizin orijinal olduğundan, veya üzerinde çalışarak yeterince orijinal hale getirildiğinden emin olun
6- Fikriniz oluştuğu andan, geliştirme aşamasının sonuna kadar sürekli testler yürütün. Bu testlerde fark ettiğiniz bulguları, geliştirme sürecinde oyununuza ekleyin.
Son olarak, bu yazımızda değinmediğimiz bir oyun pazarlaması meselesi var. Fikrinizi hayata geçirdikten sonra, hayal ettiğiniz kullanıcı sayısına ulaşabilmeniz için pazarlama faaliyetleri yürütmeniz gerekiyor. Ancak bu kısım, başlı başına ayrı bir yazının konusu…