öğrenen tarayıcı tabanlı strateji oyunu

advertisement
II
ÖĞRENEN TARAYICI TABANLI STRATEJİ
OYUNU
( ÖZET )
Bir uygulamanın geliştirilmesi sırasında birçok yöntem kullanılabilir ve birçok çözüm
üretilebilir. Önemli olan ise bu çözümler arasından en az maliyetli ve en kaliteli olanı
hayata geçirebilmektir. Amaç, kaliteli bir ürün ortaya çıkarmak olduğundan nesneye dayalı
tasarım yönteminin üzerinde durmak gerekir. Bu projenin amacı; bir tarayıcı tabanlı gerçek
zamanlı strateji oyununun modellemesi ve kaliteli bir ürün ortaya çıkarılmasıdır. Bu
amaçla projenin modellenmesi sırasında nesneye dayalı modelleme teknikleri kullanılmış
ve yapı katmanlı mimari ile desteklenerek bağımlılıklar azaltılmaya çalışılmıştır. Ayrıca bu
oyunda yapay zeka ile kullanılarak oyun ile oyuncu arasında etkileşim ve gerçekçilik
arttırılmaya çalışılmıştır.
Tarayıcı tabanlı iki boyutlu etkileşimli bir oyun olarak tasarlanan projenin içeriğinde
oyuncunun seçtiği bir gezegende bir yerleşkeye sahip olması, bu yerleşke üzerindeki
binaların seviyelerini arttırabilmesi, asker üretebilmesi, başka yerleşkelere saldırabilmesi,
birden çok yerleşkeye sahip olabilmesi sağlanmıştır. Ayrıca yapay zeka, gezegenlerdeki
sahipsiz yerleşkelerin, komşu yerleşkelerin gelişme şekli ile orantılı bir şekilde
geliştirilmesini sağlar. Böylece oyun sırasında sahipsiz yerleşkeler de en az sahipli
yerleşkeler kadar gelişmiş olabilecektir. Bu da yapay zeka kullanılmayan oyunlardan farklı
olarak sahipsiz yerleşkelerin ele geçirilmesini zorlaştırmakla birlikte oyuncunun gerçek bir
oyuncu ile mi karşı karşıya olduğu yoksa bilgisayarla mı karşı karşıya olduğunun
anlaşılmaması da kısmen sağlanmış olur.
Projenin tasarımına bakılırsa; tarayıcı üzerinden kullanıcıların oyun oynayabildiği bir .NET
uygulaması projenin ana bileşenidir. Bu uygulamanın sahip olduğu verileri ve uygulama
çalışma sırasında oluşan yeni verileri tutmak, gerektiğinde ulaşmak için kullanılan bir
veritabanı mevcuttur. Veritabanı sunucu yazılımı olarak MsSql Server tercih edilmiştir.
Tasarımın ikinci parçası olarak bir konsol uygulaması geliştirilmiştir. Bu konsol
uygulaması sahipsiz yerleşkeleri yöneten yapay zeka algoritmasını içerir. Yapay zeka
uygulaması web sitesinin sunucusunda saat başı çalışacak şekilde zamanlanmış görev
olarak ayarlanmalıdır. Basit ve kolay anlaşılır bir tarayıcı tabanlı oyun hazırlanarak
oyuncunun oyunu oynama isteğinde devamlılığın sağlanması hedeflenmiştir.
Nesneye dayalı modelleme teknikleri ile tasarım yapılırken sistemin sahip olduğu işlev
değil de sistemi oluşturan nesneler (gezegen, yerleşke, bina, asker vs.) esas alınır ve
programcılar kendi veri tiplerini oluşturabilirler. Nesneye dayalı modeller geliştirildikten
sonra farklı şekillerde defalarca kullanmak mümkündür. Güncellenmesi ve bakımının
kolay olması, takım çalışmaları ile daha uyumlu olması nesneye dayalı programlama
tekniğini uygulamalarda cazip kılmaktadır. Bu projenin de kolay bir şekilde bakımının
sağlanması ve geliştirilmesi için kodlama tekniklerinin nesneye dayalı yazılım mimarisi
yapılması kaçınılmazdır.
Download