Monday, January 30, 2012

Road to Droko's Castle - [Proje]

Herkese merhaba! Hazır bol vaktim varken, bahsetmek istediğim diğer bir projede üniversite 3. sınıfta "SE 320" kodlu, "Bilgisayar Oyunlarına Giriş" dersinde JAVA programlama dilini ve Slick2D oyun kütüphanesini kullanarak yazdığım 2 boyutlu platform oyunu. Kısa ve klasik hikayemiz şöyle; oyunun ana kahramanı Henry ve onun kız arkadaşı vardır. Fakat günlerden bir gün Henry'nin kız arkadaşı Droko adı verilen kötü kalpli bir canavar tarafından kaçırılır ve bunun doğrultusunda oyunumuz başlar. Oyunda 10+1(+1 bölüm sonu canavarı ile karşılaşma) olmak üzere toplam 11 level var. Oyundaki karakterlerin resimleri(sprite), Little Fighter II ve Mario tarzı oyunlardan alınmış olup üzerinde ufak birkaç değişiklik yapıldıktan sonra oyuna entegre edilmiştir. Karakterimiz koşabiliyor(yön tuşları +X tuşuna aynı anda basılmalı), zıplayabiliyor(Yukarı ok tuşuna basılmalı) ve ateş edebiliyor(Space tuşuna basılmalı). Diğer yaptığım oyunlara nazaran daha profesyonel ve görsellik açısından daha umut verici olsa da henüz işin başında olduğumu bir kez daha belirtmek isterim. Tekrar oyunun genel dinamiklerine dönecek olursak, ateş etme hakkımız sınırlı, bu yüzden oyunda ateş ve sağlık bonusu bulunmaktadır. Aynı zamanda oyunda 2 tip farklı düşman var. Bu iki düşmanda Mario'dan tanıyacağınız karakterler.Oyunumuz kısa hatları ile bu kadar. Şimdi size resimlerle daha fazla detay vermeye çalışacağım.

Thursday, January 26, 2012

Hacop Fighter - [Proje]

Herkese merhaba, hazır vaktim varken bahsetmek istediğim başka bir projede üniversite 2. sınıfta "CS 340" kodlu, "Yazılım Geliştirmede İlerlemeler" dersinde JAVA programlama dilini kullanarak yazdığım 2 boyutlu uzay simulasyonu. Oyun hem iki kişilik hem de tek kişilik oynanabilir. Eğer tek kişi oynuyorsanız, oyundaki amaç düşman gemilerinin tamamını yok edip, bölüm sonu canavarı ile karşılaşmak. Oyuncu sahip olduğu uzay gemisi ile sağ taraftan üzerine gelen düşman gemilerini yok edip bölüm sonu canavarına ulaşmaya çalışır. Ancak oyunu iki kişi oynamak isterseniz, ilk oyuncu uzay gemisini yönlendirirken, ikinci oyuncu mouse ile haritanın izin verilen kısımlarına tıklayarak düşman bırakıp ilk oyuncuyu yok etmeye çalışıyor. Haksız rekabet olmaması için ikinci oyuncunun mouse ile her tıklamasında random fonksiyon çağrılıyor. Karşı tarafa düşman bırakayım derken bonusta bırakabilirsiniz. Oyunda düşman gemilerinden ayrı olarak sağlık(health) bonusuda bulunmaktadır. Bu bonusu aldığınız vakit geminizin dayanaklılığı artmaktadır. Oyundaki tüm düşman gemilerini yok ettikten sonra bölüm sonu canavarı ile karşılaşıyorsunuz. Bu yaratık diğerlerine göre daha büyük ve daha güçlü olmakla birlikte, ilk yapay zeka denemem olması bakımından benim için ayrı bir yere sahiptir. Şimdi de oyunumu resimler eşliğinde sizlere tanıtmak istiyorum.

RISK - [Proje]

Çok uzun zamandır düşündüğüm, fakat zaman sıkıntısı nedeniyle yapamadığım şeylerden biriside, üniversite yılları boyunca yapmış olduğum projeleri blogumda yayınlamaktı. Bunlardan ilki üniversite 1.sınıfta "CS 116" kodlu, "Programlamaya Giriş II" dersinde, C programlama dilini kullanarak bir arkadaşımla yaptığım RISK adlı konsol oyunu. Görsel anlamda pek iç acıcı olmasada programlamaya yeni adım atmış birisi için hatırı sayılır derecede güzel bir oyun yapmaya çalıştım. Bu yazımda oyunla ilgili ufak bilgiler verip, yazının sonunda kaynak kodunun linkinide vereceğim. Öncelikle RISK, 2 kişilik bir savaş simulasyonu. Oyun "Soğuk Savaş" konseptini baz alarak ilerliyor. Konseptin "Soğuk Savaş" olmasının nedeni oyunu geliştirmeye başladığım ilk zamanlarda, deneme amaçlı oynadığım oyunlarda rakip oyuncuların hiçbirinin ilk hamleyi yapmaması, oyundaki asker ve tank gücünün bloklaşmasıyla ilgili. Her oyuncunun oyun başında 5 asker ve 5 tank birliği bulunuyor. Oyun sıra tabanlı, bir oyuncu hamlesini yaptıktan sonra hamle sırası diğer oyuncuya geçiyor. Askerlerin 25 atak, 20 savunma gücü varken, tankların 65 atak, 60 savunma gücü bulunuyor. Oyundaki harita 2 boyutlu bir matris. Hamle sırasına sahip kullanıcı; Sahip olduğu birliği hareket ettirebilir(Askeri birliklerin hareketi 1 birim iken tank birliklerinin hareket kabiliyeti 2 birim) ya da sırasını rakibine devredebilir. Hamle sırasına sahip kullanıcı, oyuncu açısından rahat bir oynanabilirlik sunması için ordusunun o anki durumunuda görüntüleyebiliyor. Unutmadan son bir şey daha var onuda söyleyeyim, oyunda 2 tanede şifre var. Bu şifrelerden ilki(HUSEYIN) birliklerinizin atak ve savunma gücünü 100 yaparken, ikinci şifre(AKCAN) birliğinizin harita üzerinde istediğiniz herhangi bir noktaya ilerlemesine imkan sağlıyor. Şifredeki isim ve soyisim dersi almış olduğumuz öğretim görevlisine aittir. Bu kadar detaydan sonra şimdi size birkaç resim eşliğinde oyunu göstermek istiyorum.