GM Eğitimi – İlk Oyun

Yayınlandı: 23 Ağustos 2010 yasirkula tarafından Çeviri Dersler, Game Maker, Oyun Tasarımı içinde

Herkese merhaba! Yine bir eğitim dosyasıyla karşınızdayım. Bu seferki eğitim dosyası bir serinin ilk eğitim dosyası olacak. Bu seri ise YoYo Games’in resmi sitesinde yer alan tutoriallerin Türkçe’ye çevrildiği bir seri olacak. Oradaki “GM Tutorial – First Game” isimli tutorialin Türkçe’si işte bu eğitim dosyasıdır. Diğer tutorialler ise çeviri aşamasındadır. Sırayla hepsi sitemize Türkçe olarak eklenecektir 🙂

Devam etmeden önce belirtmeliyim ki bu seride yer alacak olan yazılar çok uzundur ve bu yüzden de bu yazıda geçen oyunun kaynak dosyaları ve GMK dosyalarını içeren Winrar arşivinin içerisinde yazının PDF hâli de bulunmaktadır. Eğer yazının sitemizdeki hâli uzun gelirse hazırladığım bu dosyayı indirip ondan çalışabilirsiniz.

Link: https://www.box.com/s/50d370bef41b5feaa69f

Eğitim dosyasını görmek için yazının devamını okuyabilirsiniz. (Word’de 16 sayfa tutmuştur.)

İlk Oyunun

Gerekenler: Game Maker 8.0, Lite veya Pro Sürümü, Simple Modu

Seviye: Başlangıç

Game Maker kullanımı çok kolay bir programken, başta kullanımı zor olabilir. Bu eğitim Game Maker’a başlarken zorluk çekmenizi azaltmak için yazılmıştır. Bu eğitimde adım adım ilk oyununuzu yapacaksınız.  İlk oyununuz için Game Maker’ın bazı temel özelliklerini bilmelisiniz. Bu yüzden bu eğitimi dikkatlice okuyup her adımı kavramaya çalışın. İlk oyununuzu bitirince ikinci oyununuzun yapım aşaması size çok kolay gelecek.

Oyundaki Fikir

İlk önce yapacağımız oyun hakkında bilgi verelim ki mantığı anlaşılsın. Bu oyun ilk oyunumuz olacağı için kolay bir şey olacak. Oyunumuz oyuncuyu kısa bir süre de olsa oyalayabilecek. Oyunumuz “Palyaçoyu Yakala” isminde ufak bir aksiyon oyunu olacak. (Her zaman oyununuza ilgi çekici isimler verin.)

İşte oyunumuzun açıklaması:

Palyaçoyu Yakala

Palyaçoyu Yakala ufak bir aksiyon oyunudur. Oyunda bir palyaço oyun bölgesinde dolanır. Oyuncunun yapması gereken palyaçoya sol tıklamaktır. Eğer oyuncu oyunda bir miktar başarı sağlarsa palyaço daha da hızlanır ve yakalanması zorlaşır. Her yakalamada skor artar ve amaç da en yüksek skoru elde etmektir. Beklenen oynanma süresi sadece birkaç dakikadır.

Açıkçası böyle bir oyun kısa süreli bir eğlencedir. Ancak biz basitten başlamalıyız. Sonradan oyuna başka özellikler katarak daha da ilginç bir hâle sokabiliriz.

Bir Dizayn Belgesi

Oyun yapmanın ikinci aşaması detaylı bir dizayn belgesi hazırlamaktır. Bunu her zaman yapmanız kesinlikle tavsiye edilir, hatta oyununuz çok basit olsa bile. İşte “Palyaçoyu Yakala” oyunumuz için dizayn belgemiz.

Palyaçoyu Yakala Dizayn Belgesi

Oyun Objeleri (Nesneleri)

Sadece iki nesnemiz olacak: palyaço ve duvar. Duvar karemsi bir şekle sahip olacak.

Oyunun geçeceği yeri duvarlar sarmış olacak. Duvar hiçbir şey yapmayacak. Sadece orada oturup palyaçonun dışarı kaçmasını engelleyecek. Palyaço nesnesinin palyaço suratlı bir resmi olacak.Ayarlı bir hızı olacak. Bir duvara çarparsa sekecek. Oyuncu fare ile palyaçoya sol tıkladığında da skora 10 eklenecek. Palyaço rasgele bir yere ışınlanacak ve hızı da biraz artacak.

Sesler

Oyunda iki ses kullanacağız. Palyaço duvara çarpınca çıkacak ses, ve oyuncu palyaçoya sol tıklamayı başardığında çıkacak olan ses.

Kontroller

Oyuncunun tek kontrol elemanı fare olacak. Palyaçoya sağ tıklayarak onu yakalayacaklar.

Oyun Akışı

Oyunun başlangıcında skor 0 olacak. Hareket halindeki palyaço ile oda gözükecek. Oyun derhal başlayacak. Oyuncu <ESC> ye bastığında ise oyun bitecek.

Bölümler

Sadece bir bölüm olacak. Oyunun zorluğu artacak, çünkü palyaçonun her başarılı yakalanışında palyaço hızını artıracak.

Bu şu an için yeterlidir. Artık oyun tasarımına başlayabiliriz. Yani Game Maker’ı açın ve hemen işe koyulalım. Bu eğitimin Game Maker’ın 8.0 sürümünü kullandığını unutmayın. Eğer farklı sürümünü kullanıyorsanız resimler farklı gözükecektir. Bu ayrıca programın simple modda çalışmasına da bağlıdır. Simple ve Advanced mod arasında File (Dosya) menüsünden “Advanced Mode” ye tıklayarak geçiş yapabilirsiniz. Advanced modda daha çok özellik ve pencere bulunur ancak biz basit oyunumuzda buna ihtiyaç duymayacağız.

Yapacağımız oyun “Örnek” klasöründe bu eğitimle beraber verilmiştir. Bunu kullanarak direk projeye ulaşabilirsiniz ama bunu kendi kendinize aşağıdaki yönergelerle yapmanızı tavsiye ederim. Bu şekilde Game Maker’da nasıl oyun yapıldığını kavrarsınız. Kullanacağımız tüm spriteler, resimler, ve sesler “Kaynak Dosyaları” klasöründe yer almaktadırlar.

Spriteleri ve Sesleri Eklemek

Oyun dizayn belgesinde açıklandığı gibi iki nesnemiz için iki tane resme ihtiyacımız var. Game Maker’da bu tip resimlere sprite denir. Hakkında çok şey bilinmelidir, ama şimdilik onların sadece basit resimler olduğunu düşünebilirsiniz. Yani bu tip resimler yapmalı ya da bulmalıyız. Resimleri yapmak için beğendiğiniz herhangi resim editörünü kullanabilirsiniz, mesela Windows’un parçası olan Paint gibi. Ama Game Maker bu ihtiyaç için kendi içinde bir resim editörü barındırır. Güzel görünen spriteler yapmak uzun uzun pratik yapmayı gerektirir. Ancak pek çok yerde ihtiyacımızı karşılayabilecek güzel, ücretsiz resimler bulunur. Game Maker böyle resimlerden barındırmaktadır ve sitemizde de (www.yoyogames.com) daha fazlasını bulabilirsiniz. Yada internetten araştırıp istediğiniz türde istemediğiniz sayıda resim bulabilirsiniz. Küçük oyunumuz için biz iki sprite kullanacağız, ve ikisi de eğitimle gelen “Kaynak Dosyaları” klasöründe bulunur.

Palyaço:   —-        Duvar: 

Bu spriteleri oyunumuza eklemek için aşağıdaki yönergeleri izleyin :

Oyun için palyaço spritesini oluşturmak:

1. Resources menüsünden “Create Sprite” yi seçin (Sprite Oluştur). Figür 1’de gözüktüğü gibi bir Sprite Properties (Sprite Özellikleri) ekranı gelecektir.

Figür 1. Boş Sprite Properties ekranı.

2. Henüz sprite0 yazan Name (İsim) kısmına tıklayın. Bu sprite için varsayılan isimdir. Bunu  spr_clown olarak değiştirin.

3. Load Sprite (Sprite Yükle) butonuna tıklayın. Bu dosya bulma ekranını açacaktır.

4. Bu eğitimle gelen “Kaynak Dosyaları” klasörünü bulup içine girin ve “clown.png” dosyasını seçin. Sprite Properties ekranı şimdi Figür 2’deki gibi durmalıdır.

5. OK (Tamam) butonuna basarak ekranı kapatın.

Figür 2. Palyaço spritesi.

Şimdi aynı şekilde duvar spritesini oluşturacağız.

Duvar spritesini oluşturmak:

1. Resources menüsünden Create Sprite seçeneğini seçin. Name kısmını spr_wall olarak değiştirin.

2. Load Sprite butonuna tıklayarak “wall.png” dosyasını seçin.

3. OK butonu ile ekranı kapatın.

Sizinde göreceğiniz gibi artık palyaço ve duvar spriteleri soldaki kaynak gezgininde gözükmektedir. Burada her zaman oyununuzda oluşturduğunuz spriteleri, sesleri, objeleri, odaları vb. bulabilirsiniz. Birlikte onları oyunun kaynak dosyaları olarak adlandıracağız. Bir kaynak dosyasını ismine tıklayarak seçebilisiniz. Şimdi “Edit” menüsünü kullanarak kaynak dosyasını değiştirebilir, klonlayabilir, ya da silebilirsiniz. Bir kaynak dosyasının ismine sağ tıklamak da aynı menüyü açacaktır. Bu kaynak dosyası özellikleri daha karışık projelerde çok önemli özellikler olacaktır.

Şimdi spriteler bittiğine göre sıra ses efektlerine geldi. Biri palyaço duvara çarptığında, öbürü de oyuncu palyaçoya başarılı bir şekilde sol tıkladığında çalmalıdır. Bunun için iki wave (“.wav”) dosyası kullanacağız. Wave dosyaları kısa sesler için mükemmeldirler. Bu dosyaların bir kısmı Game Maker’la birlikte yüklenirken dahası internetten bulunabilir.

İki ses kaynak dosyası oluşturun:

1. Resources menüsünden Create Sound (Ses Oluştur) seçeneğine tıklayın. Sound Properties (Ses Özellikleri) penceresi açılacaktır. Name kısmına tıklayın ve snd_bounce olarak ismini değiştirin.

2. Load Sound (Ses Yükle) butonuna tıklayın, Eğitimle gelen “Kaynak Dosyaları” klasörünü bulup girin ve bounce.wav ses dosyasını seçin. Pencere şimdi Figür 3’deki gibi durmalıdır.

3. OK butonu ile pencereyi kapatın.

Figür 3. Sekme sesinin kaynak dosyası.

4. Başka ses kaynak dosyası oluşturup  snd_click adını verin.

5. Load Sound butonuna basarak  click.wav ses dosyasını seçin.

6. Pencereyi kapatın.

Sound Properties ekranında yeşil üçgene basarak yüklü sesi dinleyebilirsiniz (Kendi kendini bitince tekrar eder.). Artık soldaki kaynak gezgininde iki ses dosyası da gözükecektir.

Nesneler ve Aksiyonlar

Henüz hiçbir şey gerçekleşemeyeceği için spriteleri ve sesleri şu halde kullanamayız. Spriteler sadece oyundaki objeler için resim dosyalarıdır ve biz henüz bir nesne(obje) tanımlamadık. Benzer şekilde de sesler de biz onlara oynamalarını belirtmedikçe hiçbir şey yapmazlar. Yani artık iki oyun objemizi oluşturmalıyız.

Ama bundan önce Game Maker’ın temel prensibini iyice kavramalısınız. Önceden de belirttiğimiz gibi bir oyunda bir miktar farklı oyun objesi kullanırız. Oyun boyunca bir veya daha fazla sayıda oyun objesinin kopyası ekranda, daha genel olarak oyun dünyasında belirir. Unutmayın, aynı nesnenin (objenin) birden çok kopyasının olması mümkündür. Yani örneğin Palyaçoyu Yakala oyunumuzda duvar objesinin pek çok kopyası yer alacak, oyunun geçeceği mekanın çevresini saracaklar. Palyaço objesinden ise sadece bir tane kopyası oyunda yer alacak.

Oyundaki objelerin kopyaları onlara napacaklarını belirtmedikçe bir şey yapmazlar. Bunu objenin kopyaları bir event (olay) gerçekleşince nasıl tepki vereceğini belirterek gerçekleştiririz. Gerçekleşebilecek farklı farklı eventler vardır. Birinci önemli event bir obje oluşunca gerçekleşen eventtir. Bu Create Event’idir (Oluşum Olayı). Genel olarak bu event boş kalmaz. Mesela biz oyunumuzda, palyaço oluştuğu zaman ona rasgele bir yönde ilerlemesini söylemeliyiz. Önemli bir başka event ise iki objenin temasa geçmesiyle (Birbirine dokunmasıyla) gerçekleşen eventtir; biz buna Collision Event (Temas Olayı) deriz. Mesela palyaço objemizin kopyası duvarla temasa geçince palyaço tepki göstermeli ve ilerleyiş rotasını değiştirmeli. Bundan başka oyuncu bir tuşa basınca veya fare ile tıklama yapınca gerçekleşen eventler de vardır. Biz palyaço objesine Mouse Event (Fare Olayı) yardımıyla farenin sol tıklamasına tepki göstermesini öğreteceğiz.

Bir event(olay) gerçekleşince ne olacağını biz aksiyonlar ile belirleriz. Game Maker hâli hazırda pek çok kullanışlı aksiyon sunar. Mesela bir aksiyon, kopyaya (Objenin(Nesnenin) oyundaki hali) belli bir yönde belli bir hızla ilerlemesini söyler. Başka bir aksiyon skoru değiştirmeye yarar, veya sesleri oyunda çalmak için de aksiyon bulunur. Yani bir oyun objesinin oluşumu birkaç temel prensibe dayanır: Objeye resmini belirtmek için bir sprite atanır, objeye birkaç ekstra özellik eklenebilir, ve en önemlisi de objeye hangi olaylar gerçekleştiğinde hangi aksiyonlar ile tepki göstereceğini belirtmek için eventler ve aksiyonlar eklenir.

Objeler ve objelerin kopyaları arasındaki bu ince çizgiyi iyi kavrayın. Bir obje tutumlarıyla birlikte (Olaylara karşı tepkileri) bir oyun objesini belirtir. Bu objenin oyunda bir veya daha fazla kopyası bulunabilir. Bu kopyalar önceden belirtilmiş olay ve aksiyonlara göre üzerine düşen rolü oynar. Bir obje teorik, soyut bir şeydir. Normal hayattaki gibi, sandalyeler hakkında üzerine oturulabilen cisimler olarak genel tanımlama yapılabilir, ama ayrıca bu sandalye objesinin kopyası olan somut bir sandalyeden de bahsedebiliriz, evimizde bulunan bir sandalye mesela. Evimizdeki somuttur, kopyadır; ama genel anlamdaki sandalye kavramına geçilirse soyuttur, bir objedir.

Ee peki bu işleyiş oyunumuzda nasıl olacak? İki objeye ihtiyacımız olacak. Önce çok basit olan duvar objesini oluşturacağız. Bu objenin hiçbir ekstra bilgiye ihtiyacı da yok. Herhangi bir evente karşı tepki göstermeyecek çünkü.

Duvar objesini oluşturmak:

1. Resources menüsünden Create Object’i (Obje Oluştur) seçin. Figür 4 ‘deki gibi bir Object Properties (Obje Özellikleri) penceresi açılacak.

Figür 4. Boş Object Properties ekranı.

2. Name kısmından objenin adını obj_wall olarak değiştirin.

3. Sprite bölümündeki <no sprite> yazısının sağındaki menüyü açıp oradan spr_wall spritemizi duvar objemize atayın.

4. Duvar objesinin kopyaları sabit, sert cisimler olmalı, hiçbir kopya onları hareket ettirememeli. Bunun için Solid yazısının solundaki tiki işaretli hâle getirin.

5. Artık ekran Figür 5 ‘deki gibi durmalıdır. OK tuşu ile ekranı kapatın.

Figür 5. Duvar objesinin doldurulmuş hâldeki özellikler ekranı.

Palyaço objesi için de aynı yolla başlayacağız.

Palyaço objesini oluşturmak:

1. Resources menüsünden Create Object’i seçin.

2. Name kısmından objeye obj_clown adını verin.

3. Objeye palyaço spritesini atamak için <no sprite> yazısının sağındaki menüden spr_clown spritesini seçin.

Palyaço objesi Solid olmayacaktır. Çünkü hareketlidir. Ama palyaço için daha yapacak birkaç işlem var. Objeye neler yapması gerektiğini belirteceğiz. Bunun için ekranın kalan kısmını kullanmaya başlayacağız. Ortada, alt tarafında 3 tuş bulunan boş bir liste var. Bu liste objenin tepki göstereceği olayların listeleneceği Events listesi. Alttaki butonlarla event (olay) ekleyebilir, silebilir, veya değiştirebilirsiniz. Burada pek çok değişik olay bulunur ancak biz oyunumuzda sadece bir kaçına ihtiyaç duyacağız.

Sağ tarafta ise başka bir boş liste bulunur, ortadaki seçili olay(Eğer ortada olay(event) varsa) gerçekleşince yapılacakların belirtileceği aksiyonların bulunduğu liste. En sağdada birkaç sekme ve küçük ikonlara sahip değişik aksiyonlar bulunur. Bu ikonların her biri farklı bir aksiyonu belirtir. Toplamda yaklaşık 100 farklı aksiyon burada seçilmeyi bekliyor. Eğer fareyi bir aksiyonun simgesi üzerinde bir süre tutarsanız o aksiyona ait kısa bir bilgi gözükür. Bu aksiyon listesinden aksiyonları sağdaki “Actions:” kısmının altına sürükleyerek o aksiyonun seçili olayda gerçekleşmesini sağlarız.

Öncelikle palyaço objesinin kopyası oluşunca ne gerçekleşeceğini belirteceğiz. Bu durumda palyaçonun rasgele bir yönde ilerlemesini istiyoruz.

Palyaço objesine hareket etmesini bildirmek:

4. Add Event (Olay Ekle) butonuna basın. Olay seçme ekranı Figür 6 ‘daki gibi belirecek.

Figür 6. Event Seçici.

5. Create(Oluştur) butonuna basın. Şimdi oluşum olayı ortadaki olaylar listesine eklendi. Ayrıca otomatik olarak da seçili hâle geldi (mavi bir şekilde).

6. Sırada aksiyon listesinden Move Fixed (Ayarlı Hareket Et) aksiyonunu sürüklemelisiniz. Bunun için üzerinde sekiz kırmızı okun bulunduğu aksiyonu fareyle tutup sürükleyerek boş olan aksiyon listesine bırakın. Bir aksiyon ekranı gelip, az önce sürükleyip bıraktığımız aksiyon hakkında bizden bilgi isteyecek.

7. Gelecek ekranda kopyanın hangi doğrultuda iIerlemeye başlayacağı belirtilir. Ortadaki hariç sekiz oku da işaretleyin (Ortadaki hareketsizliği belirtir çünkü).  Seçilen yönler kırmızıya dönecektir. Birden çok yön seçilirse (Şimdi yaptığımız gibi) o yönlerden rasgele birinde hareket başlar. Şimdi Speed (Hız) kısmına 4 girin. Figür 7 ‘ye şu anki son hâl için bakabilirsiniz. OK’a basarak bu aksiyon ekranını kapatın.

Figür 7. Move Fixed aksiyonu için yönleri belirlemek.

Artık palyaço objemize oyunda oluştuğu zaman oluşma olayındaki (Create Event) Move Fixed aksiyonu sayesinde rasgele bir yönde 4 hızıyla gitmesini belirttik. Yani olay ve aksiyon oluşturup aksiyon özellikleri penceresinden aksiyona özelliklerini bildirdik. Artık palyaço objesi için obje özellikleri formu Figür 8 ‘deki gibi gözükecektir.

Figür 8. Oluşum olayından sonra palyaço objesi için obje özellikleri ekranı.

Şimdi tanımlayacağımız olay ise duvarla temasa geçme olayı olacak. Bu olay gerçekleşince palyaçoyu duvara karşı sektireceğiz ve bir sekme ses efekti oynatacağız.

