pyEmpires v0.1 bitti!

Yapımında pygame ve python kullandığım, aynı zamanda bitirme tez konumdur, oyunun V0.1’e gelmiş olmasını gururla duyuruyorum :). En kısa zamanda SVN sunucusuna atıp paylaşıma açmayı planlıyorum. Bu arada pyEmpires ismini şu dakikada uydurduğumu söylemem gerekir daha hiç isim düşünme çabasına girmemiştim, başlık atarken yazdım.

Oyundan biraz görüntü koyalım:

secim

Kurulum

Evet dosyayı anca rapidshare’e atabildim. Kaynak kodlarını şimdilik dağıtmıyorum, uygun bi lisans seçip dağıtabilirim. Neyse dosya şudur:
http://rapidshare.com/files/250004248/pyEmpires-v0.1.zip

Kaynak kodları: http://svn.assembla.com/svn/pars_soft/pyEmpires

Şimdi programı çalıştırmadan önce gerekli neler var onlara bakalım:

Python 2.6 sürümü: Windows kurulumu

Pygame: Pyton 2.6 sürümü için Windows kurulumu

Bunlar kuruluysa zip’i açın ve src klasöründeki Main.pyc dosyasına çift tıklayın. Eğer açmak için program istiyorsa python’u yüklediğiniz klasörden python.exe’yi seçebilirsiniz.

Linux kullanıcuları python ve pygame kurulumunu zaten biliyorlardır, çalıştırmak içinse:

cd oyunun_bulundugu_dizin/src

python Main.pyc

demek yeterli!

Unutmadan resources/music klasörüne de mp3 veya ogg’lerini atarak da oyunda müzik keyfini yaşayabileceğinizi belirteyim 🙂 music klasöründeki menu ve game klasörlerine menüde ve oyun içinde olmak üzere müzik atabilirsiniz. İsterseniz link olarak koyun. Müzikler karışık olarak çalacaktır.

Oyunu deneyip bana geribildirim yaparsanız çok iyi olur. Şurası olmamış, program şunu yapınca gümlüyo, şurasını çok beğendim, şöyle olsaydı daha iyi olurdu gibi. Yakında oyun yapımı hakkında bilgiler de vericem ve projeyi geliştirmeye devam edicem.

Oyun Nasıl Oynanıyor?

Genel click & go oyunlarında, diablo2, aoe2 gibi, karakterleri sol fare tuşu ile seçip, sağ tuşla yönlendiririz. Ben de fare’yi o şekilde ayarladım. Sol tuş basılı tutarak çoklu karakter seçimi yapabilirsiniz. (şekil 1A)

sağ tuşla götürmek istediğiniz yere götürürsünüz. Duvarlar hariç! (Evet o turuncu şeyler duvar)

ESC tuşu menüyü açar ve kapatır. Çıkmak için menüyü kullanın.

Diğer tuşlara sonra değinicem.

Oyunun Amacı

Siz mavi tasmalı köpekleri yönetiyorsunuz. Oyunda varsayılan olarak yeşil tasmalı bir düşman köpeği var. (Mavi dışındaki tüm renkler kötüdür)

En başta köpekleriniz agresif modda olduklarından yakındaki düşmana saldırabilirler, şaşırmayın.

Eğer kendi biriminiz saldırı durumda olup da düşmanın yanındaysa düşman üzerindeki yeşil bar azalacaktır. Bu durum düşman ölüp kaybolana kadar geçerlidir. (kendi birimlerinizin de yeşil yaşam çubuğu bulunmakta)

Arkaplanda neler oluyor?

Uzaktan basit bir oyun gibi görülebilir bunun nedeni herhangi bir senaryo hazırlamam büyük ihtimal ama kullandığım bazı yöntemleri buraya yazmak istiyorum.

İlki yol bulma. Bunu A* algoritmasıyla kullandım. Çok güzel değil şu an ama mükemmel hale getirmek mümkün.

İkincisi de sonlu durum makineleri.

A* ile kendi birimlerinizi bir yerden bir yere gönderirken en kısa yolu kullanılır. Hatta engelli bir yolda da engelleri en kısa şekilde aşar. Bilgisayar oyunlarında sıkça kullanılan bir algoritmadır ve sezgiye dayanır. Daha sonra yol bulma ile ilgili yazılar ekleyebilirim. Çünkü oyunda geliştirmem gereken kısımlar çok.

Sonlu durum makineleri de yapay zeka yazımında bir teknik olarak kullanılıyor. Yapay zeka kısmı o yüzden benim en kısa kodlama yaptığım yerlerden biri. Peki yapay zeka olarak ne işliyor?

Öncelikle SDM’ler sayesinde birimler belli bir durumda olup, belli koşullarda durumlarını değiştiriyorlar. Bu durumlar saldırı, kaçma, kovalama gibi durumlar olabilir. Koşullar ise düşman yakında mı, düşman benden çok mu kuvvetli gibi. Bunları tablolar halinde saklayıp, farklı tablolarla farklı davranışlar elde ettim.

Şimdi şu tuşları kendi birimlerinizi seçtikten sonra kullanın:
A tuşu – Agresif mod
S tuşu – Defansif mod
D tuşu – Hareketsiz mod
E tuşu – Ataksız mod

Bu  tuşlarla seçili birimlerin SDM’leri değişiyor. Bunları da açarsak:

Agresif mod

Birimin görüş alanı içindeki düşmana saldıracaktır. O yüzden sık sık takiplere başlar.

Defansif mod

Bulunduğu noktayı koruyan bir moddur. Eğer yakına bir düşman gelirse ona saldırır ancak koruması gerek noktadan çok uzaklaşırsa takibi burakıp bölgesine geri döner.

Hareketsiz modda ise sadece ona saldıran birime saldırır. Veya çok yakınındaki birime. Ataksız modunda ise hiçbir şekilde saldırı yapamaz.

Şimdilik yeterli yazdım sanırım. Daha sonra başka yazılarla devam edicem.

Bilinen hatalar:
– Oyun kaydet ve oyun yükle çalışmıyor
– Birimler iç içe geçiyor bu yüzden 2 birim sanki 1 birim gibi görünebiliyor. Tek bir birimi seçmek çok zor olabiliyor. Bu durumlarda 1,2,3 gibi tuşlara basıp sadece o sıradaki birimleri seçebilirsiniz.

Reklamlar

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: