Haz.27

Mobil Oyunların Pazarlanmasında İlk Adımlar

Aslında bir mobil oyun geliştirici olarak Oyun Pazarlama işi bizim işimiz değildir. Biz oyunu yaparız, pazarlamacılar ve sosyal medya uzmanları yapılan bu oyundan para kazanabilmek için mümkün olduğunca çok kitleye ulaşmaya çalışır. Ancak naçizane olarak şahsi deneyimlerimle elde ettiğim en basitinden olmazsa olmaz pazarlama stratejilerini sizlerle paylaşmak istiyorum. Güzel Bir İsim, Güzel Bir İkon Seçin Yüzlerce uygulama arasından dikkat çekmek için mutlaka dikkat çekici güzel ikon seçimi yapın. Store’da birbirinin aynı ve sıradan ikonlar arasından sizinki dikkat çekerse, indirime olasılığı daha yüksek olacaktır. Buna bağlı olarak oyununuzun ismi de ne kadar dikkat çekici olursa, o kadar çok ilgi çekecektir. İntro Hazırlayın Oyunlarınızı tanıtacak bir video hazırlayın. İsterseniz 3D animasyonlar, isterseniz 2D animasyonlar, isterseniz de birbiri peşi sıra geçen resimlerden oluşan bir video olsun. Veya oyunu oynarken birkaç sahnede kısa kısa videolar (bu videolar, Game Play veya Oynanış diye anılır) çekin. Çektiğiniz videoları birbiri peşi sıra ekleyin. Bu iş için en basitinden video birleştirme programları veya After Effects gibi daha profesyonel video düzenleme programları kullanabilirsiniz. Hazırlayacağınız video 60 saniyeyi geçmesin. Zira çok fazla uzun videolar da sıkıcı olur ve intro niteliğinden çıkar.
Oyun Programlama

Haz.27

ActionScript 3.0 AIR SDK ile Pong Oyunu Kodlama

Bu makalede; klasik oyunlardan biri olan Pong oyununun nasıl yapılacağını göreceğiz. Buraya kadar olan kısmı bölümün girişinde gösterelim. Resimleri küçülterek iki sıra halinde metnin altına alalım. Hazırlayacağımız oyun örneğimizde, aşağıda bahsedilen teknikleri öğreneceksiniz. • Nesneler arası açı hesaplamaları. • Oyuncuya karşı yapay zekayı oynatmak. Senaryo oldukça basit. Sağa ve sola hareket ettireceğiniz çubuk ile, sahnede sürekli hareket eden topun sizin tarafınıza kaçmasını engelleyin. Dinamikler: • Puan artışını gösteren skor ekranı. • Sahne içinde hareket eden, çubuklara ve kenarlara çarpınca geri seken top. • Oyuncunun parmağı ile sağa sola hareket ettirebileceği çubuk. • Yapay zekanın hareket ettireceği çubuk.
Adobe AIR,ActionScript 3.0,Oyun Programlama

Haz.27

ActionScript 3.0 AIR SDK ile Kilitli Kapı için Anahtar Toplama ve Kapıyı Açma

Kapılar, anahtarlar, bulmacalar… Bunlar da olmadan oyun olmaz. Düşünün, bir kapı açmamız gerekiyor ve bu anahtara ulaşmak için de bütün binayı gezmemiz, düşmanları yok etmemiz gerekiyor. Neyse ki anahtarı bulduk, gözümüzün önünde yerde. Bir de bu kapının açacağı bir kapı var. Öncelikle anahtarı bulmalı, bu anahtarı almalı ve kapının önüne gidip herhangi bir tuşa basarak kapıyı açmalıyız. Ne kadar da basit… Street Fighter’ı programlayanlar, Ken’in bu halini görse eminim ki çok acırdı. Anlayacağınız, yine aynı oyun dosyamız üzerinden devam edeceğiz. Kilitli ve Açık Kapı Modeli Hazırlamak Oyun sahnemizin ortasında bir kapı olacak. Ken, bu kapının önündeyken, diğer tarafına geçmek istiyor. Ekranın sol tarafında da bir anahtar var. Öncelikle bu anahtarı almalı ve sonra kapıyı açmalı. Kapımızı oluşturmak için şöyle bir Sprite Sheet kullanacağız. Grafikte de görüldüğü gibi 1. karede kapı kapalı, sonraki karelerde ise kapı açılıyor.
Adobe AIR,ActionScript 3.0,Oyun Programlama