Duvarla temas olayını tanımlıyoruz:

1. Add Event butonuna basın. Olay seçme ekranında Collision (Temas)  butonuna basın ve çıkacak olan menüden obj_wall objesini seçin. Artık temas olayı olay listemize eklendi.

2. Sağdaki aksiyon listesinden Bounce(Sekme) aksiyonunu () sürükleyerek sağdaki boş aksiyon listesine bırakın. Şimdi aksiyon ekranı Figür 9’daki gibi durmalıdır. Değiştirebileceğimiz 2 tane özellik var, ancak normal değerleri iyi. Biz sadece sert bir objeye karşı sekmek istiyoruz. (Duvar objemizin Solid (Sert, sabit) bir obje olduğunu unutmayın.) OK butonu ile aksiyon ekranını kapatın.

Figür 9. Sekme aksiyonunun ekranı.

3. En sağ taraftan main1 sekmesine tıklayın. Buradan Play Sound (Sesi Çal) aksiyonunu () sürükleyerek Bounce aksiyonumuzun hemen altına bırakın. Gelecek aksiyon ekranından “No sound” yazısının sağındaki butonla menüyü açın ve listeden snd_bounce sesini seçin. Loop(Kendini tekrar etme) kısmını sesin her sekmede sadece bir kere çalmasını istediğimiz için false(yanlış) olarak bırakın. Ekran şimdi Figür 10 ‘daki gibi durmalıdır. OK’a basarak ekranı kapatın.

Figür 10. Sekme gerçekleşince sekme sesini oynatmak.

Bu duvar objesiyle temas olayındaki yapılması gerekenleri bitiriyor. Obje özellikleri ekranı artık Figür 11 ‘deki gibi durmalıdır.

Figür 11. Duvar objesiyle temas olayı.

Artık duvarla temasa geçince belirtilen sıraya göre gerçekleşecek iki aksiyonumuz var. Eğer bir şekilde hata yaptıysanız hatalı aksiyonu sağ tıklayıp Delete (Sil) ile silebilir veya Delete tuşuyla da silebilirsiniz. Ayrıca sağ tıklayıp Edit Values (Değerleri Düzenle) seçeneğiyle girilen değerleri değiştirebilirsiniz, ama aynı işi aksiyona çift tıklamak da görür ve çift tıklamak çok daha pratiktir. Ayrıca aksiyonları yukarı veya aşağı sürükleyerek gerçekleşme sırasını değiştirebilirsiniz.

Son olarak da oyuncu palyaçoya sol tıklayınca ne olacağını belirtmeliyiz. Bu olay gerçekleşince dört aksiyonu devreye sokacağız: Önce skora 10 ekleyeceğiz. Bu Game Maker otomatik olarak skor tutup skoru gösterebildiği için kolaydır. Sonra tıklama ses efektini oynatacağız. Sonra palyaçoyu rasgele bir konuma ışınlayacağız. Son olarak da palyaçoya biraz daha hızlandırılmış şekilde yeni bir rasgele yön tayin edeceğiz. Son iki aksiyon oyunun zorluğunu gittikçe artırmak içindir.

Fare tıklaması olayını ayarlamak:

1. Add Event butonuna basın. Mouse butonuna basın ve gelecek olan menüden de Left Pressed (Sol Tıklama) olayını seçin. Bu olay fare palyaçonun üzerindeyken sol tıklanırsa gerçekleşir.

2. En sağdan score sekmesini seçin ve  Set Score (Skoru Ayarla)  aksiyonunu () sürükleyerek boş aksiyon listesine sürükleyin. Değer olarak 10 girin. Ayrıca Relative seçeneğini de seçili hâle getirin. Relative seçeneği seçili iken girilen değer önceki değerin üstüne eklenir. Eğer Relative’yi seçmeseydik skor öncekinin üstüne eklenmez, tekrar 10 olurdu.

3. Main1 aksiyon sekmesinden Play Sound aksiyonu () ekleyin. Ses olarak snd_click’i seçin ve Loop (Tekrar) kıamını false yapın.

4. Yine en sağdaki move sekmesinden Jump to Random(Rasgele Yere Işınlan) aksiyonunu () sürükleyin. Bu aksiyon kopyayı temasa geçmeyeceği boş bir yere ışınlayacak. Parametreler değiştirilmeden kalabilir. Figür 12 ‘e bakın.

Figür 12. Rasgele bir konuma ışınlanmak.

5. Son olarak Move Fixed aksiyonu () ekleyin. Tekrar ortadaki nokta hariç sekiz oku da işaretleyin.

Speed (Hız) değerini 0.5 girin ve Relative kutucuğunu işaretleyerek hızın girilen değer kadar önceki değere eklenmesini sağlayın.

Artık palyaço objemiz hazır. Üç önemli olay için aksiyonlarımızı ekledik. Artık ekran Figür 13 ‘deki gibi durmalıdır. OK’a basarak ekranı kapatın.

Figür 13. Tüm aksiyonlarıyla beraber palyaço objesi.

Odayı Oluşturmak

