Archive for Ocak 2009

Gerçek Zamanlı Strateji Oyunu

Bu blog’u açmamda ki asıl neden olan bu projede sonunda biraz yol kat edebildim. Bu sayede yazacak iki üç şey çıktı.

Madem blog yazıyoruz, yaptığım şeyleri de günlük gibi yazmakta yarar var aslında. Böylece sadece yaptığım güzel şeyleri değil aynı zamanda hatalarımı da paylaşacağım.

Bu kadar girizgah yeter sanırım projeden bahsedelim. Proje aslında bitirme tezi olacak. 1 dönem zamanım var. Çalışan güzel bir strateji oyunu yapmam lazım. Çok zor olduğunu biliyorum ama tez konuları da zaten zor oluyor genelde. Yıllardır oyunlarla ilgili bir şeyler yapmak istemiştim nihayet şimdi yapabileceğim.

Şimdi oyunu cross platform olarak yapmayı düşünüyorum ve açık kaynak olarak. O yüzden kullanacağım teknolojilerde şunlar olacak:

Python Dili
Pygame Modülü

Nedenlerine gelince: Basit, öğrenmesi kolay, özgür yazılım, yüksek seviyeli, nesne yönelimli, yorumlayıcı (derlenmiyor) ve
Geniş kütüphane desteği: Dokümantasyon, threadler, veri tabanları, web tarayıcıları, CGI, FTP, email, XML, HTML, WAV dosyaları, şifreleme, GUI (çekirdek özellikler)

Biraz da pyGame’den bahsedelim:
Pygame bir SDL sarmalayıcısıdır. Böylece SDL destekli tük platformlarda kodumuz değiştirmeye gerek kalmadan çalışır.

SDL (Simple Directmedia Library), 2B grafik ve multimedya kütüphanesidir. Yüzlerce açık kaynak ve ticari oyunlarda kullanılmıştır.

Pygame’in modülleri de şunlardan oluşuyor: Cdrom, cursors, display, draw, event, font, image, joystick, key, mouse, movie, sndarray, surfarray, time, transform

Age of empires 2

Age of empires 2

Şimdilik bu kadar teknik bilgi yeterli. Biraz da oyundan bahsedeyim. Başlıktaki gibi oyun gerçek zamanlı strateji oyunu. Örnek olarak: Age of empires, warcraft gibi. Daha çok age of empires tarzında birşey yapmak istiyorum. Yani kılıçlı, oklu ordumuz olacak, gelişmek için binalar yapacağız ve kaynaklar için de etraftaki maden, orman vb. kullanılacak.

Şimdiye kadar hep oyunun grafikleriyle uğraştım. Asıl önemli kısım aslında yapay zeka kısmı olacak. Oraya daha gelemedim tabi tembelliğim yüzünden 🙂