Oyun Yapısı Nasıl Olur


Resmin Kaynağı: http://www.freedigitalphotos.net/images/view_photog.php?photogid=2940

video oyunu

Eteklerimizdeki taşları döktük, gelelim oyun yapısına.Burada oyun olarak en basit bir casual oyunları Scirra programı içeresindeki menülerle, araçlarla anlatacağım.  Casual Oyunada, “ZırtOyna Oyun” dan Zırtoynalar diyeceğim diyeceğim ( TDK fahri şubesi olarak benim neyim eskik hemşerim).

Bir Oyunun oyun olabilmesi için belli bileşenlerinin olması lazım. Bir platform oyun örneğinden hareket edelim.

Bir karakter oyun boyunca meyveleri topluyor ve düşmanlardan kaçıyor olsun. Hopluyor zıplıyor ve arada da ateş ediyor. Zıplarken belli basamaklara çıkıyor, canavarlara çarpınca ölüyor olsun. Aynı zamanda meyve topladıkça puan alıyor olsun. Aynı kişi ateş edince bir şey fırlatıyor olsun. ( Bullet, diyorlar Scirra’da, genelde de kurşun demek zaten. ) Bu bullet ile enemy, düşman ölüyor yok oluyor. Aynı zamanda karakterimiz bu oyun alanından çıkamıyor olsun. Resmi arka planından ise belli bir saray manzarası uzakta görünüyor olsun.

Demekki  bu oyunda bize gerekli olan materyaller neler önce bunları tespit edelim:

Bir karakter ( Sevimli bir kız çocuğu olsun “Çiçekli Kız oyunu” vardı ataricilerde hatırlamırsınız bilmem tevellüdü yetenler o oyun gözünüzün önüne gelsin ), Hareket eden düşmanlar yani canavarlar, 5 tane olsun. Biz ateş edince çıkan şey, kurşun ışın veyahut ne seçti isek duman olabilir. Bunun adı bullet.

Üzerinde gittiğimiz, üzerinde olmayınca düştüğümüz platformlar, duvarlar. Bunlar Sanırım Scirra’da Tile olarak geçiyor. ( Ben de yeni başladım beraber gidiyoruz, ancak genel olarak oyunlarda mantık aynı).

Bir arka plan. Güzel bir fon seçersek, burada saray manzarası gibi oyuna güzellik katar. Zaten benim en çok hoşuma giden oyunlardaki renkli grafikler.

Maddi olarak bunlar yeterli. İşin metafizik ( aslında maddi kurallar ama görünmeyen kısmına geçersek) kısmında yani olayın arka planında yürüyen komutlar mevcut.  Oyunların mantığı şudur.

Belli komutlar vereceksiniz ve karakter bu komutlara uyacak.

Oyun bir tema etrafında yürür. Siz bu konu etrafındaki olayda karakterinizi verdiğiniz komutlarla hareket ettirirsiniz ve istenen amacı gerçekleştirirsiniz. Bu amaç gerçekleşince başarılı olursunuz. Puan alırsınız, bölüm atlarsınız, şekliniz değişir, silah alırsınız vb.

İşte bu temayı oluşturan kişi, programcıdır.

Oyunu oynayan oyuncunun vereceği komutların ne şekilde geleceği hangi alete geleceği ne tür bir çerçevede ne tür sonuçlar oluşturacağını kuran kişi oyunun yapımcısıdır.

Biz bir kişi olarak, bütün bunlara karar vereceğiz ve bir ürün ortaya koyacağız.

Oyunun maddi dünyasında gelişen oyunlara tema denir. Ve bu tema oyunu eğlenceli kılar. Bu temanın sonunda kişiler istenen amaca ulaşınca sevinirler, kendilerini başarılı sayarlar. ( Tıpkı dünyamız gibi değil mi. Kader i ve dünyayı böyle açıklayanlar var, bu konuda bir yazım olursa buraya eklerim.)

Şimdi bu kurgu dünyayı yaratmaya talip olan kişi kimdir ?

Biziz tabiki:) Biz tanrıcılık oynayacağız bir nevi. ( Burada günah birşey yok Tanrı sıfatlarının bir kısmını bize vermiş ve bizde görmek istiyor. İşte oyun yazma işi Allah’ın Musavvir ( Tasvir Eden şekil veren),  Cebbar, Alim, Kabid, Basit sıfatlarını biz de görmek istiyor. Tabi burada biz yoktan birşey var etmiyoruz, o yüzden Halık sıfatı bize uymuyor, ancak tırnak içinde bir dünya yaratma var, buna tasvir dedik. İşte oyun yapma güzel oyunlar bize Rabbimizin gerçek dünyayı müthiş manaları ile tasvir etmesini hatırlatmalı ve Gerçek USta’nın kim olduğu unutulmamalı. Eskiden her mesleğin loncalarda Rabbin sıfatlarını hatırlattığı unutulmazmış. Kendimce Musavvir,Cebbar, Alim, Kabid ve Basit bu iş için uygun gibi geliyor. Pirimiz ise Marangoz ustası İlyas Peygamber. Tabiki bunlar görüşler sizin daha güzel fikriniz varsa saygımız olur.)

Kurgu dünyayı kurarken, planlama çok önemli. İşte bu levh i mahfuz oluyor.:) Abarttık mı. Biraz.

En baştan oyunu bir şekilde planlamak ve neyi nerede yapacağımızı bilmemiz lazım. YAni en baştan karakterleri çizim olarak hazırlamalı ve senaryoyu oluşturmalıyız.