Oyun objelerimizde hazır olduğuna göre bir tek şey kaldı. Oyunun geçeceği odayı oluşturmak. Çoğu oyunda etkili odalar (Genelde level(bölüm) olarak da anılırlar.) zaman meselesidir, çünkü burada dengeyi ve işleyişi bulmak zaman alabilir. Ancak biz Palyaçoyu Yakala oyunumuz için çok basir bir oda oluşturacağız, etrafı duvarlarla çevrili ve içinde bir palyaço objesi olan bir oda.

Odayı oluşturmak:

1. Resources menüsünden Create Room’u (Oda Oluştur) seçin. Room Properties(Oda Özellikleri) ekranı Figür 14’deki gibi belirecektir.

Figür 14. Oda Özellikleri ekranı.

2. Solda 3 sekmeli bir ekran göreceksiniz. Settings(Özellikler) isimli sekmeyi seçin. Name kısmına rm_main yazarak odaya bu ismi verin. Caption(Başlık) kısmına da ‘Palyaçoyu Yakala’ yazın.

3. Objects(Objeler) sekmesini seçin. Sağdaki tüm odayı görebileceğiniz kadar oda ekranını büyütün. Tepede Snap X ve Snap Y değerlerini 32 olarak değiştirin. Spritelerimizin değerleri de 32’ye 32 olduğu için bu değiştirdiğimiz ızgara büyüklüğü değerleri objelerimizi koyarken bize büyük kolaylık sağlayacak.

4. Solda palyaço objesinin resmi gözükecektir. Bu şu an seçili obje. Objenin bir kopyasını odada (Şu an gri olan alan.) herhangi bir yere(Tercihen merkezî bir yere) tıklayarak oluşturun.

5. “obj_clown” yazısının sağındaki menü butonuna basın ve obj_wall yani duvar objesini seçin. Aynı işlemi objenin resminin gözüktüğü alana sol tıklayınca gelen menüden de yapabilirsiniz. Odada farklı ızgaralara tıklayarak buralara duvar objesinin kopyalarını bırakın. Bunu daha hızlı yapmak için <Shift> tuşu basılı iken fareyi sol tuş basılı bir şekilde tutarak kopyaları yerleştirmek istediğiniz ızgaralarda gezindirin. Bir kopyayı üstüne sağ tıklayarak silebilirsiniz.

6. Sol üstteki Yeşil  V şeklindeki işarete basarak ekranı kapatın.

Kaydetme ve Test Etme

Belki fark edememiş olabilirsiniz ama oyunumuz artık tamamlandı :D. Spriteler ve sesler eklendi, oyun objeleri dizayn edildi ve oyunun geçtiği ilk ve tek odamız oluşturuldu. Şimdi sıra oyunu kaydedip test etmede!

Oyunları kaydetmek normal Windows programlarındaki kaydetmeye benzer. File (Dosya) menüsünden Save’yi (Kaydet) seçin, ardından bir konum ve isim belirleyin. Game Maker “.gmk” uzantılı dosyalar kaydeder. Bu tip oyun dosyalarını direk oynayamayacağınızı aklınızda bulundurun. Bu dosyaları sadece Game Maker’a yükleyebilirsiniz, birazdan nasıl “.exe” formatlı kendi-çalışabilen oyun dosyaları oluşturacağınızı göreceksiniz.

Figür 15. Oyunu oynamak.

Şimdi oyunu test etmeliyiz. Test aşaması çok önemlidir. Tek başınıza test edebileceğiniz gibi başkalarından da oyununuzu test etmesini rica edebilirsiniz. Test etmek (Ya da genel olarak oyunu çalıştırmak) basittir; Run (Çalıştır) menüsünden Run Normally (Normal Çalıştır) seçeneğini seçmek yeterlidir. Dizayn (GM) ekranı kaybolur ve oyun yüklenir. Eğer hata yapmadıysanız oda ekrana gelir ve palyaço oynamaya başlar, tıpkı Figür 15‘deki gibi. Palyaçoya tıklayınca istenen davranışları sergilediğini kontrol edin. Doğru ses efektini duymalı ve palyaçonun hızının az biraz arttığını görmelisiniz. Oyunu bitirmek için <ESC> tuşuna basın ya da ekranın en sağ üstündeki kapatma tuşuna basın. Dizayn (GM) ekranı tekrar belirecektir.

Şimdi oyunu daha da güzelleştirme zamanıdır. Kendinize sormalısınız: Hızlar doğru mu? Hızdaki artış iyi mi? Oda boyutu iyi mi? Spriteler ve sesler güzel mi? Eğer mutlu değilseniz bu değerleri değiştirip tekrar oyunu test edin. Ayrıca başkasına da oyununuzu test ettirmeyi unutmayın. Çünkü tasarımcı olarak oyun sizin beklediğinizden daha basit bir şey olabilir.