Haz.27

ActionScript 3.0 AIR SDK ile Karakter ve Nesne Temas Kontrolleri, Altın Toplamak, Skor Yazdırmak

Oyunların vazgeçilmez parçası; altınlar, kristaller, boncuklar… Oyuncunun puanını belirleyecek olan veya ek özellikler kazandıran bu nesneler her oyunda mutlaka yer alır. Karakter ile altınlar toplanır ve skor artırımı yapılır. Şimdi biz de karakterimiz ile nasıl altın toplayacağımızı kodlayacağız… Altın Toplayarak Puan Kazanma GamePad uygulaması yapmıştık daha önce, o uygulamayı (https://ugurgelisken.com/actionscript-3-0-air-sdk-ile-sanal-joystick-ile-karakteri-360-yonlendirme-ve-hareket-ettirme/) açarak onun üzerinden devam edelim. Sağ ve Sol kontrol butonları ile karakterimizi yönlendirebiliyorduk. Ken karakterimiz ile bu sefer kavga etmek yerine, Sonic gibi altınlar toplayacağız. Altın Modeli Oluşturmak Uygulamayı açtıktan sonra, kök katmanda en Kodlar katmanının hemen altında yeni bir katman daha açın. Açtığınız katmana Altınlar adını verin. Diğer katmanları da kilitleyin.
Adobe AIR,ActionScript 3.0,Oyun Programlama

Haz.27

Haz.27

AdMob ile Adobe Native Extension Kullanarak Oyunlarda Reklam Göstermek

AdMob Üyelik Hesabı Açmak AdMob üyeliği açmak için öncelikle aşağıdaki adrese giriş yapın. http://www.google.com/ads/admob/ Açılan sayfada Sing up with Admob butonuna tıklayın. Açılan sayfada arak bir Google hesabı açmanız gerektiğini veya varsa bu hesap ile giriş yapmanız gerektiğini söylüyor. Eğer bir hesabınız yoksa açın veya varsa Sign in with my Google Account butonuna tıklayarak devam edin. Giriş yaptıktan sonra yine aynı sayfada Continue to AdMob butonuna tıklayın.
Adobe AIR,ActionScript 3.0,Oyun Programlama

Haz.27

Oyunu Programlamada ve Programlama Kalitesi

Oyunu kodlarken dikkat etmeniz gereken en büyük husus birkaç kritik nokta vardır. Bunlar; • Kodların istenilen amaçla çalışıp çalışmadığı: Yazacağınız komutlar, tam olarak sizin istediğiniz şekilde sonuçlar üretmelidir. Hem de her defasında tam da istediğiniz gibi çalışmalıdır. Mesela sağ butona bastığınızda karakteriniz bir sağa bir sola gidiyorsa bu durumda kodlarınız istediğiniz amaçta çalışmıyordur. • Kod tekrarlarının olup olmadığı: Bir işi yapmak için birkaç fonksiyon hazırlamışsanız, bu kodlar zamanla arap saçına dönecektir ve bir hata olduğunda düzeltmeniz çok zor olacaktır. Hatanın kaynağını bulmak için saatlerinizi verebilirsiniz. Mesela karakterinizin enerjisini kontrol eden bir fonksiyon varken, başka bir fonksiyonda da karakterinize vuran yaratığın hasarı ile karakterinizin enerjisi düşüyorsa, bu sefer karakteriniz iki katı enerji kaybediyor demektir.
Oyun Programlama

Haz.27

Oyun Programlamada Senaryoyu Etkileyen Faktörler

Mobil oyunlarda da aynı senaryo mantığı geçerli olmasına rağmen biraz farklılıklar olabilir. Bunun nedeni de “oynanabilirlik, zaman ve donanım” sorunlarıdır. Zaman Biraz daha net konuşalım. Mobil oyun sevenler, genelde oyunu açıp şöyle 5-10 dakika oynayarak sonuca ulaşmayı ister. Çünkü fanatikleri hariç çoğu mobil oyun severler öyle saatler boyunca telefon elinde oyun oynamaz. Oyun oynayanlar da zaten ya otobüste işe giderken, ya tuvalette beklerken ya da ders-iş arasında canı sıkıldığında oyun oynar. Yani burada bizi etkileyen en önemli kavram zamandır. Yapacağınız oyun ne çok kısa olmalı ne de çok uzun. Eğer uzun bir oyun ise mutlaka bölümlere (level) ayrılmalı. Her bölüm 5-10 dakika gibi bir sürede başarılı veya başarısız bir şekilde sonuçlandırılmalı. Mesela Candy Crash Saga gibi oyunlar level mantığına dayanır. Oyun aslında sonu gelmeyen bir oyundur ama parçalara ayrılmıştır. Daha net bir örnek ise; en basitinden Mario oyunudur. Oyun aslında çok uzundur ama her bölüm bittiğinde yeni bölüme ışınlanır. Oyuncu da bir bölümü bitirmenin keyfini yaşar ve tekrar oyuna dönmek istediğinde, kaldığı bölümden tekrar devam edebilir.
Minik parçalara ayrılmış çok zaman almayan oyunlar daha keyif vericidir.
Şayet yapacağınız bölümler çok uzun olursa, kullanıcı sıkılıp bırakabilir bölümü. Bu da o bölümü bir sonraki oyunu açışında tekrar oynamaya zorlayacaktır. Oyuncu bu döngüden sıkılıp oyunu bırakabilir.
Oyun Programlama

Haz.27

Mobil Oyun Dünyasında Fikir ve Senaryo

Bir oyunu meydana getirmek için tetiklemeyi yapan aşamada fikir ve senaryo yer alır. • Fikir: Bir oyununun temasıdır. Yani konu ne üzerine gerçekleşecek. Mesela; “Dünyayı zombi istilasından kurtaracağımız bir oyun yapalım” dediğinizde, oyun için bir fikir ortaya atmış olursunuz. • Senaryo: Fikrin nasıl işleneceğidir. Oyunun başlangıcından oyunun final sahnesine kadar bütün aşamaların detaylandırılmış halidir. Mesela; “İnsanların daha uzun bir ömür yaşamalarını araştıran bir bilim adamı, yanlış bir aminoasit bileşeni ile denekleri saldırgan ve bilinçsiz birer yaratık haline getirmiştir. Denekler anatomik olarak güçlenirken, daha çabuk çürümeye başlamış ve bilinçlerini kaybetmiştir. Sadece içgüdüleri ile saldırganlık sergiliyordur. Isırdıkları masum insanlara da genetik virüslerini bulaştırmaktadır. Kahramanımız ise kendisine saldıran bu yaratıklardan kaçmak, kendisini korumak için silah bulmak ve gerektiğinde de hiç çekinmeden kullanmak zorundadır. Amacı, bir panzehir geliştirebilmek için gerekli olan malzemeleri bulmak ve çalışmalarında yardımcı olabilmeleri için diğer doktor ve asistanları kurtarmaktır. Senaryonun finalinde ise tüm malzemeler birleştirilir ve panzehir üretilir. Artık dünya bu virüsten kurtulmuştur.” Evet, işte size basit de olsa bir senaryo.
Oyununuzu nasıl yaparsanız yapın, ama başarı için mutlaka özgün bir fikir ve senaryoya sahip olun.
Senaryo; bir oyunun en zorlu ve bir o kadar da oyunu başarılı yapan kavramdır. Mesela; yüzlerce “Dünyayı zombi istilasından kurtarma” fikrine dayalı oyun vardır. Ama bunlardan sadece birkaçı oyuncular üzerinde derinlemesine etki yapmıştır. Bunun sebebi de oyunun nasıl işlendiği, yani senaryosudur. Çoğunuzun bildiği (hatta seri halinde sinema filmi de çekildi) Resident Evil oyunu, zombi oyunlarının en iyisi konumundadır. Senaryosuna baktığımızda, oyun “Eline bir silah al ve önüne gelen zombiyi öldür” mantığında değildi. Senaryoda belirli bir yol izlenmiş ve o senaryoya oyuncu bağlı kalmıştır. Yani senaryoya göre oyun ilerlemektedir.
Fikriniz yoksa, senaryonuz da olmaz. Fikriniz iyi değilse, senaryonuz da kötü olur.
Ayrıca diğer oyunlardan farklı olarak bu oyunda kullanacağınız silahlar için mermi, sağlığınız için kullanacağınız iyileştirici ilaç ve bitkiler sınırlıydı. Sınırlı kaynaklara dayalı bir senaryo ile oyun oynamak kullanıcıları diğer oyunlara göre hem daha zorlamış hem de daha çok zevk vermiştir.
Oyun Programlama