Karakter ne yapmak istiyor, düşmanı nasıl yok edecek, ne fırlatacak, oyun platformunda sınırları neresi, hangi tuşlarla hangi yöne gidecek, puan nasıl olacak, kazanınca ne olacak, düşman ölünce puan alacak mı, düşman ölürkenki animasyonlar, karakter hareket ederken ki animasyonlar belirlenecek.

Karakterin, fiziksel dünyasındaki oyunları tanımlamaya programcılık deniyor. Scirra’da karaktere ve düşmanlara Behaviour ekleniyor. Yani Davranışlar. Özellikleri sol köşeden properties ile belirleniyor.

Event Sheet, kısmında ise oyun açıldığı zaman neler olacak, karakteri hareket ettiren tuşların seçimi, yani girdiler. YAni komutlar nereden geliyor, hangi aletten gelecek. Bunu sonra anlattacağız. Object olarak mouse, klavye, joystick her neyse insert new object ile eklenmeli.

Event Sheet’te tek tek Sprite olarak tanımlanan nesnelerin hareketleri programlanır ve bu kurgu dünyada neler yapabilecekleri belirtilir. Karakterimiz bir sprite’dir, düşmanlar sprite’tir. Bunlar davranışları olan nesnelerdir. Bunların yapabilecekleri, birbirlerine çarptıkları zaman neler olacağı, ne yaparlarsa, ne olursa yok olacaklarını biz hep Event Sheet’te gösteriyoruz.

Add Action ile ne yapılması gerektiğini ekliyoruz. Add event ile mesela karakteri seçiyoruz mesela birinci düzlemde isen ( layer 1 ), o platformda yürüyebilme özelliklerini add action’dan ekliyoruz.

Yani kısaca programlama yapılırken if’den yararlanıyoruz. İf tüm programcılığın özüdür. Tüm bu kurgu dünyadaki komutlar, emirler genelde bu if komutu etrafında döner.

Biz deriz ki, Eğer karşındaki canavar sana çarparsa, destroy karakter, yani karakter yok olsun deriz. Böylece size eğer canavar çarpmış ise hop ölürsünüz.

Mesela Add Event’te Klavye’yi seçersiniz, ve eğer klavye’de aşağı tuşuna basarsanız, deriz add action’la hareket ekleriz. Aşağıya gitsin mesela.

Ne yaptık karakter için, eğer klavye’de aşağı tuşuna basılırsa aşağıya git diyoruz.

Tüm oyun programlamanın özeti if olayıdır. Ondan sonra bunun türevleri var if, if else, any, each, While gibi çeşit çeşit komutlar var.

C++ gibi diğer programlarda rast gelirseniz görürsünüz if’li komutlar vardır.

Modellemeyi kısaca açıkladık. Özetle.

Girdiler Komutlar Bir yerden geliyor ( Mouse, klavye benzeri aletten ) > Bir bilgisayar türü araca ulaşıyor>Bir program’a ulaşıyor ( Scirra’da, Browser’da oyun yüklü > Kurgu dünyada, yazdığımız programlarla, karaktere emirler veriliyor, hareket ediyor, amaca yönelik başarı veyahut başarısızlık gerçekleşiyor.

Bu kurgu dünyayı yaratırken Bir Oyun Planı kuruyoruz. Oyun Kurgusunu biz belli bir temaya uygun üretiyoruz.

Kurguyu oluşturmak için gerekli olan şey ne Oyun Planı.

Oyun Planı:

1. Konuyu Tesbit Et

2. Senaryoyu Yaz.

3. Karakterler, düşmanları, arka planı, müzikleri, hareket alanını duvarları, sınırlandırıcıları seç, ateş silahını belirle.

4. Belirlediğin karakterleri resim olarak, müzik olarak elde et. Photoshop olur vb. Çiz yap.

5. Kurgu Dünyayı oluştur. Bir Program Yardımı ile. Scirra bizde. ( C++ olsa idi C Developer gibi C yazım programları ile bu yukarıda ki resimleri müzikleri bilgisayarımızdan aktarım, elle, belli şablonlar etrafında if vb. komutlarla yazacaktık. Scirra’da bize verili komutlarla resimli olarak yapıyoruz, fark bu. Tabi bizim dünyamız sınırlı ama programlama bilmiyoruz. Zor değil o kadar ama kolay da değil, mantığı kapacağız. Mesela hiç bilmiyordu isen if i öğrendin.)

6. Kurgu dünya oluşturmak için Scirra’yı aç.

7. Belirlediğin resimleri, png, jpeg formatındaki resimleri, müzikleri, drop and drag, taşı ve bırakla pencereler arası taşı ve bırak.

8. Bunları Layout’a atacaksın. Orada hepsine özellikler vereceğiz.

9. üstüne tıkladığın resimlere solda properties ile özellikler eklenecek, add behivour ile davranışlar ekleyeceksin.

10 . Event Sheet ile asıl programlama yapacaksın. Bu tanımladığın objectlere, nesnelere, belli şartlar oluştuğunda belli davranışlar yapmayı tanımlayacaksın. Açılınca çıkacak yazıdan, her türlü harekete burada belirleyeceksin.

11. Run yazıp programı test edeceksin. Browser ( Explorer, Chrome HTml5 ) içinde oyunlar açılacak ve çalışmaya başlayacak.

Scirra’da hazır programlar var, açın ve bakın. Neler yapmışlar, nasıl komutlarla, nasıl tanımlamalar yapmışlar. Tutoriallar, yani örnekler, örnek anlatımlar mevcut. Türkçe bir tane buraya yapmaya çalışacağım.

Browse all examples ile ana pencereden ulaşabilirsiniz örneklere.

Umarım bir işinize yaramıştır.

One response to “Oyun Yapısı Nasıl Olur

  1. Pingback: Scirra Başlangıç Tutorial’a Giderken Gerekenler | yesileldiven·

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s