Eğer oyununuzla memnunsanız “.exe” formatlı kendi kendine çalışabilen EXE’sini çıkarın. Bu, oyunun Game Maker olmadan da çalışabilen versiyonudur. Çok basittir. File (Dosya) menüsünden Create Executable’ye (EXE oluştur) tıklayın. Bir konum ve isim belirleyin. Ve tamamdır! Artık GM’yi kapatıp “.exe” formatlı oyun dosyanızı açabilirsiniz. Ayrıca EXE dosyanızı arkadaşlarınıza vererek onların da oynamalarını sağlayabilirsiniz. Ya da oyununuzu YoYo Games web sitesinde yayınlayabilirsiniz. (( http://www.yoyogames.com )) Tabiî ki bu Palyaçoyu Yakala oyununu orada yayınlamanızı tavsiye etmiyoruz. Kendi orijinal oyunlarınızı tasarlayıp yayınlamanız en iyisidir. Bunun için oyundan birkaç resime ihtiyacınız var ki oyun sırasında F9 tuşuna basarak kolayca bir ekran görüntüsü alabilirsiniz.

Son Rötuşlar

İlk oyunumuz hazır ama birkaç rötuş daha olsa daha güzel olabilir. Öncelikle bir arkaplan müziği ekleyeceğiz. Bu çok kolay.

Arkaplan müziği oluşturmak:

1. Resources menüsünden Create Sound’u seçin. Ses özellikleri ekranından Name kısmına snd_music ismini girin.

2. Load Sound’a basın ve Kaynak Dosyaları klasöründen music.mid ses dosyasını seçin. Bu bir midi dosyasıdır. Midi dosyaları genelde arkaplan müzikleri için kullanılır ki boyutları da onun için küçüktür ve az hafıza kullanırlar.

3. OK’a basarak ekranı kapatın.

4. Soldaki kaynak gezgininden palyaço objesini üzerine çift tıklayarak açın.

5. Create eventini seçin. Main1 aksiyon sekmesinden Play Sound (Ses Oynat) aksiyonu ekleyin. Ses olarak snd_music’i seçin ve Loop’u (Kendini tekrar etme) true (doğru) olarak değiştirin. Çünkü arkaplan müziğinin sürekli çalmasını, bitince tekrar çalmasını istiyoruz.

İkinci olarak oyunumuza bir arkaplan ekleyeceğiz. Odamızdaki gri arkaplan biraz sıkıcı çünkü. Bunun için yeni bir kaynak dosyası türü kullanacağız, background (arkaplan) kaynak dosyası.

Arkaplan resmi ekliyoruz:

1. Resources menüsünden Create Background’u (Arkaplan Oluştur) seçin. Background Properties (Arkaplan Özellikleri) penceresi gelecek. Name kısmına basıp arkaplana back_main ismini verin.

2. Load Background (Arkaplan Yükle) butonuna basın ve Kaynak Dosyaları klasöründen “background.png” dosyasını seçin. Şimdi ekran Figür 16 ‘daki gibi duracaktır.

Figür 16. Arkaplan Özellikleri penceresi.

3. OK’a basarak ekranı kapatın.

4. Soldaki kaynak gezgininden yapmış olduğumuz odaya çift tıklayarak odayı açın.

5. Background (Arkaplanlar) sekmesini seçin. “Draw background color”(Arkaplan rengi çiz.) özelliğini kaldırın. Bu özellik odada arkaplan olmayan yerleri seçilen renge boyar. Ama bizim arkaplanımız var.

6. Ortadaki küçük menü ikonuna basıp menüden back_main arkaplanımızı seçin. Şimdi göreceğiniz gibi odamızda güzel bir arkaplan belirecek. Tıpkı Figür 17 ‘deki gibi. Şu iki özelliğin nasıl çalıştığını iyice benimseyin : Tile Hor. ve Tile Vert. Bunlar seçili arkaplanın odayı yatayda ve dikeyde odanın sonuna kadar kaplamasını(Kendini tekrar etmesini.) sağlar. Eğer seçili olmazsa odada sadece girilen koordinatlarda arkaplan durur, bu da şık durmaz. Bunun için de arkaplan kendini tekrar edebilecek düzeyde olmalıdır, yani arkaplanın kendini tekrar ettiği oyuncu tarafından anlaşılmamalıdır. Eğer arkaplanın sağı solu çok farklı gözükse arkaplan kendini tekrar edince oyuncu arkaplanda bir terslik olduğunu anlar.

Figür 17. Arkaplanıyla beraber odamızın en son hali.

Eğer oyunu oynarsanız henüz çok kolay olduğunu fark edeceksiniz. Çünkü palyaçonun hangi yönde gittiğini biliyoruz, bu sayede hiç zorlanmadan üzerine tıklayabiliyoruz. Bunu zorlaştırmak için şimdi palyaçoya belli bir zaman dilimi geçince yönünü değiştirmesini söyleyeceğiz. Bunun için de alarm clock (Alarm saati) kullanacağız. Her kopya birden çok alarm saatine sahip olabilir. Bu saatler girilen süreyi geri sararlar ve girilen süre bittiğinde (0’a vurduğunda) bir Alarm eventi (Alarm olayı) gerçekleşir. Alarm olayı gerçekleşince de o olaya alarm bitince neler olacağını aksiyonlar yardımıyla söyleriz.

Biz de şimdi palyaçonun oluşum olayı’na bir alarm saati koyacağız. Alarm saati bitince gerçekleşecek alarm olayına da palyaçonun yönünü değiştirmesini söyleyen bir aksiyon ve alarm saatinin tekrar çalışması için de tekrar aynı alarm saatini koyacağız. Bir alarmın bitince tekrar tekrar çalışması için alarm olayının içine aynı alarmın aksiyonu konur ve böylece alarm kendini sürekli tekrar eder. Umarım anlaşılmıştır.

Alarm saatini ekliyoruz:

1. Palyaço objesini soldaki kaynak gezgininden çift tıklayarak açın.

2. Create eventine tıklayın. En sağda main2 sekmesinden Set Alarm (Alarm Ayarla) aksiyonunu () sürükleyerek aksiyon listesine bırakın. Number of Steps (Adım Sayısı) kısmına 50 girin. Adım sayısı garip gelebilir hemen açıyorum. Bir saniye 30 adıma eşittir. Yani step (Adım) sayısını 60 yapsaydık alarmımız 2 saniye sonra tamamlanacaktı. Şimdi alarm number (Alarm numarası) olarak da alarm0’ı seçin. Figür 18’e bakabilirsiniz.

Figür 18. Alarm saatini 50 adıma ayarlamak.

3. Add Event’e basın. Alarm butonuna basıp açılan menüden Alarm 0’ı seçin.

4. Move sekmesinden Move Fixed aksiyonunu () olayımıza (Event) ekleyin. Tüm sekiz oku da seçin. Speed (Hız) olarak 0 girin ve Relative kutucuğunu işaretleyin. Bu sayede palyaçonun hızı öncekine eklenecek (Yani 0 olduğu için hızı değişmeyecek bizde.) ve yönü de önceki yönün üzerine eklenecek.

5. Alarm saatini tekrar çalıştırmak için Set Alarm aksiyonunu () alarm olayının içine ekleyin. Adım olarak yine 50 değerini girin. Ancak isterseniz bu değeri değiştirebilirsiniz de. Ancak bir saniye 30 adım olduğu için 50 adım 1,5 saniyeden biraz fazla ve fena değildir. (Bunlardan farklı olarak oyun hızını odadan Settings sekmesine tıklayarak değiştirebilirsiniz.)

Son olarak da, her oyun oyuncuya hedefin ne olduğunu ve oyuncunun nasıl oynayacağını söyler. Yani biraz yardım fena olmaz. Game Maker bu işlem için standart bir mekanizmaya sahiptir.

Yardım metni eklemek:

1. Resources menüsünden Change Game Information’ı (Oyun Bilgisini Değiştir) seçin. Basit bir yazı editörü açılacak.

2. Oyuncu için yararlı bir şeyler girin, oyunun hedefi ve oyuncunun nasıl oynayacağı gibi. Birbirinden farklı fontlar, boyutlar ve renkler de kullanabilirsiniz. Örneğin Figür 19’a bakabilirsiniz.

Figür 19. Oyuncu için yardım eklemek.

Oyun boyunca oyuncu F1’e basınca bu metin otomatik olarak gözükecektir. (Başka çoğu program gibi.)

İlk Oyununuz Hazır!

Tebrikler. İlk oyununuzu bitirdiniz. Ayrıca ilk oyun genelde en zor olanıdır. Game Maker’ın en önemli bileşenlerini öğrendiniz. Spriteleri resimler, sesler, oyun objeleri, olaylar ve aksiyonlar, son olarak da odalar. Yeni bir oyuna başlamadan önce belki Palyaçoyu Yakala üzerinde oynama yapmak istersiniz. İşte size birkaç fikir:

Etrafta dolanan iki palyaço olsun. (Bu zaten bebek oyuncağı, çünkü bir odada bir objenin birden çok kopyası olabilir. Sadece odaya bir tane daha palyaço kopyası koymak yeterli.)

Karanlık palyaço olsun oyunda. Tıklarsanız puan kaybedersiniz, bu yüzden yanlışlıkla tıklamamanız lazım.

Ama siz daha yaratıcı fikirlerinizi de uygulayabilirsiniz.

Bu eğitimde GM’nin önemli bileşenlerini çok basit olarak işledik. Sadece birkaç olay ve aksiyon kullandık. Daha keşfedilmeyi bekleyen çokları var. Bunları kendi başınıza keşfe çıkabilir veya sitemizden daha çok eğitim indirebilirsiniz:

http://www.yoyogames.com

https://yasirkula.wordpress.com (Bu site benim sitem olup buradan da eğitimler bulabilir, hatta YoYo Games’deki eğitimlerin tarafımca hazırlanmakta olan Türkçe’lerini bulabilirsiniz.)

Okuyarak Geliştirmek

Game Maker kullanmayı okuyarak geliştirmek istiyorsanız size kitabımızı almanızı tavsiye ediyoruz:

Jacob Habgood and Mark Overmars, The Game Maker’s Apprentice: Game Development for

Beginners, Apress, 2006, ISBN 1-59059-615-3.

Orijinal isminin verildiği bu kitap adım adım GM’yi öğretir ve bu esnada 9 güzel ve oynaması zevkli oyun oluşturmanızı sağlar. (Tabii ki bu kitap Türkiye’de yok ve Türkiye’de oyun yapımcıları bu kitapsız kendini geliştiriyorlar ve harika projelere imza atıyorlar. Yani kendinizi bu kitapsız yapamayacağınıza bağlamayın. Bu not kendi tarafımca eklenmiştir.)

Yorumlar kapalı.